From nobody Sat Jul 22 23:00:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R7hhk5NlSz4ngpj; Sat, 22 Jul 2023 23:00: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 4R7hhk4yVfz474Z; Sat, 22 Jul 2023 23:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690066806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FS1jo0DWOFzNnvQJaGJ+GOI07Fqrlays8CDSuCrl1qk=; b=rHtqg6yEfXBqB7JN0HJL/dBgXROOo1uaXwoiDjt2hITNhlCWq4scR+/ELWG/MQj6Uah1A5 T8onFRQ4Ubl1ajJIyTIOjtpQJ46k3H+Fp9Qw8JYkbHuBcT7uKojr/bI/bWzSfC8Kh+9z57 pbXptuuFxoUGjvtExTjNIhOpZLE3TEe2qsa0pC0D85GhoNkl0EG9ZDDgNG11nnLaZIYRdD ZQGEQPRi8OEyRJfk0QDVgATUqZndY5iDy4SLZPfBXKAwSfL+LpJGDplp+DSlXujdnjw1S3 R45NFGC1WzBKGh6iBj16zpCltrtbKsUA6V/WvvhW5OLh1R0tysP6jE9XpYofSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690066806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FS1jo0DWOFzNnvQJaGJ+GOI07Fqrlays8CDSuCrl1qk=; b=wQ6Z4LlqPJANAeVn3utdp+o/JMT/6N5EGDrLeCC38KIxaOScVwK/s9KolyM/C8DFDLTrK+ CfnX0EhGCNx3ADtgAqDMnjmJJjXNPjYUPzsI36u0c57IbQAo3g4qOIb2tadldb+4hPYpHm XHmm0YZjnmWy1LyjAe/eTDX22F/a4nKTW0H1IWPn/wtxreXKvfmqyAcbe7Ig/TtnH+hd4A ZeGIMpAXGMUFdl0V0vY19flRDUtuZLKp7/Vk4NJUD6tkSwzipaDIVy+fexoQ5scCsdcUF9 5hPAv4JFtPfhISdRGL0PSz0Ol/J18SuK7DFFzUnr9gy1ASk4XmZEgGT7P9eEfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690066806; a=rsa-sha256; cv=none; b=YXBwr1zF6XHNknHzzZO7RkvccwP5ZHYhJ8fGMpzD8ci/FlZJ7MvSOJ8vOtNFsW3flUni0c g2VgHkKHu5BInFTEsd+R/Qg6UIwVZli71P6FSwnpFffHiY4o0CRvKGIAhWU7c7chUZc9Nf qXPlJnX+U/yrOWnTdbFesTfmV9kXT6D+eoGPTerYqKJwpJ5QsjqbWkosUggP+TTQgpG9RW 5FkVvyFLlzWUmQpi9lF0PnwSr/zJ4C1Z8vlwRdZAIijy8UkdJeyop/MEoTF61KnWP19C3D iIVYNt6DUMrTpyVrUKEzoWlZvMwVSlHkFhdrBcyoFouvYwyLs+zUaYhoztii4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R7hhk4166z1CQg; Sat, 22 Jul 2023 23:00: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 36MN060E026475; Sat, 22 Jul 2023 23:00:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36MN06VB026472; Sat, 22 Jul 2023 23:00:06 GMT (envelope-from git) Date: Sat, 22 Jul 2023 23:00:06 GMT Message-Id: <202307222300.36MN06VB026472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 4f9a44a215f8 - main - e1000: Fix/enable IPv6 transmit checksum 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f9a44a215f873c6842a693f2e81e0abbe1531cf Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=4f9a44a215f873c6842a693f2e81e0abbe1531cf commit 4f9a44a215f873c6842a693f2e81e0abbe1531cf Author: Kevin Bowling AuthorDate: 2023-07-22 22:58:34 +0000 Commit: Kevin Bowling CommitDate: 2023-07-22 22:58:34 +0000 e1000: Fix/enable IPv6 transmit checksum offload Fixes and enables txcsum6 offload for lem(4) and em(4). MFC after: 2 weeks --- sys/dev/e1000/em_txrx.c | 4 ++-- sys/dev/e1000/if_em.h | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index 069a1c00a4b2..1192286d1c9c 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -285,13 +285,13 @@ em_transmit_checksum_setup(struct e1000_softc *sc, if_pkt_info_t pi, cmd |= E1000_TXD_CMD_IP; } - if (csum_flags & (CSUM_TCP|CSUM_UDP)) { + if (csum_flags & (CSUM_TCP | CSUM_UDP | CSUM_IP6_TCP | CSUM_IP6_UDP)) { uint8_t tucso; *txd_upper |= E1000_TXD_POPTS_TXSM << 8; *txd_lower = E1000_TXD_CMD_DEXT | E1000_TXD_DTYP_D; - if (csum_flags & CSUM_TCP) { + if (csum_flags & CSUM_TCP | CSUM_IP6_TCP) { tucso = hdr_len + offsetof(struct tcphdr, th_sum); cmd |= E1000_TXD_CMD_TCP; } else diff --git a/sys/dev/e1000/if_em.h b/sys/dev/e1000/if_em.h index a46ce2fdb6ae..8c5abf5b48cb 100644 --- a/sys/dev/e1000/if_em.h +++ b/sys/dev/e1000/if_em.h @@ -333,10 +333,13 @@ #define EM_TSO_SIZE 65535 #define EM_TSO_SEG_SIZE 4096 /* Max dma segment size */ #define ETH_ZLEN 60 -#define EM_CSUM_OFFLOAD (CSUM_IP | CSUM_IP_UDP | CSUM_IP_TCP) /* Offload bits in mbuf flag */ + +/* Offload bits in mbuf flag */ +#define EM_CSUM_OFFLOAD (CSUM_IP | CSUM_IP_UDP | CSUM_IP_TCP | \ + CSUM_IP6_UDP | CSUM_IP6_TCP) #define IGB_CSUM_OFFLOAD (CSUM_IP | CSUM_IP_UDP | CSUM_IP_TCP | \ CSUM_IP_SCTP | CSUM_IP6_UDP | CSUM_IP6_TCP | \ - CSUM_IP6_SCTP) /* Offload bits in mbuf flag */ + CSUM_IP6_SCTP) #define IGB_PKTTYPE_MASK 0x0000FFF0 #define IGB_DMCTLX_DCFLUSH_DIS 0x80000000 /* Disable DMA Coalesce Flush */ From nobody Sun Jul 23 00:06:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R7k8y3DKtz4pQQt; Sun, 23 Jul 2023 00:06: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 4R7k8y2pHqz3DkX; Sun, 23 Jul 2023 00:06:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690070770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mh3qULIsmls09J10ubV2I9502brOyiN4HfsQiZkD1/A=; b=WdmNI2oM6FirHrVOjG+AgvvoNlBxUx3PWxGGaXktqasWrlZZQEYALdkXlvzAGwv6/s37uG 03KDTfy8CumGU8MAAvK8BQRxqAdjb4f2pq1UvPMmKEEBBY5QA+9sd0aGs5zzoCJbPpxSbL Jccij8h5CKDHpJE9zyDHQ114aEndojBblM7ihZfratVPUpz7HtbGy3NaZ+yoN7Bxg8X7us +QPuNRWesut+8S2fhMlSLvDnugwDHX1pnfybQ16AwrcPj97hFoEgnBqhrY0cC7FjMY2xO3 KaCeu9ITltEIZ4AmnVxjv/4o8CH+N2JV3ogeb7Q/mKWAqewJCFoVkYoP6fAdXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690070770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mh3qULIsmls09J10ubV2I9502brOyiN4HfsQiZkD1/A=; b=Z0NGFDGqnVbDPNoUHjOUIWCEDZTa/5wsyxgFFBgjc5avs9Zi7UloOFguHWgc9VonPu9wq0 +4qbpMF2Cyt0d6Q8Mkz6fqSNI0fdxPIo5jbfx/X1z2y01Pg4IhRsKNQpbAPIYja5lHOaOz A7nKT92QqzTsM61kh0hHlOqovtc2SWZdax71k7bAd/gtDbbAuQ6/JYgAwPq0Qsrv1ZUPAu jrJfueFyGNWWQodqMZaIYB6kBTcDsaFqs3NnXYhbGwGSBPaMrhPL0yQ4NfW/n3gKZVKM96 G8+Vud8J7wTvR8w9LT4zDfzTbKsGRlE6C7BkSKyxs6O/qbG5I0cX2ZX4nCVsiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690070770; a=rsa-sha256; cv=none; b=PVK3jo3TYB756X+Zrdhk49NIlWrZ7RlDyFQBGo0V7pUxEIoWZ2Lg6iz1ujTirsDqNmo2n+ CeF5mfNU+kRfj+003kHHyFBQtDqMDOvZgPrXyrpp9emyFT8eZ1ZUUHvb16PpVK0g5Roq++ zt19hWO9eaLwhOAqs7OKw+nk273Aw9GTT/WCl/KM34k70/J9LAFrf0Q79GUAzUhPZAdNNQ 0+FzFrej5YQvVrBFu0NnHCKFBpzdW3F14ViwwaRNyb/zbJCEGhpRZF7PQc0ceu/gBL9Imn SlnTOX0iKNkFBh/uSa6AZgrvdz1f/mRrAw7np7Nr0njfa9hawi+yBNn3vytC3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R7k8y1s9zzF4K; Sun, 23 Jul 2023 00:06: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 36N06AiI038077; Sun, 23 Jul 2023 00:06:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36N06Aug038076; Sun, 23 Jul 2023 00:06:10 GMT (envelope-from git) Date: Sun, 23 Jul 2023 00:06:10 GMT Message-Id: <202307230006.36N06Aug038076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 92fd2f39e5b1 - main - e1000: add missing parens in csum setup List-Id: Commit messages for all branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92fd2f39e5b1fd588fdc49a07d626273eb8f7539 Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=92fd2f39e5b1fd588fdc49a07d626273eb8f7539 commit 92fd2f39e5b1fd588fdc49a07d626273eb8f7539 Author: Kevin Bowling AuthorDate: 2023-07-23 00:03:26 +0000 Commit: Kevin Bowling CommitDate: 2023-07-23 00:05:55 +0000 e1000: add missing parens in csum setup Reported by: rscheff Fixes: 4f9a44a215f8 e1000: Fix/enable IPv6 transmit checksum offload MFC after: 2 weeks --- sys/dev/e1000/em_txrx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index 1192286d1c9c..8b1d2817490f 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -291,7 +291,7 @@ em_transmit_checksum_setup(struct e1000_softc *sc, if_pkt_info_t pi, *txd_upper |= E1000_TXD_POPTS_TXSM << 8; *txd_lower = E1000_TXD_CMD_DEXT | E1000_TXD_DTYP_D; - if (csum_flags & CSUM_TCP | CSUM_IP6_TCP) { + if (csum_flags & (CSUM_TCP | CSUM_IP6_TCP)) { tucso = hdr_len + offsetof(struct tcphdr, th_sum); cmd |= E1000_TXD_CMD_TCP; } else From nobody Sun Jul 23 05:35:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R7sSQ3sgwz4nYWx; Sun, 23 Jul 2023 05:35: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 4R7sSQ3NVDz3xqR; Sun, 23 Jul 2023 05:35:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690090502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zRPz1P0P4L6Ps6LP6kzXa2gq4NbwDYQFe1iIlPM75wg=; b=K2hFCRseXn/RwPjceUJAt/oz8MWGX/p8WSUmMd38iipnFBXuBIC06v9fCbrbKV4FJ2fNX/ tJNolJ8vwEZ/q7W0c6hmTkWp7/twGEZMd3n4CDdhoIPqRR5s+K0m5Hm0oqEt7npOQt1NV+ tWbfZLU6aZSOlhWeMFjbRSUaydoEVeriHmPQKKYMjeDuequFHLHaLqYs//E523HxJcgNya dG8X1NK+Lq0rHGcaKwb9/S34SlWka5hfuVZEVNcvq3aJtxcaX3IMQGU7wt2xGWmIZKLffa nIJXQXfZCHbmH+S/PkK/MKO5iHdeI7HNzDZadBammpkk1blxeMLx8S9eS3Ff9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690090502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zRPz1P0P4L6Ps6LP6kzXa2gq4NbwDYQFe1iIlPM75wg=; b=nZKY8+RU+UYohuYYtslDkePtpJ0OY5lEdmN/dYww5QFK3y9BfZjBijaqsR8x5/8dw4EdUZ WapUBgiVqzJn/GRcuSnLjThr3NKkQgzEiZpu1F8ww3Rynt9UtdZ7qGxr+3ath3tP1fqYTE WfZLnmgnkkICoJM/dyNX5ZkkdR7JvnnbyVMwl05Pg6qVOeCrUUWqnRpMW1QtPU6eX3ymgI Up/DT7uIoZtfPsN/GeP72p3a29aE5L3U10KO5mgET4kd4l+QmIJF9seY33UXtMwGPc0W9g eEi+AtX5K6xBTFHwgomOafqQinwK2mlN9cTcwnbB0ouFHb1/IQzfFZvalNOp5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690090502; a=rsa-sha256; cv=none; b=llBG8Trh5NKi2G7TGV+60d+H4UEqf6m4WJA9UGuUOKbXxa+cWZL87zC98eYBLdmBrfeSvf 2LPfVAS+PNVBL27UhKQmm8Cdi3lCRvcFJWDVjcG8XK39WeTGk1eEH3KqP9sfmcEbSj7Q1M +Xlk04rp6NsixKhbtwhFj+cM7JeZLjIG/BTns1alk8k4Pjy3/vVkahVS0KDGtkahb7Ux3g AbFM+X6u7mIup6KJcKIhEcFrpA59z/Fv/8jDNKCDkzVKNnBqa4+O3Z/b0BTFIPEyrBEnxo 2HzKtbj+1iMEZ3ly+/+eDpW4Q3xkLfu3g7IQe2RS9usugISZtegYIytZrQgrjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R7sSQ27fszPNF; Sun, 23 Jul 2023 05:35: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 36N5Z2lU083478; Sun, 23 Jul 2023 05:35:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36N5Z2HT083477; Sun, 23 Jul 2023 05:35:02 GMT (envelope-from git) Date: Sun, 23 Jul 2023 05:35:02 GMT Message-Id: <202307230535.36N5Z2HT083477@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: 0aebcfc9f4d6 - main - arm64 pmap: Eliminate some duplication of 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: 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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0aebcfc9f4d642a8bef95504dc928fab78af33bf Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=0aebcfc9f4d642a8bef95504dc928fab78af33bf commit 0aebcfc9f4d642a8bef95504dc928fab78af33bf Author: Alan Cox AuthorDate: 2023-07-22 17:41:49 +0000 Commit: Alan Cox CommitDate: 2023-07-23 05:34:17 +0000 arm64 pmap: Eliminate some duplication of code pmap_unmapbios() can simply call pmap_kremove_device() rather than duplicating its code. While I'm here, add a comment to pmap_kremove_device() explaining its proper use, and fix a whitespace issue. MFC after: 1 week --- sys/arm64/arm64/pmap.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index b2591437b3b3..dfed0142f273 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -2032,6 +2032,13 @@ pmap_kremove(vm_offset_t va) pmap_s1_invalidate_page(kernel_pmap, va, true); } +/* + * Remove the specified range of mappings from the kernel address space. + * + * Should only be applied to mappings that were created by pmap_kenter() or + * pmap_kenter_device(). Nothing about this function is actually specific + * to device mappings. + */ void pmap_kremove_device(vm_offset_t sva, vm_size_t size) { @@ -2039,7 +2046,7 @@ pmap_kremove_device(vm_offset_t sva, vm_size_t size) vm_offset_t va; KASSERT((sva & L3_OFFSET) == 0, - ("pmap_kremove_device: Invalid virtual address")); + ("pmap_kremove_device: Invalid virtual address")); KASSERT((size & PAGE_MASK) == 0, ("pmap_kremove_device: Mapping is not page-sized")); @@ -6550,7 +6557,7 @@ void pmap_unmapbios(void *p, vm_size_t size) { struct pmap_preinit_mapping *ppim; - vm_offset_t offset, tmpsize, va, va_trunc; + vm_offset_t offset, va, va_trunc; pd_entry_t *pde; pt_entry_t *l2; int i, lvl, l2_blocks, block; @@ -6600,14 +6607,8 @@ pmap_unmapbios(void *p, vm_size_t size) size = round_page(offset + size); va = trunc_page(va); - pde = pmap_pde(kernel_pmap, va, &lvl); - KASSERT(pde != NULL, - ("pmap_unmapbios: Invalid page entry, va: 0x%lx", va)); - KASSERT(lvl == 2, ("pmap_unmapbios: Invalid level %d", lvl)); - /* Unmap and invalidate the pages */ - for (tmpsize = 0; tmpsize < size; tmpsize += PAGE_SIZE) - pmap_kremove(va + tmpsize); + pmap_kremove_device(va, size); kva_free(va, size); } From nobody Sun Jul 23 05:35:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R7sSS0ZLpz4nYfL; Sun, 23 Jul 2023 05:35: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 4R7sSR40qcz3xZF; Sun, 23 Jul 2023 05:35:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690090503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VCmS2ZFUrsiVfHMCjpjejTRU/ZRGdJfSKyYdJXNrU7k=; b=xl11ExNqYtkFVTEbqQQzC3kzormVitrk5AUy88us/jxuyguepn/lO5vqXa3q064wdmfHi6 FLjYOrNj19xQnS2roFmomgIue1sWhABZdCihs1TVUXHZgbubxtrrIGyVglvpe3GCy/rcEX vHgDsqWyV9bnEQfsEVqZl1jrbhtuSH92F5BRD9tn1a5Chb8i1ANFajHyJObI+CthwEbMDv AHOWOTy2xs8Xoppq8v+dl7glRoEh+wecn6gtIYcGNpsiWzQ66LjLBFgEfBGud5672y2k0I EA/FTfcl+FHXRiyw9hvFUyX1wn0f3NqfQjDJFLhexegjo0RUThrt6nLJiMF+RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690090503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VCmS2ZFUrsiVfHMCjpjejTRU/ZRGdJfSKyYdJXNrU7k=; b=OQgk6WWUYhIiSsvkp3vAo7uwKYv7EJ3HYxp5WdJ8gppyeD2OlWL6JcZN422Khc5msPuXHI XN91xnsPf8+qWk1EMGbcP6AQOUq86jZ/AZ0ZGg+e4liW2INHChesFXrYKiownLOqihb8oB 5qSAaNQ2MvTbTfTUUBS7+f0b6y53+xzX1UBM7hTOG3dRHcGcKMkfHyLqD8AJQj+9ToFIDI CGsLhtkOHu/w39zHLxIw7RUCxXH8r1Bc/4GXjvIMPQtM1ZkHOib21nhp/Lmvh4N/BHqFTk 4yYMoJC0uJVDfengNFNNBg5Ltd4NgC7tUCc742M5YvDEjT10X9rutPAsPVV0Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690090503; a=rsa-sha256; cv=none; b=RnFRt8WPxJV9pIddF4EmAKvC1rbsvUIwUDV6+gO2Gr/Z7u0YBFWhN0bcT5HhRZjOx9TG0Y 7qRByiu0N2NnvmQr2FR3OPURtA//nVzYsL1Y4K/xI6/t9mjpI6fvL3030mXDNQLxk9rI3P pPgopA/8dK2NXlnLD3aL+qvajxD8gq7SfetuJIJxm0OhzUK3isKt12eXQcHk2NE39cu4RN 04/4YfSkb2fyXpjSYpMFNy4A45xixY7pYOPj/ghEmoRSR4GqMR7rj9YVRJCT/Wfgnx3PZ6 bm+pNfFz60lCnTxcblmGoEfuElHgRYVNor2PfXDdsq4cUVCdqhszLXsTq3O7Ug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R7sSR349tzPWT; Sun, 23 Jul 2023 05:35: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 36N5Z3dE083497; Sun, 23 Jul 2023 05:35:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36N5Z3mT083496; Sun, 23 Jul 2023 05:35:03 GMT (envelope-from git) Date: Sun, 23 Jul 2023 05:35:03 GMT Message-Id: <202307230535.36N5Z3mT083496@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: 7b1e606c7222 - main - arm64 pmap: Retire PMAP_INLINE List-Id: Commit messages for all branches 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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b1e606c72222acdaea613924f566ffe9b65c068 Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=7b1e606c72222acdaea613924f566ffe9b65c068 commit 7b1e606c72222acdaea613924f566ffe9b65c068 Author: Alan Cox AuthorDate: 2023-07-22 17:55:43 +0000 Commit: Alan Cox CommitDate: 2023-07-23 05:34:17 +0000 arm64 pmap: Retire PMAP_INLINE Neither of the remaining callers to pmap_kremove() warrant inlining. Those calls rarely occur. In other words, we were optimizing for the uncommon case. MFC after: 1 week --- sys/arm64/arm64/pmap.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index dfed0142f273..379296f375ae 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -170,16 +170,6 @@ __FBSDID("$FreeBSD$"); #define NUL1E (NUL0E * NL1PG) #define NUL2E (NUL1E * NL2PG) -#if !defined(DIAGNOSTIC) -#ifdef __GNUC_GNU_INLINE__ -#define PMAP_INLINE __attribute__((__gnu_inline__)) inline -#else -#define PMAP_INLINE extern inline -#endif -#else -#define PMAP_INLINE -#endif - #ifdef PV_STATS #define PV_STAT(x) do { x ; } while (0) #define __pvused @@ -2022,7 +2012,7 @@ pmap_kenter_device(vm_offset_t sva, vm_size_t size, vm_paddr_t pa) /* * Remove a page from the kernel pagetables. */ -PMAP_INLINE void +void pmap_kremove(vm_offset_t va) { pt_entry_t *pte; From nobody Sun Jul 23 07:22:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R7vrk56X4z4myd8; Sun, 23 Jul 2023 07:22: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 4R7vrk4jR4z3K0t; Sun, 23 Jul 2023 07:22:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690096966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SWpwPCye186NavN3XC2M2Ai1D21qI84nj1KBAky1ffw=; b=CbBNijVOyXr+DdXOMdGm5wYfuTGsFWfSkgYO6f5VEUOgc3sVmwVEpFkyTlgezFQUlfMDFi AQQPsxZCdp370IZ+JwvLGExpszUJBrEibuUDBhvH/PnvUf6EbA+Jh0QT6L/7z0rQQmuRf8 3Ai+hPi9uJrFMeMBgklvnoShR5+GKELzEWc2BRJZC1POT6z70AshLqBfBM+OyrCXQy+MLB bRYMlxdyb6vZEFX4kxhn0BSi32cGshgnOkB5Y1s1mVj6zeSab1y2HUCSLDNMpUaFPc5zAd V7BKqPqOsa15Lm/5zTk3aaF4sBK/U/Dje3onS2KgEyQg03uCeT81XFd8v0VAvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690096966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SWpwPCye186NavN3XC2M2Ai1D21qI84nj1KBAky1ffw=; b=U1jq3Wd1yhq30cjNxaynjYJPYuuRWlFlCPOszXS8mgl5If4e+w1tGC60YYHOHrVNhYMAtU bI9MwwohPvW6cXM45siwGaDupBNhdsvYnf7C9wPgH2ACcGqbkRIxDVFf+nvDhLrbQWs9QL 25cJ4pz1YRodPbttJZiin+G5FBjjKEvTZEiuEno/Wz7vE4m6UhCM83hx6LvfJGYPHxr8mD eirV6C8xtSlnOdVqFNu09x81TH0r4GdjudXWKSKIViMM2RFdsuBNGPHR2haAUDX0BVj/wL G0495ynYlYHS8+rbrdDaOzYeDpj6fOB/Mr7elGWiONOkxxlnTEV2JJflgU92dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690096966; a=rsa-sha256; cv=none; b=rLF9RCvLAJBDnzSMZgwURRQV3TD7Gp2FyXsJ2AocF4QkQz2Dk21/Y/rmmWoKcuI2f1lxCg wVhXIhjiamlxlc8Vbi9UiA1Ildxcb9QfC5ovtTZDDoQDKwMBcd2Pz5Lqo/GZbioCGfY8WH c85EkbiF+qKlwCEGF3ZCbMSk+qENDCj8QPOXBqO55xlLsMF4SS94OY/NWS6j/t6nmRDcai tT4OWm1Dro021ySnfW3GabRrCj7Yto8YR4eO0b4iy5/Si8xETOsR9KL5TI+h2vRZUxnVCz KPJdfD6YHt+83bp6yVqOuGbuCtZjfdmmoizhsOSBws+9y3rD3Wca8MZwGxueWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R7vrk3p9DzSMx; Sun, 23 Jul 2023 07:22: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 36N7MkbY065548; Sun, 23 Jul 2023 07:22:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36N7MkAN065547; Sun, 23 Jul 2023 07:22:46 GMT (envelope-from git) Date: Sun, 23 Jul 2023 07:22:46 GMT Message-Id: <202307230722.36N7MkAN065547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: 83e67a9d14d9 - main - xhci(4): Describe AMD 400 Series USB 3.1 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: 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 83e67a9d14d9cf3830cd52f4f49117bf7220ac49 Auto-Submitted: auto-generated The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=83e67a9d14d9cf3830cd52f4f49117bf7220ac49 commit 83e67a9d14d9cf3830cd52f4f49117bf7220ac49 Author: Marius Strobl AuthorDate: 2023-07-22 21:13:46 +0000 Commit: Marius Strobl CommitDate: 2023-07-23 07:21:46 +0000 xhci(4): Describe AMD 400 Series USB 3.1 controllers While at it, correct the string for 300 series ones, these also are already xHCI 3.1. Fixes: d171d2f2 Add AHCI/XHCI device IDs found on AMD Ryzen+B350 system --- sys/dev/usb/controller/xhci_pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c index 05341e161d91..484e1ff40219 100644 --- a/sys/dev/usb/controller/xhci_pci.c +++ b/sys/dev/usb/controller/xhci_pci.c @@ -106,7 +106,9 @@ xhci_pci_match(device_t self) return ("AMD X399 USB 3.0 controller"); case 0x43b91022: /* X370 */ case 0x43bb1022: /* B350 */ - return ("AMD 300 Series USB 3.0 controller"); + return ("AMD 300 Series USB 3.1 controller"); + case 0x43d51022: + return ("AMD 400 Series USB 3.1 controller"); case 0x78121022: case 0x78141022: case 0x79141022: From nobody Sun Jul 23 11:02:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R80jv605Zz4pVxL; Sun, 23 Jul 2023 11:02: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 4R80jv3y60z3vMX; Sun, 23 Jul 2023 11:02:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690110131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JLvo243gvtsjHFroos/atzCoklg7W/xAKRkzpCp7Q2M=; b=WKq0J900SEqYCLofhtrZKMhsRj/UePWLsfbM2QqycvnICpujQ70SPBGL6fu65tHFvUmWeS D4RQim7DUlwlzXe5R+09LCTFvOw9e11GpXhL3tdTay9+fUDpLZjEDdNe6/GTyN+0xnvUl6 yGwkVURqmMULY3J62yFEHvy5opZXVGqtTzrk18reI0U+VdXkuXGnxBjTH/tYhWPurbuc6e +qrajhcWnvcPQp6fsLY8BUpiAIKlUnE6EqNoW4xKqEWA5WvjBMMw+PvYaK0O6pfzR2dtbs WDPR7BCGTstPaxPS0acueWb+gUHviuqEdFpel5zfaH4YAc+u6b9zZhT2T6mOrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690110131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JLvo243gvtsjHFroos/atzCoklg7W/xAKRkzpCp7Q2M=; b=Eccn6fMNEWjo+n28Vily16OJtx+0ddE2Icy4vaEfE8IIX9NFEW7A+sxBh7UkVY4OhZ33MQ KMT6+1EbWa1Oe5dNphIpUDWakcf0VdiB15eB0lWTJLSLJAocFPKDKBJXbZPHAzRyGlaJA5 NRGJspgeuL58rhligXKl6enmnkZezZHM4qa0zuIH7vJ/TXdwC7eWz56QDR8d3EVtYpjRdl rO0Q/aKgCxg4aeGa0DLc8KQTzQJxaeEabB3jPqnMrE+5UjBsg12wabDl/1oOVrZAMBKqFq N8so55IOqp+6PpzPPmrVNnejwzbJlW5WBE2M3iMXt/HAgX2ULk/Eh5YbC9EHRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690110131; a=rsa-sha256; cv=none; b=p7Tqdx0USj7utX3Pm/62hRgu8sOy9Pxs27SbcIzha8+20gLIkGoFQFqJ/f/tBKPgToF1x3 lMj4kI+e5port6vK0QWiAJxzkuJHlvmGK40KW84afnQjbhgbS/Mlhw2kxGImkN5sEr/r3F w5vB3QymbTnM4HoUwyj5WxdYQhQpL4mG3HC+5c7Al3exossLCBGhzyfM9c8kXlPKUojXjt R+GoZuxRnz+ymhevM4L4Z/gFjDaGLkjKmQbI5Bjd7+UDYM7uXkj5sgPZBAMTr/O9qzcqPf 54vrXyo5a2OIsDG+seTm6jZEl578T1IDw/tRR/a2vJTsftnnMrMXDv7pgpHU5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R80jv0mBZzYV2; Sun, 23 Jul 2023 11:02: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 36NB2Blr026631; Sun, 23 Jul 2023 11:02:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NB2B8C026630; Sun, 23 Jul 2023 11:02:11 GMT (envelope-from git) Date: Sun, 23 Jul 2023 11:02:11 GMT Message-Id: <202307231102.36NB2B8C026630@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: b8f1c9dd9b3d - main - Merge commit 2b0f5df7b4e0 from llvm-project (by Jessica Clarke): List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: b8f1c9dd9b3dd9b91e6999b28ab941a2af142702 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b8f1c9dd9b3dd9b91e6999b28ab941a2af142702 commit b8f1c9dd9b3dd9b91e6999b28ab941a2af142702 Author: Dimitry Andric AuthorDate: 2023-07-23 11:01:42 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 11:01:42 +0000 Merge commit 2b0f5df7b4e0 from llvm-project (by Jessica Clarke): [builtins][Mips] Un-break FreeBSD build of __clear_cache Commit 674a17e9bbe8 ("MIPS/compiler_rt: use synci to flush icache on r6") completely removed the OS-specific guards under the guise of "For pre-r6, we can use cacheflush libc function, which is same on Linux and FreeBSD." However, the code in question had guards for Linux and OpenBSD, not Linux and FreeBSD, and FreeBSD does not have a cacheflush libc function as claimed, so this was neither the statement they intended to make nor was it sufficient justification for making the code completely unconditional. Whilst the upcoming FreeBSD 14 release has dropped support for MIPS, FreeBSD 13 has support for it. Fix this by only calling cacheflush on the OSes where it was previously called, and not on other OSes where it either definitely isn't available (FreeBSD) or is unknown (any other OS than the three mentioned in this commit). This is only needed for MFC'ing, as mips has been removed from 14-CURRENT. PR: 271047 MFC after: immediately --- contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c b/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c index 8993761eb3d4..54cbda059315 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c +++ b/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c @@ -110,10 +110,14 @@ void __clear_cache(void *start, void *end) { "jr.hb $at\n" "move $at, $0\n" ".set at"); -#else +#elif defined(__linux__) || defined(__OpenBSD__) // Pre-R6 may not be globalized. And some implementations may give strange // synci_step. So, let's use libc call for it. cacheflush(start, end_int - start_int, BCACHE); +#else + (void)start_int; + (void)end_int; + compilerrt_abort(); #endif } #elif defined(__aarch64__) && !defined(__APPLE__) From nobody Sun Jul 23 11:45:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R81gt4hk3z4p7M3; Sun, 23 Jul 2023 11:45: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 4R81gt2j2Tz4D2J; Sun, 23 Jul 2023 11:45:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690112730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HU0Om8ZCyfmW6bO4c4rTAVk1EpLpAGfYa88Y+ScCKRE=; b=fAAd8ONdBCX0D3OhwE7PAuZl0Sg1d9wD5RXhcQWEFpCet+JA9/0B6Yu6S/DUwIyPZeXV2G DokTko0gJ3Iekg4Vcd3zec0eGSzvYFODPEQcE23wwnn5kGewHcL1xGHOvHk0+HWJHRgv8G jcd2KjM5s88wIQ9eKlcc5QxLXnP7lbapk+gtyuMjx3lPZcM+XD7KdW1h9WTSNQ4DmPRd7a 0zG9JzY2wgTXOaDYO40yQ9LzFEIFe7oMNg16gsvdHH74wcg8h/ASmnRmkm/d38bCkKnFYm m5HiMblMATRFffNNJTizsn8caeJVqHwMbAqymDeR68hryXLYXGZu8y/IwxFf6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690112730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HU0Om8ZCyfmW6bO4c4rTAVk1EpLpAGfYa88Y+ScCKRE=; b=OdBBaqFojaDUZaV2+bistzwFCfx8/3E2izvqK+jJghPwq+gx5vr58PAiZ88dqbj2267LKD kbtoPkID4dD1ZajvY5/iP9J5aVGpOuLtVWUVkiJIuDijb5THYRymOX39vTi52mxuH0BlHR Dwtu+hl+wU74uDU0txAdVZXFmWjoeBBaMcOlqBQayvFlzrJkavBNRA2YZCa0ClSBqwBhQY Y4669lDyTBbFWjSzDwN0wAV2VID16D4LoDyrG9QECvclXY06gKz1T4cWp6LIekyvYZoFiA Er61gLeWiZXqVAYz4M9axoBVyQByK4ZS6BqKS6cWyQ+GJXvMhIogUjvLNaBIQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690112730; a=rsa-sha256; cv=none; b=cG3kLb7XalC/lB5LPPSIspm4ucMlHYp2cAeCFLQFQSO48pqX2HyXaL/LHCXdPy0+X8/ne5 nkn7Ngpvc9ueyU9qLYj+tNPCodMK+2jFAIEXksvUZi9iEljK4DOYzm2TzXK0pfNVnJzLyy UXSDGepwGHC4TW3PqelXDvJuCJI60iBFahf1KqsvUvAzaJwJyQSifcS6qZvtSKlV7/9GZv g8aUmrAK/BnMxDvMdqlF+PZp/PGVkR1IzFNN8e7ywYM0U54dBZzzqUJakPePETkDBOvINN 795pPx6tKI5cP2Z7Zu5yA/MGnxvskuDV5d688oCPtedXtIzH1NMMJkr9OkUb3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R81gt09BhzbTN; Sun, 23 Jul 2023 11:45: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 36NBjTvX096132; Sun, 23 Jul 2023 11:45:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NBjTHK096131; Sun, 23 Jul 2023 11:45:29 GMT (envelope-from git) Date: Sun, 23 Jul 2023 11:45:29 GMT Message-Id: <202307231145.36NBjTHK096131@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: b1be52209c42 - stable/13 - libthr: trigger library initialization on rwlock calls List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b1be52209c4237140d0755e1d7d3263ffc3543d2 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b1be52209c4237140d0755e1d7d3263ffc3543d2 commit b1be52209c4237140d0755e1d7d3263ffc3543d2 Author: Konstantin Belousov AuthorDate: 2023-07-13 15:56:11 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-23 11:44:24 +0000 libthr: trigger library initialization on rwlock calls (cherry picked from commit ad056b5d35d9957b1bd023abeb6461601449b725) --- lib/libthr/thread/thr_rwlock.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/libthr/thread/thr_rwlock.c b/lib/libthr/thread/thr_rwlock.c index ab10431b9d41..a61eb35cbd31 100644 --- a/lib/libthr/thread/thr_rwlock.c +++ b/lib/libthr/thread/thr_rwlock.c @@ -163,6 +163,7 @@ int _thr_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { + _thr_check_init(); *rwlock = NULL; return (rwlock_init(rwlock, attr)); } @@ -231,6 +232,7 @@ rwlock_rdlock_common(pthread_rwlock_t *rwlock, const struct timespec *abstime) int _Tthr_rwlock_rdlock(pthread_rwlock_t *rwlock) { + _thr_check_init(); return (rwlock_rdlock_common(rwlock, NULL)); } @@ -238,21 +240,24 @@ int _pthread_rwlock_timedrdlock(pthread_rwlock_t * __restrict rwlock, const struct timespec * __restrict abstime) { + _thr_check_init(); return (rwlock_rdlock_common(rwlock, abstime)); } int _Tthr_rwlock_tryrdlock(pthread_rwlock_t *rwlock) { - struct pthread *curthread = _get_curthread(); + struct pthread *curthread; pthread_rwlock_t prwlock; int flags; int ret; + _thr_check_init(); ret = check_and_init_rwlock(rwlock, &prwlock); if (ret != 0) return (ret); + curthread = _get_curthread(); if (curthread->rdlock_count) { /* * To avoid having to track all the rdlocks held by @@ -280,14 +285,16 @@ _Tthr_rwlock_tryrdlock(pthread_rwlock_t *rwlock) int _Tthr_rwlock_trywrlock(pthread_rwlock_t *rwlock) { - struct pthread *curthread = _get_curthread(); + struct pthread *curthread; pthread_rwlock_t prwlock; int ret; + _thr_check_init(); ret = check_and_init_rwlock(rwlock, &prwlock); if (ret != 0) return (ret); + curthread = _get_curthread(); ret = _thr_rwlock_trywrlock(&prwlock->lock); if (ret == 0) prwlock->owner = TID(curthread); @@ -343,6 +350,7 @@ rwlock_wrlock_common(pthread_rwlock_t *rwlock, const struct timespec *abstime) int _Tthr_rwlock_wrlock(pthread_rwlock_t *rwlock) { + _thr_check_init(); return (rwlock_wrlock_common(rwlock, NULL)); } @@ -350,6 +358,7 @@ int _pthread_rwlock_timedwrlock(pthread_rwlock_t * __restrict rwlock, const struct timespec * __restrict abstime) { + _thr_check_init(); return (rwlock_wrlock_common(rwlock, abstime)); } From nobody Sun Jul 23 11:45:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R81gv3BFqz4p7MD; Sun, 23 Jul 2023 11:45: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 4R81gv200zz4D4c; Sun, 23 Jul 2023 11:45:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690112731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufNu2ZdXp6+/JbctXAumYNfsHvGvmqLiGB9cDARrpcI=; b=QJbD8cSIkZQJMDN8wTMUK0yGuatkacnKgBRCkefIu5Yi220QMVK9qgviLMx+1+NBU6pEIe 1xClC+L3KcrfVF3ScZbqkJYCw85IEUYIPxI2Qe8pRRQ6y193i6mcUbM7JKC1k5V15aB10S XMpRsRwIvG77NzFO3sl1yCL/jFynhe/h36+qjvkOFeVLFvu88eihAFr5FZTV15CvPryRqv V5P5O8Y/Q6nqx9DGItI3NYQbDviJxHsfovZgt5MQcl7s+DWRj+dKOFRTbr/Dyri2MHZQa4 uHkMBdNiomr0G64Wa12L9bHed/gXQaQ1tUs+3zgVR+DKDHWJ6C8qLNQexRfE3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690112731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufNu2ZdXp6+/JbctXAumYNfsHvGvmqLiGB9cDARrpcI=; b=FCk2WRnULaIVH1Y3zEuKt4i9UqNzyX/IVPgHNNMk9xmbyiC0TsLIFNqBPanyb34DCa8Hm/ 7FE7+LyMWcJ8oRFoWJxJhMI9NG6I529JLeaMwdPCY2nCRVdRWghNrb9wuNL9oCQkLZkJfC keXsYOD6rmEH9kyTjzyT4xN3UjYwq7PH57b03cfxTF4rIlfNFVnD+fgk5mcdFlPUVzVZHN lOO9KMAnPN2jlh/O4kkjecBCoauFEmZwXcSFq8wG/9cQiyCBHMa1UhKpjBtMBu+LPwl2t2 nefbm6xPLTITctB+3guugZS1hCC5X5gn3gzb/7PRrQnFi04KUaTKBQKrGLVPHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690112731; a=rsa-sha256; cv=none; b=of/D45C8+P8nG+5SEzVY+sB4uwMHkGUKt/DaZePofbMOHZJhL0y/CDaAB874xMad5eaZra yQBdOqnTH7XuxWfJQk3w609DJVDow0yADomEjvc3CqfRczGZ4pPYvMV2O2VG0qAvxOs9tO nVWE9VlmCMd4L/MdATMDuVwM/5I4r2A6OUt5LrPkoBlxY1MxPOpR7RsUAhL5PNAcZL8wv9 vcuDtKtOrCBSoathw/4JkpuXt6eDGnbnGJMJJVFUa3hvhPp1Frfh6Im9TGjJ8oc3E6Ab1W IzpXB4W29YKU7Nq7B5DQCv4uBglpfUXAr5hcuE/7og2kAm31klXNe1+Net+Pdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R81gv0p6TzZyX; Sun, 23 Jul 2023 11:45: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 36NBjVfH096155; Sun, 23 Jul 2023 11:45:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NBjVrw096154; Sun, 23 Jul 2023 11:45:31 GMT (envelope-from git) Date: Sun, 23 Jul 2023 11:45:31 GMT Message-Id: <202307231145.36NBjVrw096154@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: b14d94c27ce2 - stable/13 - libm: correctly test for for NaN and Infinity in sinpi(), cospi(), and tanpi() List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b14d94c27ce2d5ca47193d99db51f516e74c2f74 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b14d94c27ce2d5ca47193d99db51f516e74c2f74 commit b14d94c27ce2d5ca47193d99db51f516e74c2f74 Author: Steve Kargl AuthorDate: 2023-07-17 05:19:28 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-23 11:44:24 +0000 libm: correctly test for for NaN and Infinity in sinpi(), cospi(), and tanpi() PR: 272539 (cherry picked from commit be4c7f273508994638b68d2fae742be37d3cb117) --- lib/msun/src/s_cospi.c | 3 ++- lib/msun/src/s_sinpi.c | 3 ++- lib/msun/src/s_tanpi.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/msun/src/s_cospi.c b/lib/msun/src/s_cospi.c index 860219efd3e4..2e2f92733a86 100644 --- a/lib/msun/src/s_cospi.c +++ b/lib/msun/src/s_cospi.c @@ -138,7 +138,8 @@ cospi(double x) return (j0 & 1 ? -c : c); } - if (ix >= 0x7f800000) + /* x = +-inf or nan. */ + if (ix >= 0x7ff00000) return (vzero / vzero); /* diff --git a/lib/msun/src/s_sinpi.c b/lib/msun/src/s_sinpi.c index 858459a5fcb4..bc3759e567a3 100644 --- a/lib/msun/src/s_sinpi.c +++ b/lib/msun/src/s_sinpi.c @@ -155,7 +155,8 @@ sinpi(double x) return ((hx & 0x80000000) ? -s : s); } - if (ix >= 0x7f800000) + /* x = +-inf or nan. */ + if (ix >= 0x7ff00000) return (vzero / vzero); /* diff --git a/lib/msun/src/s_tanpi.c b/lib/msun/src/s_tanpi.c index 01d4c74367fd..f911d56156b3 100644 --- a/lib/msun/src/s_tanpi.c +++ b/lib/msun/src/s_tanpi.c @@ -163,7 +163,7 @@ tanpi(double x) } /* x = +-inf or nan. */ - if (ix >= 0x7f800000) + if (ix >= 0x7ff00000) return (vzero / vzero); /* From nobody Sun Jul 23 13:43:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R84HW2RcGz4pVlm; Sun, 23 Jul 2023 13:43: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 4R84HW1fHjz3jPW; Sun, 23 Jul 2023 13:43:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690119783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mXAVtNgy11d9pdM64kVWvGOY5uipXi247CR0y9NZijA=; b=iv7oEqLdPbLQh+qnLm94BAkaTHnHuRw3g1Jaoy0JdVvbo5ug6mqSPFcdpxwT35ABVDvqHJ 9KFwoliuz5Ug+UOG8svttCXwIqj3a+aHPWrsk39xlb5CBo1/rz6pCe4eE257JlMuH6s90z E+G/9F4fc1frTUN+xPvUlb/Ww9Z3dLLebGfs3kZE28RhowOKsgtpHkj1VEY6uXdFQS0uyM CFiLr+wqJ4f0H4pw5Lo0BOB7E4hkZeEwgr/GGcL0kePdzRvEPXUj4qC/+X3/z69QrT9Mgj cwlOlq7vrSuUdXtqV5PlfmoHC9NrTAQQAoPHpR3yWu0T7jqUTIY8rlrr4F6HdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690119783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mXAVtNgy11d9pdM64kVWvGOY5uipXi247CR0y9NZijA=; b=gzH8FuJLDr2Jleis1R65uAJlVVxHwKE5aSMgBrTobVEgkkGy8o+AA9OS4oWXqTyv6Z0koP ufTjGeVu7UDM6NYRtpfXbkmx5ZmfSOt57MlpLA023lIChdzj8pOXJcSzmEXjK617t1tPvq 7tN+pf5HyhgGzMO/UN/mJNv/oSeDlveR5mm9Wv7SKmTFxhg0p/BoMJzdS3VPy9v+J9Tz6u yYCnRvjJT7ErDNkk+1ResvRPFCEFPDsNLJSgQjPYHAtuKnay8V9aTyNq14aL/gsLy1L/GU aU4My9rzhvAUVvq4Dcrh6gHilhQ4TAjh5Gv1Je/FuOHeeruHiTIulxvdI41UJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690119783; a=rsa-sha256; cv=none; b=L+jAAaN7fNpF6wwN3UAE7dGkAJ67UzOL1fuCinXhuquRkmh36F8mkWM8o9UEgWO5GtXASl Xhct3GYG+eBYJZjdD31dwJTMn0ktyyOF5xrhypu+KYO6+1Ge2cm8rubMqADeoqV+kxssAr jM9FI9z7Q1+DeiKzPZKfEFwcibgtuJIkf09L1uHVwmSO8kpCNGFVgozalnFv7pD5NvYGuG J1hPdVBVAYaZio2KQSmx4CjdForaEPcsjuzWVMoQ6gAxQ7TWiH2DaK7jZkyO3PFdTlRwJq TsOfxqtlBEUJ7G4AFN62w5zW3y40rHm647H1nKeaULRftLwW8GbnnLX5o6FYnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R84HW0hjBzdqb; Sun, 23 Jul 2023 13:43: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 36NDh3XK093552; Sun, 23 Jul 2023 13:43:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NDh30e093551; Sun, 23 Jul 2023 13:43:03 GMT (envelope-from git) Date: Sun, 23 Jul 2023 13:43:03 GMT Message-Id: <202307231343.36NDh30e093551@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 52640d617449 - main - sctp: update zero checksum 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: 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52640d617449287731b6e70ce107d1ac8309c3ee Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=52640d617449287731b6e70ce107d1ac8309c3ee commit 52640d617449287731b6e70ce107d1ac8309c3ee Author: Michael Tuexen AuthorDate: 2023-07-23 04:41:32 +0000 Commit: Michael Tuexen CommitDate: 2023-07-23 04:41:32 +0000 sctp: update zero checksum support Implement support for the error detection method identifier. MFC after: 2 weeks --- sys/netinet/sctp_header.h | 9 ++++- sys/netinet/sctp_input.c | 11 ++++-- sys/netinet/sctp_output.c | 93 ++++++++++++++++++++++++++++++++++++---------- sys/netinet/sctp_pcb.c | 25 +++++++++---- sys/netinet/sctp_pcb.h | 2 +- sys/netinet/sctp_structs.h | 8 ++-- sys/netinet/sctp_uio.h | 4 ++ sys/netinet/sctp_usrreq.c | 12 +++--- sys/netinet/sctputil.c | 3 +- 9 files changed, 125 insertions(+), 42 deletions(-) diff --git a/sys/netinet/sctp_header.h b/sys/netinet/sctp_header.h index 93dda17ae9b1..d077c4573bf2 100644 --- a/sys/netinet/sctp_header.h +++ b/sys/netinet/sctp_header.h @@ -207,7 +207,7 @@ struct sctp_state_cookie { /* this is our definition... */ uint8_t ipv4_scope; /* IPv4 private addr scope */ uint8_t loopback_scope; /* loopback scope information */ - uint8_t zero_checksum; /* copy of the inp value */ + uint8_t rcv_edmid; /* copy of the inp value */ uint8_t reserved[SCTP_RESERVE_SPACE]; /* Align to 64 bits */ /* * at the end is tacked on the INIT chunk and the INIT-ACK chunk @@ -520,6 +520,13 @@ struct sctp_auth_chunk { uint8_t hmac[]; } SCTP_PACKED; +/* Zero checksum support draft-ietf-tsvwg-sctp-zero-checksum */ + +struct sctp_zero_checksum_acceptable { + struct sctp_paramhdr ph; + uint32_t edmid; +} SCTP_PACKED; + /* * we pre-reserve enough room for a ECNE or CWR AND a SACK with no missing * pieces. If ENCE is missing we could have a couple of blocks. This way we diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c index 5a7ed6ffde90..c585e31c8296 100644 --- a/sys/netinet/sctp_input.c +++ b/sys/netinet/sctp_input.c @@ -1883,7 +1883,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphlen, int offset, } SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asconf_ack), aack); } - asoc->zero_checksum = cookie->zero_checksum; + asoc->rcv_edmid = cookie->rcv_edmid; /* process the INIT-ACK info (my info) */ asoc->my_vtag = ntohl(initack_cp->init.initiate_tag); @@ -2080,7 +2080,7 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, int offset, SCTP_FROM_SCTP_INPUT + SCTP_LOC_18); return (NULL); } - asoc->zero_checksum = cookie->zero_checksum; + asoc->rcv_edmid = cookie->rcv_edmid; /* process the INIT-ACK info (my info) */ asoc->my_rwnd = ntohl(initack_cp->init.a_rwnd); @@ -5381,9 +5381,14 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset, int lengt stcb = sctp_findassociation_addr(m, offset, src, dst, sh, ch, &inp, &net, vrf_id); stcb_looked_up = true; - if ((stcb == NULL) || (stcb->asoc.zero_checksum == 0)) { + if (stcb == NULL) { + goto validate_cksum; + } + if (stcb->asoc.rcv_edmid == SCTP_EDMID_NONE) { goto validate_cksum; } + KASSERT(stcb->asoc.rcv_edmid == SCTP_EDMID_LOWER_LAYER_DTLS, + ("Unexpected EDMID %u", stcb->asoc.rcv_edmid)); SCTP_STAT_INCR(sctps_recvzerocrc); } } diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 5b4fbb28e089..a146ad401b30 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -4627,6 +4627,7 @@ sctp_send_initiate(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int so_locked) struct sctp_init_chunk *init; struct sctp_supported_addr_param *sup_addr; struct sctp_adaptation_layer_indication *ali; + struct sctp_zero_checksum_acceptable *zero_chksum; struct sctp_supported_chunk_types_param *pr_supported; struct sctp_paramhdr *ph; int cnt_inits_to = 0; @@ -4720,11 +4721,12 @@ sctp_send_initiate(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int so_locked) } /* Zero checksum acceptable parameter */ - if (stcb->asoc.zero_checksum > 0) { - parameter_len = (uint16_t)sizeof(struct sctp_paramhdr); - ph = (struct sctp_paramhdr *)(mtod(m, caddr_t)+chunk_len); - ph->param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE); - ph->param_length = htons(parameter_len); + if (stcb->asoc.rcv_edmid != SCTP_EDMID_NONE) { + parameter_len = (uint16_t)sizeof(struct sctp_zero_checksum_acceptable); + zero_chksum = (struct sctp_zero_checksum_acceptable *)(mtod(m, caddr_t)+chunk_len); + zero_chksum->ph.param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE); + zero_chksum->ph.param_length = htons(parameter_len); + zero_chksum->edmid = htonl(stcb->asoc.rcv_edmid); chunk_len += parameter_len; } @@ -5483,6 +5485,7 @@ sctp_send_initiate_ack(struct sctp_inpcb *inp, struct sctp_tcb *stcb, struct mbuf *m, *m_tmp, *m_last, *m_cookie, *op_err; struct sctp_init_ack_chunk *initack; struct sctp_adaptation_layer_indication *ali; + struct sctp_zero_checksum_acceptable *zero_chksum; struct sctp_supported_chunk_types_param *pr_supported; struct sctp_paramhdr *ph; union sctp_sockstore *over_addr; @@ -5805,9 +5808,9 @@ do_a_abort: } } if (asoc != NULL) { - stc.zero_checksum = asoc->zero_checksum > 0 ? 1 : 0; + stc.rcv_edmid = asoc->rcv_edmid; } else { - stc.zero_checksum = inp->zero_checksum; + stc.rcv_edmid = inp->rcv_edmid; } /* Now lets put the SCTP header in place */ initack = mtod(m, struct sctp_init_ack_chunk *); @@ -5933,12 +5936,17 @@ do_a_abort: } /* Zero checksum acceptable parameter */ - if (((asoc != NULL) && (asoc->zero_checksum > 0)) || - ((asoc == NULL) && (inp->zero_checksum == 1))) { - parameter_len = (uint16_t)sizeof(struct sctp_paramhdr); - ph = (struct sctp_paramhdr *)(mtod(m, caddr_t)+chunk_len); - ph->param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE); - ph->param_length = htons(parameter_len); + if (((asoc != NULL) && (asoc->rcv_edmid != SCTP_EDMID_NONE)) || + ((asoc == NULL) && (inp->rcv_edmid != SCTP_EDMID_NONE))) { + parameter_len = (uint16_t)sizeof(struct sctp_zero_checksum_acceptable); + zero_chksum = (struct sctp_zero_checksum_acceptable *)(mtod(m, caddr_t)+chunk_len); + zero_chksum->ph.param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE); + zero_chksum->ph.param_length = htons(parameter_len); + if (asoc != NULL) { + zero_chksum->edmid = htonl(asoc->rcv_edmid); + } else { + zero_chksum->edmid = htonl(inp->rcv_edmid); + } chunk_len += parameter_len; } @@ -8426,7 +8434,14 @@ again_one_more_time: * flight size since this little guy * is a control only packet. */ - use_zero_crc = asoc->zero_checksum == 2; + switch (asoc->snd_edmid) { + case SCTP_EDMID_LOWER_LAYER_DTLS: + use_zero_crc = true; + break; + default: + use_zero_crc = false; + break; + } if (asconf) { sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, net); use_zero_crc = false; @@ -8758,8 +8773,15 @@ again_one_more_time: no_data_fill: /* Is there something to send for this destination? */ if (outchain) { + switch (asoc->snd_edmid) { + case SCTP_EDMID_LOWER_LAYER_DTLS: + use_zero_crc = true; + break; + default: + use_zero_crc = false; + break; + } /* We may need to start a control timer or two */ - use_zero_crc = asoc->zero_checksum == 2; if (asconf) { sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, net); @@ -9495,7 +9517,14 @@ sctp_chunk_retransmission(struct sctp_inpcb *inp, /* do we have control chunks to retransmit? */ if (m != NULL) { /* Start a timer no matter if we succeed or fail */ - use_zero_crc = asoc->zero_checksum == 2; + switch (asoc->snd_edmid) { + case SCTP_EDMID_LOWER_LAYER_DTLS: + use_zero_crc = true; + break; + default: + use_zero_crc = false; + break; + } if (chk->rec.chunk_id.id == SCTP_COOKIE_ECHO) { sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, chk->whoTo); use_zero_crc = false; @@ -9782,6 +9811,14 @@ one_chunk_around: sctp_timer_start(SCTP_TIMER_TYPE_SEND, inp, stcb, net); tmr_started = 1; } + switch (asoc->snd_edmid) { + case SCTP_EDMID_LOWER_LAYER_DTLS: + use_zero_crc = true; + break; + default: + use_zero_crc = false; + break; + } /* Now lets send it, if there is anything to send :> */ if ((error = sctp_lowlevel_chunk_output(inp, stcb, net, (struct sockaddr *)&net->ro._l_addr, m, @@ -9790,7 +9827,7 @@ one_chunk_around: inp->sctp_lport, stcb->rport, htonl(stcb->asoc.peer_vtag), net->port, NULL, 0, 0, - asoc->zero_checksum == 2, + use_zero_crc, so_locked))) { /* error, we could not output */ SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); @@ -10875,6 +10912,7 @@ sctp_send_abort_tcb(struct sctp_tcb *stcb, struct mbuf *operr, int so_locked) uint32_t auth_offset = 0; int error; uint16_t cause_len, chunk_len, padding_len; + bool use_zero_crc; SCTP_TCB_LOCK_ASSERT(stcb); /*- @@ -10889,6 +10927,14 @@ sctp_send_abort_tcb(struct sctp_tcb *stcb, struct mbuf *operr, int so_locked) } else { m_out = NULL; } + switch (stcb->asoc.snd_edmid) { + case SCTP_EDMID_LOWER_LAYER_DTLS: + use_zero_crc = true; + break; + default: + use_zero_crc = false; + break; + } m_abort = sctp_get_mbuf_for_msg(sizeof(struct sctp_abort_chunk), 0, M_NOWAIT, 1, MT_HEADER); if (m_abort == NULL) { if (m_out) { @@ -10951,7 +10997,7 @@ sctp_send_abort_tcb(struct sctp_tcb *stcb, struct mbuf *operr, int so_locked) stcb->sctp_ep->sctp_lport, stcb->rport, htonl(vtag), stcb->asoc.primary_destination->port, NULL, 0, 0, - stcb->asoc.zero_checksum == 2, + use_zero_crc, so_locked))) { SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); if (error == ENOBUFS) { @@ -10975,6 +11021,7 @@ sctp_send_shutdown_complete(struct sctp_tcb *stcb, uint32_t vtag; int error; uint8_t flags; + bool use_zero_crc; m_shutdown_comp = sctp_get_mbuf_for_msg(sizeof(struct sctp_chunkhdr), 0, M_NOWAIT, 1, MT_HEADER); if (m_shutdown_comp == NULL) { @@ -10988,6 +11035,14 @@ sctp_send_shutdown_complete(struct sctp_tcb *stcb, flags = 0; vtag = stcb->asoc.peer_vtag; } + switch (stcb->asoc.snd_edmid) { + case SCTP_EDMID_LOWER_LAYER_DTLS: + use_zero_crc = true; + break; + default: + use_zero_crc = false; + break; + } shutdown_complete = mtod(m_shutdown_comp, struct sctp_shutdown_complete_chunk *); shutdown_complete->ch.chunk_type = SCTP_SHUTDOWN_COMPLETE; shutdown_complete->ch.chunk_flags = flags; @@ -11000,7 +11055,7 @@ sctp_send_shutdown_complete(struct sctp_tcb *stcb, htonl(vtag), net->port, NULL, 0, 0, - stcb->asoc.zero_checksum == 2, + use_zero_crc, SCTP_SO_NOT_LOCKED))) { SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); if (error == ENOBUFS) { diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 4e97dc4e7ad3..9df2f82bdaa6 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -2433,7 +2433,7 @@ sctp_inpcb_alloc(struct socket *so, uint32_t vrf_id) inp->nrsack_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_nrsack_enable); inp->pktdrop_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_pktdrop_enable); inp->idata_supported = 0; - inp->zero_checksum = 0; + inp->rcv_edmid = SCTP_EDMID_NONE; inp->fibnum = so->so_fibnum; /* init the small hash table we use to track asocid <-> tcb */ @@ -6403,12 +6403,23 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m, /* Peer supports pr-sctp */ peer_supports_prsctp = 1; } else if (ptype == SCTP_ZERO_CHECKSUM_ACCEPTABLE) { - /* - * Only send zero checksums if the upper layer has - * also enabled the support for this. - */ - if (stcb->asoc.zero_checksum == 1) { - stcb->asoc.zero_checksum = 2; + struct sctp_zero_checksum_acceptable zero_chksum, + *zero_chksum_p; + + phdr = sctp_get_next_param(m, offset, + (struct sctp_paramhdr *)&zero_chksum, + sizeof(struct sctp_zero_checksum_acceptable)); + if (phdr != NULL) { + /* + * Only send zero checksums if the upper + * layer has enabled the support for the + * same method as allowed by the peer. + */ + zero_chksum_p = (struct sctp_zero_checksum_acceptable *)phdr; + if ((ntohl(zero_chksum_p->edmid) != SCTP_EDMID_NONE) && + (ntohl(zero_chksum_p->edmid) == stcb->asoc.rcv_edmid)) { + stcb->asoc.snd_edmid = stcb->asoc.rcv_edmid; + } } } else if (ptype == SCTP_SUPPORTED_CHUNK_EXT) { /* A supported extension chunk */ diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index 39d8b4e7013e..7b94a40bcfa4 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -409,7 +409,7 @@ struct sctp_inpcb { uint8_t reconfig_supported; uint8_t nrsack_supported; uint8_t pktdrop_supported; - uint8_t zero_checksum; + uint8_t rcv_edmid; struct sctp_nonpad_sndrcvinfo def_send; /*- * These three are here for the sosend_dgram diff --git a/sys/netinet/sctp_structs.h b/sys/netinet/sctp_structs.h index 504e9ad79fe3..ceec7687f7ee 100644 --- a/sys/netinet/sctp_structs.h +++ b/sys/netinet/sctp_structs.h @@ -1185,11 +1185,9 @@ struct sctp_association { uint8_t pktdrop_supported; uint8_t idata_supported; - /* - * Zero checksum supported information: 0: disabled 1: enabled for - * rcv 2: enabled for snd/rcv - */ - uint8_t zero_checksum; + /* Zero checksum supported information */ + uint8_t rcv_edmid; + uint8_t snd_edmid; /* Did the peer make the stream config (add out) request */ uint8_t peer_req_out; diff --git a/sys/netinet/sctp_uio.h b/sys/netinet/sctp_uio.h index e833b0ab33ae..d25df39dd981 100644 --- a/sys/netinet/sctp_uio.h +++ b/sys/netinet/sctp_uio.h @@ -790,6 +790,10 @@ struct sctp_get_nonce_values { uint32_t gn_local_tag; }; +/* Values for SCTP_ACCEPT_ZERO_CHECKSUM */ +#define SCTP_EDMID_NONE 0 +#define SCTP_EDMID_LOWER_LAYER_DTLS 1 + /* Debugging logs */ struct sctp_str_log { void *stcb; /* FIXME: LP64 issue */ diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index 917d301a85dc..d603ef5efcd6 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -6839,13 +6839,15 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, uint32_t *value; SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize); - SCTP_INP_WLOCK(inp); - if (*value != 0) { - inp->zero_checksum = 1; + if ((*value == SCTP_EDMID_NONE) || + (*value == SCTP_EDMID_LOWER_LAYER_DTLS)) { + SCTP_INP_WLOCK(inp); + inp->rcv_edmid = *value; + SCTP_INP_WUNLOCK(inp); } else { - inp->zero_checksum = 0; + SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); + error = EINVAL; } - SCTP_INP_WUNLOCK(inp); break; } diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index 8bb0f7446b68..00a8953336de 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -1149,7 +1149,8 @@ sctp_init_asoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, asoc->nrsack_supported = inp->nrsack_supported; asoc->pktdrop_supported = inp->pktdrop_supported; asoc->idata_supported = inp->idata_supported; - asoc->zero_checksum = inp->zero_checksum; + asoc->rcv_edmid = inp->rcv_edmid; + asoc->snd_edmid = SCTP_EDMID_NONE; asoc->sctp_cmt_pf = (uint8_t)0; asoc->sctp_frag_point = inp->sctp_frag_point; asoc->sctp_features = inp->sctp_features; From nobody Sun Jul 23 13:44:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R84K00fw8z4nXR2; Sun, 23 Jul 2023 13:44: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 4R84K009wZz3k0T; Sun, 23 Jul 2023 13:44:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690119860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kU4jRYvpmLWac0jBAtJI7lf4G7WRcJfGhQOdLZDaY50=; b=Q4UELg6Mc5JCeDlrL98RJppQlLLzIFxYl9+JcWAKZagoKqU0vSK9LEFkYyIqCSEIfxqVhy q1zBsvV136vvuzItFj6hae/OEvvvgogvet3jPr3c9/5e506DJt7RETSEtS6ehA7yn5nezF DE6Eeoa+vQqd/6vj0MIfnuaZnKl2RQdBjY6NPUE0NejsqFaZMz1vIx7Vt8rcogkeeEAJWX rXyM4dl9UnHLm8rTo7dez+M7+YA9tvebYL+V5qLetumwCkPqWWWAhonbCOToiyVWOaQcGy fJqPGev6twScrcHabBqQsyX7HCigEXi14Z7EAprzHKPBHtk5dDrc38buMZ3eOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690119860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kU4jRYvpmLWac0jBAtJI7lf4G7WRcJfGhQOdLZDaY50=; b=Vrg9besn+DejZhADYa9roJ3p7EKvJ2zTWUXULPvjACYd5u2IQhhDcmLC8XyfCuf/yToA30 kA6YFcnxKUfBZjtA1Hhg/UOvIwOw9aFUTI2vl8JroQccdIhbrb99gYhGuuwiRVKQu1JpUy RpRDephg3IObx7NTR91bpt+6tCYF0OApDRt/v+sMlO8ihCZg252W58+RUMUGcuLiigymtl MnL5in+CSUm42B5ZRxqgrNwX19iL+6dQ1mNMeF/83dpDh6VhF9M/kKmYaREGlub8WtfyMw BWnoU//bL5d6lxkOg38oEkM+nHw0Co/Xt+Dz8KYlmonaGSdARMESsYUMm/aUXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690119860; a=rsa-sha256; cv=none; b=BGUNucPjWjAeLw6ckWfDkrDO/fQV4EIgg0nGJZfdq6smmIg6R8dKgKr0t8/J0aiaqFFl9e 7JfgaX3zBWbKk4aYTdAM7YubPqMW8yeM5oHkm/7rDo9EYtnWEBeZOLP/mX+fdRjIeqgycx qYkAriZnMWufF9rbyjJwPW5BD20BFp41v+YUifArSLTuurRmgNJBmb3C32ZBY5HkPdz1Nc nq/dyv2TxVx/rB/9JzyHlAiK6zG0RbaB6JRIICIlICi0CH7Y7K4aPU6+w/irQHfXZ4l60X IJQaDonFw/8Oejpv/2g8rCIz9ui/N1soXQOZCzjM+c60uyiinejNCfzDXh0ADQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R84Jz6NWbzfLl; Sun, 23 Jul 2023 13:44: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 36NDiJ0J093872; Sun, 23 Jul 2023 13:44:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NDiJNT093871; Sun, 23 Jul 2023 13:44:19 GMT (envelope-from git) Date: Sun, 23 Jul 2023 13:44:19 GMT Message-Id: <202307231344.36NDiJNT093871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 4d9b2ed34bae - main - ufs: stop using LK_SLEEPFAIL in ffs_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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d9b2ed34bae371dcbff947ffb98a439ed575006 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=4d9b2ed34bae371dcbff947ffb98a439ed575006 commit 4d9b2ed34bae371dcbff947ffb98a439ed575006 Author: Mateusz Guzik AuthorDate: 2023-07-22 07:19:03 +0000 Commit: Mateusz Guzik CommitDate: 2023-07-23 13:44:15 +0000 ufs: stop using LK_SLEEPFAIL in ffs_sync It provides nothing as either locking succeeds or fails with ENOENT as is. --- sys/ufs/ffs/ffs_vfsops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 560708883cca..9b6ef22b8cd0 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1711,7 +1711,7 @@ ffs_sync(struct mount *mp, int waitfor) } if (waitfor == MNT_WAIT) lockreq = LK_EXCLUSIVE; - lockreq |= LK_INTERLOCK | LK_SLEEPFAIL; + lockreq |= LK_INTERLOCK; loop: /* Grab snapshot of secondary write counts */ MNT_ILOCK(mp); @@ -1741,7 +1741,7 @@ loop: continue; } if ((error = vget(vp, lockreq)) != 0) { - if (error == ENOENT || error == ENOLCK) { + if (error == ENOENT) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } From nobody Sun Jul 23 13:44:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R84K11Yggz4nXRF; Sun, 23 Jul 2023 13:44: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 4R84K1165Zz3kDH; Sun, 23 Jul 2023 13:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690119861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dgVVJvY/VzzRvK5AVgeiQdaLV8YodB8TzVJv8N7fLQI=; b=yh7oE2A/nxxtZVvQv7mvXJwDRZxA7Booddk46rbdYUC5D4AngQ4fYaqWrlficXkvzMB9Hb pMGP97Z+elFoR6jUWe/ATIcGLUamq7HqHQDeFjyBSULVLaiNL9YwxieN+FEtVLxI58LAaw a49m7ZTLPYDWTsjSsdrZpm04NIQlHtjmeAc+XcV87/WrVdpop3UGF+LuDNhKSOIw4361Tl AQnrmdwJfXG/pQfX1krZL9eYnv6v2F8veP+Pu+utXTS9QvPyCOS48maltTUoJFdEaIjwWw JZM6h383yW3RPp8rpFklHmB7y9bA9hzk+bqi2R16ciDr54Cbxgx6+2UD9hOPpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690119861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dgVVJvY/VzzRvK5AVgeiQdaLV8YodB8TzVJv8N7fLQI=; b=GwAQ1gqGXha5fVk16qhanuIZnAqGKHSZZWZFVPqQezsc9WT+q+XlLMGPzRd3y2ymlnq1Uc 4ZF+NiR1RPX7wZ/B9lwVWwda1D6sMu3/CuLk+mlyxIRMkZc5oLUXRm2A1GgWe1eEbkymZi xXaZQtErQks1ycu8sGXSAhGO9ML1JVYplcJ6EqPg/5NLyD+bU5Jk8urj39hU2hWBEoyvQs 1grBB9fWnVCFnk9aOoqbgpwU35xVDEJfLpgqN0TWJdKWzX32hPH6K+AY0RHM3cmgjYSirc EJ67G4dpltQLi6Gxp3wT9BzaLdkC/GPiaazfOm+EWouF8oL/UkONMv1w/++vDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690119861; a=rsa-sha256; cv=none; b=ylWW02zm5H+MF1tLqYgwNJ5dy50QALgzn2MfZAzozoe8zBBBIlg9WeAA2GF2/qhWYJop1C UT7Ws0cs+yiwRYETWoLLUOhoempUTNyF7Cfas3I8S5YEL2ZAMFhJ3tExswKLr+QgXqchKv vDWp89PRNYRAM+4zLrunwby6kivzLl9aIE+LOI/rRvL7EEozv3xlmmDSQJkqgFDmjJkRgm Nt9pqfyvYfzL6DnGfyvOcTxQe7HdibYvidV6APSFfmcmIOHOnTXw6jdqDK5sOG3M228uN9 7Ac0uLTxjbtjL7sT2IWkf7If2RpdV2VsA6qpIGtQj3v2sVrrUOZJOvtukROb+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 4R84K10C84zfLm; Sun, 23 Jul 2023 13:44: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 36NDiKiV093891; Sun, 23 Jul 2023 13:44:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NDiKtO093890; Sun, 23 Jul 2023 13:44:20 GMT (envelope-from git) Date: Sun, 23 Jul 2023 13:44:20 GMT Message-Id: <202307231344.36NDiKtO093890@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 176d83eafc5d - main - vfs: fix up NDFREE_PNBUF usage in vfs_mountroot_shuffle List-Id: Commit messages for all branches 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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 176d83eafc5dbeef194ed0e7b1cb24b0ba373fae Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=176d83eafc5dbeef194ed0e7b1cb24b0ba373fae commit 176d83eafc5dbeef194ed0e7b1cb24b0ba373fae Author: Mateusz Guzik AuthorDate: 2023-07-23 13:42:34 +0000 Commit: Mateusz Guzik CommitDate: 2023-07-23 13:44:15 +0000 vfs: fix up NDFREE_PNBUF usage in vfs_mountroot_shuffle Noted by: karels --- sys/kern/vfs_mountroot.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c index 956d29e3f084..b08b2a3200f8 100644 --- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -352,13 +352,13 @@ vfs_mountroot_shuffle(struct thread *td, struct mount *mpdevfs) NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, fspath); error = namei(&nd); if (error) { - NDFREE_PNBUF(&nd); fspath = "/mnt"; NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, fspath); error = namei(&nd); } if (!error) { + NDFREE_PNBUF(&nd); vp = nd.ni_vp; error = (vp->v_type == VDIR) ? 0 : ENOTDIR; if (!error) @@ -376,7 +376,6 @@ vfs_mountroot_shuffle(struct thread *td, struct mount *mpdevfs) } else vput(vp); } - NDFREE_PNBUF(&nd); if (error) printf("mountroot: unable to remount previous root " @@ -387,6 +386,7 @@ vfs_mountroot_shuffle(struct thread *td, struct mount *mpdevfs) NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, "/dev"); error = namei(&nd); if (!error) { + NDFREE_PNBUF(&nd); vp = nd.ni_vp; error = (vp->v_type == VDIR) ? 0 : ENOTDIR; if (!error) @@ -413,7 +413,6 @@ vfs_mountroot_shuffle(struct thread *td, struct mount *mpdevfs) if (error) printf("mountroot: unable to remount devfs under /dev " "(error %d)\n", error); - NDFREE_PNBUF(&nd); if (mporoot == mpdevfs) { vfs_unbusy(mpdevfs); From nobody Sun Jul 23 18:18:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BPV08Jkz4nyRD; Sun, 23 Jul 2023 18:18: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 4R8BPT24MKz3MSm; Sun, 23 Jul 2023 18:18:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NeYAe1Zv69ZlXKbGUJeXE5KMGwNOmnGmlqVzditD/WE=; b=uZY0etvazW5+qjUqiU5/k24m8D6wFMfUzYKYTe5M7pSGMICCIDE9h5KD/1rBNX8ITen03W uht5lvxJEuIz+tLpMXfeR2VoyYmp/iu4zoEoEks00z9sOPHPyT2eNMHFBlJn/AA7fv81y4 hwQPsP9oHngYzZkz/mpSMi0PFVHZ77P/Cm9ZhHs0MToef2R7mIImPHnG2g8eAvYOb0TPDC 8+mXRHRsGGInOTNNCtr0VQlLguDkybsCEwf6bDRz8nqXUvK2krH9hqXINV7JCjKaEGpChH rswR872rmBF/M1Mnxx6GirEJ384gB2ehIFIwHVJTbVn/JRdH6T9T0wrz7VvURA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NeYAe1Zv69ZlXKbGUJeXE5KMGwNOmnGmlqVzditD/WE=; b=R6EajDEn981t+b3fTuE96rXAYGy7DjGMOqzpjOSGgvYMgW8WMLooGiUbugt7FTSFuy+0ZJ V30jT4FScqYYzRxfbIJarUQZ9PlSePdnFYt7miUjukf9hFyEa1GOeL2ye3FBOObVC+H9Js 9Rp+uwTl+n1R2r/gWnm6a2K583r9B4bep4bEZDQ67X2vHimQLRTDJYFTjum3FiMJgZxAup fQXMxjw3frr5ds/gUpRLzs48ki+1RtuzqhKSQTPP8/hYPcwr5V3x/7Pkwox5FJsGtlCF5t 8O3S9MU2C8vp0e1Bv4574gDC4W931123liWT8BB9g/94Er0II/OtsY1OU5Qi0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136317; a=rsa-sha256; cv=none; b=mikASNwblqeMV8I7Es4zaOcFA+VbLicpcjUaIA1BQ31ugVj4S3qWIQsJ2cy/NGC617cmIq 6k3RNBseXGUIkiL24ALcoqHv47TG+FvESXWUNRkyRVs2F6PqP6LG/OxJkty91KBQsssyLg gg0WQEcBGkY5SuGFXU7Iby5wyf8CHerWx4/G3My5mwOjRXuN8GXbuHOQWFzAXdCLpQ1r4z 9rnJlRHC6P0nur9O4OCn+B4jXSomaWkh4qKAmfNTJrOCNf17HUfzcrv2W5XIbhlAgIvIoc ImCBMIbRgXk1f/NK43EZ0K6XXtXHeBFJB4LvIEtXnNqcXhDrYqY8P4fRMRLAJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BPT1BDhzmJx; Sun, 23 Jul 2023 18:18: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 36NIIb6g042236; Sun, 23 Jul 2023 18:18:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIIboM042235; Sun, 23 Jul 2023 18:18:37 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:18:37 GMT Message-Id: <202307231818.36NIIboM042235@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: 9df529b8a106 - main - login_getclassbyname(3): use calloc. List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 9df529b8a106b18b15d561f7ae94f474c3fb4a7d Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=9df529b8a106b18b15d561f7ae94f474c3fb4a7d commit 9df529b8a106b18b15d561f7ae94f474c3fb4a7d Author: Xin LI AuthorDate: 2023-07-23 18:18:24 +0000 Commit: Xin LI CommitDate: 2023-07-23 18:18:24 +0000 login_getclassbyname(3): use calloc. --- lib/libutil/login_cap.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/libutil/login_cap.c b/lib/libutil/login_cap.c index ffefb865ed5e..6b3bf663bb2b 100644 --- a/lib/libutil/login_cap.c +++ b/lib/libutil/login_cap.c @@ -295,7 +295,7 @@ login_getclassbyname(char const *name, const struct passwd *pwd) { login_cap_t *lc; - if ((lc = malloc(sizeof(login_cap_t))) != NULL) { + if ((lc = calloc(1, sizeof(login_cap_t))) != NULL) { int r, me, i = 0; uid_t euid = 0; gid_t egid = 0; @@ -332,9 +332,6 @@ login_getclassbyname(char const *name, const struct passwd *pwd) login_dbarray[i++] = path_login_conf; login_dbarray[i] = NULL; - memset(lc, 0, sizeof(login_cap_t)); - lc->lc_cap = lc->lc_class = lc->lc_style = NULL; - if (name == NULL || *name == '\0') name = LOGIN_DEFCLASS; From nobody Sun Jul 23 18:26:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BZt3XBpz4p5yw; Sun, 23 Jul 2023 18:26: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 4R8BZt34mcz3Qsr; Sun, 23 Jul 2023 18:26:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bbFH/1FWYH3SC/7QwIqAHudoXOQfL1wV/NA6STtC2zE=; b=MjDW3iySPIb5tkmaw7W4w8n6AnfqJznu/PZfSs5uAozj89rWLtb4GcNPr+zHf6nP6H5GP5 YMScBD0ZV8JnbDSybIdjG9JXBVIfWz2/fURrMTj+jj2Z4aQIp14KsYXJPdeIFNNPVIhdd/ pIF2OhWKItEKDCYf7wO3bEu7zvfYrqjLv5Mpy9w3PHToLgWz/aK2aPemD1gyLtb0SY/d64 FZsnV4a/CkSG6ddEnDtVkh/Alfpw3G9FCY5yw31AIBkuvTCAkkhsFjqVSjJK4mJlpgFQOU /CFCy2ZLXSmJ1SF/FWCKjiwO6XtuJy5ADAJtWXYcDhKXofGiO1nyIxfB8QKWMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bbFH/1FWYH3SC/7QwIqAHudoXOQfL1wV/NA6STtC2zE=; b=D70xZ+ZGI15wFl1okBHerZ6r2hfyQyGZ4HPhmSSXWmwwE/0Vyh4bcT8j4zH3wuNkXdn+GD /j+mF1yzWTCjGc916XcuahTfG5k56/7CYMSCK+JFHvUiWrNWWj+v4EU7yc/51QmMIQE0bO /oLdqpfvqoCVkilN3aosemk2WVxJ1ygOCfxIOTsWIqQuYh4JIJLas3QrLAELC/cnVezXQN wH23M7AnJ5sdT43JKSa1uJFtY2Ul1CRiKMdWLdIl+ueVI0KLXAuFGqHMiokX6QQLuYEUVI hfQcLwYPNZzD5XxD4ImsjbG/fVLwPwoNvkV0dv3q917lTZTDGc/OABWxTafJ9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136806; a=rsa-sha256; cv=none; b=JcLKvn1GRsg60eWQN6Ea7eiwU096Cg0AAf58BLzdTB3g1Jue6+uXTfNedng25BdZf5UryJ ZeL/kDCdm3ewNpPBLTt8DJ2lvQwOA+XKTZUguf+ZNVVN8JuQAs1k/eNuI/EHnIk6ybN6Lm ghPqJjc78NhGKFElOgOjQkIuxCN+XjC4QZpil3oljVDAowcYFOOXxv+s6KV3JVpmUVdOln CkheArixrm3u78bWBy4FLzQlUcwP8sKsipRGYyhSVD5GgktYsYOF+ht62EFe2CAV/txX5c bD5bfw5t/J2t5szrwlPQG/XninEngK0MGQPnSLedRqgjWFdKlgmzWUoz+sgGVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BZt27g2zmkp; Sun, 23 Jul 2023 18:26: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 36NIQkvE058579; Sun, 23 Jul 2023 18:26:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIQknl058578; Sun, 23 Jul 2023 18:26:46 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:26:46 GMT Message-Id: <202307231826.36NIQknl058578@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: 814cfa6ad43c - stable/13 - libarchive: make single bit bitfields unsigned to avoid clang 16 warning List-Id: Commit messages for all branches 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: 814cfa6ad43c73de9b8030f241f516dad3f669ef Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=814cfa6ad43c73de9b8030f241f516dad3f669ef commit 814cfa6ad43c73de9b8030f241f516dad3f669ef Author: Dimitry Andric AuthorDate: 2023-04-17 16:20:56 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:06 +0000 libarchive: make single bit bitfields unsigned to avoid clang 16 warning Clang 16 introduced a warning about single bit bitfields in structs, which is triggered by various declarations in libarchive: contrib/libarchive/libarchive/archive_write_set_format_7zip.c:1541:13: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] file->dir = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:5127:15: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] isoent->dir = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:5213:14: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] isoent->dir = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:5214:18: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] isoent->virtual = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7149:18: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] isoent->virtual = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7435:32: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] iso9660->zisofs.detect_magic = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7495:25: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] iso9660->zisofs.making = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7496:26: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] iso9660->zisofs.allzero = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7702:28: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] iso9660->zisofs.allzero = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7871:25: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] zisofs->header_passed = 1; ^ ~ contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7894:24: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] zisofs->initialized = 1; ^ ~ Signed one-bit bitfields can only have values -1 and 0, but the intent here is to use the fields as booleans, so make them unsigned. This has also been sent upstream. MFC after: 3 days (cherry picked from commit 67ecab6f50ff29e9bda340be1e9d2acc963c9a2b) --- .../libarchive/libarchive/archive_write_set_format_7zip.c | 2 +- .../libarchive/archive_write_set_format_iso9660.c | 14 +++++++------- .../libarchive/libarchive/archive_write_set_format_xar.c | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/contrib/libarchive/libarchive/archive_write_set_format_7zip.c b/contrib/libarchive/libarchive/archive_write_set_format_7zip.c index d5ca9a665654..f4b34685d3d0 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_7zip.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_7zip.c @@ -165,7 +165,7 @@ struct file { mode_t mode; uint32_t crc32; - signed int dir:1; + unsigned int dir:1; }; struct _7zip { diff --git a/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c b/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c index 58b7216a8071..b3e41d4ab997 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c @@ -289,12 +289,12 @@ struct isoent { struct extr_rec *current; } extr_rec_list; - signed int virtual:1; + unsigned int virtual:1; /* If set to one, this file type is a directory. * A convenience flag to be used as * "archive_entry_filetype(isoent->file->entry) == AE_IFDIR". */ - signed int dir:1; + unsigned int dir:1; }; struct hardlink { @@ -755,9 +755,9 @@ struct iso9660 { /* Used for making zisofs. */ struct { - signed int detect_magic:1; - signed int making:1; - signed int allzero:1; + unsigned int detect_magic:1; + unsigned int making:1; + unsigned int allzero:1; unsigned char magic_buffer[64]; int magic_cnt; @@ -7802,8 +7802,8 @@ struct zisofs_extract { uint64_t pz_uncompressed_size; size_t uncompressed_buffer_size; - signed int initialized:1; - signed int header_passed:1; + unsigned int initialized:1; + unsigned int header_passed:1; uint32_t pz_offset; unsigned char *block_pointers; diff --git a/contrib/libarchive/libarchive/archive_write_set_format_xar.c b/contrib/libarchive/libarchive/archive_write_set_format_xar.c index d885f5c256d3..9d5e5dd41cbb 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_xar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_xar.c @@ -212,8 +212,8 @@ struct file { struct heap_data data; struct archive_string script; - signed int virtual:1; - signed int dir:1; + unsigned int virtual:1; + unsigned int dir:1; }; struct hardlink { From nobody Sun Jul 23 18:26:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8Bb873pMz4p5wt; Sun, 23 Jul 2023 18:27: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 4R8Bb86mXqz3RBL; Sun, 23 Jul 2023 18:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wP2CoPG5ObeW7PRs+KpR9Lc9l4ObAcKbJD/Ymh+YGAk=; b=v4GcuZRimjtldwkhyT7XpILMq+0/GhnQwt/e6V5VsfOiR9QBHq+bmJlqQslJUdPD9PlvAr rRCEJ6AHgApUsAQkJu92oglP3yB1Z3wWj2a9i9/plhpMEMWmUt3qnRnRYIUifpM0oBDWDk dUj6JgTPSzzky8wKZJtif3zxWfDojAsvXGhS3p3AhhDD813y7naOu7vaxK7vOppK2DQmGG Dhkn7vbaA/DGop7IHfzKWZnfpuhVzpsUMtQgbHg3uf2AgOKNYcwahCWBSFkFS8KQxGL2a7 uFRfnwBpsJ2aKYpV53GtoEgnR+RXR6qDQkSfM7t7qlLixxcp9OauouOEgcRs+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wP2CoPG5ObeW7PRs+KpR9Lc9l4ObAcKbJD/Ymh+YGAk=; b=kidJ+NMfr/UUPPyfvuFGveXq7n7prMlVZZpTqbMtyMsJUtEZN3ZS1mmi/5sRDyQcuI2irO 9fZZzMuQMuyxy7dCZfOiyCk4LusWZE1IdFv1NrWX5tgnWR9lXT3XK1SpHl0w1wtMBFafhZ 8wx82cotTkOv9Qp8Z7BxW99aWiq/6YFTIruT/BlZ3BqGKeyE267LHe8yxrFFZuBA+UwL+1 UFZSfxtf0dbQRQhhKwLtURQUqPmocyEvk+O0syzwhx1sO63BmGseQdWMUP9+msGMOqlSc6 68dn86suOC8/zYZ5ipg26vVZvsvkKvD9opeMVx2sKK570Q56KeSKfux0mnHsXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136820; a=rsa-sha256; cv=none; b=vhtAqWaWhAlGv2uucV55sWYfuYX4YfrhOOHYXJ2zoTaavDaCOFh781JniaXRE2OzBNEG7H o3MoIJrsNyRwM1Fzhyb6VgCUfo+JnzWBcD7sM7OtxsMeh9cXH5S1jwkWNglQk1Z3JakQ6N th90S++AGMRPK5WfU8KN1B/QSnAiyxR1f250+4i8IRMr8rXGReWPcJwAzNPuV1ElP4Mega a3EyzcnbFgULI0JX1rEUF0uRH5vVbLCUrgWQDJJjV4Z8ctoWhoaWd1+3z5gMp0u8OF5fcM rFqhmvCBiQW/BsBvfEtzG3JvD20Siv+ZkvqB490HY+qTtfJ6q+IWDTdzXNuO6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8Bb85rFKzmKn; Sun, 23 Jul 2023 18:27: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 36NIR0sV058625; Sun, 23 Jul 2023 18:27:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIQlrU058600; Sun, 23 Jul 2023 18:26:47 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:26:47 GMT Message-Id: <202307231826.36NIQlrU058600@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: 320d4fb58b6b - stable/13 - Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41 List-Id: Commit messages for all branches 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: 320d4fb58b6b1c6a0c7ffeab3d4672d1479d5e17 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=320d4fb58b6b1c6a0c7ffeab3d4672d1479d5e17 commit 320d4fb58b6b1c6a0c7ffeab3d4672d1479d5e17 Author: Dimitry Andric AuthorDate: 2023-04-14 21:41:27 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:08 +0000 Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16-init-18548-gb0daacf58f41. PR: 271047 MFC after: 1 month (cherry picked from commit bdd1243df58e60e85101c09001d9812a789b6bc4) --- ObsoleteFiles.inc | 329 + contrib/llvm-project/FREEBSD-Xlist | 52 +- .../clang/include/clang-c/CXDiagnostic.h | 379 + .../llvm-project/clang/include/clang-c/CXFile.h | 83 + .../clang/include/clang-c/CXSourceLocation.h | 286 + .../clang/include/clang-c/Documentation.h | 64 + contrib/llvm-project/clang/include/clang-c/Index.h | 812 +- .../clang/include/clang/APINotes/Types.h | 107 +- .../clang/include/clang/ARCMigrate/ARCMTActions.h | 2 +- .../llvm-project/clang/include/clang/AST/APValue.h | 2 +- .../clang/include/clang/AST/ASTConcept.h | 13 + .../clang/include/clang/AST/ASTConsumer.h | 2 +- .../clang/include/clang/AST/ASTContext.h | 144 +- .../clang/include/clang/AST/ASTDumper.h | 1 + .../clang/include/clang/AST/ASTImporter.h | 14 +- .../include/clang/AST/ASTImporterSharedState.h | 5 +- .../clang/include/clang/AST/ASTNodeTraverser.h | 33 +- .../include/clang/AST/ASTStructuralEquivalence.h | 4 +- .../clang/include/clang/AST/ASTTypeTraits.h | 15 +- .../clang/include/clang/AST/ASTUnresolvedSet.h | 7 +- .../clang/include/clang/AST/AbstractBasicReader.h | 15 +- .../clang/include/clang/AST/AbstractBasicWriter.h | 17 +- .../llvm-project/clang/include/clang/AST/Attr.h | 35 +- .../clang/include/clang/AST/CanonicalType.h | 3 +- .../clang/include/clang/AST/CharUnits.h | 9 +- .../clang/include/clang/AST/CommentSema.h | 2 +- .../clang/include/clang/AST/ComparisonCategories.h | 4 +- .../clang/include/clang/AST/ComputeDependence.h | 2 + .../llvm-project/clang/include/clang/AST/Decl.h | 192 +- .../clang/include/clang/AST/DeclBase.h | 37 +- .../llvm-project/clang/include/clang/AST/DeclCXX.h | 84 +- .../clang/include/clang/AST/DeclFriend.h | 10 +- .../clang/include/clang/AST/DeclObjC.h | 68 +- .../clang/include/clang/AST/DeclOpenMP.h | 12 +- .../clang/include/clang/AST/DeclTemplate.h | 150 +- .../clang/include/clang/AST/DeclarationName.h | 2 +- .../llvm-project/clang/include/clang/AST/Expr.h | 47 +- .../llvm-project/clang/include/clang/AST/ExprCXX.h | 359 +- .../clang/include/clang/AST/ExprConcepts.h | 125 +- .../clang/include/clang/AST/ExprObjC.h | 17 +- .../clang/include/clang/AST/ExprOpenMP.h | 4 +- .../clang/include/clang/AST/ExternalASTMerger.h | 2 +- .../clang/include/clang/AST/ExternalASTSource.h | 4 +- .../clang/include/clang/AST/FormatString.h | 19 +- .../clang/include/clang/AST/JSONNodeDumper.h | 7 +- .../clang/include/clang/AST/LambdaCapture.h | 8 +- .../llvm-project/clang/include/clang/AST/Mangle.h | 20 +- .../llvm-project/clang/include/clang/AST/NSAPI.h | 16 +- .../clang/include/clang/AST/ODRDiagsEmitter.h | 203 + .../llvm-project/clang/include/clang/AST/ODRHash.h | 14 +- .../clang/include/clang/AST/OpenMPClause.h | 1221 +- .../clang/include/clang/AST/ParentMapContext.h | 2 +- .../clang/include/clang/AST/PrettyPrinter.h | 6 +- .../clang/include/clang/AST/PropertiesBase.td | 63 +- .../clang/include/clang/AST/RecursiveASTVisitor.h | 106 +- .../llvm-project/clang/include/clang/AST/Stmt.h | 30 +- .../clang/include/clang/AST/StmtOpenMP.h | 76 +- .../clang/include/clang/AST/TemplateBase.h | 46 +- .../clang/include/clang/AST/TemplateName.h | 102 +- .../clang/include/clang/AST/TextNodeDumper.h | 4 + .../llvm-project/clang/include/clang/AST/Type.h | 419 +- .../llvm-project/clang/include/clang/AST/TypeLoc.h | 81 +- .../clang/include/clang/AST/TypeProperties.td | 66 +- .../include/clang/ASTMatchers/ASTMatchFinder.h | 9 +- .../clang/include/clang/ASTMatchers/ASTMatchers.h | 59 +- .../clang/ASTMatchers/ASTMatchersInternal.h | 92 +- .../include/clang/ASTMatchers/Dynamic/Parser.h | 16 +- .../include/clang/ASTMatchers/Dynamic/Registry.h | 6 +- .../clang/ASTMatchers/Dynamic/VariantValue.h | 12 +- .../clang/Analysis/Analyses/PostOrderCFGView.h | 10 +- .../clang/Analysis/Analyses/ThreadSafetyCommon.h | 13 +- .../clang/Analysis/Analyses/ThreadSafetyTIL.h | 20 +- .../clang/Analysis/Analyses/ThreadSafetyTraverse.h | 5 +- .../clang/Analysis/Analyses/ThreadSafetyUtil.h | 4 +- .../clang/Analysis/Analyses/UnsafeBufferUsage.h | 48 + .../Analysis/Analyses/UnsafeBufferUsageGadgets.def | 35 + .../clang/include/clang/Analysis/AnyCall.h | 17 +- .../clang/include/clang/Analysis/BodyFarm.h | 4 +- .../clang/include/clang/Analysis/CFG.h | 29 +- .../clang/include/clang/Analysis/CloneDetection.h | 2 +- .../include/clang/Analysis/ConstructionContext.h | 2 +- .../clang/Analysis/FlowSensitive/CFGMatchSwitch.h | 98 + .../Analysis/FlowSensitive/ControlFlowContext.h | 20 +- .../Analysis/FlowSensitive/DataflowAnalysis.h | 138 +- .../FlowSensitive/DataflowAnalysisContext.h | 86 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 143 +- .../clang/Analysis/FlowSensitive/DataflowLattice.h | 2 + .../clang/Analysis/FlowSensitive/DataflowValues.h | 2 +- .../clang/Analysis/FlowSensitive/DebugSupport.h | 8 +- .../clang/Analysis/FlowSensitive/MatchSwitch.h | 90 +- .../FlowSensitive/Models/ChromiumCheckModel.h | 2 +- .../Models/UncheckedOptionalAccessModel.h | 35 +- .../clang/Analysis/FlowSensitive/NoopAnalysis.h | 4 +- .../include/clang/Analysis/FlowSensitive/Solver.h | 8 +- .../clang/Analysis/FlowSensitive/StorageLocation.h | 3 + .../clang/Analysis/FlowSensitive/Transfer.h | 10 +- .../FlowSensitive/TypeErasedDataflowAnalysis.h | 79 +- .../include/clang/Analysis/FlowSensitive/Value.h | 29 +- .../include/clang/Analysis/MacroExpansionContext.h | 12 +- .../clang/include/clang/Analysis/PathDiagnostic.h | 6 +- .../clang/include/clang/Analysis/ProgramPoint.h | 13 +- .../include/clang/Analysis/RetainSummaryManager.h | 18 +- .../clang/include/clang/Basic/AddressSpaces.h | 3 + .../llvm-project/clang/include/clang/Basic/Attr.td | 234 +- .../clang/include/clang/Basic/AttrDocs.td | 232 +- .../clang/include/clang/Basic/BuiltinHeaders.def | 43 + .../clang/include/clang/Basic/Builtins.def | 1118 +- .../clang/include/clang/Basic/Builtins.h | 42 +- .../clang/include/clang/Basic/BuiltinsAArch64.def | 324 +- .../clang/Basic/BuiltinsAArch64NeonSVEBridge.def | 72 +- .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 46 +- .../clang/include/clang/Basic/BuiltinsARM.def | 222 +- .../clang/include/clang/Basic/BuiltinsHexagon.def | 16 +- .../include/clang/Basic/BuiltinsHexagonDep.def | 37 + .../clang/Basic/BuiltinsHexagonMapCustomDep.def | 4 + .../include/clang/Basic/BuiltinsLoongArch.def | 61 + .../clang/include/clang/Basic/BuiltinsNVPTX.def | 24 +- .../clang/include/clang/Basic/BuiltinsPPC.def | 10 +- .../clang/include/clang/Basic/BuiltinsRISCV.def | 67 +- .../clang/include/clang/Basic/BuiltinsSVE.def | 1 + .../clang/include/clang/Basic/BuiltinsVE.def | 2 +- .../include/clang/Basic/BuiltinsWebAssembly.def | 21 +- .../clang/include/clang/Basic/BuiltinsX86.def | 169 +- .../clang/include/clang/Basic/BuiltinsX86_64.def | 34 +- .../clang/include/clang/Basic/CLWarnings.h | 4 +- .../clang/include/clang/Basic/CodeGenOptions.def | 30 +- .../clang/include/clang/Basic/CodeGenOptions.h | 35 +- .../llvm-project/clang/include/clang/Basic/Cuda.h | 8 +- .../include/clang/Basic/CustomizableOptional.h | 280 + .../clang/include/clang/Basic/DarwinSDKInfo.h | 39 +- .../clang/include/clang/Basic/DeclNodes.td | 4 +- .../clang/include/clang/Basic/Diagnostic.h | 27 +- .../clang/include/clang/Basic/Diagnostic.td | 4 +- .../include/clang/Basic/DiagnosticASTKinds.td | 414 +- .../include/clang/Basic/DiagnosticCommonKinds.td | 37 +- .../include/clang/Basic/DiagnosticDriverKinds.td | 70 +- .../clang/include/clang/Basic/DiagnosticError.h | 5 +- .../include/clang/Basic/DiagnosticFrontendKinds.td | 29 +- .../clang/include/clang/Basic/DiagnosticGroups.td | 53 +- .../clang/include/clang/Basic/DiagnosticIDs.h | 5 +- .../include/clang/Basic/DiagnosticLexKinds.td | 17 +- .../clang/include/clang/Basic/DiagnosticOptions.h | 6 +- .../include/clang/Basic/DiagnosticParseKinds.td | 74 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 350 +- .../clang/Basic/DiagnosticSerializationKinds.td | 292 - .../clang/include/clang/Basic/DirectoryEntry.h | 75 +- .../clang/include/clang/Basic/FPOptions.def | 1 + .../clang/include/clang/Basic/Features.def | 1 + .../clang/include/clang/Basic/FileEntry.h | 106 +- .../clang/include/clang/Basic/FileManager.h | 18 +- .../include/clang/Basic/FileSystemStatCache.h | 3 +- .../clang/include/clang/Basic/HLSLRuntime.h | 66 + .../clang/include/clang/Basic/HeaderInclude.h | 73 + .../clang/include/clang/Basic/IdentifierTable.h | 9 +- .../clang/include/clang/Basic/JsonSupport.h | 12 +- .../llvm-project/clang/include/clang/Basic/LLVM.h | 6 +- .../clang/include/clang/Basic/LangOptions.def | 17 +- .../clang/include/clang/Basic/LangOptions.h | 44 +- .../clang/include/clang/Basic/LangStandards.def | 2 +- .../clang/include/clang/Basic/Module.h | 38 +- .../clang/include/clang/Basic/OpenCLExtensions.def | 6 - .../clang/include/clang/Basic/OpenMPKinds.def | 39 + .../clang/include/clang/Basic/OpenMPKinds.h | 53 +- .../clang/include/clang/Basic/OperatorKinds.def | 4 +- .../clang/include/clang/Basic/PartialDiagnostic.h | 4 +- .../clang/include/clang/Basic/ProfileList.h | 25 +- .../clang/include/clang/Basic/Sanitizers.def | 3 + .../llvm-project/clang/include/clang/Basic/Sarif.h | 85 +- .../clang/include/clang/Basic/SourceLocation.h | 6 + .../clang/include/clang/Basic/SourceManager.h | 143 +- .../clang/include/clang/Basic/Specifiers.h | 57 +- .../clang/include/clang/Basic/StmtNodes.td | 2 + .../clang/include/clang/Basic/SyncScope.h | 4 +- .../clang/include/clang/Basic/TargetBuiltins.h | 11 + .../clang/include/clang/Basic/TargetID.h | 21 +- .../clang/include/clang/Basic/TargetInfo.h | 134 +- .../clang/include/clang/Basic/TargetOptions.h | 3 + .../clang/include/clang/Basic/TokenKinds.def | 71 +- .../include/clang/Basic/TransformTypeTraits.def | 29 + .../clang/include/clang/Basic/TypeTraits.h | 4 + .../clang/include/clang/Basic/arm_fp16.td | 2 +- .../clang/include/clang/Basic/arm_neon.td | 97 +- .../clang/include/clang/Basic/arm_neon_incl.td | 1 + .../clang/include/clang/Basic/arm_sve.td | 172 +- .../clang/include/clang/Basic/riscv_vector.td | 973 +- .../clang/include/clang/CodeGen/CGFunctionInfo.h | 4 +- .../include/clang/CrossTU/CrossTranslationUnit.h | 10 +- .../clang/include/clang/Driver/Action.h | 43 +- .../clang/include/clang/Driver/Compilation.h | 9 +- .../clang/include/clang/Driver/Distro.h | 3 +- .../clang/include/clang/Driver/Driver.h | 53 +- .../llvm-project/clang/include/clang/Driver/Job.h | 25 +- .../clang/include/clang/Driver/OffloadBundler.h | 89 + .../clang/include/clang/Driver/Options.td | 567 +- .../clang/include/clang/Driver/SanitizerArgs.h | 3 +- .../clang/include/clang/Driver/ToolChain.h | 50 +- .../clang/include/clang/Driver/Types.def | 6 +- .../clang/include/clang/Driver/Types.h | 3 + .../clang/include/clang/ExtractAPI/API.h | 429 +- .../include/clang/ExtractAPI/APIIgnoresList.h | 74 + .../include/clang/ExtractAPI/AvailabilityInfo.h | 57 +- .../clang/ExtractAPI/DeclarationFragments.h | 16 +- .../include/clang/ExtractAPI/ExtractAPIVisitor.h | 88 + .../include/clang/ExtractAPI/FrontendActions.h | 4 + .../ExtractAPI/Serialization/SerializerBase.h | 11 +- .../Serialization/SymbolGraphSerializer.h | 57 +- .../clang/include/clang/Format/Format.h | 2368 +- .../clang/include/clang/Frontend/ASTUnit.h | 11 +- .../include/clang/Frontend/CommandLineSourceLoc.h | 9 +- .../include/clang/Frontend/CompilerInstance.h | 6 +- .../include/clang/Frontend/CompilerInvocation.h | 21 +- .../clang/Frontend/DependencyOutputOptions.h | 10 +- .../clang/include/clang/Frontend/FrontendActions.h | 13 - .../clang/include/clang/Frontend/FrontendOptions.h | 24 +- .../clang/include/clang/Frontend/SARIFDiagnostic.h | 74 + .../clang/Frontend/SARIFDiagnosticPrinter.h | 76 + .../SerializablePathCollection.h | 1 - .../clang/Lex/DependencyDirectivesScanner.h | 5 +- .../clang/include/clang/Lex/DirectoryLookup.h | 17 +- .../clang/include/clang/Lex/HeaderMap.h | 21 +- .../clang/include/clang/Lex/HeaderSearch.h | 33 +- .../llvm-project/clang/include/clang/Lex/Lexer.h | 14 +- .../clang/include/clang/Lex/MacroInfo.h | 9 +- .../clang/include/clang/Lex/ModuleLoader.h | 5 + .../clang/include/clang/Lex/ModuleMap.h | 47 +- .../clang/include/clang/Lex/PPCallbacks.h | 38 +- .../clang/include/clang/Lex/PreprocessingRecord.h | 17 +- .../clang/include/clang/Lex/Preprocessor.h | 95 +- .../clang/include/clang/Lex/PreprocessorOptions.h | 6 +- .../llvm-project/clang/include/clang/Lex/Token.h | 9 + .../clang/include/clang/Parse/Parser.h | 246 +- .../include/clang/Parse/RAIIObjectsForParser.h | 13 + .../include/clang/Sema/CodeCompleteConsumer.h | 34 +- .../clang/include/clang/Sema/DeclSpec.h | 65 +- .../clang/include/clang/Sema/DelayedDiagnostic.h | 4 +- .../include/clang/Sema/HLSLExternalSemaSource.h | 16 +- .../clang/include/clang/Sema/Initialization.h | 12 +- .../llvm-project/clang/include/clang/Sema/Lookup.h | 4 +- .../clang/Sema/MultiplexExternalSemaSource.h | 17 +- .../clang/include/clang/Sema/Overload.h | 42 +- .../clang/include/clang/Sema/ParsedAttr.h | 29 +- .../include/clang/Sema/RISCVIntrinsicManager.h | 1 - .../llvm-project/clang/include/clang/Sema/Scope.h | 23 +- .../clang/include/clang/Sema/ScopeInfo.h | 34 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 965 +- .../clang/include/clang/Sema/SemaConcept.h | 8 +- .../clang/include/clang/Sema/SemaInternal.h | 4 +- .../clang/include/clang/Sema/SemaLambda.h | 5 +- .../clang/include/clang/Sema/Template.h | 95 +- .../clang/include/clang/Sema/TemplateDeduction.h | 38 +- .../include/clang/Serialization/ASTBitCodes.h | 26 +- .../clang/include/clang/Serialization/ASTReader.h | 103 +- .../include/clang/Serialization/ASTRecordReader.h | 2 +- .../clang/include/clang/Serialization/ASTWriter.h | 49 +- .../clang/Serialization/InMemoryModuleCache.h | 1 - .../clang/include/clang/Serialization/ModuleFile.h | 20 +- .../include/clang/Serialization/ModuleManager.h | 5 +- .../clang/Serialization/SourceLocationEncoding.h | 2 +- .../clang/StaticAnalyzer/Checkers/Checkers.td | 6 +- .../clang/StaticAnalyzer/Checkers/LocalCheckers.h | 27 - .../clang/StaticAnalyzer/Checkers/SValExplainer.h | 21 +- .../include/clang/StaticAnalyzer/Checkers/Taint.h | 36 +- .../clang/StaticAnalyzer/Core/AnalyzerOptions.def | 5 +- .../clang/StaticAnalyzer/Core/AnalyzerOptions.h | 5 +- .../StaticAnalyzer/Core/BugReporter/BugReporter.h | 22 +- .../Core/BugReporter/BugReporterVisitors.h | 11 +- .../clang/StaticAnalyzer/Core/CheckerManager.h | 2 +- .../Core/PathSensitive/BasicValueFactory.h | 12 +- .../Core/PathSensitive/CallDescription.h | 27 +- .../StaticAnalyzer/Core/PathSensitive/CallEvent.h | 33 +- .../Core/PathSensitive/CheckerContext.h | 19 +- .../Core/PathSensitive/CheckerHelpers.h | 11 +- .../Core/PathSensitive/ConstraintManager.h | 8 +- .../StaticAnalyzer/Core/PathSensitive/CoreEngine.h | 8 +- .../Core/PathSensitive/DynamicType.h | 1 - .../Core/PathSensitive/ExplodedGraph.h | 4 +- .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 86 +- .../Core/PathSensitive/FunctionSummary.h | 7 +- .../StaticAnalyzer/Core/PathSensitive/MemRegion.h | 16 +- .../Core/PathSensitive/ProgramState.h | 76 +- .../Core/PathSensitive/SMTConstraintManager.h | 11 +- .../StaticAnalyzer/Core/PathSensitive/SMTConv.h | 4 +- .../Core/PathSensitive/SValBuilder.h | 12 +- .../StaticAnalyzer/Core/PathSensitive/SVals.h | 11 +- .../StaticAnalyzer/Core/PathSensitive/Store.h | 15 +- .../Core/PathSensitive/SymbolManager.h | 18 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 170 +- .../clang/include/clang/Testing/TestAST.h | 5 + .../clang/include/clang/Tooling/ASTDiff/ASTDiff.h | 5 +- .../clang/include/clang/Tooling/AllTUsExecution.h | 3 +- .../clang/include/clang/Tooling/Core/Replacement.h | 17 +- .../DependencyScanningFilesystem.h | 21 +- .../DependencyScanning/DependencyScanningService.h | 15 +- .../DependencyScanning/DependencyScanningTool.h | 95 +- .../DependencyScanning/DependencyScanningWorker.h | 52 +- .../DependencyScanning/ModuleDepCollector.h | 115 +- .../clang/Tooling/Inclusions/HeaderAnalysis.h | 46 + .../clang/Tooling/Inclusions/HeaderIncludes.h | 37 +- .../clang/Tooling/Inclusions/StandardLibrary.h | 14 +- .../clang/Tooling/Refactoring/ASTSelection.h | 11 +- .../clang/Tooling/Refactoring/Extract/Extract.h | 12 +- .../Tooling/Refactoring/RefactoringActionRule.h | 1 - .../Refactoring/RefactoringActionRulesInternal.h | 12 +- .../Tooling/Refactoring/RefactoringOptionVisitor.h | 6 +- .../clang/Tooling/Refactoring/RefactoringOptions.h | 5 +- .../Tooling/Refactoring/Rename/SymbolOccurrences.h | 2 +- .../include/clang/Tooling/StandaloneExecution.h | 3 +- .../clang/include/clang/Tooling/Syntax/Tokens.h | 9 +- .../clang/include/clang/Tooling/Syntax/Tree.h | 2 +- .../clang/include/clang/Tooling/Tooling.h | 2 +- .../clang/Tooling/Transformer/RewriteRule.h | 9 +- .../include/clang/Tooling/Transformer/SourceCode.h | 52 +- .../clang/Tooling/Transformer/SourceCodeBuilders.h | 19 +- .../clang/Tooling/Transformer/Transformer.h | 43 +- .../clang/include/clang/module.modulemap | 5 +- .../clang/lib/APINotes/APINotesYAMLCompiler.cpp | 76 +- .../clang/lib/ARCMigrate/ARCMTActions.cpp | 4 +- .../llvm-project/clang/lib/ARCMigrate/Internals.h | 6 +- .../llvm-project/clang/lib/ARCMigrate/ObjCMT.cpp | 18 +- .../clang/lib/ARCMigrate/TransGCAttrs.cpp | 4 +- .../lib/ARCMigrate/TransRetainReleaseDealloc.cpp | 2 +- .../clang/lib/ARCMigrate/TransformActions.cpp | 2 +- contrib/llvm-project/clang/lib/AST/APValue.cpp | 10 +- contrib/llvm-project/clang/lib/AST/ASTConcept.cpp | 72 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 1683 +- .../llvm-project/clang/lib/AST/ASTDiagnostic.cpp | 39 +- contrib/llvm-project/clang/lib/AST/ASTDumper.cpp | 55 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 496 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 159 +- .../llvm-project/clang/lib/AST/AttrDocTable.cpp | 2 +- contrib/llvm-project/clang/lib/AST/AttrImpl.cpp | 41 +- .../llvm-project/clang/lib/AST/CXXInheritance.cpp | 1 - contrib/llvm-project/clang/lib/AST/Comment.cpp | 6 +- .../clang/lib/AST/CommentCommandTraits.cpp | 8 +- .../llvm-project/clang/lib/AST/CommentLexer.cpp | 2 +- .../llvm-project/clang/lib/AST/CommentParser.cpp | 31 +- contrib/llvm-project/clang/lib/AST/CommentSema.cpp | 6 +- .../clang/lib/AST/ComparisonCategories.cpp | 5 +- .../clang/lib/AST/ComputeDependence.cpp | 20 +- contrib/llvm-project/clang/lib/AST/Decl.cpp | 258 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 47 +- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 188 +- contrib/llvm-project/clang/lib/AST/DeclObjC.cpp | 100 +- contrib/llvm-project/clang/lib/AST/DeclOpenMP.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 35 +- .../llvm-project/clang/lib/AST/DeclTemplate.cpp | 191 +- .../llvm-project/clang/lib/AST/DeclarationName.cpp | 12 +- contrib/llvm-project/clang/lib/AST/Expr.cpp | 101 +- contrib/llvm-project/clang/lib/AST/ExprCXX.cpp | 148 +- .../clang/lib/AST/ExprClassification.cpp | 10 +- .../llvm-project/clang/lib/AST/ExprConcepts.cpp | 77 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 688 +- .../clang/lib/AST/ExternalASTSource.cpp | 6 +- .../llvm-project/clang/lib/AST/FormatString.cpp | 134 +- .../llvm-project/clang/lib/AST/Interp/Boolean.h | 27 +- .../clang/lib/AST/Interp/ByteCodeEmitter.cpp | 135 +- .../clang/lib/AST/Interp/ByteCodeEmitter.h | 4 +- .../clang/lib/AST/Interp/ByteCodeExprGen.cpp | 1138 +- .../clang/lib/AST/Interp/ByteCodeExprGen.h | 171 +- .../clang/lib/AST/Interp/ByteCodeGenError.h | 12 +- .../clang/lib/AST/Interp/ByteCodeStmtGen.cpp | 203 +- .../clang/lib/AST/Interp/ByteCodeStmtGen.h | 16 +- .../llvm-project/clang/lib/AST/Interp/Context.cpp | 39 +- .../llvm-project/clang/lib/AST/Interp/Context.h | 6 +- .../clang/lib/AST/Interp/Descriptor.cpp | 93 +- .../llvm-project/clang/lib/AST/Interp/Descriptor.h | 92 +- .../llvm-project/clang/lib/AST/Interp/Disasm.cpp | 28 +- .../clang/lib/AST/Interp/EvalEmitter.cpp | 29 +- .../clang/lib/AST/Interp/EvalEmitter.h | 12 +- .../llvm-project/clang/lib/AST/Interp/Function.cpp | 15 +- .../llvm-project/clang/lib/AST/Interp/Function.h | 74 +- .../llvm-project/clang/lib/AST/Interp/Integral.h | 126 +- .../llvm-project/clang/lib/AST/Interp/Interp.cpp | 93 +- contrib/llvm-project/clang/lib/AST/Interp/Interp.h | 547 +- .../clang/lib/AST/Interp/InterpBlock.h | 53 +- .../clang/lib/AST/Interp/InterpFrame.cpp | 90 +- .../clang/lib/AST/Interp/InterpFrame.h | 42 +- .../clang/lib/AST/Interp/InterpStack.cpp | 2 +- .../clang/lib/AST/Interp/InterpStack.h | 67 +- .../clang/lib/AST/Interp/InterpState.h | 3 +- .../llvm-project/clang/lib/AST/Interp/Opcodes.td | 118 +- .../llvm-project/clang/lib/AST/Interp/Pointer.cpp | 26 +- .../llvm-project/clang/lib/AST/Interp/Pointer.h | 49 +- .../llvm-project/clang/lib/AST/Interp/PrimType.cpp | 4 +- .../llvm-project/clang/lib/AST/Interp/PrimType.h | 14 +- .../llvm-project/clang/lib/AST/Interp/Program.cpp | 123 +- .../llvm-project/clang/lib/AST/Interp/Program.h | 54 +- contrib/llvm-project/clang/lib/AST/Interp/Record.h | 22 +- .../llvm-project/clang/lib/AST/Interp/Source.cpp | 4 +- contrib/llvm-project/clang/lib/AST/Interp/Source.h | 16 +- contrib/llvm-project/clang/lib/AST/Interp/State.h | 5 + .../llvm-project/clang/lib/AST/ItaniumCXXABI.cpp | 17 +- .../llvm-project/clang/lib/AST/ItaniumMangle.cpp | 101 +- .../llvm-project/clang/lib/AST/JSONNodeDumper.cpp | 40 +- contrib/llvm-project/clang/lib/AST/Linkage.h | 8 +- contrib/llvm-project/clang/lib/AST/Mangle.cpp | 8 +- .../llvm-project/clang/lib/AST/MicrosoftCXXABI.cpp | 4 +- .../llvm-project/clang/lib/AST/MicrosoftMangle.cpp | 51 +- contrib/llvm-project/clang/lib/AST/NSAPI.cpp | 25 +- .../clang/lib/AST/NestedNameSpecifier.cpp | 4 +- .../llvm-project/clang/lib/AST/ODRDiagsEmitter.cpp | 2206 + contrib/llvm-project/clang/lib/AST/ODRHash.cpp | 186 +- contrib/llvm-project/clang/lib/AST/OSLog.cpp | 11 +- .../llvm-project/clang/lib/AST/OpenMPClause.cpp | 109 +- contrib/llvm-project/clang/lib/AST/ParentMap.cpp | 4 +- .../clang/lib/AST/ParentMapContext.cpp | 23 +- .../clang/lib/AST/PrintfFormatString.cpp | 37 +- .../llvm-project/clang/lib/AST/QualTypeNames.cpp | 23 +- .../clang/lib/AST/RecordLayoutBuilder.cpp | 69 +- .../clang/lib/AST/ScanfFormatString.cpp | 8 +- contrib/llvm-project/clang/lib/AST/Stmt.cpp | 11 +- contrib/llvm-project/clang/lib/AST/StmtOpenMP.cpp | 21 +- contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp | 24 +- contrib/llvm-project/clang/lib/AST/StmtProfile.cpp | 28 +- .../llvm-project/clang/lib/AST/TemplateBase.cpp | 32 +- .../llvm-project/clang/lib/AST/TemplateName.cpp | 65 +- .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 36 +- contrib/llvm-project/clang/lib/AST/Type.cpp | 276 +- contrib/llvm-project/clang/lib/AST/TypeLoc.cpp | 40 +- contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 294 +- .../llvm-project/clang/lib/AST/VTableBuilder.cpp | 5 +- .../clang/lib/ASTMatchers/ASTMatchFinder.cpp | 14 +- .../clang/lib/ASTMatchers/ASTMatchersInternal.cpp | 17 +- .../clang/lib/ASTMatchers/Dynamic/Marshallers.cpp | 61 +- .../clang/lib/ASTMatchers/Dynamic/Marshallers.h | 74 +- .../clang/lib/ASTMatchers/Dynamic/Parser.cpp | 23 +- .../clang/lib/ASTMatchers/Dynamic/Registry.cpp | 14 +- .../clang/lib/ASTMatchers/Dynamic/VariantValue.cpp | 33 +- .../clang/lib/Analysis/AnalysisDeclContext.cpp | 9 +- .../llvm-project/clang/lib/Analysis/BodyFarm.cpp | 13 +- contrib/llvm-project/clang/lib/Analysis/CFG.cpp | 210 +- .../llvm-project/clang/lib/Analysis/CFGStmtMap.cpp | 3 +- .../clang/lib/Analysis/CalledOnceCheck.cpp | 60 +- .../llvm-project/clang/lib/Analysis/Consumed.cpp | 6 +- .../Analysis/FlowSensitive/ControlFlowContext.cpp | 8 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 58 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 472 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 35 +- .../FlowSensitive/Models/ChromiumCheckModel.cpp | 6 +- .../Models/UncheckedOptionalAccessModel.cpp | 367 +- .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 288 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 340 +- .../clang/lib/Analysis/FlowSensitive/Value.cpp | 56 + .../FlowSensitive/WatchedLiteralsSolver.cpp | 5 + .../llvm-project/clang/lib/Analysis/IssueHash.cpp | 5 +- .../clang/lib/Analysis/LiveVariables.cpp | 3 +- .../clang/lib/Analysis/MacroExpansionContext.cpp | 15 +- .../clang/lib/Analysis/PathDiagnostic.cpp | 72 +- .../clang/lib/Analysis/ReachableCode.cpp | 17 +- .../clang/lib/Analysis/RetainSummaryManager.cpp | 39 +- .../clang/lib/Analysis/ThreadSafety.cpp | 231 +- .../clang/lib/Analysis/ThreadSafetyCommon.cpp | 48 +- .../clang/lib/Analysis/UninitializedValues.cpp | 23 +- .../clang/lib/Analysis/UnsafeBufferUsage.cpp | 695 + .../llvm-project/clang/lib/Basic/Attributes.cpp | 1 - .../clang/lib/Basic/BuiltinTargetFeatures.h | 2 +- contrib/llvm-project/clang/lib/Basic/Builtins.cpp | 95 +- .../llvm-project/clang/lib/Basic/CLWarnings.cpp | 3 +- contrib/llvm-project/clang/lib/Basic/Cuda.cpp | 153 +- .../llvm-project/clang/lib/Basic/DarwinSDKInfo.cpp | 40 +- .../llvm-project/clang/lib/Basic/DiagnosticIDs.cpp | 17 +- .../clang/lib/Basic/DiagnosticOptions.cpp | 2 +- .../llvm-project/clang/lib/Basic/FileManager.cpp | 40 +- .../clang/lib/Basic/IdentifierTable.cpp | 217 +- .../llvm-project/clang/lib/Basic/LangStandards.cpp | 14 +- contrib/llvm-project/clang/lib/Basic/Module.cpp | 28 +- .../llvm-project/clang/lib/Basic/OpenMPKinds.cpp | 96 +- .../llvm-project/clang/lib/Basic/ProfileList.cpp | 58 +- .../clang/lib/Basic/SanitizerSpecialCaseList.cpp | 2 +- .../llvm-project/clang/lib/Basic/Sanitizers.cpp | 2 +- contrib/llvm-project/clang/lib/Basic/Sarif.cpp | 65 +- .../clang/lib/Basic/SourceLocation.cpp | 8 +- .../llvm-project/clang/lib/Basic/SourceManager.cpp | 373 +- contrib/llvm-project/clang/lib/Basic/Stack.cpp | 1 - contrib/llvm-project/clang/lib/Basic/TargetID.cpp | 42 +- .../llvm-project/clang/lib/Basic/TargetInfo.cpp | 94 +- contrib/llvm-project/clang/lib/Basic/Targets.cpp | 22 +- .../clang/lib/Basic/Targets/AArch64.cpp | 668 +- .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 107 +- .../clang/lib/Basic/Targets/AMDGPU.cpp | 99 +- .../llvm-project/clang/lib/Basic/Targets/AMDGPU.h | 28 +- contrib/llvm-project/clang/lib/Basic/Targets/ARC.h | 8 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 57 +- contrib/llvm-project/clang/lib/Basic/Targets/ARM.h | 6 +- .../llvm-project/clang/lib/Basic/Targets/AVR.cpp | 746 +- contrib/llvm-project/clang/lib/Basic/Targets/AVR.h | 14 +- .../llvm-project/clang/lib/Basic/Targets/BPF.cpp | 8 +- contrib/llvm-project/clang/lib/Basic/Targets/BPF.h | 7 +- .../llvm-project/clang/lib/Basic/Targets/CSKY.cpp | 4 +- .../llvm-project/clang/lib/Basic/Targets/DirectX.h | 15 +- .../clang/lib/Basic/Targets/Hexagon.cpp | 32 +- .../llvm-project/clang/lib/Basic/Targets/Hexagon.h | 1 - .../llvm-project/clang/lib/Basic/Targets/Lanai.cpp | 4 +- .../llvm-project/clang/lib/Basic/Targets/Lanai.h | 4 +- .../llvm-project/clang/lib/Basic/Targets/Le64.h | 6 +- .../clang/lib/Basic/Targets/LoongArch.cpp | 217 + .../clang/lib/Basic/Targets/LoongArch.h | 136 + .../llvm-project/clang/lib/Basic/Targets/M68k.cpp | 17 +- .../llvm-project/clang/lib/Basic/Targets/M68k.h | 3 +- .../clang/lib/Basic/Targets/MSP430.cpp | 2 +- .../llvm-project/clang/lib/Basic/Targets/MSP430.h | 4 +- .../llvm-project/clang/lib/Basic/Targets/Mips.cpp | 24 +- .../llvm-project/clang/lib/Basic/Targets/Mips.h | 7 +- .../llvm-project/clang/lib/Basic/Targets/NVPTX.cpp | 53 +- .../llvm-project/clang/lib/Basic/Targets/NVPTX.h | 19 +- .../clang/lib/Basic/Targets/OSTargets.cpp | 132 +- .../clang/lib/Basic/Targets/OSTargets.h | 60 +- .../llvm-project/clang/lib/Basic/Targets/PNaCl.cpp | 6 +- .../llvm-project/clang/lib/Basic/Targets/PNaCl.h | 4 +- .../llvm-project/clang/lib/Basic/Targets/PPC.cpp | 17 +- contrib/llvm-project/clang/lib/Basic/Targets/PPC.h | 5 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 110 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.h | 22 +- .../llvm-project/clang/lib/Basic/Targets/SPIR.h | 19 +- .../llvm-project/clang/lib/Basic/Targets/Sparc.cpp | 4 +- .../llvm-project/clang/lib/Basic/Targets/Sparc.h | 2 +- .../clang/lib/Basic/Targets/SystemZ.cpp | 16 +- .../llvm-project/clang/lib/Basic/Targets/SystemZ.h | 24 +- contrib/llvm-project/clang/lib/Basic/Targets/TCE.h | 11 +- .../llvm-project/clang/lib/Basic/Targets/VE.cpp | 13 +- contrib/llvm-project/clang/lib/Basic/Targets/VE.h | 5 +- .../clang/lib/Basic/Targets/WebAssembly.cpp | 26 +- .../clang/lib/Basic/Targets/WebAssembly.h | 5 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 151 +- contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 30 +- .../llvm-project/clang/lib/Basic/Targets/XCore.cpp | 10 +- .../llvm-project/clang/lib/Basic/Targets/XCore.h | 5 +- .../llvm-project/clang/lib/Basic/TypeTraits.cpp | 14 + contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 46 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 249 +- .../llvm-project/clang/lib/CodeGen/CGAtomic.cpp | 40 +- .../llvm-project/clang/lib/CodeGen/CGBlocks.cpp | 22 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 1789 +- .../llvm-project/clang/lib/CodeGen/CGCUDANV.cpp | 71 +- .../llvm-project/clang/lib/CodeGen/CGCUDARuntime.h | 2 +- contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h | 12 +- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 251 +- contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 94 +- .../llvm-project/clang/lib/CodeGen/CGCleanup.cpp | 10 +- .../llvm-project/clang/lib/CodeGen/CGCoroutine.cpp | 20 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp | 381 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.h | 29 +- contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 89 +- .../llvm-project/clang/lib/CodeGen/CGException.cpp | 17 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 195 +- .../llvm-project/clang/lib/CodeGen/CGExprAgg.cpp | 108 +- .../llvm-project/clang/lib/CodeGen/CGExprCXX.cpp | 2 +- .../clang/lib/CodeGen/CGExprComplex.cpp | 257 +- .../clang/lib/CodeGen/CGExprConstant.cpp | 60 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 316 +- .../clang/lib/CodeGen/CGGPUBuiltin.cpp | 2 +- .../clang/lib/CodeGen/CGHLSLRuntime.cpp | 413 +- .../llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h | 67 + .../llvm-project/clang/lib/CodeGen/CGLoopInfo.cpp | 17 +- contrib/llvm-project/clang/lib/CodeGen/CGObjC.cpp | 172 +- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 17 +- .../llvm-project/clang/lib/CodeGen/CGObjCMac.cpp | 56 +- .../clang/lib/CodeGen/CGObjCRuntime.cpp | 28 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 1695 +- .../clang/lib/CodeGen/CGOpenMPRuntime.h | 319 +- .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp | 431 +- .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.h | 31 +- .../clang/lib/CodeGen/CGRecordLayoutBuilder.cpp | 2 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 57 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 244 +- contrib/llvm-project/clang/lib/CodeGen/CGVTT.cpp | 2 +- .../llvm-project/clang/lib/CodeGen/CGVTables.cpp | 58 +- contrib/llvm-project/clang/lib/CodeGen/CGVTables.h | 7 + .../clang/lib/CodeGen/CodeGenAction.cpp | 41 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 185 +- .../clang/lib/CodeGen/CodeGenFunction.h | 64 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 498 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 54 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 13 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.h | 7 +- .../llvm-project/clang/lib/CodeGen/CodeGenTBAA.cpp | 2 +- .../clang/lib/CodeGen/CodeGenTypeCache.h | 3 + .../clang/lib/CodeGen/CodeGenTypes.cpp | 28 +- .../llvm-project/clang/lib/CodeGen/CodeGenTypes.h | 3 +- .../clang/lib/CodeGen/ConstantEmitter.h | 3 + .../clang/lib/CodeGen/ConstantInitBuilder.cpp | 11 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 84 +- .../clang/lib/CodeGen/ItaniumCXXABI.cpp | 201 +- .../clang/lib/CodeGen/MacroPPCallbacks.cpp | 4 +- .../clang/lib/CodeGen/MacroPPCallbacks.h | 2 +- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 89 +- .../clang/lib/CodeGen/ModuleBuilder.cpp | 1 + .../CodeGen/ObjectFilePCHContainerOperations.cpp | 4 +- .../llvm-project/clang/lib/CodeGen/PatternInit.cpp | 4 +- .../clang/lib/CodeGen/SanitizerMetadata.cpp | 2 +- .../clang/lib/CodeGen/SwiftCallingConv.cpp | 36 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 1036 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.h | 13 + .../clang/lib/CodeGen/VarBypassDetector.cpp | 2 +- .../clang/lib/CrossTU/CrossTranslationUnit.cpp | 14 +- .../lib/DirectoryWatcher/DirectoryScanner.cpp | 5 +- .../clang/lib/DirectoryWatcher/DirectoryScanner.h | 5 +- .../linux/DirectoryWatcher-linux.cpp | 5 +- .../DirectoryWatcher/mac/DirectoryWatcher-mac.cpp | 2 +- contrib/llvm-project/clang/lib/Driver/Action.cpp | 37 +- .../llvm-project/clang/lib/Driver/Compilation.cpp | 13 +- contrib/llvm-project/clang/lib/Driver/Distro.cpp | 1 + contrib/llvm-project/clang/lib/Driver/Driver.cpp | 1199 +- .../clang/lib/Driver/DriverOptions.cpp | 39 +- contrib/llvm-project/clang/lib/Driver/Job.cpp | 31 +- .../clang/lib/Driver/OffloadBundler.cpp | 1283 + .../clang/lib/Driver/SanitizerArgs.cpp | 129 +- .../llvm-project/clang/lib/Driver/ToolChain.cpp | 111 +- .../clang/lib/Driver/ToolChains/AIX.cpp | 100 + .../llvm-project/clang/lib/Driver/ToolChains/AIX.h | 4 + .../clang/lib/Driver/ToolChains/AMDGPU.cpp | 229 +- .../clang/lib/Driver/ToolChains/AMDGPU.h | 18 +- .../clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | 281 +- .../clang/lib/Driver/ToolChains/AMDGPUOpenMP.h | 49 +- .../clang/lib/Driver/ToolChains/AVR.cpp | 81 +- .../llvm-project/clang/lib/Driver/ToolChains/AVR.h | 4 +- .../clang/lib/Driver/ToolChains/Arch/AArch64.cpp | 79 +- .../clang/lib/Driver/ToolChains/Arch/ARM.cpp | 26 +- .../clang/lib/Driver/ToolChains/Arch/CSKY.cpp | 15 +- .../clang/lib/Driver/ToolChains/Arch/CSKY.h | 6 +- .../clang/lib/Driver/ToolChains/Arch/LoongArch.cpp | 115 + .../clang/lib/Driver/ToolChains/Arch/LoongArch.h | 31 + .../clang/lib/Driver/ToolChains/Arch/Mips.cpp | 4 +- .../clang/lib/Driver/ToolChains/Arch/PPC.cpp | 62 +- .../clang/lib/Driver/ToolChains/Arch/PPC.h | 3 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 63 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.h | 2 + .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp | 53 +- .../clang/lib/Driver/ToolChains/Arch/VE.cpp | 1 - .../clang/lib/Driver/ToolChains/Arch/X86.cpp | 6 +- .../clang/lib/Driver/ToolChains/BareMetal.cpp | 64 +- .../clang/lib/Driver/ToolChains/BareMetal.h | 23 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 942 +- .../clang/lib/Driver/ToolChains/Clang.h | 15 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 617 +- .../clang/lib/Driver/ToolChains/CommonArgs.h | 26 +- .../clang/lib/Driver/ToolChains/CrossWindows.cpp | 5 +- .../clang/lib/Driver/ToolChains/CrossWindows.h | 3 +- .../clang/lib/Driver/ToolChains/Cuda.cpp | 359 +- .../clang/lib/Driver/ToolChains/Cuda.h | 129 +- .../clang/lib/Driver/ToolChains/Darwin.cpp | 363 +- .../clang/lib/Driver/ToolChains/Darwin.h | 22 +- .../clang/lib/Driver/ToolChains/Flang.cpp | 202 +- .../clang/lib/Driver/ToolChains/Flang.h | 23 +- .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 40 +- .../clang/lib/Driver/ToolChains/FreeBSD.h | 6 +- .../clang/lib/Driver/ToolChains/Fuchsia.cpp | 6 +- .../clang/lib/Driver/ToolChains/Fuchsia.h | 5 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 96 +- .../llvm-project/clang/lib/Driver/ToolChains/Gnu.h | 9 +- .../clang/lib/Driver/ToolChains/HIPAMD.cpp | 27 +- .../clang/lib/Driver/ToolChains/HIPAMD.h | 2 +- .../clang/lib/Driver/ToolChains/HIPSPV.cpp | 6 +- .../clang/lib/Driver/ToolChains/HIPSPV.h | 2 +- .../clang/lib/Driver/ToolChains/HLSL.cpp | 45 +- .../clang/lib/Driver/ToolChains/HLSL.h | 3 +- .../clang/lib/Driver/ToolChains/Hexagon.cpp | 27 +- .../clang/lib/Driver/ToolChains/Hexagon.h | 4 +- .../clang/lib/Driver/ToolChains/Linux.cpp | 67 +- .../clang/lib/Driver/ToolChains/Linux.h | 2 + .../clang/lib/Driver/ToolChains/MSP430.cpp | 2 +- .../clang/lib/Driver/ToolChains/MSVC.cpp | 15 +- .../clang/lib/Driver/ToolChains/MSVC.h | 5 +- .../clang/lib/Driver/ToolChains/MinGW.cpp | 157 +- .../clang/lib/Driver/ToolChains/MinGW.h | 10 +- .../clang/lib/Driver/ToolChains/Myriad.cpp | 2 +- .../clang/lib/Driver/ToolChains/NetBSD.cpp | 35 + .../clang/lib/Driver/ToolChains/NetBSD.h | 8 +- .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 15 +- .../clang/lib/Driver/ToolChains/OpenBSD.h | 3 +- .../clang/lib/Driver/ToolChains/PPCLinux.cpp | 22 +- .../clang/lib/Driver/ToolChains/PPCLinux.h | 2 + .../clang/lib/Driver/ToolChains/PS4CPU.cpp | 43 + .../clang/lib/Driver/ToolChains/ROCm.h | 12 +- .../clang/lib/Driver/ToolChains/Solaris.cpp | 2 + .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 4 +- contrib/llvm-project/clang/lib/Driver/Types.cpp | 129 +- contrib/llvm-project/clang/lib/Driver/XRayArgs.cpp | 3 +- .../clang/lib/Edit/RewriteObjCFoundationAPI.cpp | 19 +- contrib/llvm-project/clang/lib/ExtractAPI/API.cpp | 225 +- .../clang/lib/ExtractAPI/APIIgnoresList.cpp | 53 + .../clang/lib/ExtractAPI/AvailabilityInfo.cpp | 50 + .../clang/lib/ExtractAPI/DeclarationFragments.cpp | 34 +- .../clang/lib/ExtractAPI/ExtractAPIConsumer.cpp | 612 +- .../clang/lib/ExtractAPI/ExtractAPIVisitor.cpp | 560 + .../Serialization/SymbolGraphSerializer.cpp | 379 +- .../ExtractAPI/TypedefUnderlyingTypeResolver.cpp | 7 +- .../lib/ExtractAPI/TypedefUnderlyingTypeResolver.h | 2 + .../clang/lib/Format/BreakableToken.cpp | 8 +- .../clang/lib/Format/ContinuationIndenter.cpp | 95 +- .../clang/lib/Format/ContinuationIndenter.h | 9 +- .../clang/lib/Format/DefinitionBlockSeparator.cpp | 6 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 1294 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 3 +- .../llvm-project/clang/lib/Format/FormatToken.h | 92 +- .../clang/lib/Format/FormatTokenLexer.cpp | 184 +- .../clang/lib/Format/FormatTokenLexer.h | 7 + .../lib/Format/IntegerLiteralSeparatorFixer.cpp | 199 + .../lib/Format/IntegerLiteralSeparatorFixer.h | 38 + .../clang/lib/Format/MacroCallReconstructor.cpp | 23 +- .../clang/lib/Format/QualifierAlignmentFixer.cpp | 4 +- .../clang/lib/Format/TokenAnalyzer.cpp | 6 +- .../llvm-project/clang/lib/Format/TokenAnalyzer.h | 3 +- .../clang/lib/Format/TokenAnnotator.cpp | 430 +- .../llvm-project/clang/lib/Format/TokenAnnotator.h | 15 + .../clang/lib/Format/UnwrappedLineFormatter.cpp | 50 +- .../clang/lib/Format/UnwrappedLineFormatter.h | 2 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 598 +- .../clang/lib/Format/UnwrappedLineParser.h | 30 +- .../clang/lib/Format/UsingDeclarationsSorter.cpp | 57 +- .../clang/lib/Format/WhitespaceManager.cpp | 57 +- .../clang/lib/Format/WhitespaceManager.h | 2 +- .../llvm-project/clang/lib/Frontend/ASTUnit.cpp | 49 +- .../clang/lib/Frontend/ChainedIncludesSource.cpp | 39 +- .../clang/lib/Frontend/CompilerInstance.cpp | 98 +- .../clang/lib/Frontend/CompilerInvocation.cpp | 311 +- .../clang/lib/Frontend/DependencyFile.cpp | 30 +- .../clang/lib/Frontend/DependencyGraph.cpp | 16 +- .../clang/lib/Frontend/DiagnosticRenderer.cpp | 5 +- .../clang/lib/Frontend/FrontendAction.cpp | 57 +- .../clang/lib/Frontend/FrontendActions.cpp | 104 +- .../clang/lib/Frontend/FrontendOptions.cpp | 1 + .../clang/lib/Frontend/HeaderIncludeGen.cpp | 137 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 64 +- .../lib/Frontend/ModuleDependencyCollector.cpp | 15 +- .../clang/lib/Frontend/PrecompiledPreamble.cpp | 4 +- .../clang/lib/Frontend/PrintPreprocessedOutput.cpp | 16 +- .../lib/Frontend/Rewrite/InclusionRewriter.cpp | 48 +- .../lib/Frontend/Rewrite/RewriteModernObjC.cpp | 10 +- .../clang/lib/Frontend/SARIFDiagnostic.cpp | 225 + .../clang/lib/Frontend/SARIFDiagnosticPrinter.cpp | 83 + .../lib/Frontend/SerializedDiagnosticReader.cpp | 8 +- .../clang/lib/Frontend/TextDiagnostic.cpp | 11 +- .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 2 +- .../lib/FrontendTool/ExecuteCompilerInvocation.cpp | 2 - .../lib/Headers/__clang_cuda_texture_intrinsics.h | 2 + .../lib/Headers/__clang_hip_libdevice_declares.h | 5 + .../clang/lib/Headers/__clang_hip_math.h | 23 +- .../lib/Headers/__clang_hip_runtime_wrapper.h | 1 + .../clang/lib/Headers/__clang_hip_stdlib.h | 43 + contrib/llvm-project/clang/lib/Headers/altivec.h | 28 +- .../llvm-project/clang/lib/Headers/amxfp16intrin.h | 58 + contrib/llvm-project/clang/lib/Headers/amxintrin.h | 32 + contrib/llvm-project/clang/lib/Headers/arm_acle.h | 151 +- .../clang/lib/Headers/arm_neon_sve_bridge.h | 2 - .../clang/lib/Headers/avx512bf16intrin.h | 33 +- .../llvm-project/clang/lib/Headers/avx512fintrin.h | 4 +- .../clang/lib/Headers/avx512fp16intrin.h | 15 +- .../clang/lib/Headers/avx512ifmavlintrin.h | 40 +- .../clang/lib/Headers/avx512vlbf16intrin.h | 69 +- .../clang/lib/Headers/avx512vlbwintrin.h | 352 + .../clang/lib/Headers/avx512vlfp16intrin.h | 3 + .../llvm-project/clang/lib/Headers/avxifmaintrin.h | 177 + contrib/llvm-project/clang/lib/Headers/avxintrin.h | 14 +- .../clang/lib/Headers/avxneconvertintrin.h | 484 + .../clang/lib/Headers/avxvnniint8intrin.h | 471 + .../clang/lib/Headers/cmpccxaddintrin.h | 70 + contrib/llvm-project/clang/lib/Headers/cpuid.h | 12 +- .../clang/lib/Headers/cuda_wrappers/cmath | 90 + contrib/llvm-project/clang/lib/Headers/emmintrin.h | 12 +- contrib/llvm-project/clang/lib/Headers/float.h | 27 +- .../llvm-project/clang/lib/Headers/gfniintrin.h | 12 +- .../clang/lib/Headers/hlsl/hlsl_basic_types.h | 3 + .../clang/lib/Headers/hlsl/hlsl_intrinsics.h | 208 + contrib/llvm-project/clang/lib/Headers/immintrin.h | 48 +- .../llvm-project/clang/lib/Headers/larchintrin.h | 234 + contrib/llvm-project/clang/lib/Headers/limits.h | 5 +- .../llvm-project/clang/lib/Headers/opencl-c-base.h | 19 + contrib/llvm-project/clang/lib/Headers/opencl-c.h | 320 +- .../clang/lib/Headers/openmp_wrappers/stdlib.h | 29 + .../clang/lib/Headers/ppc_wrappers/emmintrin.h | 4 +- .../clang/lib/Headers/ppc_wrappers/mm_malloc.h | 2 +- .../clang/lib/Headers/ppc_wrappers/mmintrin.h | 4 +- .../clang/lib/Headers/ppc_wrappers/pmmintrin.h | 4 +- .../clang/lib/Headers/ppc_wrappers/smmintrin.h | 4 +- .../clang/lib/Headers/ppc_wrappers/tmmintrin.h | 4 +- .../clang/lib/Headers/ppc_wrappers/xmmintrin.h | 4 +- .../llvm-project/clang/lib/Headers/prfchiintrin.h | 61 + .../llvm-project/clang/lib/Headers/raointintrin.h | 203 + contrib/llvm-project/clang/lib/Headers/smmintrin.h | 2 +- contrib/llvm-project/clang/lib/Headers/stdarg.h | 30 +- contrib/llvm-project/clang/lib/Headers/stdatomic.h | 9 +- contrib/llvm-project/clang/lib/Headers/stdbool.h | 4 +- contrib/llvm-project/clang/lib/Headers/stddef.h | 9 +- contrib/llvm-project/clang/lib/Headers/stdint.h | 198 +- .../llvm-project/clang/lib/Headers/stdnoreturn.h | 2 +- contrib/llvm-project/clang/lib/Headers/unwind.h | 3 +- contrib/llvm-project/clang/lib/Headers/velintrin.h | 2 +- .../llvm-project/clang/lib/Headers/x86gprintrin.h | 26 +- contrib/llvm-project/clang/lib/Headers/xmmintrin.h | 3 +- .../clang/lib/Index/FileIndexRecord.cpp | 12 +- contrib/llvm-project/clang/lib/Index/IndexBody.cpp | 2 +- .../llvm-project/clang/lib/Index/IndexingContext.h | 14 +- .../llvm-project/clang/lib/Index/USRGeneration.cpp | 148 +- .../clang/lib/Interpreter/IncrementalExecutor.cpp | 6 + .../clang/lib/Interpreter/IncrementalExecutor.h | 1 + .../clang/lib/Interpreter/IncrementalParser.cpp | 18 +- .../clang/lib/Interpreter/Interpreter.cpp | 26 +- .../clang/lib/Lex/DependencyDirectivesScanner.cpp | 94 +- contrib/llvm-project/clang/lib/Lex/HeaderMap.cpp | 21 +- .../llvm-project/clang/lib/Lex/HeaderSearch.cpp | 220 +- .../clang/lib/Lex/InitHeaderSearch.cpp | 146 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 283 +- .../llvm-project/clang/lib/Lex/LiteralSupport.cpp | 36 +- contrib/llvm-project/clang/lib/Lex/MacroArgs.cpp | 6 +- contrib/llvm-project/clang/lib/Lex/MacroInfo.cpp | 12 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 192 +- contrib/llvm-project/clang/lib/Lex/PPCallbacks.cpp | 5 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 119 +- .../llvm-project/clang/lib/Lex/PPExpressions.cpp | 2 +- .../llvm-project/clang/lib/Lex/PPLexerChange.cpp | 7 +- .../clang/lib/Lex/PPMacroExpansion.cpp | 89 +- contrib/llvm-project/clang/lib/Lex/Pragma.cpp | 33 +- .../clang/lib/Lex/PreprocessingRecord.cpp | 23 +- .../llvm-project/clang/lib/Lex/Preprocessor.cpp | 98 +- .../clang/lib/Lex/TokenConcatenation.cpp | 2 +- contrib/llvm-project/clang/lib/Lex/TokenLexer.cpp | 114 +- .../llvm-project/clang/lib/Lex/UnicodeCharSets.h | 305 +- contrib/llvm-project/clang/lib/Parse/ParseAST.cpp | 14 +- .../clang/lib/Parse/ParseCXXInlineMethods.cpp | 13 +- contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 414 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 253 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 166 +- .../llvm-project/clang/lib/Parse/ParseExprCXX.cpp | 198 +- contrib/llvm-project/clang/lib/Parse/ParseHLSL.cpp | 168 +- contrib/llvm-project/clang/lib/Parse/ParseInit.cpp | 4 +- contrib/llvm-project/clang/lib/Parse/ParseObjc.cpp | 91 +- .../llvm-project/clang/lib/Parse/ParseOpenMP.cpp | 491 +- .../llvm-project/clang/lib/Parse/ParsePragma.cpp | 108 +- contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp | 134 +- .../llvm-project/clang/lib/Parse/ParseTemplate.cpp | 55 +- .../clang/lib/Parse/ParseTentative.cpp | 183 +- contrib/llvm-project/clang/lib/Parse/Parser.cpp | 161 +- .../llvm-project/clang/lib/Rewrite/HTMLRewrite.cpp | 4 +- .../clang/lib/Sema/AnalysisBasedWarnings.cpp | 108 +- .../clang/lib/Sema/CodeCompleteConsumer.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/DeclSpec.cpp | 25 +- .../clang/lib/Sema/HLSLExternalSemaSource.cpp | 425 +- .../clang/lib/Sema/IdentifierResolver.cpp | 8 +- .../clang/lib/Sema/JumpDiagnostics.cpp | 2 +- .../clang/lib/Sema/MultiplexExternalSemaSource.cpp | 24 +- .../llvm-project/clang/lib/Sema/OpenCLBuiltins.td | 1 + contrib/llvm-project/clang/lib/Sema/ParsedAttr.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/Scope.cpp | 9 +- contrib/llvm-project/clang/lib/Sema/ScopeInfo.cpp | 9 +- contrib/llvm-project/clang/lib/Sema/Sema.cpp | 135 +- contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp | 2 + contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp | 24 +- .../clang/lib/Sema/SemaAvailability.cpp | 31 +- contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 18 +- .../clang/lib/Sema/SemaCXXScopeSpec.cpp | 7 +- contrib/llvm-project/clang/lib/Sema/SemaCast.cpp | 86 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 938 +- .../clang/lib/Sema/SemaCodeComplete.cpp | 161 +- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 692 +- .../llvm-project/clang/lib/Sema/SemaCoroutine.cpp | 244 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 1145 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 454 +- .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp | 804 +- .../llvm-project/clang/lib/Sema/SemaDeclObjC.cpp | 108 +- .../clang/lib/Sema/SemaExceptionSpec.cpp | 5 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 1126 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 399 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 29 +- .../llvm-project/clang/lib/Sema/SemaExprObjC.cpp | 114 +- .../llvm-project/clang/lib/Sema/SemaFixItUtils.cpp | 6 +- contrib/llvm-project/clang/lib/Sema/SemaHLSL.cpp | 34 + contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 394 +- contrib/llvm-project/clang/lib/Sema/SemaLambda.cpp | 222 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 111 +- contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 115 +- .../clang/lib/Sema/SemaObjCProperty.cpp | 19 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 916 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 601 +- .../clang/lib/Sema/SemaPseudoObject.cpp | 10 +- .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 106 +- contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 166 +- .../llvm-project/clang/lib/Sema/SemaStmtAsm.cpp | 31 +- .../llvm-project/clang/lib/Sema/SemaStmtAttr.cpp | 51 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 1253 +- .../clang/lib/Sema/SemaTemplateDeduction.cpp | 1170 +- .../clang/lib/Sema/SemaTemplateInstantiate.cpp | 1000 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 406 +- .../clang/lib/Sema/SemaTemplateVariadic.cpp | 286 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 704 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 729 +- .../llvm-project/clang/lib/Sema/TypeLocBuilder.cpp | 29 +- .../llvm-project/clang/lib/Sema/TypeLocBuilder.h | 12 +- .../llvm-project/clang/lib/Sema/UsedDeclVisitor.h | 17 + .../clang/lib/Serialization/ASTCommon.cpp | 7 +- .../clang/lib/Serialization/ASTReader.cpp | 2217 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 386 +- .../clang/lib/Serialization/ASTReaderStmt.cpp | 88 +- .../clang/lib/Serialization/ASTWriter.cpp | 500 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 181 +- .../clang/lib/Serialization/ASTWriterStmt.cpp | 63 +- .../clang/lib/Serialization/ModuleManager.cpp | 21 +- .../Checkers/AnalyzerStatsChecker.cpp | 5 +- .../Checkers/ArrayBoundCheckerV2.cpp | 9 +- .../Checkers/BasicObjCFoundationChecks.cpp | 46 +- .../Checkers/BlockInCriticalSectionChecker.cpp | 22 +- .../Checkers/BoolAssignmentChecker.cpp | 3 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 211 +- .../StaticAnalyzer/Checkers/CastValueChecker.cpp | 4 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/ChrootChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ContainerModeling.cpp | 28 +- .../StaticAnalyzer/Checkers/DeadStoresChecker.cpp | 35 +- .../Checkers/DebugContainerModeling.cpp | 4 +- .../Checkers/DebugIteratorModeling.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 3 +- .../Checkers/DynamicTypePropagation.cpp | 5 +- .../Checkers/EnumCastOutOfRangeChecker.cpp | 3 +- .../lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp | 11 +- .../lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp | 76 +- .../lib/StaticAnalyzer/Checkers/ErrnoModeling.h | 62 +- .../StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp | 13 +- .../Checkers/ExprInspectionChecker.cpp | 72 +- .../Checkers/FuchsiaHandleChecker.cpp | 3 +- .../lib/StaticAnalyzer/Checkers/GTestChecker.cpp | 3 +- .../Checkers/GenericTaintChecker.cpp | 315 +- .../Checkers/IvarInvalidationChecker.cpp | 3 +- .../Checkers/LocalizationChecker.cpp | 5 +- .../lib/StaticAnalyzer/Checkers/MIGChecker.cpp | 5 +- .../Checkers/MacOSKeychainAPIChecker.cpp | 3 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 270 +- .../Checkers/MallocOverflowSecurityChecker.cpp | 38 +- .../Checkers/MismatchedIteratorChecker.cpp | 6 +- .../Checkers/MmapWriteExecChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/MoveChecker.cpp | 12 +- .../lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp | 5 +- .../Checkers/NoReturnFunctionChecker.cpp | 8 +- .../Checkers/NonNullParamChecker.cpp | 4 +- .../Checkers/NonnullGlobalConstantsChecker.cpp | 21 +- .../StaticAnalyzer/Checkers/NullabilityChecker.cpp | 136 +- .../Checkers/NumberObjectConversionChecker.cpp | 21 +- .../Checkers/ObjCContainersASTChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/PthreadLockChecker.cpp | 76 +- .../RetainCountChecker/RetainCountChecker.cpp | 17 +- .../RetainCountChecker/RetainCountDiagnostics.cpp | 38 +- .../StaticAnalyzer/Checkers/ReturnValueChecker.cpp | 14 +- .../Checkers/SimpleStreamChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/SmartPtrModeling.cpp | 14 +- .../Checkers/StackAddrEscapeChecker.cpp | 16 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 635 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 241 +- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 3 +- .../Checkers/TestAfterDivZeroChecker.cpp | 5 +- .../StaticAnalyzer/Checkers/UndefBranchChecker.cpp | 3 +- .../Checkers/UndefCapturedBlockVarChecker.cpp | 5 +- .../Checkers/UndefinedAssignmentChecker.cpp | 2 +- .../Checkers/UndefinedNewArraySizeChecker.cpp | 80 + .../UninitializedObject/UninitializedPointee.cpp | 17 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 6 +- .../Checkers/UnreachableCodeChecker.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 3 +- .../lib/StaticAnalyzer/Checkers/ValistChecker.cpp | 41 +- .../lib/StaticAnalyzer/Checkers/VforkChecker.cpp | 5 +- .../StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp | 5 +- .../Checkers/WebKit/NoUncountedMembersChecker.cpp | 9 +- .../Checkers/WebKit/PtrTypesSemantics.cpp | 49 +- .../Checkers/WebKit/PtrTypesSemantics.h | 21 +- .../WebKit/RefCntblBaseVirtualDtorChecker.cpp | 4 +- .../Checkers/WebKit/UncountedCallArgsChecker.cpp | 3 +- .../WebKit/UncountedLambdaCapturesChecker.cpp | 13 +- .../Checkers/WebKit/UncountedLocalVarsChecker.cpp | 3 +- *** 1032738 LINES SKIPPED *** From nobody Sun Jul 23 18:27:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbB4BSDz4p6BP; Sun, 23 Jul 2023 18:27: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 4R8BbB3Gt1z3RJp; Sun, 23 Jul 2023 18:27:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NKpURGIuAXxMROmHZVjpgQIUAcrJsFMdF6QT2b1oZ9c=; b=sFyioUC2tAGLKGPik+dmF7XJPpbdV/34lXUkmn2MySsAUCjCHGY/7graZbOvFrAuV+IPPM OUN8BGg8b4/XnGt3SMnAtawOomxxgPfnTfetLhqe664GEFtCHGbgEwoNlkCAnIU829AuX/ M39vmiPy/KBJq9s0gO0tzzn16S2K9WGpCblpqqdhoF0XMGAvPijBNcNNFu5v/pIn4CJY6A 0tKBVJBQ7ip4t9pjIZUP5iUHb6OcfLitAkuR2hO6NjQRdYKPqzAC5QXqGYBlU4YXBmEcuK VTLBJ9Ao1crKTt8uec5rREPqes2ujmQtNOV6W9Y/tr7S7sj1FaoRpNlxYrHLsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NKpURGIuAXxMROmHZVjpgQIUAcrJsFMdF6QT2b1oZ9c=; b=Ajhbnid5ndnXmuAUYo8Ir7IcPsclbVv9WpL494OBqvDDeHPrSapkn8khwYz2u5QoxFhV25 BLq2b5G47cc/0PN2jjGk6TdX1tMJ6fR4XTEy80PELU9t0fgBIgn87iv7nBq6S+Qy0wQMvJ tGeP4UBbzin8x75YPasZdYyp30UminAYTWja2dNgY7XtfX9PdtJYvZSFC3Up/nKunqLrbW CBtWdwXNFJTXvMMM+lN3rZzSvW7IFUcQsI4nAEibMHC3FSDBiwB5O5gyjI9Y/7mtlG24u9 8HY1G6tnXeGBFTZva6UaW5r032Sdjo+ZaAeDCeaplnd+YFIeRhiwDoUGovqalg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136822; a=rsa-sha256; cv=none; b=O6kT1xXzK51GNRvHnwlGluHXWy9kYfb/Yfk6OfB7+0ROE7zA888RaUfTwccC1oO3DuZ/uZ WQAsB+bSDvEqRD+Yw3PWYfax6ss9l6yaJ3S4Lvd7blHHYpVDST5TUhDxzypIjdV1zrArCe rYboiAewU6NWnH2l6RmgbLr231bSZnhCxQWbP+Av9TIkYVOTJ7ZG3Bq1/S7z+QqslY3lx6 H0IVLIJzLnsbHdjQAOifVsKK8dh/6HmQSVYJ8yiEzeaQe9IHPpXrhAQOTHn9KItvjs69GN mSMWAAmMwM1XaBizcpbQL8vTOw1ozY4Z6fojbIea80u258KIxfI64b5s2D9Duw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbB2HcjzmKp; Sun, 23 Jul 2023 18:27: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 36NIR2cj058644; Sun, 23 Jul 2023 18:27:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR1w8058643; Sun, 23 Jul 2023 18:27:01 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:01 GMT Message-Id: <202307231827.36NIR1w8058643@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: 49071a9c083d - stable/13 - Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979 List-Id: Commit messages for all branches 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: 49071a9c083dd7841f8cdf5a1f7023a945262e2d Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=49071a9c083dd7841f8cdf5a1f7023a945262e2d commit 49071a9c083dd7841f8cdf5a1f7023a945262e2d Author: Dimitry Andric AuthorDate: 2023-04-17 17:14:23 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:08 +0000 Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.1-0-gcd89023f7979 (aka 16.0.1 release). PR: 271047 MFC after: 1 month (cherry picked from commit 1ac55f4cb0001fed92329746c730aa9a947c09a5) --- contrib/llvm-project/clang/include/clang-c/Index.h | 2 +- .../include/clang/Basic/DiagnosticParseKinds.td | 7 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 5 +- .../clang/include/clang/Basic/arm_sve.td | 41 +- .../clang/include/clang/Basic/riscv_vector.td | 102 +- .../clang/include/clang/Driver/Options.td | 2 + .../clang/include/clang/Format/Format.h | 39 +- .../clang/include/clang/Lex/Preprocessor.h | 184 +- .../clang/include/clang/Sema/DeclSpec.h | 10 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 38 +- .../clang/include/clang/Sema/SemaInternal.h | 4 +- .../StaticAnalyzer/Core/PathSensitive/SMTConv.h | 4 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 46 +- .../DependencyScanning/DependencyScanningService.h | 6 +- .../DependencyScanning/DependencyScanningTool.h | 27 +- .../DependencyScanning/DependencyScanningWorker.h | 6 +- .../DependencyScanning/ModuleDepCollector.h | 29 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 2 +- contrib/llvm-project/clang/lib/AST/Type.cpp | 12 +- .../clang/lib/Basic/Targets/AArch64.cpp | 6 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 3 +- contrib/llvm-project/clang/lib/Basic/Targets/PPC.h | 8 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 4 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 8 +- contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h | 5 +- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 4 +- .../llvm-project/clang/lib/CodeGen/CGExprCXX.cpp | 11 +- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 21 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 98 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 4 +- .../clang/lib/Driver/SanitizerArgs.cpp | 4 +- .../clang/lib/Driver/ToolChains/Arch/PPC.cpp | 93 +- .../clang/lib/Driver/ToolChains/Arch/PPC.h | 2 + .../clang/lib/Driver/ToolChains/Clang.cpp | 11 +- .../clang/lib/Driver/ToolChains/Cuda.cpp | 15 +- .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 71 +- .../clang/lib/Driver/ToolChains/FreeBSD.h | 14 +- .../clang/lib/Driver/ToolChains/Fuchsia.cpp | 2 +- .../clang/lib/Driver/ToolChains/MinGW.cpp | 10 + contrib/llvm-project/clang/lib/Format/Format.cpp | 8 +- .../lib/Format/IntegerLiteralSeparatorFixer.cpp | 56 +- .../lib/Format/IntegerLiteralSeparatorFixer.h | 3 +- .../clang/lib/Format/QualifierAlignmentFixer.cpp | 5 +- .../clang/lib/Format/TokenAnnotator.cpp | 3 + .../clang/lib/Format/UnwrappedLineParser.cpp | 31 +- .../clang/lib/Frontend/CompilerInstance.cpp | 9 +- contrib/llvm-project/clang/lib/Headers/immintrin.h | 4 +- contrib/llvm-project/clang/lib/Headers/smmintrin.h | 2 +- .../clang/lib/Lex/PPMacroExpansion.cpp | 37 +- .../llvm-project/clang/lib/Lex/Preprocessor.cpp | 44 +- contrib/llvm-project/clang/lib/Lex/TokenLexer.cpp | 12 +- contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 11 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 5 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 8 - contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp | 17 - .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 27 +- .../llvm-project/clang/lib/Sema/SemaCoroutine.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 34 +- .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp | 3 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 10 +- contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 13 +- .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 5 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 11 +- .../clang/lib/Sema/SemaTemplateDeduction.cpp | 7 +- .../clang/lib/Sema/SemaTemplateVariadic.cpp | 234 ++- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 6 - .../llvm-project/clang/lib/Sema/TreeTransform.h | 3 +- .../Checkers/ReturnPointerRangeChecker.cpp | 4 + .../clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 2 +- .../StaticAnalyzer/Core/RangeConstraintManager.cpp | 13 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 8 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 90 +- .../DependencyScanning/DependencyScanningTool.cpp | 150 +- .../DependencyScanningWorker.cpp | 4 +- .../DependencyScanning/ModuleDepCollector.cpp | 33 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 5 +- .../compiler-rt/lib/builtins/cpu_model.c | 3 + .../sanitizer_common/sanitizer_linux_libcdep.cpp | 1 + .../sanitizer_common/sanitizer_symbolizer_win.cpp | 2 - .../include/__algorithm/ranges_binary_search.h | 4 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 578 ++---- contrib/llvm-project/libcxx/include/__config | 38 +- .../libcxx/include/__expected/expected.h | 7 +- .../libcxx/include/__format/concepts.h | 5 +- .../libcxx/include/__format/format_functions.h | 8 +- .../include/__format/formatter_floating_point.h | 3 +- .../libcxx/include/__functional/function.h | 38 +- .../libcxx/include/__functional/hash.h | 4 + .../libcxx/include/__memory/construct_at.h | 10 + .../libcxx/include/__memory/shared_ptr.h | 218 ++- .../include/__memory/uninitialized_algorithms.h | 34 +- .../__memory_resource/polymorphic_allocator.h | 2 +- .../libcxx/include/__ranges/elements_view.h | 118 +- .../libcxx/include/__ranges/filter_view.h | 50 +- .../libcxx/include/__ranges/iota_view.h | 432 ++--- .../libcxx/include/__ranges/istream_view.h | 26 +- .../libcxx/include/__ranges/join_view.h | 96 +- .../libcxx/include/__ranges/split_view.h | 52 +- .../libcxx/include/__ranges/take_while_view.h | 30 +- .../libcxx/include/__ranges/transform_view.h | 127 +- .../libcxx/include/__type_traits/add_pointer.h | 4 +- .../libcxx/include/__type_traits/remove_pointer.h | 4 +- .../libcxx/include/__utility/exception_guard.h | 47 +- contrib/llvm-project/libcxx/include/any | 10 +- .../libcxx/include/module.modulemap.in | 16 +- .../llvm-project/libcxx/include/source_location | 6 +- contrib/llvm-project/libcxx/include/version | 4 +- .../libunwind/include/libunwind.modulemap | 3 + contrib/llvm-project/libunwind/include/unwind.h | 4 +- .../libunwind/src/DwarfInstructions.hpp | 3 +- .../libunwind/src/UnwindRegistersRestore.S | 18 + .../libunwind/src/UnwindRegistersSave.S | 11 + contrib/llvm-project/lld/COFF/MinGW.cpp | 3 + contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 6 +- contrib/llvm-project/lld/ELF/ICF.cpp | 10 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 10 +- contrib/llvm-project/lld/ELF/SymbolTable.cpp | 4 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 17 + .../Plugins/Language/CPlusPlus/Coroutines.cpp | 164 +- .../source/Plugins/Language/CPlusPlus/Coroutines.h | 7 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 143 +- .../NativeRegisterContextFreeBSD_mips64.cpp | 4 +- .../NativeRegisterContextFreeBSD_powerpc.cpp | 4 +- .../llvm/include/llvm/Analysis/ScalarEvolution.h | 11 +- .../llvm/DebugInfo/LogicalView/Core/LVElement.h | 1 - .../llvm/DebugInfo/LogicalView/Core/LVStringPool.h | 7 - .../llvm/DebugInfo/LogicalView/Core/LVSupport.h | 4 + .../llvm/include/llvm/Debuginfod/Debuginfod.h | 6 +- .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 31 + .../llvm/ProfileData/Coverage/CoverageMapping.h | 16 +- .../ProfileData/Coverage/CoverageMappingReader.h | 3 +- .../llvm/include/llvm/Support/ExitCodes.h | 6 +- .../llvm/include/llvm/Support/RISCVISAInfo.h | 6 + .../llvm/include/llvm/Support/Signals.h | 11 +- .../include/llvm/TargetParser/RISCVTargetParser.h | 5 + .../llvm/include/llvm/TargetParser/Triple.h | 8 + .../llvm/include/llvm/Transforms/IPO/OpenMPOpt.h | 12 + .../llvm/lib/Analysis/LazyValueInfo.cpp | 13 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 2 + .../llvm-project/llvm/lib/CodeGen/IfConversion.cpp | 9 + .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 13 +- .../llvm/lib/CodeGen/TargetLoweringBase.cpp | 4 +- .../lib/DebugInfo/LogicalView/Core/LVSupport.cpp | 6 + .../llvm/lib/DebugInfo/Symbolize/Symbolize.cpp | 27 +- .../llvm/lib/Debuginfod/Debuginfod.cpp | 19 +- .../lib/ExecutionEngine/JITLink/ELF_aarch64.cpp | 1 + .../llvm/lib/ExecutionEngine/Orc/Layer.cpp | 4 + contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp | 35 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 6 - .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp | 7 +- .../llvm/lib/Passes/PassBuilderPipelines.cpp | 14 +- .../llvm-project/llvm/lib/Passes/PassRegistry.def | 1 + .../lib/ProfileData/Coverage/CoverageMapping.cpp | 110 +- .../ProfileData/Coverage/CoverageMappingReader.cpp | 19 +- .../lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S | 2 + .../BLAKE3/blake3_avx2_x86-64_windows_gnu.S | 2 + .../BLAKE3/blake3_avx2_x86-64_windows_msvc.asm | 12 +- .../lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S | 2 + .../BLAKE3/blake3_avx512_x86-64_windows_gnu.S | 2 + .../BLAKE3/blake3_avx512_x86-64_windows_msvc.asm | 36 +- .../llvm/lib/Support/BLAKE3/blake3_impl.h | 10 +- .../lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S | 2 + .../BLAKE3/blake3_sse2_x86-64_windows_gnu.S | 2 + .../BLAKE3/blake3_sse2_x86-64_windows_msvc.asm | 36 +- .../lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S | 2 + .../BLAKE3/blake3_sse41_x86-64_windows_gnu.S | 2 + .../BLAKE3/blake3_sse41_x86-64_windows_msvc.asm | 36 +- .../llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h | 41 + contrib/llvm-project/llvm/lib/Support/Parallel.cpp | 8 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 63 + .../llvm-project/llvm/lib/Support/Windows/Path.inc | 2 - .../llvm/lib/Support/Windows/Signals.inc | 23 +- contrib/llvm-project/llvm/lib/Support/Z3Solver.cpp | 2 +- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 12 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 14 +- .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 52 +- .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 28 + .../llvm-project/llvm/lib/Target/BPF/BTFDebug.cpp | 46 +- .../llvm-project/llvm/lib/Target/BPF/BTFDebug.h | 3 + .../Target/Hexagon/AsmParser/HexagonAsmParser.cpp | 2 +- .../llvm/lib/Target/PowerPC/PPCTargetMachine.cpp | 3 +- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 10 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 22 + .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 4 + .../llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.cpp | 3 + .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 2 + .../Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp | 2 + .../llvm/lib/Target/Sparc/SparcInstrInfo.cpp | 121 +- .../llvm/lib/Target/Sparc/SparcInstrInfo.h | 9 + .../llvm/lib/Target/Sparc/SparcInstrInfo.td | 9 +- .../llvm/lib/Target/Sparc/SparcTargetMachine.cpp | 7 + contrib/llvm-project/llvm/lib/Target/X86/X86.td | 3 +- .../llvm/lib/Target/X86/X86CallingConv.td | 4 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 5 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 101 +- .../llvm/lib/Target/X86/X86ISelLowering.h | 6 + .../llvm/lib/Target/X86/X86InstrCompiler.td | 6 +- .../llvm/lib/Target/X86/X86InstrFPStack.td | 15 + .../llvm/lib/Target/X86/X86InstrSSE.td | 17 + .../llvm/lib/Target/X86/X86PfmCounters.td | 15 +- .../llvm/lib/Target/X86/X86ScheduleZnver4.td | 1957 ++++++++++++++++++++ .../llvm/lib/TargetParser/ARMTargetParser.cpp | 2 +- .../llvm/lib/TargetParser/RISCVTargetParser.cpp | 6 + .../llvm/lib/Transforms/IPO/Attributor.cpp | 22 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 32 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 79 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 16 +- .../llvm/lib/Transforms/Utils/Local.cpp | 3 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 15 +- .../llvm/tools/llvm-cov/CodeCoverage.cpp | 32 +- .../llvm/tools/llvm-objdump/ObjdumpOpts.td | 4 +- .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 4 +- .../llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 8 +- contrib/llvm-project/openmp/runtime/src/kmp_os.h | 2 +- .../openmp/runtime/src/kmp_runtime.cpp | 6 +- .../openmp/runtime/src/kmp_safe_c_api.h | 2 + .../llvm-project/openmp/runtime/src/kmp_str.cpp | 8 +- .../llvm-project/openmp/runtime/src/z_Linux_asm.S | 5 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 9 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- usr.bin/clang/llvm-cov/Makefile | 1 + 227 files changed, 5335 insertions(+), 2401 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang-c/Index.h b/contrib/llvm-project/clang/include/clang-c/Index.h index fd758ddde085..a3e54285f89f 100644 --- a/contrib/llvm-project/clang/include/clang-c/Index.h +++ b/contrib/llvm-project/clang/include/clang-c/Index.h @@ -34,7 +34,7 @@ * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable. */ #define CINDEX_VERSION_MAJOR 0 -#define CINDEX_VERSION_MINOR 62 +#define CINDEX_VERSION_MINOR 63 #define CINDEX_VERSION_ENCODE(major, minor) (((major)*10000) + ((minor)*1)) diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td index c367a34b762b..e99beb3a7636 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td @@ -1052,7 +1052,7 @@ def err_lambda_template_parameter_list_empty : Error< // C++2b static lambdas def err_static_lambda: ExtWarn< "static lambdas are a C++2b extension">, InGroup; -def warn_cxx20_compat_static_lambda: ExtWarn< +def warn_cxx20_compat_static_lambda : Warning< "static lambdas are incompatible with C++ standards before C++2b">, InGroup, DefaultIgnore; def err_static_mutable_lambda : Error< @@ -1607,11 +1607,6 @@ def err_import_in_wrong_fragment : Error< def err_export_empty : Error<"export declaration cannot be empty">; } -def ext_offsetof_member_designator : Extension< - "using %select{a member access expression|an array subscript expression}0 " - "within '%select{__builtin_offsetof|offsetof}1' is a Clang extension">, - InGroup; - let CategoryName = "Generics Issue" in { def err_objc_expected_type_parameter : Error< diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td index de56e3e1566b..bfe582d8252f 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -9138,8 +9138,9 @@ def err_operator_overload_static : Error< def err_operator_overload_default_arg : Error< "parameter of overloaded %0 cannot have a default argument">; -def ext_subscript_overload : ExtWarn< - "overloaded %0 with %select{no|a defaulted|more than one}1 parameter is a C++2b extension">, InGroup, DefaultIgnore; +def ext_subscript_overload : Warning< + "overloaded %0 with %select{no|a defaulted|more than one}1 parameter is a " + "C++2b extension">, InGroup, DefaultIgnore; def error_subscript_overload : Error< "overloaded %0 cannot have %select{no|a defaulted|more than one}1 parameter before C++2b">; diff --git a/contrib/llvm-project/clang/include/clang/Basic/arm_sve.td b/contrib/llvm-project/clang/include/clang/Basic/arm_sve.td index e910036117b7..e547bbd34b5e 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/arm_sve.td +++ b/contrib/llvm-project/clang/include/clang/Basic/arm_sve.td @@ -1249,16 +1249,37 @@ def SVZIP1_BF16 : SInst<"svzip1[_{d}]", "ddd", "b", MergeNone, "aarch64_sve def SVZIP2_BF16 : SInst<"svzip2[_{d}]", "ddd", "b", MergeNone, "aarch64_sve_zip2">; } -def SVREV_B : SInst<"svrev_{d}", "PP", "PcPsPiPl", MergeNone, "aarch64_sve_rev">; -def SVSEL_B : SInst<"svsel[_b]", "PPPP", "Pc", MergeNone, "aarch64_sve_sel">; -def SVTRN1_B : SInst<"svtrn1_{d}", "PPP", "PcPsPiPl", MergeNone, "aarch64_sve_trn1">; -def SVTRN2_B : SInst<"svtrn2_{d}", "PPP", "PcPsPiPl", MergeNone, "aarch64_sve_trn2">; -def SVPUNPKHI : SInst<"svunpkhi[_b]", "PP", "Pc", MergeNone, "aarch64_sve_punpkhi">; -def SVPUNPKLO : SInst<"svunpklo[_b]", "PP", "Pc", MergeNone, "aarch64_sve_punpklo">; -def SVUZP1_B : SInst<"svuzp1_{d}", "PPP", "PcPsPiPl", MergeNone, "aarch64_sve_uzp1">; -def SVUZP2_B : SInst<"svuzp2_{d}", "PPP", "PcPsPiPl", MergeNone, "aarch64_sve_uzp2">; -def SVZIP1_B : SInst<"svzip1_{d}", "PPP", "PcPsPiPl", MergeNone, "aarch64_sve_zip1">; -def SVZIP2_B : SInst<"svzip2_{d}", "PPP", "PcPsPiPl", MergeNone, "aarch64_sve_zip2">; +def SVREV_B8 : SInst<"svrev_b8", "PP", "Pc", MergeNone, "aarch64_sve_rev">; +def SVREV_B16 : SInst<"svrev_b16", "PP", "Pc", MergeNone, "aarch64_sve_rev_b16", [IsOverloadNone]>; +def SVREV_B32 : SInst<"svrev_b32", "PP", "Pc", MergeNone, "aarch64_sve_rev_b32", [IsOverloadNone]>; +def SVREV_B64 : SInst<"svrev_b64", "PP", "Pc", MergeNone, "aarch64_sve_rev_b64", [IsOverloadNone]>; +def SVSEL_B : SInst<"svsel[_b]", "PPPP", "Pc", MergeNone, "aarch64_sve_sel">; +def SVTRN1_B8 : SInst<"svtrn1_b8", "PPP", "Pc", MergeNone, "aarch64_sve_trn1">; +def SVTRN1_B16 : SInst<"svtrn1_b16", "PPP", "Pc", MergeNone, "aarch64_sve_trn1_b16", [IsOverloadNone]>; +def SVTRN1_B32 : SInst<"svtrn1_b32", "PPP", "Pc", MergeNone, "aarch64_sve_trn1_b32", [IsOverloadNone]>; +def SVTRN1_B64 : SInst<"svtrn1_b64", "PPP", "Pc", MergeNone, "aarch64_sve_trn1_b64", [IsOverloadNone]>; +def SVTRN2_B8 : SInst<"svtrn2_b8", "PPP", "Pc", MergeNone, "aarch64_sve_trn2">; +def SVTRN2_B16 : SInst<"svtrn2_b16", "PPP", "Pc", MergeNone, "aarch64_sve_trn2_b16", [IsOverloadNone]>; +def SVTRN2_B32 : SInst<"svtrn2_b32", "PPP", "Pc", MergeNone, "aarch64_sve_trn2_b32", [IsOverloadNone]>; +def SVTRN2_B64 : SInst<"svtrn2_b64", "PPP", "Pc", MergeNone, "aarch64_sve_trn2_b64", [IsOverloadNone]>; +def SVPUNPKHI : SInst<"svunpkhi[_b]", "PP", "Pc", MergeNone, "aarch64_sve_punpkhi">; +def SVPUNPKLO : SInst<"svunpklo[_b]", "PP", "Pc", MergeNone, "aarch64_sve_punpklo">; +def SVUZP1_B8 : SInst<"svuzp1_b8", "PPP", "Pc", MergeNone, "aarch64_sve_uzp1">; +def SVUZP1_B16 : SInst<"svuzp1_b16", "PPP", "Pc", MergeNone, "aarch64_sve_uzp1_b16", [IsOverloadNone]>; +def SVUZP1_B32 : SInst<"svuzp1_b32", "PPP", "Pc", MergeNone, "aarch64_sve_uzp1_b32", [IsOverloadNone]>; +def SVUZP1_B64 : SInst<"svuzp1_b64", "PPP", "Pc", MergeNone, "aarch64_sve_uzp1_b64", [IsOverloadNone]>; +def SVUZP2_B8 : SInst<"svuzp2_b8", "PPP", "Pc", MergeNone, "aarch64_sve_uzp2">; +def SVUZP2_B16 : SInst<"svuzp2_b16", "PPP", "Pc", MergeNone, "aarch64_sve_uzp2_b16", [IsOverloadNone]>; +def SVUZP2_B32 : SInst<"svuzp2_b32", "PPP", "Pc", MergeNone, "aarch64_sve_uzp2_b32", [IsOverloadNone]>; +def SVUZP2_B64 : SInst<"svuzp2_b64", "PPP", "Pc", MergeNone, "aarch64_sve_uzp2_b64", [IsOverloadNone]>; +def SVZIP1_B8 : SInst<"svzip1_b8", "PPP", "Pc", MergeNone, "aarch64_sve_zip1">; +def SVZIP1_B16 : SInst<"svzip1_b16", "PPP", "Pc", MergeNone, "aarch64_sve_zip1_b16", [IsOverloadNone]>; +def SVZIP1_B32 : SInst<"svzip1_b32", "PPP", "Pc", MergeNone, "aarch64_sve_zip1_b32", [IsOverloadNone]>; +def SVZIP1_B64 : SInst<"svzip1_b64", "PPP", "Pc", MergeNone, "aarch64_sve_zip1_b64", [IsOverloadNone]>; +def SVZIP2_B : SInst<"svzip2_b8", "PPP", "Pc", MergeNone, "aarch64_sve_zip2">; +def SVZIP2_B16 : SInst<"svzip2_b16", "PPP", "Pc", MergeNone, "aarch64_sve_zip2_b16", [IsOverloadNone]>; +def SVZIP2_B32 : SInst<"svzip2_b32", "PPP", "Pc", MergeNone, "aarch64_sve_zip2_b32", [IsOverloadNone]>; +def SVZIP2_B64 : SInst<"svzip2_b64", "PPP", "Pc", MergeNone, "aarch64_sve_zip2_b64", [IsOverloadNone]>; //////////////////////////////////////////////////////////////////////////////// // Predicate creation diff --git a/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td b/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td index c63cba9aa459..b23e26ecaa57 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td +++ b/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td @@ -1539,7 +1539,7 @@ enum RVV_CSR { }; static __inline__ __attribute__((__always_inline__, __nodebug__)) -unsigned long vread_csr(enum RVV_CSR __csr) { +unsigned long __riscv_vread_csr(enum RVV_CSR __csr) { unsigned long __rv = 0; switch (__csr) { case RVV_VSTART: @@ -1559,7 +1559,7 @@ unsigned long vread_csr(enum RVV_CSR __csr) { } static __inline__ __attribute__((__always_inline__, __nodebug__)) -void vwrite_csr(enum RVV_CSR __csr, unsigned long __value) { +void __riscv_vwrite_csr(enum RVV_CSR __csr, unsigned long __value) { switch (__csr) { case RVV_VSTART: __asm__ __volatile__ ("csrw\tvstart, %z0" : : "rJ"(__value) : "memory"); @@ -1580,7 +1580,7 @@ def vread_vwrite_csr: RVVHeader; let HeaderCode = [{ -#define vlenb() __builtin_rvv_vlenb() +#define __riscv_vlenb() __builtin_rvv_vlenb() }] in def vlenb_macro: RVVHeader; @@ -1611,62 +1611,62 @@ let HasBuiltinAlias = false, HasVL = false, HasMasked = false, // and LMUL. let HeaderCode = [{ -#define vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6) -#define vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7) -#define vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0) -#define vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1) -#define vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2) -#define vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3) - -#define vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7) -#define vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0) -#define vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1) -#define vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2) -#define vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3) - -#define vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0) -#define vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1) -#define vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2) -#define vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3) +#define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6) +#define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7) +#define __riscv_vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0) +#define __riscv_vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1) +#define __riscv_vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2) +#define __riscv_vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3) + +#define __riscv_vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7) +#define __riscv_vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0) +#define __riscv_vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1) +#define __riscv_vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2) +#define __riscv_vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3) + +#define __riscv_vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0) +#define __riscv_vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1) +#define __riscv_vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2) +#define __riscv_vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3) #if __riscv_v_elen >= 64 -#define vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5) -#define vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6) -#define vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7) - -#define vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0) -#define vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1) -#define vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2) -#define vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3) +#define __riscv_vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5) +#define __riscv_vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6) +#define __riscv_vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7) + +#define __riscv_vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0) +#define __riscv_vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1) +#define __riscv_vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2) +#define __riscv_vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3) #endif -#define vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6) -#define vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7) -#define vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0) -#define vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1) -#define vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2) -#define vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3) +#define __riscv_vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6) +#define __riscv_vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7) +#define __riscv_vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0) +#define __riscv_vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1) +#define __riscv_vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2) +#define __riscv_vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3) -#define vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7) -#define vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0) -#define vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1) -#define vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2) -#define vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3) +#define __riscv_vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7) +#define __riscv_vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0) +#define __riscv_vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1) +#define __riscv_vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2) +#define __riscv_vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3) -#define vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0) -#define vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1) -#define vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2) -#define vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3) +#define __riscv_vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0) +#define __riscv_vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1) +#define __riscv_vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2) +#define __riscv_vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3) #if __riscv_v_elen >= 64 -#define vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5) -#define vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6) -#define vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7) - -#define vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0) -#define vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1) -#define vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2) -#define vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3) +#define __riscv_vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5) +#define __riscv_vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6) +#define __riscv_vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7) + +#define __riscv_vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0) +#define __riscv_vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1) +#define __riscv_vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2) +#define __riscv_vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3) #endif }] in diff --git a/contrib/llvm-project/clang/include/clang/Driver/Options.td b/contrib/llvm-project/clang/include/clang/Driver/Options.td index 23752823e88f..652c15afcce8 100644 --- a/contrib/llvm-project/clang/include/clang/Driver/Options.td +++ b/contrib/llvm-project/clang/include/clang/Driver/Options.td @@ -4559,6 +4559,8 @@ def mnvs : Flag<["-"], "mnvs">, Group, Flags<[CC1Option]>, HelpText<"Enable generation of new-value stores">; def mno_nvs : Flag<["-"], "mno-nvs">, Group, Flags<[CC1Option]>, HelpText<"Disable generation of new-value stores">; +def mcabac: Flag<["-"], "mcabac">, Group, + HelpText<"Enable CABAC instructions">; // SPARC feature flags def mfpu : Flag<["-"], "mfpu">, Group; diff --git a/contrib/llvm-project/clang/include/clang/Format/Format.h b/contrib/llvm-project/clang/include/clang/Format/Format.h index 72efd3be1cc7..7a313460d888 100755 --- a/contrib/llvm-project/clang/include/clang/Format/Format.h +++ b/contrib/llvm-project/clang/include/clang/Format/Format.h @@ -2500,6 +2500,10 @@ struct FormatStyle { /// Decimal: 3 /// Hex: -1 /// \endcode + /// + /// You can also specify a minimum number of digits (``BinaryMinDigits``, + /// ``DecimalMinDigits``, and ``HexMinDigits``) the integer literal must + /// have in order for the separators to be inserted. struct IntegerLiteralSeparatorStyle { /// Format separators in binary literals. /// \code{.text} @@ -2509,6 +2513,14 @@ struct FormatStyle { /// /* 4: */ b = 0b1001'1110'1101; /// \endcode int8_t Binary; + /// Format separators in binary literals with a minimum number of digits. + /// \code{.text} + /// // Binary: 3 + /// // BinaryMinDigits: 7 + /// b1 = 0b101101; + /// b2 = 0b1'101'101; + /// \endcode + int8_t BinaryMinDigits; /// Format separators in decimal literals. /// \code{.text} /// /* -1: */ d = 18446744073709550592ull; @@ -2516,6 +2528,14 @@ struct FormatStyle { /// /* 3: */ d = 18'446'744'073'709'550'592ull; /// \endcode int8_t Decimal; + /// Format separators in decimal literals with a minimum number of digits. + /// \code{.text} + /// // Decimal: 3 + /// // DecimalMinDigits: 5 + /// d1 = 2023; + /// d2 = 10'000; + /// \endcode + int8_t DecimalMinDigits; /// Format separators in hexadecimal literals. /// \code{.text} /// /* -1: */ h = 0xDEADBEEFDEADBEEFuz; @@ -2523,6 +2543,20 @@ struct FormatStyle { /// /* 2: */ h = 0xDE'AD'BE'EF'DE'AD'BE'EFuz; /// \endcode int8_t Hex; + /// Format separators in hexadecimal literals with a minimum number of + /// digits. + /// \code{.text} + /// // Hex: 2 + /// // HexMinDigits: 6 + /// h1 = 0xABCDE; + /// h2 = 0xAB'CD'EF; + /// \endcode + int8_t HexMinDigits; + bool operator==(const IntegerLiteralSeparatorStyle &R) const { + return Binary == R.Binary && BinaryMinDigits == R.BinaryMinDigits && + Decimal == R.Decimal && DecimalMinDigits == R.DecimalMinDigits && + Hex == R.Hex && HexMinDigits == R.HexMinDigits; + } }; /// Format integer literal separators (``'`` for C++ and ``_`` for C#, Java, @@ -4212,10 +4246,7 @@ struct FormatStyle { IndentWrappedFunctionNames == R.IndentWrappedFunctionNames && InsertBraces == R.InsertBraces && InsertNewlineAtEOF == R.InsertNewlineAtEOF && - IntegerLiteralSeparator.Binary == R.IntegerLiteralSeparator.Binary && - IntegerLiteralSeparator.Decimal == - R.IntegerLiteralSeparator.Decimal && - IntegerLiteralSeparator.Hex == R.IntegerLiteralSeparator.Hex && + IntegerLiteralSeparator == R.IntegerLiteralSeparator && JavaImportGroups == R.JavaImportGroups && JavaScriptQuotes == R.JavaScriptQuotes && JavaScriptWrapImports == R.JavaScriptWrapImports && diff --git a/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h b/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h index f383a2e5b530..322626802eab 100644 --- a/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h +++ b/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h @@ -193,11 +193,6 @@ class Preprocessor { LangOptions::FPEvalMethodKind CurrentFPEvalMethod = LangOptions::FPEvalMethodKind::FEM_UnsetOnCommandLine; - // Keeps the value of the last evaluation method before a - // `pragma float_control (precise,off) is applied. - LangOptions::FPEvalMethodKind LastFPEvalMethod = - LangOptions::FPEvalMethodKind::FEM_UnsetOnCommandLine; - // The most recent pragma location where the floating point evaluation // method was modified. This is used to determine whether the // 'pragma clang fp eval_method' was used whithin the current scope. @@ -313,6 +308,9 @@ private: /// The import path for named module that we're currently processing. SmallVector, 2> NamedModuleImportPath; + /// Whether the import is an `@import` or a standard c++ modules import. + bool IsAtImport = false; + /// Whether the last token we lexed was an '@'. bool LastTokenWasAt = false; @@ -456,6 +454,144 @@ private: TrackGMF TrackGMFState = TrackGMF::BeforeGMFIntroducer; + /// Track the status of the c++20 module decl. + /// + /// module-declaration: + /// 'export'[opt] 'module' module-name module-partition[opt] + /// attribute-specifier-seq[opt] ';' + /// + /// module-name: + /// module-name-qualifier[opt] identifier + /// + /// module-partition: + /// ':' module-name-qualifier[opt] identifier + /// + /// module-name-qualifier: + /// identifier '.' + /// module-name-qualifier identifier '.' + /// + /// Transition state: + /// + /// NotAModuleDecl --- export ---> FoundExport + /// NotAModuleDecl --- module ---> ImplementationCandidate + /// FoundExport --- module ---> InterfaceCandidate + /// ImplementationCandidate --- Identifier ---> ImplementationCandidate + /// ImplementationCandidate --- period ---> ImplementationCandidate + /// ImplementationCandidate --- colon ---> ImplementationCandidate + /// InterfaceCandidate --- Identifier ---> InterfaceCandidate + /// InterfaceCandidate --- period ---> InterfaceCandidate + /// InterfaceCandidate --- colon ---> InterfaceCandidate + /// ImplementationCandidate --- Semi ---> NamedModuleImplementation + /// NamedModuleInterface --- Semi ---> NamedModuleInterface + /// NamedModuleImplementation --- Anything ---> NamedModuleImplementation + /// NamedModuleInterface --- Anything ---> NamedModuleInterface + /// + /// FIXME: We haven't handle attribute-specifier-seq here. It may not be bad + /// soon since we don't support any module attributes yet. + class ModuleDeclSeq { + enum ModuleDeclState : int { + NotAModuleDecl, + FoundExport, + InterfaceCandidate, + ImplementationCandidate, + NamedModuleInterface, + NamedModuleImplementation, + }; + + public: + ModuleDeclSeq() : State(NotAModuleDecl) {} + + void handleExport() { + if (State == NotAModuleDecl) + State = FoundExport; + else if (!isNamedModule()) + reset(); + } + + void handleModule() { + if (State == FoundExport) + State = InterfaceCandidate; + else if (State == NotAModuleDecl) + State = ImplementationCandidate; + else if (!isNamedModule()) + reset(); + } + + void handleIdentifier(IdentifierInfo *Identifier) { + if (isModuleCandidate() && Identifier) + Name += Identifier->getName().str(); + else if (!isNamedModule()) + reset(); + } + + void handleColon() { + if (isModuleCandidate()) + Name += ":"; + else if (!isNamedModule()) + reset(); + } + + void handlePeriod() { + if (isModuleCandidate()) + Name += "."; + else if (!isNamedModule()) + reset(); + } + + void handleSemi() { + if (!Name.empty() && isModuleCandidate()) { + if (State == InterfaceCandidate) + State = NamedModuleInterface; + else if (State == ImplementationCandidate) + State = NamedModuleImplementation; + else + llvm_unreachable("Unimaged ModuleDeclState."); + } else if (!isNamedModule()) + reset(); + } + + void handleMisc() { + if (!isNamedModule()) + reset(); + } + + bool isModuleCandidate() const { + return State == InterfaceCandidate || State == ImplementationCandidate; + } + + bool isNamedModule() const { + return State == NamedModuleInterface || + State == NamedModuleImplementation; + } + + bool isNamedInterface() const { return State == NamedModuleInterface; } + + bool isImplementationUnit() const { + return State == NamedModuleImplementation && !getName().contains(':'); + } + + StringRef getName() const { + assert(isNamedModule() && "Can't get name from a non named module"); + return Name; + } + + StringRef getPrimaryName() const { + assert(isNamedModule() && "Can't get name from a non named module"); + return getName().split(':').first; + } + + void reset() { + Name.clear(); + State = NotAModuleDecl; + } + + private: + ModuleDeclState State; + std::string Name; + }; + + ModuleDeclSeq ModuleDeclState; + /// Whether the module import expects an identifier next. Otherwise, /// it expects a '.' or ';'. bool ModuleImportExpectsIdentifier = false; @@ -2194,14 +2330,6 @@ public: return LastFPEvalPragmaLocation; } - LangOptions::FPEvalMethodKind getLastFPEvalMethod() const { - return LastFPEvalMethod; - } - - void setLastFPEvalMethod(LangOptions::FPEvalMethodKind Val) { - LastFPEvalMethod = Val; - } - void setCurrentFPEvalMethod(SourceLocation PragmaLoc, LangOptions::FPEvalMethodKind Val) { assert(Val != LangOptions::FEM_UnsetOnCommandLine && @@ -2225,6 +2353,36 @@ public: /// Retrieves the module whose implementation we're current compiling, if any. Module *getCurrentModuleImplementation(); + /// If we are preprocessing a named module. + bool isInNamedModule() const { return ModuleDeclState.isNamedModule(); } + + /// If we are proprocessing a named interface unit. + /// Note that a module implementation partition is not considered as an + /// named interface unit here although it is importable + /// to ease the parsing. + bool isInNamedInterfaceUnit() const { + return ModuleDeclState.isNamedInterface(); + } + + /// Get the named module name we're preprocessing. + /// Requires we're preprocessing a named module. + StringRef getNamedModuleName() const { return ModuleDeclState.getName(); } + + /// If we are implementing an implementation module unit. + /// Note that the module implementation partition is not considered as an + /// implementation unit. + bool isInImplementationUnit() const { + return ModuleDeclState.isImplementationUnit(); + } + + /// If we're importing a standard C++20 Named Modules. + bool isInImportingCXXNamedModules() const { + // NamedModuleImportPath will be non-empty only if we're importing + // Standard C++ named modules. + return !NamedModuleImportPath.empty() && getLangOpts().CPlusPlusModules && + !IsAtImport; + } + /// Allocate a new MacroInfo object with the provided SourceLocation. MacroInfo *AllocateMacroInfo(SourceLocation L); diff --git a/contrib/llvm-project/clang/include/clang/Sema/DeclSpec.h b/contrib/llvm-project/clang/include/clang/Sema/DeclSpec.h index a95fe5686009..69fe2c541607 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/DeclSpec.h +++ b/contrib/llvm-project/clang/include/clang/Sema/DeclSpec.h @@ -506,16 +506,8 @@ public: assert(isTypeRep((TST) TypeSpecType) && "DeclSpec does not store a type"); return TypeRep; } - // Returns the underlying decl, if any. Decl *getRepAsDecl() const { - auto *D = getRepAsFoundDecl(); - if (const auto *Using = dyn_cast_or_null(D)) - return Using->getTargetDecl(); - return D; - } - // Returns the originally found decl, if any. - Decl *getRepAsFoundDecl() const { - assert(isDeclRep((TST)TypeSpecType) && "DeclSpec does not store a decl"); + assert(isDeclRep((TST) TypeSpecType) && "DeclSpec does not store a decl"); return DeclRep; } Expr *getRepAsExpr() const { diff --git a/contrib/llvm-project/clang/include/clang/Sema/Sema.h b/contrib/llvm-project/clang/include/clang/Sema/Sema.h index 9ab4146aaefe..e57955f16bdd 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/Sema.h +++ b/contrib/llvm-project/clang/include/clang/Sema/Sema.h @@ -238,11 +238,9 @@ namespace threadSafety { // FIXME: No way to easily map from TemplateTypeParmTypes to // TemplateTypeParmDecls, so we have this horrible PointerUnion. -using UnexpandedParameterPack = std::pair< - llvm::PointerUnion< - const TemplateTypeParmType *, const SubstTemplateTypeParmPackType *, - const SubstNonTypeTemplateParmPackExpr *, const NamedDecl *>, - SourceLocation>; +typedef std::pair, + SourceLocation> + UnexpandedParameterPack; /// Describes whether we've seen any nullability information for the given /// file. @@ -3330,9 +3328,7 @@ public: SourceLocation ScopedEnumKWLoc, bool ScopedEnumUsesClassTag, TypeResult UnderlyingType, bool IsTypeSpecifier, bool IsTemplateParamOrArg, - OffsetOfKind OOK, - UsingShadowDecl*& FoundUsingShadow, - SkipBodyInfo *SkipBody = nullptr); + OffsetOfKind OOK, SkipBodyInfo *SkipBody = nullptr); DeclResult ActOnTemplatedFriendTag(Scope *S, SourceLocation FriendLoc, unsigned TagSpec, SourceLocation TagLoc, @@ -7284,24 +7280,34 @@ private: private: // The current stack of constraint satisfactions, so we can exit-early. - llvm::SmallVector SatisfactionStack; + using SatisfactionStackEntryTy = + std::pair; + llvm::SmallVector + SatisfactionStack; public: - void PushSatisfactionStackEntry(const llvm::FoldingSetNodeID &ID) { - SatisfactionStack.push_back(ID); + void PushSatisfactionStackEntry(const NamedDecl *D, + const llvm::FoldingSetNodeID &ID) { + const NamedDecl *Can = cast(D->getCanonicalDecl()); + SatisfactionStack.emplace_back(Can, ID); } void PopSatisfactionStackEntry() { SatisfactionStack.pop_back(); } - bool SatisfactionStackContains(const llvm::FoldingSetNodeID &ID) const { - return llvm::find(SatisfactionStack, ID) != SatisfactionStack.end(); + bool SatisfactionStackContains(const NamedDecl *D, + const llvm::FoldingSetNodeID &ID) const { + const NamedDecl *Can = cast(D->getCanonicalDecl()); + return llvm::find(SatisfactionStack, + SatisfactionStackEntryTy{Can, ID}) != + SatisfactionStack.end(); } // Resets the current SatisfactionStack for cases where we are instantiating // constraints as a 'side effect' of normal instantiation in a way that is not // indicative of recursive definition. class SatisfactionStackResetRAII { - llvm::SmallVector BackupSatisfactionStack; + llvm::SmallVector + BackupSatisfactionStack; Sema &SemaRef; public: @@ -7314,8 +7320,8 @@ public: } }; - void - SwapSatisfactionStack(llvm::SmallVectorImpl &NewSS) { + void SwapSatisfactionStack( + llvm::SmallVectorImpl &NewSS) { SatisfactionStack.swap(NewSS); } diff --git a/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h b/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h index 4eca50919dc7..842eec099540 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h +++ b/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h @@ -62,7 +62,7 @@ inline InheritableAttr *getDLLAttr(Decl *D) { } /// Retrieve the depth and index of a template parameter. -inline std::pair getDepthAndIndex(const NamedDecl *ND) { +inline std::pair getDepthAndIndex(NamedDecl *ND) { if (const auto *TTP = dyn_cast(ND)) return std::make_pair(TTP->getDepth(), TTP->getIndex()); @@ -79,7 +79,7 @@ getDepthAndIndex(UnexpandedParameterPack UPP) { if (const auto *TTP = UPP.first.dyn_cast()) return std::make_pair(TTP->getDepth(), TTP->getIndex()); - return getDepthAndIndex(UPP.first.get()); + return getDepthAndIndex(UPP.first.get()); } class TypoCorrectionConsumer : public VisibleDeclConsumer { diff --git a/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h b/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h index ea05b9f8ee3f..fcc9c02999b3 100644 --- a/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h +++ b/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h @@ -454,7 +454,9 @@ public: llvm::SMTExprRef OperandExp = getSymExpr(Solver, Ctx, USE->getOperand(), &OperandTy, hasComparison); llvm::SMTExprRef UnaryExp = - fromUnOp(Solver, USE->getOpcode(), OperandExp); + OperandTy->isRealFloatingType() + ? fromFloatUnOp(Solver, USE->getOpcode(), OperandExp) + : fromUnOp(Solver, USE->getOpcode(), OperandExp); // Currently, without the `support-symbolic-integer-casts=true` option, // we do not emit `SymbolCast`s for implicit casts. diff --git a/contrib/llvm-project/clang/include/clang/Support/RISCVVIntrinsicUtils.h b/contrib/llvm-project/clang/include/clang/Support/RISCVVIntrinsicUtils.h index fc53d70019c5..bf31dced98b2 100644 --- a/contrib/llvm-project/clang/include/clang/Support/RISCVVIntrinsicUtils.h +++ b/contrib/llvm-project/clang/include/clang/Support/RISCVVIntrinsicUtils.h @@ -92,25 +92,24 @@ enum class TypeModifier : uint8_t { LLVM_MARK_AS_BITMASK_ENUM(LMUL1), }; -struct Policy { - bool IsUnspecified = false; +class Policy { +public: enum PolicyType { Undisturbed, Agnostic, }; - PolicyType TailPolicy = Agnostic; - PolicyType MaskPolicy = Agnostic; - bool HasTailPolicy, HasMaskPolicy; - Policy(bool HasTailPolicy, bool HasMaskPolicy) - : IsUnspecified(true), HasTailPolicy(HasTailPolicy), - HasMaskPolicy(HasMaskPolicy) {} - Policy(PolicyType TailPolicy, bool HasTailPolicy, bool HasMaskPolicy) - : TailPolicy(TailPolicy), HasTailPolicy(HasTailPolicy), - HasMaskPolicy(HasMaskPolicy) {} - Policy(PolicyType TailPolicy, PolicyType MaskPolicy, bool HasTailPolicy, - bool HasMaskPolicy) - : TailPolicy(TailPolicy), MaskPolicy(MaskPolicy), - HasTailPolicy(HasTailPolicy), HasMaskPolicy(HasMaskPolicy) {} + +private: + // The default assumption for an RVV instruction is TAMA, as an undisturbed + // policy generally will affect the performance of an out-of-order core. + const PolicyType TailPolicy = Agnostic; + const PolicyType MaskPolicy = Agnostic; *** 12885 LINES SKIPPED *** From nobody Sun Jul 23 18:27:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbC5vfbz4p65J; Sun, 23 Jul 2023 18:27: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 4R8BbC3mNRz3RDh; Sun, 23 Jul 2023 18:27:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PXuS418JWtVCrSQqIIA5Y3zXHpweiOLfjLGeQBu/svM=; b=Vee4h86kELURqEq3IVdchrId9+6jucdIPxrp9DlI6317LfnQZfaLyPduVpFSIUXzo4KQNn AJr/rj/DfFqJ0I2Rr6mqjOonp+GjI3xSOxfCNG5gjRc8eDRxGKJRtzuCGYFWq2nf+KGg/D 2MK5USsCr2t1d4YbIZOllKn7DrLDC0Y5MQ2S5yDKQyzCraF9DHOC/tt7Li1ZeddHpUUbRa hLaPdOsfVp7Ob8iBSggxobo6bJplAIhtbIO1YMTf28gSE+he+5Irh+Jdylfb2jVG8J/Uwa XN4dHw8I2JxTODIZeIz9OkY8YqclqEZpddH3Etb+wISOpG/7zAv9NgVGfrMh9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PXuS418JWtVCrSQqIIA5Y3zXHpweiOLfjLGeQBu/svM=; b=ADr3/tTZRwe0k6TM/HXG+NNXlGiExuy6njQ6SWvtFrBSEQZ+8GBKx1dXIEnhB5hXtWSoSD YOn08M+uOMd4k6gwZOJJFJeIxbHnfOCOFToPWNT7F57V8gYCnp7kxVoqVkzYyQSI1GHUOK mal2OB9mvyZ5V8D+cxa5H+VA/uljm1v0MH8fsLpjMgrfYmcWy8dv2MiptuyTwYC7OA4QP7 B5jGJD9J/J04+dwnsipq26PbwIIzDCH2a3hi7a16ww9IAaoheW5Y8mcl4ODaq7bauCujRK YczQWR9zJgmdajWBvaM36nPUYNSM+85v8lH/M0Yi+w3MvJa7Rq+qVyJJd0w5qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136823; a=rsa-sha256; cv=none; b=h4At5AU8L+3Tj4PGF0w+Oj2iXe5XT7GSA8oseNm4o6g5+4wTxVIr79SLLVJHJo+hqXApvB ejvJQtlFAIBISj6P/h6wiwa3/AUE+0I75oWoH/e3SHVQix+FtjiNph14OdU8LbfCew9MTp TauE4YeTSzKORCbr6OotMLJkxhboicqXYP+sXHIT7Qm05AZgq71R4vBaoikxqkBI4c9JZH tfcSowNp6NnjuY+h7sKbQIDlVd8hSMw8tBMYV/nHQOMNg23a7UeaAC0LoGkmNSej+yvOTB R13Kc2dJTvUxI/sXDoOqSgLkylH5nxdzJNyHg5vuKYo//3hj2SjYgRspBlo+Tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbC2tQ2zmqm; Sun, 23 Jul 2023 18:27: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 36NIR3q3058663; Sun, 23 Jul 2023 18:27:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR3Zg058662; Sun, 23 Jul 2023 18:27:03 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:03 GMT Message-Id: <202307231827.36NIR3Zg058662@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: 9f57b84aa13e - stable/13 - Merge commit 16949c5c48ab from llvm-project (by Dimitry Andric): List-Id: Commit messages for all branches 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: 9f57b84aa13e6a0c8956bdbb9d07eceec4c9bc21 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=9f57b84aa13e6a0c8956bdbb9d07eceec4c9bc21 commit 9f57b84aa13e6a0c8956bdbb9d07eceec4c9bc21 Author: Dimitry Andric AuthorDate: 2023-04-20 19:21:37 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:09 +0000 Merge commit 16949c5c48ab from llvm-project (by Dimitry Andric): [compiler-rt] Include system headers before optionally defining HWCAP macros In https://reviews.llvm.org/D141285 the optional definitions of `HWCAP` macros were moved to before their usage. However, they were also moved to before the inclusion of system headers which can optionally define them. If any of those system headers then actually defined any of the `HWCAP` macros, it would result in a redefinition error. Move the system header includes to just before the optional definitions, to avoid this problem. Reviewed By: ilinpv Differential Revision: https://reviews.llvm.org/D148819 PR: 271047 MFC after: 1 month (cherry picked from commit 482e0fcdf745981f2c2b12311405fe93563cefc4) --- .../compiler-rt/lib/builtins/cpu_model.c | 38 +++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/cpu_model.c b/contrib/llvm-project/compiler-rt/lib/builtins/cpu_model.c index f5ad530c7e88..f2dcd974008c 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/cpu_model.c +++ b/contrib/llvm-project/compiler-rt/lib/builtins/cpu_model.c @@ -839,6 +839,25 @@ int CONSTRUCTOR_ATTRIBUTE __cpu_indicator_init(void) { } #elif defined(__aarch64__) +// LSE support detection for out-of-line atomics +// using HWCAP and Auxiliary vector +_Bool __aarch64_have_lse_atomics + __attribute__((visibility("hidden"), nocommon)); + +#if defined(__has_include) +#if __has_include() +#include +#if __has_include() +#include + +#if defined(__ANDROID__) +#include +#include +#elif defined(__Fuchsia__) +#include +#include +#endif + #ifndef AT_HWCAP #define AT_HWCAP 16 #endif @@ -1009,25 +1028,6 @@ int CONSTRUCTOR_ATTRIBUTE __cpu_indicator_init(void) { #define HWCAP2_SVE_EBF16 (1UL << 33) #endif -// LSE support detection for out-of-line atomics -// using HWCAP and Auxiliary vector -_Bool __aarch64_have_lse_atomics - __attribute__((visibility("hidden"), nocommon)); - -#if defined(__has_include) -#if __has_include() -#include -#if __has_include() -#include - -#if defined(__ANDROID__) -#include -#include -#elif defined(__Fuchsia__) -#include -#include -#endif - // Detect Exynos 9810 CPU #define IF_EXYNOS9810 \ char arch[PROP_VALUE_MAX]; \ From nobody Sun Jul 23 18:27:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbD6rFRz4p6DZ; Sun, 23 Jul 2023 18:27:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R8BbD5WqFz3RKK; Sun, 23 Jul 2023 18:27:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NpgER2BwhfhunfYe42Ch3So1tntMc/2qUWpRmonIEao=; b=c+ne7Wi/z+7iduvFk+KzRO/XEWTQrQCn868qhS+NF62sSUE91LOtsfDxh7y5xXKkpDFaDP /Thvps7IHJA+ucWGthT/ka63dq2l+rJOdUvK3zj6B5mNdYaQPshqMBTxidSooRtEW2C80h ATdVISQtoTxXt/h/A/K0AxZixXmTB/Yccwunx07ZFJoa456zjU9oJI/MmuuKHbuvmSVO4/ QDMi1wvnOJzfgUSboRhGBH+vC31pHNyuUmT/o6uMe5IzrWMnbx/z6j3owXWONMXZii5+xb PDz3H233zlYvzoQi/r9md5AS7gXD0FxbKc2qy2Yv0FRWjT6CH0UViUZH4hCWeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NpgER2BwhfhunfYe42Ch3So1tntMc/2qUWpRmonIEao=; b=xn89M2jGtKEqiwWMHTL+Q66IpZD19gmCbVdP5XfqBLKn9dHyvJjNU7xsZFkEoTwYlzgG4G e9KRC13zBdgNju58hM43Di9J3husGpcRrGTWPu2RlKkXWJVDakhFiDZpJILpg8o6lLzSLJ wmTIr60jyhHiwXD8bZ61fnkV+5zh9eaRKEqhenTkCf+mMPjGgdcRv9myEwYbiw4HxkGC1F yWvoIvSgqcOXcPcIt5oXChDdkVh1JUSxO0ToRV9aUd5VmmCeLq/WpIhOFxhUozEo48vWFb aGiyqz83IZB7HcRZ1+F5Fpepnxhdl7Jig921OHQ2pm4ewdPZHB9jw6x7jkkpFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136824; a=rsa-sha256; cv=none; b=vOHMaCcSDz0uXcynWKjB5ZjbLryPh7gkKlVtxuvzyFtK7vMvG0lGs/wkNvd2HROnwSqCR6 tfpaPQRo00YapFk7o6w8m1V9dPB3A+HgXTRvfxxl8/GggFd54NM2nvOhvUCTrodSH+biD1 7qGcrkllI1WdmkqjG1Jm/G/avwNAKEGm6PYRBfg/hPVVV4kxlSc++0wIUM7DisotM2c5KU k3C6AtbM9z2XyNw84ei9cUsaDRwPEsZgq1id6lPFXnT5ElbKuOj4kPhGhphTw4WUA9BKV/ YoPGqu3ZiG5Ei75Ked9657L2E2WGIeDytKRl6xOw3+zZlrfaOpwPuAnH91Er/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 4R8BbD3qDBzmfD; Sun, 23 Jul 2023 18:27: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 36NIR4nd058686; Sun, 23 Jul 2023 18:27:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR4EG058685; Sun, 23 Jul 2023 18:27:04 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:04 GMT Message-Id: <202307231827.36NIR4EG058685@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: 2da197f30da5 - stable/13 - Merge commit db492316399a from llvm-project (by Dimitry Andric): List-Id: Commit messages for all branches 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: 2da197f30da59015be64f98a2901c4e0a16819f6 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2da197f30da59015be64f98a2901c4e0a16819f6 commit 2da197f30da59015be64f98a2901c4e0a16819f6 Author: Dimitry Andric AuthorDate: 2023-04-20 19:22:59 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:09 +0000 Merge commit db492316399a from llvm-project (by Dimitry Andric): [clang][BFloat] Avoid redefining bfloat16_t in arm_neon.h As of https://reviews.llvm.org/D79708, clang-tblgen generates `arm_neon.h`, `arm_sve.h` and `arm_bf16.h`, and all those generated files will contain a typedef of `bfloat16_t`. However, `arm_neon.h` and `arm_sve.h` include `arm_bf16.h` immediately before their own typedef: #include typedef __bf16 bfloat16_t; With a recent version of clang (I used 16.0.1) this results in warnings: /usr/lib/clang/16/include/arm_neon.h:38:16: error: redefinition of typedef 'bfloat16_t' is a C11 feature [-Werror,-Wtypedef-redefinition] Since `arm_bf16.h` is very likely supposed to be the one true place where `bfloat16_t` is defined, I propose to delete the duplicate typedefs from the generated `arm_neon.h` and `arm_sve.h`. Reviewed By: sdesmalen, simonbutcher Differential Revision: https://reviews.llvm.org/D148822 PR: 271047 MFC after: 1 month (cherry picked from commit 1ac57eed95099f4d9da2ecab6000ad66d05c1018) --- contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp | 1 - contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp b/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp index 8f46b08b1366..08f2344f5d0a 100644 --- a/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp +++ b/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp @@ -2353,7 +2353,6 @@ void NeonEmitter::run(raw_ostream &OS) { OS << "#include \n\n"; OS << "#include \n"; - OS << "typedef __bf16 bfloat16_t;\n"; // Emit NEON-specific scalar typedefs. OS << "typedef float float32_t;\n"; diff --git a/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp b/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp index a577c10e3c64..bca61e703020 100644 --- a/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp +++ b/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp @@ -1103,7 +1103,6 @@ void SVEEmitter::createHeader(raw_ostream &OS) { OS << "typedef __SVBFloat16_t svbfloat16_t;\n"; OS << "#include \n"; - OS << "typedef __bf16 bfloat16_t;\n"; OS << "typedef __SVFloat32_t svfloat32_t;\n"; OS << "typedef __SVFloat64_t svfloat64_t;\n"; From nobody Sun Jul 23 18:27:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbG3Czxz4p6KF; Sun, 23 Jul 2023 18:27: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 4R8BbF737mz3RDy; Sun, 23 Jul 2023 18:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q1PxiDNzYlcD5OLSsudP4tWb5kLxAmGIYSS+gyTrTMY=; b=xKHevAT4IAeoXKqlt/qK4rmqay0DU45TTz5zoWANNDjna24hqH1dszJfcguNd965Wr5Azc hDlYn77GYVkT0j/hJEpe2OcwokIrzTirr58uamyLYrizMxSgVC9468h1Fi5Btll6GOLx6W E3eVUBRG9WOFAvPRpagmgB6lI7A/tQx+gWXMLg6sivDc2FGOscW2W61sOcYSs7A7uuBU5y hql95oYT2RPTm9MonJSKpR5CICgviENDNi+PmDaXnWAO9nlxcCA+aM9VflUBvP8tXhNd8Y aVvbxk8osTP0ZhFXKoZqp/GydZb5Djq1GPp/qee8f2MpQEuGavPiwM8i3baJtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q1PxiDNzYlcD5OLSsudP4tWb5kLxAmGIYSS+gyTrTMY=; b=xWnhIo46U+LMf48A4a43/V8didbnSH0kOYF1sdupfUXFoYNL4dCY+U9yB/ZO1thHPPZ0yN PUyqF4EzlTXyoc0SctGPWYENHCj9Dvg453TTQLkopDWyGfTxfKkVue11tCiXapq2HCioSw thivGN1ar4R4MqMnQ/x4Ef1dftn5gNEW5iNBkBdzPTM9+9Hy6ImHvQpqUBaTEEDFOOvl+V kLUcvw7+kclJ6MQwBdEOreqeeD25Gq7D5O2c/jGQCi+e0JaLsTkXN2f96pKVGvIKEtaSF9 bZrGA7tIKZBWrT7DdgAZZqH6j7cbn10Cf4V62KqMG0xw10bXa862hH3CCjAkeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136826; a=rsa-sha256; cv=none; b=riUxohTgbxnPpNpQnr6jDJHT3Z2iSyAp5K7BsYOBvVlPAOVoL8RpnU7zP96fBv+ZkpDYZJ u/Q8Qgvqor5ZUrv1nAUnuRafBSjyUwb3/bqpPjCy63jtBnWZPudY5gITA4SLHToWh4OOwH 2xY6emD3KSSW2Gc7jl3+F3uQgPMPeP/5l52IEyjC4RwCtJBBKwyxuj1Ad79P74DvGck+XM zZ4K/Skcrt/3cFafy+aGJQRlqgiXqdpFU+WZWxncwVU7c95fnoIpI6aP1uqEGN6jEPCh1L B9KL8S547tvojrnVrqOGjPyoHvatekEZ7yuMAAoPkLUsAAru9lpwXOPJtS5C3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbF4brzzmfF; Sun, 23 Jul 2023 18:27: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 36NIR5pY058710; Sun, 23 Jul 2023 18:27:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR5cB058708; Sun, 23 Jul 2023 18:27:05 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:05 GMT Message-Id: <202307231827.36NIR5cB058708@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: 702c3649b50c - stable/13 - Merge llvm-project release/16.x llvmorg-16.0.2-0-g18ddebe1a1a9 List-Id: Commit messages for all branches 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: 702c3649b50c733618e61bc7ea923ad361487685 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=702c3649b50c733618e61bc7ea923ad361487685 commit 702c3649b50c733618e61bc7ea923ad361487685 Author: Dimitry Andric AuthorDate: 2023-04-22 17:27:13 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:09 +0000 Merge llvm-project release/16.x llvmorg-16.0.2-0-g18ddebe1a1a9 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.2-0-g18ddebe1a1a9 (aka 16.0.2 release). PR: 271047 MFC after: 1 month (cherry picked from commit 9e7101a856ad738879b0bde099bfb2ba08b7995c) --- contrib/llvm-project/clang/lib/Format/Format.cpp | 10 +- .../clang/lib/Format/TokenAnnotator.cpp | 9 +- .../compiler-rt/lib/asan/asan_interceptors.cpp | 47 ++++-- .../compiler-rt/lib/asan/asan_internal.h | 2 +- .../compiler-rt/lib/asan/asan_linux.cpp | 158 +++++++++++---------- contrib/llvm-project/libcxx/include/__config | 2 +- .../libunwind/src/UnwindRegistersRestore.S | 4 +- .../llvm/TargetParser/AArch64TargetParser.h | 2 +- .../llvm/lib/CodeGen/StackProtector.cpp | 21 ++- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 7 + .../llvm/lib/Transforms/Scalar/SROA.cpp | 6 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 18 files changed, 166 insertions(+), 132 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Format/Format.cpp b/contrib/llvm-project/clang/lib/Format/Format.cpp index 0d3fde90ab38..a59d53009eaa 100644 --- a/contrib/llvm-project/clang/lib/Format/Format.cpp +++ b/contrib/llvm-project/clang/lib/Format/Format.cpp @@ -721,23 +721,23 @@ template <> struct MappingTraits { FormatStyle::TrailingCommentsAlignmentStyle &Value) { IO.enumCase(Value, "Leave", FormatStyle::TrailingCommentsAlignmentStyle( - {FormatStyle::TCAS_Leave, 1})); + {FormatStyle::TCAS_Leave, 0})); IO.enumCase(Value, "Always", FormatStyle::TrailingCommentsAlignmentStyle( - {FormatStyle::TCAS_Always, 1})); + {FormatStyle::TCAS_Always, 0})); IO.enumCase(Value, "Never", FormatStyle::TrailingCommentsAlignmentStyle( - {FormatStyle::TCAS_Never, 1})); + {FormatStyle::TCAS_Never, 0})); // For backwards compatibility IO.enumCase(Value, "true", FormatStyle::TrailingCommentsAlignmentStyle( - {FormatStyle::TCAS_Always, 1})); + {FormatStyle::TCAS_Always, 0})); IO.enumCase(Value, "false", FormatStyle::TrailingCommentsAlignmentStyle( - {FormatStyle::TCAS_Never, 1})); + {FormatStyle::TCAS_Never, 0})); } static void mapping(IO &IO, diff --git a/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp b/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp index ca651eaa9440..464594bf7488 100644 --- a/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp +++ b/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp @@ -399,8 +399,7 @@ private: FormatToken *Next = CurrentToken->Next; if (PrevPrev && PrevPrev->is(tok::identifier) && Prev->isOneOf(tok::star, tok::amp, tok::ampamp) && - CurrentToken->is(tok::identifier) && - !Next->isOneOf(tok::equal, tok::l_brace)) { + CurrentToken->is(tok::identifier) && Next->isNot(tok::equal)) { Prev->setType(TT_BinaryOperator); LookForDecls = false; } @@ -2399,12 +2398,6 @@ private: return TT_PointerOrReference; } - // if (Class* obj { function() }) - if (PrevToken->Tok.isAnyIdentifier() && NextToken->Tok.isAnyIdentifier() && - NextToken->Next && NextToken->Next->is(tok::l_brace)) { - return TT_PointerOrReference; - } - if (PrevToken->endsSequence(tok::r_square, tok::l_square, tok::kw_delete)) return TT_UnaryOperator; diff --git a/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp b/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp index 817008253fc0..776f512d08a0 100644 --- a/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp +++ b/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp @@ -257,12 +257,36 @@ static void ClearShadowMemoryForContextStack(uptr stack, uptr ssize) { PoisonShadow(bottom, ssize, 0); } -INTERCEPTOR(int, getcontext, struct ucontext_t *ucp) { - // API does not requires to have ucp clean, and sets only part of fields. We - // use ucp->uc_stack to unpoison new stack. We prefer to have zeroes then - // uninitialized bytes. - ResetContextStack(ucp); - return REAL(getcontext)(ucp); +INTERCEPTOR(void, makecontext, struct ucontext_t *ucp, void (*func)(), int argc, + ...) { + va_list ap; + uptr args[64]; + // We don't know a better way to forward ... into REAL function. We can + // increase args size if neccecary. + CHECK_LE(argc, ARRAY_SIZE(args)); + internal_memset(args, 0, sizeof(args)); + va_start(ap, argc); + for (int i = 0; i < argc; ++i) args[i] = va_arg(ap, uptr); + va_end(ap); + +# define ENUMERATE_ARRAY_4(start) \ + args[start], args[start + 1], args[start + 2], args[start + 3] +# define ENUMERATE_ARRAY_16(start) \ + ENUMERATE_ARRAY_4(start), ENUMERATE_ARRAY_4(start + 4), \ + ENUMERATE_ARRAY_4(start + 8), ENUMERATE_ARRAY_4(start + 12) +# define ENUMERATE_ARRAY_64() \ + ENUMERATE_ARRAY_16(0), ENUMERATE_ARRAY_16(16), ENUMERATE_ARRAY_16(32), \ + ENUMERATE_ARRAY_16(48) + + REAL(makecontext) + ((struct ucontext_t *)ucp, func, argc, ENUMERATE_ARRAY_64()); + +# undef ENUMERATE_ARRAY_4 +# undef ENUMERATE_ARRAY_16 +# undef ENUMERATE_ARRAY_64 + + // Sign the stack so we can identify it for unpoisoning. + SignContextStack(ucp); } INTERCEPTOR(int, swapcontext, struct ucontext_t *oucp, @@ -279,9 +303,6 @@ INTERCEPTOR(int, swapcontext, struct ucontext_t *oucp, ReadContextStack(ucp, &stack, &ssize); ClearShadowMemoryForContextStack(stack, ssize); - // See getcontext interceptor. - ResetContextStack(oucp); - # if __has_attribute(__indirect_return__) && \ (defined(__x86_64__) || defined(__i386__)) int (*real_swapcontext)(struct ucontext_t *, struct ucontext_t *) @@ -658,11 +679,11 @@ void InitializeAsanInterceptors() { // Intecept jump-related functions. ASAN_INTERCEPT_FUNC(longjmp); -#if ASAN_INTERCEPT_SWAPCONTEXT - ASAN_INTERCEPT_FUNC(getcontext); +# if ASAN_INTERCEPT_SWAPCONTEXT ASAN_INTERCEPT_FUNC(swapcontext); -#endif -#if ASAN_INTERCEPT__LONGJMP + ASAN_INTERCEPT_FUNC(makecontext); +# endif +# if ASAN_INTERCEPT__LONGJMP ASAN_INTERCEPT_FUNC(_longjmp); #endif #if ASAN_INTERCEPT___LONGJMP_CHK diff --git a/contrib/llvm-project/compiler-rt/lib/asan/asan_internal.h b/contrib/llvm-project/compiler-rt/lib/asan/asan_internal.h index 959fdec26042..a5348e35b297 100644 --- a/contrib/llvm-project/compiler-rt/lib/asan/asan_internal.h +++ b/contrib/llvm-project/compiler-rt/lib/asan/asan_internal.h @@ -105,8 +105,8 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle); void AsanOnDeadlySignal(int, void *siginfo, void *context); +void SignContextStack(void *context); void ReadContextStack(void *context, uptr *stack, uptr *ssize); -void ResetContextStack(void *context); void StopInitOrderChecking(); // Wrapper for TLS/TSD. diff --git a/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cpp b/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cpp index 4c01ff9e2ae8..e19b4479aaf3 100644 --- a/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cpp +++ b/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cpp @@ -15,55 +15,56 @@ #if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD || \ SANITIZER_SOLARIS -#include "asan_interceptors.h" -#include "asan_internal.h" -#include "asan_premap_shadow.h" -#include "asan_thread.h" -#include "sanitizer_common/sanitizer_flags.h" -#include "sanitizer_common/sanitizer_freebsd.h" -#include "sanitizer_common/sanitizer_libc.h" -#include "sanitizer_common/sanitizer_procmaps.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if SANITIZER_FREEBSD -#include -#endif - -#if SANITIZER_SOLARIS -#include -#endif - -#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS -#include -extern "C" void* _DYNAMIC; -#elif SANITIZER_NETBSD -#include -#include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include "asan_interceptors.h" +# include "asan_internal.h" +# include "asan_premap_shadow.h" +# include "asan_thread.h" +# include "sanitizer_common/sanitizer_flags.h" +# include "sanitizer_common/sanitizer_freebsd.h" +# include "sanitizer_common/sanitizer_hash.h" +# include "sanitizer_common/sanitizer_libc.h" +# include "sanitizer_common/sanitizer_procmaps.h" + +# if SANITIZER_FREEBSD +# include +# endif + +# if SANITIZER_SOLARIS +# include +# endif + +# if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS +# include +extern "C" void *_DYNAMIC; +# elif SANITIZER_NETBSD +# include +# include extern Elf_Dyn _DYNAMIC; -#else -#include -#include +# else +# include +# include extern ElfW(Dyn) _DYNAMIC[]; -#endif +# endif // x86-64 FreeBSD 9.2 and older define 'ucontext_t' incorrectly in // 32-bit mode. -#if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) && \ - __FreeBSD_version <= 902001 // v9.2 -#define ucontext_t xucontext_t -#endif +# if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) && \ + __FreeBSD_version <= 902001 // v9.2 +# define ucontext_t xucontext_t +# endif typedef enum { ASAN_RT_VERSION_UNDEFINED = 0, @@ -74,21 +75,21 @@ typedef enum { // FIXME: perhaps also store abi version here? extern "C" { SANITIZER_INTERFACE_ATTRIBUTE -asan_rt_version_t __asan_rt_version; +asan_rt_version_t __asan_rt_version; } namespace __asan { void InitializePlatformInterceptors() {} void InitializePlatformExceptionHandlers() {} -bool IsSystemHeapAddress (uptr addr) { return false; } +bool IsSystemHeapAddress(uptr addr) { return false; } void *AsanDoesNotSupportStaticLinkage() { // This will fail to link with -static. return &_DYNAMIC; } -#if ASAN_PREMAP_SHADOW +# if ASAN_PREMAP_SHADOW uptr FindPremappedShadowStart(uptr shadow_size_bytes) { uptr granularity = GetMmapGranularity(); uptr shadow_start = reinterpret_cast(&__asan_shadow); @@ -98,14 +99,14 @@ uptr FindPremappedShadowStart(uptr shadow_size_bytes) { UnmapFromTo(shadow_start + shadow_size, shadow_start + premap_shadow_size); return shadow_start; } -#endif +# endif uptr FindDynamicShadowStart() { uptr shadow_size_bytes = MemToShadowSize(kHighMemEnd); -#if ASAN_PREMAP_SHADOW +# if ASAN_PREMAP_SHADOW if (!PremapShadowFailed()) return FindPremappedShadowStart(shadow_size_bytes); -#endif +# endif return MapDynamicShadow(shadow_size_bytes, ASAN_SHADOW_SCALE, /*min_shadow_base_alignment*/ 0, kHighMemEnd); @@ -121,11 +122,11 @@ void FlushUnneededASanShadowMemory(uptr p, uptr size) { ReleaseMemoryPagesToOS(MemToShadow(p), MemToShadow(p + size)); } -#if SANITIZER_ANDROID +# if SANITIZER_ANDROID // FIXME: should we do anything for Android? void AsanCheckDynamicRTPrereqs() {} void AsanCheckIncompatibleRT() {} -#else +# else static int FindFirstDSOCallback(struct dl_phdr_info *info, size_t size, void *data) { VReport(2, "info->dlpi_name = %s\tinfo->dlpi_addr = %p\n", info->dlpi_name, @@ -154,7 +155,7 @@ static int FindFirstDSOCallback(struct dl_phdr_info *info, size_t size, static bool IsDynamicRTName(const char *libname) { return internal_strstr(libname, "libclang_rt.asan") || - internal_strstr(libname, "libasan.so"); + internal_strstr(libname, "libasan.so"); } static void ReportIncompatibleRT() { @@ -170,9 +171,10 @@ void AsanCheckDynamicRTPrereqs() { const char *first_dso_name = nullptr; dl_iterate_phdr(FindFirstDSOCallback, &first_dso_name); if (first_dso_name && first_dso_name[0] && !IsDynamicRTName(first_dso_name)) { - Report("ASan runtime does not come first in initial library list; " - "you should either link runtime to your application or " - "manually preload it with LD_PRELOAD.\n"); + Report( + "ASan runtime does not come first in initial library list; " + "you should either link runtime to your application or " + "manually preload it with LD_PRELOAD.\n"); Die(); } } @@ -190,13 +192,14 @@ void AsanCheckIncompatibleRT() { // as early as possible, otherwise ASan interceptors could bind to // the functions in dynamic ASan runtime instead of the functions in // system libraries, causing crashes later in ASan initialization. - MemoryMappingLayout proc_maps(/*cache_enabled*/true); + MemoryMappingLayout proc_maps(/*cache_enabled*/ true); char filename[PATH_MAX]; MemoryMappedSegment segment(filename, sizeof(filename)); while (proc_maps.Next(&segment)) { if (IsDynamicRTName(segment.filename)) { - Report("Your application is linked against " - "incompatible ASan runtimes.\n"); + Report( + "Your application is linked against " + "incompatible ASan runtimes.\n"); Die(); } } @@ -206,25 +209,36 @@ void AsanCheckIncompatibleRT() { } } } -#endif // SANITIZER_ANDROID +# endif // SANITIZER_ANDROID # if ASAN_INTERCEPT_SWAPCONTEXT -void ReadContextStack(void *context, uptr *stack, uptr *ssize) { - ucontext_t *ucp = (ucontext_t*)context; - *stack = (uptr)ucp->uc_stack.ss_sp; - *ssize = ucp->uc_stack.ss_size; +constexpr u32 kAsanContextStackFlagsMagic = 0x51260eea; + +static int HashContextStack(const ucontext_t &ucp) { + MurMur2Hash64Builder hash(kAsanContextStackFlagsMagic); + hash.add(reinterpret_cast(ucp.uc_stack.ss_sp)); + hash.add(ucp.uc_stack.ss_size); + return static_cast(hash.get()); } -void ResetContextStack(void *context) { - ucontext_t *ucp = (ucontext_t *)context; - ucp->uc_stack.ss_sp = nullptr; - ucp->uc_stack.ss_size = 0; +void SignContextStack(void *context) { + ucontext_t *ucp = reinterpret_cast(context); + ucp->uc_stack.ss_flags = HashContextStack(*ucp); } -# endif // ASAN_INTERCEPT_SWAPCONTEXT -void *AsanDlSymNext(const char *sym) { - return dlsym(RTLD_NEXT, sym); +void ReadContextStack(void *context, uptr *stack, uptr *ssize) { + const ucontext_t *ucp = reinterpret_cast(context); + if (HashContextStack(*ucp) == ucp->uc_stack.ss_flags) { + *stack = reinterpret_cast(ucp->uc_stack.ss_sp); + *ssize = ucp->uc_stack.ss_size; + return; + } + *stack = 0; + *ssize = 0; } +# endif // ASAN_INTERCEPT_SWAPCONTEXT + +void *AsanDlSymNext(const char *sym) { return dlsym(RTLD_NEXT, sym); } bool HandleDlopenInit() { // Not supported on this platform. @@ -233,7 +247,7 @@ bool HandleDlopenInit() { return false; } -} // namespace __asan +} // namespace __asan #endif // SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD || // SANITIZER_SOLARIS diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 581ada45b3f0..5e30a42174af 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -38,7 +38,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 160001 +# define _LIBCPP_VERSION 160002 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S b/contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S index 543b19f7e72a..951189ea54dd 100644 --- a/contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S +++ b/contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S @@ -1221,8 +1221,8 @@ DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind19Registers_loongarch6jumptoEv) ld.d $r\i, $a0, (8 * \i) .endr - ld.d $r4, $a0, (8 * 4) // restore $a0 last - ld.d $r1, $a0, (8 * 32) // load new pc into $ra + ld.d $ra, $a0, (8 * 32) // load new pc into $ra + ld.d $a0, $a0, (8 * 4) // restore $a0 last jr $ra diff --git a/contrib/llvm-project/llvm/include/llvm/TargetParser/AArch64TargetParser.h b/contrib/llvm-project/llvm/include/llvm/TargetParser/AArch64TargetParser.h index 11fce886ffb8..1326968e34de 100644 --- a/contrib/llvm-project/llvm/include/llvm/TargetParser/AArch64TargetParser.h +++ b/contrib/llvm-project/llvm/include/llvm/TargetParser/AArch64TargetParser.h @@ -177,7 +177,7 @@ inline constexpr ExtensionInfo Extensions[] = { {"brbe", AArch64::AEK_BRBE, "+brbe", "-brbe", FEAT_MAX, "", 0}, {"bti", AArch64::AEK_NONE, {}, {}, FEAT_BTI, "+bti", 510}, {"crc", AArch64::AEK_CRC, "+crc", "-crc", FEAT_CRC, "+crc", 110}, - {"crypto", AArch64::AEK_CRYPTO, "+crypto", "-crypto", FEAT_MAX, "", 0}, + {"crypto", AArch64::AEK_CRYPTO, "+crypto", "-crypto", FEAT_MAX, "+aes,+sha2", 0}, {"cssc", AArch64::AEK_CSSC, "+cssc", "-cssc", FEAT_MAX, "", 0}, {"d128", AArch64::AEK_D128, "+d128", "-d128", FEAT_MAX, "", 0}, {"dgh", AArch64::AEK_NONE, {}, {}, FEAT_DGH, "", 260}, diff --git a/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp b/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp index 46685f7b8208..c5cf6ae6578b 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp @@ -455,18 +455,15 @@ bool StackProtector::InsertStackProtectors() { if (&BB == FailBB) continue; Instruction *CheckLoc = dyn_cast(BB.getTerminator()); - if (!CheckLoc && !DisableCheckNoReturn) { - for (auto &Inst : BB) { - auto *CB = dyn_cast(&Inst); - if (!CB) - continue; - if (!CB->doesNotReturn()) - continue; - // Do stack check before non-return calls (e.g: __cxa_throw) - CheckLoc = CB; - break; - } - } + if (!CheckLoc && !DisableCheckNoReturn) + for (auto &Inst : BB) + if (auto *CB = dyn_cast(&Inst)) + // Do stack check before noreturn calls that aren't nounwind (e.g: + // __cxa_throw). + if (CB->doesNotReturn() && !CB->doesNotThrow()) { + CheckLoc = CB; + break; + } if (!CheckLoc) continue; diff --git a/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp b/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp index 7b9b8b2f53fb..fae4a4308fd7 100644 --- a/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp +++ b/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp @@ -84,8 +84,15 @@ raw_ostream::~raw_ostream() { } size_t raw_ostream::preferred_buffer_size() const { +#ifdef _WIN32 + // On Windows BUFSIZ is only 512 which results in more calls to write. This + // overhead can cause significant performance degradation. Therefore use a + // better default. + return (16 * 1024); +#else // BUFSIZ is intended to be a reasonable default. return BUFSIZ; +#endif } void raw_ostream::SetBuffered() { diff --git a/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp b/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp index 8339981e1bdc..818d64725893 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp @@ -1581,15 +1581,17 @@ static void rewriteMemOpOfSelect(SelectInst &SI, T &I, bool IsThen = SuccBB == HeadBI->getSuccessor(0); int SuccIdx = IsThen ? 0 : 1; auto *NewMemOpBB = SuccBB == Tail ? Head : SuccBB; + auto &CondMemOp = cast(*I.clone()); if (NewMemOpBB != Head) { NewMemOpBB->setName(Head->getName() + (IsThen ? ".then" : ".else")); if (isa(I)) ++NumLoadsPredicated; else ++NumStoresPredicated; - } else + } else { + CondMemOp.dropUndefImplyingAttrsAndUnknownMetadata(); ++NumLoadsSpeculated; - auto &CondMemOp = cast(*I.clone()); + } CondMemOp.insertBefore(NewMemOpBB->getTerminator()); Value *Ptr = SI.getOperand(1 + SuccIdx); if (auto *PtrTy = Ptr->getType(); diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index 17a4e9fbc6bc..420881e41de4 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,10 +1,10 @@ // $FreeBSD$ -#define LLVM_REVISION "llvmorg-16.0.1-0-gcd89023f7979" +#define LLVM_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-16.0.1-0-gcd89023f7979" +#define CLANG_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-16.0.1-0-gcd89023f7979" +#define LLDB_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index 7b3afbcccb01..c6154e17ec22 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,10 +1,10 @@ /* $FreeBSD$ */ -#define CLANG_VERSION 16.0.1 -#define CLANG_VERSION_STRING "16.0.1" +#define CLANG_VERSION 16.0.2 +#define CLANG_VERSION_STRING "16.0.2" #define CLANG_VERSION_MAJOR 16 #define CLANG_VERSION_MAJOR_STRING "16" #define CLANG_VERSION_MINOR 0 -#define CLANG_VERSION_PATCHLEVEL 1 +#define CLANG_VERSION_PATCHLEVEL 2 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index b5cd91c34032..4e2cc44c9364 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400006 -#define LLD_VERSION_STRING "16.0.1 (FreeBSD llvmorg-16.0.1-0-gcd89023f7979-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "16.0.2 (FreeBSD llvmorg-16.0.2-0-g18ddebe1a1a9-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index 7060f0d93cbc..dab8cdb281fa 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 16.0.1 -#define LLDB_VERSION_STRING "16.0.1" +#define LLDB_VERSION 16.0.2 +#define LLDB_VERSION_STRING "16.0.2" #define LLDB_VERSION_MAJOR 16 #define LLDB_VERSION_MINOR 0 -#define LLDB_VERSION_PATCH 1 +#define LLDB_VERSION_PATCH 2 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index 46ac23cf47a1..93cb4b9dd9dc 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -348,10 +348,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 16.0.1" +#define PACKAGE_STRING "LLVM 16.0.2" /* Define to the version of this package. */ -#define PACKAGE_VERSION "16.0.1" +#define PACKAGE_VERSION "16.0.2" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index 640003331a8e..b5b415db51c4 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -74,10 +74,10 @@ #define LLVM_VERSION_MINOR 0 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 1 +#define LLVM_VERSION_PATCH 2 /* LLVM version string */ -#define LLVM_VERSION_STRING "16.0.1" +#define LLVM_VERSION_STRING "16.0.2" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index 5194bb986dc0..760d4e828e07 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,3 +1,3 @@ /* $FreeBSD$ */ -#define LLVM_REVISION "llvmorg-16.0.1-0-gcd89023f7979" +#define LLVM_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" From nobody Sun Jul 23 18:27:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbH1QDdz4p6H3; Sun, 23 Jul 2023 18:27: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 4R8BbG6sdKz3RF8; Sun, 23 Jul 2023 18:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oC+5GgMluqg4V4uomXHruYfC+Xf+SIqU+5MC54JdCNc=; b=AUYUt9lwjtjTxR5LBkb4IxlojCqC/zKqv1OrQ+3FNh+QdDRmrEDmvx1yQAK4lHunkX/uLM dUCSNVFN2SOk+RKAkbisJqRiiJjQd64wVgWwHCAbXkIMAywM+h1gxfhMY7hOjeOrXRhvOo 3r9Ul4/5qaUmxbGwxejs3wHK/ZX4u5+uUZMVtLue7luXfk639fqWuVoHHq4rshaEoIDyCP ycuAm8b7rQQi4y4wnZcaGeCg2eThehzTG1Ichhr6CHOe6RAjrrHVTZKN+cEptXgZB+7IOj N4FyvGez7qR/2LXxFp7RGkc6b+qBD1t/CTdjKWfKnc1Zp4+lIlL53txYwyxbbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oC+5GgMluqg4V4uomXHruYfC+Xf+SIqU+5MC54JdCNc=; b=WSkwj22m71UrrLsda9bLLBOOoRroTdFbc18seqE0Skua5wgR37zF8KevWJEcM4S9bA/8/R 17mElE29g9M+7BdxnUApZGiPaCWtHHPwwreiILh8JptZ2yOXTJKDN5zYl6yDaJhNduIpwn a3KJUum85saP5EqjGRnq7ynubNZbaFrCl4jJdkwg+PZpVXmz5lRa3IFmYYEarMFyb4Zidj KiontMhg9MdG3Nj5Lq2rNKy/7quZQGnE35mfo4j6v5BZpuJ7IgV+54kyK8klR9W0efIO4q ei9ZRTCcC28Er3cD8JD4P5OYRSnyjLVUiLtfJVGZNPTNma+IN97OqYiSbz4Vag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136827; a=rsa-sha256; cv=none; b=TDtCEkL+JTtO28+eXIVcnk8lookA8UgRGq/HnzXaMgffSmj81OFfZWjfYTuI8lab9OlEoz guxh5VRUGN0R1HGkTe9VI6kv40xt7c75kyPMPsIKnMyIdivQO+tKc0Y/VeB9TCWL1RtWFr 3ZQRVYg6OF3T2pswCnY2I5BYUwshURdMbumuHkwNFkS7gJLtOplBS/ZAa5GJTcOhc4bxLw cXA+UAMQHnIiW7TTsPIAUPZaBzFoxPky/Hi+tqCf++KBGk3w8c11p9Jk/tLDxfMiD2zABE PaAtICFAG8k6iLV8eHZoYZpHtQWJ4cOLmqMnjOO32QrLjNyF8eFbuFGM0tMwmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbG5bSrzmVR; Sun, 23 Jul 2023 18:27: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 36NIR69E058732; Sun, 23 Jul 2023 18:27:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR6H1058731; Sun, 23 Jul 2023 18:27:06 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:06 GMT Message-Id: <202307231827.36NIR6H1058731@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: c1f875b54b19 - stable/13 - clang: re-downgrade implicit int/function declarations to warning only List-Id: Commit messages for all branches 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: c1f875b54b192f35b57953c514ec1800a4b5d0d9 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c1f875b54b192f35b57953c514ec1800a4b5d0d9 commit c1f875b54b192f35b57953c514ec1800a4b5d0d9 Author: Dimitry Andric AuthorDate: 2023-04-25 19:24:04 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:09 +0000 clang: re-downgrade implicit int/function declarations to warning only This reapplies upstream commit c0141f3c300f by Aaron Ballman: Downgrade implicit int and implicit function declaration to warning only The changes in Clang 15.0.0 which enabled these diagnostics as a warning which defaulted to an error caused disruption for people working on distributions such as Gentoo. There was an explicit request to downgrade these to be warning-only in Clang 15.0.1 with the expectation that Clang 16 will default the diagnostics to an error. See https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 for more details on the discussion. See https://reviews.llvm.org/D133800 for the public review of these changes. As noted in the upstream discussion, there are many programs that fail to configure or build correctly, if these warnings are turned into errors by default. Note that most affected programs in ports are relatively old, and are unlikely to be fixed by actually adjusting their declarations, but by compiling with -std=gnu89, which downgrades the errors back to warning again. Lots of tedious work for very little gain. (cherry picked from commit c3450ad127e94d3fa67ae337310e59c002f51bfc) --- .../llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td index bfe582d8252f..31a27558bca4 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -419,7 +419,7 @@ def warn_implicit_function_decl : Warning< InGroup, DefaultIgnore; def ext_implicit_function_decl_c99 : ExtWarn< "call to undeclared function %0; ISO C99 and later do not support implicit " - "function declarations">, InGroup, DefaultError; + "function declarations">, InGroup; def note_function_suggestion : Note<"did you mean %0?">; def err_ellipsis_first_param : Error< @@ -709,7 +709,7 @@ def ext_implicit_lib_function_decl : ExtWarn< def ext_implicit_lib_function_decl_c99 : ExtWarn< "call to undeclared library function '%0' with type %1; ISO C99 and later " "do not support implicit function declarations">, - InGroup, DefaultError; + InGroup; def note_include_header_or_declare : Note< "include the header <%0> or explicitly provide a declaration for '%1'">; def note_previous_builtin_declaration : Note<"%0 is a builtin with type %1">; @@ -4390,7 +4390,7 @@ def err_ident_list_in_fn_declaration : Error< "a parameter list without types is only allowed in a function definition">; def ext_param_not_declared : ExtWarn< "parameter %0 was not declared, defaults to 'int'; ISO C99 and later do not " - "support implicit int">, InGroup, DefaultError; + "support implicit int">, InGroup; def err_param_default_argument : Error< "C does not support default arguments">; def err_param_default_argument_redefinition : Error< @@ -10104,7 +10104,7 @@ def warn_receiver_forward_class : Warning< def note_method_sent_forward_class : Note<"method %0 is used for the forward class">; def ext_missing_type_specifier : ExtWarn< "type specifier missing, defaults to 'int'; ISO C99 and later do not support " - "implicit int">, InGroup, DefaultError; + "implicit int">, InGroup; def err_missing_type_specifier : Error< "a type specifier is required for all declarations">; def err_decimal_unsupported : Error< From nobody Sun Jul 23 18:27:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbJ3jwtz4p6KQ; Sun, 23 Jul 2023 18:27: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 4R8BbJ0CrMz3h6Z; Sun, 23 Jul 2023 18:27:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y2xXZ1ZQpGQ1NEVJIxy4NtdJZcrVNMOlDLanh8FSjEY=; b=HgrYAAOyy4w89WKN+Tz+mMpzHXOPAo4bh3vKFSNKqCxpexsX5Ii64suGEA+T8vaBbmqO1q I4gYT1EjXKgopN1+gXWu+n7DemA9WP12PgaJF0ZsADlMHlr7m1NWYIPkjxWKOjlCj5LIj6 Iy9Il7M0ccUbHPIkBpjlEC+TOpBABgRFKE+AEqPJDh3x9hqmwyC4a3sqWXU3IC7SedI3WH BxFuDA//ZmdzCIrYabTZcjSHHbB6itqH0WUwegolNbHlevuwzvnIVPlfasBQBKXFm6v7cs p5oysI0VRXDhrCvJ8wSqYyqgAo3cA8B0hb+7aALJorgJZnq5Agotb3a9hEaAjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y2xXZ1ZQpGQ1NEVJIxy4NtdJZcrVNMOlDLanh8FSjEY=; b=IlQXMcFW7Qbpj2e/XNqntHVQpIGJKDoUhnOo+UrETh87QL6D2qao8n79QGC+q+rGk4fmNY ft7Xb2eIoxcEWGSU8xLIhdzfSLN0zEie9mG1jArz0YkCWq/m73hwwfoOcQJwhMcDn0ADEz YDDDE93Uod7lhac/hvZPyHCB5GtpKPHlpDFwQDLimad9cUVLIYccbgqT7Vo1yPZbEQIWFx jHQL6vpAoj86NP2PSUeKpb0sCqmpldiwo61IAVzOOrJmNNkEgBIw3+Ofkk4VeKD9gQ6kPW oJRYywLrAN6oa5hELrqPnqg7Z4+uz9LOteZGPi6tqE1TMJNm2XsXBU8Z7LfdGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136828; a=rsa-sha256; cv=none; b=csYnivm+9mIYfjHyw3+yXcwLJXLXJlkezUFKJG7rdYDjmIqFxiAlqZpmE5rB9Y7SnMco+a tvbTfRR6XIKrRbwSMQGzZ14pcdnUnHYUnP7lfgO1EhmRoP5cUJA0nVb+CTXJgMHOTugylX KIrOEVkkaal3TFfcXnpzQtKtUnok+v3+9qOBIx3NpsDLrd9fyZFrtxvcGO74n0cdXcniMX NEHewd6fVw14IygRcdugmPl4qF4KJ+sWtnagSeg+phLDzwfnfj5r+O235nU2sG5wLTSZsR OQW3he6pWp54/E9XZ5DiVZOdO/TWvmcZG/9bY6fmxT22Q9vV3zEwwXkq8OmRyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbH6Qh9zmhh; Sun, 23 Jul 2023 18:27: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 36NIR7GE058751; Sun, 23 Jul 2023 18:27:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR7N3058750; Sun, 23 Jul 2023 18:27:07 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:07 GMT Message-Id: <202307231827.36NIR7N3058750@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: da3adc3ce965 - stable/13 - Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5 List-Id: Commit messages for all branches 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: da3adc3ce9654206cdd1f6a481e5f55d6f880bd3 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=da3adc3ce9654206cdd1f6a481e5f55d6f880bd3 commit da3adc3ce9654206cdd1f6a481e5f55d6f880bd3 Author: Dimitry Andric AuthorDate: 2023-05-05 17:37:33 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:10 +0000 Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.3-0-gda3cd333bea5 (aka 16.0.3 release). PR: 271047 MFC after: 1 month (cherry picked from commit cbe9438cfe07adfbcdeafe8e363614f83b03a055) --- contrib/llvm-project/clang/lib/AST/Expr.cpp | 4 +++ .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 7 ++++ contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 7 ++-- .../llvm-project/clang/lib/Sema/TreeTransform.h | 22 +++++------- contrib/llvm-project/libcxx/include/__config | 2 +- contrib/llvm-project/lld/COFF/Driver.cpp | 8 ++++- contrib/llvm-project/lld/COFF/Options.td | 3 ++ .../lldb/source/Host/posix/MainLoopPosix.cpp | 9 +++-- .../llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp | 3 +- .../InstCombine/InstCombineMulDivRem.cpp | 41 ++++++++++++++-------- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 10 ++++-- lib/clang/include/VCSVersion.inc | 6 ++-- lib/clang/include/clang/Basic/Version.inc | 6 ++-- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 ++-- lib/clang/include/llvm/Config/config.h | 4 +-- lib/clang/include/llvm/Config/llvm-config.h | 4 +-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 18 files changed, 93 insertions(+), 53 deletions(-) diff --git a/contrib/llvm-project/clang/lib/AST/Expr.cpp b/contrib/llvm-project/clang/lib/AST/Expr.cpp index 67862a8692ac..e45ae68cd5fe 100644 --- a/contrib/llvm-project/clang/lib/AST/Expr.cpp +++ b/contrib/llvm-project/clang/lib/AST/Expr.cpp @@ -1963,6 +1963,10 @@ Expr *ignoreImplicitSemaNodes(Expr *E) { if (auto *Full = dyn_cast(E)) return Full->getSubExpr(); + if (auto *CPLIE = dyn_cast(E); + CPLIE && CPLIE->getInitExprs().size() == 1) + return CPLIE->getInitExprs()[0]; + return E; } } // namespace diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp index 0883631dfe98..34640b3c450d 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -757,6 +757,13 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args, D.Diag(clang::diag::warn_drv_fjmc_for_elf_only); } + if (Arg *A = Args.getLastArg(options::OPT_femulated_tls, + options::OPT_fno_emulated_tls)) { + bool Enable = A->getOption().getID() == options::OPT_femulated_tls; + CmdArgs.push_back(Args.MakeArgString( + Twine(PluginOptPrefix) + "-emulated-tls=" + (Enable ? "1" : "0"))); + } + if (Args.hasFlag(options::OPT_fstack_size_section, options::OPT_fno_stack_size_section, false)) CmdArgs.push_back( diff --git a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp index ddb2b5cf5cd1..99801a88e3ed 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp @@ -5420,8 +5420,9 @@ static void TryOrBuildParenListInitialization( } else if (auto *RT = Entity.getType()->getAs()) { const CXXRecordDecl *RD = cast(RT->getDecl()); - auto BaseRange = map_range(RD->bases(), [&S](auto &base) { - return InitializedEntity::InitializeBase(S.getASTContext(), &base, false); + auto BaseRange = map_range(RD->bases(), [&](auto &base) { + return InitializedEntity::InitializeBase(S.getASTContext(), &base, false, + &Entity); }); auto FieldRange = map_range(RD->fields(), [](auto *field) { return InitializedEntity::InitializeMember(field); @@ -9180,6 +9181,8 @@ ExprResult InitializationSequence::Perform(Sema &S, /*VerifyOnly=*/false, &CurInit); if (CurInit.get() && ResultType) *ResultType = CurInit.get()->getType(); + if (shouldBindAsTemporary(Entity)) + CurInit = S.MaybeBindToTemporary(CurInit.get()); break; } } diff --git a/contrib/llvm-project/clang/lib/Sema/TreeTransform.h b/contrib/llvm-project/clang/lib/Sema/TreeTransform.h index 48bb28b56cd3..4244bbc1e4b1 100644 --- a/contrib/llvm-project/clang/lib/Sema/TreeTransform.h +++ b/contrib/llvm-project/clang/lib/Sema/TreeTransform.h @@ -3137,6 +3137,13 @@ public: Expr *Sub, SourceLocation RParenLoc, bool ListInitialization) { + // If Sub is a ParenListExpr, then Sub is the syntatic form of a + // CXXParenListInitExpr. Pass its expanded arguments so that the + // CXXParenListInitExpr can be rebuilt. + if (auto *PLE = dyn_cast(Sub)) + return getSema().BuildCXXTypeConstructExpr( + TInfo, LParenLoc, MultiExprArg(PLE->getExprs(), PLE->getNumExprs()), + RParenLoc, ListInitialization); return getSema().BuildCXXTypeConstructExpr(TInfo, LParenLoc, MultiExprArg(&Sub, 1), RParenLoc, ListInitialization); @@ -3866,16 +3873,6 @@ public: return getSema().BuildEmptyCXXFoldExpr(EllipsisLoc, Operator); } - ExprResult RebuildCXXParenListInitExpr(ArrayRef Args, QualType T, - unsigned NumUserSpecifiedExprs, - SourceLocation InitLoc, - SourceLocation LParenLoc, - SourceLocation RParenLoc) { - return CXXParenListInitExpr::Create(getSema().Context, Args, T, - NumUserSpecifiedExprs, InitLoc, - LParenLoc, RParenLoc); - } - /// Build a new atomic operation expression. /// /// By default, performs semantic analysis to build the new expression. @@ -14075,9 +14072,8 @@ TreeTransform::TransformCXXParenListInitExpr(CXXParenListInitExpr *E) { TransformedInits)) return ExprError(); - return getDerived().RebuildCXXParenListInitExpr( - TransformedInits, E->getType(), E->getUserSpecifiedInitExprs().size(), - E->getInitLoc(), E->getBeginLoc(), E->getEndLoc()); + return getDerived().RebuildParenListExpr(E->getBeginLoc(), TransformedInits, + E->getEndLoc()); } template diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 5e30a42174af..36bdbd8680db 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -38,7 +38,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 160002 +# define _LIBCPP_VERSION 160003 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/lld/COFF/Driver.cpp b/contrib/llvm-project/lld/COFF/Driver.cpp index 0a153c8f6cb7..d6b71eaf7f28 100644 --- a/contrib/llvm-project/lld/COFF/Driver.cpp +++ b/contrib/llvm-project/lld/COFF/Driver.cpp @@ -436,9 +436,12 @@ void LinkerDriver::parseDirectives(InputFile *file) { case OPT_editandcontinue: case OPT_guardsym: case OPT_throwingnew: + case OPT_inferasanlibs: + case OPT_inferasanlibs_no: break; default: - error(arg->getSpelling() + " is not allowed in .drectve"); + error(arg->getSpelling() + " is not allowed in .drectve (" + + toString(file) + ")"); } } } @@ -1923,6 +1926,9 @@ void LinkerDriver::linkerMain(ArrayRef argsArr) { args.hasFlag(OPT_stdcall_fixup, OPT_stdcall_fixup_no, config->mingw); config->warnStdcallFixup = !args.hasArg(OPT_stdcall_fixup); + if (args.hasFlag(OPT_inferasanlibs, OPT_inferasanlibs_no, false)) + warn("ignoring '/inferasanlibs', this flag is not supported"); + // Don't warn about long section names, such as .debug_info, for mingw or // when -debug:dwarf is requested. if (config->mingw || config->debugDwarf) diff --git a/contrib/llvm-project/lld/COFF/Options.td b/contrib/llvm-project/lld/COFF/Options.td index df527bb48ae7..2a89509be5fe 100644 --- a/contrib/llvm-project/lld/COFF/Options.td +++ b/contrib/llvm-project/lld/COFF/Options.td @@ -194,6 +194,9 @@ defm highentropyva : B<"highentropyva", defm incremental : B<"incremental", "Keep original import library if contents are unchanged", "Overwrite import library even if contents are unchanged">; +defm inferasanlibs : B<"inferasanlibs", + "Unused, generates a warning", + "No effect (default)">; defm integritycheck : B<"integritycheck", "Set FORCE_INTEGRITY bit in PE header", "No effect (default)">; diff --git a/contrib/llvm-project/lldb/source/Host/posix/MainLoopPosix.cpp b/contrib/llvm-project/lldb/source/Host/posix/MainLoopPosix.cpp index b185c3d3b707..5b50b450433e 100644 --- a/contrib/llvm-project/lldb/source/Host/posix/MainLoopPosix.cpp +++ b/contrib/llvm-project/lldb/source/Host/posix/MainLoopPosix.cpp @@ -156,9 +156,12 @@ Status MainLoopPosix::RunImpl::Poll() { size_t sigset_len; } extra_data = {&kernel_sigset, sizeof(kernel_sigset)}; if (syscall(__NR_pselect6, nfds, &read_fd_set, nullptr, nullptr, nullptr, - &extra_data) == -1 && - errno != EINTR) - return Status(errno, eErrorTypePOSIX); + &extra_data) == -1) { + if (errno != EINTR) + return Status(errno, eErrorTypePOSIX); + else + FD_ZERO(&read_fd_set); + } return Status(); } diff --git a/contrib/llvm-project/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp b/contrib/llvm-project/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp index c400ce190b46..bb33b843e024 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp @@ -175,7 +175,8 @@ bool MachineLateInstrsCleanup::processBlock(MachineBasicBlock *MBB) { Reg2DefMap &MBBDefs = RegDefs[MBB->getNumber()]; // Find reusable definitions in the predecessor(s). - if (!MBB->pred_empty() && !MBB->isEHPad()) { + if (!MBB->pred_empty() && !MBB->isEHPad() && + !MBB->isInlineAsmBrIndirectTarget()) { MachineBasicBlock *FirstPred = *MBB->pred_begin(); for (auto [Reg, DefMI] : RegDefs[FirstPred->getNumber()]) if (llvm::all_of( diff --git a/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp b/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp index 97f129e200de..dd1e8da2eb48 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp @@ -1121,7 +1121,7 @@ static const unsigned MaxDepth = 6; // actual instructions, otherwise return a non-null dummy value. Return nullptr // on failure. static Value *takeLog2(IRBuilderBase &Builder, Value *Op, unsigned Depth, - bool DoFold) { + bool AssumeNonZero, bool DoFold) { auto IfFold = [DoFold](function_ref Fn) { if (!DoFold) return reinterpret_cast(-1); @@ -1147,14 +1147,18 @@ static Value *takeLog2(IRBuilderBase &Builder, Value *Op, unsigned Depth, // FIXME: Require one use? Value *X, *Y; if (match(Op, m_ZExt(m_Value(X)))) - if (Value *LogX = takeLog2(Builder, X, Depth, DoFold)) + if (Value *LogX = takeLog2(Builder, X, Depth, AssumeNonZero, DoFold)) return IfFold([&]() { return Builder.CreateZExt(LogX, Op->getType()); }); // log2(X << Y) -> log2(X) + Y // FIXME: Require one use unless X is 1? - if (match(Op, m_Shl(m_Value(X), m_Value(Y)))) - if (Value *LogX = takeLog2(Builder, X, Depth, DoFold)) - return IfFold([&]() { return Builder.CreateAdd(LogX, Y); }); + if (match(Op, m_Shl(m_Value(X), m_Value(Y)))) { + auto *BO = cast(Op); + // nuw will be set if the `shl` is trivially non-zero. + if (AssumeNonZero || BO->hasNoUnsignedWrap() || BO->hasNoSignedWrap()) + if (Value *LogX = takeLog2(Builder, X, Depth, AssumeNonZero, DoFold)) + return IfFold([&]() { return Builder.CreateAdd(LogX, Y); }); + } // log2(Cond ? X : Y) -> Cond ? log2(X) : log2(Y) // FIXME: missed optimization: if one of the hands of select is/contains @@ -1162,8 +1166,10 @@ static Value *takeLog2(IRBuilderBase &Builder, Value *Op, unsigned Depth, // FIXME: can both hands contain undef? // FIXME: Require one use? if (SelectInst *SI = dyn_cast(Op)) - if (Value *LogX = takeLog2(Builder, SI->getOperand(1), Depth, DoFold)) - if (Value *LogY = takeLog2(Builder, SI->getOperand(2), Depth, DoFold)) + if (Value *LogX = takeLog2(Builder, SI->getOperand(1), Depth, + AssumeNonZero, DoFold)) + if (Value *LogY = takeLog2(Builder, SI->getOperand(2), Depth, + AssumeNonZero, DoFold)) return IfFold([&]() { return Builder.CreateSelect(SI->getOperand(0), LogX, LogY); }); @@ -1171,13 +1177,18 @@ static Value *takeLog2(IRBuilderBase &Builder, Value *Op, unsigned Depth, // log2(umin(X, Y)) -> umin(log2(X), log2(Y)) // log2(umax(X, Y)) -> umax(log2(X), log2(Y)) auto *MinMax = dyn_cast(Op); - if (MinMax && MinMax->hasOneUse() && !MinMax->isSigned()) - if (Value *LogX = takeLog2(Builder, MinMax->getLHS(), Depth, DoFold)) - if (Value *LogY = takeLog2(Builder, MinMax->getRHS(), Depth, DoFold)) + if (MinMax && MinMax->hasOneUse() && !MinMax->isSigned()) { + // Use AssumeNonZero as false here. Otherwise we can hit case where + // log2(umax(X, Y)) != umax(log2(X), log2(Y)) (because overflow). + if (Value *LogX = takeLog2(Builder, MinMax->getLHS(), Depth, + /*AssumeNonZero*/ false, DoFold)) + if (Value *LogY = takeLog2(Builder, MinMax->getRHS(), Depth, + /*AssumeNonZero*/ false, DoFold)) return IfFold([&]() { - return Builder.CreateBinaryIntrinsic( - MinMax->getIntrinsicID(), LogX, LogY); + return Builder.CreateBinaryIntrinsic(MinMax->getIntrinsicID(), LogX, + LogY); }); + } return nullptr; } @@ -1297,8 +1308,10 @@ Instruction *InstCombinerImpl::visitUDiv(BinaryOperator &I) { } // Op1 udiv Op2 -> Op1 lshr log2(Op2), if log2() folds away. - if (takeLog2(Builder, Op1, /*Depth*/0, /*DoFold*/false)) { - Value *Res = takeLog2(Builder, Op1, /*Depth*/0, /*DoFold*/true); + if (takeLog2(Builder, Op1, /*Depth*/ 0, /*AssumeNonZero*/ true, + /*DoFold*/ false)) { + Value *Res = takeLog2(Builder, Op1, /*Depth*/ 0, + /*AssumeNonZero*/ true, /*DoFold*/ true); return replaceInstUsesWith( I, Builder.CreateLShr(Op0, Res, I.getName(), I.isExact())); } diff --git a/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 9e0483966d3e..f662e126e378 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -2455,9 +2455,13 @@ bool CompatibleSets::shouldBelongToSameSet(ArrayRef Invokes) { // Can we theoretically form the data operands for the merged `invoke`? auto IsIllegalToMergeArguments = [](auto Ops) { - Type *Ty = std::get<0>(Ops)->getType(); - assert(Ty == std::get<1>(Ops)->getType() && "Incompatible types?"); - return Ty->isTokenTy() && std::get<0>(Ops) != std::get<1>(Ops); + Use &U0 = std::get<0>(Ops); + Use &U1 = std::get<1>(Ops); + if (U0 == U1) + return false; + return U0->getType()->isTokenTy() || + !canReplaceOperandWithVariable(cast(U0.getUser()), + U0.getOperandNo()); }; assert(Invokes.size() == 2 && "Always called with exactly two candidates."); if (any_of(zip(Invokes[0]->data_ops(), Invokes[1]->data_ops()), diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index 420881e41de4..466b5ce7ecfd 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,10 +1,10 @@ // $FreeBSD$ -#define LLVM_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" +#define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" +#define CLANG_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" +#define LLDB_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index c6154e17ec22..13d7baf64730 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,10 +1,10 @@ /* $FreeBSD$ */ -#define CLANG_VERSION 16.0.2 -#define CLANG_VERSION_STRING "16.0.2" +#define CLANG_VERSION 16.0.3 +#define CLANG_VERSION_STRING "16.0.3" #define CLANG_VERSION_MAJOR 16 #define CLANG_VERSION_MAJOR_STRING "16" #define CLANG_VERSION_MINOR 0 -#define CLANG_VERSION_PATCHLEVEL 2 +#define CLANG_VERSION_PATCHLEVEL 3 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index 4e2cc44c9364..8f4dd4a4b559 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400006 -#define LLD_VERSION_STRING "16.0.2 (FreeBSD llvmorg-16.0.2-0-g18ddebe1a1a9-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "16.0.3 (FreeBSD llvmorg-16.0.3-0-gda3cd333bea5-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index dab8cdb281fa..4434036b81e2 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 16.0.2 -#define LLDB_VERSION_STRING "16.0.2" +#define LLDB_VERSION 16.0.3 +#define LLDB_VERSION_STRING "16.0.3" #define LLDB_VERSION_MAJOR 16 #define LLDB_VERSION_MINOR 0 -#define LLDB_VERSION_PATCH 2 +#define LLDB_VERSION_PATCH 3 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index 93cb4b9dd9dc..57914743328d 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -348,10 +348,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 16.0.2" +#define PACKAGE_STRING "LLVM 16.0.3" /* Define to the version of this package. */ -#define PACKAGE_VERSION "16.0.2" +#define PACKAGE_VERSION "16.0.3" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index b5b415db51c4..3932cfc4d1c3 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -74,10 +74,10 @@ #define LLVM_VERSION_MINOR 0 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 2 +#define LLVM_VERSION_PATCH 3 /* LLVM version string */ -#define LLVM_VERSION_STRING "16.0.2" +#define LLVM_VERSION_STRING "16.0.3" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index 760d4e828e07..4fa56888d33c 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,3 +1,3 @@ /* $FreeBSD$ */ -#define LLVM_REVISION "llvmorg-16.0.2-0-g18ddebe1a1a9" +#define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" From nobody Sun Jul 23 18:27:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbK4rx6z4p6H9; Sun, 23 Jul 2023 18:27: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 4R8BbK30tqz3h2P; Sun, 23 Jul 2023 18:27:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jHAwSo1IVnNQ92voCwzjdQhc2x6eHR4Kp4IVHERlgfw=; b=qEQqTQumwZQGQ53GyRQMdI9qCLYH/EOtuP+naZUIS8gaK2z7USm1eB7ynyqMleJXIro/kF QKlURZad6MiF0K4dGCDtmmCR0LipynoKE1rgFW4UrrrtZKyCd+aYg7y6IBgbwQ1GAOs9Ch +97gE2QIPhOQy/9/C8lDJV1bSTcwzk7f+vgkIIdkWGW9/jIgspIM2i51XqVod2loVkC2sO 1on15gaEsC05SC34v30a61xcZdX335s1rdBQ3HfS1mJ2C/qEHqWpzJTwaRTzBk4tQj5JJg a6jrYZFeGWrcQXQy3FCE9vVciIp/p+ceVyLz+l6BQtoac5Km+hblfxkWUhQfUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jHAwSo1IVnNQ92voCwzjdQhc2x6eHR4Kp4IVHERlgfw=; b=JpwvpVehnWvn7DxhxC7S2Go52fdQUKAQgaeJwrc+UUhx2iMAsX0wQoLMV0Ko2/1LYnrIoO xNAu724Ar94luyQp7ucMU7pQFMC0wO+AImEcMiF4Fn8xjoi1oSmdj0ZMAuG9m7ehtRHz6g kWTD8nTHrVK7geJlG1U5LofvIa0XeWqJvnUmaAw4evCnIAEcZX5L6pZANwevd1WumXPvf6 A3/xyGXIF9GiZtx49SJiovAR3h4Jcm8CXBr8pVQEn3a2lNTPfCu0CiiHUluRmGR5dzLBxA n/tmqAcLXRWCxZpZUEhqqQtTCzQkPwJO5WBnLvvratCgzMAEDoWirxuntitNRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136829; a=rsa-sha256; cv=none; b=oEFmNxXiJ47Cekm5N/MjFkxUXlZUK3DsnWPBlZxJTOKEfYDWpcTFP9T5cYFQ+TFjPaPZ7A 1VS4W7T5gXHJaDkuijKYlGp+bmzvs0g6T0uWS6gSulsHLtOUCAtSvuG+SAOppYtK9x3PIr zvqU5UQ4mHhYKfdqtSAtz3hnL0H+gD/uHCdvFoOGeeiCl6rauu+KNw538emzTJ7WS1n0SN K+6l5JVIgnAd2967T/8tUMawQK84ALnYHL61kopmhlDJAXfQrZ6YjCOwR5pRK4O8FISdOx Dbpl/NBReiFDgtIhhTe0oL4oZxVxS+bSY73+57xtwMxuf7ATj1Zv1HSwlL9BXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbK0c9mzmhj; Sun, 23 Jul 2023 18:27: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 36NIR9s5058770; Sun, 23 Jul 2023 18:27:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIR8iR058769; Sun, 23 Jul 2023 18:27:08 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:08 GMT Message-Id: <202307231827.36NIR8iR058769@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: 2e0c78c9c134 - stable/13 - Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493 List-Id: Commit messages for all branches 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: 2e0c78c9c134db4facda3abd297597e64f28fda7 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2e0c78c9c134db4facda3abd297597e64f28fda7 commit 2e0c78c9c134db4facda3abd297597e64f28fda7 Author: Dimitry Andric AuthorDate: 2023-05-22 17:29:55 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:10 +0000 Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release). PR: 271047 MFC after: 1 month (cherry picked from commit a324c34037ef2e1101962fca4ad0c021253288e1) --- contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 2 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 2 +- .../clang/lib/Driver/ToolChains/MSVC.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 16 +- contrib/llvm-project/libcxx/include/__config | 2 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 9 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 6 +- .../llvm/lib/Target/X86/X86FrameLowering.cpp | 14 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- usr.bin/clang/bugpoint/bugpoint.1 | 39 +- usr.bin/clang/clang/clang.1 | 116 ++- usr.bin/clang/llc/llc.1 | 15 +- usr.bin/clang/lli/lli.1 | 11 +- usr.bin/clang/llvm-ar/llvm-ar.1 | 73 +- usr.bin/clang/llvm-ar/llvm-ranlib.1 | 11 +- usr.bin/clang/llvm-as/llvm-as.1 | 5 +- usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 | 25 +- usr.bin/clang/llvm-cov/llvm-cov.1 | 143 +++- usr.bin/clang/llvm-cxxfilt/llvm-cxxfilt.1 | 10 +- usr.bin/clang/llvm-diff/llvm-diff.1 | 5 +- usr.bin/clang/llvm-dis/llvm-dis.1 | 5 +- usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 | 19 +- usr.bin/clang/llvm-dwarfutil/llvm-dwarfutil.1 | 10 +- usr.bin/clang/llvm-extract/llvm-extract.1 | 7 +- usr.bin/clang/llvm-link/llvm-link.1 | 7 +- usr.bin/clang/llvm-mca/llvm-mca.1 | 326 +++++++- usr.bin/clang/llvm-nm/llvm-nm.1 | 89 ++- usr.bin/clang/llvm-objcopy/llvm-objcopy.1 | 73 +- usr.bin/clang/llvm-objdump/llvm-objdump.1 | 125 ++- usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 | 9 +- usr.bin/clang/llvm-profdata/llvm-profdata.1 | 134 ++-- usr.bin/clang/llvm-readobj/llvm-readelf.1 | 59 +- usr.bin/clang/llvm-readobj/llvm-readobj.1 | 88 +- usr.bin/clang/llvm-size/llvm-size.1 | 14 +- usr.bin/clang/llvm-strings/llvm-strings.1 | 14 +- usr.bin/clang/llvm-symbolizer/llvm-addr2line.1 | 5 +- usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 | 214 ++++- usr.bin/clang/llvm-tblgen/Makefile | 1 + usr.bin/clang/llvm-tblgen/llvm-tblgen.1 | 888 --------------------- usr.bin/clang/opt/opt.1 | 45 +- 46 files changed, 1266 insertions(+), 1402 deletions(-) diff --git a/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp b/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp index 5c2464904485..2d06faeca182 100644 --- a/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp +++ b/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp @@ -1812,7 +1812,7 @@ void TypePrinter::printAttributedAfter(const AttributedType *T, void TypePrinter::printBTFTagAttributedBefore(const BTFTagAttributedType *T, raw_ostream &OS) { printBefore(T->getWrappedType(), OS); - OS << " btf_type_tag(" << T->getAttr()->getBTFTypeTag() << ")"; + OS << " __attribute__((btf_type_tag(\"" << T->getAttr()->getBTFTypeTag() << "\")))"; } void TypePrinter::printBTFTagAttributedAfter(const BTFTagAttributedType *T, diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp index ec6860113b7e..238507e06335 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp @@ -7782,7 +7782,7 @@ void Clang::AddClangCLArgs(const ArgList &Args, types::ID InputType, if (Args.hasArg(options::OPT__SLASH_kernel)) CmdArgs.push_back("-fms-kernel"); - if (Arg *A = Args.getLastArg(options::OPT__SLASH_guard)) { + for (const Arg *A : Args.filtered(options::OPT__SLASH_guard)) { StringRef GuardArgs = A->getValue(); // The only valid options are "cf", "cf,nochecks", "cf-", "ehcont" and // "ehcont-". diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp index 8ad67ca3e13f..b8aa21b7a766 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp @@ -227,7 +227,7 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA, Args.AddAllArgValues(CmdArgs, options::OPT__SLASH_link); // Control Flow Guard checks - if (Arg *A = Args.getLastArg(options::OPT__SLASH_guard)) { + for (const Arg *A : Args.filtered(options::OPT__SLASH_guard)) { StringRef GuardArgs = A->getValue(); if (GuardArgs.equals_insensitive("cf") || GuardArgs.equals_insensitive("cf,nochecks")) { diff --git a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp index 99801a88e3ed..44adb167dcc0 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp @@ -5348,14 +5348,16 @@ static void TryOrBuildParenListInitialization( // The remaining elements are initialized with their default member // initializers, if any auto *FD = cast(SubEntity.getDecl()); - if (Expr *ICE = FD->getInClassInitializer(); ICE && !VerifyOnly) { - ExprResult DIE = S.BuildCXXDefaultInitExpr(FD->getLocation(), FD); - if (DIE.isInvalid()) - return false; - S.checkInitializerLifetime(SubEntity, DIE.get()); - InitExprs.push_back(DIE.get()); + if (FD->hasInClassInitializer()) { + if (!VerifyOnly) { + ExprResult DIE = S.BuildCXXDefaultInitExpr(FD->getLocation(), FD); + if (DIE.isInvalid()) + return false; + S.checkInitializerLifetime(SubEntity, DIE.get()); + InitExprs.push_back(DIE.get()); + } continue; - }; + } } // Remaining class elements without default member initializers and // array elements are value initialized: diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 36bdbd8680db..9009b9014abb 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -38,7 +38,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 160003 +# define _LIBCPP_VERSION 160004 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp index 8d4c8802f71c..3de4efb5ba22 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp @@ -1724,12 +1724,9 @@ bool TargetLowering::SimplifyDemandedBits( unsigned InnerBits = InnerVT.getScalarSizeInBits(); if (ShAmt < InnerBits && DemandedBits.getActiveBits() <= InnerBits && isTypeDesirableForOp(ISD::SHL, InnerVT)) { - EVT ShTy = getShiftAmountTy(InnerVT, DL); - if (!APInt(BitWidth, ShAmt).isIntN(ShTy.getSizeInBits())) - ShTy = InnerVT; - SDValue NarrowShl = - TLO.DAG.getNode(ISD::SHL, dl, InnerVT, InnerOp, - TLO.DAG.getConstant(ShAmt, dl, ShTy)); + SDValue NarrowShl = TLO.DAG.getNode( + ISD::SHL, dl, InnerVT, InnerOp, + TLO.DAG.getShiftAmountConstant(ShAmt, InnerVT, dl)); return TLO.CombineTo( Op, TLO.DAG.getNode(ISD::ANY_EXTEND, dl, VT, NarrowShl)); } diff --git a/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp index 5dca792dc89a..0b3059df124e 100644 --- a/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp @@ -8488,11 +8488,13 @@ SystemZTargetLowering::emitMemMemWrapper(MachineInstr &MI, .addReg(RemSrcReg).addImm(SrcDisp); MBB->addSuccessor(AllDoneMBB); MBB = AllDoneMBB; - if (EndMBB) { + if (Opcode != SystemZ::MVC) { EXRL_MIB.addReg(SystemZ::CC, RegState::ImplicitDefine); - MBB->addLiveIn(SystemZ::CC); + if (EndMBB) + MBB->addLiveIn(SystemZ::CC); } } + MF.getProperties().reset(MachineFunctionProperties::Property::NoPHIs); } // Handle any remaining bytes with straight-line code. diff --git a/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp b/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp index 1606413c382b..df9aaddd5729 100644 --- a/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -1557,7 +1557,19 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF, Fn.arg_size() == 2) { StackSize += 8; MFI.setStackSize(StackSize); - emitSPUpdate(MBB, MBBI, DL, -8, /*InEpilogue=*/false); + + // Update the stack pointer by pushing a register. This is the instruction + // emitted that would be end up being emitted by a call to `emitSPUpdate`. + // Hard-coding the update to a push avoids emitting a second + // `STACKALLOC_W_PROBING` instruction in the save block: We know that stack + // probing isn't needed anyways for an 8-byte update. + // Pushing a register leaves us in a similar situation to a regular + // function call where we know that the address at (rsp-8) is writeable. + // That way we avoid any off-by-ones with stack probing for additional + // stack pointer updates later on. + BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH64r)) + .addReg(X86::RAX, RegState::Undef) + .setMIFlag(MachineInstr::FrameSetup); } // If this is x86-64 and the Red Zone is not disabled, if we are a leaf diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index 466b5ce7ecfd..514717a358fc 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,10 +1,10 @@ // $FreeBSD$ -#define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" +#define LLVM_REVISION "llvmorg-16.0.4-0-gae42196bc493" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" +#define CLANG_REVISION "llvmorg-16.0.4-0-gae42196bc493" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" +#define LLDB_REVISION "llvmorg-16.0.4-0-gae42196bc493" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index 13d7baf64730..301f49bfd08c 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,10 +1,10 @@ /* $FreeBSD$ */ -#define CLANG_VERSION 16.0.3 -#define CLANG_VERSION_STRING "16.0.3" +#define CLANG_VERSION 16.0.4 +#define CLANG_VERSION_STRING "16.0.4" #define CLANG_VERSION_MAJOR 16 #define CLANG_VERSION_MAJOR_STRING "16" #define CLANG_VERSION_MINOR 0 -#define CLANG_VERSION_PATCHLEVEL 3 +#define CLANG_VERSION_PATCHLEVEL 4 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index 8f4dd4a4b559..61598755e168 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400006 -#define LLD_VERSION_STRING "16.0.3 (FreeBSD llvmorg-16.0.3-0-gda3cd333bea5-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "16.0.4 (FreeBSD llvmorg-16.0.4-0-gae42196bc493-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index 4434036b81e2..cdc1a2c63f72 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 16.0.3 -#define LLDB_VERSION_STRING "16.0.3" +#define LLDB_VERSION 16.0.4 +#define LLDB_VERSION_STRING "16.0.4" #define LLDB_VERSION_MAJOR 16 #define LLDB_VERSION_MINOR 0 -#define LLDB_VERSION_PATCH 3 +#define LLDB_VERSION_PATCH 4 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index 57914743328d..105378ec0dcd 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -348,10 +348,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 16.0.3" +#define PACKAGE_STRING "LLVM 16.0.4" /* Define to the version of this package. */ -#define PACKAGE_VERSION "16.0.3" +#define PACKAGE_VERSION "16.0.4" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index 3932cfc4d1c3..956e14142365 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -74,10 +74,10 @@ #define LLVM_VERSION_MINOR 0 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 3 +#define LLVM_VERSION_PATCH 4 /* LLVM version string */ -#define LLVM_VERSION_STRING "16.0.3" +#define LLVM_VERSION_STRING "16.0.4" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index 4fa56888d33c..ca9915b70f68 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,3 +1,3 @@ /* $FreeBSD$ */ -#define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5" +#define LLVM_REVISION "llvmorg-16.0.4-0-gae42196bc493" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/usr.bin/clang/bugpoint/bugpoint.1 b/usr.bin/clang/bugpoint/bugpoint.1 index 97b227ea82d1..efbecd28e178 100644 --- a/usr.bin/clang/bugpoint/bugpoint.1 +++ b/usr.bin/clang/bugpoint/bugpoint.1 @@ -1,4 +1,3 @@ -.\" $FreeBSD$ .\" Man page generated from reStructuredText. . . @@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "BUGPOINT" "1" "2021-06-07" "12" "LLVM" +.TH "BUGPOINT" "1" "2023-05-24" "16" "LLVM" .SH NAME bugpoint \- automatic test case reduction tool .SH SYNOPSIS @@ -42,7 +41,7 @@ can be used to debug three types of failures: optimizer crashes, miscompilations by optimizers, or bad native code generation (including problems in the static and JIT compilers). It aims to reduce large test cases to small, useful ones. For more information on the design and inner workings of \fBbugpoint\fP, as well as -advice for using bugpoint, see /Bugpoint in the LLVM +advice for using bugpoint, see \fI\%LLVM bugpoint tool: design and usage\fP in the LLVM distribution. .SH OPTIONS .sp @@ -67,7 +66,7 @@ code is considered a test failure. Defaults to false. .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-args\fP to the test program whenever it runs. -Note that if any of the \fIprogram args\fP start with a "\fB\-\fP", you should use: +Note that if any of the \fIprogram args\fP start with a \(dq\fB\-\fP\(dq, you should use: .INDENT 0.0 .INDENT 3.5 .sp @@ -79,8 +78,8 @@ bugpoint [bugpoint args] \-\-args \-\- [program args] .UNINDENT .UNINDENT .sp -The "\fB\-\-\fP" right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider -any options starting with "\fB\-\fP" to be part of the \fB\-\-args\fP option, not as +The \(dq\fB\-\-\fP\(dq right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider +any options starting with \(dq\fB\-\fP\(dq to be part of the \fB\-\-args\fP option, not as options to \fBbugpoint\fP itself. .UNINDENT .UNINDENT @@ -102,8 +101,8 @@ bugpoint [bugpoint args] \-\-tool\-args \-\- [tool args] .UNINDENT .UNINDENT .sp -The "\fB\-\-\fP" right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to -consider any options starting with "\fB\-\fP" to be part of the \fB\-\-tool\-args\fP +The \(dq\fB\-\-\fP\(dq right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to +consider any options starting with \(dq\fB\-\fP\(dq to be part of the \fB\-\-tool\-args\fP option, not as options to \fBbugpoint\fP itself. (See \fB\-\-args\fP, above.) .UNINDENT .UNINDENT @@ -111,7 +110,7 @@ option, not as options to \fBbugpoint\fP itself. (See \fB\-\-args\fP, above.) \fB\-\-safe\-tool\-args\fP \fItool args\fP .INDENT 0.0 .INDENT 3.5 -Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the "safe" execution +Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the \(dqsafe\(dq execution tool. .UNINDENT .UNINDENT @@ -205,9 +204,9 @@ to zero to disable the limit. .INDENT 0.0 .INDENT 3.5 Whenever the test program produces output on its standard output stream, it -should match the contents of \fIfilename\fP (the "reference output"). If you +should match the contents of \fIfilename\fP (the \(dqreference output\(dq). If you do not use this option, \fBbugpoint\fP will attempt to generate a reference output -by compiling the program with the "safe" backend and running it. +by compiling the program with the \(dqsafe\(dq backend and running it. .UNINDENT .UNINDENT .sp @@ -225,13 +224,13 @@ custom command (see \fB\-\-exec\-command\fP) respectively. .INDENT 0.0 .INDENT 3.5 When debugging a code generator, \fBbugpoint\fP should use the specified code -generator as the "safe" code generator. This is a known\-good code generator -used to generate the "reference output" if it has not been provided, and to +generator as the \(dqsafe\(dq code generator. This is a known\-good code generator +used to generate the \(dqreference output\(dq if it has not been provided, and to compile portions of the program that as they are excluded from the testcase. These options allow you to choose the static native code compiler, or a custom command, (see \fB\-\-exec\-command\fP) respectively. The interpreter and the JIT backends cannot currently -be used as the "safe" backends. +be used as the \(dqsafe\(dq backends. .UNINDENT .UNINDENT .sp @@ -249,9 +248,9 @@ be useful for cross\-compilation. .INDENT 3.5 This option defines the command to use with the \fB\-\-compile\-custom\fP option to compile the bitcode testcase. The command should exit with a -failure exit code if the file is "interesting" and should exit with a +failure exit code if the file is \(dqinteresting\(dq and should exit with a success exit code (i.e. 0) otherwise (this is the same as if it crashed on -"interesting" inputs). +\(dqinteresting\(dq inputs). .sp This can be useful for testing compiler output without running any link or execute stages. To @@ -263,14 +262,14 @@ testcase and pass the name of an executable compile\-command script in this form .nf .ft C #!/bin/sh -llc "$@" +llc \(dq$@\(dq not FileCheck [bugpoint input file].ll < bugpoint\-test\-program.s .ft P .fi .UNINDENT .UNINDENT .sp -This script will "fail" as long as FileCheck passes. So the result +This script will \(dqfail\(dq as long as FileCheck passes. So the result will be the minimum bitcode that passes FileCheck. .UNINDENT .UNINDENT @@ -287,7 +286,7 @@ option. \fB\-\-verbose\-errors\fP=\fI{true,false}\fP .INDENT 0.0 .INDENT 3.5 -The default behavior of bugpoint is to print "" when it finds a reduced +The default behavior of bugpoint is to print \(dq\(dq when it finds a reduced test that crashes compilation. This flag prints the output of the crashing program to stderr. This is useful to make sure it is the same error being tracked down and not a different error that happens to crash the compiler as @@ -304,6 +303,6 @@ if an error occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2021, LLVM Project +2003-2023, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/clang/clang.1 b/usr.bin/clang/clang/clang.1 index 10e78ebe16df..8099bd228799 100644 --- a/usr.bin/clang/clang/clang.1 +++ b/usr.bin/clang/clang/clang.1 @@ -1,4 +1,3 @@ -.\" $FreeBSD$ .\" Man page generated from reStructuredText. . . @@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "CLANG" "1" "2021-06-07" "12" "Clang" +.TH "CLANG" "1" "2023-05-24" "16" "Clang" .SH NAME clang \- the Clang C, C++, and Objective-C compiler .SH SYNOPSIS @@ -53,8 +52,8 @@ transparently use it to run the other tools. .B Preprocessing This stage handles tokenization of the input source file, macro expansion, #include expansion and handling of other preprocessor directives. The -output of this stage is typically called a ".i" (for C), ".ii" (for C++), -".mi" (for Objective\-C), or ".mii" (for Objective\-C++) file. +output of this stage is typically called a \(dq.i\(dq (for C), \(dq.ii\(dq (for C++), +\(dq.mi\(dq (for Objective\-C), or \(dq.mii\(dq (for Objective\-C++) file. .TP .B Parsing and Semantic Analysis This stage parses the input file, translating preprocessor tokens into a @@ -62,27 +61,27 @@ parse tree. Once in the form of a parse tree, it applies semantic analysis to compute types for expressions as well and determine whether the code is well formed. This stage is responsible for generating most of the compiler warnings as well as parse errors. The output of this stage is -an "Abstract Syntax Tree" (AST). +an \(dqAbstract Syntax Tree\(dq (AST). .TP .B Code Generation and Optimization This stage translates an AST into low\-level intermediate code (known as -"LLVM IR") and ultimately to machine code. This phase is responsible for +\(dqLLVM IR\(dq) and ultimately to machine code. This phase is responsible for optimizing the generated code and handling target\-specific code generation. -The output of this stage is typically called a ".s" file or "assembly" file. +The output of this stage is typically called a \(dq.s\(dq file or \(dqassembly\(dq file. .sp Clang also supports the use of an integrated assembler, in which the code generator produces object files directly. This avoids the overhead of -generating the ".s" file and of calling the target assembler. +generating the \(dq.s\(dq file and of calling the target assembler. .TP .B Assembler This stage runs the target assembler to translate the output of the compiler into a target object file. The output of this stage is typically -called a ".o" file or "object" file. +called a \(dq.o\(dq file or \(dqobject\(dq file. .TP .B Linker This stage runs the target linker to merge multiple object files into an executable or dynamic library. The output of this stage is typically called -an "a.out", ".dylib" or ".so" file. +an \(dqa.out\(dq, \(dq.dylib\(dq or \(dq.so\(dq file. .UNINDENT .sp \fBClang Static Analyzer\fP @@ -101,7 +100,7 @@ Run the preprocessor stage. .INDENT 0.0 .TP .B \-fsyntax\-only -Run the preprocessor, parser and type checking stages. +Run the preprocessor, parser and semantic analysis stages. .UNINDENT .INDENT 0.0 .TP @@ -112,7 +111,7 @@ and target\-specific code generation, producing an assembly file. .INDENT 0.0 .TP .B \-c -Run all of the above, plus the assembler, generating a target ".o" object file. +Run all of the above, plus the assembler, generating a target \(dq.o\(dq object file. .UNINDENT .INDENT 0.0 .TP @@ -305,27 +304,45 @@ ISO C++ 2017 with amendments and GNU extensions .UNINDENT .UNINDENT .nf -\fBc++2a\fP +\fBc++20\fP .fi .sp .INDENT 0.0 .INDENT 3.5 -Working draft for ISO C++ 2020 +ISO C++ 2020 with amendments .UNINDENT .UNINDENT .nf -\fBgnu++2a\fP +\fBgnu++20\fP .fi .sp .INDENT 0.0 .INDENT 3.5 -Working draft for ISO C++ 2020 with GNU extensions +ISO C++ 2020 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++2b\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +Working draft for ISO C++ 2023 +.UNINDENT +.UNINDENT +.nf +\fBgnu++2b\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +Working draft for ISO C++ 2023 with GNU extensions .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp -The default C++ language standard is \fBgnu++14\fP\&. +The default C++ language standard is \fBgnu++17\fP\&. .sp Supported values for the OpenCL language are: .INDENT 7.0 @@ -424,8 +441,26 @@ implementations, as these are needed for efficient codegen for many programs. .INDENT 0.0 .TP .B \-fno\-builtin -Disable special handling and optimizations of builtin functions like -\fBstrlen()\fP and \fBmalloc()\fP\&. +Disable special handling and optimizations of well\-known library functions, +like \fBstrlen()\fP and \fBmalloc()\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fno\-builtin\- +Disable special handling and optimizations for the specific library function. +For example, \fB\-fno\-builtin\-strlen\fP removes any special handling for the +\fBstrlen()\fP library function. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fno\-builtin\-std\- +Disable special handling and optimizations for the specific C++ standard +library function in namespace \fBstd\fP\&. For example, +\fB\-fno\-builtin\-std\-move_if_noexcept\fP removes any special handling for the +\fBstd::move_if_noexcept()\fP library function. +.sp +For C standard library functions that the C++ standard library also provides +in namespace \fBstd\fP, use \fI\%\-fno\-builtin\-\fP instead. .UNINDENT .INDENT 0.0 .TP @@ -435,7 +470,7 @@ Indicate that math functions should be treated as updating \fBerrno\fP\&. .INDENT 0.0 .TP .B \-fpascal\-strings -Enable support for Pascal\-style strings with "\epfoo". +Enable support for Pascal\-style strings with \(dq\epfoo\(dq. .UNINDENT .INDENT 0.0 .TP @@ -479,13 +514,13 @@ overall bit\-width .INDENT 0.0 .TP .B \-fblocks -Enable the "Blocks" language feature. +Enable the \(dqBlocks\(dq language feature. .UNINDENT .INDENT 0.0 .TP .B \-fobjc\-abi\-version=version Select the Objective\-C ABI version to use. Available versions are 1 (legacy -"fragile" ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2). +\(dqfragile\(dq ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2). .UNINDENT .INDENT 0.0 .TP @@ -509,7 +544,12 @@ number of cross compilers, or may only support a native target. .INDENT 0.0 .TP .B \-arch -Specify the architecture to build for. +Specify the architecture to build for (Mac OS X specific). +.UNINDENT +.INDENT 0.0 +.TP +.B \-target +Specify the architecture to build for (all platforms). .UNINDENT .INDENT 0.0 .TP @@ -550,7 +590,7 @@ but which may not exist on earlier ones. Specify which optimization level to use: .INDENT 7.0 .INDENT 3.5 -\fI\%\-O0\fP Means "no optimization": this level compiles the fastest and +\fI\%\-O0\fP Means \(dqno optimization\(dq: this level compiles the fastest and generates the most debuggable code. .sp \fI\%\-O1\fP Somewhere between \fI\%\-O0\fP and \fI\%\-O2\fP\&. @@ -594,9 +634,9 @@ best at \fI\%\-O0\fP\&. When more than one option starting with \fI\-g\fP is specified, the last one wins: .INDENT 7.0 .INDENT 3.5 -\fB\-g\fP Generate debug information. +\fI\%\-g\fP Generate debug information. .sp -\fB\-gline\-tables\-only\fP Generate only line table debug information. This +\fI\%\-gline\-tables\-only\fP Generate only line table debug information. This allows for symbolicated backtraces with inlining information, but does not include any information about variables, their locations or types. .sp @@ -627,7 +667,7 @@ needed by a module and could be replaced with a forward declaration. Further, Clang will only emit type info for a dynamic C++ class in the module that contains the vtable for the class. .sp -The \fB\-fstandalone\-debug\fP option turns off these optimizations. +The \fI\%\-fstandalone\-debug\fP option turns off these optimizations. This is useful when working with 3rd\-party libraries that don\(aqt come with debug information. This is the default on Darwin. Note that Clang will never emit type information for types that are not referenced at all by the @@ -668,8 +708,8 @@ It can be disabled with \fI\%\-fno\-common\fP\&. .TP .B \-ftls\-model= Set the default thread\-local storage (TLS) model to use for thread\-local -variables. Valid values are: "global\-dynamic", "local\-dynamic", -"initial\-exec" and "local\-exec". The default is "global\-dynamic". The default +variables. Valid values are: \(dqglobal\-dynamic\(dq, \(dqlocal\-dynamic\(dq, +\(dqinitial\-exec\(dq and \(dqlocal\-exec\(dq. The default is \(dqglobal\-dynamic\(dq. The default model can be overridden with the tls_model attribute. The compiler will try to choose a more efficient model if possible. .UNINDENT @@ -681,16 +721,16 @@ When used with \fI\%\-S\fP this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options). .sp -The default for \fI\%\-flto\fP is "full", in which the +The default for \fI\%\-flto\fP is \(dqfull\(dq, in which the LLVM bitcode is suitable for monolithic Link Time Optimization (LTO), where the linker merges all such modules into a single combined module for -optimization. With "thin", ThinLTO +optimization. With \(dqthin\(dq, \fI\%ThinLTO\fP compilation is invoked instead. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 -On Darwin, when using \fI\%\-flto\fP along with \fB\-g\fP and +On Darwin, when using \fI\%\-flto\fP along with \fI\%\-g\fP and compiling and linking in separate steps, you also need to pass \fB\-Wl,\-object_path_lto,.o\fP at the linking step to instruct the ld64 linker not to delete the temporary object file generated during Link @@ -765,7 +805,7 @@ Print the full library path of file. .TP .B \-print\-libgcc\-file\-name Print the library path for the currently used compiler runtime library -("libgcc.a" or "libclang_rt.builtins.*.a"). +(\(dqlibgcc.a\(dq or \(dqlibclang_rt.builtins.*.a\(dq). .UNINDENT .INDENT 0.0 .TP @@ -786,8 +826,8 @@ Save intermediate compilation results. .TP .B \-save\-stats, \-save\-stats=cwd, \-save\-stats=obj Save internal code generation (LLVM) statistics to a file in the current -directory (\fI\%\-save\-stats\fP/"\-save\-stats=cwd") or the directory -of the output file ("\-save\-state=obj"). +directory (\fI\%\-save\-stats\fP/\(dq\-save\-stats=cwd\(dq) or the directory +of the output file (\(dq\-save\-state=obj\(dq). .UNINDENT .INDENT 0.0 .TP @@ -895,15 +935,15 @@ Darwin targets. .UNINDENT .SH BUGS .sp -To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>. Most bug reports should +To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/issues/\fP>. Most bug reports should include preprocessed source files (use the \fI\%\-E\fP option) and the full output of the compiler, along with information to reproduce. .SH SEE ALSO .sp -\fBld(1)\fP +\fBas(1)\fP, \fBld(1)\fP .SH AUTHOR Maintained by the Clang / LLVM Team () .SH COPYRIGHT -2007-2021, The Clang Team +2007-2023, The Clang Team .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llc/llc.1 b/usr.bin/clang/llc/llc.1 index 0fb50f43ed9d..1dfef564fcd6 100644 --- a/usr.bin/clang/llc/llc.1 +++ b/usr.bin/clang/llc/llc.1 @@ -1,4 +1,3 @@ -.\" $FreeBSD$ .\" Man page generated from reStructuredText. . . @@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "LLC" "1" "2021-06-07" "12" "LLVM" +.TH "LLC" "1" "2023-05-24" "16" "LLVM" .SH NAME llc \- LLVM static compiler .SH SYNOPSIS @@ -45,15 +44,15 @@ determined from the input file, unless the \fI\%\-march\fP option is used to override the default. .SH OPTIONS .sp -If \fBfilename\fP is "\fB\-\fP" or omitted, \fBllc\fP reads from standard input. -Otherwise, it will from \fBfilename\fP\&. Inputs can be in either the LLVM assembly -language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP). +If \fBfilename\fP is \(dq\fB\-\fP\(dq or omitted, \fBllc\fP reads from standard input. +Otherwise, it will read from \fBfilename\fP\&. Inputs can be in either the LLVM +assembly language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP). .sp If the \fI\%\-o\fP option is omitted, then \fBllc\fP will send its output to standard output if the input is from standard input. If the \fI\%\-o\fP -option specifies "\fB\-\fP", then the output will also be sent to standard output. +option specifies \(dq\fB\-\fP\(dq, then the output will also be sent to standard output. .sp -If no \fI\%\-o\fP option is specified and an input file other than "\fB\-\fP" is +If no \fI\%\-o\fP option is specified and an input file other than \(dq\fB\-\fP\(dq is specified, then \fBllc\fP creates the output filename by taking the input filename, removing any existing \fB\&.bc\fP extension, and adding a \fB\&.s\fP suffix. .sp @@ -291,6 +290,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2021, LLVM Project +2003-2023, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/lli/lli.1 b/usr.bin/clang/lli/lli.1 index 6684ab4411b8..b82e6a903a1d 100644 --- a/usr.bin/clang/lli/lli.1 +++ b/usr.bin/clang/lli/lli.1 @@ -1,4 +1,3 @@ -.\" $FreeBSD$ .\" Man page generated from reStructuredText. . . @@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "LLI" "1" "2021-06-07" "12" "LLVM" +.TH "LLI" "1" "2023-05-24" "16" "LLVM" .SH NAME lli \- directly execute programs from LLVM bitcode .SH SYNOPSIS @@ -228,7 +227,8 @@ Register allocator to use (default=linearscan) .nf .ft C =bigblock: Big\-block register allocator -=linearscan: linear scan register allocator =local \- local register allocator +=linearscan: linear scan register allocator +=local: local register allocator =simple: simple register allocator .ft P .fi @@ -245,7 +245,8 @@ Choose relocation model from: .nf .ft C =default: Target default relocation model -=static: Non\-relocatable code =pic \- Fully relocatable, position independent code +=static: Non\-relocatable code +=pic: Fully relocatable, position independent code =dynamic\-no\-pic: Relocatable external references, non\-relocatable code .ft P .fi @@ -294,6 +295,6 @@ Otherwise, it will return the exit code of the program it executes. .SH AUTHOR Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2021, LLVM Project +2003-2023, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-ar/llvm-ar.1 b/usr.bin/clang/llvm-ar/llvm-ar.1 index d386e6bcc6fa..9f2be0c401cc 100644 --- a/usr.bin/clang/llvm-ar/llvm-ar.1 +++ b/usr.bin/clang/llvm-ar/llvm-ar.1 @@ -1,4 +1,3 @@ -.\" $FreeBSD$ .\" Man page generated from reStructuredText. . . @@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "LLVM-AR" "1" "2021-06-07" "12" "LLVM" +.TH "LLVM-AR" "1" "2023-05-24" "16" "LLVM" .SH NAME llvm-ar \- LLVM archiver .SH SYNOPSIS @@ -43,9 +42,9 @@ the archive can contain any kind of file. By default, \fBllvm\-ar\fP generates a symbol table that makes linking faster because only the symbol table needs to be consulted, not each individual file member of the archive. .sp -The \fBllvm\-ar\fP command can be used to \fIread\fP archive files in SVR4, -GNU, BSD and Darwin format, and \fIwrite\fP in the GNU, BSD, and Darwin style -archive files. If an SVR4 format archive is used with the \fI\%r\fP +The \fBllvm\-ar\fP command can be used to \fIread\fP archive files in SVR4, GNU, +BSD , Big Archive, and Darwin format, and \fIwrite\fP in the GNU, BSD, Big Archive, and +Darwin style archive files. If an SVR4 format archive is used with the \fI\%r\fP (replace), \fI\%d\fP (delete), \fI\%m\fP (move) or \fI\%q\fP (quick update) operations, the archive will be reconstructed in the format defined by \fI\%\-\-format\fP\&. @@ -104,7 +103,7 @@ found in other \fBar\fP implementations. The options for \fBllvm\-ar\fP specify a single basic Operation to perform on the archive, a variety of Modifiers for that Operation, the name of the archive file, and an optional list of file names. If the \fIfiles\fP option is not specified, it -generally means either "none" or "all" members, depending on the operation. The +generally means either \(dqnone\(dq or \(dqall\(dq members, depending on the operation. The Options, Operations and Modifiers are explained in the sections below. .sp The minimal set of options is at least one operator and the name of the @@ -235,7 +234,7 @@ is a feature for \fBllvm\-ar\fP that is not found in gnu\-ar. .B N When extracting or deleting a member that shares its name with another member, the \fIcount\fP parameter allows you to supply a positive whole number that -selects the instance of the given name, with "1" indicating the first +selects the instance of the given name, with \(dq1\(dq indicating the first instance. If \fI\%N\fP is not specified the first member of that name will be selected. If \fIcount\fP is not supplied, the operation fails.*count* cannot be .UNINDENT @@ -254,10 +253,8 @@ Display member offsets inside the archive. .INDENT 0.0 .TP .B T -When creating or modifying an archive, this option specifies that the -\fBarchive\fP will be thin. By default, archives are not created as thin -archives and when modifying a thin archive, it will be converted to a regular -archive. +Alias for \fB\-\-thin\fP\&. In many ar implementations \fBT\fP has a different +meaning, as specified by X/Open System interface. .UNINDENT .INDENT 0.0 .TP @@ -338,11 +335,63 @@ stream. No other options are compatible with this option. .UNINDENT .INDENT 0.0 .TP +.B \-\-output= +Specify a directory where archive members should be extracted to. By default the +current working directory is used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-rsp\-quoting= +.TP +.B This option selects the quoting style \(ga\(ga\(ga\(ga for response files, either +.TP +.B \(ga\(gaposix\(ga\(ga or \(ga\(gawindows\(ga\(ga. The default when on Windows is \(ga\(gawindows\(ga\(ga, otherwise the +.TP +.B default is \(ga\(gaposix\(ga\(ga. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-thin +When creating or modifying an archive, this option specifies that the +\fBarchive\fP will be thin. By default, archives are not created as thin archives +and when modifying a thin archive, it will be converted to a regular archive. +.UNINDENT +.INDENT 0.0 +.TP .B \-\-version Display the version of the \fBllvm\-ar\fP executable. .UNINDENT .INDENT 0.0 .TP +.B \-X mode +Specifies the type of object file \fBllvm\-ar\fP will recognise. The mode must be +one of the following: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B 32 +Process only 32\-bit object files. +.TP +.B 64 +Process only 64\-bit object files. +.TP +.B 32_64 +Process both 32\-bit and 64\-bit object files. +.TP +.B any +Process all object files. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +The default is to process 32\-bit object files (ignore 64\-bit objects). The mode can also +be set with the OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes ar to +process any 64\-bit objects and ignore 32\-bit objects. The \-X flag overrides the OBJECT_MODE +variable. +.UNINDENT +.INDENT 0.0 +.TP .B @ Read command\-line options and commands from response file \fB\fP\&. .UNINDENT @@ -415,6 +464,6 @@ will exit with a non\-zero value. .SH AUTHOR Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2021, LLVM Project +2003-2023, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-ar/llvm-ranlib.1 b/usr.bin/clang/llvm-ar/llvm-ranlib.1 index 3fd6e6618dd1..36c715546faa 100644 *** 4099 LINES SKIPPED *** From nobody Sun Jul 23 18:27:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbL4rw7z4p6By; Sun, 23 Jul 2023 18:27: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 4R8BbL37Pdz3RFj; Sun, 23 Jul 2023 18:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HuNX5cho4ll5D+JF6LUA8TICkaCMLHxXGJVyyxru8cc=; b=Oz9rmBSRTqAw1nnabdoSxShyiVDMgHgcMkp/5PkcFuHQQnR8CjMpLnd7E1WdMhtF0BQ8n0 rpkGNSUR8hbTdZ7jU2VczZE1jOt9+a+QyhDID3x0QxiBXOXAk4/zrznUQE1QOOZOvqlk2i xw5D+kwJH/CDe7V1utELX6W68P9A9koExchB70pK3nBnIvoHM8l9k13uJA3v1vxK5syBWe pHh9MYOlaZALNs3TqTqUMCL/rrRxW9KrqlugrH0lswtJ489m8MU8RAMzM9FXnZdpeFa/tv KmI6AEmMmDYzweUWORtg+/9nFIrH7HoEW1IMlnFy8rbFKcIIcyOSxMRmAKJkAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HuNX5cho4ll5D+JF6LUA8TICkaCMLHxXGJVyyxru8cc=; b=yqjriPsFGcOrgtrvQzmltHGCpQgLvgZlqijNVZx+JI6dGAuJ/SGCzvdWemgE4PTBQJWJyL +dKtqCPWDsXOQASbSmfCpjCFtsyLdT+J1wYumMq84FEk7kXDeyN7Ye/9eBkh/F008t2dyD 41+ET5TFRXLYNfMGUXJkOr6eLmMaO1L11PdUObDXqAdRtR6Zsd5smaqIJqRKiRktx/6dh+ ccTAsUJiV5PrG2VQydNd0TpfzIJBedb8q1Suy8vz9xcBjVNAbx41vReLX0TT+knKgiyE82 4Vg02ZJ03OfyB230wubQeGORk89SIz71JJqpWnc252wdLvj13IkF7XSKlByCFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136830; a=rsa-sha256; cv=none; b=pl5W1utMNs9R8SCOOCIrX79AjEwpdJDodbyMrzIrXBPSj2L/czgKyj2lXcAvQVF9foof9V ODGKHFc+YeU8FbTw1aQCRkerlKcANxW7xTrII9tDhJ8y6JmXy4zgkATEeUkmfgqIZ/22n+ YIbnLo2Womj0BRaFjRlRA1+a2hXTuSO7bPgbkJJ11loJ1jEubr7VYrB87zXSH650lHYzHn uYt7X4rEX2d8E9ZPQYuLO3DwuU3En//DZadXrfcZJSh/nxvf7NzPUTAf1nQ254tRO9f2B9 VZYVjDHAWGMgrj780m8SbnqJyOcZrgpT7L0PeJb2yJh6UkAAqzp8RNZ7Qt6cxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbL2C30zmKq; Sun, 23 Jul 2023 18:27: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 36NIRASg058789; Sun, 23 Jul 2023 18:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRAcW058788; Sun, 23 Jul 2023 18:27:10 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:10 GMT Message-Id: <202307231827.36NIRAcW058788@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: b41a5b1e742a - stable/13 - Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba List-Id: Commit messages for all branches 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: b41a5b1e742a7f3d743eed8d2ccfe51ed2313332 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b41a5b1e742a7f3d743eed8d2ccfe51ed2313332 commit b41a5b1e742a7f3d743eed8d2ccfe51ed2313332 Author: Dimitry Andric AuthorDate: 2023-06-04 19:01:35 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:10 +0000 Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.5-0-g185b81e034ba (aka 16.0.5 release). PR: 271047 MFC after: 1 month (cherry picked from commit 2efbaac7a07fff163640a67873b3ac250794ec3f) --- .../clang/include/clang/AST/ExprConcepts.h | 8 + .../include/clang/Basic/DiagnosticSemaKinds.td | 3 +- .../clang/include/clang/Sema/Initialization.h | 18 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 3 +- .../llvm-project/clang/lib/AST/ExprConcepts.cpp | 19 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 1 + .../lib/Format/IntegerLiteralSeparatorFixer.cpp | 6 +- contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 335 ++++++++++++--------- contrib/llvm-project/libcxx/include/__config | 2 +- contrib/llvm-project/lld/docs/WebAssembly.rst | 33 ++ .../llvm/include/llvm/Analysis/AliasAnalysis.h | 9 + .../llvm/include/llvm/Analysis/TargetLibraryInfo.h | 12 +- .../lib/Target/Hexagon/HexagonISelLowering.cpp | 7 +- .../llvm/lib/Target/Hexagon/HexagonPatterns.td | 24 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 27 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 21 ++ .../llvm-project/llvm/tools/llvm-mca/llvm-mca.cpp | 19 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 26 files changed, 397 insertions(+), 185 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h b/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h index f02c140c14c1..746a5b2fbfc6 100644 --- a/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h +++ b/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h @@ -64,6 +64,7 @@ protected: const ConstraintSatisfaction *Satisfaction); ConceptSpecializationExpr(const ASTContext &C, ConceptDecl *NamedConcept, + const ASTTemplateArgumentListInfo *ArgsAsWritten, ImplicitConceptSpecializationDecl *SpecDecl, const ConstraintSatisfaction *Satisfaction, bool Dependent, @@ -85,6 +86,13 @@ public: const ConstraintSatisfaction *Satisfaction, bool Dependent, bool ContainsUnexpandedParameterPack); + static ConceptSpecializationExpr * + Create(const ASTContext &C, ConceptDecl *NamedConcept, + const ASTTemplateArgumentListInfo *ArgsAsWritten, + ImplicitConceptSpecializationDecl *SpecDecl, + const ConstraintSatisfaction *Satisfaction, bool Dependent, + bool ContainsUnexpandedParameterPack); + ArrayRef getTemplateArguments() const { return SpecDecl->getTemplateArguments(); } diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td index 31a27558bca4..e4651678603d 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -2124,7 +2124,8 @@ def err_init_conversion_failed : Error< "exception object|a member subobject|an array element|a new value|a value|a " "base class|a constructor delegation|a vector element|a block element|a " "block element|a complex element|a lambda capture|a compound literal " - "initializer|a related result|a parameter of CF audited function}0 " + "initializer|a related result|a parameter of CF audited function|a " + "structured binding|a member subobject}0 " "%diff{of type $ with an %select{rvalue|lvalue}2 of type $|" "with an %select{rvalue|lvalue}2 of incompatible type}1,3" "%select{|: different classes%diff{ ($ vs $)|}5,6" diff --git a/contrib/llvm-project/clang/include/clang/Sema/Initialization.h b/contrib/llvm-project/clang/include/clang/Sema/Initialization.h index e5a98ba97f4f..e1bbea0d118d 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/Initialization.h +++ b/contrib/llvm-project/clang/include/clang/Sema/Initialization.h @@ -123,6 +123,10 @@ public: /// decomposition declaration. EK_Binding, + /// The entity being initialized is a non-static data member subobject of an + /// object initialized via parenthesized aggregate initialization. + EK_ParenAggInitMember, + // Note: err_init_conversion_failed in DiagnosticSemaKinds.td uses this // enum as an index for its first %select. When modifying this list, // that diagnostic text needs to be updated as well. @@ -227,8 +231,10 @@ private: /// Create the initialization entity for a member subobject. InitializedEntity(FieldDecl *Member, const InitializedEntity *Parent, - bool Implicit, bool DefaultMemberInit) - : Kind(EK_Member), Parent(Parent), Type(Member->getType()), + bool Implicit, bool DefaultMemberInit, + bool IsParenAggInit = false) + : Kind(IsParenAggInit ? EK_ParenAggInitMember : EK_Member), + Parent(Parent), Type(Member->getType()), Variable{Member, Implicit, DefaultMemberInit} {} /// Create the initialization entity for an array element. @@ -388,6 +394,14 @@ public: return InitializedEntity(Member->getAnonField(), Parent, Implicit, false); } + /// Create the initialization entity for a member subobject initialized via + /// parenthesized aggregate init. + static InitializedEntity InitializeMemberFromParenAggInit(FieldDecl *Member) { + return InitializedEntity(Member, /*Parent=*/nullptr, /*Implicit=*/false, + /*DefaultMemberInit=*/false, + /*IsParenAggInit=*/true); + } + /// Create the initialization entity for a default member initializer. static InitializedEntity InitializeMemberFromDefaultMemberInitializer(FieldDecl *Member) { diff --git a/contrib/llvm-project/clang/lib/AST/ASTContext.cpp b/contrib/llvm-project/clang/lib/AST/ASTContext.cpp index 2884fe660422..8054eb2e12d3 100644 --- a/contrib/llvm-project/clang/lib/AST/ASTContext.cpp +++ b/contrib/llvm-project/clang/lib/AST/ASTContext.cpp @@ -765,7 +765,8 @@ canonicalizeImmediatelyDeclaredConstraint(const ASTContext &C, Expr *IDC, CSE->getNamedConcept()->getLocation(), NewConverted); Expr *NewIDC = ConceptSpecializationExpr::Create( - C, CSE->getNamedConcept(), CSD, nullptr, CSE->isInstantiationDependent(), + C, CSE->getNamedConcept(), CSE->getTemplateArgsAsWritten(), CSD, + /*Satisfaction=*/nullptr, CSE->isInstantiationDependent(), CSE->containsUnexpandedParameterPack()); if (auto *OrigFold = dyn_cast(IDC)) diff --git a/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp b/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp index fc8f1eb2abf1..cdc13c2d3969 100644 --- a/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp +++ b/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp @@ -58,6 +58,15 @@ ConceptSpecializationExpr::ConceptSpecializationExpr( ConceptSpecializationExpr::ConceptSpecializationExpr(EmptyShell Empty) : Expr(ConceptSpecializationExprClass, Empty) {} +ConceptSpecializationExpr *ConceptSpecializationExpr::Create( + const ASTContext &C, ConceptDecl *NamedConcept, + ImplicitConceptSpecializationDecl *SpecDecl, + const ConstraintSatisfaction *Satisfaction, bool Dependent, + bool ContainsUnexpandedParameterPack) { + return Create(C, NamedConcept, /*ArgsAsWritten*/ nullptr, SpecDecl, Satisfaction, + Dependent, ContainsUnexpandedParameterPack); +} + ConceptSpecializationExpr *ConceptSpecializationExpr::Create( const ASTContext &C, NestedNameSpecifierLoc NNS, SourceLocation TemplateKWLoc, DeclarationNameInfo ConceptNameInfo, @@ -72,13 +81,14 @@ ConceptSpecializationExpr *ConceptSpecializationExpr::Create( ConceptSpecializationExpr::ConceptSpecializationExpr( const ASTContext &C, ConceptDecl *NamedConcept, + const ASTTemplateArgumentListInfo *ArgsAsWritten, ImplicitConceptSpecializationDecl *SpecDecl, const ConstraintSatisfaction *Satisfaction, bool Dependent, bool ContainsUnexpandedParameterPack) : Expr(ConceptSpecializationExprClass, C.BoolTy, VK_PRValue, OK_Ordinary), ConceptReference(NestedNameSpecifierLoc(), SourceLocation(), DeclarationNameInfo(), NamedConcept, NamedConcept, - nullptr), + ArgsAsWritten), SpecDecl(SpecDecl), Satisfaction(Satisfaction ? ASTConstraintSatisfaction::Create(C, *Satisfaction) @@ -95,12 +105,13 @@ ConceptSpecializationExpr::ConceptSpecializationExpr( ConceptSpecializationExpr *ConceptSpecializationExpr::Create( const ASTContext &C, ConceptDecl *NamedConcept, + const ASTTemplateArgumentListInfo *ArgsAsWritten, ImplicitConceptSpecializationDecl *SpecDecl, const ConstraintSatisfaction *Satisfaction, bool Dependent, bool ContainsUnexpandedParameterPack) { - return new (C) - ConceptSpecializationExpr(C, NamedConcept, SpecDecl, Satisfaction, - Dependent, ContainsUnexpandedParameterPack); + return new (C) ConceptSpecializationExpr(C, NamedConcept, ArgsAsWritten, + SpecDecl, Satisfaction, Dependent, + ContainsUnexpandedParameterPack); } const TypeConstraint * diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp index 238507e06335..77554aa2c462 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp @@ -7801,6 +7801,7 @@ void Clang::AddClangCLArgs(const ArgList &Args, types::ID InputType, } else { D.Diag(diag::err_drv_invalid_value) << A->getSpelling() << GuardArgs; } + A->claim(); } } diff --git a/contrib/llvm-project/clang/lib/Format/IntegerLiteralSeparatorFixer.cpp b/contrib/llvm-project/clang/lib/Format/IntegerLiteralSeparatorFixer.cpp index 44034e44adec..3cc68673cd13 100644 --- a/contrib/llvm-project/clang/lib/Format/IntegerLiteralSeparatorFixer.cpp +++ b/contrib/llvm-project/clang/lib/Format/IntegerLiteralSeparatorFixer.cpp @@ -113,7 +113,11 @@ IntegerLiteralSeparatorFixer::process(const Environment &Env, continue; } if (Style.isCpp()) { - if (const auto Pos = Text.find_first_of("_i"); Pos != StringRef::npos) { + // Hex alpha digits a-f/A-F must be at the end of the string literal. + StringRef Suffixes = "_himnsuyd"; + if (const auto Pos = + Text.find_first_of(IsBase16 ? Suffixes.drop_back() : Suffixes); + Pos != StringRef::npos) { Text = Text.substr(0, Pos); Length = Pos; } diff --git a/contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp b/contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp index cbda62497e6a..4a39c2d065e6 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp @@ -1651,7 +1651,8 @@ Sema::AccessResult Sema::CheckConstructorAccess(SourceLocation UseLoc, << Entity.getBaseSpecifier()->getType() << getSpecialMember(Constructor); break; - case InitializedEntity::EK_Member: { + case InitializedEntity::EK_Member: + case InitializedEntity::EK_ParenAggInitMember: { const FieldDecl *Field = cast(Entity.getDecl()); PD = PDiag(diag::err_access_field_ctor); PD << Field->getType() << getSpecialMember(Constructor); diff --git a/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp b/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp index 051fad04219f..0fbef1cc8b52 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp @@ -8693,7 +8693,7 @@ void Sema::CheckVariableDeclarationType(VarDecl *NewVD) { } // Check that SVE types are only used in functions with SVE available. - if (T->isSVESizelessBuiltinType() && CurContext->isFunctionOrMethod()) { + if (T->isSVESizelessBuiltinType() && isa(CurContext)) { const FunctionDecl *FD = cast(CurContext); llvm::StringMap CallerFeatureMap; Context.getFunctionFeatureMap(CallerFeatureMap, FD); diff --git a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp index 44adb167dcc0..cc8d1405ec55 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp @@ -1152,6 +1152,7 @@ static void warnBracedScalarInit(Sema &S, const InitializedEntity &Entity, case InitializedEntity::EK_Parameter_CF_Audited: case InitializedEntity::EK_TemplateParameter: case InitializedEntity::EK_Result: + case InitializedEntity::EK_ParenAggInitMember: // Extra braces here are suspicious. DiagID = diag::warn_braces_around_init; break; @@ -3348,6 +3349,7 @@ DeclarationName InitializedEntity::getName() const { case EK_Variable: case EK_Member: + case EK_ParenAggInitMember: case EK_Binding: case EK_TemplateParameter: return Variable.VariableOrMember->getDeclName(); @@ -3379,6 +3381,7 @@ ValueDecl *InitializedEntity::getDecl() const { switch (getKind()) { case EK_Variable: case EK_Member: + case EK_ParenAggInitMember: case EK_Binding: case EK_TemplateParameter: return Variable.VariableOrMember; @@ -3420,6 +3423,7 @@ bool InitializedEntity::allowsNRVO() const { case EK_Parameter_CF_Audited: case EK_TemplateParameter: case EK_Member: + case EK_ParenAggInitMember: case EK_Binding: case EK_New: case EK_Temporary: @@ -3454,7 +3458,10 @@ unsigned InitializedEntity::dumpImpl(raw_ostream &OS) const { case EK_Result: OS << "Result"; break; case EK_StmtExprResult: OS << "StmtExprResult"; break; case EK_Exception: OS << "Exception"; break; - case EK_Member: OS << "Member"; break; + case EK_Member: + case EK_ParenAggInitMember: + OS << "Member"; + break; case EK_Binding: OS << "Binding"; break; case EK_New: OS << "New"; break; case EK_Temporary: OS << "Temporary"; break; @@ -5274,179 +5281,224 @@ static void TryOrBuildParenListInitialization( Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, ArrayRef Args, InitializationSequence &Sequence, bool VerifyOnly, ExprResult *Result = nullptr) { - unsigned ArgIndexToProcess = 0; + unsigned EntityIndexToProcess = 0; SmallVector InitExprs; QualType ResultType; Expr *ArrayFiller = nullptr; FieldDecl *InitializedFieldInUnion = nullptr; - // Process entities (i.e. array members, base classes, or class fields) by - // adding an initialization expression to InitExprs for each entity to - // initialize. - auto ProcessEntities = [&](auto Range) -> bool { - bool IsUnionType = Entity.getType()->isUnionType(); - for (InitializedEntity SubEntity : Range) { - // Unions should only have one initializer expression. - // If there are more initializers than it will be caught when we check - // whether Index equals Args.size(). - if (ArgIndexToProcess == 1 && IsUnionType) - return true; - - bool IsMember = SubEntity.getKind() == InitializedEntity::EK_Member; - - // Unnamed bitfields should not be initialized at all, either with an arg - // or by default. - if (IsMember && cast(SubEntity.getDecl())->isUnnamedBitfield()) - continue; - - if (ArgIndexToProcess < Args.size()) { - // There are still expressions in Args that haven't been processed. - // Let's match them to the current entity to initialize. - Expr *E = Args[ArgIndexToProcess++]; - - // Incomplete array types indicate flexible array members. Do not allow - // paren list initializations of structs with these members, as GCC - // doesn't either. - if (IsMember) { - auto *FD = cast(SubEntity.getDecl()); - if (FD->getType()->isIncompleteArrayType()) { - if (!VerifyOnly) { - S.Diag(E->getBeginLoc(), diag::err_flexible_array_init) - << SourceRange(E->getBeginLoc(), E->getEndLoc()); - S.Diag(FD->getLocation(), diag::note_flexible_array_member) << FD; - } - Sequence.SetFailed( - InitializationSequence::FK_ParenthesizedListInitFailed); - return false; - } - } - - InitializationKind SubKind = InitializationKind::CreateForInit( - E->getExprLoc(), /*isDirectInit=*/false, E); - InitializationSequence SubSeq(S, SubEntity, SubKind, E); - - if (SubSeq.Failed()) { - if (!VerifyOnly) - SubSeq.Diagnose(S, SubEntity, SubKind, E); - else - Sequence.SetFailed( - InitializationSequence::FK_ParenthesizedListInitFailed); + auto HandleInitializedEntity = [&](const InitializedEntity &SubEntity, + const InitializationKind &SubKind, + Expr *Arg, Expr **InitExpr = nullptr) { + InitializationSequence IS = [&]() { + if (Arg) + return InitializationSequence(S, SubEntity, SubKind, Arg); + return InitializationSequence(S, SubEntity, SubKind, std::nullopt); + }(); - return false; - } - if (!VerifyOnly) { - ExprResult ER = SubSeq.Perform(S, SubEntity, SubKind, E); - InitExprs.push_back(ER.get()); - if (IsMember && IsUnionType) - InitializedFieldInUnion = cast(SubEntity.getDecl()); - } + if (IS.Failed()) { + if (!VerifyOnly) { + if (Arg) + IS.Diagnose(S, SubEntity, SubKind, Arg); + else + IS.Diagnose(S, SubEntity, SubKind, std::nullopt); } else { - // We've processed all of the args, but there are still entities that - // have to be initialized. - if (IsMember) { - // C++ [dcl.init]p17.6.2.2 - // The remaining elements are initialized with their default member - // initializers, if any - auto *FD = cast(SubEntity.getDecl()); - if (FD->hasInClassInitializer()) { - if (!VerifyOnly) { - ExprResult DIE = S.BuildCXXDefaultInitExpr(FD->getLocation(), FD); - if (DIE.isInvalid()) - return false; - S.checkInitializerLifetime(SubEntity, DIE.get()); - InitExprs.push_back(DIE.get()); - } - continue; - } - } - // Remaining class elements without default member initializers and - // array elements are value initialized: - // - // C++ [dcl.init]p17.6.2.2 - // The remaining elements...otherwise are value initialzed - // - // C++ [dcl.init]p17.5 - // if the destination type is an array, the object is initialized as - // . follows. Let x1, . . . , xk be the elements of the expression-list - // ...Let n denote the array size...the ith array element is...value- - // initialized for each k < i <= n. - InitializationKind SubKind = InitializationKind::CreateValue( - Kind.getLocation(), Kind.getLocation(), Kind.getLocation(), true); - InitializationSequence SubSeq(S, SubEntity, SubKind, std::nullopt); - if (SubSeq.Failed()) { - if (!VerifyOnly) - SubSeq.Diagnose(S, SubEntity, SubKind, std::nullopt); - return false; - } - if (!VerifyOnly) { - ExprResult ER = SubSeq.Perform(S, SubEntity, SubKind, std::nullopt); - if (SubEntity.getKind() == InitializedEntity::EK_ArrayElement) { - ArrayFiller = ER.get(); - return true; - } - InitExprs.push_back(ER.get()); - } + Sequence.SetFailed( + InitializationSequence::FK_ParenthesizedListInitFailed); } + + return false; + } + if (!VerifyOnly) { + ExprResult ER; + if (Arg) + ER = IS.Perform(S, SubEntity, SubKind, Arg); + else + ER = IS.Perform(S, SubEntity, SubKind, std::nullopt); + if (InitExpr) + *InitExpr = ER.get(); + else + InitExprs.push_back(ER.get()); } return true; }; if (const ArrayType *AT = S.getASTContext().getAsArrayType(Entity.getType())) { - SmallVector ElementEntities; uint64_t ArrayLength; - // C++ [dcl.init]p17.5 + // C++ [dcl.init]p16.5 // if the destination type is an array, the object is initialized as // follows. Let x1, . . . , xk be the elements of the expression-list. If - // the destination type is an array of unknown bound, it is define as + // the destination type is an array of unknown bound, it is defined as // having k elements. if (const ConstantArrayType *CAT = - S.getASTContext().getAsConstantArrayType(Entity.getType())) + S.getASTContext().getAsConstantArrayType(Entity.getType())) { ArrayLength = CAT->getSize().getZExtValue(); - else + ResultType = Entity.getType(); + } else if (const VariableArrayType *VAT = + S.getASTContext().getAsVariableArrayType(Entity.getType())) { + // Braced-initialization of variable array types is not allowed, even if + // the size is greater than or equal to the number of args, so we don't + // allow them to be initialized via parenthesized aggregate initialization + // either. + const Expr *SE = VAT->getSizeExpr(); + S.Diag(SE->getBeginLoc(), diag::err_variable_object_no_init) + << SE->getSourceRange(); + return; + } else { + assert(isa(Entity.getType())); ArrayLength = Args.size(); + } + EntityIndexToProcess = ArrayLength; - if (ArrayLength >= Args.size()) { - for (uint64_t I = 0; I < ArrayLength; ++I) - ElementEntities.push_back( - InitializedEntity::InitializeElement(S.getASTContext(), I, Entity)); - - if (!ProcessEntities(ElementEntities)) + // ...the ith array element is copy-initialized with xi for each + // 1 <= i <= k + for (Expr *E : Args) { + InitializedEntity SubEntity = InitializedEntity::InitializeElement( + S.getASTContext(), EntityIndexToProcess, Entity); + InitializationKind SubKind = InitializationKind::CreateForInit( + E->getExprLoc(), /*isDirectInit=*/false, E); + if (!HandleInitializedEntity(SubEntity, SubKind, E)) + return; + } + // ...and value-initialized for each k < i <= n; + if (ArrayLength > Args.size()) { + InitializedEntity SubEntity = InitializedEntity::InitializeElement( + S.getASTContext(), Args.size(), Entity); + InitializationKind SubKind = InitializationKind::CreateValue( + Kind.getLocation(), Kind.getLocation(), Kind.getLocation(), true); + if (!HandleInitializedEntity(SubEntity, SubKind, nullptr, &ArrayFiller)) return; + } + if (ResultType.isNull()) { ResultType = S.Context.getConstantArrayType( AT->getElementType(), llvm::APInt(/*numBits=*/32, ArrayLength), - nullptr, ArrayType::Normal, 0); + /*SizeExpr=*/nullptr, ArrayType::Normal, 0); } } else if (auto *RT = Entity.getType()->getAs()) { + bool IsUnion = RT->isUnionType(); const CXXRecordDecl *RD = cast(RT->getDecl()); - auto BaseRange = map_range(RD->bases(), [&](auto &base) { - return InitializedEntity::InitializeBase(S.getASTContext(), &base, false, - &Entity); - }); - auto FieldRange = map_range(RD->fields(), [](auto *field) { - return InitializedEntity::InitializeMember(field); - }); + if (!IsUnion) { + for (const CXXBaseSpecifier &Base : RD->bases()) { + InitializedEntity SubEntity = InitializedEntity::InitializeBase( + S.getASTContext(), &Base, false, &Entity); + if (EntityIndexToProcess < Args.size()) { + // C++ [dcl.init]p16.6.2.2. + // ...the object is initialized is follows. Let e1, ..., en be the + // elements of the aggregate([dcl.init.aggr]). Let x1, ..., xk be + // the elements of the expression-list...The element ei is + // copy-initialized with xi for 1 <= i <= k. + Expr *E = Args[EntityIndexToProcess]; + InitializationKind SubKind = InitializationKind::CreateForInit( + E->getExprLoc(), /*isDirectInit=*/false, E); + if (!HandleInitializedEntity(SubEntity, SubKind, E)) + return; + } else { + // We've processed all of the args, but there are still base classes + // that have to be initialized. + // C++ [dcl.init]p17.6.2.2 + // The remaining elements...otherwise are value initialzed + InitializationKind SubKind = InitializationKind::CreateValue( + Kind.getLocation(), Kind.getLocation(), Kind.getLocation(), + /*IsImplicit=*/true); + if (!HandleInitializedEntity(SubEntity, SubKind, nullptr)) + return; + } + EntityIndexToProcess++; + } + } - if (!ProcessEntities(BaseRange)) - return; + for (FieldDecl *FD : RD->fields()) { + // Unnamed bitfields should not be initialized at all, either with an arg + // or by default. + if (FD->isUnnamedBitfield()) + continue; - if (!ProcessEntities(FieldRange)) - return; + InitializedEntity SubEntity = + InitializedEntity::InitializeMemberFromParenAggInit(FD); + if (EntityIndexToProcess < Args.size()) { + // ...The element ei is copy-initialized with xi for 1 <= i <= k. + Expr *E = Args[EntityIndexToProcess]; + + // Incomplete array types indicate flexible array members. Do not allow + // paren list initializations of structs with these members, as GCC + // doesn't either. + if (FD->getType()->isIncompleteArrayType()) { + if (!VerifyOnly) { + S.Diag(E->getBeginLoc(), diag::err_flexible_array_init) + << SourceRange(E->getBeginLoc(), E->getEndLoc()); + S.Diag(FD->getLocation(), diag::note_flexible_array_member) << FD; + } + Sequence.SetFailed( + InitializationSequence::FK_ParenthesizedListInitFailed); + return; + } + + InitializationKind SubKind = InitializationKind::CreateForInit( + E->getExprLoc(), /*isDirectInit=*/false, E); + if (!HandleInitializedEntity(SubEntity, SubKind, E)) + return; + + // Unions should have only one initializer expression, so we bail out + // after processing the first field. If there are more initializers then + // it will be caught when we later check whether EntityIndexToProcess is + // less than Args.size(); + if (IsUnion) { + InitializedFieldInUnion = FD; + EntityIndexToProcess = 1; + break; + } + } else { + // We've processed all of the args, but there are still members that + // have to be initialized. + if (FD->hasInClassInitializer()) { + if (!VerifyOnly) { + // C++ [dcl.init]p16.6.2.2 + // The remaining elements are initialized with their default + // member initializers, if any + ExprResult DIE = S.BuildCXXDefaultInitExpr(FD->getLocation(), FD); + if (DIE.isInvalid()) + return; + S.checkInitializerLifetime(SubEntity, DIE.get()); + InitExprs.push_back(DIE.get()); + } + } else { + // C++ [dcl.init]p17.6.2.2 + // The remaining elements...otherwise are value initialzed + if (FD->getType()->isReferenceType()) { + Sequence.SetFailed( + InitializationSequence::FK_ParenthesizedListInitFailed); + if (!VerifyOnly) { + SourceRange SR = Kind.getParenOrBraceRange(); + S.Diag(SR.getEnd(), diag::err_init_reference_member_uninitialized) + << FD->getType() << SR; + S.Diag(FD->getLocation(), diag::note_uninit_reference_member); + } + return; + } + InitializationKind SubKind = InitializationKind::CreateValue( + Kind.getLocation(), Kind.getLocation(), Kind.getLocation(), true); + if (!HandleInitializedEntity(SubEntity, SubKind, nullptr)) + return; + } + } + EntityIndexToProcess++; + } ResultType = Entity.getType(); } // Not all of the args have been processed, so there must've been more args - // then were required to initialize the element. - if (ArgIndexToProcess < Args.size()) { + // than were required to initialize the element. + if (EntityIndexToProcess < Args.size()) { Sequence.SetFailed(InitializationSequence::FK_ParenthesizedListInitFailed); if (!VerifyOnly) { QualType T = Entity.getType(); int InitKind = T->isArrayType() ? 0 : T->isUnionType() ? 3 : 4; - SourceRange ExcessInitSR(Args[ArgIndexToProcess]->getBeginLoc(), + SourceRange ExcessInitSR(Args[EntityIndexToProcess]->getBeginLoc(), Args.back()->getEndLoc()); S.Diag(Kind.getLocation(), diag::err_excess_initializers) << InitKind << ExcessInitSR; @@ -6412,6 +6464,7 @@ getAssignmentAction(const InitializedEntity &Entity, bool Diagnose = false) { return Sema::AA_Converting; case InitializedEntity::EK_Member: + case InitializedEntity::EK_ParenAggInitMember: case InitializedEntity::EK_Binding: case InitializedEntity::EK_ArrayElement: case InitializedEntity::EK_VectorElement: @@ -6432,6 +6485,7 @@ static bool shouldBindAsTemporary(const InitializedEntity &Entity) { switch (Entity.getKind()) { case InitializedEntity::EK_ArrayElement: case InitializedEntity::EK_Member: + case InitializedEntity::EK_ParenAggInitMember: case InitializedEntity::EK_Result: case InitializedEntity::EK_StmtExprResult: case InitializedEntity::EK_New: @@ -6476,6 +6530,7 @@ static bool shouldDestroyEntity(const InitializedEntity &Entity) { return false; case InitializedEntity::EK_Member: + case InitializedEntity::EK_ParenAggInitMember: case InitializedEntity::EK_Binding: case InitializedEntity::EK_Variable: case InitializedEntity::EK_Parameter: @@ -6512,6 +6567,7 @@ static SourceLocation getInitializationLoc(const InitializedEntity &Entity, case InitializedEntity::EK_ArrayElement: case InitializedEntity::EK_Member: + case InitializedEntity::EK_ParenAggInitMember: case InitializedEntity::EK_Parameter: case InitializedEntity::EK_Parameter_CF_Audited: case InitializedEntity::EK_TemplateParameter: @@ -7080,7 +7136,15 @@ static LifetimeResult getEntityLifetime( case InitializedEntity::EK_Exception: // FIXME: Can we diagnose lifetime problems with exceptions? return {nullptr, LK_FullExpression}; + + case InitializedEntity::EK_ParenAggInitMember: + // -- A temporary object bound to a reference element of an aggregate of + // class type initialized from a parenthesized expression-list + // [dcl.init, 9.3] persists until the completion of the full-expression + // containing the expression-list. + return {nullptr, LK_FullExpression}; } + llvm_unreachable("unknown entity kind"); } @@ -9196,7 +9260,9 @@ ExprResult InitializationSequence::Perform(Sema &S, S.checkInitializerLifetime(Entity, Init); // Diagnose non-fatal problems with the completed initialization. - if (Entity.getKind() == InitializedEntity::EK_Member && + if (InitializedEntity::EntityKind EK = Entity.getKind(); + (EK == InitializedEntity::EK_Member || + EK == InitializedEntity::EK_ParenAggInitMember) && cast(Entity.getDecl())->isBitField()) S.CheckBitFieldInitialization(Kind.getLocation(), cast(Entity.getDecl()), @@ -9650,7 +9716,8 @@ bool InitializationSequence::Diagnose(Sema &S, case OR_No_Viable_Function: if (Kind.getKind() == InitializationKind::IK_Default && (Entity.getKind() == InitializedEntity::EK_Base || - Entity.getKind() == InitializedEntity::EK_Member) && + Entity.getKind() == InitializedEntity::EK_Member || + Entity.getKind() == InitializedEntity::EK_ParenAggInitMember) && isa(S.CurContext)) { // This is implicit default initialization of a member or // base within a constructor. If no viable function was diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 9009b9014abb..d7ba71906e26 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -38,7 +38,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 160004 +# define _LIBCPP_VERSION 160005 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/lld/docs/WebAssembly.rst b/contrib/llvm-project/lld/docs/WebAssembly.rst index c40d4b322080..dad3177e2c7d 100644 --- a/contrib/llvm-project/lld/docs/WebAssembly.rst +++ b/contrib/llvm-project/lld/docs/WebAssembly.rst @@ -75,6 +75,11 @@ WebAssembly-specific options: flag which corresponds to ``--unresolve-symbols=ignore`` + ``--import-undefined``. +.. option:: --allow-undefined-file= + + Like ``--allow-undefined``, but the filename specified a flat list of + symbols, one per line, which are allowed to be undefined. + .. option:: --unresolved-symbols= This is a more full featured version of ``--allow-undefined``. @@ -182,11 +187,39 @@ Imports By default no undefined symbols are allowed in the final binary. The flag ``--allow-undefined`` results in a WebAssembly import being defined for each undefined symbol. It is then up to the runtime to provide such symbols. +``--allow-undefined-file`` is the same but allows a list of symbols to be +specified. Alternatively symbols can be marked in the source code as with the ``import_name`` and/or ``import_module`` clang attributes which signals that they are expected to be undefined at static link time. +Stub Libraries +~~~~~~~~~~~~~~ + +Another way to specify imports and exports is via a "stub library". This +feature is inspired by the ELF stub objects which are supported by the Solaris +linker. Stub libraries are text files that can be passed as normal linker +inputs, similar to how linker scripts can be passed to the ELF linker. The stub +library is a stand-in for a set of symbols that will be available at runtime, +but doesn't contain any actual code or data. Instead it contains just a list of +symbols, one per line. Each symbol can specify zero or more dependencies. +These dependencies are symbols that must be defined, and exported, by the output +module if the symbol is question is imported/required by the output module. + +For example, imagine the runtime provides an external symbol ``foo`` that +depends on the ``malloc`` and ``free``. This can be expressed simply as:: + + #STUB + foo: malloc,free + +Here we are saying that ``foo`` is allowed to be imported (undefined) but that +if it is imported, then the output module must also export ``malloc`` and +``free`` to the runtime. If ``foo`` is imported (undefined), but the output +module does not define ``malloc`` and ``free`` then the link will fail. + +Stub libraries must begin with ``#STUB`` on a line by itself. + Garbage Collection ~~~~~~~~~~~~~~~~~~ diff --git a/contrib/llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h b/contrib/llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h index 953e15e358f1..8ac6e7dac63e 100644 --- a/contrib/llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h +++ b/contrib/llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h @@ -116,6 +116,15 @@ public: operator Kind() const { return static_cast(Alias); } + bool operator==(const AliasResult &Other) const { + return Alias == Other.Alias && HasOffset == Other.HasOffset && + Offset == Other.Offset; + } + bool operator!=(const AliasResult &Other) const { return !(*this == Other); } + + bool operator==(Kind K) const { return Alias == K; } + bool operator!=(Kind K) const { return !(*this == K); } + constexpr bool hasOffset() const { return HasOffset; } constexpr int32_t getOffset() const { assert(HasOffset && "No offset!"); diff --git a/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.h b/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.h index 8fcfbdbd6665..951945f7b765 100644 --- a/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.h +++ b/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.h @@ -408,14 +408,14 @@ public: ShouldExtI32Param = true; ShouldExtI32Return = true; } - // Mips and riscv64, on the other hand, needs signext on i32 parameters - // corresponding to both signed and unsigned ints. - if (T.isMIPS() || T.isRISCV64()) { + // LoongArch, Mips, and riscv64, on the other hand, need signext on i32 + // parameters corresponding to both signed and unsigned ints. + if (T.isLoongArch() || T.isMIPS() || T.isRISCV64()) { ShouldSignExtI32Param = true; } - // riscv64 needs signext on i32 returns corresponding to both signed and - // unsigned ints. - if (T.isRISCV64()) { + // LoongArch and riscv64 need signext on i32 returns corresponding to both + // signed and unsigned ints. + if (T.isLoongArch() || T.isRISCV64()) { ShouldSignExtI32Return = true; } } diff --git a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp index 202fc473f9e4..609a383426d6 100644 --- a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp @@ -1628,7 +1628,7 @@ HexagonTargetLowering::HexagonTargetLowering(const TargetMachine &TM, ISD::UADDO, ISD::SSUBO, ISD::USUBO, ISD::SMUL_LOHI, ISD::UMUL_LOHI, // Logical/bit: ISD::AND, ISD::OR, ISD::XOR, ISD::ROTL, ISD::ROTR, - ISD::CTPOP, ISD::CTLZ, ISD::CTTZ, + ISD::CTPOP, ISD::CTLZ, ISD::CTTZ, ISD::BSWAP, ISD::BITREVERSE, // Floating point arithmetic/math functions: ISD::FADD, ISD::FSUB, ISD::FMUL, ISD::FMA, ISD::FDIV, ISD::FREM, ISD::FNEG, ISD::FABS, ISD::FSQRT, ISD::FSIN, @@ -1701,8 +1701,11 @@ HexagonTargetLowering::HexagonTargetLowering(const TargetMachine &TM, setOperationAction(ISD::OR, NativeVT, Legal); setOperationAction(ISD::XOR, NativeVT, Legal); - if (NativeVT.getVectorElementType() != MVT::i1) + if (NativeVT.getVectorElementType() != MVT::i1) { setOperationAction(ISD::SPLAT_VECTOR, NativeVT, Legal); + setOperationAction(ISD::BSWAP, NativeVT, Legal); + setOperationAction(ISD::BITREVERSE, NativeVT, Legal); + } } for (MVT VT : {MVT::v8i8, MVT::v4i16, MVT::v2i32}) { diff --git a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatterns.td b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatterns.td index a75ac0e1378e..375e519a6848 100644 --- a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatterns.td +++ b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatterns.td @@ -117,8 +117,8 @@ def usat: PatFrag<(ops node:$V, node:$Ty), (HexagonUSAT node:$V, node:$Ty)>; // Pattern fragments to extract the low and high subregisters from a // 64-bit value. -def LoReg: OutPatFrag<(ops node:$Rs), (EXTRACT_SUBREG (i64 $Rs), isub_lo)>; -def HiReg: OutPatFrag<(ops node:$Rs), (EXTRACT_SUBREG (i64 $Rs), isub_hi)>; +def LoReg: OutPatFrag<(ops node:$Rs), (EXTRACT_SUBREG $Rs, isub_lo)>; +def HiReg: OutPatFrag<(ops node:$Rs), (EXTRACT_SUBREG $Rs, isub_hi)>; def IsOrAdd: PatFrag<(ops node:$A, node:$B), (or node:$A, node:$B), [{ return isOrEquivalentToAdd(N); @@ -1123,6 +1123,12 @@ def: Pat<(bswap I32:$Rs), (A2_swiz I32:$Rs)>; def: Pat<(bswap I64:$Rss), (Combinew (A2_swiz (LoReg $Rss)), (A2_swiz (HiReg $Rss)))>; +def: Pat<(bswap V2I16:$Rs), (A2_combine_lh (A2_swiz $Rs), (A2_swiz $Rs))>; +def: Pat<(bswap V2I32:$Rs), (Combinew (A2_swiz (HiReg $Rs)), + (A2_swiz (LoReg $Rs)))>; +def: Pat<(bswap V4I16:$Rs), (A2_orp (S2_lsr_i_vh $Rs, 8), + (S2_asl_i_vh $Rs, 8))>; + def: Pat<(shl s6_0ImmPred:$s6, I32:$Rt), (S4_lsli imm:$s6, I32:$Rt)>; def: Pat<(shl I32:$Rs, (i32 16)), (A2_aslh I32:$Rs)>; def: Pat<(sra I32:$Rs, (i32 16)), (A2_asrh I32:$Rs)>; @@ -1854,6 +1860,20 @@ def: Pat<(i32 (ctpop I32:$Rs)), (S5_popcountp (A4_combineir 0, I32:$Rs))>; def: Pat<(bitreverse I32:$Rs), (S2_brev I32:$Rs)>; def: Pat<(bitreverse I64:$Rss), (S2_brevp I64:$Rss)>; +def: Pat<(bitreverse V4I8:$Rs), (A2_swiz (S2_brev $Rs))>; +def: Pat<(bitreverse V8I8:$Rs), (Combinew (A2_swiz (LoReg (S2_brevp $Rs))), + (A2_swiz (HiReg (S2_brevp $Rs))))>; +def: Pat<(bitreverse V2I16:$Rs), (A2_combine_lh (S2_brev $Rs), + (S2_brev $Rs))>; +def: Pat<(bitreverse V4I16:$Rs), + (Combinew (A2_combine_lh (LoReg (S2_brevp $Rs)), + (LoReg (S2_brevp $Rs))), + (A2_combine_lh (HiReg (S2_brevp $Rs)), + (HiReg (S2_brevp $Rs))))>; +def: Pat<(bitreverse V2I32:$Rs), + (Combinew (i32 (LoReg (S2_brevp $Rs))), + (i32 (HiReg (S2_brevp $Rs))))>; + let AddedComplexity = 20 in { // Complexity greater than and/or/xor def: Pat<(and I32:$Rs, IsNPow2_32:$V), (S2_clrbit_i IntRegs:$Rs, (LogN2_32 $V))>; diff --git a/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp index cf17c51b04fc..e43b33eed470 100644 --- a/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -499,7 +499,7 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM, } if (Subtarget.hasSSEPrefetch() || Subtarget.hasThreeDNow()) - setOperationAction(ISD::PREFETCH , MVT::Other, Legal); + setOperationAction(ISD::PREFETCH , MVT::Other, Custom); setOperationAction(ISD::ATOMIC_FENCE , MVT::Other, Custom); @@ -2195,6 +2195,7 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM, setOperationAction(ISD::FMUL, VT, Expand); setOperationAction(ISD::FDIV, VT, Expand); setOperationAction(ISD::BUILD_VECTOR, VT, Custom); + setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); } addLegalFPImmediate(APFloat::getZero(APFloat::BFloat())); } @@ -2207,6 +2208,7 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM, setOperationAction(ISD::FMUL, MVT::v32bf16, Expand); setOperationAction(ISD::FDIV, MVT::v32bf16, Expand); setOperationAction(ISD::BUILD_VECTOR, MVT::v32bf16, Custom); + setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v32bf16, Custom); } if (!Subtarget.useSoftFloat() && Subtarget.hasVLX()) { @@ -18773,11 +18775,11 @@ static SDValue lower256BitShuffle(const SDLoc &DL, ArrayRef Mask, MVT VT, return DAG.getBitcast(VT, DAG.getVectorShuffle(FpVT, DL, V1, V2, Mask)); } - if (VT == MVT::v16f16) { - V1 = DAG.getBitcast(MVT::v16i16, V1); - V2 = DAG.getBitcast(MVT::v16i16, V2); - return DAG.getBitcast(MVT::v16f16, - DAG.getVectorShuffle(MVT::v16i16, DL, V1, V2, Mask)); + if (VT == MVT::v16f16 || VT.getVectorElementType() == MVT::bf16) { + MVT IVT = VT.changeVectorElementTypeToInteger(); + V1 = DAG.getBitcast(IVT, V1); + V2 = DAG.getBitcast(IVT, V2); + return DAG.getBitcast(VT, DAG.getVectorShuffle(IVT, DL, V1, V2, Mask)); } switch (VT.SimpleTy) { @@ -33093,6 +33095,18 @@ static SDValue LowerCVTPS2PH(SDValue Op, SelectionDAG &DAG) { return DAG.getNode(ISD::CONCAT_VECTORS, dl, VT, Lo, Hi); } +static SDValue LowerPREFETCH(SDValue Op, const X86Subtarget &Subtarget, + SelectionDAG &DAG) { + unsigned IsData = cast(Op.getOperand(4))->getZExtValue(); + + // We don't support non-data prefetch without PREFETCHI. + // Just preserve the chain. + if (!IsData && !Subtarget.hasPREFETCHI()) + return Op.getOperand(0); + + return Op; +} + static StringRef getInstrStrFromOpNo(const SmallVectorImpl &AsmStrs, unsigned OpNo) { const APInt Operand(32, OpNo); @@ -33294,6 +33308,7 @@ SDValue X86TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const { case ISD::GC_TRANSITION_END: return LowerGC_TRANSITION(Op, DAG); case ISD::ADDRSPACECAST: return LowerADDRSPACECAST(Op, DAG); case X86ISD::CVTPS2PH: return LowerCVTPS2PH(Op, DAG); + case ISD::PREFETCH: return LowerPREFETCH(Op, Subtarget, DAG); } *** 188 LINES SKIPPED *** From nobody Sun Jul 23 18:27:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbM6Mfjz4p6Kl; Sun, 23 Jul 2023 18:27: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 4R8BbM4csYz3h0P; Sun, 23 Jul 2023 18:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mp79A7If9NlfmAvZshoi2mEqSYM9cFTolT4QPdkRlGI=; b=vSfE8SjJ/Zv4bC/+Ard1PYRoIobJQ/gDbGX22u2bTztN5vYVRxSyvU4LNPtGs8MCDv1x23 DzXxI33IZNlDuA+/zYH9MgmwAG3B6hnT54s8iJMjUUBjXwQcrMO+bXRl3Tmrfs13anSo4+ 6Uhq98JGKiGsrr4G9fD+69nlK1eKng8Smu0emxNdo+1Vv8fZGpUsUvdCwbpsebqlDC9d/v Dtfvz/dH52PoWOCTJfNJ3TCDGmaSv4/oVV4Kp7Wnxo3DgKV27ndB9dTjq6mim//dTmiwg+ prBE6jrrcOg15U7QzqeAovnx+XAGZ/hAwwleoeOqfG9o9iFJ8zhb/VuHzd4vog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mp79A7If9NlfmAvZshoi2mEqSYM9cFTolT4QPdkRlGI=; b=FmlilCY6RxBtzupFrrYy/Vf64Qz6gpyhQSYCQgLfO/2SlX2lJ//xJ/anw+RiAt6ALGy0pe G1jgtkK5BYD/NnOdO+nUMbx2wAW27EbD6DK/y2X+MBC4CnZKrVwTYLEJ8rHfZ50GxLkB8n /uYVLV2yVbEMaKkUYl3lf/a5lIoAmR7yjpRRKTePtfuqP4irviEdtuGUJ74w1jUssIUDnA aPo+RrbWvfN4tbAl6BSns5fQf1h6FEB8zCv/kCfsX0kzavPNqHdcg3F2ZDy8JWhKehc1XB WsVR9p0VDtRSoRS1X8VTtVpHZ9LzlmchAVEEsjdLIH0EExTYa8B6Opbsfgr3AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136831; a=rsa-sha256; cv=none; b=Bj0PuJ2mi53v87M0nFoS+bHfV880dTztTvuPxx03E8iCDI8jSQ1ynyhzau3f4GZ715TVQG 3XoQ933rkNSQhq04gYsTmsi29yFPdNVF7XAvuOTBZeT8of1LbQlKG+wssWdsrpoqasjERz xGGdv8/8EGHbO9tn+Aqn2b9w1jpvUmsV7+QVyeSqhXZtuv6YvwByax1oNBIABpE8CUZwbu f4p67Ok970+UlQdaFo4PPebSqQvcgiDgtPvmzyEqlfzevaLawXwHC91tPEXoH3smGyoACL cJHTVTudL7Bu/vBrtSN0o+6zy1XnMYFFpyaOVbQKGpWyEK0IUtjbbFsdHOPCKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbM31FjzmVS; Sun, 23 Jul 2023 18:27: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 36NIRBtS058812; Sun, 23 Jul 2023 18:27:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRB9i058811; Sun, 23 Jul 2023 18:27:11 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:11 GMT Message-Id: <202307231827.36NIRB9i058811@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: e0c3c6130c9b - stable/13 - Merge commit 69d42eef4bec from llvm-project (by Dimitry Andric): List-Id: Commit messages for all branches 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: e0c3c6130c9bf6d1fa66061b49ee4fb6c3572d55 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=e0c3c6130c9bf6d1fa66061b49ee4fb6c3572d55 commit e0c3c6130c9bf6d1fa66061b49ee4fb6c3572d55 Author: Dimitry Andric AuthorDate: 2023-06-14 18:49:59 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:10 +0000 Merge commit 69d42eef4bec from llvm-project (by Dimitry Andric): [Clang] Show type in enum out of range diagnostic When the diagnostic for an out of range enum value is printed, it currently does not show the actual enum type in question, for example: v8/src/base/bit-field.h:43:29: error: integer value 7 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion] static constexpr T kMax = static_cast(kNumValues - 1); ^ This can make it cumbersome to find the cause for the problem. Add the enum type to the diagnostic message, to make it easier. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D152788 PR: 271047 MFC after: 1 month (cherry picked from commit cf24393421ca807899c599a53ddc5dcedb7c71dc) --- .../llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td | 4 ++-- contrib/llvm-project/clang/lib/AST/ExprConstant.cpp | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td index 28120d13fd9e..4e2e0bd3079c 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td @@ -393,8 +393,8 @@ def warn_fixedpoint_constant_overflow : Warning< "overflow in expression; result is %0 with type %1">, InGroup>; def warn_constexpr_unscoped_enum_out_of_range : Warning< - "integer value %0 is outside the valid range of values [%1, %2] for this " - "enumeration type">, DefaultError, InGroup>; + "integer value %0 is outside the valid range of values [%1, %2] for the " + "enumeration type %3">, DefaultError, InGroup>; // This is a temporary diagnostic, and shall be removed once our // implementation is complete, and like the preceding constexpr notes belongs diff --git a/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp b/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp index 464104139cb2..db6c07d4ab7f 100644 --- a/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp +++ b/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp @@ -13682,12 +13682,13 @@ bool IntExprEvaluator::VisitCastExpr(const CastExpr *E) { Info.Ctx.getDiagnostics().Report( E->getExprLoc(), diag::warn_constexpr_unscoped_enum_out_of_range) << llvm::toString(Result.getInt(), 10) << Min.getSExtValue() - << Max.getSExtValue(); + << Max.getSExtValue() << ED; else if (!ED->getNumNegativeBits() && ConstexprVar && Max.ult(Result.getInt().getZExtValue())) - Info.Ctx.getDiagnostics().Report(E->getExprLoc(), - diag::warn_constexpr_unscoped_enum_out_of_range) - << llvm::toString(Result.getInt(),10) << Min.getZExtValue() << Max.getZExtValue(); + Info.Ctx.getDiagnostics().Report( + E->getExprLoc(), diag::warn_constexpr_unscoped_enum_out_of_range) + << llvm::toString(Result.getInt(), 10) << Min.getZExtValue() + << Max.getZExtValue() << ED; } } From nobody Sun Jul 23 18:27:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbQ0wsPz4p6Rh; Sun, 23 Jul 2023 18:27: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 4R8BbP4y3mz3hFt; Sun, 23 Jul 2023 18:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWzZ6Ev4UWlF4l2affDu5UBOlelfLI5eTUwEHTZzssA=; b=ZDykJLigg+QdsSw844GE4iTNtg/m0wfh8dwVyxXITTTOSTtNGkfnMZj6QWigQjXEAi8+wP LjJoUlvFuRrUXmshYnGIgb1Vm0NsuyGoEozgcEzIS9IpbfAKWtgTOKhNN5/DTpzt9AQpQx 1g8pz2u/piCsduDBMphfRheXxkEJuW5aRWjMg+7PYaSAwqfiP82jN5/rJnDaUxJOnNJRzK XxTrTQAJMqMyrtou1PE7+3aTq/5UBgXGJfvBE/Yfo3KIqBwRmJZuNfPDknbvEo+EvTMOfa tJVRSBSAY2q5pcMOUCT7/G/NvnmKXqwckyb793n34ZmSUVP8G4J99uCEtA3DqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWzZ6Ev4UWlF4l2affDu5UBOlelfLI5eTUwEHTZzssA=; b=jOXKIFvp3sUxzPg2JiFgurVDr7eTAb+XvUO52lQBY9jytNqhO7plOZUye8plxXAxbp4/Zi YTWEqrgOSSK5hekyNz/tN5xGC+SIhoSF1rpgt4PHYoF745Z0HOOxVtkMxJfpDPK8eGE0qd cAHAIdutrbyGyZn4d7UaeZrykp90lS6NAKN8kOLa4er3wpJlFU9ononzYZbadN1nnwcjoh sznycA0VHRnJgAiFFq4TJe/+piNjl7M77a1tx9NeZHpdb9MVuHjSe2azoK3oaIJLGWUmNN Os3Li/q69GxNmc7OGcHDhZH4Fo8KFuY/26GbPuwF5OJSsIZ8shBL4ey79yH6Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136833; a=rsa-sha256; cv=none; b=Tfojd4sACHpycfB2g5z82YXJafSwjH7wXAx0uHLg18ctJ6EquRySO+9Z3tXCQjtBYNTXaC ajCzBWT//7GT1xiT7jbB/fPf7spsqIhj3kmCU/UyDHVJuvFNu+kIrj1k3ow07nVlcDdN/L sto5pbKVn6ezLHTS9dX5ejcWWPI/3HJar9ghW+84LdoMoTrAjMeMyFFBPIiWaI0zc7PlFy SXgSoeYbjVzT1hnOWaHm78igqW7n+SN7Q3j18UdA4jeFhFwT0zwssFsQ20cTZl9PcGlBb0 nzCVTN7DE0OIw4EqL4FifEHYmDtqOtW4eMKtZUzTuOYKLIj1+Y6bzv1LkfrLbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbP4367zmVT; Sun, 23 Jul 2023 18:27: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 36NIRDuS058838; Sun, 23 Jul 2023 18:27:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRCAp058835; Sun, 23 Jul 2023 18:27:12 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:12 GMT Message-Id: <202307231827.36NIRCAp058835@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: 2e7b90a28f69 - stable/13 - Merge llvm-project release/16.x llvmorg-16.0.6-0-g7cbf1a259152 List-Id: Commit messages for all branches 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: 2e7b90a28f695ee74a8eeb7cccb0fcf281184407 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2e7b90a28f695ee74a8eeb7cccb0fcf281184407 commit 2e7b90a28f695ee74a8eeb7cccb0fcf281184407 Author: Dimitry Andric AuthorDate: 2023-06-22 17:47:54 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:11 +0000 Merge llvm-project release/16.x llvmorg-16.0.6-0-g7cbf1a259152 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.6-0-g7cbf1a259152 (aka 16.0.6 release). PR: 271047 MFC after: 1 month (cherry picked from commit e048f78b21438144bab781f2ba9ee33a2aae6772) --- contrib/llvm-project/libcxx/include/__config | 2 +- lib/clang/freebsd_cc_version.h | 2 - lib/clang/include/Plugins/Plugins.def | 1 - lib/clang/include/VCSVersion.inc | 8 +- lib/clang/include/clang/Basic/Version.inc | 8 +- lib/clang/include/clang/Config/config.h | 1 - lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Host/Config.h | 1 - lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/AsmParsers.def | 2 - lib/clang/include/llvm/Config/AsmPrinters.def | 2 - lib/clang/include/llvm/Config/Disassemblers.def | 2 - lib/clang/include/llvm/Config/TargetMCAs.def | 2 - lib/clang/include/llvm/Config/Targets.def | 2 - lib/clang/include/llvm/Config/abi-breaking.h | 1 - lib/clang/include/llvm/Config/config.h | 5 +- lib/clang/include/llvm/Config/llvm-config.h | 5 +- lib/clang/include/llvm/Support/Extension.def | 1 - lib/clang/include/llvm/Support/VCSRevision.h | 3 +- lib/clang/liblldb/LLDBWrapLua.cpp | 82074 +++++++++++----------- lib/clang/llvm.pre.mk | 1 - 21 files changed, 41074 insertions(+), 41057 deletions(-) diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index d7ba71906e26..10815388389a 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -38,7 +38,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 160005 +# define _LIBCPP_VERSION 160006 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h index 37777d586b6d..e0441ae866f5 100644 --- a/lib/clang/freebsd_cc_version.h +++ b/lib/clang/freebsd_cc_version.h @@ -1,3 +1 @@ -/* $FreeBSD$ */ - #define FREEBSD_CC_VERSION 1300012 diff --git a/lib/clang/include/Plugins/Plugins.def b/lib/clang/include/Plugins/Plugins.def index 55ff6eae7c07..a1224b71fc75 100644 --- a/lib/clang/include/Plugins/Plugins.def +++ b/lib/clang/include/Plugins/Plugins.def @@ -1,4 +1,3 @@ -// $FreeBSD$ /*===- lldb/source/Plugin/Plugins.def ---------------------------*- C++ -*-===*\ |* *| |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index 1daa9c25ab45..598871260c01 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,10 +1,8 @@ -// $FreeBSD$ - -#define LLVM_REVISION "llvmorg-16.0.5-0-g185b81e034ba" +#define LLVM_REVISION "llvmorg-16.0.6-0-g7cbf1a259152" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-16.0.5-0-g185b81e034ba" +#define CLANG_REVISION "llvmorg-16.0.6-0-g7cbf1a259152" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-16.0.5-0-g185b81e034ba" +#define LLDB_REVISION "llvmorg-16.0.6-0-g7cbf1a259152" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index e99bc8fb4f95..d5aa1ce51f33 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,10 +1,8 @@ -/* $FreeBSD$ */ - -#define CLANG_VERSION 16.0.5 -#define CLANG_VERSION_STRING "16.0.5" +#define CLANG_VERSION 16.0.6 +#define CLANG_VERSION_STRING "16.0.6" #define CLANG_VERSION_MAJOR 16 #define CLANG_VERSION_MAJOR_STRING "16" #define CLANG_VERSION_MINOR 0 -#define CLANG_VERSION_PATCHLEVEL 5 +#define CLANG_VERSION_PATCHLEVEL 6 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h index 0cd1e12a4108..b2c85aa23d19 100644 --- a/lib/clang/include/clang/Config/config.h +++ b/lib/clang/include/clang/Config/config.h @@ -1,4 +1,3 @@ -/* $FreeBSD$ */ /* This generated file is for internal use. Do not include it from headers. */ #ifdef CLANG_CONFIG_H diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index f6061c3e6784..20810f686dad 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400006 -#define LLD_VERSION_STRING "16.0.5 (FreeBSD llvmorg-16.0.5-0-g185b81e034ba-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "16.0.6 (FreeBSD llvmorg-16.0.6-0-g7cbf1a259152-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Host/Config.h b/lib/clang/include/lldb/Host/Config.h index 0e855b6b09c6..8f6bdf58790e 100644 --- a/lib/clang/include/lldb/Host/Config.h +++ b/lib/clang/include/lldb/Host/Config.h @@ -1,4 +1,3 @@ -// $FreeBSD$ //===-- Config.h -----------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index 982e4714b182..99f8a8e09dea 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 16.0.5 -#define LLDB_VERSION_STRING "16.0.5" +#define LLDB_VERSION 16.0.6 +#define LLDB_VERSION_STRING "16.0.6" #define LLDB_VERSION_MAJOR 16 #define LLDB_VERSION_MINOR 0 -#define LLDB_VERSION_PATCH 5 +#define LLDB_VERSION_PATCH 6 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/AsmParsers.def b/lib/clang/include/llvm/Config/AsmParsers.def index d0924c0914f3..e37ea136a87b 100644 --- a/lib/clang/include/llvm/Config/AsmParsers.def +++ b/lib/clang/include/llvm/Config/AsmParsers.def @@ -1,5 +1,3 @@ -/* $FreeBSD$ */ - #ifndef LLVM_ASM_PARSER # error Please define the macro LLVM_ASM_PARSER(TargetName) #endif diff --git a/lib/clang/include/llvm/Config/AsmPrinters.def b/lib/clang/include/llvm/Config/AsmPrinters.def index 2a335aa93b42..819a52bc29e2 100644 --- a/lib/clang/include/llvm/Config/AsmPrinters.def +++ b/lib/clang/include/llvm/Config/AsmPrinters.def @@ -1,5 +1,3 @@ -/* $FreeBSD$ */ - #ifndef LLVM_ASM_PRINTER # error Please define the macro LLVM_ASM_PRINTER(TargetName) #endif diff --git a/lib/clang/include/llvm/Config/Disassemblers.def b/lib/clang/include/llvm/Config/Disassemblers.def index 756ff37b4bf8..90ab73d82294 100644 --- a/lib/clang/include/llvm/Config/Disassemblers.def +++ b/lib/clang/include/llvm/Config/Disassemblers.def @@ -1,5 +1,3 @@ -/* $FreeBSD$ */ - #ifndef LLVM_DISASSEMBLER # error Please define the macro LLVM_DISASSEMBLER(TargetName) #endif diff --git a/lib/clang/include/llvm/Config/TargetMCAs.def b/lib/clang/include/llvm/Config/TargetMCAs.def index be6edaf3dd69..e7d4e60c0098 100644 --- a/lib/clang/include/llvm/Config/TargetMCAs.def +++ b/lib/clang/include/llvm/Config/TargetMCAs.def @@ -1,5 +1,3 @@ -/* $FreeBSD$ */ - #ifndef LLVM_TARGETMCA # error Please define the macro LLVM_TARGETMCA(TargetName) #endif diff --git a/lib/clang/include/llvm/Config/Targets.def b/lib/clang/include/llvm/Config/Targets.def index b6cb6fee9dce..a9a64ccd4202 100644 --- a/lib/clang/include/llvm/Config/Targets.def +++ b/lib/clang/include/llvm/Config/Targets.def @@ -1,5 +1,3 @@ -/* $FreeBSD$ */ - #ifndef LLVM_TARGET # error Please define the macro LLVM_TARGET(TargetName) #endif diff --git a/lib/clang/include/llvm/Config/abi-breaking.h b/lib/clang/include/llvm/Config/abi-breaking.h index 1254d6218db3..eb90be1fe37b 100644 --- a/lib/clang/include/llvm/Config/abi-breaking.h +++ b/lib/clang/include/llvm/Config/abi-breaking.h @@ -1,4 +1,3 @@ -/* $FreeBSD$ */ /*===------- llvm/Config/abi-breaking.h - llvm configuration -------*- C -*-===*/ /* */ /* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index d97252910e45..78af3cbddcd1 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -1,4 +1,3 @@ -/* $FreeBSD$ */ #ifndef CONFIG_H #define CONFIG_H @@ -348,10 +347,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 16.0.5" +#define PACKAGE_STRING "LLVM 16.0.6" /* Define to the version of this package. */ -#define PACKAGE_VERSION "16.0.5" +#define PACKAGE_VERSION "16.0.6" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index 82d246c949f0..cdf493029a3a 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -1,4 +1,3 @@ -/* $FreeBSD$ */ /*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/ /* */ /* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ @@ -74,10 +73,10 @@ #define LLVM_VERSION_MINOR 0 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 5 +#define LLVM_VERSION_PATCH 6 /* LLVM version string */ -#define LLVM_VERSION_STRING "16.0.5" +#define LLVM_VERSION_STRING "16.0.6" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/Extension.def b/lib/clang/include/llvm/Support/Extension.def index 07fb3782b6c3..afb3240cecc2 100644 --- a/lib/clang/include/llvm/Support/Extension.def +++ b/lib/clang/include/llvm/Support/Extension.def @@ -1,3 +1,2 @@ -// $FreeBSD$ //extension handlers #undef HANDLE_EXTENSION diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index 95353f30f7ec..02b970068e71 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,3 +1,2 @@ -/* $FreeBSD$ */ -#define LLVM_REVISION "llvmorg-16.0.5-0-g185b81e034ba" +#define LLVM_REVISION "llvmorg-16.0.6-0-g7cbf1a259152" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/liblldb/LLDBWrapLua.cpp b/lib/clang/liblldb/LLDBWrapLua.cpp index ed5bec8c61da..73bd6373845b 100644 --- a/lib/clang/liblldb/LLDBWrapLua.cpp +++ b/lib/clang/liblldb/LLDBWrapLua.cpp @@ -1,45 +1,17 @@ /* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * This file was automatically generated by SWIG (https://www.swig.org). + * Version 4.1.1 * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. + * Do not make changes to this file unless you know what you are doing - modify + * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -#ifndef SWIGLUA +#define SWIG_VERSION 0x040101 #define SWIGLUA -#endif - #define SWIG_LUA_TARGET SWIG_LUA_FLAVOR_LUA #define SWIG_LUA_MODULE_GLOBAL - -#ifdef __cplusplus -/* SwigValueWrapper is described in swig.swg */ -template class SwigValueWrapper { - struct SwigMovePointer { - T *ptr; - SwigMovePointer(T *p) : ptr(p) { } - ~SwigMovePointer() { delete ptr; } - SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } - } pointer; - SwigValueWrapper& operator=(const SwigValueWrapper& rhs); - SwigValueWrapper(const SwigValueWrapper& rhs); -public: - SwigValueWrapper() : pointer(0) { } - SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } - operator T&() const { return *pointer.ptr; } - T *operator&() { return pointer.ptr; } -}; - -template T SwigValueInit() { - return T(); -} -#endif - /* ----------------------------------------------------------------------------- * This section contains generic SWIG labels for method/variable * declarations/attributes, and other compiler dependent labels. @@ -210,6 +182,8 @@ template T SwigValueInit() { #define SWIG_POINTER_DISOWN 0x1 #define SWIG_CAST_NEW_MEMORY 0x2 #define SWIG_POINTER_NO_NULL 0x4 +#define SWIG_POINTER_CLEAR 0x8 +#define SWIG_POINTER_RELEASE (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN) /* Flags for new pointer objects */ #define SWIG_POINTER_OWN 0x1 @@ -281,7 +255,7 @@ template T SwigValueInit() { SWIG errors code. Finally, if the SWIG_CASTRANK_MODE is enabled, the result code - allows to return the 'cast rank', for example, if you have this + allows returning the 'cast rank', for example, if you have this int food(double) int fooi(int); @@ -295,7 +269,13 @@ template T SwigValueInit() { */ #define SWIG_OK (0) +/* Runtime errors are < 0 */ #define SWIG_ERROR (-1) +/* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */ +/* Errors in range -100 to -199 are language specific errors defined in *errors.swg */ +/* Errors < -200 are generic runtime specific errors */ +#define SWIG_ERROR_RELEASE_NOT_OWNED (-200) + #define SWIG_IsOK(r) (r >= 0) #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) @@ -310,7 +290,7 @@ template T SwigValueInit() { #define SWIG_OLDOBJ (SWIG_OK) #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) -/* Check, add and del mask methods */ +/* Check, add and del object mask methods */ #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) @@ -456,7 +436,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) { Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison */ SWIGRUNTIME swig_cast_info * -SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { +SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) { if (ty) { swig_cast_info *iter = ty->cast; while (iter) { @@ -516,9 +496,9 @@ SWIG_TypeName(const swig_type_info *ty) { SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type) { /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ + type, separated by vertical-bar characters. Choose the last + name. It should be the most specific; a fully resolved name + but not necessarily with default template parameters expanded. */ if (!type) return NULL; if (type->str != NULL) { const char *last_name = type->str; @@ -738,7 +718,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { } #endif -/* Errors in SWIG */ +/* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */ #define SWIG_UnknownError -1 #define SWIG_IOError -2 #define SWIG_RuntimeError -3 @@ -754,7 +734,6 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { #define SWIG_NullReferenceError -13 - /* ----------------------------------------------------------------------------- * luarun.swg * @@ -1064,7 +1043,7 @@ typedef struct { /* Contract support */ #define SWIG_contract_assert(expr, msg) \ - if (!(expr)) { SWIG_Lua_pusherrstring(L, (char *) msg); goto fail; } else + do { if (!(expr)) { SWIG_Lua_pusherrstring(L, (char *) msg); goto fail; } } while (0) /* helper #defines */ @@ -1583,7 +1562,7 @@ SWIGINTERN int SWIG_Lua_class_do_get_item(lua_State *L, swig_type_info *type, i /* NEW: looks for the __getitem() fn this is a user provided get fn */ SWIG_Lua_get_table(L,"__getitem"); /* find the __getitem fn */ - if (lua_iscfunction(L,-1)) /* if its there */ + if (lua_iscfunction(L,-1)) /* if it's there */ { /* found it so call the fn & return its value */ lua_pushvalue(L,substack_start+1); /* the userdata */ lua_pushvalue(L,substack_start+2); /* the parameter */ @@ -1640,7 +1619,7 @@ SWIGINTERN int SWIG_Lua_class_do_get(lua_State *L, swig_type_info *type, int SW lua_pushvalue(L,substack_start+2); /* key */ lua_rawget(L,-2); /* look for the fn */ lua_remove(L,-2); /* stack tidy, remove .fn table */ - if (lua_isfunction(L,-1)) /* note: if its a C function or lua function */ + if (lua_isfunction(L,-1)) /* note: if it's a C function or lua function */ { /* found it so return the fn & let lua call it */ lua_remove(L,-2); /* stack tidy, remove metatable */ if(ret) @@ -1723,7 +1702,7 @@ SWIGINTERN int SWIG_Lua_class_do_set(lua_State *L, swig_type_info *type, int fi /* NEW: looks for the __setitem() fn this is a user provided set fn */ SWIG_Lua_get_table(L,"__setitem"); /* find the fn */ - if (lua_iscfunction(L,-1)) /* if its there */ + if (lua_iscfunction(L,-1)) /* if it's there */ { /* found it so call the fn & return its value */ lua_pushvalue(L,substack_start+1); /* the userdata */ lua_pushvalue(L,substack_start+2); /* the parameter */ @@ -2100,15 +2079,15 @@ SWIGINTERN void SWIG_Lua_add_class_instance_details(lua_State *L, swig_lua_clas SWIGRUNTIME int SWIG_Lua_resolve_metamethod(lua_State *L); /*forward declaration*/ /* The real function that resolves a metamethod. - * Function searches given class and all it's bases(recursively) for first instance of something that is - * not equal to SWIG_Lua_resolve_metatmethod. (Almost always this 'something' is actual metamethod implementation + * Function searches given class and all its bases (recursively) for first instance of something that is + * not equal to SWIG_Lua_resolve_metamethod. (Almost always this 'something' is actual metamethod implementation * and it is a SWIG-generated C function.). It returns value on the top of the L and there is no garbage below the * answer. * Returns 1 if found, 0 otherwise. * clss is class which metatable we will search for method * metamethod_name_idx is index in L where metamethod name (as string) lies - * skip_check allows to skip searching metamethod in givel clss and immideatelly go to searching in bases. skip_check - * is not caried to subsequent recursive calls - false is always passed. It is set to true only at first call from + * skip_check allows skipping searching metamethod in the given class and immediately going to searching in bases. skip_check + * is not carried to subsequent recursive calls - false is always passed. It is set to true only at first call from * SWIG_Lua_resolve_metamethod * */ SWIGINTERN int SWIG_Lua_do_resolve_metamethod(lua_State *L, const swig_lua_class *clss, int metamethod_name_idx, @@ -2254,7 +2233,7 @@ SWIGINTERN void SWIG_Lua_add_class_user_metamethods(lua_State *L, swig_lua_class } } - lua_pop(L,1); /* remove inheritable metatmethods table */ + lua_pop(L,1); /* remove inheritable metamethods table */ /* Special handling for __tostring method */ lua_pushstring(L, "__tostring"); @@ -2514,6 +2493,7 @@ SWIGRUNTIME void SWIG_Lua_NewPointerObj(lua_State *L,void *ptr,swig_type_info *t (if possible) */ SWIGRUNTIME int SWIG_Lua_ConvertPtr(lua_State *L,int index,void **ptr,swig_type_info *type,int flags) { + int ret = SWIG_ERROR; swig_lua_userdata *usr; swig_cast_info *cast; /* special case: lua nil => NULL pointer */ @@ -2530,30 +2510,41 @@ SWIGRUNTIME int SWIG_Lua_ConvertPtr(lua_State *L,int index,void **ptr,swig_type usr=(swig_lua_userdata*)lua_touserdata(L,index); /* get data */ if (usr) { + if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE) && !usr->own) + { + return SWIG_ERROR_RELEASE_NOT_OWNED; + } if (flags & SWIG_POINTER_DISOWN) /* must disown the object */ { - usr->own=0; + usr->own = 0; } if (!type) /* special cast void*, no casting fn */ { *ptr=usr->ptr; - return SWIG_OK; /* ok */ + ret = SWIG_OK; } - cast=SWIG_TypeCheckStruct(usr->type,type); /* performs normal type checking */ - if (cast) + else { - int newmemory = 0; - *ptr=SWIG_TypeCast(cast,usr->ptr,&newmemory); - assert(!newmemory); /* newmemory handling not yet implemented */ - return SWIG_OK; /* ok */ + cast=SWIG_TypeCheck(usr->type->name,type); /* performs normal type checking */ + if (cast) + { + int newmemory = 0; + *ptr=SWIG_TypeCast(cast,usr->ptr,&newmemory); + assert(!newmemory); /* newmemory handling not yet implemented */ + ret = SWIG_OK; + } + } + if ((ret == SWIG_OK) && (flags & SWIG_POINTER_CLEAR)) + { + usr->ptr = 0; } } - return SWIG_ERROR; /* error */ + return ret; } SWIGRUNTIME void* SWIG_Lua_MustGetPtr(lua_State *L,int index,swig_type_info *type,int flags, int argnum,const char *func_name){ - void *result; + void *result = 0; if (!SWIG_IsOK(SWIG_ConvertPtr(L,index,&result,type,flags))){ luaL_error (L,"Error in %s, expected a %s at argument number %d\n", func_name,(type && type->str)?type->str:"void*",argnum); @@ -2946,6 +2937,54 @@ static swig_module_info swig_module = {swig_types, 236, 0, 0, 0, 0}; #define SWIG_LUACODE luaopen_lldb_luacode +#ifdef __cplusplus +#include +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigSmartPointer { + T *ptr; + SwigSmartPointer(T *p) : ptr(p) { } + ~SwigSmartPointer() { delete ptr; } + SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; } +#if __cplusplus >=201103L + SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; } + operator T&&() const { return std::move(*pointer.ptr); } +#else + operator T&() const { return *pointer.ptr; } +#endif + T *operator&() const { return pointer.ptr; } + static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); } +}; + +/* + * SwigValueInit() is a generic initialisation solution as the following approach: + * + * T c_result = T(); + * + * doesn't compile for all types for example: + * + * unsigned int c_result = unsigned int(); + */ +template T SwigValueInit() { + return T(); +} + +#if __cplusplus >=201103L +# define SWIG_STD_MOVE(OBJ) std::move(OBJ) +#else +# define SWIG_STD_MOVE(OBJ) OBJ +#endif + +#endif + + namespace swig { typedef struct{} LANGUAGE_OBJ; } @@ -3747,39 +3786,39 @@ static int LLDBSwigLuaCloseFileHandle(lua_State * L) { extern "C" { #endif static int _wrap_new_string__SWIG_0(lua_State* L) { - int SWIG_arg = 0; - std::string *result = 0 ; - - SWIG_check_num_args("std::string::string",0,0) - result = (std::string *)new std::string(); - SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: + { + int SWIG_arg = 0; + std::string *result = 0 ; + + SWIG_check_num_args("std::string::string",0,0) + result = (std::string *)new std::string(); + SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; + } lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_new_string__SWIG_1(lua_State* L) { - int SWIG_arg = 0; - char *arg1 = (char *) 0 ; - std::string *result = 0 ; - - SWIG_check_num_args("std::string::string",1,1) - if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("std::string::string",1,"char const *"); - arg1 = (char *)lua_tostring(L, 1); - result = (std::string *)new std::string((char const *)arg1); - SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: + { + int SWIG_arg = 0; + char *arg1 = (char *) 0 ; + std::string *result = 0 ; + + SWIG_check_num_args("std::string::string",1,1) + if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("std::string::string",1,"char const *"); + arg1 = (char *)lua_tostring(L, 1); + result = (std::string *)new std::string((char const *)arg1); + SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; + } lua_error(L); - return SWIG_arg; + return 0; } @@ -3794,7 +3833,7 @@ static int _wrap_new_string(lua_State* L) { return _wrap_new_string__SWIG_0(L); } if (argc == 1) { - int _v; + int _v = 0; { _v = SWIG_lua_isnilstring(L,argv[0]); } @@ -3812,148 +3851,148 @@ static int _wrap_new_string(lua_State* L) { static int _wrap_string_size(lua_State* L) { - int SWIG_arg = 0; - std::string *arg1 = (std::string *) 0 ; - unsigned int result; - - SWIG_check_num_args("std::string::size",1,1) - if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::size",1,"std::string const *"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ - SWIG_fail_ptr("string_size",1,SWIGTYPE_p_std__string); + { + int SWIG_arg = 0; + std::string *arg1 = (std::string *) 0 ; + unsigned int result; + + SWIG_check_num_args("std::string::size",1,1) + if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::size",1,"std::string const *"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ + SWIG_fail_ptr("string_size",1,SWIGTYPE_p_std__string); + } + + result = (unsigned int)((std::string const *)arg1)->size(); + lua_pushnumber(L, (lua_Number) result); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; } - - result = (unsigned int)((std::string const *)arg1)->size(); - lua_pushnumber(L, (lua_Number) result); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_string_length(lua_State* L) { - int SWIG_arg = 0; - std::string *arg1 = (std::string *) 0 ; - unsigned int result; - - SWIG_check_num_args("std::string::length",1,1) - if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::length",1,"std::string const *"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ - SWIG_fail_ptr("string_length",1,SWIGTYPE_p_std__string); + { + int SWIG_arg = 0; + std::string *arg1 = (std::string *) 0 ; + unsigned int result; + + SWIG_check_num_args("std::string::length",1,1) + if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::length",1,"std::string const *"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ + SWIG_fail_ptr("string_length",1,SWIGTYPE_p_std__string); + } + + result = (unsigned int)((std::string const *)arg1)->length(); + lua_pushnumber(L, (lua_Number) result); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; } - - result = (unsigned int)((std::string const *)arg1)->length(); - lua_pushnumber(L, (lua_Number) result); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_string_empty(lua_State* L) { - int SWIG_arg = 0; - std::string *arg1 = (std::string *) 0 ; - bool result; - - SWIG_check_num_args("std::string::empty",1,1) - if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::empty",1,"std::string const *"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ - SWIG_fail_ptr("string_empty",1,SWIGTYPE_p_std__string); + { + int SWIG_arg = 0; + std::string *arg1 = (std::string *) 0 ; + bool result; + + SWIG_check_num_args("std::string::empty",1,1) + if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::empty",1,"std::string const *"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ + SWIG_fail_ptr("string_empty",1,SWIGTYPE_p_std__string); + } + + result = (bool)((std::string const *)arg1)->empty(); + lua_pushboolean(L,(int)(result!=0)); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; } - - result = (bool)((std::string const *)arg1)->empty(); - lua_pushboolean(L,(int)(result!=0)); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_string_c_str(lua_State* L) { - int SWIG_arg = 0; - std::string *arg1 = (std::string *) 0 ; - char *result = 0 ; - - SWIG_check_num_args("std::string::c_str",1,1) - if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::c_str",1,"std::string const *"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ - SWIG_fail_ptr("string_c_str",1,SWIGTYPE_p_std__string); + { + int SWIG_arg = 0; + std::string *arg1 = (std::string *) 0 ; + char *result = 0 ; + + SWIG_check_num_args("std::string::c_str",1,1) + if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::c_str",1,"std::string const *"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ + SWIG_fail_ptr("string_c_str",1,SWIGTYPE_p_std__string); + } + + result = (char *)((std::string const *)arg1)->c_str(); + lua_pushstring(L,(const char *)result); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; } - - result = (char *)((std::string const *)arg1)->c_str(); - lua_pushstring(L,(const char *)result); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_string_data(lua_State* L) { - int SWIG_arg = 0; - std::string *arg1 = (std::string *) 0 ; - char *result = 0 ; - - SWIG_check_num_args("std::string::data",1,1) - if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::data",1,"std::string const *"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ - SWIG_fail_ptr("string_data",1,SWIGTYPE_p_std__string); + { + int SWIG_arg = 0; + std::string *arg1 = (std::string *) 0 ; + char *result = 0 ; + + SWIG_check_num_args("std::string::data",1,1) + if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::data",1,"std::string const *"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ + SWIG_fail_ptr("string_data",1,SWIGTYPE_p_std__string); + } + + result = (char *)((std::string const *)arg1)->data(); + lua_pushstring(L,(const char *)result); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; } - - result = (char *)((std::string const *)arg1)->data(); - lua_pushstring(L,(const char *)result); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_string_assign(lua_State* L) { - int SWIG_arg = 0; - std::string *arg1 = (std::string *) 0 ; - char *arg2 = (char *) 0 ; - - SWIG_check_num_args("std::string::assign",2,2) - if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::assign",1,"std::string *"); - if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("std::string::assign",2,"char const *"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ - SWIG_fail_ptr("string_assign",1,SWIGTYPE_p_std__string); + { + int SWIG_arg = 0; + std::string *arg1 = (std::string *) 0 ; + char *arg2 = (char *) 0 ; + + SWIG_check_num_args("std::string::assign",2,2) + if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::assign",1,"std::string *"); + if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("std::string::assign",2,"char const *"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){ + SWIG_fail_ptr("string_assign",1,SWIGTYPE_p_std__string); + } + + arg2 = (char *)lua_tostring(L, 2); + (arg1)->assign((char const *)arg2); + + return SWIG_arg; + + fail: SWIGUNUSED; } - - arg2 = (char *)lua_tostring(L, 2); - (arg1)->assign((char const *)arg2); - - return SWIG_arg; - - if(0) SWIG_fail; - -fail: lua_error(L); - return SWIG_arg; + return 0; } @@ -4011,99 +4050,99 @@ static const char *swig_string_base_names[] = {0}; static swig_lua_class _wrap_class_string = { "string", "string", &SWIGTYPE_p_std__string,_proxy__wrap_new_string, swig_delete_string, swig_string_methods, swig_string_attributes, &swig_string_Sf_SwigStatic, swig_string_meta, swig_string_bases, swig_string_base_names }; static int _wrap_new_SBAddress__SWIG_0(lua_State* L) { - int SWIG_arg = 0; - lldb::SBAddress *result = 0 ; - - SWIG_check_num_args("lldb::SBAddress::SBAddress",0,0) - result = (lldb::SBAddress *)new lldb::SBAddress(); - SWIG_NewPointerObj(L,result,SWIGTYPE_p_lldb__SBAddress,1); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; - -fail: + { + int SWIG_arg = 0; + lldb::SBAddress *result = 0 ; + + SWIG_check_num_args("lldb::SBAddress::SBAddress",0,0) + result = (lldb::SBAddress *)new lldb::SBAddress(); + SWIG_NewPointerObj(L,result,SWIGTYPE_p_lldb__SBAddress,1); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; + } lua_error(L); - return SWIG_arg; + return 0; } static int _wrap_new_SBAddress__SWIG_1(lua_State* L) { - int SWIG_arg = 0; - lldb::SBAddress *arg1 = 0 ; - lldb::SBAddress *result = 0 ; - - SWIG_check_num_args("lldb::SBAddress::SBAddress",1,1) - if(!lua_isuserdata(L,1)) SWIG_fail_arg("lldb::SBAddress::SBAddress",1,"lldb::SBAddress const &"); - - if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_lldb__SBAddress,0))){ - SWIG_fail_ptr("new_SBAddress",1,SWIGTYPE_p_lldb__SBAddress); + { + int SWIG_arg = 0; + lldb::SBAddress *arg1 = 0 ; + lldb::SBAddress *result = 0 ; + + SWIG_check_num_args("lldb::SBAddress::SBAddress",1,1) + if(!lua_isuserdata(L,1)) SWIG_fail_arg("lldb::SBAddress::SBAddress",1,"lldb::SBAddress const &"); + + if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_lldb__SBAddress,0))){ + SWIG_fail_ptr("new_SBAddress",1,SWIGTYPE_p_lldb__SBAddress); + } + + result = (lldb::SBAddress *)new lldb::SBAddress((lldb::SBAddress const &)*arg1); + SWIG_NewPointerObj(L,result,SWIGTYPE_p_lldb__SBAddress,1); SWIG_arg++; + return SWIG_arg; + + fail: SWIGUNUSED; } - - result = (lldb::SBAddress *)new lldb::SBAddress((lldb::SBAddress const &)*arg1); - SWIG_NewPointerObj(L,result,SWIGTYPE_p_lldb__SBAddress,1); SWIG_arg++; - return SWIG_arg; - - if(0) SWIG_fail; *** 96857 LINES SKIPPED *** From nobody Sun Jul 23 18:27:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbR0lKjz4p6Rm; Sun, 23 Jul 2023 18:27: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 4R8BbQ67Xxz3h5T; Sun, 23 Jul 2023 18:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MKQQCEkccWqje4DtWdj/veZYKsh9a5pQUbbeDEjgIGg=; b=jWay97TjbyWtKr4IvSkpYao66IXBLjr1Put++3ZHVZ8unbI8dZDYzjHPf9qj/eHYCvRIcs vmbxWC4Cz+7QXzPbRYQ7kJ/q+F05wOdH2Ze+CGfHmKatMBN24tFBHmM92rg0rnhVbinmRD qs6xYL6wlbHvgnw07qcbVUneCUzz625TB69POlDL2s/2e36r/jb78IfXMtOKx+7mhdwKhh NYUaW+4ourGk/e4FFUezUqj9TnfiV0eprNfbIV0w5NVdFgzBwN5ZrBHw3r9f04xqpEhj2j QVwLwFEd0mrZRnRMkEKbwa6OSysBwuXCQQkHkqlTRKOLuw01vbxeJG31omY80g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MKQQCEkccWqje4DtWdj/veZYKsh9a5pQUbbeDEjgIGg=; b=E3TZy0NWrBF5ZE9IQ2geNv+e+BxeZrlWoemFlcmZJh2q/+tae9eohGEspZAjfZC3F+cjle weY+Yx4UMVn0YoVdrecjBRJauceXmhdbQdtCIky9q0zlDga5eQVafyO9qHlYqG6NlOH7l6 UarhnZifl5BJ3EVdOl7BoRv5WFk0K7ErNxzA0QHMtkuaUfI8IH9pSxtXA5ovw354q65RnY t0CDVFtKuyk/1KL9CuXMr6XPZsqQqSaBoW3YlJ8Yl/SSk0R/CzdiNcme0/X0W3qJpuFmmu rOHA2mXAHOXw9456eR/lhd+v68r7aa2TDGxMxyDYZJScGJdnkhFRttsv/UXeug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136835; a=rsa-sha256; cv=none; b=M49OjxQsmOVdLMqe0BTQd+Ao5ue2Gea40CQt7pTG54NQ0jZKffWQYDbPLRavHz/Nli1rzD /5tR2MbQvctwFdouVUGhWBXmFIpe8n2mkpfDbbIBoVFn8ka9CWWQ0oaL8mW/6TXa74Rtsa 4ziCweDJAGIQs0OHUahDqRJiZmVJBtVVb9lHStkoTLQPQ/kU9xGcK7gha7sH4a8hPnsr6q Oc/voc57TB06o1OPb0H2tGtcXT6UsjK+JfJY1Doq4g24sy/RK2Cy2bs9b1X2I1T84DeYyQ 0IUgAmCY8GJtxcYHQUygMUZ3L72aNvKeqzsyYnbAfc7rwjwfg6WPwuSMNsAMYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbQ4zxSzmVV; Sun, 23 Jul 2023 18:27: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 36NIRE1W058862; Sun, 23 Jul 2023 18:27:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIREob058861; Sun, 23 Jul 2023 18:27:14 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:14 GMT Message-Id: <202307231827.36NIREob058861@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: b2acc21dfbd6 - stable/13 - Bump __FreeBSD_version for llvm 16.0.6 merge List-Id: Commit messages for all branches 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: b2acc21dfbd6fab28b1715c775b43d4914b75e0c Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b2acc21dfbd6fab28b1715c775b43d4914b75e0c commit b2acc21dfbd6fab28b1715c775b43d4914b75e0c Author: Dimitry Andric AuthorDate: 2023-06-22 18:24:04 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:11 +0000 Bump __FreeBSD_version for llvm 16.0.6 merge PR: 271047 MFC after: 1 month (cherry picked from commit a681cba16d8967651a2146385ce44a2bfeb1c4c3) --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 6a0328d8aa45..3feedc5c5ca8 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1302506 /* Master, propagated to newvers */ +#define __FreeBSD_version 1302507 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sun Jul 23 18:27:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbS2GFDz4p6L0; Sun, 23 Jul 2023 18:27: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 4R8BbS0dSrz3hGS; Sun, 23 Jul 2023 18:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gLKwc5RWuSxiQ1NRMMbp5cj+SrbZ2J6bOMajpN6Aukw=; b=shb0d+AihSqawDMi+DYxbY7IF0a16gtD/jFT8S9iKDrbTc37YzApEAS15u4WZPK2KJTyXw JX+G+UEFWOxMU9SmMN3KUeDcSgqASjQdqAUIQMXwuvs6FkKwYkymRWDHo5e1mt+2EqkmpW 1v1PLkHZODdYWr3JQeVagpd//XCPcnw02IXWv7+zCXNPIgWfmUPHRsL/LqTofqhq7pncwD WNoHOtNI9g34falbhyc/TA1tpRjgNIl8wRQdTXK68w1T/J8FC6MJlExqWNzzfp2s5ZrrqH lzz8m3JWtOcLczdA8pPTWFwbNZ1eAoOZ7Z8OWKTpIWst5jdY+l1jCAEPJDMOAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gLKwc5RWuSxiQ1NRMMbp5cj+SrbZ2J6bOMajpN6Aukw=; b=gKUw3k+bois7lW2pbUqb9m8ixE5mkROhwLJZQmUalUtJjiuSDweK4+Wh9Y7h1zBarPj/VQ TXvMcMD/XgFiTgXZgH5alIorn/n1OdSbV0IDSsrFC6NBTqSkc3JE1pEG4luYp5fB+T/bYt DjVXGTLyADyz9OuIE5U1ga1XKVUH5DKNVMoEXUbOX8ETvzs9N7p2I9JeuuacfVmqBCHBo4 N6chVyKKnlMsEY/8Om8UsvKESVAgoY13h+xGcxPMvVc+SrETQfvmgSYKrR+qhtAHgzq2QM gtHlgZLp42oUUfn/fhWe2L7kofpceLmuTpZbgpt1oCtiIXXpvyYl2+iSr+d5bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136836; a=rsa-sha256; cv=none; b=In0Idb7dom2s7kOHHLUBN3ZH3cWViu1Sbhj09pkDcCoeaD5O6CO7d3dOFwMuNuNUgw7LFJ Iyz5bY4c0MpXQtDTlzdHRBxzNOAAtIX5/wF46ONXe71iPR+nXepV8Ur0E5ljAhxA6VsNDb mpwJ1QmuYRqbw/ZmPjJjXdW9CIwGZogh1CZ8JeZcWrzpo6X2NU+9/xsIeORHDDvSIKDODr dUW1jpVzdFaRimMNUZac/s65GY9JCtxQpxubmVmpGO6HKLeYsJoCU8P44iBf5KESSMgrgC PCbP2E9iWSN23WlNemiEABIHYG7DyKx6JVRMrNEUepu+FN1kDY+sVP3JJAj5qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbR5xSLzmhk; Sun, 23 Jul 2023 18:27: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 36NIRFN7058882; Sun, 23 Jul 2023 18:27:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRF8X058881; Sun, 23 Jul 2023 18:27:15 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:15 GMT Message-Id: <202307231827.36NIRF8X058881@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: 95955fb872c6 - stable/13 - Merge commit fde5924dcc69 from llvm-project (by Serge Pavlov): List-Id: Commit messages for all branches 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: 95955fb872c6a51ff18804b93a2065185955c2a0 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=95955fb872c6a51ff18804b93a2065185955c2a0 commit 95955fb872c6a51ff18804b93a2065185955c2a0 Author: Dimitry Andric AuthorDate: 2023-07-13 18:57:22 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:12 +0000 Merge commit fde5924dcc69 from llvm-project (by Serge Pavlov): [clang] Reset FP options before template instantiation AST nodes that may depend on FP options keep them as a difference relative to the options outside the AST node. At the moment of instantiation the FP options may be different from the default values, defined by command-line option. In such case FP attributes would have unexpected values. For example, the code: template void func_01(int last, C) { func_01(last, int()); } void func_02() { func_01(0, 1); } #pragma STDC FENV_ACCESS ON caused compiler crash, because template instantiation takes place at the end of translation unit, where pragma STDC FENV_ACCESS is in effect. As a result, code in the template instantiation would use constrained intrinsics while the function does not have StrictFP attribute. To solve this problem, FP attributes in Sema must be set to default values, defined by command line options. This change resolves https://github.com/llvm/llvm-project/issues/63542. Differential Revision: https://reviews.llvm.org/D154359 Requested by: pkubaj PR: 265755, 265758 MFC after: 1 month (cherry picked from commit 1cd9788408aa9ea4fd0fbc3e06bd9a4eaf8d8d22) --- contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 7a0da8d08333..bed5237749c5 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -5057,6 +5057,10 @@ void Sema::InstantiateFunctionDefinition(SourceLocation PointOfInstantiation, // PushDeclContext because we don't have a scope. Sema::ContextRAII savedContext(*this, Function); + FPFeaturesStateRAII SavedFPFeatures(*this); + CurFPFeatures = FPOptions(getLangOpts()); + FpPragmaStack.CurrentValue = FPOptionsOverride(); + if (addInstantiatedParametersToScope(Function, PatternDecl, Scope, TemplateArgs)) return; From nobody Sun Jul 23 18:27:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbT3Nbcz4p6Fc; Sun, 23 Jul 2023 18:27: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 4R8BbT12zHz3hJZ; Sun, 23 Jul 2023 18:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q8aujw4Zmj9WsfGnznLeShKjz0SEOKRPgoorR1Y2T6I=; b=XQYoT4VfWF8nbr/goG/idakG+QNzeGqCHAcC7L49RMAuSYDBSu1L10lECpxoME44Bui+7B HPiKnjUJxbmI3I1LpQ60/xRbr7F4UJb2xBST3dVFoZCzy8qfXyX110cBchiWXbeuGW6ReI NFrbudlBVilMdKTadfJr8NhiZX9GppzQMTS68WF/24w+FvSB4kYgcm7Fs5mvVB5PLlVP4X g84IQmpd4jf9I+Vk4fBM8+h1SzQe0xAOxFscG/V2arvW3bQp1FmU5rqvbdKLjKjsKOXsiF ZbUn3AYjLJYgu6S884M5C+b9cAVgjAJMyfHzPWiMqqSRJwNv6dCZuiwV+XeZuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q8aujw4Zmj9WsfGnznLeShKjz0SEOKRPgoorR1Y2T6I=; b=lOCzkvWLurmYJMXtsXa79JYHRJ6ZcASg9sKfXQ3tODqy0pG2irQLHaGKfKe4tnH+HIyYfJ BuxxasA+PRWtTVnXJFLI4GKbDGlr99XXvsSrP7au9vYdWZXOjXifKSfPOopdInrffnXbCW 2Sb3Ed0CpUE0IJqgNJT8g9kcUwoi6k4YOb1PwsSs1Rq9ZhfBM66q8bID6vkvGI8Jfnx/lQ Luvx0rOoQOHXCTyufjyVC6eq34imMI64h1aA6LvucakubQaAkqWNEQ//ESq+l+F/+0vBwz OTWkEfg+8Hn/v2PGDHZq3/Y8I1yIR05+OCSxOZ8L12iKsFkvU3nVzNv9exg3KA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136837; a=rsa-sha256; cv=none; b=K5qGX2+D5x1makwiFyseRPiV4P652TJPfNlDUD2w5WUmu73avsDPVvpY5ooCXuZ5WwsUxy gGhr5jYT4c0kyf8w9UOwoUgS0tnKLB03hDfKmHx9aotiXAss+ltZrhXMs74Ov6Hk/cKJSj /OeyXZc9D+3jIjaoJuBaLBYtRoXQvHfXcUWDtUOuEpdrfUmHVZtdrXSwm0PVJlKdykjaXz nJ9YV+4jkNFIOQ0Kd/x4qUjuAIY6NfqDmx+toyCEyVaHgQz9MB9C4cDR61ciSKIif9FEb4 IJ8heEo+j/+0iVgYYbFxIj5lHrkTYKKMnX1dedufsG41ar4gQbLAJMKOR6vpYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbS6q5zzmyR; Sun, 23 Jul 2023 18:27: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 36NIRGpr058905; Sun, 23 Jul 2023 18:27:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRGgj058904; Sun, 23 Jul 2023 18:27:16 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:16 GMT Message-Id: <202307231827.36NIRGgj058904@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: 5a9c8bd8e730 - stable/13 - Merge commit 8757ce490130 from llvm-project (by Simon Pilgrim): List-Id: Commit messages for all branches 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: 5a9c8bd8e730f74aa774ceef5ee8d3aa95f715d1 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=5a9c8bd8e730f74aa774ceef5ee8d3aa95f715d1 commit 5a9c8bd8e730f74aa774ceef5ee8d3aa95f715d1 Author: Dimitry Andric AuthorDate: 2023-07-16 18:45:29 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:12 +0000 Merge commit 8757ce490130 from llvm-project (by Simon Pilgrim): [PowerPC] Replace PPCISD::VABSD cases with generic ISD::ABDU(X,Y) node A move towards using the generic ISD::ABDU nodes on more backends Also support ISD::ABDS for v4i32 types using the existing signbit flip trick PowerPC has a select(icmp_ugt(x,y),sub(x,y),sub(y,x)) -> abdu(x,y) combine that I intend to move to DAGCombiner in a future patch. The ABS(SUB(X,Y)) -> PPCISD::VABSD(X,Y,1) v4i32 combine wasn't legal (https://alive2.llvm.org/ce/z/jc2hLU) - so I've removed it, having already added the legal sub nsw tests equivalent. Differential Revision: https://reviews.llvm.org/D142313 This fixes a "Wasn't expecting to be able to lower this!" fatal error when compiling graphics/opencv for PowerPC. Requested by: pkubaj PR: 271047 MFC after: 1 month (cherry picked from commit 881fc203567e85648f2f591a75c4674be2bee0ed) --- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 85 ++++------------------ .../llvm/lib/Target/PowerPC/PPCISelLowering.h | 16 ---- .../llvm/lib/Target/PowerPC/PPCInstrVSX.td | 23 +++--- 3 files changed, 24 insertions(+), 100 deletions(-) diff --git a/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp index 77630cf027fa..cf1cdad3fee6 100644 --- a/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp @@ -1299,6 +1299,11 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM, setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v2i16, Legal); setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v2i32, Legal); setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v2i64, Legal); + + setOperationAction(ISD::ABDU, MVT::v16i8, Legal); + setOperationAction(ISD::ABDU, MVT::v8i16, Legal); + setOperationAction(ISD::ABDU, MVT::v4i32, Legal); + setOperationAction(ISD::ABDS, MVT::v4i32, Legal); } if (Subtarget.hasP10Vector()) { @@ -1386,7 +1391,7 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM, } if (Subtarget.hasP9Altivec()) { - setTargetDAGCombine({ISD::ABS, ISD::VSELECT}); + setTargetDAGCombine({ISD::VSELECT}); } setLibcallName(RTLIB::LOG_F128, "logf128"); @@ -1743,7 +1748,6 @@ const char *PPCTargetLowering::getTargetNodeName(unsigned Opcode) const { case PPCISD::RFEBB: return "PPCISD::RFEBB"; case PPCISD::XXSWAPD: return "PPCISD::XXSWAPD"; case PPCISD::SWAP_NO_CHAIN: return "PPCISD::SWAP_NO_CHAIN"; - case PPCISD::VABSD: return "PPCISD::VABSD"; case PPCISD::BUILD_FP128: return "PPCISD::BUILD_FP128"; case PPCISD::BUILD_SPE64: return "PPCISD::BUILD_SPE64"; case PPCISD::EXTRACT_SPE: return "PPCISD::EXTRACT_SPE"; @@ -16008,8 +16012,6 @@ SDValue PPCTargetLowering::PerformDAGCombine(SDNode *N, } case ISD::BUILD_VECTOR: return DAGCombineBuildVector(N, DCI); - case ISD::ABS: - return combineABS(N, DCI); case ISD::VSELECT: return combineVSelect(N, DCI); } @@ -17437,24 +17439,6 @@ SDValue PPCTargetLowering::combineTRUNCATE(SDNode *N, SDLoc dl(N); SDValue Op0 = N->getOperand(0); - // fold (truncate (abs (sub (zext a), (zext b)))) -> (vabsd a, b) - if (Subtarget.hasP9Altivec() && Op0.getOpcode() == ISD::ABS) { - EVT VT = N->getValueType(0); - if (VT != MVT::v4i32 && VT != MVT::v8i16 && VT != MVT::v16i8) - return SDValue(); - SDValue Sub = Op0.getOperand(0); - if (Sub.getOpcode() == ISD::SUB) { - SDValue SubOp0 = Sub.getOperand(0); - SDValue SubOp1 = Sub.getOperand(1); - if ((SubOp0.getOpcode() == ISD::ZERO_EXTEND) && - (SubOp1.getOpcode() == ISD::ZERO_EXTEND)) { - return DCI.DAG.getNode(PPCISD::VABSD, dl, VT, SubOp0.getOperand(0), - SubOp1.getOperand(0), - DCI.DAG.getTargetConstant(0, dl, MVT::i32)); - } - } - } - // Looking for a truncate of i128 to i64. if (Op0.getValueType() != MVT::i128 || N->getValueType(0) != MVT::i64) return SDValue(); @@ -17664,54 +17648,12 @@ isMaskAndCmp0FoldingBeneficial(const Instruction &AndI) const { return true; } -// Transform (abs (sub (zext a), (zext b))) to (vabsd a b 0) -// Transform (abs (sub (zext a), (zext_invec b))) to (vabsd a b 0) -// Transform (abs (sub (zext_invec a), (zext_invec b))) to (vabsd a b 0) -// Transform (abs (sub (zext_invec a), (zext b))) to (vabsd a b 0) -// Transform (abs (sub a, b) to (vabsd a b 1)) if a & b of type v4i32 -SDValue PPCTargetLowering::combineABS(SDNode *N, DAGCombinerInfo &DCI) const { - assert((N->getOpcode() == ISD::ABS) && "Need ABS node here"); - assert(Subtarget.hasP9Altivec() && - "Only combine this when P9 altivec supported!"); - EVT VT = N->getValueType(0); - if (VT != MVT::v4i32 && VT != MVT::v8i16 && VT != MVT::v16i8) - return SDValue(); - - SelectionDAG &DAG = DCI.DAG; - SDLoc dl(N); - if (N->getOperand(0).getOpcode() == ISD::SUB) { - // Even for signed integers, if it's known to be positive (as signed - // integer) due to zero-extended inputs. - unsigned SubOpcd0 = N->getOperand(0)->getOperand(0).getOpcode(); - unsigned SubOpcd1 = N->getOperand(0)->getOperand(1).getOpcode(); - if ((SubOpcd0 == ISD::ZERO_EXTEND || - SubOpcd0 == ISD::ZERO_EXTEND_VECTOR_INREG) && - (SubOpcd1 == ISD::ZERO_EXTEND || - SubOpcd1 == ISD::ZERO_EXTEND_VECTOR_INREG)) { - return DAG.getNode(PPCISD::VABSD, dl, N->getOperand(0).getValueType(), - N->getOperand(0)->getOperand(0), - N->getOperand(0)->getOperand(1), - DAG.getTargetConstant(0, dl, MVT::i32)); - } - - // For type v4i32, it can be optimized with xvnegsp + vabsduw - if (N->getOperand(0).getValueType() == MVT::v4i32 && - N->getOperand(0).hasOneUse()) { - return DAG.getNode(PPCISD::VABSD, dl, N->getOperand(0).getValueType(), - N->getOperand(0)->getOperand(0), - N->getOperand(0)->getOperand(1), - DAG.getTargetConstant(1, dl, MVT::i32)); - } - } - - return SDValue(); -} - // For type v4i32/v8ii16/v16i8, transform -// from (vselect (setcc a, b, setugt), (sub a, b), (sub b, a)) to (vabsd a, b) -// from (vselect (setcc a, b, setuge), (sub a, b), (sub b, a)) to (vabsd a, b) -// from (vselect (setcc a, b, setult), (sub b, a), (sub a, b)) to (vabsd a, b) -// from (vselect (setcc a, b, setule), (sub b, a), (sub a, b)) to (vabsd a, b) +// from (vselect (setcc a, b, setugt), (sub a, b), (sub b, a)) to (abdu a, b) +// from (vselect (setcc a, b, setuge), (sub a, b), (sub b, a)) to (abdu a, b) +// from (vselect (setcc a, b, setult), (sub b, a), (sub a, b)) to (abdu a, b) +// from (vselect (setcc a, b, setule), (sub b, a), (sub a, b)) to (abdu a, b) +// TODO: Move this to DAGCombiner? SDValue PPCTargetLowering::combineVSelect(SDNode *N, DAGCombinerInfo &DCI) const { assert((N->getOpcode() == ISD::VSELECT) && "Need VSELECT node here"); @@ -17762,9 +17704,8 @@ SDValue PPCTargetLowering::combineVSelect(SDNode *N, TrueOpnd.getOperand(1) == CmpOpnd2 && FalseOpnd.getOperand(0) == CmpOpnd2 && FalseOpnd.getOperand(1) == CmpOpnd1) { - return DAG.getNode(PPCISD::VABSD, dl, N->getOperand(1).getValueType(), - CmpOpnd1, CmpOpnd2, - DAG.getTargetConstant(0, dl, MVT::i32)); + return DAG.getNode(ISD::ABDU, dl, N->getOperand(1).getValueType(), CmpOpnd1, + CmpOpnd2, DAG.getTargetConstant(0, dl, MVT::i32)); } return SDValue(); diff --git a/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h b/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h index b80479427c2e..1a01cadbeedb 100644 --- a/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h +++ b/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h @@ -440,21 +440,6 @@ namespace llvm { /// and thereby have no chain. SWAP_NO_CHAIN, - /// An SDNode for Power9 vector absolute value difference. - /// operand #0 vector - /// operand #1 vector - /// operand #2 constant i32 0 or 1, to indicate whether needs to patch - /// the most significant bit for signed i32 - /// - /// Power9 VABSD* instructions are designed to support unsigned integer - /// vectors (byte/halfword/word), if we want to make use of them for signed - /// integer vectors, we have to flip their sign bits first. To flip sign bit - /// for byte/halfword integer vector would become inefficient, but for word - /// integer vector, we can leverage XVNEGSP to make it efficiently. eg: - /// abs(sub(a,b)) => VABSDUW(a+0x80000000, b+0x80000000) - /// => VABSDUW((XVNEGSP a), (XVNEGSP b)) - VABSD, - /// FP_EXTEND_HALF(VECTOR, IDX) - Custom extend upper (IDX=0) half or /// lower (IDX=1) half of v4f32 to v2f64. FP_EXTEND_HALF, @@ -1422,7 +1407,6 @@ namespace llvm { SDValue combineFMALike(SDNode *N, DAGCombinerInfo &DCI) const; SDValue combineTRUNCATE(SDNode *N, DAGCombinerInfo &DCI) const; SDValue combineSetCC(SDNode *N, DAGCombinerInfo &DCI) const; - SDValue combineABS(SDNode *N, DAGCombinerInfo &DCI) const; SDValue combineVSelect(SDNode *N, DAGCombinerInfo &DCI) const; SDValue combineVectorShuffle(ShuffleVectorSDNode *SVN, SelectionDAG &DAG) const; diff --git a/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td b/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td index 3c742075b111..2e52fbd3c333 100644 --- a/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td +++ b/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td @@ -76,9 +76,6 @@ def SDT_PPCxxswapd : SDTypeProfile<1, 1, [ def SDTVecConv : SDTypeProfile<1, 2, [ SDTCisVec<0>, SDTCisVec<1>, SDTCisPtrTy<2> ]>; -def SDTVabsd : SDTypeProfile<1, 3, [ - SDTCisVec<0>, SDTCisSameAs<0, 1>, SDTCisSameAs<0, 2>, SDTCisVT<3, i32> -]>; def SDT_PPCld_vec_be : SDTypeProfile<1, 1, [ SDTCisVec<0>, SDTCisPtrTy<1> ]>; @@ -105,7 +102,6 @@ def PPCmtvsrz : SDNode<"PPCISD::MTVSRZ", SDTUnaryOp, []>; def PPCsvec2fp : SDNode<"PPCISD::SINT_VEC_TO_FP", SDTVecConv, []>; def PPCuvec2fp: SDNode<"PPCISD::UINT_VEC_TO_FP", SDTVecConv, []>; def PPCswapNoChain : SDNode<"PPCISD::SWAP_NO_CHAIN", SDT_PPCxxswapd>; -def PPCvabsd : SDNode<"PPCISD::VABSD", SDTVabsd, []>; def PPCfpexth : SDNode<"PPCISD::FP_EXTEND_HALF", SDT_PPCfpexth, []>; def PPCldvsxlh : SDNode<"PPCISD::LD_VSX_LH", SDT_PPCldvsxlh, @@ -4808,20 +4804,23 @@ def : Pat<(f128 (uint_to_fp (i32 (PPCmfvsr f64:$src)))), // Any Power9 VSX subtarget that supports Power9 Altivec. let Predicates = [HasVSX, HasP9Altivec] in { -// Put this P9Altivec related definition here since it's possible to be -// selected to VSX instruction xvnegsp, avoid possible undef. -def : Pat<(v4i32 (PPCvabsd v4i32:$A, v4i32:$B, (i32 0))), +// Unsigned absolute-difference. +def : Pat<(v4i32 (abdu v4i32:$A, v4i32:$B)), (v4i32 (VABSDUW $A, $B))>; -def : Pat<(v8i16 (PPCvabsd v8i16:$A, v8i16:$B, (i32 0))), +def : Pat<(v8i16 (abdu v8i16:$A, v8i16:$B)), (v8i16 (VABSDUH $A, $B))>; -def : Pat<(v16i8 (PPCvabsd v16i8:$A, v16i8:$B, (i32 0))), +def : Pat<(v16i8 (abdu v16i8:$A, v16i8:$B)), (v16i8 (VABSDUB $A, $B))>; -// As PPCVABSD description, the last operand indicates whether do the -// sign bit flip. -def : Pat<(v4i32 (PPCvabsd v4i32:$A, v4i32:$B, (i32 1))), +// Signed absolute-difference. +// Power9 VABSD* instructions are designed to support unsigned integer +// vectors (byte/halfword/word), if we want to make use of them for signed +// integer vectors, we have to flip their sign bits first. To flip sign bit +// for byte/halfword integer vector would become inefficient, but for word +// integer vector, we can leverage XVNEGSP to make it efficiently. +def : Pat<(v4i32 (abds v4i32:$A, v4i32:$B)), (v4i32 (VABSDUW (XVNEGSP $A), (XVNEGSP $B)))>; } // HasVSX, HasP9Altivec From nobody Sun Jul 23 18:27:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbW0LR0z4p6S2; Sun, 23 Jul 2023 18:27: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 4R8BbV2jDgz3hRm; Sun, 23 Jul 2023 18:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rqV3DkKaiBsSI7PhL1Ijl7qQXHihMIkKZEDQ6y94cgQ=; b=vx45YMT5fd6xv3zb5WeYHHOTEyXQlO7/gNfOTnCk5AJDh8cfOoC2EDaa63vjiwGaP3XIKk 7pG8usOo1ZR4pBDHpNftJCyrtH3jSOrNapfgYLrbWGnR/yoCNHSAeyn2co3XYODTpNH+cj WPszDvjBYViz3o4v2/J/B24I6XkQJPhF8SLzXG4yfBegW5Ju7hD+ykFYLlqboM2oUP59xI eKi5WX55NI+IyNRQnV/f3cCUKHUCq0ToR5RDFeq+3IH4mqKuQXDSOfUe/foe+ZnpXU/5m+ 5zzzD2c8QQOhRv1HcpHc2piIhOgea1OQeMpnNTnbh0XWgIx9c4E2LsIEYCkhnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rqV3DkKaiBsSI7PhL1Ijl7qQXHihMIkKZEDQ6y94cgQ=; b=NonZ79D8bbDzJLvXlg13cS82Tb5MGZxsGgUpWuTeErGd4Hzky1up/7CphQTbDspb7hVbxc pMe+hFR1GCbuqGc/y1koKTDZxmwgm3BYgoFW22HjNW++cDAM8gZcO0qUkSyUpo4TcbPoP0 HwAEFjGGb6I2GfHFffvEdPlY9PWbhT2GAnwr8mqMGUkhqNDK9eakI6m1k5cDVdo2IA0tkc H9PsLJ2uZEWUTed92Zz7cbX5LPkDlBikLmchPC80uHDy8rxR7n4xXnUP4wt3kKHdtzaO8r CpAlaZ/3co9s6to/4mzG9PHtNpP+Cmm83q+PtLj5SRt4ZA5UQSQTHCad0/ACLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136838; a=rsa-sha256; cv=none; b=r7YVNk7hesea79aFLRY3Qv2O5WXXe8g+Rjdf/rGv1usO+z/PUmZZsZzI24v97zkprDAeGW P6i4lLQoeKEQg7UaPQoczYcbFYNAK6hqQHt2k+TfFWPu7v+JTE6ERzSH3zHKWhIGyBsz7Y 7501fUKMN4Y/Wcrc4a0Wz0EuDWdyLdJzOVTZryyIbqEtx277y6GmJalwm9SPsEp+3aB6ux wVrxrGwwWwYYj+VXZW+4vcmRvt43nZ5QpSsQw03cXn+rYyrFewwrotpUhsCHLNQdeMxm1h wF1tWvjV1mde6Hcslt5gsSelXVIuU0jgN7sae4FslJTYXqU+Fjb1AtbYRF4xnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbV0dn2zmhl; Sun, 23 Jul 2023 18:27: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 36NIRHEA058928; Sun, 23 Jul 2023 18:27:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRHkC058927; Sun, 23 Jul 2023 18:27:17 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:17 GMT Message-Id: <202307231827.36NIRHkC058927@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: 784ed70844eb - stable/13 - Merge commit 9ca395b5ade1 from llvm-project (by Haojian Wu): List-Id: Commit messages for all branches 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: 784ed70844eb12f3b62dfc9e9f03b9bef97bee54 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=784ed70844eb12f3b62dfc9e9f03b9bef97bee54 commit 784ed70844eb12f3b62dfc9e9f03b9bef97bee54 Author: Dimitry Andric AuthorDate: 2023-07-19 09:18:50 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:12 +0000 Merge commit 9ca395b5ade1 from llvm-project (by Haojian Wu): [clang][AST] Propagate the contains-errors bit to DeclRefExpr from VarDecl's initializer. Similar to the https://reviews.llvm.org/D86048 (it only sets the bit for C++ code), we propagate the contains-errors bit for C-code path. Fixes https://github.com/llvm/llvm-project/issues/50236 Fixes https://github.com/llvm/llvm-project/issues/50243 Fixes https://github.com/llvm/llvm-project/issues/48636 Fixes https://github.com/llvm/llvm-project/issues/50320 Differential Revision: https://reviews.llvm.org/D154861 This fixes an assertion ('Assertion failed: ((LHSExpr->containsErrors() || RHSExpr->containsErrors()) && "Should only occur in error-recovery path."), function BuildBinOp') when building parts of dtrace in certain scenarios. Reported by: dstolfa PR: 271047 MFC after: 1 month (cherry picked from commit 8d0cab8800e19cddc56d4a532abdbe9f0ac6c620) --- contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp b/contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp index eb9afbdb1c87..b5c783b07d92 100644 --- a/contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp +++ b/contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp @@ -489,7 +489,7 @@ ExprDependence clang::computeDependence(DeclRefExpr *E, const ASTContext &Ctx) { // more bullets here that we handle by treating the declaration as having a // dependent type if they involve a placeholder type that can't be deduced.] if (Type->isDependentType()) - return Deps | ExprDependence::TypeValueInstantiation; + Deps |= ExprDependence::TypeValueInstantiation; else if (Type->isInstantiationDependentType()) Deps |= ExprDependence::Instantiation; @@ -525,13 +525,13 @@ ExprDependence clang::computeDependence(DeclRefExpr *E, const ASTContext &Ctx) { // - it names a potentially-constant variable that is initialized with an // expression that is value-dependent if (const auto *Var = dyn_cast(Decl)) { - if (Var->mightBeUsableInConstantExpressions(Ctx)) { - if (const Expr *Init = Var->getAnyInitializer()) { - if (Init->isValueDependent()) - Deps |= ExprDependence::ValueInstantiation; - if (Init->containsErrors()) - Deps |= ExprDependence::Error; - } + if (const Expr *Init = Var->getAnyInitializer()) { + if (Init->containsErrors()) + Deps |= ExprDependence::Error; + + if (Var->mightBeUsableInConstantExpressions(Ctx) && + Init->isValueDependent()) + Deps |= ExprDependence::ValueInstantiation; } // - it names a static data member that is a dependent member of the From nobody Sun Jul 23 18:27:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbW6CJKz4p6MP; Sun, 23 Jul 2023 18:27: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 4R8BbW2c25z3hRw; Sun, 23 Jul 2023 18:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EYlxF6EH9WlgH/g9KyJXNOdy3bBmA9Wpy/uIgq7E3mE=; b=EQVl2GiB4aeWPwQXaRuASx+Qx2X2CDi4FnBV1jkpqNR7f/OKQD1ujb1182DW/iDcgtIYIi BTq3tMaJpZKv99iWKCLHURhy+sNofvimVrhkoT8VhAxuSVyOslSe4MTpZlpteOpmPVtXI7 bLvpj8kkWjXkjMG1G1lyI+CWt3Bj0iOakdaOOU6zRcOgqQ/XRQ4aWa8h6YfjZaLANlyNZA NFGWXsgWHr0Hpl3tW5nYkK/nW2lc6VWKXJeM6mnHAzZcXW/RCaBxTV+bcC5cXba2WGE5/Q dpMElsTXrQrCOWXAQnHTyZdI4R80APLRrT6fxbtfyRsOMM4LN1ppHVhie0ME1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EYlxF6EH9WlgH/g9KyJXNOdy3bBmA9Wpy/uIgq7E3mE=; b=obUmolUQOIqw0j7ZC/w+5ZgJRSLa3SGEg1TPAzd0+wO5bz/nAUbZrp2EiFJZvlYLGwHHgg loONE157UfxxatSwcxy+3wKc74ZtIt9XU5WdoCcI4O3re+HLiPAk22/UuSRTl6rV9ZxcwB R/YwX6rxfRj25yZAP0KnYK7wlMtMOV40fBXWInJ1qBPxGkbR6Tc5NLYUXA3YLoASg4Iztn hoifHcFxjRUSbF1+hepWNk/4Vb/fU9lVB4XbVn2PqierqdDdkScEecCUT/Q7DqKwugm/mC MMSuimB/pP+z0j+UiZrMD8bbg+Z5CLbKQ/L0EFSJ050jW/zAicBkUJND8Qr0aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136839; a=rsa-sha256; cv=none; b=Llh7VMzPS2SvS46zgn21HpZzFzNoSfl86DuGXYQPuO092blzivNU5b3HLgvtTIrEOa4M2C 7a4fcaZy9354JPuxEuIIezRXc0EFlPLGaPJ8VAWotUg3a4gsCr19UcaDofXADszCP19BrM HJ4FAMdS52AEMykdWU54b0POf9ihKJN9/kbuAJpql+xaxkSnYeLn5k66bzkDGscE2XTyVp xLFxEIUQuSv2uq9fKfoVdr+WEDTTpokw8d8lmlZXRHSrBwZQXqdmb6rSgVnyPdLJGZjqPY 9TLktb3IJ/D9x4ivmJW+g76oFdATuZI2sSgrEBKbnVRGIf3Nu0wc2kkpmHbG9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbW1YzXzmKr; Sun, 23 Jul 2023 18:27: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 36NIRJSF058947; Sun, 23 Jul 2023 18:27:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRJfw058946; Sun, 23 Jul 2023 18:27:19 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:19 GMT Message-Id: <202307231827.36NIRJfw058946@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: 3ea609f7d794 - stable/13 - Merge commit 2b0f5df7b4e0 from llvm-project (by Jessica Clarke): List-Id: Commit messages for all branches 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: 3ea609f7d794675ff74194a36125a1201dabc8fb Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=3ea609f7d794675ff74194a36125a1201dabc8fb commit 3ea609f7d794675ff74194a36125a1201dabc8fb Author: Dimitry Andric AuthorDate: 2023-07-23 11:01:42 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 17:38:13 +0000 Merge commit 2b0f5df7b4e0 from llvm-project (by Jessica Clarke): [builtins][Mips] Un-break FreeBSD build of __clear_cache Commit 674a17e9bbe8 ("MIPS/compiler_rt: use synci to flush icache on r6") completely removed the OS-specific guards under the guise of "For pre-r6, we can use cacheflush libc function, which is same on Linux and FreeBSD." However, the code in question had guards for Linux and OpenBSD, not Linux and FreeBSD, and FreeBSD does not have a cacheflush libc function as claimed, so this was neither the statement they intended to make nor was it sufficient justification for making the code completely unconditional. Whilst the upcoming FreeBSD 14 release has dropped support for MIPS, FreeBSD 13 has support for it. Fix this by only calling cacheflush on the OSes where it was previously called, and not on other OSes where it either definitely isn't available (FreeBSD) or is unknown (any other OS than the three mentioned in this commit). This is only needed for MFC'ing, as mips has been removed from 14-CURRENT. PR: 271047 MFC after: immediately (cherry picked from commit b8f1c9dd9b3dd9b91e6999b28ab941a2af142702) --- contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c b/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c index 8993761eb3d4..54cbda059315 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c +++ b/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c @@ -110,10 +110,14 @@ void __clear_cache(void *start, void *end) { "jr.hb $at\n" "move $at, $0\n" ".set at"); -#else +#elif defined(__linux__) || defined(__OpenBSD__) // Pre-R6 may not be globalized. And some implementations may give strange // synci_step. So, let's use libc call for it. cacheflush(start, end_int - start_int, BCACHE); +#else + (void)start_int; + (void)end_int; + compilerrt_abort(); #endif } #elif defined(__aarch64__) && !defined(__APPLE__) From nobody Sun Jul 23 18:27:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BbX6NvZz4p6Vf; Sun, 23 Jul 2023 18:27: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 4R8BbX3hdlz3hHK; Sun, 23 Jul 2023 18:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OK1ozfHHHyJxvR1xRyOQ4fIqQuoEfQW2FzHaKAzWuz8=; b=M4KOC5dnEGdE5bHxTzf/RMKrEBUPa9p1YRuccxnyyre+DeA7WHaxGbiHq5O+MtKvF1O4UF DIk950bl3RT6St6gNIH/nmH0LROVz8KbDZe7Ar/tognUN8QGzE9/XCWbwDS0fHWQix6PIU P7Vf3Z0xs6OTUWx/rNwvJVL2vC+NnbSJRSi1MmOVUJ1en2olNiOO3wQFpNO/h5k68zvUw7 jWHPAdoTr13L9quLsiYF7QmY6TDWtfKXdOYBy8GUhqFOELvytvlv5piG49WoIX6LTP0HBF qwUmIsXD+lFNryD8ena+1lJdeofp+ebWaVHCwRxXGdqFhOOjVLrZrgeNjuEssw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690136840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OK1ozfHHHyJxvR1xRyOQ4fIqQuoEfQW2FzHaKAzWuz8=; b=NbchqSxIQx3MKq9tTn4Tb/ISAaXGY2SfrGi2Q0odbgGZK4+okRz+7Lfz0wvxX1aY7yksBz OFTvU7yR4RDo/nl+fVgLQ507GEVtif7q9WrNn90BnU+sh3tTctIFyJNmOQfzv/eOs5yq9K 6ZVhbAWW5meOtMcI20SSO1MJSkKPWyC58P5mlEHuEMOHY6dUdar9cdX0gMz/5OCY2Ib0z2 WaCg7CpJ95JhyotuOaQQllJJWjzM4nJ3RnBSN3cPTu24/AlJrYHxwhdXtYRc9mRoQIqCDF 11BejtkigPFEWpPXHwii1FwODkL5bl1BT0k9i6QjZ/YY1W8IcXSnBJ+0Psvbiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136840; a=rsa-sha256; cv=none; b=tebPLsXKIK5D4zUo7DL3e5eopUAQqChVT7DjtT4kGjLr767RXPgYc8buDEXiUW59DcSC0T ocVOg1gE1aewhu5gWqDx8Z7/FtdvRMo/IaP+l2yzT0MCBXEV212j5wfCkQUbo9/C0jaOjX FoXpzr209CsWGQnWT+TXcZ4ixTNd4jrLtQPGAudVv+BOd6l1HXJwwJVbKrH5MOxmAZJndH fd8LIMRnrW9MQLY2VjgqPdv6lM/QHHOhdlNOn4sDDIJAkzv1ODwfPSpQ2t2xLfS8SpFZzG +GSDgXmQptIFHPj0GJhBIC0GLQQ1OpDWZhC05vnkgGrVTiDYaAOf8oJEOdbQ3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BbX2G0KzmfG; Sun, 23 Jul 2023 18:27: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 36NIRKIt058966; Sun, 23 Jul 2023 18:27:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIRKx9058965; Sun, 23 Jul 2023 18:27:20 GMT (envelope-from git) Date: Sun, 23 Jul 2023 18:27:20 GMT Message-Id: <202307231827.36NIRKx9058965@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: 254cdd5b2214 - stable/13 - Apply build fix for powerpc64-specific llvm-ar and llvm-nm link 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 254cdd5b2214112fb78462919433024589b2bcac Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=254cdd5b2214112fb78462919433024589b2bcac commit 254cdd5b2214112fb78462919433024589b2bcac Author: Dimitry Andric AuthorDate: 2023-07-23 18:26:01 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 18:26:01 +0000 Apply build fix for powerpc64-specific llvm-ar and llvm-nm link error Only on powerpc64, llvm-ar and llvm-nm could fail to link due to a "undefined symbol: ZSTD_compressBound" error. This does not happen on -CURRENT, so directly apply a specific build fix on stable/13. --- usr.bin/clang/llvm-ar/Makefile | 1 + usr.bin/clang/llvm-nm/Makefile | 1 + 2 files changed, 2 insertions(+) diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index 3718248f5de9..dd58fb18c417 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -11,6 +11,7 @@ SRCS+= llvm-ar.cpp CFLAGS.llvm-ar.cpp+= -Dllvm_ar_main=main LIBADD+= z +LIBADD+= zstd LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index 30071da0e7dc..2c19f02e49de 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -26,6 +26,7 @@ DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LIBADD+= z +LIBADD+= zstd .if ${MK_LLVM_BINUTILS} != "no" LINKS+= ${BINDIR}/llvm-nm ${BINDIR}/nm From nobody Sun Jul 23 20:05:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8Dn44tYtz4pSYF; Sun, 23 Jul 2023 20:05: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 4R8Dn44JhDz4SP3; Sun, 23 Jul 2023 20:05:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690142744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dZtUr56JhqRmHHEXKtXhDRXY+dz4kVg08lOlsoYwdk=; b=JoGS4BW0MsR7YotTOu9dL2Gp8VfBBh3VZeQppsscKUWx084SER+OQ5ltSXFYlWr/hyyZu8 hV1cD98ADcsZ1Z8LZkuO02mF+S9JrKHsvKgGWuBEtcwqYWqshfml0y8Wwcsrcsdvoi65ho xK3Hmz1S1N5o4Hmv/qIgx1WgZn8RfyEdFVjD09OkXdY7Q+qCNSsKZQX/f0TorhUfCpmWpS ICmTH9OCPA6QuPch0IIjmqHptQFXdccw5h/8XnsVzKs1/WytxWStG3HtwMoeWeYvs/ZrUY Q6UXA3Ggjl/TXKNlTsZQJVSkbwBvQlA7FnfD8TPOhn0ZDL1DT/3ZwZxWjZ83Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690142744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dZtUr56JhqRmHHEXKtXhDRXY+dz4kVg08lOlsoYwdk=; b=IHvXmxnhaIbmaOwycXVEZIJGo5eeGSX2PcG05doTQXTJ+VWQt0jOBuL8gEnX4D34b9VN1p S1BW+nU0j2CrevbPYzRIP65QDv3idkkdSiwUVETd2Xy5DclRTIfLFKPFB9CyknaHxJHuwc yQqembDwfU9hP83guZlFiqkvmgXnIwGsOuAEGZfpHTLB8Ujy/kxDkQ1ku500Z7wnk0330x i3EcYahg6v4Eueo2ngsXWAG1Wr8ejqeClHDOwwkN36Cpon/6IWYsZApm488S6sHwkiy9Za qTPwEHkAGG7ccA1qvzG7+Ppvckd95fVe0bYQRfdzgVnbAoDwab+taus/vANI3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690142744; a=rsa-sha256; cv=none; b=KkvDeLYDmXJbA9plG80/jmcjCnCTgDpwcCXsJeln3e1e2U+NBdiUSTlXu07qr2a+BbRpft jZppbI/ovPaTDI47YIdSuFFErHIixdoQubPszpkMWz8IScnOwOX1zSGoz1YvmRL/761KC0 /266w+5/Ou68cCxNh92K9yTvu4gt5L9nhrAx33HjkemdvfDr86l1fHrdOqr/OAZza9WvEU 6PmxOMySIkwetSG6l+f2SiXV0u/qVc2a68PHG7G5iXg9fkCh0wS4J8kfF8RoYcqLAK0lbM eBh7sqoj7asBsCreR405LfJF2jDcczOeR7dBM0DlRKpX2xBzoGHbclJBJ0MPQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8Dn43PBhzqLT; Sun, 23 Jul 2023 20:05: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 36NK5ihN025746; Sun, 23 Jul 2023 20:05:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NK5iHc025745; Sun, 23 Jul 2023 20:05:44 GMT (envelope-from git) Date: Sun, 23 Jul 2023 20:05:44 GMT Message-Id: <202307232005.36NK5iHc025745@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: f57617268240 - main - Move LIBADD lines from usr.bin/clang/*/Makefile one level up List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: f576172682401984fcf5e422d31086499caaebcf Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f576172682401984fcf5e422d31086499caaebcf commit f576172682401984fcf5e422d31086499caaebcf Author: Dimitry Andric AuthorDate: 2023-07-23 20:04:46 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 20:04:55 +0000 Move LIBADD lines from usr.bin/clang/*/Makefile one level up Some utilities under usr.bin/clang were only linked to libz, while most others were linked to libz and libzstd. Make this consistent, and remove repetition, by moving these LIBADD lines to usr.bin/clang/clang.prog.mk and usr.bin/clang/clang.prog.mk. MFC after: 3 days --- usr.bin/clang/bugpoint/Makefile | 3 --- usr.bin/clang/clang.prog.mk | 2 ++ usr.bin/clang/clang/Makefile | 3 --- usr.bin/clang/llc/Makefile | 3 --- usr.bin/clang/lli/Makefile | 3 --- usr.bin/clang/llvm-ar/Makefile | 2 -- usr.bin/clang/llvm-cov/Makefile | 3 --- usr.bin/clang/llvm-dwarfdump/Makefile | 3 --- usr.bin/clang/llvm-dwarfutil/Makefile | 3 --- usr.bin/clang/llvm-dwp/Makefile | 3 --- usr.bin/clang/llvm-extract/Makefile | 2 -- usr.bin/clang/llvm-lto/Makefile | 3 --- usr.bin/clang/llvm-lto2/Makefile | 3 --- usr.bin/clang/llvm-mc/Makefile | 3 --- usr.bin/clang/llvm-mca/Makefile | 2 -- usr.bin/clang/llvm-nm/Makefile | 2 -- usr.bin/clang/llvm-objcopy/Makefile | 3 --- usr.bin/clang/llvm-objdump/Makefile | 3 --- usr.bin/clang/llvm-pdbutil/Makefile | 2 -- usr.bin/clang/llvm-profdata/Makefile | 3 --- usr.bin/clang/llvm-readobj/Makefile | 3 --- usr.bin/clang/llvm-rtdyld/Makefile | 3 --- usr.bin/clang/llvm-symbolizer/Makefile | 3 --- usr.bin/clang/llvm-xray/Makefile | 3 --- usr.bin/clang/llvm.prog.mk | 2 ++ usr.bin/clang/opt/Makefile | 3 --- 26 files changed, 4 insertions(+), 67 deletions(-) diff --git a/usr.bin/clang/bugpoint/Makefile b/usr.bin/clang/bugpoint/Makefile index 2ca34d2579e3..2afd888f1df7 100644 --- a/usr.bin/clang/bugpoint/Makefile +++ b/usr.bin/clang/bugpoint/Makefile @@ -13,7 +13,4 @@ SRCS+= OptimizerDriver.cpp SRCS+= ToolRunner.cpp SRCS+= bugpoint.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/clang.prog.mk b/usr.bin/clang/clang.prog.mk index 79229be332a8..faa4918c7298 100644 --- a/usr.bin/clang/clang.prog.mk +++ b/usr.bin/clang/clang.prog.mk @@ -29,5 +29,7 @@ LIBADD+= execinfo LIBADD+= ncursesw .endif LIBADD+= pthread +LIBADD+= z +LIBADD+= zstd .include diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile index 1e946276c76b..4b1e3735939a 100644 --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -33,9 +33,6 @@ MLINKS+= clang.1 cc.1 \ clang.1 CC.1 \ clang.1 cpp.1 -LIBADD+= z -LIBADD+= zstd - # Ensure we don't add CFLAGS.clang when using GCC NO_TARGET_FLAGS= diff --git a/usr.bin/clang/llc/Makefile b/usr.bin/clang/llc/Makefile index 42835ff00656..a4c68c6baec6 100644 --- a/usr.bin/clang/llc/Makefile +++ b/usr.bin/clang/llc/Makefile @@ -5,7 +5,4 @@ PROG_CXX= llc SRCDIR= llvm/tools/llc SRCS+= llc.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/lli/Makefile b/usr.bin/clang/lli/Makefile index 0c8d621f42a6..febbebc1accf 100644 --- a/usr.bin/clang/lli/Makefile +++ b/usr.bin/clang/lli/Makefile @@ -6,7 +6,4 @@ SRCDIR= llvm/tools/lli SRCS+= ExecutionUtils.cpp SRCS+= lli.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index 3718248f5de9..12a3da13273f 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -10,8 +10,6 @@ SRCS+= llvm-ar.cpp CFLAGS.llvm-ar.cpp+= -Dllvm_ar_main=main -LIBADD+= z - LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-cov/Makefile b/usr.bin/clang/llvm-cov/Makefile index 9c6cafab0561..5bf4797d48e2 100644 --- a/usr.bin/clang/llvm-cov/Makefile +++ b/usr.bin/clang/llvm-cov/Makefile @@ -20,7 +20,4 @@ SRCS+= TestingSupport.cpp SRCS+= gcov.cpp SRCS+= llvm-cov.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-dwarfdump/Makefile b/usr.bin/clang/llvm-dwarfdump/Makefile index d5aaf812f8c4..cdf976a7c272 100644 --- a/usr.bin/clang/llvm-dwarfdump/Makefile +++ b/usr.bin/clang/llvm-dwarfdump/Makefile @@ -7,7 +7,4 @@ SRCS+= SectionSizes.cpp SRCS+= Statistics.cpp SRCS+= llvm-dwarfdump.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-dwarfutil/Makefile b/usr.bin/clang/llvm-dwarfutil/Makefile index 0be0eefcea3e..cc5ebf4275fb 100644 --- a/usr.bin/clang/llvm-dwarfutil/Makefile +++ b/usr.bin/clang/llvm-dwarfutil/Makefile @@ -22,7 +22,4 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-dwp/Makefile b/usr.bin/clang/llvm-dwp/Makefile index c47729aea678..4732be082e70 100644 --- a/usr.bin/clang/llvm-dwp/Makefile +++ b/usr.bin/clang/llvm-dwp/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-dwp SRCS+= llvm-dwp.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-extract/Makefile b/usr.bin/clang/llvm-extract/Makefile index 7a0a5b205a4f..2cfb9a13455d 100644 --- a/usr.bin/clang/llvm-extract/Makefile +++ b/usr.bin/clang/llvm-extract/Makefile @@ -5,6 +5,4 @@ PROG_CXX= llvm-extract SRCDIR= llvm/tools/llvm-extract SRCS+= llvm-extract.cpp -LIBADD+= z - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-lto/Makefile b/usr.bin/clang/llvm-lto/Makefile index 35e2b87fef3c..f216412b2e8a 100644 --- a/usr.bin/clang/llvm-lto/Makefile +++ b/usr.bin/clang/llvm-lto/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-lto SRCS= llvm-lto.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-lto2/Makefile b/usr.bin/clang/llvm-lto2/Makefile index 37a5e7f794c0..78ca08fff06c 100644 --- a/usr.bin/clang/llvm-lto2/Makefile +++ b/usr.bin/clang/llvm-lto2/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-lto2 SRCS= llvm-lto2.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-mc/Makefile b/usr.bin/clang/llvm-mc/Makefile index cb3080481607..ee9d1c41c8c1 100644 --- a/usr.bin/clang/llvm-mc/Makefile +++ b/usr.bin/clang/llvm-mc/Makefile @@ -7,7 +7,4 @@ SRCDIR= llvm/tools/llvm-mc SRCS+= Disassembler.cpp SRCS+= llvm-mc.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-mca/Makefile b/usr.bin/clang/llvm-mca/Makefile index 727651146c52..268ca8805a0b 100644 --- a/usr.bin/clang/llvm-mca/Makefile +++ b/usr.bin/clang/llvm-mca/Makefile @@ -20,6 +20,4 @@ SRCS+= llvm-mca.cpp CFLAGS+= -I${LLVM_BASE}/${SRCDIR} -LIBADD+= z - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index 30071da0e7dc..d71295d0313d 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -25,8 +25,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z - .if ${MK_LLVM_BINUTILS} != "no" LINKS+= ${BINDIR}/llvm-nm ${BINDIR}/nm MLINKS+= llvm-nm.1 nm.1 diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile index 335badf81ed9..181a307457a9 100644 --- a/usr.bin/clang/llvm-objcopy/Makefile +++ b/usr.bin/clang/llvm-objcopy/Makefile @@ -27,9 +27,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS= ${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-objdump/Makefile b/usr.bin/clang/llvm-objdump/Makefile index d8d80443d965..390bf40b851c 100644 --- a/usr.bin/clang/llvm-objdump/Makefile +++ b/usr.bin/clang/llvm-objdump/Makefile @@ -30,9 +30,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS= ${BINDIR}/llvm-objdump ${BINDIR}/objdump MLINKS= llvm-objdump.1 objdump.1 diff --git a/usr.bin/clang/llvm-pdbutil/Makefile b/usr.bin/clang/llvm-pdbutil/Makefile index 5036955f775a..6e91c0424f2f 100644 --- a/usr.bin/clang/llvm-pdbutil/Makefile +++ b/usr.bin/clang/llvm-pdbutil/Makefile @@ -24,6 +24,4 @@ SRCS+= TypeReferenceTracker.cpp SRCS+= YAMLOutputStyle.cpp SRCS+= llvm-pdbutil.cpp -LIBADD+= z - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-profdata/Makefile b/usr.bin/clang/llvm-profdata/Makefile index b3b0d63346de..1538aacdb493 100644 --- a/usr.bin/clang/llvm-profdata/Makefile +++ b/usr.bin/clang/llvm-profdata/Makefile @@ -7,7 +7,4 @@ SRCS+= llvm-profdata.cpp CFLAGS.llvm-profdata.cpp+= -Dllvm_profdata_main=main -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-readobj/Makefile b/usr.bin/clang/llvm-readobj/Makefile index d47cdfa329fc..0c1afcae6d0b 100644 --- a/usr.bin/clang/llvm-readobj/Makefile +++ b/usr.bin/clang/llvm-readobj/Makefile @@ -36,9 +36,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS+= ${BINDIR}/llvm-readobj ${BINDIR}/llvm-readelf .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-rtdyld/Makefile b/usr.bin/clang/llvm-rtdyld/Makefile index 6c7bd97f4bd0..37977771eddb 100644 --- a/usr.bin/clang/llvm-rtdyld/Makefile +++ b/usr.bin/clang/llvm-rtdyld/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-rtdyld SRCS+= llvm-rtdyld.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile index 0308b58bba55..5da4840b1594 100644 --- a/usr.bin/clang/llvm-symbolizer/Makefile +++ b/usr.bin/clang/llvm-symbolizer/Makefile @@ -24,9 +24,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/llvm-addr2line .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-xray/Makefile b/usr.bin/clang/llvm-xray/Makefile index 1be3eb059e81..5e84483e4f6b 100644 --- a/usr.bin/clang/llvm-xray/Makefile +++ b/usr.bin/clang/llvm-xray/Makefile @@ -15,7 +15,4 @@ SRCS+= xray-graph.cpp SRCS+= xray-registry.cpp SRCS+= xray-stacks.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm.prog.mk b/usr.bin/clang/llvm.prog.mk index 3a708805d3ea..87a369b825f1 100644 --- a/usr.bin/clang/llvm.prog.mk +++ b/usr.bin/clang/llvm.prog.mk @@ -27,5 +27,7 @@ LIBADD+= execinfo LIBADD+= tinfow .endif LIBADD+= pthread +LIBADD+= z +LIBADD+= zstd .include diff --git a/usr.bin/clang/opt/Makefile b/usr.bin/clang/opt/Makefile index 27e0395942f6..ca209cec45ac 100644 --- a/usr.bin/clang/opt/Makefile +++ b/usr.bin/clang/opt/Makefile @@ -8,7 +8,4 @@ SRCS+= BreakpointPrinter.cpp SRCS+= NewPMDriver.cpp SRCS+= opt.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" From nobody Sun Jul 23 21:34:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8GlY2QNvz4pTGh; Sun, 23 Jul 2023 21:34: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 4R8GlY16BJz3s54; Sun, 23 Jul 2023 21:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690148073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/wcgFr5LqolcpDDzGeEl6uoAkOEo0a+iH+S+LMWb08M=; b=tVVIZ+O3akWrZ0HDa8sYC6gaObnoTT/WBjlRqURJgj6734qEq3jh+7R47MgcQqeMuHxzRL Jp/FTHWxAGUCOrxZSrjiOeeq2bayxTpNU6qHL08hNmDvmCUdtQGJxce3wv6SvdeD6vYr6K t1sgdOcjC0kZcZ0eYv9QVxIFJE3iyCpUdWVfHHivdWHJ+gUAUC2BU5PReXzoUl1U5MqQtz mDZT9UsRhB4CKnmUWVFmTBCqR2sViYyJpryfOj4ClU52sJIRVbQYdISJc9tdcLaTBo/S1r hAcVn2FN33cSi3P+gz0EFvfSaZQGeMVtI+qH4F/3Yl5lYysH25OqKgRYR1bRWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690148073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/wcgFr5LqolcpDDzGeEl6uoAkOEo0a+iH+S+LMWb08M=; b=Z0IRInXp5n9+KkXkmMqOTDNXhmncifRoPAwGacPZtTwfFzSrEtpqLNfMFezeJgug8o6v5V BEIn5gxKVORdgbAhe5Pe4JzrUhgdYsRpEfh+KG758WzkiDBG6zUtiPBwa9us3es3wnjpnM wSuKlMVEZ8i3mK63LuXF/2Uh1rWsPN/vw01UxttJ/yNdnVldBj2wDJmbsCmXgkQLdJzHcB DWTX/QDFJdiyC0QdWoyYRgqiELwmzBYfZVDG+sH/E7N27uf2LkDnKmPR/ShalTQ2Ig8cOK OsSbRVYdjYElpZmpoa2r/rsLsWISZA3UKqiYK/n2W46U9PtsI2TK/oi8TBYVKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690148073; a=rsa-sha256; cv=none; b=HNUTDTGIWDyCxoHgfJV2JqXB8Hh+q6gous0tCSdKqXEOb73PbPY7u3YqiEYFX2Evry+58g pO42Txyd56N3KlZjVceUG8o1OWyQ7HHdoQVJe3eIBEUHzB6xc4xm0j71HN3ANz5WBiPNPs VoIDayifGP6VIYhAWnnVWhI8th13syg2hKyidoaXWaIyjjunWqChKb7rkrtRFKbj+x4haq JvKNsq60wnE63q1LDYsxQXAwYqQRIajLU7PanM4eTg2TIJFsfVv7d1RJs7LkTQ6jw69P6i eQIem5SvsdyCfw4/bW1qSH5INpRPg9CSajD169/HKrfDJAarYwdwsHEUeWqW1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8GlY0BpTzsNS; Sun, 23 Jul 2023 21:34: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 36NLYWmt074191; Sun, 23 Jul 2023 21:34:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NLYWg0074190; Sun, 23 Jul 2023 21:34:32 GMT (envelope-from git) Date: Sun, 23 Jul 2023 21:34:32 GMT Message-Id: <202307232134.36NLYWg0074190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 058d1722b09e - main - sctp: include sctp_module.c in kernel builds List-Id: Commit messages for all branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 058d1722b09eb62d3a86ea4ce4165c2bd61b854e Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=058d1722b09eb62d3a86ea4ce4165c2bd61b854e commit 058d1722b09eb62d3a86ea4ce4165c2bd61b854e Author: Michael Tuexen AuthorDate: 2023-07-23 12:31:17 +0000 Commit: Michael Tuexen CommitDate: 2023-07-23 12:34:10 +0000 sctp: include sctp_module.c in kernel builds Allow kldload to detect that SCTP has been build into the kernel. MFC after: 3 days --- sys/conf/files | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/conf/files b/sys/conf/files index 726c4c7c8b2c..2c72d2ede0d3 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4346,6 +4346,7 @@ netinet/sctp_crc32.c optional inet | inet6 netinet/sctp_indata.c optional inet sctp | inet6 sctp netinet/sctp_input.c optional inet sctp | inet6 sctp netinet/sctp_kdtrace.c optional inet sctp | inet6 sctp +netinet/sctp_module.c optional inet sctp | inet6 sctp netinet/sctp_output.c optional inet sctp | inet6 sctp netinet/sctp_pcb.c optional inet sctp | inet6 sctp netinet/sctp_peeloff.c optional inet sctp | inet6 sctp From nobody Sun Jul 23 22:38:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8J900cdSz4pS5m; Sun, 23 Jul 2023 22:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R8J900B2Gz4KgR; Sun, 23 Jul 2023 22:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690151892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qjg7CCtvcWUnvdoJpJHm/zod/se2PB8A4ewi13rsqGg=; b=MRoECpjA2as7CSDzDbfnlS+FQh19zxmqnA1HDVWJoPynILwFjNWP3ayBX/Fhu9udPEdiVD rNYdDTWG1tPvSFw9c+GXhVnGeTQHESDjp61OKVxFJDdDdz03bXEM7IVDpyGHk9ro70n4GP 5Sthp2x3z+JxWmx+xDZXvRr+zoWQS5C1++f6oUJWsE47++j7glZSNUuIfdXfG2OR8Q8vs2 EgmuFKzYFkzFm95CuGqwjs3Re1EfwwQXEchupQJtfFb7o9Fph4m5ox+/Bk4nOrt02ZSRZQ Oktvz395DGVlquQ2UEc5Qh6dd9sNJ9qr+yGZ1a2SBjD5KahlYEwqHFAhtfKn4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690151892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qjg7CCtvcWUnvdoJpJHm/zod/se2PB8A4ewi13rsqGg=; b=kgeULsfdRG4WBQawCaazWr7aSjOhS3Lppq2zdWBfriVzyvO1olkaUl3aSNFz1Pn+Z/A/2r n6F4MQMclUhFN8pBVoADGXFkiki+ch8Mlas3I6As4a2yz80pS91Oxk4HzxXTftgt6CIcW9 ZbWhp06NB65z8T6DFbJOObREZkK/QnD0TBxVBKghCE01ZLDRlpz0uUoD0eVT3oW8e7ksWv KU6Z4MCfjQ1wAUPaQlaf48zKxQPebpXY5elwSNYf0ALZ+R6B1dAMEnJyHNT/PZ+wjFklOa 56cqUyxOdlY6TLo6prwnDPtC8npBxcnQ0Nw6AB9U9StUyhngbNm7i0A4qWduXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690151892; a=rsa-sha256; cv=none; b=pdOlZ/P45PeVaVdz1sOcnk3Jz95EpLxZGMStV2JGE90M/B3OFDX32+htLuxsNOMf+zjvPX yY7XZQV1R2BkPiMsakJms2rMXAu5qGDlduoMf24Z88XWRAmOX2u6c9o4chjegFO16MVyPF Rw3gj+v5uCtzUQwsHsb0I9FbXKa5tbGDekOV7kCV3QKqpqb0fxKXcu77eAqXVlIBb/JrVH C2aHbyhx/6k3Xeibl72axGVyu8J2wRDeHhfqwOLbl8Hwg9BO4d5sORtEJ/TeEIVAeTCAI2 oLnseGvZALm1S0rR9y5KGa/2rmMnKhoiEe7TQL9qtQCc4YICmHFe9VyB5kFgmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8J8z6DPQztbc; Sun, 23 Jul 2023 22:38: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 36NMcBJO074109; Sun, 23 Jul 2023 22:38:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NMcBxN074108; Sun, 23 Jul 2023 22:38:11 GMT (envelope-from git) Date: Sun, 23 Jul 2023 22:38:11 GMT Message-Id: <202307232238.36NMcBxN074108@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: 80e4ac2964a1 - main - Work around VNET and DPCPU related panics on aarch64 List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 80e4ac2964a11edef456a15b77e43aadeaf273a2 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=80e4ac2964a11edef456a15b77e43aadeaf273a2 commit 80e4ac2964a11edef456a15b77e43aadeaf273a2 Author: Dimitry Andric AuthorDate: 2023-07-23 13:48:36 +0000 Commit: Dimitry Andric CommitDate: 2023-07-23 22:35:04 +0000 Work around VNET and DPCPU related panics on aarch64 lld >= 14 and recent GNU ld can relax adrp+add and adrp+ldr instructions, which breaks VNET and DPCPU when used in modules. Until VNET and DPCPU can be fixed to deal with these relaxed instructions, disable linker relaxation for now. PR: 264094 Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D41156 --- sys/conf/kmod.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index a83d64eb8bf7..be571c2bcf10 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -170,6 +170,13 @@ CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer CFLAGS+= -fPIC .endif +.if ${MACHINE_CPUARCH} == "aarch64" +# https://bugs.freebsd.org/264094 +# lld >= 14 and recent GNU ld can relax adrp+add and adrp+ldr instructions, +# which breaks VNET. +LDFLAGS+= --no-relax +.endif + # Temporary workaround for PR 196407, which contains the fascinating details. # Don't allow clang to use fpu instructions or registers in kernel modules. .if ${MACHINE_CPUARCH} == arm From nobody Sun Jul 23 22:48:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8JNd0TH7z4pb74 for ; Sun, 23 Jul 2023 22:48:17 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 4R8JNc5y0Nz4Q36 for ; Sun, 23 Jul 2023 22:48:16 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3fbc5d5742bso35793125e9.2 for ; Sun, 23 Jul 2023 15:48:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690152495; x=1690757295; 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=mRLWaA2EVwGIBoGRm2/BjN+smyBDDAwXshotycUgbt8=; b=fqcDUIuqQ5KAyC8vd0RnvcnLYPy48H8gza9NR6QLG2Fcjh69foOfXCnBdDf6S6fJlx dnhGZCWqEPlOZxYcIq+tNQuVPB97m0vqbhXrHMJZd1eslcxyw/sERTF1ejNt/3+qsoPr A95QyFtvAvw3v3GH8Votm7QEvx7lS433/sQdTt6mBWhX5ERPTx/bnVeyGB+sF63rkX3C uRRb4ufj/viESUdWXqQSDc2bpNJs2fSUy9SGWSEF/KDFwJxGP8aXJ9r/j3hjWi+sfSXG 2MJIeGG9AMtDrJqhSwEvLjuHXVJuTfC0fjO8jUI2o7dgawWCdyS1nPB4q6pcLK0cwbhI ysbg== X-Gm-Message-State: ABy/qLaAG1GpJUFGEOpCAET1zY6eX6EFiCmJUhsmZgVCFq+yjujV3utf bhK7pBJ7cwIbLs+G/2I63JoE8w== X-Google-Smtp-Source: APBJJlEdxvSQiGEYwVsAU2yuyCabvghaNXREqShfm4wMNE1yJ6HqsgNk1yfdgv8LTlr8SLFkEXTiXw== X-Received: by 2002:a05:6000:c:b0:317:ef6:89a7 with SMTP id h12-20020a056000000c00b003170ef689a7mr6230062wrx.27.1690152494644; Sun, 23 Jul 2023 15:48:14 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id l7-20020a05600012c700b0031755da6a8asm3570921wrx.33.2023.07.23.15.48.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 Jul 2023 15:48:14 -0700 (PDT) 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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 80e4ac2964a1 - main - Work around VNET and DPCPU related panics on aarch64 From: Jessica Clarke In-Reply-To: <202307232238.36NMcBxN074108@gitrepo.freebsd.org> Date: Sun, 23 Jul 2023 23:48:00 +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: <202307232238.36NMcBxN074108@gitrepo.freebsd.org> To: Dimitry Andric X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4R8JNc5y0Nz4Q36 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 23 Jul 2023, at 23:38, Dimitry Andric wrote: >=20 > The branch main has been updated by dim: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D80e4ac2964a11edef456a15b77e43aad= eaf273a2 >=20 > commit 80e4ac2964a11edef456a15b77e43aadeaf273a2 > Author: Dimitry Andric > AuthorDate: 2023-07-23 13:48:36 +0000 > Commit: Dimitry Andric > CommitDate: 2023-07-23 22:35:04 +0000 >=20 > Work around VNET and DPCPU related panics on aarch64 >=20 > lld >=3D 14 and recent GNU ld can relax adrp+add and adrp+ldr > instructions, which breaks VNET and DPCPU when used in modules. Thanks for committing the workaround. This will need some kind of EN for 13.2 given LLVM 14 was merged in time for that and arm64 is a Tier 1 architecture in 13. There perhaps also needs to be some serious thought into our testing and release procedures given we allowed a Tier 1 architecture to have VNET and DPCU be totally broken in a point release for any kernel module. Especially when the bug was known, open against -CURRENT and triaged all before the MFC to stable/13; there needs to be better tracking of toolchain release blockers. Jess > Until VNET and DPCPU can be fixed to deal with these relaxed > instructions, disable linker relaxation for now. >=20 > PR: 264094 > Reviewed by: markj > MFC after: 3 days > Differential Revision: https://reviews.freebsd.org/D41156 > --- > sys/conf/kmod.mk | 7 +++++++ > 1 file changed, 7 insertions(+) >=20 > diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk > index a83d64eb8bf7..be571c2bcf10 100644 > --- a/sys/conf/kmod.mk > +++ b/sys/conf/kmod.mk > @@ -170,6 +170,13 @@ CFLAGS+=3D -fno-omit-frame-pointer = -mno-omit-leaf-frame-pointer > CFLAGS+=3D -fPIC > .endif >=20 > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > +# https://bugs.freebsd.org/264094 > +# lld >=3D 14 and recent GNU ld can relax adrp+add and adrp+ldr = instructions, > +# which breaks VNET. > +LDFLAGS+=3D --no-relax > +.endif > + > # Temporary workaround for PR 196407, which contains the fascinating = details. > # Don't allow clang to use fpu instructions or registers in kernel = modules. > .if ${MACHINE_CPUARCH} =3D=3D arm From nobody Mon Jul 24 00:40:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8LtY3nFrz4p6Q9; Mon, 24 Jul 2023 00:40: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 4R8LtY3Ms1z474R; Mon, 24 Jul 2023 00:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690159253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w7UkVswO2I/E5/2PiP10BlaoAvvl2BRMC2SoFX/Em+o=; b=gtuPxz2p6a5RE9vS/EIuz4KwF0UwAMs4w/fZB+iB0cw5iN4OD1zElSUU50FqnGDdk5O04j rUcHmC2JUL2bF04FZ+YG+R28Ih3Rtq37RjocVXLc/kIRwONGsxBAdMhjxQFAj3oeZN8ZOw qBBx862qbfsZL3QlqADUyg8D1+v7l3EfUBDdsTBjl4N2HK3kaNrrYpeBoZaifariHbZB+A 7+N26xoQ5D50Blc1ej8171uvEmK5rH2jjg5zxTZWx/8KvFsvAPFFjcY8Ji13KZwkbw8S/g UphmsZ8Hf3GvgFH73XKgYQGoFtBwmHG++pP3bbh/cJBVFfscgol1U60IgA4m7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690159253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w7UkVswO2I/E5/2PiP10BlaoAvvl2BRMC2SoFX/Em+o=; b=APUd4MuZ6LkxArd+fs6Y9H7fmXnC7dc2WGy95oDRRQA2zzjSpy/HdgNsZanza3imZ978ak Mv0Qb4yHCB5YLJaZDqQVh0lF6hdAks0mpB16lWvUBq6/CnRXL5hrix7cLLsFe/sHQ5fsOy 1w67z2Z3HHB1ipCtagkaeJwI9/tbrPR0jtS2FT/Yem8m7K5TCKGhnHKho6yvAXy8gCEzCm fpBHzpcsF3YNxnqNTpLWbwutQaqJWu8vEuvakaFvSK/7G3CDo/jLr5a0Vm/FJjtnxRLfIJ GaG9owm7nIfrfuQSbylGWM1GP4aYolNOEjiCmJLWXY/rKX3Ojb9EgzqfN/BASg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690159253; a=rsa-sha256; cv=none; b=FL72tlYRahS2XPrTJTuAU8IjvRS6Qvo0O/NX8jnI4rxZLp/pQporUJvCb0f9hD/AcGOpFM EY+7RXP11VWDUkxHX7S2dIgIo8OfcBNHH9KV94oM0NkDwEfhvMkdFzYnIj2CZXoM5xK2JP lSvP3Dp9Bl60xpMHDyhAnHhhGxuZ8k/bUgTCe+cHq2XmAHj7V4NukJqQX/n9SrwWptpsKi 0159Em+kny+Zwl+4t021iupr3N0AZe5ovkefb3KmHLuCS8dH5FI3FTa1H9f9wg81Ibw4Np 5/XZC/6nq9XteDec96qzeNYjHVtanopGXExtASlzOnqR9Ot8FfIe05Fl7BoNXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8LtY2RZzzxn0; Mon, 24 Jul 2023 00:40: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 36O0eriv081734; Mon, 24 Jul 2023 00:40:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36O0erma081733; Mon, 24 Jul 2023 00:40:53 GMT (envelope-from git) Date: Mon, 24 Jul 2023 00:40:53 GMT Message-Id: <202307240040.36O0erma081733@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: c4177f5b41d4 - main - bsd.linker.mk: Handle Xcode 15 linker identification List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4177f5b41d45f3c83a0ef329a50e4ae05da3878 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=c4177f5b41d45f3c83a0ef329a50e4ae05da3878 commit c4177f5b41d45f3c83a0ef329a50e4ae05da3878 Author: Jessica Clarke AuthorDate: 2023-07-24 00:34:17 +0000 Commit: Jessica Clarke CommitDate: 2023-07-24 00:34:17 +0000 bsd.linker.mk: Handle Xcode 15 linker identification The upcoming Xcode 15 introduces a new linker (called ld-prime or ld-new in some documentation) to replace the classic ld64, which we need to handle. Previously, the linker would identify itself as: @(#)PROGRAM:ld PROJECT:ld64- Now, there are two cases. When the classic ld64 is in use, it identifies itself as: @(#)PROGRAM:ld-classic PROJECT:ld64- When the new linker is in use, it identifies itself as: @(#)PROGRAM:ld PROJECT:dyld- Thus, tweak the detection to allow a -classic suffix in the PROGRAM string and to allow a dyld- prefix instead of an ld64- prefix on the version number in the PROJECT string. MFC after: 1 week --- share/mk/bsd.linker.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.linker.mk b/share/mk/bsd.linker.mk index 81275281be34..2a572fa01bcd 100644 --- a/share/mk/bsd.linker.mk +++ b/share/mk/bsd.linker.mk @@ -79,10 +79,10 @@ ${X_}LINKER_FREEBSD_VERSION:= ${_ld_version:[4]:C/.*-([^-]*)\)/\1/} .else ${X_}LINKER_FREEBSD_VERSION= 0 .endif -.elif ${_ld_version:[1]} == "@(\#)PROGRAM:ld" +.elif ${_ld_version:[1]:S/-classic$//} == "@(\#)PROGRAM:ld" # bootstrap linker on MacOS ${X_}LINKER_TYPE= mac -_v= ${_ld_version:[2]:S/PROJECT:ld64-//} +_v= ${_ld_version:[2]:S/PROJECT:(ld64|dyld)-//} # Convert version 409.12 to 409.12.0 so that the echo + awk below works .if empty(_v:M[1-9]*.[0-9]*.[0-9]*) && !empty(_v:M[1-9]*.[0-9]*) _v:=${_v}.0 From nobody Mon Jul 24 00:53:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8M9T6fywz4pJ9c; Mon, 24 Jul 2023 00:53: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 4R8M9T6CzNz4FLn; Mon, 24 Jul 2023 00:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690160029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CJwKmNgOIrWuvcJHiRAiod3eA2nwVP6C5Or0sGQO7nQ=; b=c+jjD6IZxNj/SHXnyXkshKiwPW2EcCq1bycHiWTlUB3XexsDnBdbrLvT4XdodlxuxkIDWz a/H29oBkRJTVrWRz+tnkkt3iXTnNManKC+SNJ8i5A4XtetgaCECnP8SRn6Kq9dfRLji3qy 7jg+6ETZP/qa+XHlu3ceMHTY2SP1S5gLPpLJgX/xqQFGsGVmtT0eWdr6sc0pDQBU2A/JPN 6jg6Z3IrFHdItY9poMT8ibRJSHmGA6sOfzEFx74KbkCCVnm8oKJiKwGvdBHq4ogcP0pFBQ Y7dC320QK8OPAwvoT6ZUvcY+DKys1zWZnEgtObFCgsnrYRY9gxPSCohKHgVrUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690160029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CJwKmNgOIrWuvcJHiRAiod3eA2nwVP6C5Or0sGQO7nQ=; b=vBFvqTRORr/OtiKsIu8d6wv2mtKNVOOtA8UvI6IcZWN0t6IFGoS17zipAWPJiCCB1RacSB hpbDJex6m1tIMnMXsB7Zcwryw3/9LdO5fFycYDwSaDFBssuMSyG5NPDbsWzw6GSrdH8uuF 1PtZUiPeS3GrvZw85VpYg4XC16fnSyflmkSHP6tLoQp+h1QDtqvJIqNR2sBI4PiHuGPUVM 8vMY12q2Aj13v7i5/0W54D6UHGaHkerxYu+RRoDxPRVk9bd574uERpiYsDNfWiq9Lb8sI5 mRB7BJNlpbkrmc80VuAHsjvRpqS/0Fc5AQnTyLWSReBGhn4PdHL7Lq+7xV2OLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690160029; a=rsa-sha256; cv=none; b=bD7QB92YcH+kL1UgfBDPiLDVpfByXgqRKJXpvHLttrD3pLrtTNr6r84GRQIos96dHW/NLK UWhIaCRp6dRpnIXiN6nucqWDaePqxguETYdwyx9O1zhYdZ89VFEUbemdD9wO7gln1icZy4 I9eJhVJ/zvnXEt/AXu8HKcXLI2wGPBKG4erowfl+p+ovbuT+2UkZXmRfoeIyyybQESht7m fwElq/X8hVztlA8g2cedprkiR+D2hFfRhMBXC/q6a55O8t/v5N52pPI59p6HRsaqERUPja OFjwC6Vsb2sjmtIte+GGC0XQbCTQ1QxUd9BhwQhq7ovlKD3f3tmng6mHa2cagQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8M9T5HyQzyBJ; Mon, 24 Jul 2023 00:53: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 36O0rnHQ005561; Mon, 24 Jul 2023 00:53:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36O0rnkD005560; Mon, 24 Jul 2023 00:53:49 GMT (envelope-from git) Date: Mon, 24 Jul 2023 00:53:49 GMT Message-Id: <202307240053.36O0rnkD005560@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 7f9318a022ef - main - bsd.linker.mk: Use :C not :S for regex List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f9318a022ef0e5104fd429dc2d9ac37b9916353 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=7f9318a022ef0e5104fd429dc2d9ac37b9916353 commit 7f9318a022ef0e5104fd429dc2d9ac37b9916353 Author: Jessica Clarke AuthorDate: 2023-07-24 00:50:55 +0000 Commit: Jessica Clarke CommitDate: 2023-07-24 00:50:55 +0000 bsd.linker.mk: Use :C not :S for regex Whilst ^ and $ are supported with C, those are special cases, and general regex syntax like groups and alternations are not. Use the correct modifier so we get a version number out that's not 0 (which is what happens when it can't be parsed by the later code). Fixes: c4177f5b41d4 ("bsd.linker.mk: Handle Xcode 15 linker identification") MFC after: 1 week --- share/mk/bsd.linker.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/bsd.linker.mk b/share/mk/bsd.linker.mk index 2a572fa01bcd..1086642ffb57 100644 --- a/share/mk/bsd.linker.mk +++ b/share/mk/bsd.linker.mk @@ -82,7 +82,7 @@ ${X_}LINKER_FREEBSD_VERSION= 0 .elif ${_ld_version:[1]:S/-classic$//} == "@(\#)PROGRAM:ld" # bootstrap linker on MacOS ${X_}LINKER_TYPE= mac -_v= ${_ld_version:[2]:S/PROJECT:(ld64|dyld)-//} +_v= ${_ld_version:[2]:C/PROJECT:(ld64|dyld)-//} # Convert version 409.12 to 409.12.0 so that the echo + awk below works .if empty(_v:M[1-9]*.[0-9]*.[0-9]*) && !empty(_v:M[1-9]*.[0-9]*) _v:=${_v}.0 From nobody Mon Jul 24 02:02:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8Nj736Xgz4p3Nn; Mon, 24 Jul 2023 02:02: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 4R8Nj72gWbz3QBw; Mon, 24 Jul 2023 02:02:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690164171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kHj6Kldi/Ha9Krr0/VOpdQ8y5J+xlSRFFHRL3Zynq9I=; b=NOV3ENTYawhc35Dc3FkpwAOQYIyBatr/RULD3vkA1IArAvd+Ey+qM4o/QrUJSeaCjzBn7M UGzV+qcAsTmtYY2HS9Z9EdqGIfC96ptjJpPRz6E2oxwNs/BXJPM1ZOq/nAydT0l118IXYd 0C5enYCV1AGEEjIMcynaJarR320OguORF9L/lOncRx5N7/cy1+NdGd3pgLYfUNsDwnipYn OjQN/RL79pcXeSd0gsQa6hXvJaSi94j/+64fxPSwRN9Jyjo6zzzkpljGoctS2qBAX8bj79 xVAm7CsaxnKKFeC9CiHq0sXpNkf4lSOC8XsiHg/xonna2/+Ts+QCNwq69bpx1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690164171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kHj6Kldi/Ha9Krr0/VOpdQ8y5J+xlSRFFHRL3Zynq9I=; b=TX8xtkoYJrtwBzNwB+2AyI/3LkyHgZFwT7DuDcIxPWV6mSOmtzQFFq/lr+sQui1NiR4Az6 LBmB1GDKgCrN3HzC11E3HDIDpdMii9Rpg3+v9J3ABbbcsq9qs0cHok/27SqSIBhzPtjegU sW+fuy4DP0yX3u1krBX3BDtHXlmNsDULdecUaN7pbdsw2fk8Bca0n2u2u1NU5LajfghuCF BBlxE25XCklUzySXifzUSD/8Z3Ac272NOh7gUYwwiIKUgmcSpQ7SGQWmVjk8Ny+2uchJj8 T/N7YTk739YJHImfF526BKxG6RBOKw6fDqufIcCapvdgJHZOSV/vU2n+Xf0WjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690164171; a=rsa-sha256; cv=none; b=ckJCu10MEA9jRON6LEK9YtOkp4YHbsJZxciNZkR9KOzB5qJme0MAx8a2fgU0xH744vKTmj BI6k/XcEhpTdBAFWIASfUJ5bRg0xBsIQbsqGX5oXTkNYKImRvOLTMPOdvDxElHlFPCzXz+ YxMmdqyP0CgkUSNjGD31AUlx5mNRQkwXJUJcxNt684MJpWPUbWRWY8Aw2kx5HEbhIUvt0p jyYntZRb6K8CvOgJ6fiBqvqRRFdhWYkt4jBTGvmiYFUv+hKdidR1Tp5WvJ6DYJWJl62OCu ZP3P77+6+x7xcvQESPuDJE1+ehu/Io3IaXiqY8ceyI499IGfX/1ClqLMlT6o4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8Nj71kBKz10gW; Mon, 24 Jul 2023 02:02: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 36O22pZd021457; Mon, 24 Jul 2023 02:02:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36O22pFX021456; Mon, 24 Jul 2023 02:02:51 GMT (envelope-from git) Date: Mon, 24 Jul 2023 02:02:51 GMT Message-Id: <202307240202.36O22pFX021456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ka Ho Ng Subject: git: 7938d643d227 - stable/13 - modules: fix freebsd32_modstat on big endian 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: 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: khng X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7938d643d2275cf95d5734f5895b7e9d00fcb448 Auto-Submitted: auto-generated The branch stable/13 has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=7938d643d2275cf95d5734f5895b7e9d00fcb448 commit 7938d643d2275cf95d5734f5895b7e9d00fcb448 Author: Ka Ho Ng AuthorDate: 2023-07-07 04:21:01 +0000 Commit: Ka Ho Ng CommitDate: 2023-07-24 02:01:40 +0000 modules: fix freebsd32_modstat on big endian platforms The layout of modspecific_t on both little endian and big endian are as follows: |0|1|2|3|4|5|6|7| +-------+-------+ |uintval| | +-------+-------+ |ulongval | +-------+-------+ For the following code snippet: CP(mod->data, data32, longval); CP(mod->data, data32, ulongval); It only takes care of little endian platforms that it truncates the highest 32bit automatically. However on big endian platforms it takes the highest 32bit instead. This eventually returns a garbage syscall number to the 32bit userland. Since modspecific_t's usage currently is for the use of syscall modules, we only initialize modspecific32_t with uintval. Now on both BE and LE 64-bit platforms it always pick up the first 4 bytes. Sponsored by: Juniper Networks, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D40814 MFC after: 1 week (cherry picked from commit 034c0856018ccf73c0f2d6140825f3edf43f47b2) --- sys/kern/kern_module.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_module.c b/sys/kern/kern_module.c index 1798a834dcec..7128525ddb66 100644 --- a/sys/kern/kern_module.c +++ b/sys/kern/kern_module.c @@ -520,10 +520,9 @@ freebsd32_modstat(struct thread *td, struct freebsd32_modstat_args *uap) id = mod->id; refs = mod->refs; name = mod->name; - CP(mod->data, data32, intval); + _Static_assert(sizeof(data32) == sizeof(data32.uintval), + "bad modspecific32_t size"); CP(mod->data, data32, uintval); - CP(mod->data, data32, longval); - CP(mod->data, data32, ulongval); MOD_SUNLOCK; stat32 = uap->stat; From nobody Mon Jul 24 06:07:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8V7b5thwz4pPBq; Mon, 24 Jul 2023 06:07: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 4R8V7b5jhBz4HQ4; Mon, 24 Jul 2023 06:07:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690178859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jWpLT3LSXBL927QkEiUJ3YHcHOrKqsVCkolBHH2T89E=; b=nUo6KokZqmhQeV9Ju6LV2gqrc7d5Tg0t3uNq5KEINa860QS2eG1RqRKCBN41q3iWVItk/L oGjUk04trpEB3d6nmj5TRr31n8bR4e4mp8o5z2KZdYjm5yc4RHerCGEjSTkAIiUdDiLM43 Svyn73CmIVOuvCDhS5/CtlGz5jYHz2HWQgHHLXTd7hDFXcMb8124Mv5KWt8MTdqK8wEAox wwUksLRJIV3iAuegbwYEevOj0e2FHbUrRUA3T5dds3hnicuHQVuk5WACq5VEY1Wrsory4y jucpKvnMN5fLXd2ZOKcHYF8KSlNb2S8280VDWEnrXh8ySLQsEejyLvDRFOWjKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690178859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jWpLT3LSXBL927QkEiUJ3YHcHOrKqsVCkolBHH2T89E=; b=vCjLRw3v6eD06j1FTaGrN984v0tuL8KK1z5RYwlHSDnD1U6XXVltoyvvSo/nhLB6nrmObE TDb2C6ZE3u3SvOmGmERmdrJtJmW0nPDj3jtdZ0feK6kBjzNhW1MxwGPxrT9QEB4affHuJT gTGWRl1TuJq+VNeY0KsVrb0cQ9syGOg0H4Y1KdYxxXUUKHYTXXcCUup1xWStv8xsj0EAmj 4qny/A8floiCa9Rq0yBC/BT4+qIIFIMP/jkrOnM7I/1BtbCqAlipLso5pSIOi+h5kEsnF3 bdwC6cOY8dT6wL6816H6d2NXjdZLmSgm+1lBxCMODds1t0Tvh2/UP8TmkXVdxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690178859; a=rsa-sha256; cv=none; b=s0GeGaxg5PZL+fCJTithCXXmpGWONgTmpBFn47uO41FHvJ4AXrgKBuxWv3SDZP3Al0uu1G Bzcbhu1eCabd5m30APSSzW3zvbXRaxY0AOZwa8TPAaOh/B0bgWWfocEOS9F341XOPwnPuk pXKZM2fqkSmlCreqM0xdzQpA7ygWpx+qqAVa25chliZplxotBxEmPz3TQ1RXZqY9Wex9TH QpSee3btT3r0O7l8rArqA6PTVUa7fwY9Tl5cY517LnLKUntLOONccXUhJKQCUfeDvk6Pr4 szZljb8Z2TPg4BXu+0nA9VvejAKehAFbqaBZd8fr1mlp1/fq8MlloFqqf7iQxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8V7b4gQmz15fq; Mon, 24 Jul 2023 06:07: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 36O67dBd020403; Mon, 24 Jul 2023 06:07:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36O67d1B020402; Mon, 24 Jul 2023 06:07:39 GMT (envelope-from git) Date: Mon, 24 Jul 2023 06:07:39 GMT Message-Id: <202307240607.36O67d1B020402@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: e64fe029e9d3 - main - libarchive: merge from vendor branch List-Id: Commit messages for all branches 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e64fe029e9d3ce476e77a478318e0c3cd201ff08 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=e64fe029e9d3ce476e77a478318e0c3cd201ff08 commit e64fe029e9d3ce476e77a478318e0c3cd201ff08 Merge: 7f9318a022ef 14b646f7c3f7 Author: Martin Matuska AuthorDate: 2023-07-24 05:42:43 +0000 Commit: Martin Matuska CommitDate: 2023-07-24 05:42:43 +0000 libarchive: merge from vendor branch Libarchive 3.7.0 Important changes (relevant to FreeBSD): #1814 Do not account for NULL terminator when comparing with "TRAILER!!!" #1818 Add ability to produce multi-frame zstd archives #1840 year 2038 fix for pax archives on platforms with 64-bit time_t #1860 Make single bit bitfields unsigned to avoid clang 16 warning #1869 Fix FreeBSD builds with WARNS=6 #1873 bsdunzip ported to libarchive from FreeBSD #1894 read support for zstd compression in 7zip archives #1918 ARM64 filter support in 7zip archives MFC after: 2 weeks PR: 272567 (exp-run) contrib/libarchive/NEWS | 6 +- contrib/libarchive/README.md | 16 +- contrib/libarchive/SECURITY.md | 19 + contrib/libarchive/cpio/cpio.c | 19 +- contrib/libarchive/cpio/test/test_option_J_upper.c | 1 + contrib/libarchive/cpio/test/test_option_c.c | 6 +- contrib/libarchive/cpio/test/test_option_t.c | 17 +- contrib/libarchive/libarchive/archive.h | 4 +- contrib/libarchive/libarchive/archive_digest.c | 60 + .../libarchive/libarchive/archive_digest_private.h | 10 + contrib/libarchive/libarchive/archive_entry.h | 2 +- contrib/libarchive/libarchive/archive_getdate.c | 119 +- contrib/libarchive/libarchive/archive_hmac.c | 15 +- .../libarchive/libarchive/archive_hmac_private.h | 2 + .../libarchive/archive_openssl_evp_private.h | 3 +- contrib/libarchive/libarchive/archive_random.c | 35 +- .../libarchive/archive_read_data_into_fd.c | 7 +- .../libarchive/archive_read_disk_posix.c | 28 + .../libarchive/libarchive/archive_read_open_file.c | 4 +- .../libarchive/archive_read_set_options.3 | 21 + .../libarchive/archive_read_support_filter_zstd.c | 14 +- .../libarchive/archive_read_support_format_7zip.c | 196 +++- .../libarchive/archive_read_support_format_cab.c | 8 +- .../libarchive/archive_read_support_format_cpio.c | 6 +- .../archive_read_support_format_iso9660.c | 12 +- .../libarchive/archive_read_support_format_lha.c | 16 +- .../libarchive/archive_read_support_format_mtree.c | 8 +- .../libarchive/archive_read_support_format_rar.c | 17 +- .../libarchive/archive_read_support_format_warc.c | 6 +- .../libarchive/archive_read_support_format_xar.c | 8 +- .../libarchive/archive_read_support_format_zip.c | 2 +- contrib/libarchive/libarchive/archive_string.c | 4 + contrib/libarchive/libarchive/archive_util.c | 57 +- contrib/libarchive/libarchive/archive_write.c | 31 + .../libarchive/archive_write_add_filter_compress.c | 2 +- .../libarchive/archive_write_add_filter_zstd.c | 233 ++-- .../libarchive/archive_write_disk_posix.c | 65 +- .../libarchive/libarchive/archive_write_private.h | 1 + .../libarchive/archive_write_set_format_iso9660.c | 18 +- .../libarchive/archive_write_set_format_pax.c | 27 +- .../libarchive/archive_write_set_format_warc.c | 25 +- .../libarchive/archive_write_set_format_xar.c | 10 +- .../libarchive/archive_write_set_format_zip.c | 19 +- contrib/libarchive/libarchive/test/test_fuzz.c | 5 +- .../test/test_read_disk_directory_traversals.c | 9 +- .../libarchive/test/test_read_format_7zip.c | 346 ++++++ .../test/test_read_format_7zip_deflate_arm64.7z.uu | 64 ++ .../test/test_read_format_7zip_lzma2_arm.7z.uu | 50 + .../test/test_read_format_7zip_lzma2_arm64.7z.uu | 54 + .../test/test_read_format_7zip_solid_zstd.7z.uu | 9 + .../test/test_read_format_7zip_zstd.7z.uu | 12 + .../test/test_read_format_7zip_zstd_arm.7z.uu | 61 + .../test/test_read_format_7zip_zstd_bcj.7z.uu | 56 + .../test/test_read_format_7zip_zstd_nobcj.7z.uu | 56 + .../libarchive/test/test_read_format_rar5.c | 2 + .../libarchive/test/test_read_format_zip.c | 5 + .../libarchive/libarchive/test/test_short_writes.c | 2 + .../libarchive/test/test_write_filter_zstd.c | 27 + .../test/test_write_format_zip_compression_store.c | 17 +- .../libarchive/test/test_write_format_zip_file.c | 17 +- .../test/test_write_format_zip_file_zip64.c | 17 +- contrib/libarchive/libarchive/xxhash.c | 4 + contrib/libarchive/libarchive_fe/passphrase.c | 6 + contrib/libarchive/tar/bsdtar.1 | 15 +- contrib/libarchive/tar/test/test_option_lzma.c | 1 + contrib/libarchive/tar/util.c | 17 +- contrib/libarchive/test_utils/test_main.c | 29 +- contrib/libarchive/unzip/CMakeLists.txt | 37 + contrib/libarchive/unzip/bsdunzip.1 | 216 ++++ contrib/libarchive/unzip/bsdunzip.c | 1186 ++++++++++++++++++++ contrib/libarchive/unzip/bsdunzip_platform.h | 83 ++ contrib/libarchive/unzip/test/CMakeLists.txt | 80 ++ contrib/libarchive/unzip/test/test.h | 40 + contrib/libarchive/unzip/test/test_0.c | 58 + contrib/libarchive/unzip/test/test_C.c | 41 + contrib/libarchive/unzip/test/test_L.c | 44 + contrib/libarchive/unzip/test/test_P_encryption.c | 41 + contrib/libarchive/unzip/test/test_Z1.c | 40 + contrib/libarchive/unzip/test/test_basic.c | 44 + contrib/libarchive/unzip/test/test_basic.zip.uu | 25 + contrib/libarchive/unzip/test/test_d.c | 44 + .../libarchive/unzip/test/test_encrypted.zip.uu | 13 + contrib/libarchive/unzip/test/test_glob.c | 44 + contrib/libarchive/unzip/test/test_j.c | 44 + contrib/libarchive/unzip/test/test_n.c | 48 + contrib/libarchive/unzip/test/test_not_exist.c | 36 + contrib/libarchive/unzip/test/test_o.c | 47 + contrib/libarchive/unzip/test/test_p.c | 39 + contrib/libarchive/unzip/test/test_q.c | 44 + contrib/libarchive/unzip/test/test_singlefile.c | 41 + .../libarchive/unzip/test/test_singlefile.zip.uu | 8 + contrib/libarchive/unzip/test/test_t.c | 39 + contrib/libarchive/unzip/test/test_t_bad.c | 39 + contrib/libarchive/unzip/test/test_t_bad.zip.uu | 25 + contrib/libarchive/unzip/test/test_x.c | 44 + lib/libarchive/tests/Makefile | 8 + 96 files changed, 4122 insertions(+), 436 deletions(-) diff --cc contrib/libarchive/README.md index 404076237871,000000000000..727ed49856b6 mode 100644,000000..100644 --- a/contrib/libarchive/README.md +++ b/contrib/libarchive/README.md @@@ -1,232 -1,0 +1,244 @@@ +# Welcome to libarchive! + +The libarchive project develops a portable, efficient C library that +can read and write streaming archives in a variety of formats. It +also includes implementations of the common `tar`, `cpio`, and `zcat` +command-line tools that use the libarchive library. + +## Questions? Issues? + - * http://www.libarchive.org is the home for ongoing ++* https://www.libarchive.org is the home for ongoing + libarchive development, including documentation, + and links to the libarchive mailing lists. +* To report an issue, use the issue tracker at + https://github.com/libarchive/libarchive/issues +* To submit an enhancement to libarchive, please + submit a pull request via GitHub: https://github.com/libarchive/libarchive/pulls + +## Contents of the Distribution + +This distribution bundle includes the following major components: + +* **libarchive**: a library for reading and writing streaming archives +* **tar**: the 'bsdtar' program is a full-featured 'tar' implementation built on libarchive +* **cpio**: the 'bsdcpio' program is a different interface to essentially the same functionality +* **cat**: the 'bsdcat' program is a simple replacement tool for zcat, bzcat, xzcat, and such ++* **unzip**: the 'bsdunzip' program is a simple replacement tool for Info-ZIP's unzip +* **examples**: Some small example programs that you may find useful. +* **examples/minitar**: a compact sample demonstrating use of libarchive. +* **contrib**: Various items sent to me by third parties; please contact the authors with any questions. + +The top-level directory contains the following information files: + +* **NEWS** - highlights of recent changes +* **COPYING** - what you can do with this +* **INSTALL** - installation instructions +* **README** - this file +* **CMakeLists.txt** - input for "cmake" build tool, see INSTALL +* **configure** - configuration script, see INSTALL for details. If your copy of the source lacks a `configure` script, you can try to construct it by running the script in `build/autogen.sh` (or use `cmake`). + +The following files in the top-level directory are used by the 'configure' script: + +* `Makefile.am`, `aclocal.m4`, `configure.ac` - used to build this distribution, only needed by maintainers +* `Makefile.in`, `config.h.in` - templates used by configure script + +## Documentation + +In addition to the informational articles and documentation +in the online [libarchive Wiki](https://github.com/libarchive/libarchive/wiki), +the distribution also includes a number of manual pages: + + * bsdtar.1 explains the use of the bsdtar program + * bsdcpio.1 explains the use of the bsdcpio program + * bsdcat.1 explains the use of the bsdcat program + * libarchive.3 gives an overview of the library as a whole + * archive_read.3, archive_write.3, archive_write_disk.3, and + archive_read_disk.3 provide detailed calling sequences for the read + and write APIs + * archive_entry.3 details the "struct archive_entry" utility class + * archive_internals.3 provides some insight into libarchive's + internal structure and operation. + * libarchive-formats.5 documents the file formats supported by the library + * cpio.5, mtree.5, and tar.5 provide detailed information about these + popular archive formats, including hard-to-find details about + modern cpio and tar variants. + +The manual pages above are provided in the 'doc' directory in +a number of different formats. + +You should also read the copious comments in `archive.h` and the +source code for the sample programs for more details. Please let us +know about any errors or omissions you find. + +## Supported Formats + +Currently, the library automatically detects and reads the following formats: + + * Old V7 tar archives + * POSIX ustar + * GNU tar format (including GNU long filenames, long link names, and sparse files) + * Solaris 9 extended tar format (including ACLs) + * POSIX pax interchange format + * POSIX octet-oriented cpio + * SVR4 ASCII cpio + * Binary cpio (big-endian or little-endian) + * PWB binary cpio + * ISO9660 CD-ROM images (with optional Rockridge or Joliet extensions) + * ZIP archives (with uncompressed or "deflate" compressed entries, including support for encrypted Zip archives) + * ZIPX archives (with support for bzip2, ppmd8, lzma and xz compressed entries) + * GNU and BSD 'ar' archives + * 'mtree' format - * 7-Zip archives ++ * 7-Zip archives (including archives that use zstandard compression) + * Microsoft CAB format + * LHA and LZH archives + * RAR and RAR 5.0 archives (with some limitations due to RAR's proprietary status) + * XAR archives + +The library also detects and handles any of the following before evaluating the archive: + + * uuencoded files + * files with RPM wrapper + * gzip compression + * bzip2 compression + * compress/LZW compression + * lzma, lzip, and xz compression + * lz4 compression + * lzop compression + * zstandard compression + +The library can create archives in any of the following formats: + + * POSIX ustar + * POSIX pax interchange format + * "restricted" pax format, which will create ustar archives except for + entries that require pax extensions (for long filenames, ACLs, etc). + * Old GNU tar format + * Old V7 tar format + * POSIX octet-oriented cpio + * SVR4 "newc" cpio + * Binary cpio (little-endian) + * PWB binary cpio + * shar archives + * ZIP archives (with uncompressed or "deflate" compressed entries) + * GNU and BSD 'ar' archives + * 'mtree' format + * ISO9660 format + * 7-Zip archives + * XAR archives + +When creating archives, the result can be filtered with any of the following: + + * uuencode + * gzip compression + * bzip2 compression + * compress/LZW compression + * lzma, lzip, and xz compression + * lz4 compression + * lzop compression + * zstandard compression + +## Notes about the Library Design + +The following notes address many of the most common +questions we are asked about libarchive: + +* This is a heavily stream-oriented system. That means that + it is optimized to read or write the archive in a single + pass from beginning to end. For example, this allows + libarchive to process archives too large to store on disk + by processing them on-the-fly as they are read from or + written to a network or tape drive. This also makes + libarchive useful for tools that need to produce + archives on-the-fly (such as webservers that provide + archived contents of a users account). + +* In-place modification and random access to the contents + of an archive are not directly supported. For some formats, + this is not an issue: For example, tar.gz archives are not + designed for random access. In some other cases, libarchive + can re-open an archive and scan it from the beginning quickly + enough to provide the needed abilities even without true + random access. Of course, some applications do require true + random access; those applications should consider alternatives + to libarchive. + +* The library is designed to be extended with new compression and + archive formats. The only requirement is that the format be + readable or writable as a stream and that each archive entry be + independent. There are articles on the libarchive Wiki explaining + how to extend libarchive. + +* On read, compression and format are always detected automatically. + +* The same API is used for all formats; it should be very + easy for software using libarchive to transparently handle + any of libarchive's archiving formats. + +* Libarchive's automatic support for decompression can be used + without archiving by explicitly selecting the "raw" and "empty" + formats. + +* I've attempted to minimize static link pollution. If you don't + explicitly invoke a particular feature (such as support for a + particular compression or format), it won't get pulled in to + statically-linked programs. In particular, if you don't explicitly + enable a particular compression or decompression support, you won't + need to link against the corresponding compression or decompression + libraries. This also reduces the size of statically-linked + binaries in environments where that matters. + +* The library is generally _thread safe_ depending on the platform: + it does not define any global variables of its own. However, some + platforms do not provide fully thread-safe versions of key C library + functions. On those platforms, libarchive will use the non-thread-safe + functions. Patches to improve this are of great interest to us. + ++* The function `archive_write_disk_header()` is _not_ thread safe on ++ POSIX machines and could lead to security issue resulting in world ++ writeable directories. Thus it must be mutexed by the calling code. ++ This is due to calling `umask(oldumask = umask(0))`, which sets the ++ umask for the whole process to 0 for a short time frame. ++ In case other thread calls the same function in parallel, it might ++ get interrupted by it and cause the executable to use umask=0 for the ++ remaining execution. ++ This will then lead to implicitely created directories to have 777 ++ permissions without sticky bit. ++ +* In particular, libarchive's modules to read or write a directory + tree do use `chdir()` to optimize the directory traversals. This + can cause problems for programs that expect to do disk access from + multiple threads. Of course, those modules are completely + optional and you can use the rest of libarchive without them. + +* The library is _not_ thread aware, however. It does no locking + or thread management of any kind. If you create a libarchive + object and need to access it from multiple threads, you will + need to provide your own locking. + +* On read, the library accepts whatever blocks you hand it. + Your read callback is free to pass the library a byte at a time + or mmap the entire archive and give it to the library at once. + On write, the library always produces correctly-blocked output. + +* The object-style approach allows you to have multiple archive streams + open at once. bsdtar uses this in its "@archive" extension. + +* The archive itself is read/written using callback functions. + You can read an archive directly from an in-memory buffer or + write it to a socket, if you wish. There are some utility + functions to provide easy-to-use "open file," etc, capabilities. + +* The read/write APIs are designed to allow individual entries + to be read or written to any data source: You can create + a block of data in memory and add it to a tar archive without + first writing a temporary file. You can also read an entry from + an archive and write the data directly to a socket. If you want + to read/write entries to disk, there are convenience functions to + make this especially easy. + +* Note: The "pax interchange format" is a POSIX standard extended tar + format that should be used when the older _ustar_ format is not + appropriate. It has many advantages over other tar formats + (including the legacy GNU tar format) and is widely supported by + current tar implementations. + diff --cc contrib/libarchive/SECURITY.md index 000000000000,6ca188b603fe..6ca188b603fe mode 000000,100644..100644 --- a/contrib/libarchive/SECURITY.md +++ b/contrib/libarchive/SECURITY.md diff --cc contrib/libarchive/cpio/cpio.c index 847c92d31449,000000000000..fbeae4133091 mode 100644,000000..100644 --- a/contrib/libarchive/cpio/cpio.c +++ b/contrib/libarchive/cpio/cpio.c @@@ -1,1517 -1,0 +1,1510 @@@ +/*- + * Copyright (c) 2003-2007 Tim Kientzle + * 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 + * in this position and unchanged. + * 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(S) ``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(S) 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 "cpio_platform.h" +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#ifdef HAVE_SYS_MKDEV_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_ERRNO_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_GRP_H +#include +#endif +#ifdef HAVE_LOCALE_H +#include +#endif +#ifdef HAVE_PWD_H +#include +#endif +#ifdef HAVE_SIGNAL_H +#include +#endif +#ifdef HAVE_STDARG_H +#include +#endif +#ifdef HAVE_STDINT_H +#include +#endif +#include +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_TIME_H +#include +#endif + +#include "cpio.h" +#include "err.h" +#include "line_reader.h" +#include "passphrase.h" + +/* Fixed size of uname/gname caches. */ +#define name_cache_size 101 + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +struct name_cache { + int probes; + int hits; + size_t size; + struct { + id_t id; + char *name; + } cache[name_cache_size]; +}; + +static int extract_data(struct archive *, struct archive *); +const char * cpio_i64toa(int64_t); +static const char *cpio_rename(const char *name); +static int entry_to_archive(struct cpio *, struct archive_entry *); +static int file_to_archive(struct cpio *, const char *); +static void free_cache(struct name_cache *cache); +static void list_item_verbose(struct cpio *, struct archive_entry *); +static void long_help(void) __LA_DEAD; +static const char *lookup_gname(struct cpio *, gid_t gid); +static int lookup_gname_helper(struct cpio *, + const char **name, id_t gid); +static const char *lookup_uname(struct cpio *, uid_t uid); +static int lookup_uname_helper(struct cpio *, + const char **name, id_t uid); +static void mode_in(struct cpio *) __LA_DEAD; +static void mode_list(struct cpio *) __LA_DEAD; +static void mode_out(struct cpio *); +static void mode_pass(struct cpio *, const char *); +static const char *remove_leading_slash(const char *); +static int restore_time(struct cpio *, struct archive_entry *, + const char *, int fd); +static void usage(void) __LA_DEAD; +static void version(void) __LA_DEAD; +static const char * passphrase_callback(struct archive *, void *); +static void passphrase_free(char *); + +int +main(int argc, char *argv[]) +{ + static char buff[16384]; + struct cpio _cpio; /* Allocated on stack. */ + struct cpio *cpio; + const char *errmsg; + char *tptr; + int uid, gid; + int opt, t; + + cpio = &_cpio; + memset(cpio, 0, sizeof(*cpio)); + cpio->buff = buff; + cpio->buff_size = sizeof(buff); + +#if defined(HAVE_SIGACTION) && defined(SIGPIPE) + { /* Ignore SIGPIPE signals. */ + struct sigaction sa; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + sa.sa_handler = SIG_IGN; + sigaction(SIGPIPE, &sa, NULL); + } +#endif + + /* Set lafe_progname before calling lafe_warnc. */ + lafe_setprogname(*argv, "bsdcpio"); + +#if HAVE_SETLOCALE + if (setlocale(LC_ALL, "") == NULL) + lafe_warnc(0, "Failed to set default locale"); +#endif + + cpio->uid_override = -1; + cpio->gid_override = -1; + cpio->argv = argv; + cpio->argc = argc; + cpio->mode = '\0'; + cpio->verbose = 0; + cpio->compress = '\0'; + cpio->extract_flags = ARCHIVE_EXTRACT_NO_AUTODIR; + cpio->extract_flags |= ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_SYMLINKS; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; + cpio->extract_flags |= ARCHIVE_EXTRACT_PERM; + cpio->extract_flags |= ARCHIVE_EXTRACT_FFLAGS; + cpio->extract_flags |= ARCHIVE_EXTRACT_ACL; +#if !defined(_WIN32) && !defined(__CYGWIN__) + if (geteuid() == 0) + cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER; +#endif + cpio->bytes_per_block = 512; + cpio->filename = NULL; + + cpio->matching = archive_match_new(); + if (cpio->matching == NULL) + lafe_errc(1, 0, "Out of memory"); + + while ((opt = cpio_getopt(cpio)) != -1) { + switch (opt) { + case '0': /* GNU convention: --null, -0 */ + cpio->option_null = 1; + break; + case '6': /* in/out: assume/create 6th edition (PWB) format */ + cpio->option_pwb = 1; + break; + case '7': /* out: create archive using 7th Edition binary format */ + cpio->format = "bin"; + break; + case 'A': /* NetBSD/OpenBSD */ + cpio->option_append = 1; + break; + case 'a': /* POSIX 1997 */ + cpio->option_atime_restore = 1; + break; + case 'B': /* POSIX 1997 */ + cpio->bytes_per_block = 5120; + break; + case OPTION_B64ENCODE: + cpio->add_filter = opt; + break; + case 'C': /* NetBSD/OpenBSD */ + errno = 0; + tptr = NULL; + t = (int)strtol(cpio->argument, &tptr, 10); + if (errno || t <= 0 || *(cpio->argument) == '\0' || + tptr == NULL || *tptr != '\0') { + lafe_errc(1, 0, "Invalid blocksize: %s", + cpio->argument); + } + cpio->bytes_per_block = t; + break; + case 'c': /* POSIX 1997 */ + cpio->format = "odc"; + break; + case 'd': /* POSIX 1997 */ + cpio->extract_flags &= ~ARCHIVE_EXTRACT_NO_AUTODIR; + break; + case 'E': /* NetBSD/OpenBSD */ + if (archive_match_include_pattern_from_file( + cpio->matching, cpio->argument, + cpio->option_null) != ARCHIVE_OK) + lafe_errc(1, 0, "Error : %s", + archive_error_string(cpio->matching)); + break; + case 'F': /* NetBSD/OpenBSD/GNU cpio */ + cpio->filename = cpio->argument; + break; + case 'f': /* POSIX 1997 */ + if (archive_match_exclude_pattern(cpio->matching, + cpio->argument) != ARCHIVE_OK) + lafe_errc(1, 0, "Error : %s", + archive_error_string(cpio->matching)); + break; + case OPTION_GRZIP: + cpio->compress = opt; + break; + case 'H': /* GNU cpio (also --format) */ + cpio->format = cpio->argument; + break; + case 'h': + long_help(); + break; + case 'I': /* NetBSD/OpenBSD */ + cpio->filename = cpio->argument; + break; + case 'i': /* POSIX 1997 */ + if (cpio->mode != '\0') + lafe_errc(1, 0, + "Cannot use both -i and -%c", cpio->mode); + cpio->mode = opt; + break; + case 'J': /* GNU tar, others */ + cpio->compress = opt; + break; + case 'j': /* GNU tar, others */ + cpio->compress = opt; + break; + case OPTION_INSECURE: + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_SYMLINKS; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; + break; + case 'L': /* GNU cpio */ + cpio->option_follow_links = 1; + break; + case 'l': /* POSIX 1997 */ + cpio->option_link = 1; + break; + case OPTION_LRZIP: + case OPTION_LZ4: + case OPTION_LZMA: /* GNU tar, others */ + case OPTION_LZOP: /* GNU tar, others */ + case OPTION_ZSTD: + cpio->compress = opt; + break; + case 'm': /* POSIX 1997 */ + cpio->extract_flags |= ARCHIVE_EXTRACT_TIME; + break; + case 'n': /* GNU cpio */ + cpio->option_numeric_uid_gid = 1; + break; + case OPTION_NO_PRESERVE_OWNER: /* GNU cpio */ + cpio->extract_flags &= ~ARCHIVE_EXTRACT_OWNER; + break; + case 'O': /* GNU cpio */ + cpio->filename = cpio->argument; + break; + case 'o': /* POSIX 1997 */ + if (cpio->mode != '\0') + lafe_errc(1, 0, + "Cannot use both -o and -%c", cpio->mode); + cpio->mode = opt; + break; + case 'p': /* POSIX 1997 */ + if (cpio->mode != '\0') + lafe_errc(1, 0, + "Cannot use both -p and -%c", cpio->mode); + cpio->mode = opt; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; + break; + case OPTION_PASSPHRASE: + cpio->passphrase = cpio->argument; + break; + case OPTION_PRESERVE_OWNER: + cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER; + break; + case OPTION_QUIET: /* GNU cpio */ + cpio->quiet = 1; + break; + case 'R': /* GNU cpio, also --owner */ + /* TODO: owner_parse should return uname/gname + * also; use that to set [ug]name_override. */ + errmsg = owner_parse(cpio->argument, &uid, &gid); + if (errmsg) { + lafe_warnc(-1, "%s", errmsg); + usage(); + } + if (uid != -1) { + cpio->uid_override = uid; + cpio->uname_override = NULL; + } + if (gid != -1) { + cpio->gid_override = gid; + cpio->gname_override = NULL; + } + break; + case 'r': /* POSIX 1997 */ + cpio->option_rename = 1; + break; + case 't': /* POSIX 1997 */ + cpio->option_list = 1; + break; + case 'u': /* POSIX 1997 */ + cpio->extract_flags + &= ~ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER; + break; + case OPTION_UUENCODE: + cpio->add_filter = opt; + break; + case 'v': /* POSIX 1997 */ + cpio->verbose++; + break; + case 'V': /* GNU cpio */ + cpio->dot++; + break; + case OPTION_VERSION: /* GNU convention */ + version(); + break; +#if 0 + /* + * cpio_getopt() handles -W specially, so it's not + * available here. + */ + case 'W': /* Obscure, but useful GNU convention. */ + break; +#endif + case 'y': /* tar convention */ + cpio->compress = opt; + break; + case 'Z': /* tar convention */ + cpio->compress = opt; + break; + case 'z': /* tar convention */ + cpio->compress = opt; + break; + default: + usage(); + } + } + + /* + * Sanity-check args, error out on nonsensical combinations. + */ + /* -t implies -i if no mode was specified. */ + if (cpio->option_list && cpio->mode == '\0') + cpio->mode = 'i'; + /* -t requires -i */ + if (cpio->option_list && cpio->mode != 'i') + lafe_errc(1, 0, "Option -t requires -i"); + /* -n requires -it */ + if (cpio->option_numeric_uid_gid && !cpio->option_list) + lafe_errc(1, 0, "Option -n requires -it"); + /* Can only specify format when writing */ + if (cpio->format != NULL && cpio->mode != 'o') + lafe_errc(1, 0, "Option --format requires -o"); + /* -l requires -p */ + if (cpio->option_link && cpio->mode != 'p') + lafe_errc(1, 0, "Option -l requires -p"); + /* -v overrides -V */ + if (cpio->dot && cpio->verbose) + cpio->dot = 0; + /* TODO: Flag other nonsensical combinations. */ + + switch (cpio->mode) { + case 'o': + if (cpio->format == NULL) { + if (cpio->option_pwb) + cpio->format = "pwb"; + else + cpio->format = "cpio"; + } + mode_out(cpio); + break; + case 'i': + while (*cpio->argv != NULL) { + if (archive_match_include_pattern(cpio->matching, + *cpio->argv) != ARCHIVE_OK) + lafe_errc(1, 0, "Error : %s", + archive_error_string(cpio->matching)); + --cpio->argc; + ++cpio->argv; + } + if (cpio->option_list) + mode_list(cpio); + else + mode_in(cpio); + break; + case 'p': + if (*cpio->argv == NULL || **cpio->argv == '\0') + lafe_errc(1, 0, + "-p mode requires a target directory"); + mode_pass(cpio, *cpio->argv); + break; + default: + lafe_errc(1, 0, + "Must specify at least one of -i, -o, or -p"); + } + + archive_match_free(cpio->matching); + free_cache(cpio->gname_cache); + free_cache(cpio->uname_cache); ++ archive_read_close(cpio->archive_read_disk); ++ archive_read_free(cpio->archive_read_disk); + free(cpio->destdir); + passphrase_free(cpio->ppbuff); + return (cpio->return_value); +} + +static void +usage(void) +{ + const char *p; + + p = lafe_getprogname(); + + fprintf(stderr, "Brief Usage:\n"); + fprintf(stderr, " List: %s -it < archive\n", p); + fprintf(stderr, " Extract: %s -i < archive\n", p); + fprintf(stderr, " Create: %s -o < filenames > archive\n", p); + fprintf(stderr, " Help: %s --help\n", p); + exit(1); +} + +static const char *long_help_msg = + "First option must be a mode specifier:\n" + " -i Input -o Output -p Pass\n" + "Common Options:\n" + " -v Verbose filenames -V one dot per file\n" + "Create: %p -o [options] < [list of files] > [archive]\n" + " -J,-y,-z,--lzma Compress archive with xz/bzip2/gzip/lzma\n" + " --format {pwb|bin|odc|newc|ustar} Select archive format\n" + "List: %p -it < [archive]\n" + "Extract: %p -i [options] < [archive]\n"; + + +/* + * Note that the word 'bsdcpio' will always appear in the first line + * of output. + * + * In particular, /bin/sh scripts that need to test for the presence + * of bsdcpio can use the following template: + * + * if (cpio --help 2>&1 | grep bsdcpio >/dev/null 2>&1 ) then \ + * echo bsdcpio; else echo not bsdcpio; fi + */ +static void +long_help(void) +{ + const char *prog; + const char *p; + + prog = lafe_getprogname(); + + fflush(stderr); + + p = (strcmp(prog,"bsdcpio") != 0) ? "(bsdcpio)" : ""; + printf("%s%s: manipulate archive files\n", prog, p); + + for (p = long_help_msg; *p != '\0'; p++) { + if (*p == '%') { + if (p[1] == 'p') { + fputs(prog, stdout); + p++; + } else + putchar('%'); + } else + putchar(*p); + } + version(); +} + +static void +version(void) +{ + fprintf(stdout,"bsdcpio %s - %s \n", + BSDCPIO_VERSION_STRING, + archive_version_details()); + exit(0); +} + +static void +mode_out(struct cpio *cpio) +{ + struct archive_entry *entry, *spare; + struct lafe_line_reader *lr; + const char *p; + int r; + + if (cpio->option_append) + lafe_errc(1, 0, "Append mode not yet supported."); + + cpio->archive_read_disk = archive_read_disk_new(); + if (cpio->archive_read_disk == NULL) + lafe_errc(1, 0, "Failed to allocate archive object"); + if (cpio->option_follow_links) + archive_read_disk_set_symlink_logical(cpio->archive_read_disk); + else + archive_read_disk_set_symlink_physical(cpio->archive_read_disk); + archive_read_disk_set_standard_lookup(cpio->archive_read_disk); + + cpio->archive = archive_write_new(); + if (cpio->archive == NULL) + lafe_errc(1, 0, "Failed to allocate archive object"); + switch (cpio->compress) { + case OPTION_GRZIP: + r = archive_write_add_filter_grzip(cpio->archive); + break; + case 'J': + r = archive_write_add_filter_xz(cpio->archive); + break; + case OPTION_LRZIP: + r = archive_write_add_filter_lrzip(cpio->archive); + break; + case OPTION_LZ4: + r = archive_write_add_filter_lz4(cpio->archive); + break; + case OPTION_LZMA: + r = archive_write_add_filter_lzma(cpio->archive); + break; + case OPTION_LZOP: + r = archive_write_add_filter_lzop(cpio->archive); + break; + case OPTION_ZSTD: + r = archive_write_add_filter_zstd(cpio->archive); + break; + case 'j': case 'y': + r = archive_write_add_filter_bzip2(cpio->archive); + break; + case 'z': + r = archive_write_add_filter_gzip(cpio->archive); + break; + case 'Z': + r = archive_write_add_filter_compress(cpio->archive); + break; + default: + r = archive_write_add_filter_none(cpio->archive); + break; + } + if (r < ARCHIVE_WARN) + lafe_errc(1, 0, "Requested compression not available"); + switch (cpio->add_filter) { + case 0: + r = ARCHIVE_OK; + break; + case OPTION_B64ENCODE: + r = archive_write_add_filter_b64encode(cpio->archive); + break; + case OPTION_UUENCODE: + r = archive_write_add_filter_uuencode(cpio->archive); + break; + } + if (r < ARCHIVE_WARN) + lafe_errc(1, 0, "Requested filter not available"); + r = archive_write_set_format_by_name(cpio->archive, cpio->format); + if (r != ARCHIVE_OK) *** 3223 LINES SKIPPED *** From nobody Mon Jul 24 11:06:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8cnF2Fx7z4pTVQ; Mon, 24 Jul 2023 11:07:13 +0000 (UTC) (envelope-from dim@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 4R8cnF1qfJz43sb; Mon, 24 Jul 2023 11:07:13 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690196833; 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=CSWrTgJaLku5VhVbV1yW8lE4W9xPJkA+eKRWlOg6zpk=; b=SkZS/Lbg33nqwMh+r/C2G1UAf/1R2ppdy1RdNQUiu+6sN0fzr3cP48uGoFrfl2reuEbSMi ziuWE6ECN3l2rvtQZ0g7ZI7H7usduNl07tM6+3PJ9MsytHRjhAtuzc99+puJVoVpWGqmaw F3tEe3rdQRP9I4d6LuwGOGIFuf+P6ts370oQsYOJoafHnnJ2BI1Yrr0TFE1HX4eVUODs16 NTfhCEZ6ilDlgzoPVMG7zkmDxJ7MbHJ92PTj62fBrnnjKBRSdYAreMk0wo4x0EU5mDnSic V8NHXUUkh2mMEiwAFP6bYhRPWVfBZrC5990pTTtsZ9rv6jVhDTaw2hlYOcP9Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690196833; 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=CSWrTgJaLku5VhVbV1yW8lE4W9xPJkA+eKRWlOg6zpk=; b=GOyv05wGP9LogIimjsUXbsfkNYi1OI1qPW+1Tr7gOITVVkvLW3Zc5dIiGmeFU2TxjGI2fZ vG34H673H7txQI0o1kFpcUtUIhE4ttMLpoC06lcGJkpBHz4UWVC4CfVtoWP7E332a17DGH JJU1NyueMwldouZKGoyACsK/G8RnapK42qYZgp3MIHDNMiXiZN2BJ3fxRimOi3quQUV8Dw OTpdMTPj8YhibLZtvuCJT80pWN+9Vpa0A+IzhOeGvS3rTWyjo+DwnjB740MWlkppe1dGTU ov7o/GdMtOJWetrQ4W6v5gWLAha3V+6o7HBOgvHVLnVaaRBp9d80m+a/3Ttysg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690196833; a=rsa-sha256; cv=none; b=QxpMVnmDRBlDX72Z8jNXmLAOsuxaizfXAsxWPHF2RWsmrqxzASZF6CY7VwxOun0/8IcqN6 hbKw+eyAZBg8zgwrSWLuJtTqOHU8yDBmFiNKKhuM/KBIG6+HySjYkbB4APgmDWClG/AC4G DWwhbs3eF0N23Vawbogu7RIjLWovACdRj8eYMJFqBsqHjIjSD+tHIJsBCGVY58cNpoDgVY kO6kox7ACEgmSyYRpfvxmqwxNqXlfuU5gXhj6cwdvrd8qlBLkjvpZXACkIK7hNA4R0nzg5 cfVpxV/zbTqR4PiNIXy1rEYQeHxvzpNQ2k+3AqLaSMZthX3LtEIKToP+aAZuow== 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 4R8cnF09rcz1MjP; Mon, 24 Jul 2023 11:07:13 +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 41A4A2C8E6; Mon, 24 Jul 2023 13:07:11 +0200 (CEST) Content-Type: multipart/signed; boundary="Apple-Mail=_6DF64140-DD36-4E5C-8F9E-425FB1820B4E"; 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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 80e4ac2964a1 - main - Work around VNET and DPCPU related panics on aarch64 From: Dimitry Andric In-Reply-To: Date: Mon, 24 Jul 2023 13:06:54 +0200 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: <5A138CF6-8D9B-49B4-9684-BC0E76C17213@FreeBSD.org> References: <202307232238.36NMcBxN074108@gitrepo.freebsd.org> To: Jessica Clarke X-Mailer: Apple Mail (2.3731.600.7) --Apple-Mail=_6DF64140-DD36-4E5C-8F9E-425FB1820B4E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 24 Jul 2023, at 00:48, Jessica Clarke wrote: >=20 > On 23 Jul 2023, at 23:38, Dimitry Andric wrote: >>=20 >> The branch main has been updated by dim: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D80e4ac2964a11edef456a15b77e43aad= eaf273a2 >>=20 >> commit 80e4ac2964a11edef456a15b77e43aadeaf273a2 >> Author: Dimitry Andric >> AuthorDate: 2023-07-23 13:48:36 +0000 >> Commit: Dimitry Andric >> CommitDate: 2023-07-23 22:35:04 +0000 >>=20 >> Work around VNET and DPCPU related panics on aarch64 >>=20 >> lld >=3D 14 and recent GNU ld can relax adrp+add and adrp+ldr >> instructions, which breaks VNET and DPCPU when used in modules. >=20 > Thanks for committing the workaround. >=20 > This will need some kind of EN for 13.2 given LLVM 14 was merged in > time for that and arm64 is a Tier 1 architecture in 13. >=20 > There perhaps also needs to be some serious thought into our testing > and release procedures given we allowed a Tier 1 architecture to have > VNET and DPCU be totally broken in a point release for any kernel > module. Especially when the bug was known, open against -CURRENT and > triaged all before the MFC to stable/13; there needs to be better > tracking of toolchain release blockers. I agree, but how many users does this affect? I am only a sporadic user of aarch64 builds, but I never saw any panics, and apparently our CI builders also do not see these. So how often do these panics actually occur? Must you specifically use a VNET feature to encounter them? -Dimitry --Apple-Mail=_6DF64140-DD36-4E5C-8F9E-425FB1820B4E 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 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCZL5bTgAKCRCwXqMKLiCW o4aRAJ98Orz/n8qgp1Q7h91thV0dbqvv/gCguie00bHnIreg2P1kv0N2qCBewFI= =tsMm -----END PGP SIGNATURE----- --Apple-Mail=_6DF64140-DD36-4E5C-8F9E-425FB1820B4E-- From nobody Mon Jul 24 12:55:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8gBJ6KNBz4nr9c; Mon, 24 Jul 2023 12:55: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 4R8gBJ5v2yz3qMC; Mon, 24 Jul 2023 12:55:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690203336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w3xd09XmgyqjrkGMl2KyziqygTWag5JzqEoLn12a6kE=; b=FYahrQQpR7CPuRaoFyw8Q96M/JLMsOGeO0HjjwPhymGR3R2iSykWcHiFTBC5dPi+8wSzK9 6+j4RCLU6GAm8At3d0FxAQLvLdK+1aD2qsPSC193XvgKk4gxpTCi1RVQ4zcmuaq4LCG2ln ENVekKf5b4uNPSGGuZLiOccOjmLn3y2hEA0sbsjOFekNYJQz91IttGnp57W7mg/ZmEdBqt ZJieuzF7GkoahIbdrh/38pVIU2fVG3F3sJP69EJaF+0WVLd1H4t2Nn3am/yi6AH0xl4dsG t/o7VQIiPNbPNEQwsHZgABsgGt+io3QZ9UkkmdmfWJaUyIjtiaQDQUnxPWIjgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690203336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w3xd09XmgyqjrkGMl2KyziqygTWag5JzqEoLn12a6kE=; b=oXjU1myaqNO29P9WX1Cut6VhL6zYG0rvX9v6XCLrRT3+43qEAwt9aT1u6k392LqFSbwxP1 jZK71Cul0NxVV5IFKfdB2e0deeg0NKFoK14zbEHTKJTXRuMxCFElt7tJqzw7D6O52xQ7n0 X8hZQgtiKfbCxj1WrvoN7ux0A2lg1fFkflMaweTC1TbP0abV+Cv8utGfQ7V4YiOQjuyPPf eGjWpUt6xy0sdYKr/AQR0RV2subfQRno+hsV66gCZjvr1OpMg/rY//whKLUiqoE7Anzm/q wE00Cag533PTcFuiYX1/VjsMlUbzp8eZu3YoymzYVvHqzdJUhfB/RTpY8Q/wrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690203336; a=rsa-sha256; cv=none; b=DBVFzols29TtoOrPdeJRs34M3zZo0lLQWdgx55BFsJAlQLlEQ0us0fiAqVfErUdE9U12Lg TJiec0cCOph9y+lC5iTDFCNozNQAapnXn929rqvYAcN9YmKdnWEC9orkHFFaRapKuJ1YKn kyc3+0ATRAeWU0rVq7EYHT/wGcvd7GcrrN+avKMqNSoFHU2dIAx6K3bKMPx+aUfh/IpJXZ iW0jN1P4bghVSSH/Op0iOWfZBvkVlbFpGoCumCS3/erWuAOP/LAKE/ISG0gJa5hJ3U6tyZ m0GZCmhfaw8u6UCO0YGq+z9B605cUUundXMnXqX7IebXsP9NLZP2XtE4iY0Ccg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8gBJ4yQkzJ6d; Mon, 24 Jul 2023 12:55: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 36OCtahN097622; Mon, 24 Jul 2023 12:55:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OCtaCQ097621; Mon, 24 Jul 2023 12:55:36 GMT (envelope-from git) Date: Mon, 24 Jul 2023 12:55:36 GMT Message-Id: <202307241255.36OCtaCQ097621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 09e5d91069d1 - main - puc: fix man page reference List-Id: Commit messages for all branches 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09e5d91069d13000d1d93b0e6a26731926d500e1 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=09e5d91069d13000d1d93b0e6a26731926d500e1 commit 09e5d91069d13000d1d93b0e6a26731926d500e1 Author: Mitchell Horne AuthorDate: 2023-07-24 12:52:19 +0000 Commit: Mitchell Horne CommitDate: 2023-07-24 12:54:42 +0000 puc: fix man page reference The reference to puc(9) is wrong; the page does not exist, and drivers belong to section 4. Change the reference to puc(4), which does exist. MFC after: 3 days Sponsored by: The FreeBSD Foundation --- sys/dev/puc/puc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c index 6a90f130864b..4936bfaaf203 100644 --- a/sys/dev/puc/puc.c +++ b/sys/dev/puc/puc.c @@ -74,7 +74,7 @@ const char puc_driver_name[] = "puc"; static MALLOC_DEFINE(M_PUC, "PUC", "PUC driver"); SYSCTL_NODE(_hw, OID_AUTO, puc, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, - "puc(9) driver configuration"); + "puc(4) driver configuration"); struct puc_bar * puc_get_bar(struct puc_softc *sc, int rid) From nobody Mon Jul 24 13:51:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8hQF2Kt7z4pcjZ; Mon, 24 Jul 2023 13:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R8hQF1QZZz4Fbr; Mon, 24 Jul 2023 13:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690206661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jxdpEM+YR4llubffPL7Ie6JIt80+JDVSZx7HZ35aTMg=; b=Gz2OXwzu1/sOAuzhPDV7m/Oof85XiXOHs5VMN39amEBs7Cmpo7njxWACDR4q+9SX2t1PfN RPwnWEdadif2bNWBXxvvUqdkm332bYY8uKp2UIH3l0++1kVClBJXQZQUD1Kw1csQGMvNdp 5o7WznG9mBwl5MBSrsZiSrt68IusGwez0H7nONArGJ5qpyr2d7y1RVjlWPCRFFJs3Qe/Xm ACfrLVGJ5Xj9Tk0YZLPgfl4gmSbji796mW2jEwKbwIr14lCYw+DavIsWLFXQlx2KKPS6Hw friJdKuZOqTMgp58MUdn88wiWNUvQXi5g6Z/z+f1K8JKaU4CNfRWhdj9o5Vdjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690206661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jxdpEM+YR4llubffPL7Ie6JIt80+JDVSZx7HZ35aTMg=; b=liGSJb3UG1QZw+6hcC2/lbvYrqXbWFapeZQx+HfdKk3DKLRumoBpCv5blDoJKd2mnpoBcm HxWuHRO8zO3gAqhcLBATk9X9xkANa8ezpV91Cmfk0omHLwF+qC45Ft4B1KRM8VhXAjVrji 9f+nM87Gin9oIhbTycms8sWGQGKl616Enkx1GWdsivKiRcsm+COSKHKGCWdojCknIKZmzz dWM66nBI0ukmQNA+xChvWIE/WIM6aoQtzaOLEx8SA6Qvf+a9lBQ7oGSnBrrRue16eZSM2M WIHKH2g8TosQISk1m19kPevYO5Paaa/VshOrK6o0Fdz0+8lmHlilRBWk0EZMrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690206661; a=rsa-sha256; cv=none; b=P7/p+f1k/nDkxjHPeg0+9G30sRr8ZbsicxM3G6BAymDHn9Mq4sLiL1ilZk1Udx+zBxi+MW gBs7i62JdXQYTnLgZ5o6EeunmC8mhMqSpjU7XManAgN04fLaScoAp3Xn0OQD0ioXmxfYWB G1L1kRPt0zO3M6GeWJbhME+OGB2NRe6ACzAuPU+yu6E0/zV16N3DpCRgHmTNs2FC6reBKN 8NB0eMhM9I/A/WPxG1bZO4FHKjRrI2Dg04opldYVuyHV3/RB6+UeHIIQBR8607ImUlYu/T 1fJLLSR8djz40W0yJiVf9h6tEth6L5+ipncsuQRFSXpM01+MxdOPu1UYaKBPHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8hQF0T71zL86; Mon, 24 Jul 2023 13:51: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 36ODp0jJ089758; Mon, 24 Jul 2023 13:51:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36ODp0Ej089757; Mon, 24 Jul 2023 13:51:00 GMT (envelope-from git) Date: Mon, 24 Jul 2023 13:51:00 GMT Message-Id: <202307241351.36ODp0Ej089757@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: a4e4ea738b73 - main - sys_getrandom: fix a function reference in a 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: 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a4e4ea738b738a355f5042b02ca9d8bbb78af236 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a4e4ea738b738a355f5042b02ca9d8bbb78af236 commit a4e4ea738b738a355f5042b02ca9d8bbb78af236 Author: Mitchell Horne AuthorDate: 2023-07-24 13:48:38 +0000 Commit: Mitchell Horne CommitDate: 2023-07-24 13:50:04 +0000 sys_getrandom: fix a function reference in a comment MFC after: 3 days Sponsored by: FreeBSD Foundation --- sys/kern/sys_getrandom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/sys_getrandom.c b/sys/kern/sys_getrandom.c index 929a3ebe21af..fe87c70488bc 100644 --- a/sys/kern/sys_getrandom.c +++ b/sys/kern/sys_getrandom.c @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); #define GRND_VALIDFLAGS (GRND_NONBLOCK | GRND_RANDOM | GRND_INSECURE) /* - * random_read_uio(9) returns EWOULDBLOCK if a nonblocking request would block, + * read_random_uio(9) returns EWOULDBLOCK if a nonblocking request would block, * but the Linux API name is EAGAIN. On FreeBSD, they have the same numeric * value for now. */ From nobody Mon Jul 24 14:08:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8hp15M0tz4mdpd; Mon, 24 Jul 2023 14:08: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 4R8hp13Y9lz4MB5; Mon, 24 Jul 2023 14:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690207689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78t+Zj/lCHndlGzj/pEUww0IYHBNMj4OqaImawqHulk=; b=aONRtOlecZDNg5cEQ7C3eb4spUVLu26ShGVFme3YRfRUxIcUY5oGV0Bvul0RADNV2/ZjZm eRAA+02gl50AftBExCZ+9+Wf+qkO+baDkjb+dc8Tcdrd7gJmFNIU1He0vViIdNZy37WFi6 EHVVAcyD7UPz9/vo+q1caqkuueRBOe/cxNQcMOM7ZRcVRNWby5ZJWdoJS1yQsEq71UkIFi BRgCPbpdMFB2/3lk8u81NuSNBVPNzQEEQouHb4rOacijPcSyAmAHP8WG6/KMOYa3BXNqOh R7GxufyLiLKOw7E6zo2zwv6sxZOKSwdXl7sP7EZmBef9aXMNjrsoiFW7Tq849Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690207689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78t+Zj/lCHndlGzj/pEUww0IYHBNMj4OqaImawqHulk=; b=QS2rshGwpK+R6o8PyOjfDuimV3HNisoXOXUe8GKhguoi7XlRmyulzzoGgGLX/VXmqCq/XJ hn/4EvV1JnlT3nOP+eIz4WHMHejgUZV2dIG3EIXmxmKyOC6a6TmJ4+SlnBA/qqtquC0N07 uEI+wSMLPNdX953UJt+JkYgiYazkqJ11QTV5FPWfrNKXnvVd13nwzzozwfaMfEe/QhFpCZ zE6Aakgo1GIiE7JeW2LnYYiJ0A8H043BiGCylQXoYDPK56xdBgfiGes9yYWdmOrYJaoSac 2WCEkKzyR2qaXxtfBBaon7rl6uWki/WdBiKBA7EO24JltTOTfwYkrfvQ6t0ZiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690207689; a=rsa-sha256; cv=none; b=dqkStGk/yk5dinn2e9VjdUJVeKC8dw0VS/u2Va9Dd62NYrfg8HaFQ4UeHxLkugGb41scQ9 hG2/qhr9nSflfJtyQj/poKn8EKBF2F4yWzv+t23cPdsKfHjpKNUhogsi0/7d6Cdl1XvDRh 4Ld6dtUU7u12exEaKjAzCl3vXQJl6iP/TJ0S5pw1PL1wxEFt/e4zs4Y7dDJjwc1TRz1sw9 a4Jpgjj8Arqq7apV+ILwLHX/PFJq/dG+9n4U3IeZtzbJnvk3pG8iffL9XjC9ixe0+c4mJ3 M+ShnUmwPeaxvZhdKkL61UZB0z816Ht2e+emf5GGzThNBVZtgAeiBcpd8XTyrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8hp12bh6zKw7; Mon, 24 Jul 2023 14:08: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 36OE89LD014724; Mon, 24 Jul 2023 14:08:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OE89fe014723; Mon, 24 Jul 2023 14:08:09 GMT (envelope-from git) Date: Mon, 24 Jul 2023 14:08:09 GMT Message-Id: <202307241408.36OE89fe014723@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: 77c2e52a1742 - stable/13 - Cirrus-CI: add amd64 and arm64 Clang/LLVM 16 jobs List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 77c2e52a17424e275807980cdbdf2f62527aefe3 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=77c2e52a17424e275807980cdbdf2f62527aefe3 commit 77c2e52a17424e275807980cdbdf2f62527aefe3 Author: Ed Maste AuthorDate: 2023-05-26 12:14:51 +0000 Commit: Ed Maste CommitDate: 2023-07-24 13:14:57 +0000 Cirrus-CI: add amd64 and arm64 Clang/LLVM 16 jobs Reviewed by: lwhsu (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40286 (cherry picked from commit df042dcf268c7f5ab9ca5d090a682af76070b919) --- .cirrus.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.cirrus.yml b/.cirrus.yml index 6b588d05e551..57f27180e2c7 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -22,6 +22,14 @@ task: TARGET_ARCH: amd64 TOOLCHAIN: llvm15 TOOLCHAIN_PKG: ${TOOLCHAIN}-lite + - name: amd64-llvm16 World and kernel build and boot smoke test + only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' + trigger_type: manual + env: + TARGET: amd64 + TARGET_ARCH: amd64 + TOOLCHAIN: llvm16 + TOOLCHAIN_PKG: ${TOOLCHAIN}-lite - name: arm64-llvm15 World and kernel build and boot smoke test only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' trigger_type: manual @@ -30,6 +38,14 @@ task: TARGET_ARCH: aarch64 TOOLCHAIN: llvm15 TOOLCHAIN_PKG: ${TOOLCHAIN} + - name: arm64-llvm16 World and kernel build and boot smoke test + only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' + trigger_type: manual + env: + TARGET: arm64 + TARGET_ARCH: aarch64 + TOOLCHAIN: llvm16 + TOOLCHAIN_PKG: ${TOOLCHAIN} - name: amd64-gcc12 World and kernel build and boot smoke test (manual) only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' trigger_type: manual From nobody Mon Jul 24 14:08:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8hp25Xxlz4mdsX; Mon, 24 Jul 2023 14:08: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 4R8hp24dzkz4MK5; Mon, 24 Jul 2023 14:08:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690207690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OLCDUVpL6+qisXWqmDhAx+ffiELzD9kOOpVxsb1gdUw=; b=RO6xQEtI1S+Fw9bUilMf4iLdHJeXrK1WIBUK4hHZ9j4fOkBeFIVV+t4hvTvLugL9Xl9TYB 1DbveuKKM10gsU2zCAgNstQEUKhEJMgtntAQDvROQfkRUsY314N59T55syL7yEHRWIIub8 zME2l6Pt4WUmra+UvLdJWgfTxeEjvXxFnU0SEY8/wj8DzreAsM2+iIj5bj3lHyQHI2Yo4x g8zRLOfFasJmE/THwnMaC0J7CehSJxOHC5XuKyBCDp1O8PqUJt9GQF2oxRjYKIMB8KbuLm Fcycm+chwVN4RhUwKLyzc762au0KSfsFpghIj/EA7UNv9YRE03bL4ctgj9IAhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690207690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OLCDUVpL6+qisXWqmDhAx+ffiELzD9kOOpVxsb1gdUw=; b=A5y1SivTWo/+I8CWkLWDTysEwBY5ORgITJTHKyu11iU3+nXdmoKrFoq9BQ2lh6XjpIv+Hg Bg6tYr5orVvzDM+5dTANUP6vvT0gQ4i7vCjeAZ94Z4bLTpIiWvxME3pU1GHDr3knTxUEBF bOEP8al1W8ANEY9HEttpz3+uitp/j514zAw8blO5KuUD4idl+wWAqcak3V7/R//wrhjOVZ P4e6wxNzZA0e8/EFeku1uS2060L5ukY+hC0VW0CVQXZlvEe8fBQW4jrmHBTNt7xxdrUrLM SSn1HGO7fgDqTL424znk3DJe/Z6Jj93yWZr5NtfEAb27VS8FJiGNf513Sr3weQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690207690; a=rsa-sha256; cv=none; b=e1vYXp7rLw9wTN+jEzpBmNOHa1tpyFlkucQXUES2NcAQ8kg/0KEKwXIpszVl/U7IqTMcEF eVY/BB4Iqe0F3QypAcUyTsQf8+Mletk20HW1KwuewbvnPC44QZhhvL9NaftWSLcm/C01kD WDZNHE5MYPr5/h9qbCekRCPPB+c/HCZfdD96m0ahOclTLgR4yyFieGAzpQayA0gRyyK/rx HO6/+ILr9FDgeA3Y6uYxkpgh9ZDR9/1235xsemOv0hiKC3c+Gl8toLWTxkUV4VSZ9VAZEL TMymUawxhfHGOEBKe/GL4zGdU6dQplSbdHFl9HEEa7SkpMhZ/G8cqtnj1VtMPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8hp23V1NzLHD; Mon, 24 Jul 2023 14:08: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 36OE8A6u014743; Mon, 24 Jul 2023 14:08:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OE8Axb014742; Mon, 24 Jul 2023 14:08:10 GMT (envelope-from git) Date: Mon, 24 Jul 2023 14:08:10 GMT Message-Id: <202307241408.36OE8Axb014742@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: 5a0cbb8a5006 - stable/13 - Cirrus-CI: add a manually triggered aarch64-gcc12 task List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5a0cbb8a5006f9e8aae0d4b286862b4e03fb4e60 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5a0cbb8a5006f9e8aae0d4b286862b4e03fb4e60 commit 5a0cbb8a5006f9e8aae0d4b286862b4e03fb4e60 Author: Ed Maste AuthorDate: 2023-06-09 15:19:42 +0000 Commit: Ed Maste CommitDate: 2023-07-24 13:14:57 +0000 Cirrus-CI: add a manually triggered aarch64-gcc12 task Sponsored by: The FreeBSD Foundation (cherry picked from commit 5ad6c907f99443ebbe9e152d4e68a18b7fa01fff) --- .cirrus.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.cirrus.yml b/.cirrus.yml index 57f27180e2c7..158aca04ca49 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -54,6 +54,14 @@ task: TARGET_ARCH: amd64 TOOLCHAIN: amd64-gcc12 TOOLCHAIN_PKG: ${TOOLCHAIN} + - name: aarch64-gcc12 World and kernel build and boot smoke test (manual) + only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' + trigger_type: manual + env: + TARGET: arm64 + TARGET_ARCH: aarch64 + TOOLCHAIN: aarch64-gcc12 + TOOLCHAIN_PKG: ${TOOLCHAIN} - name: amd64-gcc12 World and kernel build and boot smoke test (FreeBSD repo) only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src' env: From nobody Mon Jul 24 14:08:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8hp364JNz4mf1C; Mon, 24 Jul 2023 14:08: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 4R8hp357X2z4MN7; Mon, 24 Jul 2023 14:08:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690207691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BnIEghes3RAFQ6o10Bt4n7og7dpKEG/2pCnbucFXBUs=; b=gNYpkiLwsSK+mbk/y2RuqfD9CUdO18EVx+nzQ0sZfuA82V9wegpn1rKvRhQdWW3LkEyfZR vUYT1Uw6AvtjxVIad7kT2pFujhPUgXInwuS+eJpV4ct8/dlQpaOU4yUyzZEQSehz2Tnunl 4OtLuOy49UrDkouAriYnzYNeUTVODmVhKl7d/0JqWveBqsqrxOXYraSgVyRNkBbx/7Kash lCMpt5+P+Tw4MSeEHRE5n1XhLJAC3FGFJLx5DnTlduxdG9zmVWcOgLO2ovxWu+Lc7QB/ys vcDaJO2KJPcRZ9rfxdkkIjj6leBEET1TOAhg46uvS/DBQQxjdBA39ca180jZ+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690207691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BnIEghes3RAFQ6o10Bt4n7og7dpKEG/2pCnbucFXBUs=; b=BPFYVRJ1A691ntJSVI3Zio4DhlHzJBX7OrVI3QkCnFShpWs1mz0lFnsIXEMg8Df1bh13CB CwXMCbCiwfdcm1jy3w1xJstCjzx00UItRLHp2cjx4PzZblv8Idp/7ueotOAv4+ce0NonoY REExIf4+R4ZErE+032zuXf6NJzuLapmP+4N/2W1ZoPjXkFJvVUyAiyFNqfZZya3LHr27NP s+aAZITsa5MCeJtZyLbkmJv0xHWkQ3mDE3NmrToU67Z7CgLZ7Bxj7kOrXMuLaeWEqw4ElH Fg0HYXW24d3BDOLNAKsfRZvk1mFKPNGosTYw41xDkTt3nSzIdHJJx+ZoF6CLGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690207691; a=rsa-sha256; cv=none; b=qW1L374MpoVStlzdxN/tPUbKravHZdno/5qV71kkQNpYMq1jVvQ0jnMnSXBJld88R2PbA4 22ACOO9i70ku0vCODqqfdGv6nPlBF5PllsrKngCrkI4Guxz+vLf6KyCq0Rjc9lhxz+3J5f +H1i9C85KBWDVhU02JP+3snHJUHvD0VBhfkU1/cI4GhhSMFCz73B4zWtJRC3n4hH4Dvfs7 ljKS2IEN9ALA25BFeuvSts7ecLqYaTbLYeR7aPxkkeLUPxmT4CUQTCzc74VKAocXY94Xvy p+tFT1MyZaxum5ispTqxbErby9gQg9KVVgoJr1g4bYr/tMXTnx52yVE/BrsZUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8hp347TwzKw8; Mon, 24 Jul 2023 14:08: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 36OE8BhT014763; Mon, 24 Jul 2023 14:08:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OE8Bvl014762; Mon, 24 Jul 2023 14:08:11 GMT (envelope-from git) Date: Mon, 24 Jul 2023 14:08:11 GMT Message-Id: <202307241408.36OE8Bvl014762@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: 8557b8ba15b9 - stable/13 - Cirrus-CI: use llvm16 job by default and make llvm15 manual List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8557b8ba15b9d332000a17a73b752b6ec35d0903 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8557b8ba15b9d332000a17a73b752b6ec35d0903 commit 8557b8ba15b9d332000a17a73b752b6ec35d0903 Author: Ed Maste AuthorDate: 2023-06-22 23:20:34 +0000 Commit: Ed Maste CommitDate: 2023-07-24 14:06:57 +0000 Cirrus-CI: use llvm16 job by default and make llvm15 manual With commit e048f78b2143 (head) / 2e7b90a28f69 (stable/13) the default tool chain is Clang/LLVM 16, so follow along in the llvm pkg used by Cirrus-CI. Sponsored by: The FreeBSD Foundation (cherry picked from commit 171f1c1b4f0e9ec5b77a2dabdd4fcbf9baaa02df) --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 158aca04ca49..fb0149a5d91b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -17,14 +17,14 @@ env: task: matrix: - name: amd64-llvm15 World and kernel build and boot smoke test + only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' + trigger_type: manual env: TARGET: amd64 TARGET_ARCH: amd64 TOOLCHAIN: llvm15 TOOLCHAIN_PKG: ${TOOLCHAIN}-lite - name: amd64-llvm16 World and kernel build and boot smoke test - only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' - trigger_type: manual env: TARGET: amd64 TARGET_ARCH: amd64 From nobody Mon Jul 24 15:45:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8kyn2mYQz4nsr2; Mon, 24 Jul 2023 15:45: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 4R8kyn2LSpz3mMt; Mon, 24 Jul 2023 15:45:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690213553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ALhKg0fX319YvYU3ydqSBJexkffAABaNPm3xPKKTmYU=; b=GfixacA48aMvdnE2RaYs155FugK7aiqnSAIhPpjHjDJa8yppw2B418KnvXjZMSIQytbqQq 96Ezp+YUr5bFNNFAYB6xHMPt1ZQBPtFcRelgteOgQ6vmY/tZ4EhgbUydLwvBOf4yLA5i4z c7HR4uA3DL67PeKYyodpzan2uefiLoC5aN5ivgMjaqlme/yl636tlDvaoSeoe7BHKb0oM7 nFfYj5Dh5SmkeouZGVs79gWNgQH932wMixN1MTDIiJynwLZe2IL6U/TQgx8iYWwGqV2jBb xf0T+GVxpURA98WkYb/nOX1Usesw9uzj3suqxIhq1aNhSfZk/8NeYaNw7BBRug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690213553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ALhKg0fX319YvYU3ydqSBJexkffAABaNPm3xPKKTmYU=; b=pUvwbqqsQjdx3OGDQ3JILskN3rB90694pyezDVjx9PRtg1kNd2Ry0yLJMVymtlm+bBg5Zi 6Kq5VoKxAdEcXZCWLTPeQ9P78meuVg08gxBY7YvYCyxw5dwAhBzRkY9j5xcPpxhUrVpab1 w2DrtRpet8D6JBMOxJznqY6R3aXTOPHClXC+6cqShWKSegMmKZmjS1ukl61gkMhPZxXoVz 9vLv16dL0qV1zEAhyljRPDMfO/Bod6qV8pSaqxQXYWogVECeOTHqKozRkvhqLmzHwuby3T CNj6SZpAo0gP+Kinupgr8+sBRLGnS2yzWRSJCEQkjyiHcRZ5o9cnXeV5w3SYzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690213553; a=rsa-sha256; cv=none; b=EFN7Prb6aDvRmxjdXdGE+SfuE0ALBdM5xQZrePEs8rY4np1rdjFSYqjs9PbQThC57kEj2N qqD7AADq6e5gj+5HxjSrC9mhGun99SEbemh9OndgYgOO8591OgZ9BmFvCwvOCl1d9QIQ76 D7WiYmMojwF8IKjCRQkORCrY1+c7KlrTfJa1hidZM2Iu+mWetIE6XCP+pCJc5MLM263FwJ 8DtgpqPcVRaCW2Qbyeyri3+/RS3dEQ+AJ9lpcv3rH9xX5DRz0Y05JRMXfRtMwDwTr3kgdY fHEdh7B/ZY1aB2/cj9YqNFtrM/sGWGPlIGlxp3eI7zcuLgs33hz4QqiG8ReQTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8kyn1MD7zNZM; Mon, 24 Jul 2023 15:45: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 36OFjrVN079663; Mon, 24 Jul 2023 15:45:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OFjrmt079662; Mon, 24 Jul 2023 15:45:53 GMT (envelope-from git) Date: Mon, 24 Jul 2023 15:45:53 GMT Message-Id: <202307241545.36OFjrmt079662@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: 9c9a76dc6873 - main - mld: always commit state changes on leaving List-Id: Commit messages for all branches 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: 9c9a76dc6873427b14f6c84397dd60ea8e529d8d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9c9a76dc6873427b14f6c84397dd60ea8e529d8d commit 9c9a76dc6873427b14f6c84397dd60ea8e529d8d Author: Kristof Provost AuthorDate: 2023-07-20 07:41:45 +0000 Commit: Kristof Provost CommitDate: 2023-07-24 14:47:34 +0000 mld: always commit state changes on leaving Resolve a race condition where we'd lose the Solicited-node multicast group subscription if we assigned the same IPv6 address twice. PR: 233683 Reviewed by: ae MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D41124 --- sys/netinet6/mld6.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c index 63f4e33ac64d..82bb69588fa2 100644 --- a/sys/netinet6/mld6.c +++ b/sys/netinet6/mld6.c @@ -2164,13 +2164,10 @@ static void mld_final_leave(struct in6_multi *inm, struct mld_ifsoftc *mli) { struct epoch_tracker et; - int syncstates; #ifdef KTR char ip6tbuf[INET6_ADDRSTRLEN]; #endif - syncstates = 1; - CTR4(KTR_MLD, "%s: final leave %s on ifp %p(%s)", __func__, ip6_sprintf(ip6tbuf, &inm->in6m_addr), inm->in6m_ifp, if_name(inm->in6m_ifp)); @@ -2234,7 +2231,6 @@ mld_final_leave(struct in6_multi *inm, struct mld_ifsoftc *mli) inm->in6m_state = MLD_LEAVING_MEMBER; inm->in6m_sctimer = 1; V_state_change_timers_running6 = 1; - syncstates = 0; } break; } @@ -2246,15 +2242,13 @@ mld_final_leave(struct in6_multi *inm, struct mld_ifsoftc *mli) break; } - if (syncstates) { - in6m_commit(inm); - CTR3(KTR_MLD, "%s: T1 -> T0 for %s/%s", __func__, - ip6_sprintf(ip6tbuf, &inm->in6m_addr), - if_name(inm->in6m_ifp)); - inm->in6m_st[1].iss_fmode = MCAST_UNDEFINED; - CTR3(KTR_MLD, "%s: T1 now MCAST_UNDEFINED for %p/%s", - __func__, &inm->in6m_addr, if_name(inm->in6m_ifp)); - } + in6m_commit(inm); + CTR3(KTR_MLD, "%s: T1 -> T0 for %s/%s", __func__, + ip6_sprintf(ip6tbuf, &inm->in6m_addr), + if_name(inm->in6m_ifp)); + inm->in6m_st[1].iss_fmode = MCAST_UNDEFINED; + CTR3(KTR_MLD, "%s: T1 now MCAST_UNDEFINED for %p/%s", + __func__, &inm->in6m_addr, if_name(inm->in6m_ifp)); } /* From nobody Mon Jul 24 15:45:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8kyp4CLRz4nsrG; Mon, 24 Jul 2023 15:45: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 4R8kyp3MFWz3mV3; Mon, 24 Jul 2023 15:45:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690213554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V5iYGDEv8KIMJDEfAbRhMF8PrkfehS0zGCrDjk7c6Bk=; b=eEc8wXdHYx/3jSrVLbp9VjjoPqIn/mdfLZG44zB7uyObSYY0+FgwhNzPRECwof8nmtiKfe kzPMGjf/8rmFhoIfoHwcSNSh+/fDEEqfW5K2OE1VsASVpjvdbLDL8VAbPOoLLQUJO1DouO sOvm24CvFD1rc609NcvtxEsTQdYnKs9hPBPyckHUIQYO1geDJp/5sNYLNfe6sEixkEkigd Lnnon0eOw+1q25/8abs0owiuE2LVEz0eiJJa81RhkF9rIZ+GRRrqugx8hFElb59NGjTSch tHt/WnnWhswASHDyzQXGpXYSZVXXVAb4fmImYzcxrWYROVCw41a1gLX5FaM27w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690213554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V5iYGDEv8KIMJDEfAbRhMF8PrkfehS0zGCrDjk7c6Bk=; b=CKX6zEvyl2Y+ceWKY8/0ng2XIBZe6fOxrHRHy6E32ZgDzwY4U5toUO8IMDm7iogio8S1kx ZXQPOrD/oqphcIgxyzSs3kaCER1yVS/gsNoazZhB/gAK0JpwhvGtbGBqUYSd/aeO3i2l8T G7k3qLsmAtbrIwJZ7wzR3uNqjqip9xhANWmcHoKz15UEvhr38cp6nvm+HtPUhcf4LMb9qO ZRqVI399Np7ANitbSW25A5H7QL5hRZA+hPbe6NM2qCwgdrkhapk2Kyz11b01nKPQY1hxfn 40MIcO77vOWgO2bUP2CljpZKgYRSt95YZzJPcNVVhqrvoZ5GRb7EoOWzC8XKKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690213554; a=rsa-sha256; cv=none; b=Y0pRAFviEJxEDhn9Pq45mSW8SLn1I0wozbEXR5a9JlZef5dWQq+w+GvgmmuBizpVL/MbwQ VSBoD/o/LDSD+EsmRB2z0VVhbcBO6nIhH1R2m91sljKtIGCgipeE6ltro1gWVaPf68SxmG a8upz0CvAixkanZLOzKdszrWdQvsaaK4T/tsPa8un1Gzbd3v9Ir4al6PaxjaZIIljMv72u Hs2O1/BwM0AwpF/yER1zLQ/DjfYTQssWl2ZING7s+RYLbl+TjTkw6MWwtsortJwkvwMp3b oPVCHP5t5WxY4zFAMk+NXLoZXDUnyXoA3NdPLmr5NdTFpFGS3R9LLKiV0KE8lQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8kyp2GLjzNfp; Mon, 24 Jul 2023 15:45: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 36OFjs25079687; Mon, 24 Jul 2023 15:45:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OFjsH0079686; Mon, 24 Jul 2023 15:45:54 GMT (envelope-from git) Date: Mon, 24 Jul 2023 15:45:54 GMT Message-Id: <202307241545.36OFjsH0079686@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: b03012d0b600 - main - netinet6 tests: test for loss of Solicited-node multicast groups List-Id: Commit messages for all branches 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: b03012d0b600793d7501b4cc56757ec6150ec87f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b03012d0b600793d7501b4cc56757ec6150ec87f commit b03012d0b600793d7501b4cc56757ec6150ec87f Author: Kristof Provost AuthorDate: 2023-07-19 14:37:28 +0000 Commit: Kristof Provost CommitDate: 2023-07-24 14:47:50 +0000 netinet6 tests: test for loss of Solicited-node multicast groups The multicast code has an issue where it can lose the Solicited-node multicast group subscription if the same address is added twice. Test for this. PR: 233683 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D41123 --- tests/sys/netinet6/mld.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/sys/netinet6/mld.sh b/tests/sys/netinet6/mld.sh index 034d5945ae20..80b7117c3717 100755 --- a/tests/sys/netinet6/mld.sh +++ b/tests/sys/netinet6/mld.sh @@ -80,10 +80,50 @@ mldraw01_cleanup() { vnet_cleanup } +atf_test_case "pr233683" "cleanup" +pr233683_head() { + + atf_set descr 'Test for PR233683' + atf_set require.user root +} + +pr233683_body() { + j="mld:pr233683" + + vnet_init + + epair=$(vnet_mkepair) + + vnet_mkjail ${j}a ${epair}a + jexec ${j}a ifconfig ${epair}a inet6 2001:db8::1/64 up + sleep 5 + + jexec ${j}a ifconfig ${epair}a inet6 2001:db8::1/64 + + vnet_mkjail ${j}b ${epair}b + jexec ${j}b ifconfig ${epair}b inet6 2001:db8::2/64 up + + # Allow DAD to run + sleep 5 + + # Debug output. If the bug is present we'd expect to not see a + # membership for ff02::1:ff00:1 + jexec ${j}a ifmcstat -i ${epair}a + jexec ${j}a ifconfig ${epair}a + + atf_check -s exit:0 -o ignore \ + jexec ${j}b ping -6 -c 1 2001:db8::1 +} + +pr233683_cleanup() { + + vnet_cleanup +} atf_init_test_cases() { atf_add_test_case "mldraw01" + atf_add_test_case "pr233683" } # end From nobody Mon Jul 24 16:58:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZn42ymz4ndbr; Mon, 24 Jul 2023 16:58: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 4R8mZn3J80z4Fvd; Mon, 24 Jul 2023 16:58:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/DmWYJ5bdhRC0S7jUYGtYylIH5NH7uksI5J/EBIb6Sk=; b=uwJBnmDmR1fYG8KXHYFVxf9XMQlVy92apfj05ozQEcyUDlag9MlDQtZY+ZRM3NoCvH4tSw ZnyIsujSkYJ5r8uNU2rWAUWMjD3Zo8q/tZ51wp2HSCcmBymuAKuPkP46J3EACYKfjennQe ioGTmLiiNp6sBuxMXeEe5jA0aIo67UzZnHIUcB8+rnV1JBlnZKhNMLdlSQUzY/4YzX4I5k aw4RSvCsPL/X2QLvP5nx2MwUAycdbIAvwDyH8wQUBR0Cfimr26YMLCa1tfQJHLaG2HTY5f ur9i2tRcwiQf0l3NVpNX+TwPmY+EeKgd9teSVetmNnDRt4t0iOJvf4rawBetNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/DmWYJ5bdhRC0S7jUYGtYylIH5NH7uksI5J/EBIb6Sk=; b=af+bc8RW8Hf8+EOgLs2fL7m4XK0/WZEwMT21xMLNqyt15KTdkntUrSl6uBTGZfNlp7vfFJ bjEwiaAPxmlB1fkknQQLJvLviy2Nv2LwgXAcE4hlz0+Y7Ypo3hysOSFb0OToYYXQbo4Ve2 muh47c8g+qnuhEClMMjQo1IT2oQ8+zJ2T4KjcU8N9boiUNy6284eRRNjUZSdpCg4/WxAiU xAhL8kaZfxnHy8d50Ycia97R/k8IsGobUOwAf86DxoEkykxG/VsskGkgv823CiMeztqXqv Bbb0WWTVEMBBAydpAzZTmye+d+z6+525QPo349cYG4WBCikmo3YJscFw3QQF/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217921; a=rsa-sha256; cv=none; b=lssJ2T5j+4os5a00H17rKwdfKstQA3FsHs+5Z/BmZIIy6pDmRiFP4AKI1JTES1Ge2+Rid7 MRDnDa+mNdY46Gvn6a70nRHksNmE1otniKX1gtLSEYEGxTA7PP4B3vEMPW0YAFKYgXX2hi FvOrQdTYDIaFhjnKKD3pcZPQnS3F5O2yrHi8/Z+KxRXQsHa80tYy3uxRywMJ082+yWjjkq tSxfLoktPX3GPq8Uvcz21mjapYe76vJ9nc+n13jmeTmACKUool54CX3U19YgsLkonLznNE 6qrsi4PoLyg+b6RTFUmcb5GZojIFS2PLJDgeLIcbzU3AA7UuCkzj4dRiNrN8iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZn2GHKzQMC; Mon, 24 Jul 2023 16:58: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 36OGwfb5096596; Mon, 24 Jul 2023 16:58:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwfUf096595; Mon, 24 Jul 2023 16:58:41 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:41 GMT Message-Id: <202307241658.36OGwfUf096595@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: e0e5127ff429 - main - Remove left over includes from armv4/v5 List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: e0e5127ff429aaba845e5151decd940fdbe86886 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e0e5127ff429aaba845e5151decd940fdbe86886 commit e0e5127ff429aaba845e5151decd940fdbe86886 Author: Andrew Turner AuthorDate: 2023-07-24 16:58:13 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:13 +0000 Remove left over includes from armv4/v5 These includes were added for armv4 and armv5 support. Remove them as this has been removed from the tree. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41133 --- sys/arm/include/atomic.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h index f5d98d920ebd..f166b0091e90 100644 --- a/sys/arm/include/atomic.h +++ b/sys/arm/include/atomic.h @@ -43,12 +43,6 @@ #include -#include - -#ifndef _KERNEL -#include -#endif - #include static __inline u_long From nobody Mon Jul 24 16:58:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZq1Qp1z4ndPv; Mon, 24 Jul 2023 16:58: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 4R8mZp3s5Xz4G88; Mon, 24 Jul 2023 16:58:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eumFhDxzLeIK4ajGHvQgL+aPoY9ZkfAk4MNG2Z9aR+I=; b=L3g7Imo4DQjsrdiVOzveMyA5M6LseifnNRdZJ4jGK1aq8j1ke85LV+TNH9kMy4WTTgQeOI CphcXTmvtKRRZ4OJZf+TBPhTPYaEuG3TPFG3EX20FgKJjnaynJ+4W4cW4cGwTYi1et3CIa 6Qp3SD+76B148YOO0uoW8SBf0xqoxmZPbIUGWFkAWsJGLI1JWqdwa3yI1Nsy4r+X+2HweH +p5FekyKxSePEcBsPnRCiYsNWyKR81OtElBhYRKUF0yOAmgOminFT6exCZx8slq+6TkR5e 28D+qmbyz0FPiamg1FxafIdUr3DrD6kfAnJaPGFhZTZzR7vMK3KSIcl4yLC+PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eumFhDxzLeIK4ajGHvQgL+aPoY9ZkfAk4MNG2Z9aR+I=; b=L2oRkXNdpwDc72hLuxPIEHcSJecVjDVtZEez7QJvkp3RPuCV4eQz41fCA5qf0MaCXzsRNU q4J/OiJ/+ualvOKTBFecLkCe4uN/HCnMPTjOaaMW4rmey1uPXIdZu6ypj0GhRhVfdRbVBR APlVKNg54h9zVZV+94Eg+ICixY7PGTxfORv/sJ9Xn5uUcgNKLjvkU78/faBkOLIPfpORWm EY1OuRWk1IpEGtbhbOPmJTl0rqfl8R38lTAeVy9tiv9aU7MAKF4ASui0rYjGZSTOSBzqQh Yk/Ts4InJe3OfSaWXCWsW/Z9xCE0AYYwDY3HkSrSVwzKmVaF/T74KfoRJtI+xQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217922; a=rsa-sha256; cv=none; b=jVXvmV88TgSlvfCIxUzmHPwApxBcAnAAI5R3/n3CO8xrcxQW/vDAveYLC0NAepWwbLevZl O1lBH/WDa7Vsgqu7ZbmM6JCufGYY/7xOUlVpxVIuIRgoTgUpD+sk0B1bXZYxjMoi+QzIXR vhjpdl53JznbjB7oLtEvHTX7t2v9G0Dii1kQeLbANMXsWX6N5wqSFBJyigy0+u1Ln//6aF ViUkau7p/8JLiuSs7kG5aiu7tuz86GLO0yWmBE/WZD93qAM60YE/EVWml1OYbPLgzXrWTO viv+SZwSEJhXJ3Yo1e0BxVNXj03/j1NsaxLQrkGtyhKZvbCSgeP3aJ553cCahA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZp2hTDzQZ9; Mon, 24 Jul 2023 16:58: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 36OGwggh096615; Mon, 24 Jul 2023 16:58:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwga6096614; Mon, 24 Jul 2023 16:58:42 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:42 GMT Message-Id: <202307241658.36OGwga6096614@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: 554cdf8f5750 - main - arm: Explain why _atomic_subword.h is needed List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 554cdf8f575074bb36eb624d5fe76897d9707b70 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=554cdf8f575074bb36eb624d5fe76897d9707b70 commit 554cdf8f575074bb36eb624d5fe76897d9707b70 Author: Andrew Turner AuthorDate: 2023-07-24 16:58:13 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:13 +0000 arm: Explain why _atomic_subword.h is needed Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41134 --- sys/arm/include/atomic.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h index f166b0091e90..d60b5dbbf7e0 100644 --- a/sys/arm/include/atomic.h +++ b/sys/arm/include/atomic.h @@ -93,6 +93,12 @@ atomic_swap_long(volatile u_long *p, u_long v) #define atomic_store_rel_int atomic_store_rel_32 #define atomic_swap_int atomic_swap_32 +/* + * For: + * - atomic_load_acq_8 + * - atomic_load_acq_16 + * - atomic_testandset_acq_long + */ #include #endif /* _MACHINE_ATOMIC_H_ */ From nobody Mon Jul 24 16:58:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZq5W3yz4ndqZ; Mon, 24 Jul 2023 16:58: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 4R8mZq4nFYz4G2G; Mon, 24 Jul 2023 16:58:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m+sO5ETWyVk9xINF4YH7ashT6fR+XCqaEcnhddjrin4=; b=tTQNf11eysNGRmcfggIwKI2yPoCZPTPqP2y8Ms5n82Zj2cT8QTqMBmFL6vsAR6hTv7tJ/o bNPF2OxSqtEKviKVZn8BvIG3K9qa0TziTay+1+4Tf98ojY8vOPeCdoEKgiiDDYC4Zg57VN wotG2RoRVION9cch0O+Vx7vtxy2grCVDrvMbdsRijF9yZDU73X2Z/adqnXERpuMZipSEAA MrI9BAMMvKNGt5qf27SyloNGIgcierh5t65StoWMswPf2OsVYkXNKUffhT57Dip5jxZPtW M4NL8GK00Tn7NdOnDl+qaR1bGIE7uPlt25fRNpZ9uwMC0vvdjTtc4RNuIALqoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m+sO5ETWyVk9xINF4YH7ashT6fR+XCqaEcnhddjrin4=; b=YA867Cwra1PJUQmoQ7NZq3ebJUuoGgXYf5MMBIGTm7bMAWVCwkDO59vuBOyjwkmgDsEyRU P3T1/JeETBJRaxuwtqqFfFI1PqT/4LgZa0quSlMhonwkABUde6EtYH51IiUqJXckiBNV9G Ov52Sk0gjKp+yqTpWqVPHnhAzGtp8gkQ/uC7aQpxJ/NjmzbXOk95UtFXO+fRCC/c98x4di qZWEgX9qUU7+WsEO6jNn6NyTK+vfEqFkOyDW/deYXd0OYzZY9DkpfPODhPM6LH50wW7aiy qSmoA6NggAIYgGhtPEvvc5C76R+wlOSHJOje3uIye7H5ybyazS365WXvU9jIRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217923; a=rsa-sha256; cv=none; b=TJAUcW/Vvyhkvjmo2yI5NlEEb/Le8ZpIQgcxtDlAic7qD+qwgl6KdNPn2rE7cYmwiegFGv Vf8Zm6VjYDmmd+eYgM+5Q4Z5qBmPL8qo7EsbQiXzijK9PUiJrEso+rBHGgCaptOGFcXEsG LjgithV9qTKxfIlF2JJY8zOzSU3XH1kxwiObgpqzCdjWO+6MPHeh9HtknQvIfUrBX5B6ap 8dd54KwGA6ch82K7fQUi4iBJ1REyLiq6VYWFqhHYhWY0XKVxkLiTuBcCmwN72duyYIjrxu pFEgao5+Xb2yqdUvnogbKrB3BJZve4XRXbPj3sy+ub0jDtkb3ve9oTHhwyvs7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZq3gsJzQZB; Mon, 24 Jul 2023 16:58: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 36OGwhsh096634; Mon, 24 Jul 2023 16:58:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwhaW096633; Mon, 24 Jul 2023 16:58:43 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:43 GMT Message-Id: <202307241658.36OGwhaW096633@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: 04b153293554 - main - arm: Move contents of atomic-v6.h into atomic.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04b153293554e0b4888a14cefb5c2942f93f63f3 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=04b153293554e0b4888a14cefb5c2942f93f63f3 commit 04b153293554e0b4888a14cefb5c2942f93f63f3 Author: Andrew Turner AuthorDate: 2023-07-24 16:58:13 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:13 +0000 arm: Move contents of atomic-v6.h into atomic.h Previously we had an armv4/v5 and armv6/v7 implementation of the atomic operations. As we have removed armv4/v5 support we can now merge the armv6/v7 code into atomic.h Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41135 --- sys/arm/include/atomic-v6.h | 1050 ------------------------------------------- sys/arm/include/atomic.h | 1004 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1003 insertions(+), 1051 deletions(-) diff --git a/sys/arm/include/atomic-v6.h b/sys/arm/include/atomic-v6.h deleted file mode 100644 index b81ad6447ef7..000000000000 --- a/sys/arm/include/atomic-v6.h +++ /dev/null @@ -1,1050 +0,0 @@ -/* $NetBSD: atomic.h,v 1.1 2002/10/19 12:22:34 bsh Exp $ */ - -/*- - * Copyright (C) 2003-2004 Olivier Houchard - * Copyright (C) 1994-1997 Mark Brinicombe - * Copyright (C) 1994 Brini - * All rights reserved. - * - * This code is derived from software written for Brini by Mark Brinicombe - * - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Brini. - * 4. The name of Brini may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_ATOMIC_V6_H_ -#define _MACHINE_ATOMIC_V6_H_ - -#ifndef _MACHINE_ATOMIC_H_ -#error Do not include this file directly, use -#endif - -#if __ARM_ARCH >= 7 -#define isb() __asm __volatile("isb" : : : "memory") -#define dsb() __asm __volatile("dsb" : : : "memory") -#define dmb() __asm __volatile("dmb" : : : "memory") -#else -#define isb() __asm __volatile("mcr p15, 0, %0, c7, c5, 4" : : "r" (0) : "memory") -#define dsb() __asm __volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (0) : "memory") -#define dmb() __asm __volatile("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory") -#endif - -#define mb() dmb() -#define wmb() dmb() -#define rmb() dmb() - -#define ARM_HAVE_ATOMIC64 - -#define ATOMIC_ACQ_REL_LONG(NAME) \ -static __inline void \ -atomic_##NAME##_acq_long(__volatile u_long *p, u_long v) \ -{ \ - atomic_##NAME##_long(p, v); \ - dmb(); \ -} \ - \ -static __inline void \ -atomic_##NAME##_rel_long(__volatile u_long *p, u_long v) \ -{ \ - dmb(); \ - atomic_##NAME##_long(p, v); \ -} - -#define ATOMIC_ACQ_REL(NAME, WIDTH) \ -static __inline void \ -atomic_##NAME##_acq_##WIDTH(__volatile uint##WIDTH##_t *p, uint##WIDTH##_t v)\ -{ \ - atomic_##NAME##_##WIDTH(p, v); \ - dmb(); \ -} \ - \ -static __inline void \ -atomic_##NAME##_rel_##WIDTH(__volatile uint##WIDTH##_t *p, uint##WIDTH##_t v)\ -{ \ - dmb(); \ - atomic_##NAME##_##WIDTH(p, v); \ -} - -static __inline void -atomic_add_32(volatile uint32_t *p, uint32_t val) -{ - uint32_t tmp = 0, tmp2 = 0; - - __asm __volatile( - "1: ldrex %0, [%2] \n" - " add %0, %0, %3 \n" - " strex %1, %0, [%2] \n" - " cmp %1, #0 \n" - " it ne \n" - " bne 1b \n" - : "=&r" (tmp), "+r" (tmp2) - ,"+r" (p), "+r" (val) : : "cc", "memory"); -} - -static __inline void -atomic_add_64(volatile uint64_t *p, uint64_t val) -{ - uint64_t tmp; - uint32_t exflag; - - __asm __volatile( - "1: \n" - " ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" - " adds %Q[tmp], %Q[val] \n" - " adc %R[tmp], %R[tmp], %R[val] \n" - " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [exf] "=&r" (exflag), - [tmp] "=&r" (tmp) - : [ptr] "r" (p), - [val] "r" (val) - : "cc", "memory"); -} - -static __inline void -atomic_add_long(volatile u_long *p, u_long val) -{ - - atomic_add_32((volatile uint32_t *)p, val); -} - -ATOMIC_ACQ_REL(add, 32) -ATOMIC_ACQ_REL(add, 64) -ATOMIC_ACQ_REL_LONG(add) - -static __inline void -atomic_clear_32(volatile uint32_t *address, uint32_t setmask) -{ - uint32_t tmp = 0, tmp2 = 0; - - __asm __volatile( - "1: ldrex %0, [%2] \n" - " bic %0, %0, %3 \n" - " strex %1, %0, [%2] \n" - " cmp %1, #0 \n" - " it ne \n" - " bne 1b \n" - : "=&r" (tmp), "+r" (tmp2), "+r" (address), "+r" (setmask) - : : "cc", "memory"); -} - -static __inline void -atomic_clear_64(volatile uint64_t *p, uint64_t val) -{ - uint64_t tmp; - uint32_t exflag; - - __asm __volatile( - "1: \n" - " ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" - " bic %Q[tmp], %Q[val] \n" - " bic %R[tmp], %R[val] \n" - " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [exf] "=&r" (exflag), - [tmp] "=&r" (tmp) - : [ptr] "r" (p), - [val] "r" (val) - : "cc", "memory"); -} - -static __inline void -atomic_clear_long(volatile u_long *address, u_long setmask) -{ - - atomic_clear_32((volatile uint32_t *)address, setmask); -} - -ATOMIC_ACQ_REL(clear, 32) -ATOMIC_ACQ_REL(clear, 64) -ATOMIC_ACQ_REL_LONG(clear) - -#define ATOMIC_FCMPSET_CODE(RET, TYPE, SUF) \ - { \ - TYPE tmp; \ - \ - __asm __volatile( \ - "1: ldrex" SUF " %[tmp], [%[ptr]] \n" \ - " ldr" SUF " %[ret], [%[oldv]] \n" \ - " teq %[tmp], %[ret] \n" \ - " ittee ne \n" \ - " str" SUF "ne %[tmp], [%[oldv]] \n" \ - " movne %[ret], #0 \n" \ - " strex" SUF "eq %[ret], %[newv], [%[ptr]] \n" \ - " eorseq %[ret], #1 \n" \ - " beq 1b \n" \ - : [ret] "=&r" (RET), \ - [tmp] "=&r" (tmp) \ - : [ptr] "r" (_ptr), \ - [oldv] "r" (_old), \ - [newv] "r" (_new) \ - : "cc", "memory"); \ - } - -#define ATOMIC_FCMPSET_CODE64(RET) \ - { \ - uint64_t cmp, tmp; \ - \ - __asm __volatile( \ - "1: ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" \ - " ldrd %Q[cmp], %R[cmp], [%[oldv]] \n" \ - " teq %Q[tmp], %Q[cmp] \n" \ - " it eq \n" \ - " teqeq %R[tmp], %R[cmp] \n" \ - " ittee ne \n" \ - " movne %[ret], #0 \n" \ - " strdne %[cmp], [%[oldv]] \n" \ - " strexdeq %[ret], %Q[newv], %R[newv], [%[ptr]] \n" \ - " eorseq %[ret], #1 \n" \ - " beq 1b \n" \ - : [ret] "=&r" (RET), \ - [cmp] "=&r" (cmp), \ - [tmp] "=&r" (tmp) \ - : [ptr] "r" (_ptr), \ - [oldv] "r" (_old), \ - [newv] "r" (_new) \ - : "cc", "memory"); \ - } - -static __inline int -atomic_fcmpset_8(volatile uint8_t *_ptr, uint8_t *_old, uint8_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, uint8_t, "b"); - return (ret); -} -#define atomic_fcmpset_8 atomic_fcmpset_8 - -static __inline int -atomic_fcmpset_acq_8(volatile uint8_t *_ptr, uint8_t *_old, uint8_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, uint8_t, "b"); - dmb(); - return (ret); -} - -static __inline int -atomic_fcmpset_rel_8(volatile uint8_t *_ptr, uint8_t *_old, uint8_t _new) -{ - int ret; - - dmb(); - ATOMIC_FCMPSET_CODE(ret, uint8_t, "b"); - return (ret); -} - -static __inline int -atomic_fcmpset_16(volatile uint16_t *_ptr, uint16_t *_old, uint16_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, uint16_t, "h"); - return (ret); -} -#define atomic_fcmpset_16 atomic_fcmpset_16 - -static __inline int -atomic_fcmpset_acq_16(volatile uint16_t *_ptr, uint16_t *_old, uint16_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, uint16_t, "h"); - dmb(); - return (ret); -} - -static __inline int -atomic_fcmpset_rel_16(volatile uint16_t *_ptr, uint16_t *_old, uint16_t _new) -{ - int ret; - - dmb(); - ATOMIC_FCMPSET_CODE(ret, uint16_t, "h"); - return (ret); -} - -static __inline int -atomic_fcmpset_32(volatile uint32_t *_ptr, uint32_t *_old, uint32_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, uint32_t, ""); - return (ret); -} - -static __inline int -atomic_fcmpset_acq_32(volatile uint32_t *_ptr, uint32_t *_old, uint32_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, uint32_t, ""); - dmb(); - return (ret); -} - -static __inline int -atomic_fcmpset_rel_32(volatile uint32_t *_ptr, uint32_t *_old, uint32_t _new) -{ - int ret; - - dmb(); - ATOMIC_FCMPSET_CODE(ret, uint32_t, ""); - return (ret); -} - -static __inline int -atomic_fcmpset_long(volatile u_long *_ptr, u_long *_old, u_long _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, u_long, ""); - return (ret); -} - -static __inline int -atomic_fcmpset_acq_long(volatile u_long *_ptr, u_long *_old, u_long _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE(ret, u_long, ""); - dmb(); - return (ret); -} - -static __inline int -atomic_fcmpset_rel_long(volatile u_long *_ptr, u_long *_old, u_long _new) -{ - int ret; - - dmb(); - ATOMIC_FCMPSET_CODE(ret, u_long, ""); - return (ret); -} - -static __inline int -atomic_fcmpset_64(volatile uint64_t *_ptr, uint64_t *_old, uint64_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE64(ret); - return (ret); -} - -static __inline int -atomic_fcmpset_acq_64(volatile uint64_t *_ptr, uint64_t *_old, uint64_t _new) -{ - int ret; - - ATOMIC_FCMPSET_CODE64(ret); - dmb(); - return (ret); -} - -static __inline int -atomic_fcmpset_rel_64(volatile uint64_t *_ptr, uint64_t *_old, uint64_t _new) -{ - int ret; - - dmb(); - ATOMIC_FCMPSET_CODE64(ret); - return (ret); -} - -#define ATOMIC_CMPSET_CODE(RET, SUF) \ - { \ - __asm __volatile( \ - "1: ldrex" SUF " %[ret], [%[ptr]] \n" \ - " teq %[ret], %[oldv] \n" \ - " itee ne \n" \ - " movne %[ret], #0 \n" \ - " strex" SUF "eq %[ret], %[newv], [%[ptr]] \n" \ - " eorseq %[ret], #1 \n" \ - " beq 1b \n" \ - : [ret] "=&r" (RET) \ - : [ptr] "r" (_ptr), \ - [oldv] "r" (_old), \ - [newv] "r" (_new) \ - : "cc", "memory"); \ - } - -#define ATOMIC_CMPSET_CODE64(RET) \ - { \ - uint64_t tmp; \ - \ - __asm __volatile( \ - "1: ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" \ - " teq %Q[tmp], %Q[oldv] \n" \ - " it eq \n" \ - " teqeq %R[tmp], %R[oldv] \n" \ - " itee ne \n" \ - " movne %[ret], #0 \n" \ - " strexdeq %[ret], %Q[newv], %R[newv], [%[ptr]] \n" \ - " eorseq %[ret], #1 \n" \ - " beq 1b \n" \ - : [ret] "=&r" (RET), \ - [tmp] "=&r" (tmp) \ - : [ptr] "r" (_ptr), \ - [oldv] "r" (_old), \ - [newv] "r" (_new) \ - : "cc", "memory"); \ - } - -static __inline int -atomic_cmpset_8(volatile uint8_t *_ptr, uint8_t _old, uint8_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, "b"); - return (ret); -} -#define atomic_cmpset_8 atomic_cmpset_8 - -static __inline int -atomic_cmpset_acq_8(volatile uint8_t *_ptr, uint8_t _old, uint8_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, "b"); - dmb(); - return (ret); -} - -static __inline int -atomic_cmpset_rel_8(volatile uint8_t *_ptr, uint8_t _old, uint8_t _new) -{ - int ret; - - dmb(); - ATOMIC_CMPSET_CODE(ret, "b"); - return (ret); -} - -static __inline int -atomic_cmpset_16(volatile uint16_t *_ptr, uint16_t _old, uint16_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, "h"); - return (ret); -} -#define atomic_cmpset_16 atomic_cmpset_16 - -static __inline int -atomic_cmpset_acq_16(volatile uint16_t *_ptr, uint16_t _old, uint16_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, "h"); - dmb(); - return (ret); -} - -static __inline int -atomic_cmpset_rel_16(volatile uint16_t *_ptr, uint16_t _old, uint16_t _new) -{ - int ret; - - dmb(); - ATOMIC_CMPSET_CODE(ret, "h"); - return (ret); -} - -static __inline int -atomic_cmpset_32(volatile uint32_t *_ptr, uint32_t _old, uint32_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, ""); - return (ret); -} - -static __inline int -atomic_cmpset_acq_32(volatile uint32_t *_ptr, uint32_t _old, uint32_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, ""); - dmb(); - return (ret); -} - -static __inline int -atomic_cmpset_rel_32(volatile uint32_t *_ptr, uint32_t _old, uint32_t _new) -{ - int ret; - - dmb(); - ATOMIC_CMPSET_CODE(ret, ""); - return (ret); -} - -static __inline int -atomic_cmpset_long(volatile u_long *_ptr, u_long _old, u_long _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, ""); - return (ret); -} - -static __inline int -atomic_cmpset_acq_long(volatile u_long *_ptr, u_long _old, u_long _new) -{ - int ret; - - ATOMIC_CMPSET_CODE(ret, ""); - dmb(); - return (ret); -} - -static __inline int -atomic_cmpset_rel_long(volatile u_long *_ptr, u_long _old, u_long _new) -{ - int ret; - - dmb(); - ATOMIC_CMPSET_CODE(ret, ""); - return (ret); -} - -static __inline int -atomic_cmpset_64(volatile uint64_t *_ptr, uint64_t _old, uint64_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE64(ret); - return (ret); -} - -static __inline int -atomic_cmpset_acq_64(volatile uint64_t *_ptr, uint64_t _old, uint64_t _new) -{ - int ret; - - ATOMIC_CMPSET_CODE64(ret); - dmb(); - return (ret); -} - -static __inline int -atomic_cmpset_rel_64(volatile uint64_t *_ptr, uint64_t _old, uint64_t _new) -{ - int ret; - - dmb(); - ATOMIC_CMPSET_CODE64(ret); - return (ret); -} - -static __inline uint32_t -atomic_fetchadd_32(volatile uint32_t *p, uint32_t val) -{ - uint32_t tmp = 0, tmp2 = 0, ret = 0; - - __asm __volatile( - "1: ldrex %0, [%3] \n" - " add %1, %0, %4 \n" - " strex %2, %1, [%3] \n" - " cmp %2, #0 \n" - " it ne \n" - " bne 1b \n" - : "+r" (ret), "=&r" (tmp), "+r" (tmp2), "+r" (p), "+r" (val) - : : "cc", "memory"); - return (ret); -} - -static __inline uint64_t -atomic_fetchadd_64(volatile uint64_t *p, uint64_t val) -{ - uint64_t ret, tmp; - uint32_t exflag; - - __asm __volatile( - "1: \n" - " ldrexd %Q[ret], %R[ret], [%[ptr]] \n" - " adds %Q[tmp], %Q[ret], %Q[val] \n" - " adc %R[tmp], %R[ret], %R[val] \n" - " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [ret] "=&r" (ret), - [exf] "=&r" (exflag), - [tmp] "=&r" (tmp) - : [ptr] "r" (p), - [val] "r" (val) - : "cc", "memory"); - return (ret); -} - -static __inline u_long -atomic_fetchadd_long(volatile u_long *p, u_long val) -{ - - return (atomic_fetchadd_32((volatile uint32_t *)p, val)); -} - -static __inline uint32_t -atomic_load_acq_32(volatile uint32_t *p) -{ - uint32_t v; - - v = *p; - dmb(); - return (v); -} - -static __inline uint64_t -atomic_load_64(volatile uint64_t *p) -{ - uint64_t ret; - - /* - * The only way to atomically load 64 bits is with LDREXD which puts the - * exclusive monitor into the exclusive state, so reset it to open state - * with CLREX because we don't actually need to store anything. - */ - __asm __volatile( - "ldrexd %Q[ret], %R[ret], [%[ptr]] \n" - "clrex \n" - : [ret] "=&r" (ret) - : [ptr] "r" (p) - : "cc", "memory"); - return (ret); -} - -static __inline uint64_t -atomic_load_acq_64(volatile uint64_t *p) -{ - uint64_t ret; - - ret = atomic_load_64(p); - dmb(); - return (ret); -} - -static __inline u_long -atomic_load_acq_long(volatile u_long *p) -{ - u_long v; - - v = *p; - dmb(); - return (v); -} - -static __inline uint32_t -atomic_readandclear_32(volatile uint32_t *p) -{ - uint32_t ret, tmp = 0, tmp2 = 0; - - __asm __volatile( - "1: ldrex %0, [%3] \n" - " mov %1, #0 \n" - " strex %2, %1, [%3] \n" - " cmp %2, #0 \n" - " it ne \n" - " bne 1b \n" - : "=r" (ret), "=&r" (tmp), "+r" (tmp2), "+r" (p) - : : "cc", "memory"); - return (ret); -} - -static __inline uint64_t -atomic_readandclear_64(volatile uint64_t *p) -{ - uint64_t ret, tmp; - uint32_t exflag; - - __asm __volatile( - "1: \n" - " ldrexd %Q[ret], %R[ret], [%[ptr]] \n" - " mov %Q[tmp], #0 \n" - " mov %R[tmp], #0 \n" - " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [ret] "=&r" (ret), - [exf] "=&r" (exflag), - [tmp] "=&r" (tmp) - : [ptr] "r" (p) - : "cc", "memory"); - return (ret); -} - -static __inline u_long -atomic_readandclear_long(volatile u_long *p) -{ - - return (atomic_readandclear_32((volatile uint32_t *)p)); -} - -static __inline void -atomic_set_32(volatile uint32_t *address, uint32_t setmask) -{ - uint32_t tmp = 0, tmp2 = 0; - - __asm __volatile( - "1: ldrex %0, [%2] \n" - " orr %0, %0, %3 \n" - " strex %1, %0, [%2] \n" - " cmp %1, #0 \n" - " it ne \n" - " bne 1b \n" - : "=&r" (tmp), "+r" (tmp2), "+r" (address), "+r" (setmask) - : : "cc", "memory"); -} - -static __inline void -atomic_set_64(volatile uint64_t *p, uint64_t val) -{ - uint64_t tmp; - uint32_t exflag; - - __asm __volatile( - "1: \n" - " ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" - " orr %Q[tmp], %Q[val] \n" - " orr %R[tmp], %R[val] \n" - " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [exf] "=&r" (exflag), - [tmp] "=&r" (tmp) - : [ptr] "r" (p), - [val] "r" (val) - : "cc", "memory"); -} - -static __inline void -atomic_set_long(volatile u_long *address, u_long setmask) -{ - - atomic_set_32((volatile uint32_t *)address, setmask); -} - -ATOMIC_ACQ_REL(set, 32) -ATOMIC_ACQ_REL(set, 64) -ATOMIC_ACQ_REL_LONG(set) - -static __inline void -atomic_subtract_32(volatile uint32_t *p, uint32_t val) -{ - uint32_t tmp = 0, tmp2 = 0; - - __asm __volatile( - "1: ldrex %0, [%2] \n" - " sub %0, %0, %3 \n" - " strex %1, %0, [%2] \n" - " cmp %1, #0 \n" - " it ne \n" - " bne 1b \n" - : "=&r" (tmp), "+r" (tmp2), "+r" (p), "+r" (val) - : : "cc", "memory"); -} - -static __inline void -atomic_subtract_64(volatile uint64_t *p, uint64_t val) -{ - uint64_t tmp; - uint32_t exflag; - - __asm __volatile( - "1: \n" - " ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" - " subs %Q[tmp], %Q[val] \n" - " sbc %R[tmp], %R[tmp], %R[val] \n" - " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [exf] "=&r" (exflag), - [tmp] "=&r" (tmp) - : [ptr] "r" (p), - [val] "r" (val) - : "cc", "memory"); -} - -static __inline void -atomic_subtract_long(volatile u_long *p, u_long val) -{ - - atomic_subtract_32((volatile uint32_t *)p, val); -} - -ATOMIC_ACQ_REL(subtract, 32) -ATOMIC_ACQ_REL(subtract, 64) -ATOMIC_ACQ_REL_LONG(subtract) - -static __inline void -atomic_store_64(volatile uint64_t *p, uint64_t val) -{ - uint64_t tmp; - uint32_t exflag; - - /* - * The only way to atomically store 64 bits is with STREXD, which will - * succeed only if paired up with a preceeding LDREXD using the same - * address, so we read and discard the existing value before storing. - */ - __asm __volatile( - "1: \n" - " ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" - " strexd %[exf], %Q[val], %R[val], [%[ptr]] \n" - " teq %[exf], #0 \n" - " it ne \n" - " bne 1b \n" - : [tmp] "=&r" (tmp), - [exf] "=&r" (exflag) - : [ptr] "r" (p), - [val] "r" (val) - : "cc", "memory"); -} - -static __inline void -atomic_store_rel_32(volatile uint32_t *p, uint32_t v) -{ - - dmb(); - *p = v; -} - -static __inline void -atomic_store_rel_64(volatile uint64_t *p, uint64_t val) -{ - - dmb(); - atomic_store_64(p, val); -} - -static __inline void -atomic_store_rel_long(volatile u_long *p, u_long v) -{ - - dmb(); - *p = v; -} - -static __inline int -atomic_testandclear_32(volatile uint32_t *ptr, u_int bit) -{ - int newv, oldv, result; - - __asm __volatile( - " mov ip, #1 \n" - " lsl ip, ip, %[bit] \n" - /* Done with %[bit] as input, reuse below as output. */ - "1: \n" - " ldrex %[oldv], [%[ptr]] \n" - " bic %[newv], %[oldv], ip \n" - " strex %[bit], %[newv], [%[ptr]] \n" - " teq %[bit], #0 \n" - " it ne \n" - " bne 1b \n" - " ands %[bit], %[oldv], ip \n" - " it ne \n" - " movne %[bit], #1 \n" - : [bit] "=&r" (result), - [oldv] "=&r" (oldv), - [newv] "=&r" (newv) - : [ptr] "r" (ptr), - "[bit]" (bit & 0x1f) - : "cc", "ip", "memory"); - - return (result); -} - -static __inline int -atomic_testandclear_int(volatile u_int *p, u_int v) -{ - - return (atomic_testandclear_32((volatile uint32_t *)p, v)); -} - -static __inline int -atomic_testandclear_long(volatile u_long *p, u_int v) -{ - - return (atomic_testandclear_32((volatile uint32_t *)p, v)); -} -#define atomic_testandclear_long atomic_testandclear_long - - -static __inline int -atomic_testandclear_64(volatile uint64_t *p, u_int v) -{ - volatile uint32_t *p32; - - p32 = (volatile uint32_t *)p; - /* - * Assume little-endian, - * atomic_testandclear_32() uses only last 5 bits of v - */ - if ((v & 0x20) != 0) - p32++; - return (atomic_testandclear_32(p32, v)); -} - -static __inline int -atomic_testandset_32(volatile uint32_t *ptr, u_int bit) -{ - int newv, oldv, result; - - __asm __volatile( - " mov ip, #1 \n" - " lsl ip, ip, %[bit] \n" - /* Done with %[bit] as input, reuse below as output. */ - "1: \n" - " ldrex %[oldv], [%[ptr]] \n" - " orr %[newv], %[oldv], ip \n" - " strex %[bit], %[newv], [%[ptr]] \n" - " teq %[bit], #0 \n" - " it ne \n" - " bne 1b \n" - " ands %[bit], %[oldv], ip \n" - " it ne \n" - " movne %[bit], #1 \n" - : [bit] "=&r" (result), - [oldv] "=&r" (oldv), - [newv] "=&r" (newv) - : [ptr] "r" (ptr), - "[bit]" (bit & 0x1f) - : "cc", "ip", "memory"); - - return (result); -} - -static __inline int -atomic_testandset_int(volatile u_int *p, u_int v) -{ - - return (atomic_testandset_32((volatile uint32_t *)p, v)); -} - -static __inline int *** 1115 LINES SKIPPED *** From nobody Mon Jul 24 16:58:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZr5rXTz4ndkP; Mon, 24 Jul 2023 16:58: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 4R8mZr5F0zz4Fwm; Mon, 24 Jul 2023 16:58:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aIkfIEqz2tT6tlTJ+eV46Lr3U7qw5LjZFLSra+kj0CU=; b=VBg00iVot3PIQsWzqvOZMR/NMXcDZJwN3+Qrb1jypU3B8SCA1n4h9Q5nbcr3ZqaUsZVXZe dA+8ePPPsXp4qOfrK6QeJEJvzKLvveGzUIz8kLySo1plcSTqQcPvt8Pq8SYsYhc1+LEf7d bczsEJqwetazWNW8aHlb76hFhMFu7hCLLYhj87wqaJWBpRvIITdjtB3wCOG+GHJGZ0TA45 iyuxDVQTEVqsVl1oXcwP8z5iZkv1s93MLNmdFqTBZPPnDH6iq3ktorJfJgxMMCD6kTbdWY D1/UxnCa5b+4506GSeQjQIgAi12NefuS9IBYGNi2HsXvyW+5eoZaoPxq80JlaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aIkfIEqz2tT6tlTJ+eV46Lr3U7qw5LjZFLSra+kj0CU=; b=YbutRwFCqp3+49uHcwq5oIeZrCTPt7bQhJRAofsi2kHV0rePgCYmzZW3aXQ+ZSZbwDDpQ1 q2Ev4gUU+aQJZ378Mx/Qjn82RGPqufSuG86BANvCG8oPKD6De0NQtZRbF26vV7kF6JfnqM H0kghHZL4nHV80x7SSyDvZvtk+yHjWyPk8+Wms9lLEbEyc6QHEOwrwoc+dAtCEjRPCC3m+ asgV/jPs/2J41/hhyYoiEmnXj4hUYyYIqLFDzWQhMIzPIr89Tq2mX/i1tSdZSz/6IyX3d3 j0WhSFWP/FgEBps3C3cKYB/zjhcdQkBbikQNVFp/SldmCzgnpQCYxJQ1W7vpYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217924; a=rsa-sha256; cv=none; b=VT1fq9dTyAjB8eMBN/NO2EvogYgaBBDRoRVJW8c2xxn/1S29FiEIIfm0el3Rtr7XzO8nGq xpYhZtShHxOkIRT7zdM1MI0hVvWs7HsNT5YEaNnFqWXnSzWgbsmZpHk67Jp5qSrfopAXob ek6waQJJgbSQ1Q1w141/MARsv7PmS9rz4qDmQ8wfiVTpjcpDyrR5jSCBhB39Cfd63rJe6e JIZK2AL8jN984j1JYy1zkwnYDzWX6mvTSSMbpAePnS01Dq5b9i50/UmON+E9F2iUnOV4ZD 3oBorbdz5nDNS8XYN57GkMvh0vpOobl46FmtTS0+cck488mJDILWt2OEHI4CKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZr4LJrzQNc; Mon, 24 Jul 2023 16:58: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 36OGwi5o096654; Mon, 24 Jul 2023 16:58:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwiYw096653; Mon, 24 Jul 2023 16:58:44 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:44 GMT Message-Id: <202307241658.36OGwiYw096653@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: 835927fd8ed2 - main - arm: Remove swi.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 835927fd8ed2b8cded87e2f5c95a0ab74ac4d811 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=835927fd8ed2b8cded87e2f5c95a0ab74ac4d811 commit 835927fd8ed2b8cded87e2f5c95a0ab74ac4d811 Author: Andrew Turner AuthorDate: 2023-07-24 16:58:14 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:14 +0000 arm: Remove swi.h It has been unneeded since moving to the Arm EABI Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41136 --- lib/libc/arm/SYS.h | 1 - sys/arm/include/swi.h | 22 ---------------------- 2 files changed, 23 deletions(-) diff --git a/lib/libc/arm/SYS.h b/lib/libc/arm/SYS.h index 8a3225fa6df5..2e88cde8b43c 100644 --- a/lib/libc/arm/SYS.h +++ b/lib/libc/arm/SYS.h @@ -39,7 +39,6 @@ #include #include -#include #define SYSTRAP(x) \ mov ip, r7; \ diff --git a/sys/arm/include/swi.h b/sys/arm/include/swi.h deleted file mode 100644 index b2caf5ee1c31..000000000000 --- a/sys/arm/include/swi.h +++ /dev/null @@ -1,22 +0,0 @@ -/* $NetBSD: swi.h,v 1.1 2002/01/13 15:03:06 bjh21 Exp $ */ -/* $FreeBSD$ */ - -/*- - * This file is in the Public Domain. - * Ben Harris, 2002. - */ - -#ifndef _MACHINE_SWI_H_ -#define _MACHINE_SWI_H_ - -#define SWI_OS_MASK 0xf00000 -#define SWI_OS_RISCOS 0x000000 -#define SWI_OS_RISCIX 0x800000 -#define SWI_OS_LINUX 0x900000 -#define SWI_OS_NETBSD 0xa00000 -#define SWI_OS_ARM 0xf00000 - -#define SWI_IMB 0xf00000 -#define SWI_IMBrange 0xf00001 - -#endif /* !_MACHINE_SWI_H_ */ From nobody Mon Jul 24 16:58:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZs6QrQz4ndjf; Mon, 24 Jul 2023 16:58: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 4R8mZs60yGz4GTZ; Mon, 24 Jul 2023 16:58:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5olJ+vPV/Wt8VbToF/L70ry800/6FykAQ5jWj144Exk=; b=salHeFA8G2tWIfBLFOinAQgeKJsb2I920VaGRQmmxr5Km7Qcq2xlytf9g/d9sD9RxgIEM9 VCbvyoI7PHYb/xm6kOnEWTcB06nW01v69tri66+CBx+1j5Tuz+kLPdAS1UjmrcN+PrtYC1 KDTqTambLENyuMG/Gzxkj2j+aZK7YkObWpX3T59LuUn+43NzjJlQnoARJ3qre1Y1kd3lrX 5Q0kyeTPHrIZ1iYPTIufxOUzQs6FPz+TuH59yp4NnHTMIAF45xdBX1SGFusYwE43fDmYaT vSmG1x5/RVA17+fYnVsw899VbLkmntFTmRZ8E6XxWa8XFhegZn9QyD90EraJkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5olJ+vPV/Wt8VbToF/L70ry800/6FykAQ5jWj144Exk=; b=X/sjbpu4wO38YGZRcUi1oshhSqZDIeJRk2qm6w+RPymOZxpC2DWsfMrha1tofU9s+BCByF pylv80cRC+iqA70oZ47DqcHIqBj32KQ2EaSAjL39NwCQ9jWwBHoIH07xDm2yLpRciOnU/J LIGc3N5ROUAkxVLOlKWvII3NPx1XgCAwp3i+h3EwhkCtUUT4vCnkqWIV+Jhw9YHXhmVzVc f8EkYS8HN6D7BI+FFPhUnRLg45cmeFJPXHrtrXmlOpf8cnn1+1P0lNpBFvqlWkbRXmrH/p Rj5IJH76DZVJTGLiv5MQ/5QhuWVdkb53/zdlfQHG1LNKa1h3gnLn/PEb1ax7JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217925; a=rsa-sha256; cv=none; b=VP0o1RNB2YuLfTXfgjLaE4PV8V8WeuerQy74W0XlihDLYHLnzvDWd9A+yvJlANjOaZRM1H IUVqXogQo6Y2QE1jJW4+w4Fq2YIQaSivNyQGZNvMjxr78xzzXRX3R6NOLg8NysK2ziFbj/ GO7t+pBnLRsFdeY/nf3YmAg1KBrASm1De/QrgSBiqjnxdOo1WxAjtJDwQgslIxoBoiEXjn yyeWOsRPqiDIh0OEi+C0KjSoZqMzEClF/FV6VlIBLIzZ2Cm30uleB+zVRFM9QURu/Xy6Er OaDyZG9dv/39yRVJKLlkZ5bXePoTtnPKiO//b4xRCe/Aoo7XxMGgeZfkPeAU/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 4R8mZs54NBzQFj; Mon, 24 Jul 2023 16:58: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 36OGwjWx096685; Mon, 24 Jul 2023 16:58:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwjVe096684; Mon, 24 Jul 2023 16:58:45 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:45 GMT Message-Id: <202307241658.36OGwjVe096684@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: 67d39872e2e9 - main - arm: Move contents of cpu-v6.h into cpu.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67d39872e2e932462839d1092c7fc666a98078eb Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=67d39872e2e932462839d1092c7fc666a98078eb commit 67d39872e2e932462839d1092c7fc666a98078eb Author: Andrew Turner AuthorDate: 2023-07-24 16:58:14 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:14 +0000 arm: Move contents of cpu-v6.h into cpu.h Previously we had an armv4/v5 and armv6/v7 copy of the cpu.h header. As we have removed armv4/v5 support we can now merge the armv6/v7 code into cpu.h Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41137 --- sys/arm/allwinner/aw_mp.c | 1 - sys/arm/annapurna/alpine/alpine_machdep_mp.c | 2 +- sys/arm/include/cpu-v6.h | 685 --------------------------- sys/arm/include/cpu.h | 675 +++++++++++++++++++++++++- sys/arm/include/pmap_var.h | 2 +- 5 files changed, 675 insertions(+), 690 deletions(-) diff --git a/sys/arm/allwinner/aw_mp.c b/sys/arm/allwinner/aw_mp.c index df798443a44a..901b50ffd2bf 100644 --- a/sys/arm/allwinner/aw_mp.c +++ b/sys/arm/allwinner/aw_mp.c @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include diff --git a/sys/arm/annapurna/alpine/alpine_machdep_mp.c b/sys/arm/annapurna/alpine/alpine_machdep_mp.c index 2a341540104d..94186e26e81e 100644 --- a/sys/arm/annapurna/alpine/alpine_machdep_mp.c +++ b/sys/arm/annapurna/alpine/alpine_machdep_mp.c @@ -42,7 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include diff --git a/sys/arm/include/cpu-v6.h b/sys/arm/include/cpu-v6.h deleted file mode 100644 index 4b301cfd1c4e..000000000000 --- a/sys/arm/include/cpu-v6.h +++ /dev/null @@ -1,685 +0,0 @@ -/*- - * Copyright 2014 Svatopluk Kraus - * Copyright 2014 Michal Meloun - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ -#ifndef MACHINE_CPU_V6_H -#define MACHINE_CPU_V6_H - -/* There are no user serviceable parts here, they may change without notice */ -#ifndef _KERNEL -#error Only include this file in the kernel -#endif - -#include -#include -#include -#include - -/* - * Some kernel modules (dtrace all for example) are compiled - * unconditionally with -DSMP. Although it looks like a bug, - * handle this case here and in #elif condition in ARM_SMP_UP macro. - */ -#if __ARM_ARCH <= 6 && defined(SMP) && !defined(KLD_MODULE) -#error SMP option is not supported on ARMv6 -#endif - -#if __ARM_ARCH <= 6 && defined(SMP_ON_UP) -#error SMP_ON_UP option is only supported on ARMv7+ CPUs -#endif - -#if !defined(SMP) && defined(SMP_ON_UP) -#error SMP option must be defined for SMP_ON_UP option -#endif - -#define CPU_ASID_KERNEL 0 - -#if defined(SMP_ON_UP) -#define ARM_SMP_UP(smp_code, up_code) \ -do { \ - if (cpuinfo.mp_ext != 0) { \ - smp_code; \ - } else { \ - up_code; \ - } \ -} while (0) -#elif defined(SMP) && __ARM_ARCH > 6 -#define ARM_SMP_UP(smp_code, up_code) \ -do { \ - smp_code; \ -} while (0) -#else -#define ARM_SMP_UP(smp_code, up_code) \ -do { \ - up_code; \ -} while (0) -#endif - -void dcache_wbinv_poc_all(void); /* !!! NOT SMP coherent function !!! */ -vm_offset_t dcache_wb_pou_checked(vm_offset_t, vm_size_t); -vm_offset_t icache_inv_pou_checked(vm_offset_t, vm_size_t); - -#ifdef DEV_PMU -#include -#define PMU_OVSR_C 0x80000000 /* Cycle Counter */ -extern uint32_t ccnt_hi[MAXCPU]; -extern int pmu_attched; -#endif /* DEV_PMU */ - -#define sev() __asm __volatile("sev" : : : "memory") -#define wfe() __asm __volatile("wfe" : : : "memory") - -/* - * Macros to generate CP15 (system control processor) read/write functions. - */ -#define _FX(s...) #s - -#define _RF0(fname, aname...) \ -static __inline uint32_t \ -fname(void) \ -{ \ - uint32_t reg; \ - __asm __volatile("mrc\t" _FX(aname): "=r" (reg)); \ - return(reg); \ -} - -#define _R64F0(fname, aname) \ -static __inline uint64_t \ -fname(void) \ -{ \ - uint64_t reg; \ - __asm __volatile("mrrc\t" _FX(aname): "=r" (reg)); \ - return(reg); \ -} - -#define _WF0(fname, aname...) \ -static __inline void \ -fname(void) \ -{ \ - __asm __volatile("mcr\t" _FX(aname)); \ -} - -#define _WF1(fname, aname...) \ -static __inline void \ -fname(uint32_t reg) \ -{ \ - __asm __volatile("mcr\t" _FX(aname):: "r" (reg)); \ -} - -#define _W64F1(fname, aname...) \ -static __inline void \ -fname(uint64_t reg) \ -{ \ - __asm __volatile("mcrr\t" _FX(aname):: "r" (reg)); \ -} - -/* - * Raw CP15 maintenance operations - * !!! not for external use !!! - */ - -/* TLB */ - -_WF0(_CP15_TLBIALL, CP15_TLBIALL) /* Invalidate entire unified TLB */ -#if __ARM_ARCH >= 7 && defined(SMP) -_WF0(_CP15_TLBIALLIS, CP15_TLBIALLIS) /* Invalidate entire unified TLB IS */ -#endif -_WF1(_CP15_TLBIASID, CP15_TLBIASID(%0)) /* Invalidate unified TLB by ASID */ -#if __ARM_ARCH >= 7 && defined(SMP) -_WF1(_CP15_TLBIASIDIS, CP15_TLBIASIDIS(%0)) /* Invalidate unified TLB by ASID IS */ -#endif -_WF1(_CP15_TLBIMVAA, CP15_TLBIMVAA(%0)) /* Invalidate unified TLB by MVA, all ASID */ -#if __ARM_ARCH >= 7 && defined(SMP) -_WF1(_CP15_TLBIMVAAIS, CP15_TLBIMVAAIS(%0)) /* Invalidate unified TLB by MVA, all ASID IS */ -#endif -_WF1(_CP15_TLBIMVA, CP15_TLBIMVA(%0)) /* Invalidate unified TLB by MVA */ - -_WF1(_CP15_TTB_SET, CP15_TTBR0(%0)) - -/* Cache and Branch predictor */ - -_WF0(_CP15_BPIALL, CP15_BPIALL) /* Branch predictor invalidate all */ -#if __ARM_ARCH >= 7 && defined(SMP) -_WF0(_CP15_BPIALLIS, CP15_BPIALLIS) /* Branch predictor invalidate all IS */ -#endif -_WF1(_CP15_BPIMVA, CP15_BPIMVA(%0)) /* Branch predictor invalidate by MVA */ -_WF1(_CP15_DCCIMVAC, CP15_DCCIMVAC(%0)) /* Data cache clean and invalidate by MVA PoC */ -_WF1(_CP15_DCCISW, CP15_DCCISW(%0)) /* Data cache clean and invalidate by set/way */ -_WF1(_CP15_DCCMVAC, CP15_DCCMVAC(%0)) /* Data cache clean by MVA PoC */ -#if __ARM_ARCH >= 7 -_WF1(_CP15_DCCMVAU, CP15_DCCMVAU(%0)) /* Data cache clean by MVA PoU */ -#endif -_WF1(_CP15_DCCSW, CP15_DCCSW(%0)) /* Data cache clean by set/way */ -_WF1(_CP15_DCIMVAC, CP15_DCIMVAC(%0)) /* Data cache invalidate by MVA PoC */ -_WF1(_CP15_DCISW, CP15_DCISW(%0)) /* Data cache invalidate by set/way */ -_WF0(_CP15_ICIALLU, CP15_ICIALLU) /* Instruction cache invalidate all PoU */ -#if __ARM_ARCH >= 7 && defined(SMP) -_WF0(_CP15_ICIALLUIS, CP15_ICIALLUIS) /* Instruction cache invalidate all PoU IS */ -#endif -_WF1(_CP15_ICIMVAU, CP15_ICIMVAU(%0)) /* Instruction cache invalidate */ - -/* - * Publicly accessible functions - */ - -/* CP14 Debug Registers */ -_RF0(cp14_dbgdidr_get, CP14_DBGDIDR(%0)) -_RF0(cp14_dbgprsr_get, CP14_DBGPRSR(%0)) -_RF0(cp14_dbgoslsr_get, CP14_DBGOSLSR(%0)) -_RF0(cp14_dbgosdlr_get, CP14_DBGOSDLR(%0)) -_RF0(cp14_dbgdscrint_get, CP14_DBGDSCRint(%0)) - -_WF1(cp14_dbgdscr_v6_set, CP14_DBGDSCRext_V6(%0)) -_WF1(cp14_dbgdscr_v7_set, CP14_DBGDSCRext_V7(%0)) -_WF1(cp14_dbgvcr_set, CP14_DBGVCR(%0)) -_WF1(cp14_dbgoslar_set, CP14_DBGOSLAR(%0)) - -/* Various control registers */ - -_RF0(cp15_cpacr_get, CP15_CPACR(%0)) -_WF1(cp15_cpacr_set, CP15_CPACR(%0)) -_RF0(cp15_dfsr_get, CP15_DFSR(%0)) -_RF0(cp15_ifsr_get, CP15_IFSR(%0)) -_WF1(cp15_prrr_set, CP15_PRRR(%0)) -_WF1(cp15_nmrr_set, CP15_NMRR(%0)) -_RF0(cp15_ttbr_get, CP15_TTBR0(%0)) -_RF0(cp15_dfar_get, CP15_DFAR(%0)) -#if __ARM_ARCH >= 7 -_RF0(cp15_ifar_get, CP15_IFAR(%0)) -_RF0(cp15_l2ctlr_get, CP15_L2CTLR(%0)) -#endif -_RF0(cp15_actlr_get, CP15_ACTLR(%0)) -_WF1(cp15_actlr_set, CP15_ACTLR(%0)) -_WF1(cp15_ats1cpr_set, CP15_ATS1CPR(%0)) -_WF1(cp15_ats1cpw_set, CP15_ATS1CPW(%0)) -_WF1(cp15_ats1cur_set, CP15_ATS1CUR(%0)) -_WF1(cp15_ats1cuw_set, CP15_ATS1CUW(%0)) -_RF0(cp15_par_get, CP15_PAR(%0)) -_RF0(cp15_sctlr_get, CP15_SCTLR(%0)) - -/*CPU id registers */ -_RF0(cp15_midr_get, CP15_MIDR(%0)) -_RF0(cp15_ctr_get, CP15_CTR(%0)) -_RF0(cp15_tcmtr_get, CP15_TCMTR(%0)) -_RF0(cp15_tlbtr_get, CP15_TLBTR(%0)) -_RF0(cp15_mpidr_get, CP15_MPIDR(%0)) -_RF0(cp15_revidr_get, CP15_REVIDR(%0)) -_RF0(cp15_ccsidr_get, CP15_CCSIDR(%0)) -_RF0(cp15_clidr_get, CP15_CLIDR(%0)) -_RF0(cp15_aidr_get, CP15_AIDR(%0)) -_WF1(cp15_csselr_set, CP15_CSSELR(%0)) -_RF0(cp15_id_pfr0_get, CP15_ID_PFR0(%0)) -_RF0(cp15_id_pfr1_get, CP15_ID_PFR1(%0)) -_RF0(cp15_id_dfr0_get, CP15_ID_DFR0(%0)) -_RF0(cp15_id_afr0_get, CP15_ID_AFR0(%0)) -_RF0(cp15_id_mmfr0_get, CP15_ID_MMFR0(%0)) -_RF0(cp15_id_mmfr1_get, CP15_ID_MMFR1(%0)) -_RF0(cp15_id_mmfr2_get, CP15_ID_MMFR2(%0)) -_RF0(cp15_id_mmfr3_get, CP15_ID_MMFR3(%0)) -_RF0(cp15_id_isar0_get, CP15_ID_ISAR0(%0)) -_RF0(cp15_id_isar1_get, CP15_ID_ISAR1(%0)) -_RF0(cp15_id_isar2_get, CP15_ID_ISAR2(%0)) -_RF0(cp15_id_isar3_get, CP15_ID_ISAR3(%0)) -_RF0(cp15_id_isar4_get, CP15_ID_ISAR4(%0)) -_RF0(cp15_id_isar5_get, CP15_ID_ISAR5(%0)) -_RF0(cp15_cbar_get, CP15_CBAR(%0)) - -/* Performance Monitor registers */ - -#if __ARM_ARCH == 6 && defined(CPU_ARM1176) -_RF0(cp15_pmuserenr_get, CP15_PMUSERENR(%0)) -_WF1(cp15_pmuserenr_set, CP15_PMUSERENR(%0)) -_RF0(cp15_pmcr_get, CP15_PMCR(%0)) -_WF1(cp15_pmcr_set, CP15_PMCR(%0)) -_RF0(cp15_pmccntr_get, CP15_PMCCNTR(%0)) -_WF1(cp15_pmccntr_set, CP15_PMCCNTR(%0)) -#elif __ARM_ARCH > 6 -_RF0(cp15_pmcr_get, CP15_PMCR(%0)) -_WF1(cp15_pmcr_set, CP15_PMCR(%0)) -_RF0(cp15_pmcnten_get, CP15_PMCNTENSET(%0)) -_WF1(cp15_pmcnten_set, CP15_PMCNTENSET(%0)) -_WF1(cp15_pmcnten_clr, CP15_PMCNTENCLR(%0)) -_RF0(cp15_pmovsr_get, CP15_PMOVSR(%0)) -_WF1(cp15_pmovsr_set, CP15_PMOVSR(%0)) -_WF1(cp15_pmswinc_set, CP15_PMSWINC(%0)) -_RF0(cp15_pmselr_get, CP15_PMSELR(%0)) -_WF1(cp15_pmselr_set, CP15_PMSELR(%0)) -_RF0(cp15_pmccntr_get, CP15_PMCCNTR(%0)) -_WF1(cp15_pmccntr_set, CP15_PMCCNTR(%0)) -_RF0(cp15_pmxevtyper_get, CP15_PMXEVTYPER(%0)) -_WF1(cp15_pmxevtyper_set, CP15_PMXEVTYPER(%0)) -_RF0(cp15_pmxevcntr_get, CP15_PMXEVCNTRR(%0)) -_WF1(cp15_pmxevcntr_set, CP15_PMXEVCNTRR(%0)) -_RF0(cp15_pmuserenr_get, CP15_PMUSERENR(%0)) -_WF1(cp15_pmuserenr_set, CP15_PMUSERENR(%0)) -_RF0(cp15_pminten_get, CP15_PMINTENSET(%0)) -_WF1(cp15_pminten_set, CP15_PMINTENSET(%0)) -_WF1(cp15_pminten_clr, CP15_PMINTENCLR(%0)) -#endif - -_RF0(cp15_tpidrurw_get, CP15_TPIDRURW(%0)) -_WF1(cp15_tpidrurw_set, CP15_TPIDRURW(%0)) -_RF0(cp15_tpidruro_get, CP15_TPIDRURO(%0)) -_WF1(cp15_tpidruro_set, CP15_TPIDRURO(%0)) -_RF0(cp15_tpidrpwr_get, CP15_TPIDRPRW(%0)) -_WF1(cp15_tpidrpwr_set, CP15_TPIDRPRW(%0)) - -/* Generic Timer registers - only use when you know the hardware is available */ -_RF0(cp15_cntfrq_get, CP15_CNTFRQ(%0)) -_WF1(cp15_cntfrq_set, CP15_CNTFRQ(%0)) -_RF0(cp15_cntkctl_get, CP15_CNTKCTL(%0)) -_WF1(cp15_cntkctl_set, CP15_CNTKCTL(%0)) -_RF0(cp15_cntp_tval_get, CP15_CNTP_TVAL(%0)) -_WF1(cp15_cntp_tval_set, CP15_CNTP_TVAL(%0)) -_RF0(cp15_cntp_ctl_get, CP15_CNTP_CTL(%0)) -_WF1(cp15_cntp_ctl_set, CP15_CNTP_CTL(%0)) -_RF0(cp15_cntv_tval_get, CP15_CNTV_TVAL(%0)) -_WF1(cp15_cntv_tval_set, CP15_CNTV_TVAL(%0)) -_RF0(cp15_cntv_ctl_get, CP15_CNTV_CTL(%0)) -_WF1(cp15_cntv_ctl_set, CP15_CNTV_CTL(%0)) -_RF0(cp15_cnthctl_get, CP15_CNTHCTL(%0)) -_WF1(cp15_cnthctl_set, CP15_CNTHCTL(%0)) -_RF0(cp15_cnthp_tval_get, CP15_CNTHP_TVAL(%0)) -_WF1(cp15_cnthp_tval_set, CP15_CNTHP_TVAL(%0)) -_RF0(cp15_cnthp_ctl_get, CP15_CNTHP_CTL(%0)) -_WF1(cp15_cnthp_ctl_set, CP15_CNTHP_CTL(%0)) - -_R64F0(cp15_cntpct_get, CP15_CNTPCT(%Q0, %R0)) -_R64F0(cp15_cntvct_get, CP15_CNTVCT(%Q0, %R0)) -_R64F0(cp15_cntp_cval_get, CP15_CNTP_CVAL(%Q0, %R0)) -_W64F1(cp15_cntp_cval_set, CP15_CNTP_CVAL(%Q0, %R0)) -_R64F0(cp15_cntv_cval_get, CP15_CNTV_CVAL(%Q0, %R0)) -_W64F1(cp15_cntv_cval_set, CP15_CNTV_CVAL(%Q0, %R0)) -_R64F0(cp15_cntvoff_get, CP15_CNTVOFF(%Q0, %R0)) -_W64F1(cp15_cntvoff_set, CP15_CNTVOFF(%Q0, %R0)) -_R64F0(cp15_cnthp_cval_get, CP15_CNTHP_CVAL(%Q0, %R0)) -_W64F1(cp15_cnthp_cval_set, CP15_CNTHP_CVAL(%Q0, %R0)) - -#undef _FX -#undef _RF0 -#undef _WF0 -#undef _WF1 - -/* - * TLB maintenance operations. - */ - -/* Local (i.e. not broadcasting ) operations. */ - -/* Flush all TLB entries (even global). */ -static __inline void -tlb_flush_all_local(void) -{ - - dsb(); - _CP15_TLBIALL(); - dsb(); -} - -/* Flush all not global TLB entries. */ -static __inline void -tlb_flush_all_ng_local(void) -{ - - dsb(); - _CP15_TLBIASID(CPU_ASID_KERNEL); - dsb(); -} - -/* Flush single TLB entry (even global). */ -static __inline void -tlb_flush_local(vm_offset_t va) -{ - - KASSERT((va & PAGE_MASK) == 0, ("%s: va %#x not aligned", __func__, va)); - - dsb(); - _CP15_TLBIMVA(va | CPU_ASID_KERNEL); - dsb(); -} - -/* Flush range of TLB entries (even global). */ -static __inline void -tlb_flush_range_local(vm_offset_t va, vm_size_t size) -{ - vm_offset_t eva = va + size; - - KASSERT((va & PAGE_MASK) == 0, ("%s: va %#x not aligned", __func__, va)); - KASSERT((size & PAGE_MASK) == 0, ("%s: size %#x not aligned", __func__, - size)); - - dsb(); - for (; va < eva; va += PAGE_SIZE) - _CP15_TLBIMVA(va | CPU_ASID_KERNEL); - dsb(); -} - -/* Broadcasting operations. */ -#if __ARM_ARCH >= 7 && defined(SMP) - -static __inline void -tlb_flush_all(void) -{ - - dsb(); - ARM_SMP_UP( - _CP15_TLBIALLIS(), - _CP15_TLBIALL() - ); - dsb(); -} - -static __inline void -tlb_flush_all_ng(void) -{ - - dsb(); - ARM_SMP_UP( - _CP15_TLBIASIDIS(CPU_ASID_KERNEL), - _CP15_TLBIASID(CPU_ASID_KERNEL) - ); - dsb(); -} - -static __inline void -tlb_flush(vm_offset_t va) -{ - - KASSERT((va & PAGE_MASK) == 0, ("%s: va %#x not aligned", __func__, va)); - - dsb(); - ARM_SMP_UP( - _CP15_TLBIMVAAIS(va), - _CP15_TLBIMVA(va | CPU_ASID_KERNEL) - ); - dsb(); -} - -static __inline void -tlb_flush_range(vm_offset_t va, vm_size_t size) -{ - vm_offset_t eva = va + size; - - KASSERT((va & PAGE_MASK) == 0, ("%s: va %#x not aligned", __func__, va)); - KASSERT((size & PAGE_MASK) == 0, ("%s: size %#x not aligned", __func__, - size)); - - dsb(); - ARM_SMP_UP( - { - for (; va < eva; va += PAGE_SIZE) - _CP15_TLBIMVAAIS(va); - }, - { - for (; va < eva; va += PAGE_SIZE) - _CP15_TLBIMVA(va | CPU_ASID_KERNEL); - } - ); - dsb(); -} -#else /* __ARM_ARCH < 7 */ - -#define tlb_flush_all() tlb_flush_all_local() -#define tlb_flush_all_ng() tlb_flush_all_ng_local() -#define tlb_flush(va) tlb_flush_local(va) -#define tlb_flush_range(va, size) tlb_flush_range_local(va, size) - -#endif /* __ARM_ARCH < 7 */ - -/* - * Cache maintenance operations. - */ - -/* Sync I and D caches to PoU */ -static __inline void -icache_sync(vm_offset_t va, vm_size_t size) -{ - vm_offset_t eva = va + size; - - dsb(); - va &= ~cpuinfo.dcache_line_mask; - - for ( ; va < eva; va += cpuinfo.dcache_line_size) { -#if __ARM_ARCH >= 7 - _CP15_DCCMVAU(va); -#else - _CP15_DCCMVAC(va); -#endif - } - dsb(); - ARM_SMP_UP( - _CP15_ICIALLUIS(), - _CP15_ICIALLU() - ); - dsb(); - isb(); -} - -/* Invalidate I cache */ -static __inline void -icache_inv_all(void) -{ - - ARM_SMP_UP( - _CP15_ICIALLUIS(), - _CP15_ICIALLU() - ); - dsb(); - isb(); -} - -/* Invalidate branch predictor buffer */ -static __inline void -bpb_inv_all(void) -{ - - ARM_SMP_UP( - _CP15_BPIALLIS(), - _CP15_BPIALL() - ); - dsb(); - isb(); -} - -/* Write back D-cache to PoU */ -static __inline void -dcache_wb_pou(vm_offset_t va, vm_size_t size) -{ - vm_offset_t eva = va + size; - - dsb(); - va &= ~cpuinfo.dcache_line_mask; - for ( ; va < eva; va += cpuinfo.dcache_line_size) { -#if __ARM_ARCH >= 7 - _CP15_DCCMVAU(va); -#else - _CP15_DCCMVAC(va); -#endif - } - dsb(); -} - -/* - * Invalidate D-cache to PoC - * - * Caches are invalidated from outermost to innermost as fresh cachelines - * flow in this direction. In given range, if there was no dirty cacheline - * in any cache before, no stale cacheline should remain in them after this - * operation finishes. - */ -static __inline void -dcache_inv_poc(vm_offset_t va, vm_paddr_t pa, vm_size_t size) -{ - vm_offset_t eva = va + size; - - dsb(); - /* invalidate L2 first */ - cpu_l2cache_inv_range(pa, size); - - /* then L1 */ - va &= ~cpuinfo.dcache_line_mask; - for ( ; va < eva; va += cpuinfo.dcache_line_size) { - _CP15_DCIMVAC(va); - } - dsb(); -} - -/* - * Discard D-cache lines to PoC, prior to overwrite by DMA engine. - * - * Normal invalidation does L2 then L1 to ensure that stale data from L2 doesn't - * flow into L1 while invalidating. This routine is intended to be used only - * when invalidating a buffer before a DMA operation loads new data into memory. - * The concern in this case is that dirty lines are not evicted to main memory, - * overwriting the DMA data. For that reason, the L1 is done first to ensure - * that an evicted L1 line doesn't flow to L2 after the L2 has been cleaned. - */ -static __inline void -dcache_inv_poc_dma(vm_offset_t va, vm_paddr_t pa, vm_size_t size) -{ - vm_offset_t eva = va + size; - - /* invalidate L1 first */ - dsb(); - va &= ~cpuinfo.dcache_line_mask; - for ( ; va < eva; va += cpuinfo.dcache_line_size) { - _CP15_DCIMVAC(va); - } - dsb(); - - /* then L2 */ - cpu_l2cache_inv_range(pa, size); -} - -/* - * Write back D-cache to PoC - * - * Caches are written back from innermost to outermost as dirty cachelines - * flow in this direction. In given range, no dirty cacheline should remain - * in any cache after this operation finishes. - */ -static __inline void -dcache_wb_poc(vm_offset_t va, vm_paddr_t pa, vm_size_t size) -{ - vm_offset_t eva = va + size; - - dsb(); - va &= ~cpuinfo.dcache_line_mask; - for ( ; va < eva; va += cpuinfo.dcache_line_size) { - _CP15_DCCMVAC(va); - } - dsb(); - - cpu_l2cache_wb_range(pa, size); -} - -/* Write back and invalidate D-cache to PoC */ -static __inline void -dcache_wbinv_poc(vm_offset_t sva, vm_paddr_t pa, vm_size_t size) -{ - vm_offset_t va; - vm_offset_t eva = sva + size; - - dsb(); - /* write back L1 first */ - va = sva & ~cpuinfo.dcache_line_mask; - for ( ; va < eva; va += cpuinfo.dcache_line_size) { - _CP15_DCCMVAC(va); - } - dsb(); - - /* then write back and invalidate L2 */ - cpu_l2cache_wbinv_range(pa, size); - - /* then invalidate L1 */ - va = sva & ~cpuinfo.dcache_line_mask; - for ( ; va < eva; va += cpuinfo.dcache_line_size) { - _CP15_DCIMVAC(va); - } - dsb(); -} - -/* Set TTB0 register */ -static __inline void -cp15_ttbr_set(uint32_t reg) -{ - dsb(); - _CP15_TTB_SET(reg); - dsb(); - _CP15_BPIALL(); - dsb(); - isb(); - tlb_flush_all_ng_local(); -} - -/* - * Functions for address checking: - * - * cp15_ats1cpr_check() ... check stage 1 privileged (PL1) read access - * cp15_ats1cpw_check() ... check stage 1 privileged (PL1) write access - * cp15_ats1cur_check() ... check stage 1 unprivileged (PL0) read access - * cp15_ats1cuw_check() ... check stage 1 unprivileged (PL0) write access - * - * They must be called while interrupts are disabled to get consistent result. - */ -static __inline int -cp15_ats1cpr_check(vm_offset_t addr) -{ - - cp15_ats1cpr_set(addr); - isb(); - return (cp15_par_get() & 0x01 ? EFAULT : 0); -} - -static __inline int -cp15_ats1cpw_check(vm_offset_t addr) -{ - - cp15_ats1cpw_set(addr); - isb(); - return (cp15_par_get() & 0x01 ? EFAULT : 0); -} - -static __inline int -cp15_ats1cur_check(vm_offset_t addr) -{ - - cp15_ats1cur_set(addr); - isb(); - return (cp15_par_get() & 0x01 ? EFAULT : 0); -} - -static __inline int -cp15_ats1cuw_check(vm_offset_t addr) -{ - - cp15_ats1cuw_set(addr); - isb(); - return (cp15_par_get() & 0x01 ? EFAULT : 0); -} - -#endif /* !MACHINE_CPU_V6_H */ diff --git a/sys/arm/include/cpu.h b/sys/arm/include/cpu.h index 86f16131f03f..b2c370d01cdc 100644 --- a/sys/arm/include/cpu.h +++ b/sys/arm/include/cpu.h @@ -1,5 +1,30 @@ +/*- + * Copyright 2014 Svatopluk Kraus + * Copyright 2014 Michal Meloun + * 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. + */ /* $NetBSD: cpu.h,v 1.2 2001/02/23 21:23:52 reinoud Exp $ */ -/* $FreeBSD$ */ #ifndef MACHINE_CPU_H #define MACHINE_CPU_H @@ -10,7 +35,653 @@ void cpu_halt(void); #ifdef _KERNEL -#include +#include +#include +#include +#include + +/* + * Some kernel modules (dtrace all for example) are compiled + * unconditionally with -DSMP. Although it looks like a bug, + * handle this case here and in #elif condition in ARM_SMP_UP macro. + */ +#if __ARM_ARCH <= 6 && defined(SMP) && !defined(KLD_MODULE) +#error SMP option is not supported on ARMv6 +#endif + +#if __ARM_ARCH <= 6 && defined(SMP_ON_UP) +#error SMP_ON_UP option is only supported on ARMv7+ CPUs +#endif + +#if !defined(SMP) && defined(SMP_ON_UP) +#error SMP option must be defined for SMP_ON_UP option +#endif + +#define CPU_ASID_KERNEL 0 + +#if defined(SMP_ON_UP) +#define ARM_SMP_UP(smp_code, up_code) \ +do { \ + if (cpuinfo.mp_ext != 0) { \ + smp_code; \ + } else { \ + up_code; \ + } \ +} while (0) +#elif defined(SMP) && __ARM_ARCH > 6 +#define ARM_SMP_UP(smp_code, up_code) \ +do { \ + smp_code; \ +} while (0) +#else +#define ARM_SMP_UP(smp_code, up_code) \ +do { \ + up_code; \ +} while (0) +#endif + +void dcache_wbinv_poc_all(void); /* !!! NOT SMP coherent function !!! */ +vm_offset_t dcache_wb_pou_checked(vm_offset_t, vm_size_t); +vm_offset_t icache_inv_pou_checked(vm_offset_t, vm_size_t); + +#ifdef DEV_PMU +#include +#define PMU_OVSR_C 0x80000000 /* Cycle Counter */ +extern uint32_t ccnt_hi[MAXCPU]; +extern int pmu_attched; +#endif /* DEV_PMU */ + +#define sev() __asm __volatile("sev" : : : "memory") +#define wfe() __asm __volatile("wfe" : : : "memory") + +/* + * Macros to generate CP15 (system control processor) read/write functions. + */ +#define _FX(s...) #s + +#define _RF0(fname, aname...) \ +static __inline uint32_t \ +fname(void) \ +{ \ + uint32_t reg; \ + __asm __volatile("mrc\t" _FX(aname): "=r" (reg)); \ + return(reg); \ +} + +#define _R64F0(fname, aname) \ +static __inline uint64_t \ +fname(void) \ +{ \ + uint64_t reg; \ + __asm __volatile("mrrc\t" _FX(aname): "=r" (reg)); \ + return(reg); \ +} + +#define _WF0(fname, aname...) \ +static __inline void \ +fname(void) \ +{ \ + __asm __volatile("mcr\t" _FX(aname)); \ +} + +#define _WF1(fname, aname...) \ +static __inline void \ +fname(uint32_t reg) \ +{ \ + __asm __volatile("mcr\t" _FX(aname):: "r" (reg)); \ +} + +#define _W64F1(fname, aname...) \ +static __inline void \ +fname(uint64_t reg) \ +{ \ + __asm __volatile("mcrr\t" _FX(aname):: "r" (reg)); \ +} + +/* + * Raw CP15 maintenance operations + * !!! not for external use !!! + */ + +/* TLB */ + +_WF0(_CP15_TLBIALL, CP15_TLBIALL) /* Invalidate entire unified TLB */ +#if __ARM_ARCH >= 7 && defined(SMP) +_WF0(_CP15_TLBIALLIS, CP15_TLBIALLIS) /* Invalidate entire unified TLB IS */ +#endif +_WF1(_CP15_TLBIASID, CP15_TLBIASID(%0)) /* Invalidate unified TLB by ASID */ +#if __ARM_ARCH >= 7 && defined(SMP) +_WF1(_CP15_TLBIASIDIS, CP15_TLBIASIDIS(%0)) /* Invalidate unified TLB by ASID IS */ +#endif +_WF1(_CP15_TLBIMVAA, CP15_TLBIMVAA(%0)) /* Invalidate unified TLB by MVA, all ASID */ +#if __ARM_ARCH >= 7 && defined(SMP) +_WF1(_CP15_TLBIMVAAIS, CP15_TLBIMVAAIS(%0)) /* Invalidate unified TLB by MVA, all ASID IS */ +#endif +_WF1(_CP15_TLBIMVA, CP15_TLBIMVA(%0)) /* Invalidate unified TLB by MVA */ + +_WF1(_CP15_TTB_SET, CP15_TTBR0(%0)) + +/* Cache and Branch predictor */ + +_WF0(_CP15_BPIALL, CP15_BPIALL) /* Branch predictor invalidate all */ +#if __ARM_ARCH >= 7 && defined(SMP) +_WF0(_CP15_BPIALLIS, CP15_BPIALLIS) /* Branch predictor invalidate all IS */ +#endif +_WF1(_CP15_BPIMVA, CP15_BPIMVA(%0)) /* Branch predictor invalidate by MVA */ +_WF1(_CP15_DCCIMVAC, CP15_DCCIMVAC(%0)) /* Data cache clean and invalidate by MVA PoC */ +_WF1(_CP15_DCCISW, CP15_DCCISW(%0)) /* Data cache clean and invalidate by set/way */ +_WF1(_CP15_DCCMVAC, CP15_DCCMVAC(%0)) /* Data cache clean by MVA PoC */ +#if __ARM_ARCH >= 7 +_WF1(_CP15_DCCMVAU, CP15_DCCMVAU(%0)) /* Data cache clean by MVA PoU */ +#endif +_WF1(_CP15_DCCSW, CP15_DCCSW(%0)) /* Data cache clean by set/way */ +_WF1(_CP15_DCIMVAC, CP15_DCIMVAC(%0)) /* Data cache invalidate by MVA PoC */ +_WF1(_CP15_DCISW, CP15_DCISW(%0)) /* Data cache invalidate by set/way */ +_WF0(_CP15_ICIALLU, CP15_ICIALLU) /* Instruction cache invalidate all PoU */ +#if __ARM_ARCH >= 7 && defined(SMP) +_WF0(_CP15_ICIALLUIS, CP15_ICIALLUIS) /* Instruction cache invalidate all PoU IS */ +#endif +_WF1(_CP15_ICIMVAU, CP15_ICIMVAU(%0)) /* Instruction cache invalidate */ + +/* + * Publicly accessible functions + */ + +/* CP14 Debug Registers */ +_RF0(cp14_dbgdidr_get, CP14_DBGDIDR(%0)) +_RF0(cp14_dbgprsr_get, CP14_DBGPRSR(%0)) +_RF0(cp14_dbgoslsr_get, CP14_DBGOSLSR(%0)) +_RF0(cp14_dbgosdlr_get, CP14_DBGOSDLR(%0)) +_RF0(cp14_dbgdscrint_get, CP14_DBGDSCRint(%0)) + +_WF1(cp14_dbgdscr_v6_set, CP14_DBGDSCRext_V6(%0)) +_WF1(cp14_dbgdscr_v7_set, CP14_DBGDSCRext_V7(%0)) +_WF1(cp14_dbgvcr_set, CP14_DBGVCR(%0)) +_WF1(cp14_dbgoslar_set, CP14_DBGOSLAR(%0)) + +/* Various control registers */ + +_RF0(cp15_cpacr_get, CP15_CPACR(%0)) +_WF1(cp15_cpacr_set, CP15_CPACR(%0)) +_RF0(cp15_dfsr_get, CP15_DFSR(%0)) +_RF0(cp15_ifsr_get, CP15_IFSR(%0)) +_WF1(cp15_prrr_set, CP15_PRRR(%0)) +_WF1(cp15_nmrr_set, CP15_NMRR(%0)) +_RF0(cp15_ttbr_get, CP15_TTBR0(%0)) +_RF0(cp15_dfar_get, CP15_DFAR(%0)) +#if __ARM_ARCH >= 7 +_RF0(cp15_ifar_get, CP15_IFAR(%0)) +_RF0(cp15_l2ctlr_get, CP15_L2CTLR(%0)) +#endif +_RF0(cp15_actlr_get, CP15_ACTLR(%0)) +_WF1(cp15_actlr_set, CP15_ACTLR(%0)) +_WF1(cp15_ats1cpr_set, CP15_ATS1CPR(%0)) +_WF1(cp15_ats1cpw_set, CP15_ATS1CPW(%0)) +_WF1(cp15_ats1cur_set, CP15_ATS1CUR(%0)) +_WF1(cp15_ats1cuw_set, CP15_ATS1CUW(%0)) +_RF0(cp15_par_get, CP15_PAR(%0)) +_RF0(cp15_sctlr_get, CP15_SCTLR(%0)) + +/*CPU id registers */ +_RF0(cp15_midr_get, CP15_MIDR(%0)) +_RF0(cp15_ctr_get, CP15_CTR(%0)) +_RF0(cp15_tcmtr_get, CP15_TCMTR(%0)) +_RF0(cp15_tlbtr_get, CP15_TLBTR(%0)) +_RF0(cp15_mpidr_get, CP15_MPIDR(%0)) +_RF0(cp15_revidr_get, CP15_REVIDR(%0)) +_RF0(cp15_ccsidr_get, CP15_CCSIDR(%0)) +_RF0(cp15_clidr_get, CP15_CLIDR(%0)) +_RF0(cp15_aidr_get, CP15_AIDR(%0)) +_WF1(cp15_csselr_set, CP15_CSSELR(%0)) +_RF0(cp15_id_pfr0_get, CP15_ID_PFR0(%0)) +_RF0(cp15_id_pfr1_get, CP15_ID_PFR1(%0)) +_RF0(cp15_id_dfr0_get, CP15_ID_DFR0(%0)) +_RF0(cp15_id_afr0_get, CP15_ID_AFR0(%0)) +_RF0(cp15_id_mmfr0_get, CP15_ID_MMFR0(%0)) *** 461 LINES SKIPPED *** From nobody Mon Jul 24 16:58:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZv0sVxz4ndc2; Mon, 24 Jul 2023 16:58: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 4R8mZv05g1z4GRg; Mon, 24 Jul 2023 16:58:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zewiVbmSYgRv7zqY6tuykJsv9bZUviCT0wZytmti0c8=; b=J7JH6j10DhkP4JA1tz+C7azIqf5d59q3NdxwDunfkHnuRY9fs+TjNJOXklS/uxQmB7I+v1 q0dUm7FudmTt+9Nrn86y9lpxjK6RlH/pwkeCkG5xhArJRKZz+V4vVpcHMUJhsF9MoNj1Dp vaKwYI8sFBzreFdVo/Do0GEhLgI5+Wys2uUKKPu8GlIYgSWK4QzVMFNXkns1QeXesWZi/g UImnYB71iOxlTgu4OVwiIhv63U/m/GVw0YbA1pLVkwViV7kh/9ndhwOdLW9FNcX4lSF0BA ACdIL/h6DmwA/2A+m1nDAIVy9tEak/QD6eedeLJmX07HLU+pkn/yVQw1sUjgmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zewiVbmSYgRv7zqY6tuykJsv9bZUviCT0wZytmti0c8=; b=g4HejEAIgtkvLQ4U7LE9so021W2pXz7qgsugVdbTfsFtN9bmok8gYOxL+E0clbCIWTJ4FE GkcLip9lNufdkw5sKjxsoq1cy3jmP7xsc44zjL/kQuDudX0AVHoGTachksnl4OLuymY8VM CX0j/UcI517aZMYsU++qeNw1FyfotbbqfOZZTF3X6L85htfOsTq3Mz00+S7aUvQSGn7aZa tqfWvX75tPgxeNktp43M17shRSbbczSZQiwFgdh2sYWAm6P9711/mUyb9sPBkDU/k1r8kx ulvEgsFskP9xU7PMADJpQT+nnEZofhO9VWbadMORemigu/XZ367VnKt28aYUwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217927; a=rsa-sha256; cv=none; b=JhrrROC4zOcKAjJk8Vtu9jY4rYWZkOWYXKyhSnOT6r4UysQbgucJQSoJyrVCSVjnutyC4q udD7PxOL6ZIEEB13M6SZiLwqBnnJhZSSpUAw7XXSQdkJYAyA69m/AMGllEMW9KrYCi/tYM BG54zJGRMdYJszhFwjAiYZcQRxB2JfAz5HqNunW4OGLb4vOFlfXTYngy4Su93KwJtYayzO T2UveiCq9pjlgzcohLhZFyy9EO4uRA6W3wt+VyFhLJ4cLxYtZdzkVh5yJrfyyNtBcPiC2c YrOfp02MCq2ozTevkTiO9c/N5T+ETR/1PEZeW5gIG5plMJras3pkwsi78kUcUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZt5qNtzQZC; Mon, 24 Jul 2023 16:58: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 36OGwkRN096706; Mon, 24 Jul 2023 16:58:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwkhM096705; Mon, 24 Jul 2023 16:58:46 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:46 GMT Message-Id: <202307241658.36OGwkhM096705@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: 1e7dfc94ccf6 - main - arm: Move contents of pmap-v6.h into pmap.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e7dfc94ccf62a877bcb812edb18d121acafd5d2 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1e7dfc94ccf62a877bcb812edb18d121acafd5d2 commit 1e7dfc94ccf62a877bcb812edb18d121acafd5d2 Author: Andrew Turner AuthorDate: 2023-07-24 16:58:15 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:15 +0000 arm: Move contents of pmap-v6.h into pmap.h Previously we had an armv4/v5 and armv6/v7 copy of the pmap header. As we have removed armv4/v5 support we can now merge the armv6/v7 code into pmap.h Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41138 --- sys/arm/include/pmap-v6.h | 167 ---------------------------------------------- sys/arm/include/pmap.h | 137 +++++++++++++++++++++++++++++++++++-- 2 files changed, 133 insertions(+), 171 deletions(-) diff --git a/sys/arm/include/pmap-v6.h b/sys/arm/include/pmap-v6.h deleted file mode 100644 index f7499e82e0d2..000000000000 --- a/sys/arm/include/pmap-v6.h +++ /dev/null @@ -1,167 +0,0 @@ -/*- - * Copyright 2014 Svatopluk Kraus - * Copyright 2014 Michal Meloun - * Copyright (c) 1991 Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department and William Jolitz of UUNET Technologies Inc. - * - * 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 REGENTS 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 REGENTS 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. - * - * The ARM version of this file was more or less based on the i386 version, - * which has the following provenance... - * - * Derived from hp300 version by Mike Hibler, this version by William - * Jolitz uses a recursive map [a pde points to the page directory] to - * map the page tables using the pagetables themselves. This is done to - * reduce the impact on kernel virtual memory for lots of sparse address - * space, and to reduce the cost of memory to each process. - * - * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 - * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_PMAP_V6_H_ -#define _MACHINE_PMAP_V6_H_ - -#include -#include -#include -#include -#include - -typedef uint32_t pt1_entry_t; /* L1 table entry */ -typedef uint32_t pt2_entry_t; /* L2 table entry */ -typedef uint32_t ttb_entry_t; /* TTB entry */ - -#ifdef _KERNEL - -#if 0 -#define PMAP_PTE_NOCACHE // Use uncached page tables -#endif - -/* - * (1) During pmap bootstrap, physical pages for L2 page tables are - * allocated in advance which are used for KVA continuous mapping - * starting from KERNBASE. This makes things more simple. - * (2) During vm subsystem initialization, only vm subsystem itself can - * allocate physical memory safely. As pmap_map() is called during - * this initialization, we must be prepared for that and have some - * preallocated physical pages for L2 page tables. - * - * Note that some more pages for L2 page tables are preallocated too - * for mappings laying above VM_MAX_KERNEL_ADDRESS. - */ -#ifndef NKPT2PG -/* - * The optimal way is to define this in board configuration as - * definition here must be safe enough. It means really big. - * - * 1 GB KVA <=> 256 kernel L2 page table pages - * - * From real platforms: - * 1 GB physical memory <=> 10 pages is enough - * 2 GB physical memory <=> 21 pages is enough - */ -#define NKPT2PG 32 -#endif -#endif /* _KERNEL */ - -/* - * Pmap stuff - */ -struct md_page { - TAILQ_HEAD(,pv_entry) pv_list; - uint16_t pt2_wirecount[4]; - vm_memattr_t pat_mode; -}; - -struct pmap { - struct mtx pm_mtx; - pt1_entry_t *pm_pt1; /* KVA of pt1 */ - pt2_entry_t *pm_pt2tab; /* KVA of pt2 pages table */ - TAILQ_HEAD(,pv_chunk) pm_pvchunk; /* list of mappings in pmap */ - cpuset_t pm_active; /* active on cpus */ - struct pmap_statistics pm_stats; /* pmap statictics */ - LIST_ENTRY(pmap) pm_list; /* List of all pmaps */ -}; - -typedef struct pmap *pmap_t; - -#ifdef _KERNEL -extern struct pmap kernel_pmap_store; -#define kernel_pmap (&kernel_pmap_store) - -#define PMAP_LOCK(pmap) mtx_lock(&(pmap)->pm_mtx) -#define PMAP_LOCK_ASSERT(pmap, type) \ - mtx_assert(&(pmap)->pm_mtx, (type)) -#define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx) -#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \ - NULL, MTX_DEF | MTX_DUPOK) -#define PMAP_LOCKED(pmap) mtx_owned(&(pmap)->pm_mtx) -#define PMAP_MTX(pmap) (&(pmap)->pm_mtx) -#define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) -#define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx) - -extern ttb_entry_t pmap_kern_ttb; /* TTB for kernel pmap */ - -#define pmap_page_get_memattr(m) ((m)->md.pat_mode) - -/* - * Only the following functions or macros may be used before pmap_bootstrap() - * is called: pmap_kenter(), pmap_kextract(), pmap_kremove(), vtophys(), and - * vtopte2(). - */ -void pmap_bootstrap(vm_offset_t); -void pmap_kenter(vm_offset_t, vm_paddr_t); -void pmap_kremove(vm_offset_t); -boolean_t pmap_page_is_mapped(vm_page_t); -bool pmap_ps_enabled(pmap_t pmap); - -void pmap_tlb_flush(pmap_t, vm_offset_t); -void pmap_tlb_flush_range(pmap_t, vm_offset_t, vm_size_t); - -vm_paddr_t pmap_dump_kextract(vm_offset_t, pt2_entry_t *); - -int pmap_fault(pmap_t, vm_offset_t, uint32_t, int, bool); - -void pmap_set_tex(void); - -/* - * Pre-bootstrap epoch functions set. - */ -void pmap_bootstrap_prepare(vm_paddr_t); -vm_paddr_t pmap_preboot_get_pages(u_int); -void pmap_preboot_map_pages(vm_paddr_t, vm_offset_t, u_int); -vm_offset_t pmap_preboot_reserve_pages(u_int); -vm_offset_t pmap_preboot_get_vpages(u_int); -void pmap_preboot_map_attr(vm_paddr_t, vm_offset_t, vm_size_t, vm_prot_t, - vm_memattr_t); -void pmap_remap_vm_attr(vm_memattr_t old_attr, vm_memattr_t new_attr); - -#endif /* _KERNEL */ -#endif /* !_MACHINE_PMAP_V6_H_ */ diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h index b701478eed04..90568919b54a 100644 --- a/sys/arm/include/pmap.h +++ b/sys/arm/include/pmap.h @@ -1,10 +1,15 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2016 Svatopluk Kraus - * Copyright (c) 2016 Michal Meloun + * Copyright (c) 2014,2016 Svatopluk Kraus + * Copyright (c) 2014,2016 Michal Meloun + * Copyright (c) 1991 Regents of the University of California. * All rights reserved. * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department and William Jolitz of UUNET Technologies Inc. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -26,16 +31,140 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * + * The ARM version of this file was more or less based on the i386 version, + * which has the following provenance... + * + * Derived from hp300 version by Mike Hibler, this version by William + * Jolitz uses a recursive map [a pde points to the page directory] to + * map the page tables using the pagetables themselves. This is done to + * reduce the impact on kernel virtual memory for lots of sparse address + * space, and to reduce the cost of memory to each process. + * + * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 + * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 + * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 + * * $FreeBSD$ */ #ifndef _MACHINE_PMAP_H_ #define _MACHINE_PMAP_H_ -#include +#include +#include +#include +#include +#include +#include + +typedef uint32_t pt1_entry_t; /* L1 table entry */ +typedef uint32_t pt2_entry_t; /* L2 table entry */ +typedef uint32_t ttb_entry_t; /* TTB entry */ #ifdef _KERNEL -#include + +#if 0 +#define PMAP_PTE_NOCACHE // Use uncached page tables +#endif + +/* + * (1) During pmap bootstrap, physical pages for L2 page tables are + * allocated in advance which are used for KVA continuous mapping + * starting from KERNBASE. This makes things more simple. + * (2) During vm subsystem initialization, only vm subsystem itself can + * allocate physical memory safely. As pmap_map() is called during + * this initialization, we must be prepared for that and have some + * preallocated physical pages for L2 page tables. + * + * Note that some more pages for L2 page tables are preallocated too + * for mappings laying above VM_MAX_KERNEL_ADDRESS. + */ +#ifndef NKPT2PG +/* + * The optimal way is to define this in board configuration as + * definition here must be safe enough. It means really big. + * + * 1 GB KVA <=> 256 kernel L2 page table pages + * + * From real platforms: + * 1 GB physical memory <=> 10 pages is enough + * 2 GB physical memory <=> 21 pages is enough + */ +#define NKPT2PG 32 +#endif +#endif /* _KERNEL */ + +/* + * Pmap stuff + */ +struct md_page { + TAILQ_HEAD(,pv_entry) pv_list; + uint16_t pt2_wirecount[4]; + vm_memattr_t pat_mode; +}; + +struct pmap { + struct mtx pm_mtx; + pt1_entry_t *pm_pt1; /* KVA of pt1 */ + pt2_entry_t *pm_pt2tab; /* KVA of pt2 pages table */ + TAILQ_HEAD(,pv_chunk) pm_pvchunk; /* list of mappings in pmap */ + cpuset_t pm_active; /* active on cpus */ + struct pmap_statistics pm_stats; /* pmap statictics */ + LIST_ENTRY(pmap) pm_list; /* List of all pmaps */ +}; + +typedef struct pmap *pmap_t; + +#ifdef _KERNEL +extern struct pmap kernel_pmap_store; +#define kernel_pmap (&kernel_pmap_store) + +#define PMAP_LOCK(pmap) mtx_lock(&(pmap)->pm_mtx) +#define PMAP_LOCK_ASSERT(pmap, type) \ + mtx_assert(&(pmap)->pm_mtx, (type)) +#define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx) +#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \ + NULL, MTX_DEF | MTX_DUPOK) +#define PMAP_LOCKED(pmap) mtx_owned(&(pmap)->pm_mtx) +#define PMAP_MTX(pmap) (&(pmap)->pm_mtx) +#define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) +#define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx) + +extern ttb_entry_t pmap_kern_ttb; /* TTB for kernel pmap */ + +#define pmap_page_get_memattr(m) ((m)->md.pat_mode) + +/* + * Only the following functions or macros may be used before pmap_bootstrap() + * is called: pmap_kenter(), pmap_kextract(), pmap_kremove(), vtophys(), and + * vtopte2(). + */ +void pmap_bootstrap(vm_offset_t); +void pmap_kenter(vm_offset_t, vm_paddr_t); +void pmap_kremove(vm_offset_t); +boolean_t pmap_page_is_mapped(vm_page_t); +bool pmap_ps_enabled(pmap_t pmap); + +void pmap_tlb_flush(pmap_t, vm_offset_t); +void pmap_tlb_flush_range(pmap_t, vm_offset_t, vm_size_t); + +vm_paddr_t pmap_dump_kextract(vm_offset_t, pt2_entry_t *); + +int pmap_fault(pmap_t, vm_offset_t, uint32_t, int, bool); + +void pmap_set_tex(void); + +/* + * Pre-bootstrap epoch functions set. + */ +void pmap_bootstrap_prepare(vm_paddr_t); +vm_paddr_t pmap_preboot_get_pages(u_int); +void pmap_preboot_map_pages(vm_paddr_t, vm_offset_t, u_int); +vm_offset_t pmap_preboot_reserve_pages(u_int); +vm_offset_t pmap_preboot_get_vpages(u_int); +void pmap_preboot_map_attr(vm_paddr_t, vm_offset_t, vm_size_t, vm_prot_t, + vm_memattr_t); +void pmap_remap_vm_attr(vm_memattr_t old_attr, vm_memattr_t new_attr); extern char *_tmppt; /* poor name! */ From nobody Mon Jul 24 16:58:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZw2kHBz4ndpH; Mon, 24 Jul 2023 16:58: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 4R8mZw0ZQSz4GVp; Mon, 24 Jul 2023 16:58:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRTaYzL4bZsK38V9NlQQIQ6e3ts8NwpFO42EEHybA34=; b=pjManATGusyt3MhLI0cVqFc8ikUdvQ7SBR6l8zmJlRLSjbrSc4ADzhWfqGAqPOh7fPoZBM 1oqNDW70inW2+Sa5CuikzMHtS8A3yRz8o2ltEUaGKDmv90THRBW8wvhUdamAdoa8nWKZOO fLucu1Ob2aIf48UbC6B5o3ZzooeMoFfRkNiPKLjXZ7639aN11rnEsqVFlw0IY+wYZLcHcf uE2Ld2kppfP6bDgie5GTV8VjtUl5unragdth4lgaablw7qWaVgf1M0S7ITCxh6QhRlB+Un IlGw2GTDu+nCgffqzhzOqbRdD/G3MFMBG/KENbCSn6uGer8E1j7j9O/GCAoFkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRTaYzL4bZsK38V9NlQQIQ6e3ts8NwpFO42EEHybA34=; b=D+vqa06MCSdmyTBrdACYyM55ADcDw4lzpuXQoFDEoTVfYcpH0b4TvYcC+NZmiyMF28ljHD wQyTDshwRNQ9H2Ipa+GzfExnLCKt4TQsRrMpdVRC3b95yiko1ZDVWSZVM3fow+d9mIam2S bF232+Xyxok9gbeIo/js4BHND9vRz41Cts2mpUp+Gwwh7FUKOc74qySIYObkWx3/QW8hEN n+KyCoyr9ILoNEUUBBgz3OP+Njtkn6QTyLsSqLt3Lu3eCMeyYm4DdsllWDBI6mNZupsSuG nWQZrf4iW7fJBUb5NXtADeB/EYgCwx/5CdeOoLI0N2T3sGwMqBC2FE9nDtfnSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217928; a=rsa-sha256; cv=none; b=of3kiApyTsdfjt6we4Iu0lDcsqq2nHzL5I5PvHo9J1zh9SeQqp1kfHLxJG+MzgdA01jMnx 8OeWjEPLhldl0YNAlu3dIkIdp1JDbuEbYu5T4MZhwaY4+ozxOT4WiTcpE36GdoUtrGvL4D AL8KCZ4mYG0r1AJB/ueKxZou+IQtc09d9ey969w5pnRGrx3tfS1T5qxSqw6BcpXaJ/++V8 aowJO7bSa3fk1S7LE4sDUqCMxvyuk3O/ydtwdgjPpFyEjFJFQ1Fdh+BzA/SemmedMhlZA1 l/JeaTKDtLQD5n48dTM/JIVDrcoJ1KSseoFq1RBk2Kvpyzk0UMC74rmT2/7nLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZv6nRNzQZD; Mon, 24 Jul 2023 16:58: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 36OGwlM2096726; Mon, 24 Jul 2023 16:58:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwldh096725; Mon, 24 Jul 2023 16:58:47 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:47 GMT Message-Id: <202307241658.36OGwldh096725@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: 29629d9e763f - main - arm: Rename pte-v6.h to pte.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29629d9e763f62a481fa795caaa04bb0b030980f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=29629d9e763f62a481fa795caaa04bb0b030980f commit 29629d9e763f62a481fa795caaa04bb0b030980f Author: Andrew Turner AuthorDate: 2023-07-24 16:58:15 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:15 +0000 arm: Rename pte-v6.h to pte.h There is no need for this to be versioned after the removal of armv4/v5 Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41139 --- lib/libkvm/kvm_arm.h | 9 +-------- sys/arm/arm/locore-v6.S | 2 +- sys/arm/include/pmap_var.h | 2 +- sys/arm/include/{pte-v6.h => pte.h} | 0 sys/arm/mv/mv_armv7_machdep.c | 2 +- 5 files changed, 4 insertions(+), 11 deletions(-) diff --git a/lib/libkvm/kvm_arm.h b/lib/libkvm/kvm_arm.h index f441d65860ec..300c44902393 100644 --- a/lib/libkvm/kvm_arm.h +++ b/lib/libkvm/kvm_arm.h @@ -83,11 +83,7 @@ typedef uint32_t arm_pt_entry_t; #ifdef __arm__ #include -#if __ARM_ARCH >= 6 -#include -#else -#include -#endif +#include _Static_assert(PAGE_SHIFT == ARM_PAGE_SHIFT, "PAGE_SHIFT mismatch"); _Static_assert(PAGE_SIZE == ARM_PAGE_SIZE, "PAGE_SIZE mismatch"); @@ -114,9 +110,6 @@ _Static_assert(L1_C_ADDR_MASK == ARM_L1_C_ADDR_MASK, "L1_C_ADDR_MASK mismatch"); _Static_assert(L2_TYPE_INV == ARM_L2_TYPE_INV, "L2_TYPE_INV mismatch"); _Static_assert(L2_TYPE_L == ARM_L2_TYPE_L, "L2_TYPE_L mismatch"); _Static_assert(L2_TYPE_S == ARM_L2_TYPE_S, "L2_TYPE_S mismatch"); -#if __ARM_ARCH < 6 -_Static_assert(L2_TYPE_T == ARM_L2_TYPE_T, "L2_TYPE_T mismatch"); -#endif _Static_assert(L2_TYPE_MASK == ARM_L2_TYPE_MASK, "L2_TYPE_MASK mismatch"); #endif diff --git a/sys/arm/arm/locore-v6.S b/sys/arm/arm/locore-v6.S index ad96b0b9d638..7104ae124cf1 100644 --- a/sys/arm/arm/locore-v6.S +++ b/sys/arm/arm/locore-v6.S @@ -34,7 +34,7 @@ #include #include #include -#include +#include __FBSDID("$FreeBSD$"); diff --git a/sys/arm/include/pmap_var.h b/sys/arm/include/pmap_var.h index 08d32575f82a..e746ed513d4f 100644 --- a/sys/arm/include/pmap_var.h +++ b/sys/arm/include/pmap_var.h @@ -30,7 +30,7 @@ #ifndef _MACHINE_PMAP_VAR_H_ #define _MACHINE_PMAP_VAR_H_ -#include +#include /* * Various PMAP defines, exports, and inline functions diff --git a/sys/arm/include/pte-v6.h b/sys/arm/include/pte.h similarity index 100% rename from sys/arm/include/pte-v6.h rename to sys/arm/include/pte.h diff --git a/sys/arm/mv/mv_armv7_machdep.c b/sys/arm/mv/mv_armv7_machdep.c index c7f5f0e4d13b..f08b62048e1e 100644 --- a/sys/arm/mv/mv_armv7_machdep.c +++ b/sys/arm/mv/mv_armv7_machdep.c @@ -62,7 +62,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include From nobody Mon Jul 24 16:58:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZx2nWNz4ndQC; Mon, 24 Jul 2023 16:58: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 4R8mZx1fnXz4GWK; Mon, 24 Jul 2023 16:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cvV6Uzz8v5d5ZaTCEjJwoTHGiwoD+TUyY5WODHpQ8pw=; b=Chr/K8E05ISj0V5RiIeLqm9trphswJ4uQAvOCRGFyAYrPnkTC19RtB8DucXiILRqAUgR1p OLpHeqatppPBlJLEP70y9gjvi5WeKTRgleV+IARAcNOE8uxlbzXfQ9SWg2GlJlpJfUYlrL AqQfTcUmHKFQOAGDyBupZ0U9eI2ZzklZs/zbBetq/qVjISJ+i4ZaCyyK/JQLFD0naC49/T 9PplYRRX4nVOfUGo++Yy9GhyDF5NJ4n8c9bRGkyrNSBbuXDH8abFtD9zCHSoekYZC7sZAt /adSosOJXWYymG3ZQMmc/AyWBqUtFgMYuXaawcW7m4HhlsX6KwTLnp3l8KvNTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cvV6Uzz8v5d5ZaTCEjJwoTHGiwoD+TUyY5WODHpQ8pw=; b=gzz9HJ7847UPUd6CV26O8sHX8yxJSFwvIKmKE7Kfn/tgarnn3OE4QtsZpf0/sSonSis/G8 YtLBYpmZIgxvBKZi3yfMRHDa+3fvGiS8zv3nukuBV5kj/EuI0i7OaWylnK4npHsVkT/psx oTXQ14W0mkdM8S45gUisdZtUZPcnxQWVK3N/P6NkU6BLFMilG4RM4VUk9eHR3kKV1JECP1 OPWtoGNMAlzV7OYr8eQDxtbnvUREXV+MUFBThwOcqqJK05LXlOMkzmwVsZNDP0EWw4nL6r P3klqSqrthVxtCzMk/GnR2I7T4Z32ggRlhJneO5FdCPzVWLzP53LdwRuH6zhig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217929; a=rsa-sha256; cv=none; b=xr0XDxk8hewaUTYEKvgQgSTlJ7xD3E6Safv9dt1aHnrzL8IzBIjBswDytCaaepePmiXrjS j60fY8BYLdg9E+gNIN6mb/BFBtDhuJn6w21XOT2H75B6BpGW4fFWcqReitUV1z9hxlteD/ kpub1uZ+Vwh9ktbGhMgSGfyASB2p8ZhfMiQ8E8Cf+MAXH+zCXEOQtr7VcLUY15WYVB5l4d YMZuQS99vZ+wDUS+uZeQmmvncpHuVMl5sgHcYzgDbz5+G7x9Gw4Nan/dc0IX+PF7SJaYsV zEqVAGHevKjrkPmBtAvxtcp4+eijv1fGHfzYEvSFPXe0GRo1plr0hTf/DJflpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZx0hbYzQMD; Mon, 24 Jul 2023 16:58: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 36OGwnUK096745; Mon, 24 Jul 2023 16:58:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwmSP096744; Mon, 24 Jul 2023 16:58:48 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:48 GMT Message-Id: <202307241658.36OGwmSP096744@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: 379c736c5a06 - main - Add old arm headers to ObsoleteFiles.inc List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 379c736c5a0688c564cf733b70a15da385aa6439 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=379c736c5a0688c564cf733b70a15da385aa6439 commit 379c736c5a0688c564cf733b70a15da385aa6439 Author: Andrew Turner AuthorDate: 2023-07-24 16:58:15 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:15 +0000 Add old arm headers to ObsoleteFiles.inc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41140 --- ObsoleteFiles.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 80e106d63db8..0dc315ee64ba 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20230724: Remove unneeded arm headers +.if ${TARGET_ARCH} == "arm" +OLD_FILES+=usr/include/machine/atomic-v6.h +OLD_FILES+=usr/include/machine/cpu-v6.h +OLD_FILES+=usr/include/machine/pmap-v6.h +OLD_FILES+=usr/include/machine/pte-v6.h +OLD_FILES+=usr/include/machine/swi.h +.endif + # 20230714: gsignal OLD_FILES+=usr/share/man/man9/gsignal.9.gz From nobody Mon Jul 24 16:58:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8mZy3Vtbz4ndyX; Mon, 24 Jul 2023 16:58: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 4R8mZy2YMlz4GZw; Mon, 24 Jul 2023 16:58:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Wo2KrxqQnMrVNqeSKeN/O50ekCrPTr95aVwb14xUFA=; b=tCw9gnp9NNiRMq35iCpIKRKOKLqBOHCrO84EdMPy8oBOccCQzhw9EdoUyUglZJXh+oZ0dR Nhc0URPRRnX6irU7Crn3Jua94/LZo6RiUpPUrHJovmWtvTPQy8v32k9zvUEKOXykRTTcFg JuIlZtpj6RiAYa3RgsxnzSRlk2n+lgxQrjJ08TVICQUU3akd9dj1Cx+6J8kaYt0HQL9szZ RDLa7dCMw33dpWU6qn/LnaHcq7HXV12N3tNtGLOXahmvRDTqc8A8kHymcR7/sbcIf/ScKE ecLlt65fU+2sFJvvTs2nOR4L0qVg/CZwolCgQL94taO/E8iJamjdNsEDMIoDig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690217930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Wo2KrxqQnMrVNqeSKeN/O50ekCrPTr95aVwb14xUFA=; b=tdBYvLpIMmFMtQ7x1qvfa3UAN0qCBi45WpLI0/AUK0cYRhvGNhdyG2WyN/xITpET0ukOS4 8YijP6nGh4qvi43oe8xqhEeKHBtxhLqMtF0sq77qjaHdMGF4iCrrBqgHiaY08SvADl7Rc9 mfXazirEMdhg0OyDvFHwB8SpqUv/eT69G66mfieV4ytvABW0MkdvFVwEuvZ1sRTQAEpDtb 0dy1sEc0pN5aNy6csShuSBDpbkhjKpya3j/gtXchVOuQfG9WJIUowPRo5bAtvhG2q06Hep yeWRgejcKNTkYTo5M4nJCsFAKXc1d426KsigCngFldY+Xn9MJDFIctPEgxwOgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690217930; a=rsa-sha256; cv=none; b=J1J5lpdzPa925ux1g6/ABu5goOlzYHeE+EbVOvyi2MR6WB8SiQ4Y1AMqK+eF3FC0wy1LA/ +My7F8ffwkNBshMxOdRGfucbtCU6w/6Zg1GTFttikz17/TFzfeow5jHWHxVyYu2ftN7dtN Q6S12dpvZI4AlRFVxPm32X+X7TBwDeuc1gcC7j5jbBL6p3kWNnhZPeyULvrczjf5xsLQ4x ji6tqID9YruNGKb2+WrO6jsnD/xxzc00ArSdDBH8Dm9sFYpXY9XexpyrKtpfs6KoioOLU6 NaJmcTVsYbTHBypYt9+DSKCpVtnfy3RexGZdSajsi16Z7xL2SHa2jETbjk49gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8mZy1d4vzQ3j; Mon, 24 Jul 2023 16:58: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 36OGwoqp096765; Mon, 24 Jul 2023 16:58:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OGwowj096764; Mon, 24 Jul 2023 16:58:50 GMT (envelope-from git) Date: Mon, 24 Jul 2023 16:58:50 GMT Message-Id: <202307241658.36OGwowj096764@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: 7a165460252c - main - arm: Only include sysreg.h when needed in asm.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7a165460252c04cbdfb60e3e86b788dcf4b72e9a Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7a165460252c04cbdfb60e3e86b788dcf4b72e9a commit 7a165460252c04cbdfb60e3e86b788dcf4b72e9a Author: Andrew Turner AuthorDate: 2023-07-24 16:58:16 +0000 Commit: Andrew Turner CommitDate: 2023-07-24 16:58:16 +0000 arm: Only include sysreg.h when needed in asm.h We only need sysreg.h for armv6 barriers Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41141 --- sys/arm/arm/cpufunc_asm.S | 2 ++ sys/arm/arm/hypervisor-stub.S | 1 + sys/arm/include/asm.h | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/arm/arm/cpufunc_asm.S b/sys/arm/arm/cpufunc_asm.S index 94b34714bfe4..3f4d415b56d8 100644 --- a/sys/arm/arm/cpufunc_asm.S +++ b/sys/arm/arm/cpufunc_asm.S @@ -45,6 +45,8 @@ #include __FBSDID("$FreeBSD$"); +#include + .text .align 2 diff --git a/sys/arm/arm/hypervisor-stub.S b/sys/arm/arm/hypervisor-stub.S index e7268e6465c4..2202edf6b4c2 100644 --- a/sys/arm/arm/hypervisor-stub.S +++ b/sys/arm/arm/hypervisor-stub.S @@ -29,6 +29,7 @@ #include #include #include +#include __FBSDID("$FreeBSD$"); diff --git a/sys/arm/include/asm.h b/sys/arm/include/asm.h index 72bf244c449a..e2e71e13b643 100644 --- a/sys/arm/include/asm.h +++ b/sys/arm/include/asm.h @@ -41,7 +41,6 @@ #ifndef _MACHINE_ASM_H_ #define _MACHINE_ASM_H_ #include -#include #define _C_LABEL(x) x #define _ASM_LABEL(x) x @@ -194,6 +193,7 @@ #endif #elif __ARM_ARCH == 6 +#include #define ISB mcr CP15_CP15ISB #define DSB mcr CP15_CP15DSB #define DMB mcr CP15_CP15DMB From nobody Mon Jul 24 17:28:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8nF272gyz4nwDG; Mon, 24 Jul 2023 17: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 4R8nF24qD9z4Qk5; Mon, 24 Jul 2023 17: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=1690219702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8n1tnVSFPxvR0NRXMrhKhjVr/h8G8+yi+amTb4E6NY=; b=iFL18kaWMX/WEGOzlo3nkfsYpexO56jVuuemLFjCkJdCPwF3l3OHPvDCqMSK0vTbEo+8oH tCEXsFzn+MXD+YKBBtVLOmPx3BJGw97L5YljZHDvPDf3xzQK6Q4tdR/hadXQoWvJySFhl8 mQBeXUfk1hCt/f55w5154ZA+uZuJe5EvJwGAE7Gkd6gRgKd4YZ3P778HMCVDsAlTE1n8Th x6TAy+w5jLtDZXHdiCYOo7Qt0uraaTn1ZRsVjrfs+UIdPJce6PoquJ+d0OA0JGtvt4un+m uGhaaH1g5Mg76meVMkGlHlnR3xjv2w+SMQrKaqSvs5YJwbxnA6Pq89E+SfzrxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690219702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8n1tnVSFPxvR0NRXMrhKhjVr/h8G8+yi+amTb4E6NY=; b=OumurNWHYkfDnHGwCSB5jS69egSzn+rbNoSbZ0ma2M4OWUvfZThci26lfvfE0AwFbtsKRZ l5rRSQqb03nninWqQ27TEIqiNS+YyZ5bPyozgHUmf350l6tQXxuJyzoQNWbQ4uO/y3VxUV GUfh6y7KQmOcY43wy/k+QxIt0+Sy7bMd8fTmZMpTbHR9cSHcXGns3Y7lfVjUA7w6TZyfVn PkTqyvhxMi3RQMKj21hJG9/y+i2RnIeleG/oAr99liryDdgId7sxaN8KCjzZA2WmQGNLvD JMorkI0p0kECRyrFFhSvApXCicv6Qomwt5V3CFc/e6TEgF+FeYVUZPxX/Dz5Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690219702; a=rsa-sha256; cv=none; b=lTLfGPb0xsHmMIDnwBTAGldNTNh1ve+LXJT4rIactjVLbT86SbRpcJDCeqZAs82HJuuHty EJaERoyZ9CoQytEIIa9/+zHufnG63JzvZnnYPqr9gfDGQEciUpHiczfWzsZfLlirDK5Aza GspLvDlCg9ebdGtAZSuWrLeZHmukXpZXTKVbK6SiEr38kPQlYOnMF9HVa7d8PFZJwzSPct rsOG1ULoxNaMAfuUdT//b8iPPoWtTJfsZG5a7zgKX2E8ZyeVhH0bYBeRwue239rsA3jnUE H6R6MXEDzSblLIslqG9gfSh7nfzWR4P3TEuHve4VMEPYFiPYZ3qnR/d9FcilzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8nF23d2WzQyb; Mon, 24 Jul 2023 17: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 36OHSMnB046452; Mon, 24 Jul 2023 17: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 36OHSMPU046451; Mon, 24 Jul 2023 17:28:22 GMT (envelope-from git) Date: Mon, 24 Jul 2023 17:28:22 GMT Message-Id: <202307241728.36OHSMPU046451@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: 0b416346e1f5 - main - bus_dma: Trim CAM includes from subr_bus_dma.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/main X-Git-Reftype: branch X-Git-Commit: 0b416346e1f575cbd1070b74b71a50f56487ef45 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0b416346e1f575cbd1070b74b71a50f56487ef45 commit 0b416346e1f575cbd1070b74b71a50f56487ef45 Author: Marius Strobl AuthorDate: 2023-07-24 17:26:06 +0000 Commit: John Baldwin CommitDate: 2023-07-24 17:26:06 +0000 bus_dma: Trim CAM includes from subr_bus_dma.c These are no longer needed after commit c5312bd79e66. This did require adding an include of instead for SIZE_T_MAX which previously was dragged in via header pollution. --- sys/kern/subr_bus_dma.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c index 683b41d0047c..7f06e4e4f92b 100644 --- a/sys/kern/subr_bus_dma.c +++ b/sys/kern/subr_bus_dma.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -53,9 +54,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include - #include #include From nobody Mon Jul 24 17:33:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8nLt6dVKz4p05d; Mon, 24 Jul 2023 17:33: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 4R8nLt67D2z3DB5; Mon, 24 Jul 2023 17:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690220006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D+jbUHlhNWgn7WqonhqRoD0JLlJOTBeJ8OWZPnst6eQ=; b=Mmb+fOkBOv/JUrtOy51GRgD+AVrNzkJdJPNjH1s8vNBLgr0QFlG/9IXyA6Fh5sgaBFM/vp DC9hXaFiWmPZjguj1dDNuSXlDthGlQCU5ghSY8B2iITsrZQTYSjsRS8wRR1TgRKkaowL/5 eh1wXcAdA9qD2YE4koTp7y+PuUme+2C+QrCqM2Ul1l1VepBbZmFxF3YRCPvbRrJbEm/vBm LwTLYKjMe7Zuqq7AsSU7p3etRITVlznbYI1Ym6iBF/aUe7T/T/aZc1CqdACM/7f4KHfjaw gz0NMb8L+CkF1wSCjJasKtuOXOlvY4DbYfVeaY4ucbN9JhezbPW4Tj89n1ekqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690220006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D+jbUHlhNWgn7WqonhqRoD0JLlJOTBeJ8OWZPnst6eQ=; b=rkhJOMwXQZ7n7ikHn5pvDJqzX6JRompI+Pl2Mx9RR0UuSSteiSZ3/F+RG2k5qzH6VGokhU 5rUvHNK1Txg/4fqkJNhzJ3AS7rzxVYbXIcGRh2L9XG9CjVK2e3+7XWFgdtsuTtqZXNCH/f H/cOJG54hXRNcX+TxGH3YUL0LDHxIzrYqOd55prfoiS1frw7kHa4iRoL3yX7UHyCG1VQa4 +Bezfg2R/d5geoQhxvJAAw2HsQc8mN7yImM+Acr71nvn9dTsWZmHXGimtOfo4++MOWGOwo j64odBq+yJnlVa3bkMgQC+e/fWt5HwqKAllSz5my/PJhJuqz/r2ucKuQ1sMSEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690220006; a=rsa-sha256; cv=none; b=UbHVILPViwlhlED0mCR0kp7rDa4i0nuhvLXwDgr/KXNeAGSkVDGXL6tSFL+MhGmvle1Rhm XO3Mqz2fVBQvVA7I4Dq19dV5u3l5rHebFsHlNIGXDK6bAjnAabrs0eGeRqkfUmuYENQtgq VbqmERKUzTrZiVdPFM6IrtOeGYgDjp5QG+VHI7nrigd0Pv30G4xfZeAemeecYCvrJSyaR6 QJZ1njmgi+4Jo3l8oKZEcUZ6jeAu41DxXErhLux76nfFZ1wWK/6XXEKOmhhuiF8OhPnBzF lH3awrPvYzxlH66JTB7pr0mz7h8jPXL2N8rXt8UEtmpl2Yjug18PQuxBtvcObg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8nLt5DvzzQnv; Mon, 24 Jul 2023 17:33: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 36OHXQqD062535; Mon, 24 Jul 2023 17:33:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OHXQRO062534; Mon, 24 Jul 2023 17:33:26 GMT (envelope-from git) Date: Mon, 24 Jul 2023 17:33:26 GMT Message-Id: <202307241733.36OHXQRO062534@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: 92103adbebd9 - main - nvme: Use a memdesc for the request buffer instead of a bespoke union. List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 92103adbebd9c476c5c9c72318ff1853353e890c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=92103adbebd9c476c5c9c72318ff1853353e890c commit 92103adbebd9c476c5c9c72318ff1853353e890c Author: John Baldwin AuthorDate: 2023-07-24 17:32:58 +0000 Commit: John Baldwin CommitDate: 2023-07-24 17:32:58 +0000 nvme: Use a memdesc for the request buffer instead of a bespoke union. This avoids encoding CAM-specific knowledge in nvme_qpair.c. Reviewed by: chuck, imp, markj Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D41119 --- sys/dev/nvme/nvme_private.h | 30 +++++++++-------------------- sys/dev/nvme/nvme_qpair.c | 46 ++++++++------------------------------------- 2 files changed, 17 insertions(+), 59 deletions(-) diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index 081f5e984a6c..370bd0dccf20 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -114,21 +115,11 @@ struct nvme_completion_poll_status { int done; }; -#define NVME_REQUEST_VADDR 1 -#define NVME_REQUEST_NULL 2 /* For requests with no payload. */ -#define NVME_REQUEST_UIO 3 -#define NVME_REQUEST_BIO 4 -#define NVME_REQUEST_CCB 5 - struct nvme_request { struct nvme_command cmd; struct nvme_qpair *qpair; - union { - void *payload; - struct bio *bio; - } u; - uint32_t type; - uint32_t payload_size; + struct memdesc payload; + bool payload_valid; bool timeout; nvme_cb_fn_t cb_fn; void *cb_arg; @@ -521,9 +512,8 @@ nvme_allocate_request_vaddr(void *payload, uint32_t payload_size, req = _nvme_allocate_request(cb_fn, cb_arg); if (req != NULL) { - req->type = NVME_REQUEST_VADDR; - req->u.payload = payload; - req->payload_size = payload_size; + req->payload = memdesc_vaddr(payload, payload_size); + req->payload_valid = true; } return (req); } @@ -534,8 +524,6 @@ nvme_allocate_request_null(nvme_cb_fn_t cb_fn, void *cb_arg) struct nvme_request *req; req = _nvme_allocate_request(cb_fn, cb_arg); - if (req != NULL) - req->type = NVME_REQUEST_NULL; return (req); } @@ -546,8 +534,8 @@ nvme_allocate_request_bio(struct bio *bio, nvme_cb_fn_t cb_fn, void *cb_arg) req = _nvme_allocate_request(cb_fn, cb_arg); if (req != NULL) { - req->type = NVME_REQUEST_BIO; - req->u.bio = bio; + req->payload = memdesc_bio(bio); + req->payload_valid = true; } return (req); } @@ -559,8 +547,8 @@ nvme_allocate_request_ccb(union ccb *ccb, nvme_cb_fn_t cb_fn, void *cb_arg) req = _nvme_allocate_request(cb_fn, cb_arg); if (req != NULL) { - req->type = NVME_REQUEST_CCB; - req->u.payload = ccb; + req->payload = memdesc_ccb(ccb); + req->payload_valid = true; } return (req); diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 3dcc6aadc6ca..dffbaba8deca 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -447,7 +447,7 @@ nvme_qpair_complete_tracker(struct nvme_tracker *tr, KASSERT(cpl->cid == req->cmd.cid, ("cpl cid does not match cmd cid\n")); if (!retry) { - if (req->type != NVME_REQUEST_NULL) { + if (req->payload_valid) { bus_dmamap_sync(qpair->dma_tag_payload, tr->payload_dma_map, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); @@ -462,7 +462,7 @@ nvme_qpair_complete_tracker(struct nvme_tracker *tr, req->retries++; nvme_qpair_submit_tracker(qpair, tr); } else { - if (req->type != NVME_REQUEST_NULL) { + if (req->payload_valid) { bus_dmamap_unload(qpair->dma_tag_payload, tr->payload_dma_map); } @@ -1179,45 +1179,13 @@ _nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req) tr->deadline = SBT_MAX; tr->req = req; - switch (req->type) { - case NVME_REQUEST_VADDR: - KASSERT(req->payload_size <= qpair->ctrlr->max_xfer_size, - ("payload_size (%d) exceeds max_xfer_size (%d)\n", - req->payload_size, qpair->ctrlr->max_xfer_size)); - err = bus_dmamap_load(tr->qpair->dma_tag_payload, - tr->payload_dma_map, req->u.payload, req->payload_size, - nvme_payload_map, tr, 0); - if (err != 0) - nvme_printf(qpair->ctrlr, - "bus_dmamap_load returned 0x%x!\n", err); - break; - case NVME_REQUEST_NULL: + if (!req->payload_valid) { nvme_qpair_submit_tracker(tr->qpair, tr); - break; - case NVME_REQUEST_BIO: - KASSERT(req->u.bio->bio_bcount <= qpair->ctrlr->max_xfer_size, - ("bio->bio_bcount (%jd) exceeds max_xfer_size (%d)\n", - (intmax_t)req->u.bio->bio_bcount, - qpair->ctrlr->max_xfer_size)); - err = bus_dmamap_load_bio(tr->qpair->dma_tag_payload, - tr->payload_dma_map, req->u.bio, nvme_payload_map, tr, 0); - if (err != 0) - nvme_printf(qpair->ctrlr, - "bus_dmamap_load_bio returned 0x%x!\n", err); - break; - case NVME_REQUEST_CCB: - err = bus_dmamap_load_ccb(tr->qpair->dma_tag_payload, - tr->payload_dma_map, req->u.payload, - nvme_payload_map, tr, 0); - if (err != 0) - nvme_printf(qpair->ctrlr, - "bus_dmamap_load_ccb returned 0x%x!\n", err); - break; - default: - panic("unknown nvme request type 0x%x\n", req->type); - break; + return; } + err = bus_dmamap_load_mem(tr->qpair->dma_tag_payload, + tr->payload_dma_map, &req->payload, nvme_payload_map, tr, 0); if (err != 0) { /* * The dmamap operation failed, so we manually fail the @@ -1226,6 +1194,8 @@ _nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req) * nvme_qpair_manual_complete_tracker must not be called * with the qpair lock held. */ + nvme_printf(qpair->ctrlr, + "bus_dmamap_load_mem returned 0x%x!\n", err); mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_tracker(tr, NVME_SCT_GENERIC, NVME_SC_DATA_TRANSFER_ERROR, DO_NOT_RETRY, ERROR_PRINT_ALL); From nobody Mon Jul 24 20:53:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8snQ3T7Jz4pSrL; Mon, 24 Jul 2023 20:53:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R8snQ2Vv6z3kxT; Mon, 24 Jul 2023 20:53:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690231994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6W3y8wjGcScJ3k8Ia4KPksLqnE6YGa4Dqr4iDd4VPdA=; b=DL+xqNhWuyeyGyxgajT97qi3qEHovO4AzcR1ZN9otCMT+GTQMBAoQiWW9LY4WXY8K+FCSP H5UaaVDq0wtVjtfYeEsagbfygx8UkwHOxqIbHYrbHtUX/Ip5vNI29ztG5FfPWV2wS/Z9Dm +Jmp7yG7Vuz6thShfL+o92GmGjq0lUIl7Sa6saiUgM4yCYVZwwnW53T8NY8kBtZ5kEt7Sy bbQN0ZDE1/N52sfPPUWHj+NGOh2tK7dS/ZIOdZnc5LzciTlZzRMVyuzYcXzoMLTKoNA63P BIWx77jFOkd8z+2bcAIgtTMQ6+KawSRldn4Q2ypgcqdobskV/1+pxGX1ONo5vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690231994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6W3y8wjGcScJ3k8Ia4KPksLqnE6YGa4Dqr4iDd4VPdA=; b=vak2JxarGuzidORNc2fEda9ZE9hQD/xDGBf14Pl8XON6UT12jlEMT6tXMdADBsJeDi1hJR tp5lzKzUDlfldisCUb+DNQgkk02IG2AYaUlB+x+pQxhzDGP5DrypiLrZJ4PkkMJ9MMNYR9 aAqutRynEM/urj+FLWInb2HDWyFg12wXhqqmI5GXXuNOcvie2aRsXdT9vemIvOnGR9IIAa qCQBAOsPEVGjawCkLedRaNumyqUlRu18ey92iS512rV+ScrdkcjFw/eyc+YvlZNwF1gp25 228TQxGjijDPHInEtOmBGcfKltKytw8pG/3iS/LXZK4YrikeoVlsL32G3u1oww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690231994; a=rsa-sha256; cv=none; b=lHhUUcB63k8ATcui2727rT1wiC9OZd9kRWFsPzl0ouhLEKt6bDy2ALjemD8Z135jvlsqKz xEUVCsK5IZE/Dn4wqIMtQuSWm8gj+gQUKanjl0iHalOSnlWvbAR9wAKe2h/mRH3SWYIhVX Neiwpj/j/dmOmJEppsWPH+WmZ+FsJKpQh86ZFmR1ED1uPT7OvXZtqJYIxoGzlp4TCAjKo4 0X6PcLqeppKXIdrxcOJ3MDFyXa7nT7D0AoVh5uBwZfjmHuzaixY35UX+8Px0CmYMijw/t1 CuCTAB3c5Kc7lEjNRjLMgTTPWfQfe3Iz0vapKXo8G8p6M8wgw5A6hFj6/Wk9Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8snQ1Xg6zXwZ; Mon, 24 Jul 2023 20:53: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 36OKrE4h092337; Mon, 24 Jul 2023 20:53:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OKrEao092336; Mon, 24 Jul 2023 20:53:14 GMT (envelope-from git) Date: Mon, 24 Jul 2023 20:53:14 GMT Message-Id: <202307242053.36OKrEao092336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: e57b86266b80 - main - arm64/disassem.c: remove redundant OP_RN_SP for TYPE_02 List-Id: Commit messages for all branches 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e57b86266b80e1eed266a8287ae51c941c591b9d Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=e57b86266b80e1eed266a8287ae51c941c591b9d commit e57b86266b80e1eed266a8287ae51c941c591b9d Author: Mykola Hohsadze AuthorDate: 2023-07-24 20:47:17 +0000 Commit: Mitchell Horne CommitDate: 2023-07-24 20:51:08 +0000 arm64/disassem.c: remove redundant OP_RN_SP for TYPE_02 Removed redundant OP_RN_SP for TYPE_02, since these addressing modes always use the SP register, never XZR. Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D40588 --- sys/arm64/arm64/disassem.c | 78 +++++++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 36 deletions(-) diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c index 5dc0bf5100ef..c1e38266a2e0 100644 --- a/sys/arm64/arm64/disassem.c +++ b/sys/arm64/arm64/disassem.c @@ -98,9 +98,10 @@ enum arm64_format_type { TYPE_01, /* - * OP , [, #]{!} SF32/64 - * OP , [], #{!} SF32/64 - * OP , , {, EXTEND AMOUNT } + * OP , [, #]! + * OP , [], # + * OP , [ {, # }] + * OP , [, {, EXTEND AMOUNT }] */ TYPE_02, @@ -159,69 +160,73 @@ static struct arm64_insn arm64_i[] = { { "adds", "SF(1)|0101011|SHIFT(2)|0|RM(5)|IMM(6)|RN(5)|RD(5)", TYPE_01, 0 }, /* adds shifted register */ { "ldr", "1|SF(1)|111000010|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_RN_SP }, /* ldr immediate post/pre index */ + TYPE_02, OP_SIGN_EXT }, + /* ldr immediate post/pre index */ { "ldr", "1|SF(1)|11100101|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_RN_SP }, /* ldr immediate unsigned */ + TYPE_02, 0 }, /* ldr immediate unsigned */ { "ldr", "1|SF(1)|111000011|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_RN_SP }, /* ldr register */ + TYPE_02, 0 }, /* ldr register */ { "ldr", "0|SF(1)|011000|IMM(19)|RT(5)", TYPE_03, OP_SIGN_EXT | OP_LITERAL | OP_MULT_4 }, /* ldr literal */ { "ldrb", "00|111000010|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_SF32 | OP_RN_SP }, + TYPE_02, OP_SIGN_EXT | OP_SF32 }, /* ldrb immediate post/pre index */ { "ldrb", "00|11100101|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, /* ldrb immediate unsigned */ + TYPE_02, OP_SF32 }, /* ldrb immediate unsigned */ { "ldrb", "00|111000011|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, /* ldrb register */ + TYPE_02, OP_SF32 }, /* ldrb register */ { "ldrh", "01|111000010|IMM(9)|OPTION(2)|RN(5)|RT(5)", TYPE_02, - OP_SIGN_EXT | OP_SF32 | OP_RN_SP }, /* ldrh immediate post/pre index */ + OP_SIGN_EXT | OP_SF32 }, + /* ldrh immediate post/pre index */ { "ldrh", "01|11100101|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, /* ldrh immediate unsigned */ + TYPE_02, OP_SF32 }, /* ldrh immediate unsigned */ { "ldrh", "01|111000011|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, /* ldrh register */ + TYPE_02, OP_SF32 }, /* ldrh register */ { "ldrsb", "001110001|SF(1)|0|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_SF_INV | OP_RN_SP }, + TYPE_02, OP_SIGN_EXT | OP_SF_INV }, /* ldrsb immediate post/pre index */ { "ldrsb", "001110011|SF(1)|IMM(12)|RN(5)|RT(5)",\ - TYPE_02, OP_SF_INV | OP_RN_SP }, /* ldrsb immediate unsigned */ + TYPE_02, OP_SF_INV }, /* ldrsb immediate unsigned */ { "ldrsb", "001110001|SF(1)|1|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_SF_INV | OP_RN_SP }, /* ldrsb register */ + TYPE_02, OP_SF_INV }, /* ldrsb register */ { "ldrsh", "011110001|SF(1)|0|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_SF_INV | OP_RN_SP }, + TYPE_02, OP_SIGN_EXT | OP_SF_INV }, /* ldrsh immediate post/pre index */ { "ldrsh", "011110011|SF(1)|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_SF_INV | OP_RN_SP }, /* ldrsh immediate unsigned */ + TYPE_02, OP_SF_INV }, /* ldrsh immediate unsigned */ { "ldrsh", "011110001|SF(1)|1|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_SF_INV | OP_RN_SP }, /* ldrsh register */ + TYPE_02, OP_SF_INV }, /* ldrsh register */ { "ldrsw", "10111000100|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_RN_SP }, /* ldrsw immediate post/pre index */ + TYPE_02, OP_SIGN_EXT }, + /* ldrsw immediate post/pre index */ { "ldrsw", "1011100110|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_RN_SP }, /* ldrsw immediate unsigned */ + TYPE_02, 0 }, /* ldrsw immediate unsigned */ { "ldrsw", "10111000101|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_RN_SP }, /* ldrsw register */ + TYPE_02, 0 }, /* ldrsw register */ { "ldrsw", "10011000|IMM(19)|RT(5)", TYPE_03, OP_SIGN_EXT | OP_LITERAL | OP_MULT_4 }, /* ldrsw literal */ { "str", "1|SF(1)|111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_RN_SP }, /* str immediate post/pre index */ + TYPE_02, OP_SIGN_EXT }, + /* str immediate post/pre index */ { "str", "1|SF(1)|11100100|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_RN_SP }, /* str immediate unsigned */ + TYPE_02, 0 }, /* str immediate unsigned */ { "str", "1|SF(1)|111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_RN_SP }, /* str register */ + TYPE_02, 0 }, /* str register */ { "strb", "00111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SIGN_EXT | OP_SF32 | OP_RN_SP }, + TYPE_02, OP_SIGN_EXT | OP_SF32 }, /* strb immediate post/pre index */ { "strb", "0011100100|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, /* strb immediate unsigned */ + TYPE_02, OP_SF32 }, /* strb immediate unsigned */ { "strb", "00111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, /* strb register */ + TYPE_02, OP_SF32 }, /* strb register */ { "strh", "01111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_SIGN_EXT | OP_RN_SP }, + TYPE_02, OP_SF32 | OP_SIGN_EXT }, /* strh immediate post/pre index */ { "strh", "0111100100|IMM(12)|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, + TYPE_02, OP_SF32 }, /* strh immediate unsigned */ { "strh", "01111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", - TYPE_02, OP_SF32 | OP_RN_SP }, + TYPE_02, OP_SF32 }, /* strh register */ { "neg", "SF(1)|1001011|SHIFT(2)|0|RM(5)|IMM(6)|11111|RD(5)", TYPE_01, 0 }, /* neg shifted register */ @@ -547,9 +552,10 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) break; case TYPE_02: /* - * OP , [, #]{!}] SF32/64 - * OP , [], #{!} SF32/64 - * OP , , {, EXTEND AMOUNT } + * OP , [, #]! + * OP , [], # + * OP , [ {, # }] + * OP , [, {, EXTEND AMOUNT }] */ /* Mandatory tokens */ @@ -596,12 +602,12 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) di->di_printf("%s\t%s, ", i_ptr->name, arm64_reg(sf, rt, rt_sp)); if (inside != 0) { - di->di_printf("[%s", arm64_reg(1, rn, rn_sp)); + di->di_printf("[%s", arm64_x_reg(rn, 1)); if (imm != 0) di->di_printf(", #%d", imm); di->di_printf("]"); } else { - di->di_printf("[%s]", arm64_reg(1, rn, rn_sp)); + di->di_printf("[%s]", arm64_x_reg(rn, 1)); if (imm != 0) di->di_printf(", #%d", imm); } @@ -610,7 +616,7 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) } else { /* Last bit of option field determines 32/64 bit offset */ di->di_printf("%s\t%s, [%s, %s", i_ptr->name, - arm64_reg(sf, rt, rt_sp), arm64_reg(1, rn, rn_sp), + arm64_reg(sf, rt, rt_sp), arm64_x_reg(rn, 1), arm64_reg(option & 1, rm, rm_sp)); if (scale == 0) From nobody Mon Jul 24 20:53:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8snR4t5cz4pSg9; Mon, 24 Jul 2023 20:53: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 4R8snR3vvvz3l14; Mon, 24 Jul 2023 20:53:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690231995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dsRro2LHlHHM67dnFNfd8TBrEAva893V+wmr9O15ZGQ=; b=WujmVUDwrBs5MkMqVu+KwZHreT54lHVielMBdeWx4Pn08WrFEctgDs4970MAhUSm2a+r1n cmKe+k7SfGSwzdymdATBPlcl3CKjObvp8dsbo3+0Jw86c8LXsHgrWecL91iFNLPEn968WR BYmHNLnBe9vM/7Gj9yLPqGSVFWNgqgK3F499SIYShRD/sdi4e547kk7R17imZRNw5qLzck FnplWwuKfvKzvmaFOAag/z8ywQPixnLVVR6r82VT4mIXpR3cWaCP8/E5L1LYS5fflKIkOH x/ZG94SlJnSJfJYticduFGPmRYmdv+GTH7FRYANHuaIePwGl3pctT9q9RMVJng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690231995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dsRro2LHlHHM67dnFNfd8TBrEAva893V+wmr9O15ZGQ=; b=iSK1amZtuvgHqxoBFlcgXPhEUOWSKGxlNa4K6avihLZDwDHc+VT8XRRNoJ6RrSOqwsHmth VOAnpNVdS1s8qjcOH0MghYj0hkN+qchgnyKAILSLWvI3rKzNtjSBbXdBhCDpM0aWbmmz0X +TBbq/VwF68VgecSDw4C33hlh/zXwxylI0ID5qwJHdOIpLR/rkG4lUijbDAlbkh/nFexVw C912V3w/oY8+NMNwE4UY39ZFUMWktLNU7Mq6l7kazWDKOL5pmUspa/KLPpAlE3ExFk8BEY UVgqLDTYBTNZPGB7ASr/3vX4li/jlg2hcZhGX5iF+2apInaISf2oITOVdxmHgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690231995; a=rsa-sha256; cv=none; b=meCAT73PxMfij4F8pof3voSmC7jcs1plhOhvHCTWhRvclF5dtB/w6WtQSXPQToI0/lgPib kcrikGTXkJyIXLs2SDqCM7LpkSzxvMoc1vlWN/Rmom9ZTZAZJFuoFr3yibvGXibuObEkee xEtA3bpaAk/tOgL7CNZJc9k0Ibjs97EcPSjFFncRFjPTSADI8PGjuX1Nn4d7eqi3hmn8pj 2oBsEtA8SMVNIZWxaWq2TLz3qcRPGglr/ZnCTqF7My3tnWtaBufdI6HnvPREqtFwd8/8of iZkXSmT3OnER10moerIRLNwaSlmdwqGWYPS6mA0j7a0oTv4aQfJkCex8ecKe+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 4R8snR2QVHzY2F; Mon, 24 Jul 2023 20:53: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 36OKrF3r092365; Mon, 24 Jul 2023 20:53:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OKrFjG092364; Mon, 24 Jul 2023 20:53:15 GMT (envelope-from git) Date: Mon, 24 Jul 2023 20:53:15 GMT Message-Id: <202307242053.36OKrFjG092364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 4a07c778632b - main - arm64/disassem.c: add extended register instruction 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: 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a07c778632bddb86a82f3e1fe144d889dae69c5 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=4a07c778632bddb86a82f3e1fe144d889dae69c5 commit 4a07c778632bddb86a82f3e1fe144d889dae69c5 Author: Mykola Hohsadze AuthorDate: 2023-07-24 20:49:24 +0000 Commit: Mitchell Horne CommitDate: 2023-07-24 20:51:11 +0000 arm64/disassem.c: add extended register instruction definitions Add disassembly support for the following extended register instructions: add, adds, sub, subs, cmp, cmn. Reviewed by: mhorne MFC after: 1 week Pull Request: https://reviews.freebsd.org/D40967 --- sys/arm64/arm64/disassem.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c index c1e38266a2e0..a86fef1d96a6 100644 --- a/sys/arm64/arm64/disassem.c +++ b/sys/arm64/arm64/disassem.c @@ -73,6 +73,11 @@ static const char *shift_2[] = { "lsl", "lsr", "asr", "ror" }; +static const char *extend_types[] = { + "uxtb", "uxth", "uxtw", "uxtx", + "sxtb", "sxth", "sxtw", "sxtx", +}; + /* * Structure representing single token (operand) inside instruction. * name - name of operand @@ -107,6 +112,12 @@ enum arm64_format_type { /* OP , #imm SF32/64 */ TYPE_03, + + /* + * OP , , {, { # } } + * OP , , {, { # } } + */ + TYPE_04, }; /* @@ -260,6 +271,18 @@ static struct arm64_insn arm64_i[] = { TYPE_01, OP_SHIFT_ROR }, /* eon shifted register */ { "eor", "SF(1)|1001010|SHIFT(2)|0|RM(5)|IMM(6)|RN(5)|RD(5)", TYPE_01, OP_SHIFT_ROR }, /* eor shifted register */ + { "add", "SF(1)|0001011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|RD(5)", + TYPE_04, OP_RD_SP }, /* add extended register */ + { "cmn", "SF(1)|0101011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|11111", + TYPE_04, 0 }, /* cmn extended register */ + { "adds", "SF(1)|0101011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|RD(5)", + TYPE_04, 0 }, /* adds extended register */ + { "sub", "SF(1)|1001011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|RD(5)", + TYPE_04, OP_RD_SP }, /* sub extended register */ + { "cmp", "SF(1)|1101011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|11111", + TYPE_04, 0 }, /* cmp extended register */ + { "subs", "SF(1)|1101011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|RD(5)", + TYPE_04, 0 }, /* subs extended register */ { NULL, NULL } }; @@ -408,6 +431,27 @@ arm64_disasm_read_token_sign_ext(struct arm64_insn *insn, u_int opcode, return (EINVAL); } +static const char * +arm64_disasm_reg_extend(int sf, int option, int rd, int rn, int amount) +{ + bool is_sp, lsl_preferred_uxtw, lsl_preferred_uxtx, lsl_preferred; + + is_sp = rd == 31 || rn == 31; + lsl_preferred_uxtw = sf == 0 && option == 2; + lsl_preferred_uxtx = sf == 1 && option == 3; + lsl_preferred = is_sp && (lsl_preferred_uxtw || lsl_preferred_uxtx); + + /* + * LSL may be omitted when is 0. + * In all other cases is required. + */ + if (lsl_preferred && amount == 0) + return (NULL); + if (lsl_preferred) + return ("lsl"); + return (extend_types[option]); +} + static const char * arm64_w_reg(int num, int wsp) { @@ -432,6 +476,18 @@ arm64_reg(int b64, int num, int sp) return (arm64_w_reg(num, sp)); } +/* + * Decodes OPTION(3) to get register or + * for extended register instruction. + */ +static const char * +arm64_disasm_reg_width(int option, int reg) +{ + if (option == 3 || option == 7) + return (arm64_x_reg(reg, 0)); + return (arm64_w_reg(reg, 0)); +} + vm_offset_t disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) { @@ -451,10 +507,13 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) /* Indicate if shift type ror is supported */ bool has_shift_ror; + const char *extend; + /* Initialize defaults, all are 0 except SF indicating 64bit access */ shift = rd = rm = rn = imm = idx = option = amount = scale = 0; sign_ext = 0; sf = 1; + extend = NULL; matchp = 0; insn = di->di_readword(loc); @@ -669,6 +728,37 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) di->di_printf("#%d", imm); break; + + case TYPE_04: + /* + * OP , , {, { # } } + * OP , , {, { # } } + */ + + arm64_disasm_read_token(i_ptr, insn, "RN", &rn); + arm64_disasm_read_token(i_ptr, insn, "RM", &rm); + arm64_disasm_read_token(i_ptr, insn, "OPTION", &option); + + rd_absent = arm64_disasm_read_token(i_ptr, insn, "RD", &rd); + extend = arm64_disasm_reg_extend(sf, option, rd, rn, imm); + + di->di_printf("%s\t", i_ptr->name); + + if (!rd_absent) + di->di_printf("%s, ", arm64_reg(sf, rd, rd_sp)); + + di->di_printf("%s, ", arm64_reg(sf, rn, 1)); + + if (sf != 0) + di->di_printf("%s", + arm64_disasm_reg_width(option, rm)); + else + di->di_printf("%s", arm64_w_reg(rm, 0)); + + if (extend != NULL) + di->di_printf(", %s #%d", extend, imm); + + break; default: goto undefined; } From nobody Mon Jul 24 22:03:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8vLH20dwz4pTjh; Mon, 24 Jul 2023 22:03: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 4R8vLH1Jnkz4Dh0; Mon, 24 Jul 2023 22:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690236199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FhE78cROgk3SPI2S0bWRlYBYq7mmebsLa7IUDWS3vUw=; b=q5c89nOTe7KTKu9T4VHIwbr6/WVzcPc2kKFMTgQe0XXitQaMNgvNALVSZGy/mQVCrdUVZs GCUCV4WFZMevRkn/nEoPBT0NPVu/MDue/+ZcLYegpQHOuxKWkiTxyaCH5eOwlCxclNjOt3 9kzQo8XQiPaWFzBJKDPtazIVkc2XlOzdSdD7vDPNJ+T6w8MF7Bodb67M0/aN8APjCZYBDK ZbclxojhDdndug1cvp4JMbaKJjSMDmCuZBsk2N1nvENQSI5DYfC3YvSJbsyeCvzedFf7un g5geH/F8vQMgWG7Cvfszze/wyZ3lRwOKsjtXaHPpHt3m0MoiK6ELbpenc1ZU5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690236199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FhE78cROgk3SPI2S0bWRlYBYq7mmebsLa7IUDWS3vUw=; b=KpBljSXHWr3p+L7eEeBREEbMPwt7oS/Ik27dmaXnUGiexEwQbT0yssQSTKrCEz1Ob/5XY9 b8P6vD8fXr17seBUMmQH9ifztu9pu64jVUPW+MLGex+n6mz0rfFDLyf1h1iFMBF4Zba1Wg mQOfJlpoSI11FjoRhpYxDQUt9QXYa+qIKLDDOk2/nDsRMyUJBvLXpt9CyjJixqPovz3ZyD 8jmGdf9nBaUPF+NuveXk3K2AapxPTz4N5t93ohuMeJyPR7G2hF+V8NW6/KrtWAZpPFyaRb Q6eix51MMC+5P0X8mB4P14Yb9mtwxzdEe7VFIJOufQySh4RqQKNr5+QdYDRuFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690236199; a=rsa-sha256; cv=none; b=Zbshg3gA1Eu+NZcaCoUVxThqgnVjG8Kh8N+3ObInZ/L8bXGRcQY5ZiKDPjrh+/x6wSqvJE nHawXcjkjhH0++vzb6PEZtBv3IWLmzW8+ispjK8GU4s1XbnOmkqcJSgYYW/E2aDPrvAYFb Ap5tn0fYrmO5LElytheEiaIwOYqfxcqG1LBQzoSm2Td5gzugHHZyCM2UsfoESRAO5Xr1Ml RYr+nqKq9co1btxZ+vqqPRuVYU09pyWX1fOpJNn/0HIWJ5Nkaz/vv7UOlEnVrLss27vaYy 4fy6PfGr8eLzVAc1885bD8T6iFok3i7EsBR3VWhYczdMspGpltowAHs/EXjn+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 4R8vLH0QQ2zZt8; Mon, 24 Jul 2023 22:03: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 36OM3ICY009523; Mon, 24 Jul 2023 22:03:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OM3IwQ009522; Mon, 24 Jul 2023 22:03:18 GMT (envelope-from git) Date: Mon, 24 Jul 2023 22:03:18 GMT Message-Id: <202307242203.36OM3IwQ009522@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: 5b353925ff61 - main - vnode read(2)/write(2): acquire rangelock regardless of do_vn_io_fault() List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b353925ff61b9ddb97bb453ba75278b578ed7d9 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5b353925ff61b9ddb97bb453ba75278b578ed7d9 commit 5b353925ff61b9ddb97bb453ba75278b578ed7d9 Author: Konstantin Belousov AuthorDate: 2023-07-23 15:55:50 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-24 22:02:59 +0000 vnode read(2)/write(2): acquire rangelock regardless of do_vn_io_fault() To ensure atomicity of reads against parallel writes and truncates, vnode lock was not enough at least since introduction of vn_io_fault(). That code only take rangelock when it was possible that vn_read() and vn_write() could drop the vnode lock. At least since the introduction of VOP_READ_PGCACHE() which generally does not lock the vnode at all, rangelocks become required even for filesystems that do not need vn_io_fault() workaround. For instance, tmpfs. PR: 272678 Analyzed and reviewed by: Andrew Gierth Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41158 --- sys/kern/vfs_vnops.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 83e95731d7c4..306840ff0357 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -1443,6 +1443,7 @@ vn_io_fault(struct file *fp, struct uio *uio, struct ucred *active_cred, void *rl_cookie; struct vn_io_fault_args args; int error; + bool rl_locked; doio = uio->uio_rw == UIO_READ ? vn_read : vn_write; vp = fp->f_vnode; @@ -1465,12 +1466,7 @@ vn_io_fault(struct file *fp, struct uio *uio, struct ucred *active_cred, } foffset_lock_uio(fp, uio, flags); - if (do_vn_io_fault(vp, uio)) { - args.kind = VN_IO_FAULT_FOP; - args.args.fop_args.fp = fp; - args.args.fop_args.doio = doio; - args.cred = active_cred; - args.flags = flags | FOF_OFFSET; + if (vp->v_type == VREG) { if (uio->uio_rw == UIO_READ) { rl_cookie = vn_rangelock_rlock(vp, uio->uio_offset, uio->uio_offset + uio->uio_resid); @@ -1482,11 +1478,22 @@ vn_io_fault(struct file *fp, struct uio *uio, struct ucred *active_cred, rl_cookie = vn_rangelock_wlock(vp, uio->uio_offset, uio->uio_offset + uio->uio_resid); } + rl_locked = true; + } else { + rl_locked = false; + } + if (do_vn_io_fault(vp, uio)) { + args.kind = VN_IO_FAULT_FOP; + args.args.fop_args.fp = fp; + args.args.fop_args.doio = doio; + args.cred = active_cred; + args.flags = flags | FOF_OFFSET; error = vn_io_fault1(vp, uio, &args, td); - vn_rangelock_unlock(vp, rl_cookie); } else { error = doio(fp, uio, active_cred, flags | FOF_OFFSET, td); } + if (rl_locked) + vn_rangelock_unlock(vp, rl_cookie); foffset_unlock_uio(fp, uio, flags); return (error); } From nobody Mon Jul 24 22:50:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8wNM5Hn3z4nvXd; Mon, 24 Jul 2023 22:50: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 4R8wNM3L9Pz3HMD; Mon, 24 Jul 2023 22:50:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690239011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSwrZ+NNwZvUB+aCPxcl+9MkyQLYvWTelN1ES3cnrx4=; b=hzHpfK/13iDBnHPh5AUozmqc4GEBofVf4uHu5FZuDKkaJ+IY10LDTk9fK2Owcke8tj1aBe v0takAiaVRkRpctAGJ9V9R3t9qmtXqvJlXh9kaxd/G4JpHI6IPy5qFLQ1UdXK+v0ZwcgBz 98EJlGTxxnhTN3WHoAlv8acWXIs+dYq0gbIrBQxgyVDBVT3OWfsEVoXrJoIRFkYccAAnUQ 1pO4zyVFKphW4WNqBmiTEDAmNSWlefWC3qUIPe09JoPcHvVkfnAPN3sEsPXDsPcT8y0P+q 24CLRPGiGt7NmKHxHC5lgfNqKULSYb99wvhb31pSUM29WfjsCunF12q6HfEFiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690239011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSwrZ+NNwZvUB+aCPxcl+9MkyQLYvWTelN1ES3cnrx4=; b=mPVDIuN1+MPBQq+HsK+LTmA6A9BEmaGjBG4qiNL4XtiR9B+FrKfh2fbMCHrb0/UYg7FOAZ kbpoD6SWcfTtTZ+/QVJ8b7yFz9v456Jt7D+NBqhPpdU0o3Rzh+3QqmEsrXyYontW170y5X n5rdXPCkE58Dh5maGPODEpzFayWw3LOuFgXqBIatqT+O5hTDt7Q47m8G+uZ3qvAu4bm4SC p+TApM5Ig/5UIqCIiMMoGMRfcpbjZl1evYgASNfSeaeA693IoEnkSwfCFVsAgCIwhr9muc zzJjijouaKGUyk1H35FdKaoH5ki98H7U+pvLFiif1YGkmO8BhQNVWfkPKoozOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690239011; a=rsa-sha256; cv=none; b=yJQutLRAyc/w6Z2P7FVJt7cgVv+EXjp20I9UpIXsXu8l+QnTqq7hO8vjXuhqpVqVlezLDS gDRjPoIktu2OE0aWCpbhsG7jGXiXj34yYYS1TLx8Bo6ZPiI7bDd5moUor+GmLf+rYRAe8G Ma8m7UyG3Mg/rDvMSjSf5cZVZeaEhN4fr+92w5jgrh9QntWY69iFvdeF5hDoSJdmSV1dDW nss1mQmZ+P8f7cxvApMENPKSGFp9wjXHJqqyo1Ouh77/XSqrWbyC4BhKaWkwOWuk5n0Qaj 6yxLsRiOd/7Xwi0+b+NwLFMtLAARy+UsG63oZf8sFH/XCvdVEwsjA16d0qwRZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8wNM2Qkyzc6p; Mon, 24 Jul 2023 22:50: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 36OMoBME081293; Mon, 24 Jul 2023 22:50:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36OMoBKk081290; Mon, 24 Jul 2023 22:50:11 GMT (envelope-from git) Date: Mon, 24 Jul 2023 22:50:11 GMT Message-Id: <202307242250.36OMoBKk081290@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: 789df254cc9e - main - amd64: Use a larger boot stack List-Id: Commit messages for all branches 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: 789df254cc9e20c860ccc149b94dd1f92843ec9a Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=789df254cc9e20c860ccc149b94dd1f92843ec9a commit 789df254cc9e20c860ccc149b94dd1f92843ec9a Author: Mark Johnston AuthorDate: 2023-07-24 22:47:42 +0000 Commit: Mark Johnston CommitDate: 2023-07-24 22:49:36 +0000 amd64: Use a larger boot stack With sanitizers enabled, it becomes possible to overflow the stack when only a single page is used. Follow arm64's example and use the default kernel stack size instead. This is a bit wasteful, but without a guard page, overflow merely corrupts adjacent .bss entries and is thus difficult to debug. Note, with a GENERIC kernel we already consume over half of the available boot stack space, see the review for an example. Reviewed by: kib Reported by: Jenkins MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41166 --- sys/amd64/amd64/genassym.c | 1 + sys/amd64/amd64/locore.S | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/genassym.c b/sys/amd64/amd64/genassym.c index feb3c7f503ce..4c17561b6e39 100644 --- a/sys/amd64/amd64/genassym.c +++ b/sys/amd64/amd64/genassym.c @@ -116,6 +116,7 @@ ASSYM(KERNBASE, KERNBASE); ASSYM(KERNLOAD, KERNLOAD); ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); +ASSYM(KSTACK_PAGES, KSTACK_PAGES); ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); diff --git a/sys/amd64/amd64/locore.S b/sys/amd64/amd64/locore.S index f034a25c9b1b..41386756021e 100644 --- a/sys/amd64/amd64/locore.S +++ b/sys/amd64/amd64/locore.S @@ -48,7 +48,7 @@ .set dmapbase,DMAP_MIN_ADDRESS .set dmapend,DMAP_MAX_ADDRESS -#define BOOTSTACK_SIZE 4096 +#define BOOTSTACK_SIZE (PAGE_SIZE * KSTACK_PAGES) .text /********************************************************************** @@ -148,7 +148,7 @@ ENTRY(la57_trampoline_gdt) ENTRY(la57_trampoline_end) .bss - ALIGN_DATA /* just to be sure */ + .p2align PAGE_SHIFT .globl bootstack .space BOOTSTACK_SIZE /* space for bootstack - temporary stack */ bootstack: From nobody Tue Jul 25 04:26:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rN2kXxz4p41w; Tue, 25 Jul 2023 04:26: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 4R93rN2KNlz4PCn; Tue, 25 Jul 2023 04:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sm70qBkU8yQTUUZUAqxVEotcKMxtbX7QvGVoRGj6yrk=; b=i81a5R4U4YMW9TVIXA0nTKVucF8Gaw+Wn3l39g8JaQO2ifCzFC6DAv71b+av/95LC8n3XX TJZBT9/e8bMGNyal8vqxNukSops1CwNPmkFHO3VZGu/IazbwnjzE0YSEQlaGPxjKJUAiGG KFdzcQPqpnwh1le7DXMXCiCav9Be64jdDDIpXolVg+NI4yy6AljTKk+U6tzdSZRofDPUH5 GpdcvHIzNK7exadKOEwdUVBt/V/KKK9AVIqsJyVQUhPSkqhyCJY/L5hFrNt2Brbpd1CBpr h7sRTYZ9mwM0OfwNbfHJEEtjxqQkyoTLqd1Q4lEyEUAEQbIUoeb4YUcQybGcvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sm70qBkU8yQTUUZUAqxVEotcKMxtbX7QvGVoRGj6yrk=; b=BJpgT72947Y77AOW0RabzHfEEMsWB8g/sDUECko0ZKmd1EoXx+b0s4syyL9h9V163WoUk+ tZEj8C/D1PRrjz3NYZlgO65cpUlkSrXuLxT4w8mbHbDLZ3Rg8rMLGe4YBt8rAfZ0m61+vt vykeU51Id3KfyVwIsGOLpxFovKqWZAkTDvJPavxOQHxNYszKu8O3vx5+Z1+woGnZdqmQM7 TGY4JdyfT6FVMDoBskjFL30di/yOF5xZ9lpC9fquqhveCirrjcXqUul5orv7BJ/US9fHzM ySjHd7hMwm4qpS5azA0zI0JSZ3+tIXZzfE2hYSv2k4NxIEQIaF/emR3ZXjzWGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259188; a=rsa-sha256; cv=none; b=Fw38gsmPjdVbtIfG0C2qof4fi4Kw9yHlcTsT3ReoJu/mDvsdLDEeCBq+pyQl7n+0uIXtZ1 yG9AKJuBjFf5XusfIOc6KaMzfPVtWwdHQwvcLhlJE5IZxVC/QzCPgWoGYla5a2RiaHa1Ue LyvHXE0UDoreOyqDELsF9ROh3ScLHJ5wlEf3nLUsDFJ3r+n54g8cwY9DqaIuE8UcDBhSQH JJhGWr6A21XtabQ6OUMGOKDT5OAo1ST9+MJ8QrnuJv2pZ5avM2rtacEhR6tMNXug6x/mkf 6rBag9/M580P9VZ3fwgPXZfnn+bls6y+YPaEMaCf5oHac6kgTGnFlkjmoA5Qmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rN1DHKzmBv; Tue, 25 Jul 2023 04:26: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 36P4QS7X039333; Tue, 25 Jul 2023 04:26:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QSSj039332; Tue, 25 Jul 2023 04:26:28 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:28 GMT Message-Id: <202307250426.36P4QSSj039332@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: 7af2f2c8016e - main - cam: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7af2f2c8016ef05f0d1ff46095d38b6ec247fe5b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7af2f2c8016ef05f0d1ff46095d38b6ec247fe5b commit 7af2f2c8016ef05f0d1ff46095d38b6ec247fe5b Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:56 +0000 cam: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sys/cam/cam.c | 8 +- sys/cam/cam.h | 24 ++-- sys/cam/cam_ccb.h | 272 ++++++++++++++++++++++----------------------- sys/cam/cam_compat.c | 4 +- sys/cam/cam_compat.h | 54 ++++----- sys/cam/cam_debug.h | 4 +- sys/cam/cam_periph.c | 78 ++++++------- sys/cam/cam_periph.h | 22 ++-- sys/cam/cam_queue.c | 10 +- sys/cam/cam_queue.h | 12 +- sys/cam/cam_sim.c | 8 +- sys/cam/cam_sim.h | 20 ++-- sys/cam/cam_xpt.c | 46 ++++---- sys/cam/cam_xpt.h | 14 +-- sys/cam/cam_xpt_internal.h | 26 ++--- sys/cam/cam_xpt_periph.h | 2 +- sys/cam/cam_xpt_sim.h | 4 +- 17 files changed, 304 insertions(+), 304 deletions(-) diff --git a/sys/cam/cam.c b/sys/cam/cam.c index 7d9d8602d009..22c0faad7f02 100644 --- a/sys/cam/cam.c +++ b/sys/cam/cam.c @@ -123,14 +123,14 @@ SYSCTL_INT(_kern_cam, OID_AUTO, sort_io_queues, CTLFLAG_RWTUN, #endif void -cam_strvis(u_int8_t *dst, const u_int8_t *src, int srclen, int dstlen) +cam_strvis(uint8_t *dst, const uint8_t *src, int srclen, int dstlen) { cam_strvis_flag(dst, src, srclen, dstlen, CAM_STRVIS_FLAG_NONASCII_ESC); } void -cam_strvis_flag(u_int8_t *dst, const u_int8_t *src, int srclen, int dstlen, +cam_strvis_flag(uint8_t *dst, const uint8_t *src, int srclen, int dstlen, uint32_t flags) { struct sbuf sb; @@ -141,7 +141,7 @@ cam_strvis_flag(u_int8_t *dst, const u_int8_t *src, int srclen, int dstlen, } void -cam_strvis_sbuf(struct sbuf *sb, const u_int8_t *src, int srclen, +cam_strvis_sbuf(struct sbuf *sb, const uint8_t *src, int srclen, uint32_t flags) { @@ -203,7 +203,7 @@ cam_strvis_sbuf(struct sbuf *sb, const u_int8_t *src, int srclen, * Each '*' generates recursion, so keep the number of * in check. */ int -cam_strmatch(const u_int8_t *str, const u_int8_t *pattern, int str_len) +cam_strmatch(const uint8_t *str, const uint8_t *pattern, int str_len) { while (*pattern != '\0' && str_len > 0) { diff --git a/sys/cam/cam.h b/sys/cam/cam.h index eacf3a248ce9..1b89afef5297 100644 --- a/sys/cam/cam.h +++ b/sys/cam/cam.h @@ -44,7 +44,7 @@ typedef u_int path_id_t; typedef u_int target_id_t; -typedef u_int64_t lun_id_t; +typedef uint64_t lun_id_t; #define CAM_XPT_PATH_ID ((path_id_t)~0) #define CAM_BUS_WILDCARD ((path_id_t)~0) @@ -52,10 +52,10 @@ typedef u_int64_t lun_id_t; #define CAM_LUN_WILDCARD (~(u_int)0) #define CAM_EXTLUN_BYTE_SWIZZLE(lun) ( \ - ((((u_int64_t)lun) & 0xffff000000000000L) >> 48) | \ - ((((u_int64_t)lun) & 0x0000ffff00000000L) >> 16) | \ - ((((u_int64_t)lun) & 0x00000000ffff0000L) << 16) | \ - ((((u_int64_t)lun) & 0x000000000000ffffL) << 48)) + ((((uint64_t)lun) & 0xffff000000000000L) >> 48) | \ + ((((uint64_t)lun) & 0x0000ffff00000000L) >> 16) | \ + ((((uint64_t)lun) & 0x00000000ffff0000L) << 16) | \ + ((((uint64_t)lun) & 0x000000000000ffffL) << 48)) /* * Maximum length for a CAM CDB. @@ -86,15 +86,15 @@ typedef enum { * the queue giving round robin per priority level scheduling. */ typedef struct { - u_int32_t priority; + uint32_t priority; #define CAM_PRIORITY_HOST ((CAM_RL_HOST << 8) + 0x80) #define CAM_PRIORITY_BUS ((CAM_RL_BUS << 8) + 0x80) #define CAM_PRIORITY_XPT ((CAM_RL_XPT << 8) + 0x80) #define CAM_PRIORITY_DEV ((CAM_RL_DEV << 8) + 0x80) #define CAM_PRIORITY_OOB (CAM_RL_DEV << 8) #define CAM_PRIORITY_NORMAL ((CAM_RL_NORMAL << 8) + 0x80) -#define CAM_PRIORITY_NONE (u_int32_t)-1 - u_int32_t generation; +#define CAM_PRIORITY_NONE (uint32_t)-1 + uint32_t generation; int index; #define CAM_UNQUEUED_INDEX -1 #define CAM_ACTIVE_INDEX -2 @@ -385,13 +385,13 @@ typedef int (cam_quirkmatch_t)(caddr_t, caddr_t); caddr_t cam_quirkmatch(caddr_t target, caddr_t quirk_table, int num_entries, int entry_size, cam_quirkmatch_t *comp_func); -void cam_strvis(u_int8_t *dst, const u_int8_t *src, int srclen, int dstlen); -void cam_strvis_flag(u_int8_t *dst, const u_int8_t *src, int srclen, +void cam_strvis(uint8_t *dst, const uint8_t *src, int srclen, int dstlen); +void cam_strvis_flag(uint8_t *dst, const uint8_t *src, int srclen, int dstlen, uint32_t flags); -void cam_strvis_sbuf(struct sbuf *sb, const u_int8_t *src, int srclen, +void cam_strvis_sbuf(struct sbuf *sb, const uint8_t *src, int srclen, uint32_t flags); -int cam_strmatch(const u_int8_t *str, const u_int8_t *pattern, int str_len); +int cam_strmatch(const uint8_t *str, const uint8_t *pattern, int str_len); const struct cam_status_entry* cam_fetch_status_entry(cam_status status); #ifdef _KERNEL diff --git a/sys/cam/cam_ccb.h b/sys/cam/cam_ccb.h index ba200ce15a03..5a68643d7148 100644 --- a/sys/cam/cam_ccb.h +++ b/sys/cam/cam_ccb.h @@ -326,17 +326,17 @@ typedef union { typedef union { void *ptr; u_long field; - u_int8_t bytes[sizeof(uintptr_t)]; + uint8_t bytes[sizeof(uintptr_t)]; } ccb_priv_entry; typedef union { ccb_priv_entry entries[CCB_PERIPH_PRIV_SIZE]; - u_int8_t bytes[CCB_PERIPH_PRIV_SIZE * sizeof(ccb_priv_entry)]; + uint8_t bytes[CCB_PERIPH_PRIV_SIZE * sizeof(ccb_priv_entry)]; } ccb_ppriv_area; typedef union { ccb_priv_entry entries[CCB_SIM_PRIV_SIZE]; - u_int8_t bytes[CCB_SIM_PRIV_SIZE * sizeof(ccb_priv_entry)]; + uint8_t bytes[CCB_SIM_PRIV_SIZE * sizeof(ccb_priv_entry)]; } ccb_spriv_area; typedef struct { @@ -351,26 +351,26 @@ struct ccb_hdr { camq_entry sim_links; /* For chaining in the SIM layer */ camq_entry periph_links; /* For chaining in the type driver */ #if BYTE_ORDER == LITTLE_ENDIAN - u_int16_t retry_count; - u_int16_t alloc_flags; /* ccb_alloc_flags */ + uint16_t retry_count; + uint16_t alloc_flags; /* ccb_alloc_flags */ #else - u_int16_t alloc_flags; /* ccb_alloc_flags */ - u_int16_t retry_count; + uint16_t alloc_flags; /* ccb_alloc_flags */ + uint16_t retry_count; #endif void (*cbfcnp)(struct cam_periph *, union ccb *); /* Callback on completion function */ xpt_opcode func_code; /* XPT function code */ - u_int32_t status; /* Status returned by CAM subsystem */ + uint32_t status; /* Status returned by CAM subsystem */ struct cam_path *path; /* Compiled path for this ccb */ path_id_t path_id; /* Path ID for the request */ target_id_t target_id; /* Target device ID */ lun_id_t target_lun; /* Target LUN number */ - u_int32_t flags; /* ccb_flags */ - u_int32_t xflags; /* Extended flags */ + uint32_t flags; /* ccb_flags */ + uint32_t xflags; /* Extended flags */ ccb_ppriv_area periph_priv; ccb_spriv_area sim_priv; ccb_qos_area qos; - u_int32_t timeout; /* Hard timeout value in mseconds */ + uint32_t timeout; /* Hard timeout value in mseconds */ struct timeval softtimeout; /* Soft timeout value in sec + usec */ }; @@ -380,9 +380,9 @@ struct ccb_getdev { cam_proto protocol; struct scsi_inquiry_data inq_data; struct ata_params ident_data; - u_int8_t serial_num[252]; - u_int8_t inq_flags; - u_int8_t serial_num_len; + uint8_t serial_num[252]; + uint8_t inq_flags; + uint8_t serial_num_len; void *padding[2]; }; @@ -415,9 +415,9 @@ typedef enum { struct ccb_getdevlist { struct ccb_hdr ccb_h; char periph_name[DEV_IDLEN]; - u_int32_t unit_number; + uint32_t unit_number; unsigned int generation; - u_int32_t index; + uint32_t index; ccb_getdevlist_status_e status; }; @@ -432,7 +432,7 @@ typedef enum { struct periph_match_pattern { char periph_name[DEV_IDLEN]; - u_int32_t unit_number; + uint32_t unit_number; path_id_t path_id; target_id_t target_id; lun_id_t target_lun; @@ -475,8 +475,8 @@ typedef enum { struct bus_match_pattern { path_id_t path_id; char dev_name[DEV_IDLEN]; - u_int32_t unit_number; - u_int32_t bus_id; + uint32_t unit_number; + uint32_t bus_id; bus_pattern_flags flags; }; @@ -499,7 +499,7 @@ struct dev_match_pattern { struct periph_match_result { char periph_name[DEV_IDLEN]; - u_int32_t unit_number; + uint32_t unit_number; path_id_t path_id; target_id_t target_id; lun_id_t target_lun; @@ -523,8 +523,8 @@ struct device_match_result { struct bus_match_result { path_id_t path_id; char dev_name[DEV_IDLEN]; - u_int32_t unit_number; - u_int32_t bus_id; + uint32_t unit_number; + uint32_t bus_id; }; union match_result { @@ -579,11 +579,11 @@ struct ccb_dev_position { struct ccb_dev_match { struct ccb_hdr ccb_h; ccb_dev_match_status status; - u_int32_t num_patterns; - u_int32_t pattern_buf_len; + uint32_t num_patterns; + uint32_t pattern_buf_len; struct dev_match_pattern *patterns; - u_int32_t num_matches; - u_int32_t match_buf_len; + uint32_t num_matches; + uint32_t match_buf_len; struct dev_match_result *matches; struct ccb_dev_position pos; }; @@ -628,18 +628,18 @@ typedef enum { /* Path Inquiry CCB */ struct ccb_pathinq_settings_spi { - u_int8_t ppr_options; + uint8_t ppr_options; }; struct ccb_pathinq_settings_fc { - u_int64_t wwnn; /* world wide node name */ - u_int64_t wwpn; /* world wide port name */ - u_int32_t port; /* 24 bit port id, if known */ - u_int32_t bitrate; /* Mbps */ + uint64_t wwnn; /* world wide node name */ + uint64_t wwpn; /* world wide port name */ + uint32_t port; /* 24 bit port id, if known */ + uint32_t bitrate; /* Mbps */ }; struct ccb_pathinq_settings_sas { - u_int32_t bitrate; /* Mbps */ + uint32_t bitrate; /* Mbps */ }; #define NVME_DEV_NAME_LEN 52 @@ -659,24 +659,24 @@ _Static_assert(sizeof(struct ccb_pathinq_settings_nvme) == 64, struct ccb_pathinq { struct ccb_hdr ccb_h; - u_int8_t version_num; /* Version number for the SIM/HBA */ - u_int8_t hba_inquiry; /* Mimic of INQ byte 7 for the HBA */ - u_int16_t target_sprt; /* Flags for target mode support */ - u_int32_t hba_misc; /* Misc HBA features */ - u_int16_t hba_eng_cnt; /* HBA engine count */ + uint8_t version_num; /* Version number for the SIM/HBA */ + uint8_t hba_inquiry; /* Mimic of INQ byte 7 for the HBA */ + uint16_t target_sprt; /* Flags for target mode support */ + uint32_t hba_misc; /* Misc HBA features */ + uint16_t hba_eng_cnt; /* HBA engine count */ /* Vendor Unique capabilities */ - u_int8_t vuhba_flags[VUHBALEN]; - u_int32_t max_target; /* Maximum supported Target */ - u_int32_t max_lun; /* Maximum supported Lun */ - u_int32_t async_flags; /* Installed Async handlers */ + uint8_t vuhba_flags[VUHBALEN]; + uint32_t max_target; /* Maximum supported Target */ + uint32_t max_lun; /* Maximum supported Lun */ + uint32_t async_flags; /* Installed Async handlers */ path_id_t hpath_id; /* Highest Path ID in the subsystem */ target_id_t initiator_id; /* ID of the HBA on the SCSI bus */ char sim_vid[SIM_IDLEN]; /* Vendor ID of the SIM */ char hba_vid[HBA_IDLEN]; /* Vendor ID of the HBA */ char dev_name[DEV_IDLEN];/* Device name for SIM */ - u_int32_t unit_number; /* Unit number for SIM */ - u_int32_t bus_id; /* Bus ID for SIM */ - u_int32_t base_transfer_speed;/* Base bus speed in KB/sec */ + uint32_t unit_number; /* Unit number for SIM */ + uint32_t bus_id; /* Bus ID for SIM */ + uint32_t base_transfer_speed;/* Base bus speed in KB/sec */ cam_proto protocol; u_int protocol_version; cam_xport transport; @@ -689,10 +689,10 @@ struct ccb_pathinq { char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE]; } xport_specific; u_int maxio; /* Max supported I/O size, in bytes. */ - u_int16_t hba_vendor; /* HBA vendor ID */ - u_int16_t hba_device; /* HBA device ID */ - u_int16_t hba_subvendor; /* HBA subvendor ID */ - u_int16_t hba_subdevice; /* HBA subdevice ID */ + uint16_t hba_vendor; /* HBA vendor ID */ + uint16_t hba_device; /* HBA device ID */ + uint16_t hba_subvendor; /* HBA subvendor ID */ + uint16_t hba_subdevice; /* HBA subdevice ID */ }; /* Path Statistics CCB */ @@ -728,7 +728,7 @@ struct ccb_smpio { }; typedef union { - u_int8_t *sense_ptr; /* + uint8_t *sense_ptr; /* * Pointer to storage * for sense information */ @@ -737,9 +737,9 @@ typedef union { } sense_t; typedef union { - u_int8_t *cdb_ptr; /* Pointer to the CDB bytes to send */ + uint8_t *cdb_ptr; /* Pointer to the CDB bytes to send */ /* Area for the CDB send */ - u_int8_t cdb_bytes[IOCDBLEN]; + uint8_t cdb_bytes[IOCDBLEN]; } cdb_t; /* @@ -749,21 +749,21 @@ typedef union { struct ccb_scsiio { struct ccb_hdr ccb_h; union ccb *next_ccb; /* Ptr for next CCB for action */ - u_int8_t *req_map; /* Ptr to mapping info */ - u_int8_t *data_ptr; /* Ptr to the data buf/SG list */ - u_int32_t dxfer_len; /* Data transfer length */ + uint8_t *req_map; /* Ptr to mapping info */ + uint8_t *data_ptr; /* Ptr to the data buf/SG list */ + uint32_t dxfer_len; /* Data transfer length */ /* Autosense storage */ struct scsi_sense_data sense_data; - u_int8_t sense_len; /* Number of bytes to autosense */ - u_int8_t cdb_len; /* Number of bytes for the CDB */ - u_int16_t sglist_cnt; /* Number of SG list entries */ - u_int8_t scsi_status; /* Returned SCSI status */ - u_int8_t sense_resid; /* Autosense resid length: 2's comp */ - u_int32_t resid; /* Transfer residual length: 2's comp */ + uint8_t sense_len; /* Number of bytes to autosense */ + uint8_t cdb_len; /* Number of bytes for the CDB */ + uint16_t sglist_cnt; /* Number of SG list entries */ + uint8_t scsi_status; /* Returned SCSI status */ + uint8_t sense_resid; /* Autosense resid length: 2's comp */ + uint32_t resid; /* Transfer residual length: 2's comp */ cdb_t cdb_io; /* Union for CDB bytes/pointer */ - u_int8_t *msg_ptr; /* Pointer to the message buffer */ - u_int16_t msg_len; /* Number of bytes for the Message */ - u_int8_t tag_action; /* What to do for tag queueing */ + uint8_t *msg_ptr; /* Pointer to the message buffer */ + uint16_t msg_len; /* Number of bytes for the Message */ + uint8_t tag_action; /* What to do for tag queueing */ /* * The tag action should be either the define below (to send a * non-tagged transaction) or one of the defined scsi tag messages @@ -793,10 +793,10 @@ struct ccb_ataio { union ccb *next_ccb; /* Ptr for next CCB for action */ struct ata_cmd cmd; /* ATA command register set */ struct ata_res res; /* ATA result register set */ - u_int8_t *data_ptr; /* Ptr to the data buf/SG list */ - u_int32_t dxfer_len; /* Data transfer length */ - u_int32_t resid; /* Transfer residual length: 2's comp */ - u_int8_t ata_flags; /* Flags for the rest of the buffer */ + uint8_t *data_ptr; /* Ptr to the data buf/SG list */ + uint32_t dxfer_len; /* Data transfer length */ + uint32_t resid; /* Transfer residual length: 2's comp */ + uint8_t ata_flags; /* Flags for the rest of the buffer */ #define ATA_FLAG_AUX 0x1 #define ATA_FLAG_ICC 0x2 uint8_t icc; /* Isochronous Command Completion */ @@ -817,9 +817,9 @@ struct ccb_mmcio { struct ccb_accept_tio { struct ccb_hdr ccb_h; cdb_t cdb_io; /* Union for CDB bytes/pointer */ - u_int8_t cdb_len; /* Number of bytes for the CDB */ - u_int8_t tag_action; /* What to do for tag queueing */ - u_int8_t sense_len; /* Number of bytes of Sense Data */ + uint8_t cdb_len; /* Number of bytes for the CDB */ + uint8_t tag_action; /* What to do for tag queueing */ + uint8_t sense_len; /* Number of bytes of Sense Data */ uint8_t priority; /* Command priority for SIMPLE tag */ u_int tag_id; /* tag id from initator (target mode) */ u_int init_id; /* initiator id of who selected */ @@ -836,14 +836,14 @@ atio_cdb_ptr(struct ccb_accept_tio *ccb) /* Release SIM Queue */ struct ccb_relsim { struct ccb_hdr ccb_h; - u_int32_t release_flags; + uint32_t release_flags; #define RELSIM_ADJUST_OPENINGS 0x01 #define RELSIM_RELEASE_AFTER_TIMEOUT 0x02 #define RELSIM_RELEASE_AFTER_CMDCMPLT 0x04 #define RELSIM_RELEASE_AFTER_QEMPTY 0x08 - u_int32_t openings; - u_int32_t release_timeout; /* Abstract argument. */ - u_int32_t qfrozen_cnt; + uint32_t openings; + uint32_t release_timeout; /* Abstract argument. */ + uint32_t qfrozen_cnt; }; /* @@ -880,7 +880,7 @@ typedef enum { AC_BUS_RESET = 0x001 /* A SCSI bus reset occurred */ } ac_code; -typedef void ac_callback_t (void *softc, u_int32_t code, +typedef void ac_callback_t (void *softc, uint32_t code, struct cam_path *path, void *args); /* @@ -889,24 +889,24 @@ typedef void ac_callback_t (void *softc, u_int32_t code, * Generic arguments passed bac which are then interpreted between a per-system * contract number. */ -#define AC_CONTRACT_DATA_MAX (128 - sizeof (u_int64_t)) +#define AC_CONTRACT_DATA_MAX (128 - sizeof (uint64_t)) struct ac_contract { - u_int64_t contract_number; - u_int8_t contract_data[AC_CONTRACT_DATA_MAX]; + uint64_t contract_number; + uint8_t contract_data[AC_CONTRACT_DATA_MAX]; }; #define AC_CONTRACT_DEV_CHG 1 struct ac_device_changed { - u_int64_t wwpn; - u_int32_t port; + uint64_t wwpn; + uint32_t port; target_id_t target; - u_int8_t arrived; + uint8_t arrived; }; /* Set Asynchronous Callback CCB */ struct ccb_setasync { struct ccb_hdr ccb_h; - u_int32_t event_enable; /* Async Event enables */ + uint32_t event_enable; /* Async Event enables */ ac_callback_t *callback; void *callback_arg; }; @@ -914,7 +914,7 @@ struct ccb_setasync { /* Set Device Type CCB */ struct ccb_setdev { struct ccb_hdr ccb_h; - u_int8_t dev_type; /* Value for dev type field in EDT */ + uint8_t dev_type; /* Value for dev type field in EDT */ }; /* SCSI Control Functions */ @@ -984,16 +984,16 @@ struct ccb_trans_settings_fc { #define CTS_FC_VALID_WWPN 0x4000 #define CTS_FC_VALID_PORT 0x2000 #define CTS_FC_VALID_SPEED 0x1000 - u_int64_t wwnn; /* world wide node name */ - u_int64_t wwpn; /* world wide port name */ - u_int32_t port; /* 24 bit port id, if known */ - u_int32_t bitrate; /* Mbps */ + uint64_t wwnn; /* world wide node name */ + uint64_t wwpn; /* world wide port name */ + uint32_t port; /* 24 bit port id, if known */ + uint32_t bitrate; /* Mbps */ }; struct ccb_trans_settings_sas { u_int valid; /* Which fields to honor */ #define CTS_SAS_VALID_SPEED 0x1000 - u_int32_t bitrate; /* Mbps */ + uint32_t bitrate; /* Mbps */ }; struct ccb_trans_settings_pata { @@ -1133,11 +1133,11 @@ struct ccb_trans_settings { */ struct ccb_calc_geometry { struct ccb_hdr ccb_h; - u_int32_t block_size; - u_int64_t volume_size; - u_int32_t cylinders; - u_int8_t heads; - u_int8_t secs_per_track; + uint32_t block_size; + uint64_t volume_size; + uint32_t cylinders; + uint8_t heads; + uint8_t secs_per_track; }; /* @@ -1160,14 +1160,14 @@ struct ccb_sim_knob_settings_spi { struct ccb_sim_knob_settings_fc { u_int valid; - u_int64_t wwnn; /* world wide node name */ - u_int64_t wwpn; /* world wide port name */ + uint64_t wwnn; /* world wide node name */ + uint64_t wwpn; /* world wide port name */ u_int role; }; struct ccb_sim_knob_settings_sas { u_int valid; - u_int64_t wwnn; /* world wide node name */ + uint64_t wwnn; /* world wide node name */ u_int role; }; #define KNOB_SETTINGS_SIZE 128 @@ -1203,24 +1203,24 @@ struct ccb_debug { struct ccb_en_lun { struct ccb_hdr ccb_h; - u_int16_t grp6_len; /* Group 6 VU CDB length */ - u_int16_t grp7_len; /* Group 7 VU CDB length */ - u_int8_t enable; + uint16_t grp6_len; /* Group 6 VU CDB length */ + uint16_t grp7_len; /* Group 7 VU CDB length */ + uint8_t enable; }; /* old, barely used immediate notify, binary compatibility */ struct ccb_immed_notify { struct ccb_hdr ccb_h; struct scsi_sense_data sense_data; - u_int8_t sense_len; /* Number of bytes in sense buffer */ - u_int8_t initiator_id; /* Id of initiator that selected */ - u_int8_t message_args[7]; /* Message Arguments */ + uint8_t sense_len; /* Number of bytes in sense buffer */ + uint8_t initiator_id; /* Id of initiator that selected */ + uint8_t message_args[7]; /* Message Arguments */ }; struct ccb_notify_ack { struct ccb_hdr ccb_h; - u_int16_t seq_id; /* Sequence identifier */ - u_int8_t event; /* Event flags */ + uint16_t seq_id; /* Sequence identifier */ + uint8_t event; /* Event flags */ }; struct ccb_immediate_notify { @@ -1267,26 +1267,26 @@ typedef enum { struct ccb_eng_inq { struct ccb_hdr ccb_h; - u_int16_t eng_num; /* The engine number for this inquiry */ + uint16_t eng_num; /* The engine number for this inquiry */ ei_type eng_type; /* Returned engine type */ ei_algo eng_algo; /* Returned engine algorithm type */ - u_int32_t eng_memeory; /* Returned engine memory size */ + uint32_t eng_memeory; /* Returned engine memory size */ }; struct ccb_eng_exec { /* This structure must match SCSIIO size */ struct ccb_hdr ccb_h; - u_int8_t *pdrv_ptr; /* Ptr used by the peripheral driver */ - u_int8_t *req_map; /* Ptr for mapping info on the req. */ - u_int8_t *data_ptr; /* Pointer to the data buf/SG list */ - u_int32_t dxfer_len; /* Data transfer length */ - u_int8_t *engdata_ptr; /* Pointer to the engine buffer data */ - u_int16_t sglist_cnt; /* Num of scatter gather list entries */ - u_int32_t dmax_len; /* Destination data maximum length */ - u_int32_t dest_len; /* Destination data length */ + uint8_t *pdrv_ptr; /* Ptr used by the peripheral driver */ + uint8_t *req_map; /* Ptr for mapping info on the req. */ + uint8_t *data_ptr; /* Pointer to the data buf/SG list */ + uint32_t dxfer_len; /* Data transfer length */ + uint8_t *engdata_ptr; /* Pointer to the engine buffer data */ + uint16_t sglist_cnt; /* Num of scatter gather list entries */ + uint32_t dmax_len; /* Destination data maximum length */ + uint32_t dest_len; /* Destination data length */ int32_t src_resid; /* Source residual length: 2's comp */ - u_int32_t timeout; /* Timeout value */ - u_int16_t eng_num; /* Engine number for this request */ - u_int16_t vu_flags; /* Vendor Unique flags */ + uint32_t timeout; /* Timeout value */ + uint16_t eng_num; /* Engine number for this request */ + uint16_t vu_flags; /* Vendor Unique flags */ }; /* @@ -1386,12 +1386,12 @@ union ccb { __BEGIN_DECLS static __inline void -cam_fill_csio(struct ccb_scsiio *csio, u_int32_t retries, +cam_fill_csio(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int32_t flags, u_int8_t tag_action, - u_int8_t *data_ptr, u_int32_t dxfer_len, - u_int8_t sense_len, u_int8_t cdb_len, - u_int32_t timeout) + uint32_t flags, uint8_t tag_action, + uint8_t *data_ptr, uint32_t dxfer_len, + uint8_t sense_len, uint8_t cdb_len, + uint32_t timeout) { csio->ccb_h.func_code = XPT_SCSI_IO; csio->ccb_h.flags = flags; @@ -1411,11 +1411,11 @@ cam_fill_csio(struct ccb_scsiio *csio, u_int32_t retries, } static __inline void -cam_fill_ctio(struct ccb_scsiio *csio, u_int32_t retries, +cam_fill_ctio(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int32_t flags, u_int tag_action, u_int tag_id, - u_int init_id, u_int scsi_status, u_int8_t *data_ptr, - u_int32_t dxfer_len, u_int32_t timeout) + uint32_t flags, u_int tag_action, u_int tag_id, + u_int init_id, u_int scsi_status, uint8_t *data_ptr, + uint32_t dxfer_len, uint32_t timeout) { csio->ccb_h.func_code = XPT_CONT_TARGET_IO; csio->ccb_h.flags = flags; @@ -1433,11 +1433,11 @@ cam_fill_ctio(struct ccb_scsiio *csio, u_int32_t retries, } static __inline void -cam_fill_ataio(struct ccb_ataio *ataio, u_int32_t retries, +cam_fill_ataio(struct ccb_ataio *ataio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int32_t flags, u_int tag_action __unused, - u_int8_t *data_ptr, u_int32_t dxfer_len, - u_int32_t timeout) + uint32_t flags, u_int tag_action __unused, + uint8_t *data_ptr, uint32_t dxfer_len, + uint32_t timeout) { ataio->ccb_h.func_code = XPT_ATA_IO; ataio->ccb_h.flags = flags; @@ -1525,10 +1525,10 @@ cam_ccb_success(union ccb *ccb) void cam_calc_geometry(struct ccb_calc_geometry *ccg, int extended); static __inline void -cam_fill_nvmeio(struct ccb_nvmeio *nvmeio, u_int32_t retries, +cam_fill_nvmeio(struct ccb_nvmeio *nvmeio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int32_t flags, u_int8_t *data_ptr, u_int32_t dxfer_len, - u_int32_t timeout) + uint32_t flags, uint8_t *data_ptr, uint32_t dxfer_len, + uint32_t timeout) { nvmeio->ccb_h.func_code = XPT_NVME_IO; nvmeio->ccb_h.flags = flags; @@ -1540,10 +1540,10 @@ cam_fill_nvmeio(struct ccb_nvmeio *nvmeio, u_int32_t retries, } static __inline void -cam_fill_nvmeadmin(struct ccb_nvmeio *nvmeio, u_int32_t retries, +cam_fill_nvmeadmin(struct ccb_nvmeio *nvmeio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int32_t flags, u_int8_t *data_ptr, u_int32_t dxfer_len, - u_int32_t timeout) + uint32_t flags, uint8_t *data_ptr, uint32_t dxfer_len, + uint32_t timeout) { nvmeio->ccb_h.func_code = XPT_NVME_ADMIN; nvmeio->ccb_h.flags = flags; diff --git a/sys/cam/cam_compat.c b/sys/cam/cam_compat.c index b061a3de24bb..512df480372f 100644 --- a/sys/cam/cam_compat.c +++ b/sys/cam/cam_compat.c @@ -216,8 +216,8 @@ cam_compat_handle_0x17(struct cdev *dev, u_long cmd, caddr_t addr, int flag, cpi17 = (struct ccb_pathinq_0x17 *)hdr17; cpi17->version_num = cpi->version_num; cpi17->hba_inquiry = cpi->hba_inquiry; - cpi17->target_sprt = (u_int8_t)cpi->target_sprt; - cpi17->hba_misc = (u_int8_t)cpi->hba_misc; + cpi17->target_sprt = (uint8_t)cpi->target_sprt; + cpi17->hba_misc = (uint8_t)cpi->hba_misc; cpi17->hba_eng_cnt = cpi->hba_eng_cnt; bcopy(&cpi->vuhba_flags[0], &cpi17->vuhba_flags[0], VUHBALEN); cpi17->max_target = cpi->max_target; diff --git a/sys/cam/cam_compat.h b/sys/cam/cam_compat.h index 821ef18eaae5..2f62298acd29 100644 --- a/sys/cam/cam_compat.h +++ b/sys/cam/cam_compat.h @@ -59,41 +59,41 @@ struct ccb_hdr_0x17 { camq_entry xpt_links; /* For chaining in the XPT layer */ camq_entry sim_links; /* For chaining in the SIM layer */ camq_entry periph_links; /* For chaining in the type driver */ - u_int32_t retry_count; + uint32_t retry_count; void (*cbfcnp)(struct cam_periph *, union ccb *); xpt_opcode func_code; /* XPT function code */ - u_int32_t status; /* Status returned by CAM subsystem */ + uint32_t status; /* Status returned by CAM subsystem */ struct cam_path *path; /* Compiled path for this ccb */ path_id_t path_id; /* Path ID for the request */ target_id_t target_id; /* Target device ID */ u_int target_lun; /* Target LUN number */ - u_int32_t flags; /* ccb_flags */ + uint32_t flags; /* ccb_flags */ ccb_ppriv_area periph_priv; ccb_spriv_area sim_priv; - u_int32_t timeout; /* Hard timeout value in seconds */ + uint32_t timeout; /* Hard timeout value in seconds */ struct callout *timeout_ch; }; struct ccb_pathinq_0x17 { struct ccb_hdr_0x17 ccb_h; - u_int8_t version_num; /* Version number for the SIM/HBA */ - u_int8_t hba_inquiry; /* Mimic of INQ byte 7 for the HBA */ - u_int8_t target_sprt; /* Flags for target mode support */ - u_int8_t hba_misc; /* Misc HBA features */ - u_int16_t hba_eng_cnt; /* HBA engine count */ + uint8_t version_num; /* Version number for the SIM/HBA */ + uint8_t hba_inquiry; /* Mimic of INQ byte 7 for the HBA */ + uint8_t target_sprt; /* Flags for target mode support */ + uint8_t hba_misc; /* Misc HBA features */ + uint16_t hba_eng_cnt; /* HBA engine count */ /* Vendor Unique capabilities */ - u_int8_t vuhba_flags[VUHBALEN]; - u_int32_t max_target; /* Maximum supported Target */ - u_int32_t max_lun; /* Maximum supported Lun */ - u_int32_t async_flags; /* Installed Async handlers */ + uint8_t vuhba_flags[VUHBALEN]; + uint32_t max_target; /* Maximum supported Target */ + uint32_t max_lun; /* Maximum supported Lun */ + uint32_t async_flags; /* Installed Async handlers */ path_id_t hpath_id; /* Highest Path ID in the subsystem */ target_id_t initiator_id; /* ID of the HBA on the SCSI bus */ char sim_vid[SIM_IDLEN]; /* Vendor ID of the SIM */ char hba_vid[HBA_IDLEN]; /* Vendor ID of the HBA */ char dev_name[DEV_IDLEN];/* Device name for SIM */ - u_int32_t unit_number; /* Unit number for SIM */ - u_int32_t bus_id; /* Bus ID for SIM */ - u_int32_t base_transfer_speed;/* Base bus speed in KB/sec */ + uint32_t unit_number; /* Unit number for SIM */ + uint32_t bus_id; /* Bus ID for SIM */ + uint32_t base_transfer_speed;/* Base bus speed in KB/sec */ cam_proto protocol; u_int protocol_version; cam_xport transport; @@ -105,10 +105,10 @@ struct ccb_pathinq_0x17 { char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE]; } xport_specific; u_int maxio; /* Max supported I/O size, in bytes. */ - u_int16_t hba_vendor; /* HBA vendor ID */ - u_int16_t hba_device; /* HBA device ID */ - u_int16_t hba_subvendor; /* HBA subvendor ID */ - u_int16_t hba_subdevice; /* HBA subdevice ID */ + uint16_t hba_vendor; /* HBA vendor ID */ + uint16_t hba_device; /* HBA device ID */ + uint16_t hba_subvendor; /* HBA subvendor ID */ + uint16_t hba_subdevice; /* HBA subdevice ID */ }; struct ccb_trans_settings_0x17 { @@ -147,21 +147,21 @@ struct ccb_hdr_0x18 { camq_entry xpt_links; /* For chaining in the XPT layer */ camq_entry sim_links; /* For chaining in the SIM layer */ camq_entry periph_links; /* For chaining in the type driver */ - u_int32_t retry_count; + uint32_t retry_count; void (*cbfcnp)(struct cam_periph *, union ccb *); xpt_opcode func_code; /* XPT function code */ - u_int32_t status; /* Status returned by CAM subsystem */ + uint32_t status; /* Status returned by CAM subsystem */ struct cam_path *path; /* Compiled path for this ccb */ path_id_t path_id; /* Path ID for the request */ target_id_t target_id; /* Target device ID */ u_int target_lun; /* Target LUN number */ - u_int64_t ext_lun; /* 64-bit LUN, more or less */ - u_int32_t flags; /* ccb_flags */ - u_int32_t xflags; /* extended ccb_flags */ + uint64_t ext_lun; /* 64-bit LUN, more or less */ + uint32_t flags; /* ccb_flags */ + uint32_t xflags; /* extended ccb_flags */ ccb_ppriv_area periph_priv; ccb_spriv_area sim_priv; ccb_qos_area qos; - u_int32_t timeout; /* Hard timeout value in seconds */ + uint32_t timeout; /* Hard timeout value in seconds */ struct timeval softtimeout; /* Soft timeout value in sec + usec */ }; @@ -196,7 +196,7 @@ struct dev_match_result_0x18 { union { struct { char periph_name[DEV_IDLEN]; - u_int32_t unit_number; + uint32_t unit_number; path_id_t path_id; target_id_t target_id; u_int target_lun; diff --git a/sys/cam/cam_debug.h b/sys/cam/cam_debug.h index 39db02d8b8c2..d5117a13b5ad 100644 --- a/sys/cam/cam_debug.h +++ b/sys/cam/cam_debug.h @@ -79,9 +79,9 @@ typedef enum { /* Path we want to debug */ extern struct cam_path *cam_dpath; /* Current debug levels set */ -extern u_int32_t cam_dflags; +extern uint32_t cam_dflags; /* Printf delay value (to prevent scrolling) */ -extern u_int32_t cam_debug_delay; +extern uint32_t cam_debug_delay; /* Debugging macros. */ #define CAM_DEBUGGED(path, flag) \ diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c index 0de73cffdc1f..1ae994402211 100644 --- a/sys/cam/cam_periph.c +++ b/sys/cam/cam_periph.c @@ -78,20 +78,20 @@ static void camperiphfree(struct cam_periph *periph); static int camperiphscsistatuserror(union ccb *ccb, union ccb **orig_ccb, cam_flags camflags, - u_int32_t sense_flags, + uint32_t sense_flags, int *openings, - u_int32_t *relsim_flags, - u_int32_t *timeout, - u_int32_t *action, + uint32_t *relsim_flags, + uint32_t *timeout, + uint32_t *action, const char **action_string); static int camperiphscsisenseerror(union ccb *ccb, union ccb **orig_ccb, cam_flags camflags, - u_int32_t sense_flags, + uint32_t sense_flags, int *openings, - u_int32_t *relsim_flags, - u_int32_t *timeout, - u_int32_t *action, + uint32_t *relsim_flags, + uint32_t *timeout, + uint32_t *action, const char **action_string); static void cam_periph_devctl_notify(union ccb *ccb); @@ -809,9 +809,9 @@ cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo, u_int maxmap) { int numbufs, i; - u_int8_t **data_ptrs[CAM_PERIPH_MAXMAPS]; - u_int32_t lengths[CAM_PERIPH_MAXMAPS]; - u_int32_t dirs[CAM_PERIPH_MAXMAPS]; + uint8_t **data_ptrs[CAM_PERIPH_MAXMAPS]; + uint32_t lengths[CAM_PERIPH_MAXMAPS]; + uint32_t dirs[CAM_PERIPH_MAXMAPS]; bzero(mapinfo, sizeof(*mapinfo)); if (maxmap == 0) @@ -826,15 +826,15 @@ cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo, return(EINVAL); } if (ccb->cdm.pattern_buf_len > 0) { - data_ptrs[0] = (u_int8_t **)&ccb->cdm.patterns; + data_ptrs[0] = (uint8_t **)&ccb->cdm.patterns; lengths[0] = ccb->cdm.pattern_buf_len; dirs[0] = CAM_DIR_OUT; - data_ptrs[1] = (u_int8_t **)&ccb->cdm.matches; + data_ptrs[1] = (uint8_t **)&ccb->cdm.matches; lengths[1] = ccb->cdm.match_buf_len; dirs[1] = CAM_DIR_IN; numbufs = 2; } else { - data_ptrs[0] = (u_int8_t **)&ccb->cdm.matches; + data_ptrs[0] = (uint8_t **)&ccb->cdm.matches; lengths[0] = ccb->cdm.match_buf_len; dirs[0] = CAM_DIR_IN; numbufs = 1; @@ -1020,9 +1020,9 @@ void cam_periph_unmapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo) { int numbufs, i; - u_int8_t **data_ptrs[CAM_PERIPH_MAXMAPS]; - u_int32_t lengths[CAM_PERIPH_MAXMAPS]; - u_int32_t dirs[CAM_PERIPH_MAXMAPS]; + uint8_t **data_ptrs[CAM_PERIPH_MAXMAPS]; + uint32_t lengths[CAM_PERIPH_MAXMAPS]; + uint32_t dirs[CAM_PERIPH_MAXMAPS]; if (mapinfo->num_bufs_used <= 0) { /* nothing to free and the process wasn't held. */ @@ -1032,15 +1032,15 @@ cam_periph_unmapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo) switch (ccb->ccb_h.func_code) { case XPT_DEV_MATCH: if (ccb->cdm.pattern_buf_len > 0) { - data_ptrs[0] = (u_int8_t **)&ccb->cdm.patterns; + data_ptrs[0] = (uint8_t **)&ccb->cdm.patterns; lengths[0] = ccb->cdm.pattern_buf_len; dirs[0] = CAM_DIR_OUT; - data_ptrs[1] = (u_int8_t **)&ccb->cdm.matches; + data_ptrs[1] = (uint8_t **)&ccb->cdm.matches; lengths[1] = ccb->cdm.match_buf_len; dirs[1] = CAM_DIR_IN; numbufs = 2; } else { - data_ptrs[0] = (u_int8_t **)&ccb->cdm.matches; + data_ptrs[0] = (uint8_t **)&ccb->cdm.matches; lengths[0] = ccb->cdm.match_buf_len; dirs[0] = CAM_DIR_IN; numbufs = 1; @@ -1060,10 +1060,10 @@ cam_periph_unmapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo) numbufs = 1; break; case XPT_MMC_IO: - data_ptrs[0] = (u_int8_t **)&ccb->mmcio.cmd.data; + data_ptrs[0] = (uint8_t **)&ccb->mmcio.cmd.data; lengths[0] = sizeof(struct mmc_data *); dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; - data_ptrs[1] = (u_int8_t **)&ccb->mmcio.cmd.data->data; + data_ptrs[1] = (uint8_t **)&ccb->mmcio.cmd.data->data; lengths[1] = ccb->mmcio.cmd.data->len; dirs[1] = ccb->ccb_h.flags & CAM_DIR_MASK; numbufs = 2; @@ -1124,7 +1124,7 @@ int cam_periph_ioctl(struct cam_periph *periph, u_long cmd, caddr_t addr, int (*error_routine)(union ccb *ccb, cam_flags camflags, - u_int32_t sense_flags)) + uint32_t sense_flags)) { union ccb *ccb; int error; @@ -1223,8 +1223,8 @@ int cam_periph_runccb(union ccb *ccb, int (*error_routine)(union ccb *ccb, cam_flags camflags, *** 706 LINES SKIPPED *** From nobody Tue Jul 25 04:26:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rP49mVz4p3sx; Tue, 25 Jul 2023 04:26: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 4R93rP2rcfz4PCw; Tue, 25 Jul 2023 04:26:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DYHj4z4vt9fiMLEdRLQTM6o/2Zc4U74iWHF2wFNuLuY=; b=EOkllsjIkh2KLrMV6PlZl51dXGjrs2giqTWKc0yL37hNzUlfhHy8TrufAJlhU9huoYJ/9p f9Xl4Q0ZreuoewTqewvloBoYLNC/SZuMW6DPsLfROEg3pU8WwgHEcwrR+qkHN9PXkWmUX5 CP4iOqNWmi75TM8e0sXmBNXHANMd1UypL0TCE2aQ72uozEMJZ6/uQTzjPimuGCNJTf9JQS YTviUbWCu3ktAMkBdczBDxPt3+zXJn7MGgUaW8wzEiLfrkcmb7/iuj8NAqMa8EA4BXmX/0 xRMNH93Tv3h5sH6znOeu1w0Rl0zeQJFE3+1ugggZXQ6Jcc4OqnKh6Pak1bjY3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DYHj4z4vt9fiMLEdRLQTM6o/2Zc4U74iWHF2wFNuLuY=; b=d3ZzGomZIZAN6jMr9hwBzfIlHQXap7mQdlOpid/xUVEoir1P0zVy7G6OT2V5klAPx0nfQn 7gIMFDa2ClKWjaAbI26CUmurdBCTxYhJAcWcTsmyin544BVSnYT4dVYMv7kdiAWeU/QtP0 fzGJHNz46MLdZWadUx8DGga3oKDxCqAXigVesY+SQDMivaAdp1AiPTiA24n1mYTEiVHJot JAk5yp+655LTQFUo1wHYoO7BkDISaLHde6KQO++aIzj2nHxPv8CSRxpq7siK1cjFd5/B/O G7CU4fXSDq78MHRoIsdjmlJSpTHFmJ+jYuMa9A1QlvJ30uIES78qGGPKQgYK1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259189; a=rsa-sha256; cv=none; b=kxEu1T1kDbrJNMRd21Uw0DaISSDkThfNkrdpUbeWSyBCEkr0DTB7Y/OnYmCEjS8nBd6esA AtfSNqBIFQg/CkgZ2Y4EngfATQUOhmGoyn9XTZAuNYOQWx6j5+4C4YYuMmZr/Xty1TG0sq VKp7HSZt8A7WO+cjQYUMUFnkpgnl8JYkc3n0uckdZKvME/ITNN8SIeroCD5UlYR//BlcI9 +DwNFcK6Cq712KLyYrUoIbPl4P8h+HL8lOOVrUfF5481jQKlAMLyMtOuK+gOe3r/UHui+9 bHYU0u75P9TgMDpT8bj2xcc8S/wKBQLxVsor4TksgrM+xNxGS3V3t2Df9ez6Rw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rP1tJWzlTr; Tue, 25 Jul 2023 04:26: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 36P4QTNM039352; Tue, 25 Jul 2023 04:26:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QTAI039351; Tue, 25 Jul 2023 04:26:29 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:29 GMT Message-Id: <202307250426.36P4QTAI039351@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: 9db2db6bf665 - main - cam/ata: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9db2db6bf665983cc46ee4f413b1f812f1b6c857 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9db2db6bf665983cc46ee4f413b1f812f1b6c857 commit 9db2db6bf665983cc46ee4f413b1f812f1b6c857 Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:56 +0000 cam/ata: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sys/cam/ata/ata_all.c | 16 +++++++------- sys/cam/ata/ata_all.h | 60 +++++++++++++++++++++++++-------------------------- sys/cam/ata/ata_da.c | 46 +++++++++++++++++++-------------------- sys/cam/ata/ata_pmp.c | 6 +++--- sys/cam/ata/ata_xpt.c | 20 ++++++++--------- 5 files changed, 74 insertions(+), 74 deletions(-) diff --git a/sys/cam/ata/ata_all.c b/sys/cam/ata/ata_all.c index 4e95a8f1568c..b40cebb9e171 100644 --- a/sys/cam/ata/ata_all.c +++ b/sys/cam/ata/ata_all.c @@ -587,8 +587,8 @@ ata_logical_sector_size(struct ata_params *ident_data) { if ((ident_data->pss & ATA_PSS_VALID_MASK) == ATA_PSS_VALID_VALUE && (ident_data->pss & ATA_PSS_LSSABOVE512)) { - return (((u_int32_t)ident_data->lss_1 | - ((u_int32_t)ident_data->lss_2 << 16)) * 2); + return (((uint32_t)ident_data->lss_1 | + ((uint32_t)ident_data->lss_2 << 16)) * 2); } return (512); } @@ -761,9 +761,9 @@ ata_read_log(struct ccb_ataio *ataio, uint32_t retries, void ata_bswap(int8_t *buf, int len) { - u_int16_t *ptr = (u_int16_t*)(buf + len); + uint16_t *ptr = (uint16_t*)(buf + len); - while (--ptr >= (u_int16_t*)buf) + while (--ptr >= (uint16_t*)buf) *ptr = be16toh(*ptr); } @@ -1037,7 +1037,7 @@ ata_static_identify_match(caddr_t identbuffer, caddr_t table_entry) void semb_receive_diagnostic_results(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), uint8_t tag_action, int pcv, uint8_t page_code, uint8_t *data_ptr, uint16_t length, uint32_t timeout) { @@ -1058,7 +1058,7 @@ semb_receive_diagnostic_results(struct ccb_ataio *ataio, void semb_send_diagnostic(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t *data_ptr, uint16_t length, uint32_t timeout) { @@ -1078,7 +1078,7 @@ semb_send_diagnostic(struct ccb_ataio *ataio, void semb_read_buffer(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), uint8_t tag_action, uint8_t page_code, uint8_t *data_ptr, uint16_t length, uint32_t timeout) { @@ -1099,7 +1099,7 @@ semb_read_buffer(struct ccb_ataio *ataio, void semb_write_buffer(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t *data_ptr, uint16_t length, uint32_t timeout) { diff --git a/sys/cam/ata/ata_all.h b/sys/cam/ata/ata_all.h index a8fab2c2c4c7..c8c427a75d8c 100644 --- a/sys/cam/ata/ata_all.h +++ b/sys/cam/ata/ata_all.h @@ -42,49 +42,49 @@ union ccb; #define SID_DMA 0x10 /* Abuse inq_flags bit to track enabled DMA. */ struct ata_cmd { - u_int8_t flags; /* ATA command flags */ + uint8_t flags; /* ATA command flags */ #define CAM_ATAIO_48BIT 0x01 /* Command has 48-bit format */ #define CAM_ATAIO_FPDMA 0x02 /* FPDMA command */ #define CAM_ATAIO_CONTROL 0x04 /* Control, not a command */ #define CAM_ATAIO_NEEDRESULT 0x08 /* Request requires result. */ #define CAM_ATAIO_DMA 0x10 /* DMA command */ - u_int8_t command; - u_int8_t features; + uint8_t command; + uint8_t features; - u_int8_t lba_low; - u_int8_t lba_mid; - u_int8_t lba_high; - u_int8_t device; + uint8_t lba_low; + uint8_t lba_mid; + uint8_t lba_high; + uint8_t device; - u_int8_t lba_low_exp; - u_int8_t lba_mid_exp; - u_int8_t lba_high_exp; - u_int8_t features_exp; + uint8_t lba_low_exp; + uint8_t lba_mid_exp; + uint8_t lba_high_exp; + uint8_t features_exp; - u_int8_t sector_count; - u_int8_t sector_count_exp; - u_int8_t control; + uint8_t sector_count; + uint8_t sector_count_exp; + uint8_t control; }; struct ata_res { - u_int8_t flags; /* ATA command flags */ + uint8_t flags; /* ATA command flags */ #define CAM_ATAIO_48BIT 0x01 /* Command has 48-bit format */ - u_int8_t status; - u_int8_t error; + uint8_t status; + uint8_t error; - u_int8_t lba_low; - u_int8_t lba_mid; - u_int8_t lba_high; - u_int8_t device; + uint8_t lba_low; + uint8_t lba_mid; + uint8_t lba_high; + uint8_t device; - u_int8_t lba_low_exp; - u_int8_t lba_mid_exp; - u_int8_t lba_high_exp; + uint8_t lba_low_exp; + uint8_t lba_mid_exp; + uint8_t lba_high_exp; - u_int8_t sector_count; - u_int8_t sector_count_exp; + uint8_t sector_count; + uint8_t sector_count_exp; }; struct sep_identify_data { @@ -160,22 +160,22 @@ void semb_print_ident_short(struct sep_identify_data *ident_data); void semb_print_ident_short_sbuf(struct sep_identify_data *ident_data, struct sbuf *sb); void semb_receive_diagnostic_results(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), uint8_t tag_action, int pcv, uint8_t page_code, uint8_t *data_ptr, uint16_t allocation_length, uint32_t timeout); void semb_send_diagnostic(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t *data_ptr, uint16_t param_list_length, uint32_t timeout); void semb_read_buffer(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), uint8_t tag_action, uint8_t page_code, uint8_t *data_ptr, uint16_t allocation_length, uint32_t timeout); void semb_write_buffer(struct ccb_ataio *ataio, - u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), + uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t *data_ptr, uint16_t param_list_length, uint32_t timeout); diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c index c5dc239828a5..cd0be88ba3c4 100644 --- a/sys/cam/ata/ata_da.c +++ b/sys/cam/ata/ata_da.c @@ -233,11 +233,11 @@ static const char *ada_delete_method_desc[] = #endif struct disk_params { - u_int8_t heads; - u_int8_t secs_per_track; - u_int32_t cylinders; - u_int32_t secsize; /* Number of bytes/logical sector */ - u_int64_t sectors; /* Total number sectors */ + uint8_t heads; + uint8_t secs_per_track; + uint32_t cylinders; + uint32_t secsize; /* Number of bytes/logical sector */ + uint64_t sectors; /* Total number sectors */ }; #define TRIM_MAX_BLOCKS 8 @@ -832,7 +832,7 @@ static periph_init_t adainit; static void adadiskgonecb(struct disk *dp); static periph_oninv_t adaoninvalidate; static periph_dtor_t adacleanup; -static void adaasync(void *callback_arg, u_int32_t code, +static void adaasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg); static int adabitsysctl(SYSCTL_HANDLER_ARGS); static int adaflagssysctl(SYSCTL_HANDLER_ARGS); @@ -856,8 +856,8 @@ static void adaprobedone(struct cam_periph *periph, union ccb *ccb); static void adazonedone(struct cam_periph *periph, union ccb *ccb); static void adadone(struct cam_periph *periph, union ccb *done_ccb); -static int adaerror(union ccb *ccb, u_int32_t cam_flags, - u_int32_t sense_flags); +static int adaerror(union ccb *ccb, uint32_t cam_flags, + uint32_t sense_flags); static callout_func_t adasendorderedtag; static void adashutdown(void *arg, int howto); static void adasuspend(void *arg); @@ -1128,7 +1128,7 @@ adadump(void *arg, void *virtual, off_t offset, size_t length) NULL, CAM_DIR_OUT, 0, - (u_int8_t *) virtual, + (uint8_t *) virtual, length, ada_default_timeout*1000); if ((softc->flags & ADA_FLAG_CAN_48BIT) && @@ -1300,7 +1300,7 @@ adasetdeletemethod(struct ada_softc *softc) } static void -adaasync(void *callback_arg, u_int32_t code, +adaasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct ccb_getdev cgd; @@ -2321,7 +2321,7 @@ adastart(struct cam_periph *periph, union ccb *start_ccb) case ADA_STATE_NORMAL: { struct bio *bp; - u_int8_t tag_code; + uint8_t tag_code; bp = cam_iosched_next_bio(softc->cam_iosched); if (bp == NULL) { @@ -3382,7 +3382,7 @@ adadone(struct cam_periph *periph, union ccb *done_ccb) } static int -adaerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) +adaerror(union ccb *ccb, uint32_t cam_flags, uint32_t sense_flags) { #ifdef CAM_IO_STATS struct ada_softc *softc; @@ -3415,8 +3415,8 @@ static void adasetgeom(struct ada_softc *softc, struct ccb_getdev *cgd) { struct disk_params *dp = &softc->params; - u_int64_t lbasize48; - u_int32_t lbasize; + uint64_t lbasize48; + uint32_t lbasize; u_int maxio, d_flags; size_t tmpsize; @@ -3427,27 +3427,27 @@ adasetgeom(struct ada_softc *softc, struct ccb_getdev *cgd) dp->heads = cgd->ident_data.current_heads; dp->secs_per_track = cgd->ident_data.current_sectors; dp->cylinders = cgd->ident_data.cylinders; - dp->sectors = (u_int32_t)cgd->ident_data.current_size_1 | - ((u_int32_t)cgd->ident_data.current_size_2 << 16); + dp->sectors = (uint32_t)cgd->ident_data.current_size_1 | + ((uint32_t)cgd->ident_data.current_size_2 << 16); } else { dp->heads = cgd->ident_data.heads; dp->secs_per_track = cgd->ident_data.sectors; dp->cylinders = cgd->ident_data.cylinders; dp->sectors = cgd->ident_data.cylinders * - (u_int32_t)(dp->heads * dp->secs_per_track); + (uint32_t)(dp->heads * dp->secs_per_track); } - lbasize = (u_int32_t)cgd->ident_data.lba_size_1 | - ((u_int32_t)cgd->ident_data.lba_size_2 << 16); + lbasize = (uint32_t)cgd->ident_data.lba_size_1 | + ((uint32_t)cgd->ident_data.lba_size_2 << 16); /* use the 28bit LBA size if valid or bigger than the CHS mapping */ if (cgd->ident_data.cylinders == 16383 || dp->sectors < lbasize) dp->sectors = lbasize; /* use the 48bit LBA size if valid */ - lbasize48 = ((u_int64_t)cgd->ident_data.lba_size48_1) | - ((u_int64_t)cgd->ident_data.lba_size48_2 << 16) | - ((u_int64_t)cgd->ident_data.lba_size48_3 << 32) | - ((u_int64_t)cgd->ident_data.lba_size48_4 << 48); + lbasize48 = ((uint64_t)cgd->ident_data.lba_size48_1) | + ((uint64_t)cgd->ident_data.lba_size48_2 << 16) | + ((uint64_t)cgd->ident_data.lba_size48_3 << 32) | + ((uint64_t)cgd->ident_data.lba_size48_4 << 48); if ((cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) && lbasize48 > ATA_MAX_28BIT_LBA) dp->sectors = lbasize48; diff --git a/sys/cam/ata/ata_pmp.c b/sys/cam/ata/ata_pmp.c index 2e6126d5f559..a873af6766bc 100644 --- a/sys/cam/ata/ata_pmp.c +++ b/sys/cam/ata/ata_pmp.c @@ -113,7 +113,7 @@ struct pmp_softc { }; static periph_init_t pmpinit; -static void pmpasync(void *callback_arg, u_int32_t code, +static void pmpasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg); static void pmpsysctlinit(void *context, int pending); static periph_ctor_t pmpregister; @@ -262,7 +262,7 @@ pmpcleanup(struct cam_periph *periph) } static void -pmpasync(void *callback_arg, u_int32_t code, +pmpasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -586,7 +586,7 @@ pmpdone(struct cam_periph *periph, union ccb *done_ccb) struct pmp_softc *softc; struct ccb_ataio *ataio; struct cam_path *dpath; - u_int32_t priority, res; + uint32_t priority, res; int i; softc = (struct pmp_softc *)periph->softc; diff --git a/sys/cam/ata/ata_xpt.c b/sys/cam/ata/ata_xpt.c index dfd5d4d7cb44..2b2fec06a06a 100644 --- a/sys/cam/ata/ata_xpt.c +++ b/sys/cam/ata/ata_xpt.c @@ -65,7 +65,7 @@ __FBSDID("$FreeBSD$"); struct ata_quirk_entry { struct scsi_inquiry_pattern inq_pat; - u_int8_t quirks; + uint8_t quirks; #define CAM_QUIRK_MAXTAGS 0x01 u_int mintags; u_int maxtags; @@ -182,7 +182,7 @@ static void ata_get_transfer_settings(struct ccb_trans_settings *cts); static void ata_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_path *path, int async_update); -static void ata_dev_async(u_int32_t async_code, +static void ata_dev_async(uint32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, @@ -380,7 +380,7 @@ aprobestart(struct cam_periph *periph, union ccb *start_ccb) aprobedone, /*flags*/CAM_DIR_IN, 0, - /*data_ptr*/(u_int8_t *)&softc->ident_data, + /*data_ptr*/(uint8_t *)&softc->ident_data, /*dxfer_len*/sizeof(softc->ident_data), 30 * 1000); if (path->device->protocol == PROTO_ATA) @@ -660,7 +660,7 @@ negotiate: /*retries*/1, aprobedone, MSG_SIMPLE_Q_TAG, - (u_int8_t *)inq_buf, + (uint8_t *)inq_buf, inquiry_len, /*evpd*/FALSE, /*page_code*/0, @@ -696,7 +696,7 @@ negotiate: aprobedone, /*flags*/CAM_DIR_IN, 0, - /*data_ptr*/(u_int8_t *)&softc->ident_data, + /*data_ptr*/(uint8_t *)&softc->ident_data, /*dxfer_len*/sizeof(softc->ident_data), 30 * 1000); ata_28bit_cmd(ataio, ATA_SEP_ATTN, 0xEC, 0x02, @@ -708,7 +708,7 @@ negotiate: aprobedone, /*flags*/CAM_DIR_IN, 0, - /*data_ptr*/(u_int8_t *)&softc->ident_data, + /*data_ptr*/(uint8_t *)&softc->ident_data, /*dxfer_len*/sizeof(softc->ident_data), 30 * 1000); ata_28bit_cmd(ataio, ATA_SEP_ATTN, 0xEC, 0x00, @@ -748,7 +748,7 @@ aprobedone(struct cam_periph *periph, union ccb *done_ccb) aprobe_softc *softc; struct cam_path *path; cam_status status; - u_int32_t priority; + uint32_t priority; u_int caps, oif; int changed, found = 1; static const uint8_t fake_device_id_hdr[8] = @@ -965,7 +965,7 @@ noerror: path->device->device_id_len = 0; } path->device->serial_num = - (u_int8_t *)malloc((sizeof(ident_buf->serial) + 1), + (uint8_t *)malloc((sizeof(ident_buf->serial) + 1), M_CAMXPT, M_NOWAIT); if (path->device->serial_num != NULL) { bcopy(ident_buf->serial, @@ -1162,7 +1162,7 @@ notsata: case PROBE_INQUIRY: case PROBE_FULL_INQUIRY: { - u_int8_t periph_qual, len; + uint8_t periph_qual, len; path->device->flags |= CAM_DEV_INQUIRY_DATA_VALID; @@ -2036,7 +2036,7 @@ ata_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_path *path, * Handle any per-device event notifications that require action by the XPT. */ static void -ata_dev_async(u_int32_t async_code, struct cam_eb *bus, struct cam_et *target, +ata_dev_async(uint32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, void *async_arg) { /* From nobody Tue Jul 25 04:26:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rQ5Txkz4p488; Tue, 25 Jul 2023 04:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R93rQ428qz4P99; Tue, 25 Jul 2023 04:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5wGHt2IdOQWiCMkEfnbW3hdWzC5nFK5LwmPgjvNwwu4=; b=b9d1Gkqk/v/JZRLKWZ3LCqyFyVxzb+GCXBlOht3eM+th/IXZ2L1N4J53sTJ670E1zDk9Pc I2gdPtsWe1dbKr8wJrlWReAAUnQyd3kjT+xb5qJP6lxRd9hmtE7kI6HamozoemnJSateIo PMQZUKNn/fLzH9ICP0eEmUbfQ7TTQjh+BCNLO6biwfu/CNKxpnYYyinZbYVSwfm45XA/js ei3FDUwkTyKlhdvT0xvQAjCjWTHaM/R0xmypCP5dFRgzgFNNk4pjuvOuktY9DqLcZ5+A3c kB/LA9lEedeacx+cyOhAQCSWYJWYr8MPZrEnvr8coohiTpfGh7Ve+kt/xM0HIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5wGHt2IdOQWiCMkEfnbW3hdWzC5nFK5LwmPgjvNwwu4=; b=dIDGEtlwgVB3PhrvZfi6Jebstdtslz3RSo+tM+CM5DH0d+DPndNBTO2k3M/EFt4p7X4aG9 k+37KX5yk/9lhpK8CDuFq6+2C38FrFDg8oUfcYwo8k/1g/HkCFXzgNTpahtjFjnJ+eSLJ7 C2HiyXsNkxQmcNwAiIrjUEF/7bA1YI1mAuDFPKzZyyyVK+/ZVZSrlNPWnflhfc5JX0FkNt AI0ZhQC7CD8yPf8T3mHjDmvdMyJpAsVn5qHPcVKlx6Z/ZH3kxXD0CgaN06WwN/Yx9QoK6T Afesi1pUphEw7o1XLw0hTW9UqGzby1b7VPcFszEahEMxQYqWkoRR0ZqbGw+BRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259190; a=rsa-sha256; cv=none; b=juOLjt0hSKiO/66JbmGUFhvYnSy5pzwcRDKXdWUVqSiz2w6rCgbIfAQw8DLw5TBCmWj5in 1sMQdgsnD1rUclyKH0r3D79VNr1CQHVyUJwXQoWAPKZVsqVQlj/4wUQRMTAW3nApzsM7Wk 19OLn3coCdvR+vyDh4uVHh+tGzFFA/jxAAAXVufec/iH8ajMXpWj0mjI9tkgEfHUIixF0r 8JF6V8JJN79xhWlS6t2rn3P25VyEvfzXLS0aJB2oWsJpn9Td4uQ64qH3gDUGu/rlO/b9xG 20p9CeSNNi+eCx49WqNv0GGS0H2rDPwB/9pIyuUDXEWTBHqB3TzthBA0x3hcCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rQ34FDzm4K; Tue, 25 Jul 2023 04:26: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 36P4QUab039382; Tue, 25 Jul 2023 04:26:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QUmQ039376; Tue, 25 Jul 2023 04:26:30 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:30 GMT Message-Id: <202307250426.36P4QUmQ039376@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: 7c5d20a6c213 - main - cam/scsi: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c5d20a6c213032941ad57d676419c6fb7d60843 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7c5d20a6c213032941ad57d676419c6fb7d60843 commit 7c5d20a6c213032941ad57d676419c6fb7d60843 Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:56 +0000 cam/scsi: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sys/cam/scsi/scsi_all.c | 258 +++++------ sys/cam/scsi/scsi_all.h | 1050 +++++++++++++++++++++---------------------- sys/cam/scsi/scsi_cd.c | 184 ++++---- sys/cam/scsi/scsi_cd.h | 536 +++++++++++----------- sys/cam/scsi/scsi_ch.c | 102 ++--- sys/cam/scsi/scsi_ch.h | 264 +++++------ sys/cam/scsi/scsi_da.c | 70 +-- sys/cam/scsi/scsi_da.h | 300 ++++++------- sys/cam/scsi/scsi_iu.h | 12 +- sys/cam/scsi/scsi_pass.c | 26 +- sys/cam/scsi/scsi_pt.c | 22 +- sys/cam/scsi/scsi_pt.h | 8 +- sys/cam/scsi/scsi_sa.c | 230 +++++----- sys/cam/scsi/scsi_sa.h | 430 +++++++++--------- sys/cam/scsi/scsi_targ_bh.c | 16 +- sys/cam/scsi/scsi_target.c | 4 +- sys/cam/scsi/scsi_xpt.c | 32 +- 17 files changed, 1772 insertions(+), 1772 deletions(-) diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index 9c408fd85b05..d7b0a208c10d 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -625,12 +625,12 @@ static struct op_table_entry scsi_op_codes[] = { }; const char * -scsi_op_desc(u_int16_t opcode, struct scsi_inquiry_data *inq_data) +scsi_op_desc(uint16_t opcode, struct scsi_inquiry_data *inq_data) { caddr_t match; int i, j; - u_int32_t opmask; - u_int16_t pd_type; + uint32_t opmask; + uint16_t pd_type; int num_ops[2]; struct op_table_entry *table[2]; int num_tables; @@ -707,7 +707,7 @@ scsi_op_desc(u_int16_t opcode, struct scsi_inquiry_data *inq_data) #else /* SCSI_NO_OP_STRINGS */ const char * -scsi_op_desc(u_int16_t opcode, struct scsi_inquiry_data *inq_data) +scsi_op_desc(uint16_t opcode, struct scsi_inquiry_data *inq_data) { return(""); } @@ -3478,7 +3478,7 @@ scsi_sense_desc(int sense_key, int asc, int ascq, */ scsi_sense_action scsi_error_action(struct ccb_scsiio *csio, struct scsi_inquiry_data *inq_data, - u_int32_t sense_flags) + uint32_t sense_flags) { const struct asc_table_entry *asc_entry; const struct sense_key_table_entry *sense_entry; @@ -3571,7 +3571,7 @@ scsi_error_action(struct ccb_scsiio *csio, struct scsi_inquiry_data *inq_data, } char * -scsi_cdb_string(u_int8_t *cdb_ptr, char *cdb_string, size_t len) +scsi_cdb_string(uint8_t *cdb_ptr, char *cdb_string, size_t len) { struct sbuf sb; int error; @@ -3597,9 +3597,9 @@ scsi_cdb_string(u_int8_t *cdb_ptr, char *cdb_string, size_t len) } void -scsi_cdb_sbuf(u_int8_t *cdb_ptr, struct sbuf *sb) +scsi_cdb_sbuf(uint8_t *cdb_ptr, struct sbuf *sb) { - u_int8_t cdb_len; + uint8_t cdb_len; int i; if (cdb_ptr == NULL) @@ -5449,7 +5449,7 @@ scsi_get_ascq(struct scsi_sense_data *sense_data, u_int sense_len, void scsi_print_inquiry_sbuf(struct sbuf *sb, struct scsi_inquiry_data *inq_data) { - u_int8_t type; + uint8_t type; char *dtype, *qtype; type = SID_TYPE(inq_data); @@ -7630,9 +7630,9 @@ bailout: } void -scsi_test_unit_ready(struct ccb_scsiio *csio, u_int32_t retries, +scsi_test_unit_ready(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, uint8_t sense_len, uint32_t timeout) { struct scsi_test_unit_ready *scsi_cmd; @@ -7653,10 +7653,10 @@ scsi_test_unit_ready(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_request_sense(struct ccb_scsiio *csio, u_int32_t retries, +scsi_request_sense(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - void *data_ptr, u_int8_t dxfer_len, u_int8_t tag_action, - u_int8_t sense_len, u_int32_t timeout) + void *data_ptr, uint8_t dxfer_len, uint8_t tag_action, + uint8_t sense_len, uint32_t timeout) { struct scsi_request_sense *scsi_cmd; @@ -7678,11 +7678,11 @@ scsi_request_sense(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_inquiry(struct ccb_scsiio *csio, u_int32_t retries, +scsi_inquiry(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t *inq_buf, u_int32_t inq_len, - int evpd, u_int8_t page_code, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint8_t *inq_buf, uint32_t inq_len, + int evpd, uint8_t page_code, uint8_t sense_len, + uint32_t timeout) { struct scsi_inquiry *scsi_cmd; @@ -7737,7 +7737,7 @@ scsi_mode_sense_subpage(struct ccb_scsiio *csio, uint32_t retries, uint32_t param_len, int minimum_cmd_size, uint8_t sense_len, uint32_t timeout) { - u_int8_t cdb_len; + uint8_t cdb_len; /* * Use the smallest possible command to perform the operation. @@ -7787,11 +7787,11 @@ scsi_mode_sense_subpage(struct ccb_scsiio *csio, uint32_t retries, } void -scsi_mode_select(struct ccb_scsiio *csio, u_int32_t retries, +scsi_mode_select(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, int scsi_page_fmt, int save_pages, - u_int8_t *param_buf, u_int32_t param_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, int scsi_page_fmt, int save_pages, + uint8_t *param_buf, uint32_t param_len, uint8_t sense_len, + uint32_t timeout) { scsi_mode_select_len(csio, retries, cbfcnp, tag_action, scsi_page_fmt, save_pages, param_buf, @@ -7799,14 +7799,14 @@ scsi_mode_select(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_mode_select_len(struct ccb_scsiio *csio, u_int32_t retries, +scsi_mode_select_len(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, int scsi_page_fmt, int save_pages, - u_int8_t *param_buf, u_int32_t param_len, - int minimum_cmd_size, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, int scsi_page_fmt, int save_pages, + uint8_t *param_buf, uint32_t param_len, + int minimum_cmd_size, uint8_t sense_len, + uint32_t timeout) { - u_int8_t cdb_len; + uint8_t cdb_len; /* * Use the smallest possible command to perform the operation. @@ -7857,15 +7857,15 @@ scsi_mode_select_len(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_log_sense(struct ccb_scsiio *csio, u_int32_t retries, +scsi_log_sense(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t page_code, u_int8_t page, - int save_pages, int ppc, u_int32_t paramptr, - u_int8_t *param_buf, u_int32_t param_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint8_t page_code, uint8_t page, + int save_pages, int ppc, uint32_t paramptr, + uint8_t *param_buf, uint32_t param_len, uint8_t sense_len, + uint32_t timeout) { struct scsi_log_sense *scsi_cmd; - u_int8_t cdb_len; + uint8_t cdb_len; scsi_cmd = (struct scsi_log_sense *)&csio->cdb_io.cdb_bytes; bzero(scsi_cmd, sizeof(*scsi_cmd)); @@ -7892,14 +7892,14 @@ scsi_log_sense(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_log_select(struct ccb_scsiio *csio, u_int32_t retries, +scsi_log_select(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t page_code, int save_pages, - int pc_reset, u_int8_t *param_buf, u_int32_t param_len, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, uint8_t page_code, int save_pages, + int pc_reset, uint8_t *param_buf, uint32_t param_len, + uint8_t sense_len, uint32_t timeout) { struct scsi_log_select *scsi_cmd; - u_int8_t cdb_len; + uint8_t cdb_len; scsi_cmd = (struct scsi_log_select *)&csio->cdb_io.cdb_bytes; bzero(scsi_cmd, sizeof(*scsi_cmd)); @@ -7928,10 +7928,10 @@ scsi_log_select(struct ccb_scsiio *csio, u_int32_t retries, * Prevent or allow the user to remove the media */ void -scsi_prevent(struct ccb_scsiio *csio, u_int32_t retries, +scsi_prevent(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t action, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, uint8_t action, + uint8_t sense_len, uint32_t timeout) { struct scsi_prevent *scsi_cmd; @@ -7954,11 +7954,11 @@ scsi_prevent(struct ccb_scsiio *csio, u_int32_t retries, /* XXX allow specification of address and PMI bit and LBA */ void -scsi_read_capacity(struct ccb_scsiio *csio, u_int32_t retries, +scsi_read_capacity(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, + uint8_t tag_action, struct scsi_read_capacity_data *rcap_buf, - u_int8_t sense_len, u_int32_t timeout) + uint8_t sense_len, uint32_t timeout) { struct scsi_read_capacity *scsi_cmd; @@ -7967,7 +7967,7 @@ scsi_read_capacity(struct ccb_scsiio *csio, u_int32_t retries, cbfcnp, /*flags*/CAM_DIR_IN, tag_action, - /*data_ptr*/(u_int8_t *)rcap_buf, + /*data_ptr*/(uint8_t *)rcap_buf, /*dxfer_len*/sizeof(*rcap_buf), sense_len, sizeof(*scsi_cmd), @@ -7992,7 +7992,7 @@ scsi_read_capacity_16(struct ccb_scsiio *csio, uint32_t retries, cbfcnp, /*flags*/CAM_DIR_IN, tag_action, - /*data_ptr*/(u_int8_t *)rcap_buf, + /*data_ptr*/(uint8_t *)rcap_buf, /*dxfer_len*/rcap_buf_len, sense_len, sizeof(*scsi_cmd), @@ -8010,11 +8010,11 @@ scsi_read_capacity_16(struct ccb_scsiio *csio, uint32_t retries, } void -scsi_report_luns(struct ccb_scsiio *csio, u_int32_t retries, +scsi_report_luns(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t select_report, - struct scsi_report_luns_data *rpl_buf, u_int32_t alloc_len, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, uint8_t select_report, + struct scsi_report_luns_data *rpl_buf, uint32_t alloc_len, + uint8_t sense_len, uint32_t timeout) { struct scsi_report_luns *scsi_cmd; @@ -8023,7 +8023,7 @@ scsi_report_luns(struct ccb_scsiio *csio, u_int32_t retries, cbfcnp, /*flags*/CAM_DIR_IN, tag_action, - /*data_ptr*/(u_int8_t *)rpl_buf, + /*data_ptr*/(uint8_t *)rpl_buf, /*dxfer_len*/alloc_len, sense_len, sizeof(*scsi_cmd), @@ -8036,11 +8036,11 @@ scsi_report_luns(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_report_target_group(struct ccb_scsiio *csio, u_int32_t retries, +scsi_report_target_group(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t pdf, - void *buf, u_int32_t alloc_len, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, uint8_t pdf, + void *buf, uint32_t alloc_len, + uint8_t sense_len, uint32_t timeout) { struct scsi_target_group *scsi_cmd; @@ -8049,7 +8049,7 @@ scsi_report_target_group(struct ccb_scsiio *csio, u_int32_t retries, cbfcnp, /*flags*/CAM_DIR_IN, tag_action, - /*data_ptr*/(u_int8_t *)buf, + /*data_ptr*/(uint8_t *)buf, /*dxfer_len*/alloc_len, sense_len, sizeof(*scsi_cmd), @@ -8062,11 +8062,11 @@ scsi_report_target_group(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_report_timestamp(struct ccb_scsiio *csio, u_int32_t retries, +scsi_report_timestamp(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t pdf, - void *buf, u_int32_t alloc_len, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, uint8_t pdf, + void *buf, uint32_t alloc_len, + uint8_t sense_len, uint32_t timeout) { struct scsi_timestamp *scsi_cmd; @@ -8075,7 +8075,7 @@ scsi_report_timestamp(struct ccb_scsiio *csio, u_int32_t retries, cbfcnp, /*flags*/CAM_DIR_IN, tag_action, - /*data_ptr*/(u_int8_t *)buf, + /*data_ptr*/(uint8_t *)buf, /*dxfer_len*/alloc_len, sense_len, sizeof(*scsi_cmd), @@ -8088,10 +8088,10 @@ scsi_report_timestamp(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_set_target_group(struct ccb_scsiio *csio, u_int32_t retries, +scsi_set_target_group(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, void *buf, u_int32_t alloc_len, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, void *buf, uint32_t alloc_len, + uint8_t sense_len, uint32_t timeout) { struct scsi_target_group *scsi_cmd; @@ -8100,7 +8100,7 @@ scsi_set_target_group(struct ccb_scsiio *csio, u_int32_t retries, cbfcnp, /*flags*/CAM_DIR_OUT, tag_action, - /*data_ptr*/(u_int8_t *)buf, + /*data_ptr*/(uint8_t *)buf, /*dxfer_len*/alloc_len, sense_len, sizeof(*scsi_cmd), @@ -8127,10 +8127,10 @@ scsi_create_timestamp(uint8_t *timestamp_6b_buf, } void -scsi_set_timestamp(struct ccb_scsiio *csio, u_int32_t retries, +scsi_set_timestamp(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, void *buf, u_int32_t alloc_len, - u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, void *buf, uint32_t alloc_len, + uint8_t sense_len, uint32_t timeout) { struct scsi_timestamp *scsi_cmd; @@ -8139,7 +8139,7 @@ scsi_set_timestamp(struct ccb_scsiio *csio, u_int32_t retries, cbfcnp, /*flags*/CAM_DIR_OUT, tag_action, - /*data_ptr*/(u_int8_t *) buf, + /*data_ptr*/(uint8_t *) buf, /*dxfer_len*/alloc_len, sense_len, sizeof(*scsi_cmd), @@ -8157,11 +8157,11 @@ scsi_set_timestamp(struct ccb_scsiio *csio, u_int32_t retries, * the whole cache. */ void -scsi_synchronize_cache(struct ccb_scsiio *csio, u_int32_t retries, +scsi_synchronize_cache(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int32_t begin_lba, - u_int16_t lb_count, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint32_t begin_lba, + uint16_t lb_count, uint8_t sense_len, + uint32_t timeout) { struct scsi_sync_cache *scsi_cmd; @@ -8184,15 +8184,15 @@ scsi_synchronize_cache(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, +scsi_read_write(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, int readop, u_int8_t byte2, - int minimum_cmd_size, u_int64_t lba, u_int32_t block_count, - u_int8_t *data_ptr, u_int32_t dxfer_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, int readop, uint8_t byte2, + int minimum_cmd_size, uint64_t lba, uint32_t block_count, + uint8_t *data_ptr, uint32_t dxfer_len, uint8_t sense_len, + uint32_t timeout) { int read; - u_int8_t cdb_len; + uint8_t cdb_len; read = (readop & SCSI_RW_DIRMASK) == SCSI_RW_READ; @@ -8298,14 +8298,14 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_write_same(struct ccb_scsiio *csio, u_int32_t retries, +scsi_write_same(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t byte2, - int minimum_cmd_size, u_int64_t lba, u_int32_t block_count, - u_int8_t *data_ptr, u_int32_t dxfer_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint8_t byte2, + int minimum_cmd_size, uint64_t lba, uint32_t block_count, + uint8_t *data_ptr, uint32_t dxfer_len, uint8_t sense_len, + uint32_t timeout) { - u_int8_t cdb_len; + uint8_t cdb_len; if ((minimum_cmd_size < 16) && ((block_count & 0xffff) == block_count) && ((lba & 0xffffffff) == lba)) { @@ -8367,11 +8367,11 @@ scsi_write_same(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_ata_identify(struct ccb_scsiio *csio, u_int32_t retries, +scsi_ata_identify(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t *data_ptr, - u_int16_t dxfer_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint8_t *data_ptr, + uint16_t dxfer_len, uint8_t sense_len, + uint32_t timeout) { scsi_ata_pass(csio, retries, @@ -8400,11 +8400,11 @@ scsi_ata_identify(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_ata_trim(struct ccb_scsiio *csio, u_int32_t retries, +scsi_ata_trim(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int16_t block_count, - u_int8_t *data_ptr, u_int16_t dxfer_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint16_t block_count, + uint8_t *data_ptr, uint16_t dxfer_len, uint8_t sense_len, + uint32_t timeout) { scsi_ata_pass_16(csio, retries, @@ -8533,9 +8533,9 @@ scsi_ata_pass(struct ccb_scsiio *csio, uint32_t retries, uint8_t protocol, uint8_t ata_flags, uint16_t features, uint16_t sector_count, uint64_t lba, uint8_t command, uint8_t device, uint8_t icc, uint32_t auxiliary, - uint8_t control, u_int8_t *data_ptr, uint32_t dxfer_len, + uint8_t control, uint8_t *data_ptr, uint32_t dxfer_len, uint8_t *cdb_storage, size_t cdb_storage_len, - int minimum_cmd_size, u_int8_t sense_len, u_int32_t timeout) + int minimum_cmd_size, uint8_t sense_len, uint32_t timeout) { uint32_t cam_flags; uint8_t *cdb_ptr; @@ -8698,13 +8698,13 @@ bailout: } void -scsi_ata_pass_16(struct ccb_scsiio *csio, u_int32_t retries, +scsi_ata_pass_16(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int32_t flags, u_int8_t tag_action, - u_int8_t protocol, u_int8_t ata_flags, u_int16_t features, - u_int16_t sector_count, uint64_t lba, u_int8_t command, - u_int8_t control, u_int8_t *data_ptr, u_int16_t dxfer_len, - u_int8_t sense_len, u_int32_t timeout) + uint32_t flags, uint8_t tag_action, + uint8_t protocol, uint8_t ata_flags, uint16_t features, + uint16_t sector_count, uint64_t lba, uint8_t command, + uint8_t control, uint8_t *data_ptr, uint16_t dxfer_len, + uint8_t sense_len, uint32_t timeout) { struct ata_pass_16 *ata_cmd; @@ -8742,11 +8742,11 @@ scsi_ata_pass_16(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_unmap(struct ccb_scsiio *csio, u_int32_t retries, +scsi_unmap(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t byte2, - u_int8_t *data_ptr, u_int16_t dxfer_len, u_int8_t sense_len, - u_int32_t timeout) + uint8_t tag_action, uint8_t byte2, + uint8_t *data_ptr, uint16_t dxfer_len, uint8_t sense_len, + uint32_t timeout) { struct scsi_unmap *scsi_cmd; @@ -8771,7 +8771,7 @@ scsi_unmap(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_receive_diagnostic_results(struct ccb_scsiio *csio, u_int32_t retries, +scsi_receive_diagnostic_results(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), uint8_t tag_action, int pcv, uint8_t page_code, uint8_t *data_ptr, uint16_t allocation_length, @@ -8801,7 +8801,7 @@ scsi_receive_diagnostic_results(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_send_diagnostic(struct ccb_scsiio *csio, u_int32_t retries, +scsi_send_diagnostic(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int unit_offline, int device_offline, int self_test, int page_format, int self_test_code, @@ -8842,7 +8842,7 @@ scsi_send_diagnostic(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_get_physical_element_status(struct ccb_scsiio *csio, u_int32_t retries, +scsi_get_physical_element_status(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t *data_ptr, uint16_t allocation_length, uint8_t report_type, @@ -8871,7 +8871,7 @@ scsi_get_physical_element_status(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_remove_element_and_truncate(struct ccb_scsiio *csio, u_int32_t retries, +scsi_remove_element_and_truncate(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint64_t requested_capacity, uint32_t element_id, @@ -8899,7 +8899,7 @@ scsi_remove_element_and_truncate(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_restore_elements_and_rebuild(struct ccb_scsiio *csio, u_int32_t retries, +scsi_restore_elements_and_rebuild(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t sense_len, uint32_t timeout) @@ -8924,10 +8924,10 @@ scsi_restore_elements_and_rebuild(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_read_buffer(struct ccb_scsiio *csio, u_int32_t retries, +scsi_read_buffer(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb*), uint8_t tag_action, int mode, - uint8_t buffer_id, u_int32_t offset, + uint8_t buffer_id, uint32_t offset, uint8_t *data_ptr, uint32_t allocation_length, uint8_t sense_len, uint32_t timeout) { @@ -8954,10 +8954,10 @@ scsi_read_buffer(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_write_buffer(struct ccb_scsiio *csio, u_int32_t retries, +scsi_write_buffer(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int mode, - uint8_t buffer_id, u_int32_t offset, + uint8_t buffer_id, uint32_t offset, uint8_t *data_ptr, uint32_t param_list_length, uint8_t sense_len, uint32_t timeout) { @@ -8984,10 +8984,10 @@ scsi_write_buffer(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_start_stop(struct ccb_scsiio *csio, u_int32_t retries, +scsi_start_stop(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, int start, int load_eject, - int immediate, u_int8_t sense_len, u_int32_t timeout) + uint8_t tag_action, int start, int load_eject, + int immediate, uint8_t sense_len, uint32_t timeout) { struct scsi_start_stop_unit *scsi_cmd; int extra_flags = 0; @@ -9018,13 +9018,13 @@ scsi_start_stop(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_read_attribute(struct ccb_scsiio *csio, u_int32_t retries, +scsi_read_attribute(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, u_int8_t service_action, - uint32_t element, u_int8_t elem_type, int logical_volume, - int partition, u_int32_t first_attribute, int cache, - u_int8_t *data_ptr, u_int32_t length, int sense_len, - u_int32_t timeout) + uint8_t tag_action, uint8_t service_action, + uint32_t element, uint8_t elem_type, int logical_volume, + int partition, uint32_t first_attribute, int cache, + uint8_t *data_ptr, uint32_t length, int sense_len, + uint32_t timeout) { struct scsi_read_attribute *scsi_cmd; @@ -9055,11 +9055,11 @@ scsi_read_attribute(struct ccb_scsiio *csio, u_int32_t retries, } void -scsi_write_attribute(struct ccb_scsiio *csio, u_int32_t retries, +scsi_write_attribute(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, uint32_t element, int logical_volume, - int partition, int wtc, u_int8_t *data_ptr, - u_int32_t length, int sense_len, u_int32_t timeout) + uint8_t tag_action, uint32_t element, int logical_volume, + int partition, int wtc, uint8_t *data_ptr, + uint32_t length, int sense_len, uint32_t timeout) { struct scsi_write_attribute *scsi_cmd; diff --git a/sys/cam/scsi/scsi_all.h b/sys/cam/scsi/scsi_all.h index 37a58fda433e..2fec4f0b7553 100644 --- a/sys/cam/scsi/scsi_all.h +++ b/sys/cam/scsi/scsi_all.h @@ -117,26 +117,26 @@ typedef enum { struct scsi_generic { - u_int8_t opcode; - u_int8_t bytes[11]; + uint8_t opcode; + uint8_t bytes[11]; }; struct scsi_request_sense { - u_int8_t opcode; - u_int8_t byte2; + uint8_t opcode; + uint8_t byte2; #define SRS_DESC 0x01 - u_int8_t unused[2]; - u_int8_t length; - u_int8_t control; + uint8_t unused[2]; + uint8_t length; + uint8_t control; }; struct scsi_test_unit_ready { - u_int8_t opcode; - u_int8_t byte2; - u_int8_t unused[3]; - u_int8_t control; + uint8_t opcode; + uint8_t byte2; + uint8_t unused[3]; + uint8_t control; }; struct scsi_receive_diag { @@ -170,30 +170,30 @@ struct scsi_send_diag { struct scsi_sense { - u_int8_t opcode; - u_int8_t byte2; - u_int8_t unused[2]; - u_int8_t length; - u_int8_t control; + uint8_t opcode; + uint8_t byte2; + uint8_t unused[2]; + uint8_t length; + uint8_t control; }; struct scsi_inquiry { - u_int8_t opcode; - u_int8_t byte2; + uint8_t opcode; + uint8_t byte2; #define SI_EVPD 0x01 #define SI_CMDDT 0x02 - u_int8_t page_code; - u_int8_t length[2]; - u_int8_t control; + uint8_t page_code; + uint8_t length[2]; + uint8_t control; }; struct scsi_mode_sense_6 { - u_int8_t opcode; - u_int8_t byte2; + uint8_t opcode; + uint8_t byte2; #define SMS_DBD 0x08 - u_int8_t page; + uint8_t page; #define SMS_PAGE_CODE 0x3F #define SMS_VENDOR_SPECIFIC_PAGE 0x00 #define SMS_DISCONNECT_RECONNECT_PAGE 0x02 @@ -210,44 +210,44 @@ struct scsi_mode_sense_6 #define SMS_PAGE_CTRL_CHANGEABLE 0x40 #define SMS_PAGE_CTRL_DEFAULT 0x80 #define SMS_PAGE_CTRL_SAVED 0xC0 - u_int8_t subpage; + uint8_t subpage; #define SMS_SUBPAGE_PAGE_0 0x00 #define SMS_SUBPAGE_ALL 0xff - u_int8_t length; - u_int8_t control; + uint8_t length; + uint8_t control; }; struct scsi_mode_sense_10 { - u_int8_t opcode; - u_int8_t byte2; /* same bits as small version */ + uint8_t opcode; + uint8_t byte2; /* same bits as small version */ #define SMS10_LLBAA 0x10 - u_int8_t page; /* same bits as small version */ - u_int8_t subpage; - u_int8_t unused[3]; - u_int8_t length[2]; - u_int8_t control; + uint8_t page; /* same bits as small version */ + uint8_t subpage; + uint8_t unused[3]; + uint8_t length[2]; + uint8_t control; }; struct scsi_mode_select_6 { - u_int8_t opcode; - u_int8_t byte2; + uint8_t opcode; + uint8_t byte2; #define SMS_SP 0x01 #define SMS_RTD 0x02 #define SMS_PF 0x10 - u_int8_t unused[2]; - u_int8_t length; - u_int8_t control; + uint8_t unused[2]; + uint8_t length; + uint8_t control; }; struct scsi_mode_select_10 { - u_int8_t opcode; - u_int8_t byte2; /* same bits as small version */ - u_int8_t unused[5]; - u_int8_t length[2]; - u_int8_t control; + uint8_t opcode; + uint8_t byte2; /* same bits as small version */ + uint8_t unused[5]; + uint8_t length[2]; + uint8_t control; }; /* @@ -255,68 +255,68 @@ struct scsi_mode_select_10 */ struct scsi_mode_hdr_6 { - u_int8_t datalen; - u_int8_t medium_type; - u_int8_t dev_specific; - u_int8_t block_descr_len; + uint8_t datalen; + uint8_t medium_type; + uint8_t dev_specific; + uint8_t block_descr_len; }; struct scsi_mode_hdr_10 { - u_int8_t datalen[2]; - u_int8_t medium_type; - u_int8_t dev_specific; - u_int8_t flags; + uint8_t datalen[2]; + uint8_t medium_type; + uint8_t dev_specific; + uint8_t flags; #define SMH_LONGLBA 0x01 - u_int8_t reserved; - u_int8_t block_descr_len[2]; + uint8_t reserved; + uint8_t block_descr_len[2]; }; struct scsi_mode_block_descr { - u_int8_t density_code; - u_int8_t num_blocks[3]; - u_int8_t reserved; - u_int8_t block_len[3]; + uint8_t density_code; + uint8_t num_blocks[3]; + uint8_t reserved; + uint8_t block_len[3]; }; struct scsi_mode_block_descr_dshort { - u_int8_t num_blocks[4]; - u_int8_t reserved; - u_int8_t block_len[3]; + uint8_t num_blocks[4]; + uint8_t reserved; + uint8_t block_len[3]; }; struct scsi_mode_block_descr_dlong { - u_int8_t num_blocks[8]; - u_int8_t reserved[4]; - u_int8_t block_len[4]; + uint8_t num_blocks[8]; + uint8_t reserved[4]; + uint8_t block_len[4]; }; struct scsi_per_res_in { - u_int8_t opcode; - u_int8_t action; + uint8_t opcode; + uint8_t action; #define SPRI_RK 0x00 #define SPRI_RR 0x01 #define SPRI_RC 0x02 #define SPRI_RS 0x03 - u_int8_t reserved[5]; - u_int8_t length[2]; + uint8_t reserved[5]; + uint8_t length[2]; #define SPRI_MAX_LEN 0xffff - u_int8_t control; + uint8_t control; }; struct scsi_per_res_in_header { - u_int8_t generation[4]; - u_int8_t length[4]; + uint8_t generation[4]; + uint8_t length[4]; }; struct scsi_per_res_key { - u_int8_t key[8]; + uint8_t key[8]; }; struct scsi_per_res_in_keys @@ -398,8 +398,8 @@ struct scsi_per_res_in_full struct scsi_per_res_out { - u_int8_t opcode; - u_int8_t action; + uint8_t opcode; + uint8_t action; #define SPRO_REGISTER 0x00 #define SPRO_RESERVE 0x01 #define SPRO_RELEASE 0x02 @@ -410,7 +410,7 @@ struct scsi_per_res_out #define SPRO_REG_MOVE 0x07 #define SPRO_REPL_LOST_RES 0x08 #define SPRO_ACTION_MASK 0x1f - u_int8_t scope_type; + uint8_t scope_type; #define SPR_SCOPE_MASK 0xf0 #define SPR_SCOPE_SHIFT 4 #define SPR_LU_SCOPE 0x00 @@ -426,28 +426,28 @@ struct scsi_per_res_out #define SPR_TYPE_EX_AC_RO 0x06 #define SPR_TYPE_WR_EX_AR 0x07 #define SPR_TYPE_EX_AC_AR 0x08 - u_int8_t reserved[2]; - u_int8_t length[4]; - u_int8_t control; + uint8_t reserved[2]; + uint8_t length[4]; + uint8_t control; }; struct scsi_per_res_out_parms { struct scsi_per_res_key res_key; - u_int8_t serv_act_res_key[8]; - u_int8_t scope_spec_address[4]; - u_int8_t flags; + uint8_t serv_act_res_key[8]; + uint8_t scope_spec_address[4]; + uint8_t flags; #define SPR_SPEC_I_PT 0x08 #define SPR_ALL_TG_PT 0x04 #define SPR_APTPL 0x01 - u_int8_t reserved1; - u_int8_t extent_length[2]; - u_int8_t transport_id_list[]; + uint8_t reserved1; + uint8_t extent_length[2]; + uint8_t transport_id_list[]; }; struct scsi_per_res_out_trans_ids { - u_int8_t additional_length[4]; - u_int8_t transport_ids[]; + uint8_t additional_length[4]; + uint8_t transport_ids[]; }; /* @@ -457,14 +457,14 @@ struct scsi_per_res_out_trans_ids { struct scsi_per_res_reg_move { struct scsi_per_res_key res_key; - u_int8_t serv_act_res_key[8]; - u_int8_t reserved; - u_int8_t flags; + uint8_t serv_act_res_key[8]; + uint8_t reserved; + uint8_t flags; #define SPR_REG_MOVE_UNREG 0x02 #define SPR_REG_MOVE_APTPL 0x01 - u_int8_t rel_trgt_port_id[2]; - u_int8_t transport_id_length[4]; - u_int8_t transport_id[]; + uint8_t rel_trgt_port_id[2]; *** 6210 LINES SKIPPED *** From nobody Tue Jul 25 04:26:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rS1M4Vz4p3yy; Tue, 25 Jul 2023 04:26: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 4R93rR6W4Gz4PQx; Tue, 25 Jul 2023 04:26:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eAwfBhlWbxaV7G92hkYJpQpzcgYdSIfMmX30UtYCxtk=; b=Fjiao9P1/m2hyl8y3FeY08SuS6fv/+aKe6iUpXLE3RMXssY7vVKNH0qFbPjA8xu1kxsM57 4hmJvmGVAg6F872Ejq+xaWX4yAPtcU1J+yeLftSvD9RG+37CdFZaeU87NwALwEdth2ASmD LI3WjCYMEfc9agSbVhfZAmUyoCO7sxFAGpM4tQmJ6ow5NwpqCQtrb+poJUzCmu3LbBhfcD +THOgNqM5WCGbMgeXgCCLBFljv6LyHWwaBsZoRfe3TfxRlem6fMVR1nFP0Z0+qZ2d402rH MaGis8fWXtkcYKvGpWh4QrQdj1sEA5ZpNwQ5GbVN2aACSRUDYHSbuyBHoAiO7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eAwfBhlWbxaV7G92hkYJpQpzcgYdSIfMmX30UtYCxtk=; b=GnZzjTl/ePAkg76ntJAAsKBAuP/jciWOm9r0oMLxy1eHJiiau/vXjKRZ5skDHvH75PFWOz yPKZhFGpT8hknXcro5s+1o6kvR7xiLiOHi/VbU3XrjSJ5m15C2lHEpa73B2+O4LPzC8IGn KHHiddBggF08BshncuQU2JWELdb7y19AwGnaDg0KVswCjjFiZkQJv4iBmWLL8WbslREdZI rRePmS+xGtePSoc8/jgJIdxzxQY96tiybPlemfXLVwGvLPgCR8aFaZKuwSbTFWQzIxPomk fF69X0gOGr6kumuOA0AV1AiP2An8kxgBloa6EXQ67gwPdt5+9ZBGhPm/fRi3+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259192; a=rsa-sha256; cv=none; b=Fz5EhLTt4+WKUOYTrtydcFN0Tz/CSrFc2uLIOhN577mG7iJwEyYOvNch34HrexnH5lCf2I GB3kSPjzmIUROKeMN1YoZrjAvhP8BpNkR0f2WtZf37d7n6UIaBFwESbi02e6LLxwic1ypb IlRe29+UKLKmLt7qhm+OkOXxOJ+vkSxSgo3Bxqf2x3nO/bya7fPq/A1N7aHuXyVnt26S8b 16FDNnvrc8ix2DtWSWtDTdOqOeZGMGcB8Dn+ncqL8u6aCegOSbu3wh9i8wa9O8iS5LEteE f7eN4N2BUu/i1Jaxk0/njgrqHdRQCZhFVtN+36piJxxJp+Uxqg3/tGP45+tamg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rR46HpzlTs; Tue, 25 Jul 2023 04:26: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 36P4QVot039402; Tue, 25 Jul 2023 04:26:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QVXC039401; Tue, 25 Jul 2023 04:26:31 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:31 GMT Message-Id: <202307250426.36P4QVXC039401@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: a74530d9e2db - main - cam/ctl: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a74530d9e2dbdae63eec79e6b0f238c10ef0345b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a74530d9e2dbdae63eec79e6b0f238c10ef0345b commit a74530d9e2dbdae63eec79e6b0f238c10ef0345b Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:56 +0000 cam/ctl: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sys/cam/ctl/ctl.c | 2 +- sys/cam/ctl/scsi_ctl.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index a365d5726d93..7507c4c3f18a 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -8272,7 +8272,7 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio) struct ctl_softc *softc = CTL_SOFTC(ctsio); struct ctl_lun *lun = CTL_LUN(ctsio); int retval; - u_int32_t param_len; + uint32_t param_len; struct scsi_per_res_out *cdb; struct scsi_per_res_out_parms* param; uint32_t residx; diff --git a/sys/cam/ctl/scsi_ctl.c b/sys/cam/ctl/scsi_ctl.c index cd521e66ebe0..e7fd66c33580 100644 --- a/sys/cam/ctl/scsi_ctl.c +++ b/sys/cam/ctl/scsi_ctl.c @@ -669,7 +669,7 @@ ctlfecleanup(struct cam_periph *periph) static void ctlfedata(struct ctlfe_lun_softc *softc, union ctl_io *io, ccb_flags *flags, uint8_t **data_ptr, uint32_t *dxfer_len, - u_int16_t *sglist_cnt) + uint16_t *sglist_cnt) { struct ctlfe_softc *bus_softc; struct ctlfe_cmd_info *cmd_info; From nobody Tue Jul 25 04:26:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rT0Cfzz4p4Dl; Tue, 25 Jul 2023 04:26: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 4R93rS6Bjbz4PR6; Tue, 25 Jul 2023 04:26:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Mz6eco6Z+K0zFAxeZD1f7mooTI+rLjiH8r6pktTRzk=; b=W/wcwwWvYrEBOelnDjtMebUyInJ8pSxRSPStFhXBBeIimFaqkTvxVf1gJ45N3F9uWoHVCj rPt24P9GHQw2tiFvvJYjbknJfoi/XxKqalBxptsEWv64DBJQ34iqE9oKrAFBjzPLbIeP9s 9XXQKOpEhJYAp+1uRPSPC2FGfi2p8/pX1ilzVuDDF/ijy1N6yKkDdzrlDbimQAVGeYI/jL m0GuxTXLcwV5YQzyLz8+5kA3UIryjgc/0aXLf6ryKtJQmMCVA1Nu3wI4b/ZT/kWgHOGVso /CWnp5lSCw61e6wrLbQYGDfjhi3cf7gn0mcdj7CZHOEZcYt4KMV9LL1KWiVMMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Mz6eco6Z+K0zFAxeZD1f7mooTI+rLjiH8r6pktTRzk=; b=rw1C7oLrH3gWADDQXHYrMzbIqBhPbs5YmGcX2wTeMDHzm5PTc5TIBnctrDN9VTz0M8r/wL APr9DRmIS0N6n/YtODSqzxqnWVlZbKjDq8QIRJOJhCzIsUFcds85+N3IJ3KfMz4oW/mMeh WagJ60es4z3Z+S7dVZUOkjZEDYZHi5Tkv+byQxuRQZ2xqALzcpzoAUCCTmgdMYOIetYyGL m++Ky191s0XVl/pKj3MUTnWMmyIAZUBP9RkN3eG/K7obhavyXeUycgr+myxehp7xk00swi 8Qzm2fh7D9BFozya60vu8DECeVfujsXYHAq0dZbG3bev5ifDezYMbYXXTKxN3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259192; a=rsa-sha256; cv=none; b=VWnJVJg9kiL7jz8+nDwrTxlN8iKXi4uerKy0g9vREaEEx35GCn8vTxeAhrEM2/OXipEVU1 rADGTZeKz7T0hIWPsKtxNDWycmZHZiCMyYUgCfHuV4j09dvS3aeY4yPn+cp+hHEkFBcpcN IqgN65q5qGGI5Q6rrMHwjkAgkS6Bn/vVmYbrG7YlcjmwOloArMwcsA1Tuunr+uE4QwNtPO L2rNqNGaKJA46gDRCo36nreDHn9PDtIsS17NSajcXBPxWegfcDk2e/+BHvVS9aQN2nDZZB B3x9EE4/hIDrT5kBTkOxZOJY5g2Ku3LlYIvACnu45PQgfTHGe9za9cKU+GzVkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rS4zpszlqX; Tue, 25 Jul 2023 04:26: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 36P4QWlc039421; Tue, 25 Jul 2023 04:26:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QWSO039420; Tue, 25 Jul 2023 04:26:32 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:32 GMT Message-Id: <202307250426.36P4QWSO039420@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: 7f85b11c57eb - main - cam/nvme: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f85b11c57eb0d27f6d604b7b6e66fcdaff5f483 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7f85b11c57eb0d27f6d604b7b6e66fcdaff5f483 commit 7f85b11c57eb0d27f6d604b7b6e66fcdaff5f483 Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:56 +0000 cam/nvme: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sys/cam/nvme/nvme_da.c | 10 +++++----- sys/cam/nvme/nvme_xpt.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/cam/nvme/nvme_da.c b/sys/cam/nvme/nvme_da.c index 9beef786f320..82b6893fdecb 100644 --- a/sys/cam/nvme/nvme_da.c +++ b/sys/cam/nvme/nvme_da.c @@ -149,7 +149,7 @@ static disk_ioctl_t ndaioctl; static disk_strategy_t ndastrategy; static dumper_t ndadump; static periph_init_t ndainit; -static void ndaasync(void *callback_arg, u_int32_t code, +static void ndaasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg); static void ndasysctlinit(void *context, int pending); static int ndaflagssysctl(SYSCTL_HANDLER_ARGS); @@ -159,8 +159,8 @@ static periph_start_t ndastart; static periph_oninv_t ndaoninvalidate; static void ndadone(struct cam_periph *periph, union ccb *done_ccb); -static int ndaerror(union ccb *ccb, u_int32_t cam_flags, - u_int32_t sense_flags); +static int ndaerror(union ccb *ccb, uint32_t cam_flags, + uint32_t sense_flags); static void ndashutdown(void *arg, int howto); static void ndasuspend(void *arg); @@ -646,7 +646,7 @@ ndacleanup(struct cam_periph *periph) } static void -ndaasync(void *callback_arg, u_int32_t code, +ndaasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -1268,7 +1268,7 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb) } static int -ndaerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) +ndaerror(union ccb *ccb, uint32_t cam_flags, uint32_t sense_flags) { #ifdef CAM_IO_STATS struct nda_softc *softc; diff --git a/sys/cam/nvme/nvme_xpt.c b/sys/cam/nvme/nvme_xpt.c index f1bcd581a096..3222ec1e9dc3 100644 --- a/sys/cam/nvme/nvme_xpt.c +++ b/sys/cam/nvme/nvme_xpt.c @@ -150,7 +150,7 @@ static struct cam_ed * nvme_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id); static void nvme_device_transport(struct cam_path *path); -static void nvme_dev_async(u_int32_t async_code, +static void nvme_dev_async(uint32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, @@ -310,7 +310,7 @@ nvme_probe_done(struct cam_periph *periph, union ccb *done_ccb) struct cam_path *path; struct scsi_vpd_device_id *did; struct scsi_vpd_id_descriptor *idd; - u_int32_t priority; + uint32_t priority; int found = 1, e, g, len; CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("nvme_probe_done\n")); @@ -373,7 +373,7 @@ device_fail: if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) path->device->serial_num = NULL; path->device->serial_num_len = 0; } - path->device->serial_num = (u_int8_t *) + path->device->serial_num = (uint8_t *) malloc(NVME_SERIAL_NUMBER_LENGTH + 1, M_CAMXPT, M_NOWAIT); if (path->device->serial_num != NULL) { cam_strvis_flag(path->device->serial_num, @@ -430,7 +430,7 @@ device_fail: if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) if (e < sizeof(nvme_data->eui64)) len += sizeof(struct scsi_vpd_id_descriptor) + 8; if (len > 0) { - path->device->device_id = (u_int8_t *) + path->device->device_id = (uint8_t *) malloc(SVPD_DEVICE_ID_HDR_LEN + len, M_CAMXPT, M_NOWAIT); } @@ -764,7 +764,7 @@ nvme_action(union ccb *start_ccb) * Handle any per-device event notifications that require action by the XPT. */ static void -nvme_dev_async(u_int32_t async_code, struct cam_eb *bus, struct cam_et *target, +nvme_dev_async(uint32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, void *async_arg) { From nobody Tue Jul 25 04:26:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rV2VWvz4p3wN; Tue, 25 Jul 2023 04:26: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 4R93rV0hlzz4PNx; Tue, 25 Jul 2023 04:26:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eOjmCR8vSNiJP7suvm3RnfIIyL6bFm/jNRD0jA5U/0U=; b=DU8JEwM0W7pQp+TyMnAsiaIGz9OSV0MSDuhShCU+WPsUb6+FX6PUqW3V49L0dJw/EU0ie4 XXkdvyAZQt+SDG2C76o/jlUmLdTTgEMYEwvDra+c2HIPnb03EoYYttQH9hY7dXqJbrwGK8 GEUieU9TfNrgD2LX9TGUEMv7P5/2SPMWZ9w5SHfgnxH0HOSAC+Ntllgli1jQAsOQ2F2UW3 J3RJKFR0bO+7eiS2a6sI4wHfyHU4H8BF6YZyp7U206CNIYn6ffryp57LQIDEw7vHmOfb11 Yi30vvJmUcyyuZ7F+yescjTFeZLtrrl4kqXCxEIWiWhcWWir9FhXB1YRykQILQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eOjmCR8vSNiJP7suvm3RnfIIyL6bFm/jNRD0jA5U/0U=; b=U1gpkkSUrTzTRbbaLuBkkMf3RT0hXQNB9J/NMQuZmLsy5gOWXZgO07xfKWvORIGL7gOo0K NGuteE8KLINAxCiHuTlMxEWSdG2m90w4tsPI93uo29YP2spHXGWzaYkVWhre2DOUHE4bHa 4kBS0NYMp5mLuuQ2+wZKWdATcZAhXZEXLTgswAZ9o5yJF00g9gQb0aGZdUspXIeH9K/sNw mm4QpKs0yngBKSmDKLL2ZFPPBsx0VJD8w33WlxPtC4xFsmP+NUHAYnzVL8SJvZsZBdSquA yOxDpgjDaCPaqNW2XpENsKal7iUejNaHfUwwLqcOzz1dF2yS2iPSZq2PJdpH3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259194; a=rsa-sha256; cv=none; b=KZlqDAeSUr7uVfZ9/clj2wAGbZmnjX5b0QqfryD3v0JKvLaJOyNfceYz8wAvM469ivjCV0 75yWquQqHbVOqvzG8xvCwUA5y80K0Bb0tIDtLcYF+C+5NobH9WKNEQ92N1QJYNf/qzvX+m m4z1/wY/pJtlBJflcILaNK+Ap1LY6P/b+KxMczJjUZLKkJoowOL4Nba9H/GoEYK7C4KfE8 hI4ArjwWyEduLRmP8QSRLhdLZFaSCu1cFcuzMFa+HvqGB2Ak6je3qvKlZ8Q5vCxIPmJm6T THMaIDf1PN1ulKqzZTX9JtbkO3VbkiBzWfWnxbZPGy9uR4fW3qYoXraBoejkpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rT5x4YzmGV; Tue, 25 Jul 2023 04:26: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 36P4QXLC039440; Tue, 25 Jul 2023 04:26:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QX7B039439; Tue, 25 Jul 2023 04:26:33 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:33 GMT Message-Id: <202307250426.36P4QX7B039439@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: 73551d4f6053 - main - cam/mmc: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73551d4f6053992fdc73b5d6dd57f26043e9548b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=73551d4f6053992fdc73b5d6dd57f26043e9548b commit 73551d4f6053992fdc73b5d6dd57f26043e9548b Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:57 +0000 cam/mmc: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sys/cam/mmc/mmc.h | 2 +- sys/cam/mmc/mmc_da.c | 14 +++++++------- sys/cam/mmc/mmc_xpt.c | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/cam/mmc/mmc.h b/sys/cam/mmc/mmc.h index 71738bdce116..15cbfe346199 100644 --- a/sys/cam/mmc/mmc.h +++ b/sys/cam/mmc/mmc.h @@ -64,7 +64,7 @@ * This structure describes an MMC/SD card */ struct mmc_params { - u_int8_t model[40]; /* Card model */ + uint8_t model[40]; /* Card model */ /* Card OCR */ uint32_t card_ocr; diff --git a/sys/cam/mmc/mmc_da.c b/sys/cam/mmc/mmc_da.c index 4da343ca817c..45a0500025f1 100644 --- a/sys/cam/mmc/mmc_da.c +++ b/sys/cam/mmc/mmc_da.c @@ -166,7 +166,7 @@ static const char *mmc_errmsg[] = static disk_strategy_t sddastrategy; static dumper_t sddadump; static periph_init_t sddainit; -static void sddaasync(void *callback_arg, u_int32_t code, +static void sddaasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg); static periph_ctor_t sddaregister; static periph_dtor_t sddacleanup; @@ -174,8 +174,8 @@ static periph_start_t sddastart; static periph_oninv_t sddaoninvalidate; static void sddadone(struct cam_periph *periph, union ccb *done_ccb); -static int sddaerror(union ccb *ccb, u_int32_t cam_flags, - u_int32_t sense_flags); +static int sddaerror(union ccb *ccb, uint32_t cam_flags, + uint32_t sense_flags); static int mmc_handle_reply(union ccb *ccb); static uint16_t get_rca(struct cam_periph *periph); @@ -646,7 +646,7 @@ sddacleanup(struct cam_periph *periph) } static void -sddaasync(void *callback_arg, u_int32_t code, +sddaasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct ccb_getdev cgd; @@ -1285,12 +1285,12 @@ sdda_start_init(void *context, union ccb *start_ccb) /* Update info for CAM */ device->serial_num_len = strlen(softc->card_sn_string); - device->serial_num = (u_int8_t *)malloc((device->serial_num_len + 1), + device->serial_num = (uint8_t *)malloc((device->serial_num_len + 1), M_CAMXPT, M_NOWAIT); strlcpy(device->serial_num, softc->card_sn_string, device->serial_num_len + 1); device->device_id_len = strlen(softc->card_id_string); - device->device_id = (u_int8_t *)malloc((device->device_id_len + 1), + device->device_id = (uint8_t *)malloc((device->device_id_len + 1), M_CAMXPT, M_NOWAIT); strlcpy(device->device_id, softc->card_id_string, device->device_id_len + 1); @@ -2000,7 +2000,7 @@ sddadone(struct cam_periph *periph, union ccb *done_ccb) } static int -sddaerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) +sddaerror(union ccb *ccb, uint32_t cam_flags, uint32_t sense_flags) { return(cam_periph_error(ccb, cam_flags, sense_flags)); } diff --git a/sys/cam/mmc/mmc_xpt.c b/sys/cam/mmc/mmc_xpt.c index 65099bcb1d57..30b1b7f867e7 100644 --- a/sys/cam/mmc/mmc_xpt.c +++ b/sys/cam/mmc/mmc_xpt.c @@ -69,7 +69,7 @@ FEATURE(mmccam, "CAM-based MMC/SD/SDIO stack"); static struct cam_ed * mmc_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id); -static void mmc_dev_async(u_int32_t async_code, struct cam_eb *bus, +static void mmc_dev_async(uint32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, void *async_arg); static void mmc_action(union ccb *start_ccb); static void mmc_dev_advinfo(union ccb *start_ccb); @@ -207,7 +207,7 @@ mmc_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id) } static void -mmc_dev_async(u_int32_t async_code, struct cam_eb *bus, struct cam_et *target, +mmc_dev_async(uint32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, void *async_arg) { @@ -822,7 +822,7 @@ mmcprobe_done(struct cam_periph *periph, union ccb *done_ccb) int err; struct ccb_mmcio *mmcio; - u_int32_t priority; + uint32_t priority; CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_PROBE, ("mmcprobe_done\n")); softc = (mmcprobe_softc *)periph->softc; From nobody Tue Jul 25 04:26:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rW2HfZz4p48W; Tue, 25 Jul 2023 04:26: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 4R93rW0NWsz4PLf; Tue, 25 Jul 2023 04:26:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C5HcDYvJxtnArc/dqLAxtzpfwCVVJKofPBpcWWPhghs=; b=uB6A+tRTIRbSVqmf5USmAO/PARFs0moyjAD9PzdpHRU4dAo1LUPtnmdXqcbFLjVUcJmaDa l1M5ZBkbbx2QyinSgVLzzabJemDRSNIZsLsyMcG/AI0nBs/GchVA9hHmw67xCzwwrQdapd V/jI5ovf073jGRhE64POEgnCgsCW2D1Y6I6DniZZrePgyhGZQ7Cml1zB51QtWUjofq24aH wMc7FD5Ba/5T7g4RRd9J7mCFOPt/oZdH0nYzA8UviO7IDQ3FmE/sJy5DEob6IivBt80EuX TUyWqFhOUm+h1QdkaOllgdJMC0YRhgbV/t8JLRY1dr8HM0qmXb7jZgSEAYuR7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C5HcDYvJxtnArc/dqLAxtzpfwCVVJKofPBpcWWPhghs=; b=Qh0Xfm9UVqLSScFMfhWW30oG2fniNK86ZBPXb69VSvkvfjsVMExPqUbuUikYwlTZMRP0qk Ch8I4fi3zpz5RtaDR68VNJmajy9x9STm5GUVUYpHcT6mzsAROvzgv22XWmFwyUZ+Zefnbi 9nKl0WlLgL2xiivsfGLi7kufRMpu6VQkos0svgWpUJooydSX4MgmVknVF3e8n30Egq8naO bXFsB1nWX7u130sKhaYaUoyONRYklJvjZfdU6nCHX4zTnvN4ni4DgRHQsrKbEj7TF2QhTT JOqyMnWgf1Dw/FVOlrAtLmpJiTi1BFfu6J38/o8M4/mIgkYokXmv5gMji3zMKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259195; a=rsa-sha256; cv=none; b=eiEAy+LPQfy/CkFFYCNOuXmVnQf3b6k3FNZlJ1qCTHA+2gSLq7Ue7+J9Guvoqf+2Gu4Dzi JQlNA7pgZrWge//OZ8FImlZvN85F5aJU9d+2SOMskV6QckE2gGPS2mXrmRhEU9HqOtzqAl xriINb+wvFYR00bQ7qRucQZzHvPwZvkg76EDEvEONtF6C33teDJdWnhHkb+l7GWLEtpdBE MhPVnL3fE8xxRbYKdlMNwE14xlOKJYcg/7ia0WDwnK97rAQ+8CjeHWufEAwOVjW6ImZs9y +XDVeHYKtyisizpwauD1g2rx/a0Yw9KLcsOwS6otxYWAW6l9EUJIcmcIS7Jeug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rV6bP6zlqY; Tue, 25 Jul 2023 04:26: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 36P4QY3p039473; Tue, 25 Jul 2023 04:26:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QYHr039472; Tue, 25 Jul 2023 04:26:34 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:34 GMT Message-Id: <202307250426.36P4QYHr039472@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: efff068cbf64 - main - camcontrol: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: efff068cbf64c54b16bf7eb1e46fece8d3a835f8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=efff068cbf64c54b16bf7eb1e46fece8d3a835f8 commit efff068cbf64c54b16bf7eb1e46fece8d3a835f8 Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:32:57 +0000 camcontrol: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- sbin/camcontrol/camcontrol.c | 176 +++++++++++++++++++++---------------------- sbin/camcontrol/camcontrol.h | 2 +- sbin/camcontrol/fwdownload.c | 10 +-- sbin/camcontrol/modeedit.c | 14 ++-- 4 files changed, 101 insertions(+), 101 deletions(-) diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c index fb567b6829a4..fb0556111fa6 100644 --- a/sbin/camcontrol/camcontrol.c +++ b/sbin/camcontrol/camcontrol.c @@ -161,9 +161,9 @@ struct camcontrol_opts { struct ata_set_max_pwd { - u_int16_t reserved1; - u_int8_t password[32]; - u_int16_t reserved2[239]; + uint16_t reserved1; + uint8_t password[32]; + uint16_t reserved2[239]; }; static struct scsi_nv task_attrs[] = { @@ -1047,7 +1047,7 @@ scsiinquiry(struct cam_device *device, int task_attr, int retry_count, * - The SCSI spec says that when a length field is only 1 byte, * a value of 0 will be interpreted as 256. Therefore * scsi_inquiry() will convert an inq_len (which is passed in as - * a u_int32_t, but the field in the CDB is only 1 byte) of 256 + * a uint32_t, but the field in the CDB is only 1 byte) of 256 * to 0. Evidently, very few devices meet the spec in that * regard. Some devices, like many Seagate disks, take the 0 as * 0, and don't return any data. One Pioneer DVD-R drive @@ -1075,7 +1075,7 @@ scsiinquiry(struct cam_device *device, int task_attr, int retry_count, /* retries */ retry_count, /* cbfcnp */ NULL, /* tag_action */ task_attr, - /* inq_buf */ (u_int8_t *)inq_buf, + /* inq_buf */ (uint8_t *)inq_buf, /* inq_len */ SHORT_INQUIRY_LENGTH, /* evpd */ 0, /* page_code */ 0, @@ -1148,7 +1148,7 @@ scsiserial(struct cam_device *device, int task_attr, int retry_count, /*retries*/ retry_count, /*cbfcnp*/ NULL, /* tag_action */ task_attr, - /* inq_buf */ (u_int8_t *)serial_buf, + /* inq_buf */ (uint8_t *)serial_buf, /* inq_len */ sizeof(*serial_buf), /* evpd */ 1, /* page_code */ SVPD_UNIT_SERIAL_NUMBER, @@ -1203,8 +1203,8 @@ int camxferrate(struct cam_device *device) { struct ccb_pathinq cpi; - u_int32_t freq = 0; - u_int32_t speed = 0; + uint32_t freq = 0; + uint32_t speed = 0; union ccb *ccb; u_int mb; int retval = 0; @@ -1365,8 +1365,8 @@ xferrate_bailout: static void atahpa_print(struct ata_params *parm, u_int64_t hpasize, int header) { - u_int32_t lbasize = (u_int32_t)parm->lba_size_1 | - ((u_int32_t)parm->lba_size_2 << 16); + uint32_t lbasize = (uint32_t)parm->lba_size_1 | + ((uint32_t)parm->lba_size_2 << 16); u_int64_t lbasize48 = ((u_int64_t)parm->lba_size48_1) | ((u_int64_t)parm->lba_size48_2 << 16) | @@ -1398,8 +1398,8 @@ atahpa_print(struct ata_params *parm, u_int64_t hpasize, int header) static void ataama_print(struct ata_params *parm, u_int64_t nativesize, int header) { - u_int32_t lbasize = (u_int32_t)parm->lba_size_1 | - ((u_int32_t)parm->lba_size_2 << 16); + uint32_t lbasize = (uint32_t)parm->lba_size_1 | + ((uint32_t)parm->lba_size_2 << 16); u_int64_t lbasize48 = ((u_int64_t)parm->lba_size48_1) | ((u_int64_t)parm->lba_size48_2 << 16) | @@ -1437,8 +1437,8 @@ static void atacapprint(struct ata_params *parm) { const char *proto; - u_int32_t lbasize = (u_int32_t)parm->lba_size_1 | - ((u_int32_t)parm->lba_size_2 << 16); + uint32_t lbasize = (uint32_t)parm->lba_size_1 | + ((uint32_t)parm->lba_size_2 << 16); u_int64_t lbasize48 = ((u_int64_t)parm->lba_size48_1) | ((u_int64_t)parm->lba_size48_2 << 16) | @@ -1810,10 +1810,10 @@ ata_cam_send(struct cam_device *device, union ccb *ccb) static int ata_do_pass_16(struct cam_device *device, union ccb *ccb, int retries, - u_int32_t flags, u_int8_t protocol, u_int8_t ata_flags, - u_int8_t tag_action, u_int8_t command, u_int16_t features, - u_int64_t lba, u_int16_t sector_count, u_int8_t *data_ptr, - u_int16_t dxfer_len, int timeout) + uint32_t flags, uint8_t protocol, uint8_t ata_flags, + uint8_t tag_action, uint8_t command, uint16_t features, + u_int64_t lba, uint16_t sector_count, uint8_t *data_ptr, + uint16_t dxfer_len, int timeout) { if (data_ptr != NULL) { if (flags & CAM_DIR_OUT) @@ -1867,10 +1867,10 @@ ata_try_pass_16(struct cam_device *device) static int ata_do_cmd(struct cam_device *device, union ccb *ccb, int retries, - u_int32_t flags, u_int8_t protocol, u_int8_t ata_flags, - u_int8_t tag_action, u_int8_t command, u_int16_t features, - u_int64_t lba, u_int16_t sector_count, u_int8_t *data_ptr, - u_int16_t dxfer_len, int timeout, int force48bit) + uint32_t flags, uint8_t protocol, uint8_t ata_flags, + uint8_t tag_action, uint8_t command, uint16_t features, + u_int64_t lba, uint16_t sector_count, uint8_t *data_ptr, + uint16_t dxfer_len, int timeout, int force48bit) { int retval; @@ -1967,12 +1967,12 @@ atahpa_proc_resp(struct cam_device *device, union ccb *ccb, u_int64_t *hpasize) static int ata_read_native_max(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, + uint32_t timeout, union ccb *ccb, struct ata_params *parm, u_int64_t *hpasize) { int error; u_int cmd, is48bit; - u_int8_t protocol; + uint8_t protocol; is48bit = parm->support.command2 & ATA_SUPPORT_ADDRESS48; protocol = AP_PROTO_NON_DATA; @@ -2008,12 +2008,12 @@ ata_read_native_max(struct cam_device *device, int retry_count, static int atahpa_set_max(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, + uint32_t timeout, union ccb *ccb, int is48bit, u_int64_t maxsize, int persist) { int error; u_int cmd; - u_int8_t protocol; + uint8_t protocol; protocol = AP_PROTO_NON_DATA; @@ -2052,11 +2052,11 @@ atahpa_set_max(struct cam_device *device, int retry_count, static int atahpa_password(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, + uint32_t timeout, union ccb *ccb, int is48bit, struct ata_set_max_pwd *pwd) { u_int cmd; - u_int8_t protocol; + uint8_t protocol; protocol = AP_PROTO_PIO_OUT; cmd = (is48bit) ? ATA_SET_MAX_ADDRESS48 : ATA_SET_MAX_ADDRESS; @@ -2073,7 +2073,7 @@ atahpa_password(struct cam_device *device, int retry_count, /*features*/ATA_HPA_FEAT_SET_PWD, /*lba*/0, /*sector_count*/sizeof(*pwd) / 512, - /*data_ptr*/(u_int8_t*)pwd, + /*data_ptr*/(uint8_t*)pwd, /*dxfer_len*/sizeof(*pwd), timeout ? timeout : 1000, is48bit)); @@ -2081,10 +2081,10 @@ atahpa_password(struct cam_device *device, int retry_count, static int atahpa_lock(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, int is48bit) + uint32_t timeout, union ccb *ccb, int is48bit) { u_int cmd; - u_int8_t protocol; + uint8_t protocol; protocol = AP_PROTO_NON_DATA; cmd = (is48bit) ? ATA_SET_MAX_ADDRESS48 : ATA_SET_MAX_ADDRESS; @@ -2108,11 +2108,11 @@ atahpa_lock(struct cam_device *device, int retry_count, static int atahpa_unlock(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, + uint32_t timeout, union ccb *ccb, int is48bit, struct ata_set_max_pwd *pwd) { u_int cmd; - u_int8_t protocol; + uint8_t protocol; protocol = AP_PROTO_PIO_OUT; cmd = (is48bit) ? ATA_SET_MAX_ADDRESS48 : ATA_SET_MAX_ADDRESS; @@ -2129,7 +2129,7 @@ atahpa_unlock(struct cam_device *device, int retry_count, /*features*/ATA_HPA_FEAT_UNLOCK, /*lba*/0, /*sector_count*/sizeof(*pwd) / 512, - /*data_ptr*/(u_int8_t*)pwd, + /*data_ptr*/(uint8_t*)pwd, /*dxfer_len*/sizeof(*pwd), timeout ? timeout : 1000, is48bit)); @@ -2137,10 +2137,10 @@ atahpa_unlock(struct cam_device *device, int retry_count, static int atahpa_freeze_lock(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, int is48bit) + uint32_t timeout, union ccb *ccb, int is48bit) { u_int cmd; - u_int8_t protocol; + uint8_t protocol; protocol = AP_PROTO_NON_DATA; cmd = (is48bit) ? ATA_SET_MAX_ADDRESS48 : ATA_SET_MAX_ADDRESS; @@ -2164,7 +2164,7 @@ atahpa_freeze_lock(struct cam_device *device, int retry_count, static int ata_get_native_max(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, + uint32_t timeout, union ccb *ccb, u_int64_t *nativesize) { int error; @@ -2193,7 +2193,7 @@ ata_get_native_max(struct cam_device *device, int retry_count, static int ataama_set(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb, u_int64_t maxsize) + uint32_t timeout, union ccb *ccb, u_int64_t maxsize) { int error; @@ -2225,7 +2225,7 @@ ataama_set(struct cam_device *device, int retry_count, static int ataama_freeze(struct cam_device *device, int retry_count, - u_int32_t timeout, union ccb *ccb) + uint32_t timeout, union ccb *ccb) { return (ata_do_cmd(device, @@ -2254,7 +2254,7 @@ ata_do_identify(struct cam_device *device, int retry_count, int timeout, struct ccb_getdev cgd; u_int i, error; int16_t *ptr; - u_int8_t command, retry_command; + uint8_t command, retry_command; if (get_cpi(device, &cpi) != 0) { warnx("couldn't get CPI"); @@ -2296,7 +2296,7 @@ retry: /*features*/0, /*lba*/0, /*sector_count*/sizeof(struct ata_params) / 512, - /*data_ptr*/(u_int8_t *)ptr, + /*data_ptr*/(uint8_t *)ptr, /*dxfer_len*/sizeof(struct ata_params), /*timeout*/timeout ? timeout : 30 * 1000, /*force48bit*/0); @@ -2422,7 +2422,7 @@ enum { }; static void -atasecurity_print_time(u_int16_t tw) +atasecurity_print_time(uint16_t tw) { if (tw == 0) @@ -2433,8 +2433,8 @@ atasecurity_print_time(u_int16_t tw) printf("%i min", 2 * tw); } -static u_int32_t -atasecurity_erase_timeout_msecs(u_int16_t timeout) +static uint32_t +atasecurity_erase_timeout_msecs(uint16_t timeout) { if (timeout == 0) @@ -2447,7 +2447,7 @@ atasecurity_erase_timeout_msecs(u_int16_t timeout) static void -atasecurity_notify(u_int8_t command, struct ata_security_password *pwd) +atasecurity_notify(uint8_t command, struct ata_security_password *pwd) { struct ata_cmd cmd; @@ -2477,7 +2477,7 @@ atasecurity_notify(u_int8_t command, struct ata_security_password *pwd) static int atasecurity_freeze(struct cam_device *device, union ccb *ccb, - int retry_count, u_int32_t timeout, int quiet) + int retry_count, uint32_t timeout, int quiet) { if (quiet == 0) @@ -2502,7 +2502,7 @@ atasecurity_freeze(struct cam_device *device, union ccb *ccb, static int atasecurity_unlock(struct cam_device *device, union ccb *ccb, - int retry_count, u_int32_t timeout, + int retry_count, uint32_t timeout, struct ata_security_password *pwd, int quiet) { @@ -2521,7 +2521,7 @@ atasecurity_unlock(struct cam_device *device, union ccb *ccb, /*features*/0, /*lba*/0, /*sector_count*/sizeof(*pwd) / 512, - /*data_ptr*/(u_int8_t *)pwd, + /*data_ptr*/(uint8_t *)pwd, /*dxfer_len*/sizeof(*pwd), /*timeout*/timeout, /*force48bit*/0); @@ -2529,7 +2529,7 @@ atasecurity_unlock(struct cam_device *device, union ccb *ccb, static int atasecurity_disable(struct cam_device *device, union ccb *ccb, - int retry_count, u_int32_t timeout, + int retry_count, uint32_t timeout, struct ata_security_password *pwd, int quiet) { @@ -2547,7 +2547,7 @@ atasecurity_disable(struct cam_device *device, union ccb *ccb, /*features*/0, /*lba*/0, /*sector_count*/sizeof(*pwd) / 512, - /*data_ptr*/(u_int8_t *)pwd, + /*data_ptr*/(uint8_t *)pwd, /*dxfer_len*/sizeof(*pwd), /*timeout*/timeout, /*force48bit*/0); @@ -2587,8 +2587,8 @@ atasecurity_erase_confirm(struct cam_device *device, static int atasecurity_erase(struct cam_device *device, union ccb *ccb, - int retry_count, u_int32_t timeout, - u_int32_t erase_timeout, + int retry_count, uint32_t timeout, + uint32_t erase_timeout, struct ata_security_password *pwd, int quiet) { int error; @@ -2630,7 +2630,7 @@ atasecurity_erase(struct cam_device *device, union ccb *ccb, /*features*/0, /*lba*/0, /*sector_count*/sizeof(*pwd) / 512, - /*data_ptr*/(u_int8_t *)pwd, + /*data_ptr*/(uint8_t *)pwd, /*dxfer_len*/sizeof(*pwd), /*timeout*/erase_timeout, /*force48bit*/0); @@ -2643,7 +2643,7 @@ atasecurity_erase(struct cam_device *device, union ccb *ccb, static int atasecurity_set_password(struct cam_device *device, union ccb *ccb, - int retry_count, u_int32_t timeout, + int retry_count, uint32_t timeout, struct ata_security_password *pwd, int quiet) { @@ -2662,7 +2662,7 @@ atasecurity_set_password(struct cam_device *device, union ccb *ccb, /*features*/0, /*lba*/0, /*sector_count*/sizeof(*pwd) / 512, - /*data_ptr*/(u_int8_t *)pwd, + /*data_ptr*/(uint8_t *)pwd, /*dxfer_len*/sizeof(*pwd), /*timeout*/timeout, /*force48bit*/0); @@ -2711,7 +2711,7 @@ atasecurity_print(struct ata_params *parm) * the data will still be copied but no null termination will occur. */ static int -ata_getpwd(u_int8_t *passwd, int max, char opt) +ata_getpwd(uint8_t *passwd, int max, char opt) { int len; @@ -3828,14 +3828,14 @@ readdefects(struct cam_device *device, int argc, char **argv, struct scsi_read_defect_data_hdr_10 *hdr10 = NULL; struct scsi_read_defect_data_hdr_12 *hdr12 = NULL; size_t hdr_size = 0, entry_size = 0; - u_int8_t *defect_list = NULL; - u_int8_t list_format = 0; - u_int32_t dlist_length = 0; - u_int32_t returned_length = 0, valid_len = 0; - u_int32_t num_returned = 0, num_valid = 0; - u_int32_t max_possible_size = 0, hdr_max = 0; - u_int32_t starting_offset = 0; - u_int8_t returned_format, returned_type; + uint8_t *defect_list = NULL; + uint8_t list_format = 0; + uint32_t dlist_length = 0; + uint32_t returned_length = 0, valid_len = 0; + uint32_t num_returned = 0, num_valid = 0; + uint32_t max_possible_size = 0, hdr_max = 0; + uint32_t starting_offset = 0; + uint8_t returned_format, returned_type; unsigned int i; int c, error = 0; int mads = 0; @@ -4371,7 +4371,7 @@ defect_bailout: #if 0 void -reassignblocks(struct cam_device *device, u_int32_t *blocks, int num_blocks) +reassignblocks(struct cam_device *device, uint32_t *blocks, int num_blocks) { union ccb *ccb; @@ -4384,7 +4384,7 @@ reassignblocks(struct cam_device *device, u_int32_t *blocks, int num_blocks) void mode_sense(struct cam_device *device, int *cdb_len, int dbd, int llbaa, int pc, int page, int subpage, int task_attr, int retry_count, int timeout, - u_int8_t *data, int datalen) + uint8_t *data, int datalen) { union ccb *ccb; int error_code, sense_key, asc, ascq; @@ -4458,7 +4458,7 @@ retry: void mode_select(struct cam_device *device, int cdb_len, int save_pages, - int task_attr, int retry_count, int timeout, u_int8_t *data, int datalen) + int task_attr, int retry_count, int timeout, uint8_t *data, int datalen) { union ccb *ccb; int retval; @@ -4583,10 +4583,10 @@ scsicmd(struct cam_device *device, int argc, char **argv, char *combinedopt, int task_attr, int retry_count, int timeout) { union ccb *ccb; - u_int32_t flags = CAM_DIR_NONE; - u_int8_t *data_ptr = NULL; - u_int8_t cdb[20]; - u_int8_t atacmd[12]; + uint32_t flags = CAM_DIR_NONE; + uint8_t *data_ptr = NULL; + uint8_t cdb[20]; + uint8_t atacmd[12]; struct get_hook hook; int c, data_bytes = 0, valid_bytes; int cdb_len = 0; @@ -4687,7 +4687,7 @@ scsicmd(struct cam_device *device, int argc, char **argv, char *combinedopt, && (datastr[0] == '-')) fd_data = 1; - data_ptr = (u_int8_t *)malloc(data_bytes); + data_ptr = (uint8_t *)malloc(data_bytes); if (data_ptr == NULL) { warnx("can't malloc memory for data_ptr"); error = 1; @@ -4714,7 +4714,7 @@ scsicmd(struct cam_device *device, int argc, char **argv, char *combinedopt, hook.argv = argv + optind; hook.got = 0; datastr = cget(&hook, NULL); - data_ptr = (u_int8_t *)malloc(data_bytes); + data_ptr = (uint8_t *)malloc(data_bytes); if (data_ptr == NULL) { warnx("can't malloc memory for data_ptr"); error = 1; @@ -4755,7 +4755,7 @@ scsicmd(struct cam_device *device, int argc, char **argv, char *combinedopt, if ((fd_data == 1) && (arglist & CAM_ARG_CMD_OUT)) { ssize_t amt_read; int amt_to_read = data_bytes; - u_int8_t *buf_ptr = data_ptr; + uint8_t *buf_ptr = data_ptr; for (amt_read = 0; amt_to_read > 0; amt_read = read(STDIN_FILENO, buf_ptr, amt_to_read)) { @@ -4904,7 +4904,7 @@ scsicmd(struct cam_device *device, int argc, char **argv, char *combinedopt, } else { ssize_t amt_written; int amt_to_write = valid_bytes; - u_int8_t *buf_ptr = data_ptr; + uint8_t *buf_ptr = data_ptr; for (amt_written = 0; (amt_to_write > 0) && (amt_written =write(1, buf_ptr,amt_to_write))> 0;){ @@ -5413,7 +5413,7 @@ dev_has_vpd_page(struct cam_device *dev, uint8_t page_id, int retry_count, /*retries*/ retry_count, /*cbfcnp*/ NULL, /* tag_action */ MSG_SIMPLE_Q_TAG, - /* inq_buf */ (u_int8_t *)&sup_pages, + /* inq_buf */ (uint8_t *)&sup_pages, /* inq_len */ sizeof(sup_pages), /* evpd */ 1, /* page_code */ SVPD_SUPPORTED_PAGE_LIST, @@ -6318,9 +6318,9 @@ scsiformat(struct cam_device *device, int argc, char **argv, int use_timeout = 10800 * 1000; int immediate = 1; struct format_defect_list_header fh; - u_int8_t *data_ptr = NULL; - u_int32_t dxfer_len = 0; - u_int8_t byte2 = 0; + uint8_t *data_ptr = NULL; + uint32_t dxfer_len = 0; + uint8_t byte2 = 0; int num_warnings = 0; int reportonly = 0; @@ -6417,7 +6417,7 @@ scsiformat(struct cam_device *device, int argc, char **argv, */ if (immediate != 0) { fh.byte2 = FU_DLH_IMMED; - data_ptr = (u_int8_t *)&fh; + data_ptr = (uint8_t *)&fh; dxfer_len = sizeof(fh); byte2 = FU_FMT_DATA; } else if (quiet == 0) { @@ -6789,7 +6789,7 @@ sanitize(struct cam_device *device, int argc, char **argv, char *combinedopt, int task_attr, int retry_count, int timeout) { union ccb *ccb; - u_int8_t action = 0; + uint8_t action = 0; int c; int ycount = 0, quiet = 0; int error = 0; @@ -6800,8 +6800,8 @@ sanitize(struct cam_device *device, int argc, char **argv, int ause = 0; int fd = -1; const char *pattern = NULL; - u_int8_t *data_ptr = NULL; - u_int32_t dxfer_len = 0; + uint8_t *data_ptr = NULL; + uint32_t dxfer_len = 0; uint8_t byte2; uint16_t feature, count; uint64_t lba; @@ -7645,7 +7645,7 @@ smpcmd(struct cam_device *device, int argc, char **argv, char *combinedopt, && (datastr[0] == '-')) fd_response = 1; - smp_response = (u_int8_t *)malloc(response_size); + smp_response = (uint8_t *)malloc(response_size); if (smp_response == NULL) { warn("can't malloc memory for SMP response"); error = 1; @@ -7665,7 +7665,7 @@ smpcmd(struct cam_device *device, int argc, char **argv, char *combinedopt, hook.argv = argv + optind; hook.got = 0; datastr = cget(&hook, NULL); - smp_request = (u_int8_t *)malloc(request_size); + smp_request = (uint8_t *)malloc(request_size); if (smp_request == NULL) { warn("can't malloc memory for SMP request"); error = 1; @@ -7697,7 +7697,7 @@ smpcmd(struct cam_device *device, int argc, char **argv, char *combinedopt, if ((fd_request == 1) && (arglist & CAM_ARG_CMD_OUT)) { ssize_t amt_read; int amt_to_read = request_size; - u_int8_t *buf_ptr = smp_request; + uint8_t *buf_ptr = smp_request; for (amt_read = 0; amt_to_read > 0; amt_read = read(STDIN_FILENO, buf_ptr, amt_to_read)) { @@ -7757,7 +7757,7 @@ smpcmd(struct cam_device *device, int argc, char **argv, char *combinedopt, } else { ssize_t amt_written; int amt_to_write = response_size; - u_int8_t *buf_ptr = smp_response; + uint8_t *buf_ptr = smp_response; for (amt_written = 0; (amt_to_write > 0) && (amt_written = write(STDOUT_FILENO, buf_ptr, @@ -9240,7 +9240,7 @@ atapm(struct cam_device *device, int argc, char **argv, int retval = 0; int t = -1; int c; - u_int8_t ata_flags = 0; + uint8_t ata_flags = 0; u_char cmd, sc; ccb = cam_getccb(device); diff --git a/sbin/camcontrol/camcontrol.h b/sbin/camcontrol/camcontrol.h index 53a0e1af4bf4..2d7b02950df7 100644 --- a/sbin/camcontrol/camcontrol.h +++ b/sbin/camcontrol/camcontrol.h @@ -95,7 +95,7 @@ void mode_sense(struct cam_device *device, int *cdb_len, int dbd, int llbaa, int pc, int page, int subpage, int task_attr, int retry_count, int timeout, uint8_t *data, int datalen); void mode_select(struct cam_device *device, int cdb_len, int save_pages, - int task_attr, int retry_count, int timeout, u_int8_t *data, + int task_attr, int retry_count, int timeout, uint8_t *data, int datalen); void mode_edit(struct cam_device *device, int cdb_len, int desc, int dbd, int llbaa, int pc, int page, int subpage, int edit, int binary, diff --git a/sbin/camcontrol/fwdownload.c b/sbin/camcontrol/fwdownload.c index 45195bf8605c..a8493aab37a5 100644 --- a/sbin/camcontrol/fwdownload.c +++ b/sbin/camcontrol/fwdownload.c @@ -167,8 +167,8 @@ struct fw_vendor { const char *pattern; int dev_type; int max_pkt_size; - u_int8_t cdb_byte2; - u_int8_t cdb_byte2_last; + uint8_t cdb_byte2; + uint8_t cdb_byte2_last; int inc_cdb_buffer_id; int inc_cdb_offset; fw_tur_status tur_status; @@ -474,7 +474,7 @@ fw_validate_ibm(struct cam_device *dev, int retry_count, int timeout, int fd, /*retries*/ retry_count, /*cbfcnp*/ NULL, /* tag_action */ MSG_SIMPLE_Q_TAG, - /* inq_buf */ (u_int8_t *)&vpd_page, + /* inq_buf */ (uint8_t *)&vpd_page, /* inq_len */ sizeof(vpd_page), /* evpd */ 1, /* page_code */ SVPD_IBM_FW_DESIGNATION, @@ -832,9 +832,9 @@ fw_download_img(struct cam_device *cam_dev, struct fw_vendor *vp, union ccb *ccb = NULL; int pkt_count = 0; int max_pkt_size; - u_int32_t pkt_size = 0; + uint32_t pkt_size = 0; char *pkt_ptr = buf; - u_int32_t offset; + uint32_t offset; int last_pkt = 0; int retval = 0; diff --git a/sbin/camcontrol/modeedit.c b/sbin/camcontrol/modeedit.c index b8c3d40faa3c..724229951ea7 100644 --- a/sbin/camcontrol/modeedit.c +++ b/sbin/camcontrol/modeedit.c @@ -595,8 +595,8 @@ static void editlist_populate(struct cam_device *device, int cdb_len, int dbd, int pc, int page, int subpage, int task_attr, int retries, int timeout) { - u_int8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ - u_int8_t *mode_pars; /* Pointer to modepage params. */ + uint8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ + uint8_t *mode_pars; /* Pointer to modepage params. */ struct scsi_mode_page_header *mph; struct scsi_mode_page_header_sp *mphsp; size_t len; @@ -700,8 +700,8 @@ static void editlist_save(struct cam_device *device, int cdb_len, int dbd, int pc, int page, int subpage, int task_attr, int retries, int timeout) { - u_int8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ - u_int8_t *mode_pars; /* Pointer to modepage params. */ + uint8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ + uint8_t *mode_pars; /* Pointer to modepage params. */ struct scsi_mode_page_header *mph; struct scsi_mode_page_header_sp *mphsp; size_t len, hlen, mphlen; @@ -1003,8 +1003,8 @@ static void modepage_dump(struct cam_device *device, int cdb_len, int dbd, int pc, int page, int subpage, int task_attr, int retries, int timeout) { - u_int8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ - u_int8_t *mode_pars; /* Pointer to modepage params. */ + uint8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ + uint8_t *mode_pars; /* Pointer to modepage params. */ struct scsi_mode_page_header *mph; struct scsi_mode_page_header_sp *mphsp; size_t indx, len; @@ -1153,7 +1153,7 @@ void mode_list(struct cam_device *device, int cdb_len, int dbd, int pc, int subpages, int task_attr, int retry_count, int timeout) { - u_int8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ + uint8_t data[MAX_DATA_SIZE]; /* Buffer to hold mode parameters. */ struct scsi_mode_page_header *mph; struct scsi_mode_page_header_sp *mphsp; struct pagename *nameentry; From nobody Tue Jul 25 04:26:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rX33ccz4p4HN; Tue, 25 Jul 2023 04:26: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 4R93rX1HGZz4PPJ; Tue, 25 Jul 2023 04:26:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L2u30V51Vt5IxJjOof7+n1ZNU8MssrH71g0cu9wT98g=; b=k35AzfkZDWSlOnZ1KOrtnsuJolwX5cQVPZzsXYyYb8/VAwk8H0PaY6es71XsXmT7yQtnC4 I8elpnB74e/KrCjRtPAhSJNjOLAuCc1GIM7bKTRAbENJzz3dmZz/uvIUiaoIddvO/4qb8G B+x+dkJzkbnHb+9kBf/UHsdeRirLud2cGeWtuymtfFQAaFbUcuc/9d0bPzpO/u3udpz5jC Dg9hYiQCY5jOmUMfp99lUmZ71ghZZHb276KnmLo65Apvg6UEiSMk7FTIWKAXKXP4BV3ALG w+6U7M+1RYZg6qv2/+gLR3N9sXbB58L4R95yq/Y53AnhcR8D6iGXL7UChCImSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L2u30V51Vt5IxJjOof7+n1ZNU8MssrH71g0cu9wT98g=; b=mLfEJmJ8Fyd8JCKIV7tBlo6Q0HSeitxH+n064HPFpCq/iY/460LVIzOzmw8uOegEoeYZVH bRg1mkuvj6jXZC0s4euXOOyfsoX1ronYNqfNB6tLMN4vtB/XMJyp6l+YbcmA96pYVcqtuO OyDPz8S6+wkOzIQPmDi3pF2j9GLI/FMRPeEkFem1YNATG4B7UpTL/n6A9vYGDRk4UWL+hS YFgGnkPl+FDPLrn9WZqRpqNdCuQx9BT0WLE2ILhoFmtJYH3WHNZTdVIn/klW9fcBUlm3oe Pcu4Jfp0ZJxupDRg38qhNePBmFLYOe8njrLPvKMfULyuxQ0W/WTACBsmtO9xOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259196; a=rsa-sha256; cv=none; b=v0bqdiIYa2XHvLSlPYVOdhC7M5LFmXc/L2VZ9BnkoaTS6vqVmWGIi264awtz07gYEqdbT3 OGtCIuJ5FCIDFayBpcYu8VdtqegajfHuPRy7hWVQrKR0mO4Ba03F1Qbnacr3hKduKJxUsQ XKwfoZOeCDbJijXaB7/eoxAN+A6SaaQh4khOLxZQL4nNmn/CUU3E7axX8ZM6AMWtrEIh0t 0OKOZ2jM1vqbuq5B2TbVOHrwNfwpY9uuuBXBcwAZHRKVwJDiweMfMOcJsmbhcgaeVdXrqE r/fY1icxhSCCZbrMSMQJOKODnID1e5qhwiTDlUT3CHOUIpTJsNjnfaFbUYhZ5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rX0L29zmGW; Tue, 25 Jul 2023 04:26: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 36P4QZWZ039497; Tue, 25 Jul 2023 04:26:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QZn7039495; Tue, 25 Jul 2023 04:26:35 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:35 GMT Message-Id: <202307250426.36P4QZn7039495@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: f9ffa1ef25cf - main - libcam: Migrate to modern uintXX_t from u_intXX_t List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9ffa1ef25cff69f3aa090752430b2b16d1dc7a6 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f9ffa1ef25cff69f3aa090752430b2b16d1dc7a6 commit f9ffa1ef25cff69f3aa090752430b2b16d1dc7a6 Author: Warner Losh AuthorDate: 2023-07-25 03:17:41 +0000 Commit: Warner Losh CommitDate: 2023-07-25 03:35:10 +0000 libcam: Migrate to modern uintXX_t from u_intXX_t As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. MFC After: 3 days Sponsored by: Netflix --- lib/libcam/camlib.h | 34 +++++++++++++++++----------------- lib/libcam/scsi_cmdparse.c | 16 ++++++++-------- lib/libcam/scsi_wrap.c | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/libcam/camlib.h b/lib/libcam/camlib.h index 3ae775cd87f5..48710db13909 100644 --- a/lib/libcam/camlib.h +++ b/lib/libcam/camlib.h @@ -96,7 +96,7 @@ struct cam_device { * Device name given by * the user. */ - u_int32_t given_unit_number; /* + uint32_t given_unit_number; /* * Unit number given by * the user. */ @@ -104,24 +104,24 @@ struct cam_device { * Name of the device, * e.g. 'pass' */ - u_int32_t dev_unit_num; /* Unit number of the passthrough + uint32_t dev_unit_num; /* Unit number of the passthrough * device associated with this * particular device. */ char sim_name[SIM_IDLEN+1]; /* Controller name, e.g. 'ahc' */ - u_int32_t sim_unit_number; /* Controller unit number */ - u_int32_t bus_id; /* Controller bus number */ + uint32_t sim_unit_number; /* Controller unit number */ + uint32_t bus_id; /* Controller bus number */ lun_id_t target_lun; /* Logical Unit Number */ target_id_t target_id; /* Target ID */ path_id_t path_id; /* System SCSI bus number */ - u_int16_t pd_type; /* type of peripheral device */ + uint16_t pd_type; /* type of peripheral device */ struct scsi_inquiry_data inq_data; /* SCSI Inquiry data */ - u_int8_t serial_num[252]; /* device serial number */ - u_int8_t serial_num_len; /* length of the serial number */ - u_int8_t sync_period; /* Negotiated sync period */ - u_int8_t sync_offset; /* Negotiated sync offset */ - u_int8_t bus_width; /* Negotiated bus width */ + uint8_t serial_num[252]; /* device serial number */ + uint8_t serial_num_len; /* length of the serial number */ + uint8_t sync_period; /* Negotiated sync period */ + uint8_t sync_offset; /* Negotiated sync offset */ + uint8_t bus_width; /* Negotiated bus width */ int fd; /* file descriptor for device */ }; @@ -157,22 +157,22 @@ int csio_decode(struct ccb_scsiio *csio, const char *fmt, ...) int csio_decode_visit(struct ccb_scsiio *csio, const char *fmt, void (*arg_put)(void *, int, void *, int, char *), void *puthook); -int buff_decode(u_int8_t *buff, size_t len, const char *fmt, ...) +int buff_decode(uint8_t *buff, size_t len, const char *fmt, ...) __printflike(3, 4); -int buff_decode_visit(u_int8_t *buff, size_t len, const char *fmt, +int buff_decode_visit(uint8_t *buff, size_t len, const char *fmt, void (*arg_put)(void *, int, void *, int, char *), void *puthook); -int csio_build(struct ccb_scsiio *csio, u_int8_t *data_ptr, - u_int32_t dxfer_len, u_int32_t flags, int retry_count, +int csio_build(struct ccb_scsiio *csio, uint8_t *data_ptr, + uint32_t dxfer_len, uint32_t flags, int retry_count, int timeout, const char *cmd_spec, ...); -int csio_build_visit(struct ccb_scsiio *csio, u_int8_t *data_ptr, - u_int32_t dxfer_len, u_int32_t flags, int retry_count, +int csio_build_visit(struct ccb_scsiio *csio, uint8_t *data_ptr, + uint32_t dxfer_len, uint32_t flags, int retry_count, int timeout, const char *cmd_spec, int (*arg_get)(void *hook, char *field_name), void *gethook); int csio_encode(struct ccb_scsiio *csio, const char *fmt, ...) __printflike(2, 3); -int buff_encode_visit(u_int8_t *buff, size_t len, const char *fmt, +int buff_encode_visit(uint8_t *buff, size_t len, const char *fmt, int (*arg_get)(void *hook, char *field_name), void *gethook); int csio_encode_visit(struct ccb_scsiio *csio, const char *fmt, diff --git a/lib/libcam/scsi_cmdparse.c b/lib/libcam/scsi_cmdparse.c index b123d2747ca9..7da553d14397 100644 --- a/lib/libcam/scsi_cmdparse.c +++ b/lib/libcam/scsi_cmdparse.c @@ -103,7 +103,7 @@ __FBSDID("$FreeBSD$"); */ static int -do_buff_decode(u_int8_t *buff, size_t len, +do_buff_decode(uint8_t *buff, size_t len, void (*arg_put)(void *, int , void *, int, char *), void *puthook, const char *fmt, va_list *ap) { @@ -701,7 +701,7 @@ csio_decode_visit(struct ccb_scsiio *csio, const char *fmt, } int -buff_decode(u_int8_t *buff, size_t len, const char *fmt, ...) +buff_decode(uint8_t *buff, size_t len, const char *fmt, ...) { va_list ap; int retval; @@ -716,7 +716,7 @@ buff_decode(u_int8_t *buff, size_t len, const char *fmt, ...) } int -buff_decode_visit(u_int8_t *buff, size_t len, const char *fmt, +buff_decode_visit(uint8_t *buff, size_t len, const char *fmt, void (*arg_put)(void *, int, void *, int, char *), void *puthook) { @@ -736,8 +736,8 @@ buff_decode_visit(u_int8_t *buff, size_t len, const char *fmt, * string describing the */ int -csio_build(struct ccb_scsiio *csio, u_int8_t *data_ptr, u_int32_t dxfer_len, - u_int32_t flags, int retry_count, int timeout, const char *cmd_spec, +csio_build(struct ccb_scsiio *csio, uint8_t *data_ptr, uint32_t dxfer_len, + uint32_t flags, int retry_count, int timeout, const char *cmd_spec, ...) { size_t cmdlen; @@ -773,8 +773,8 @@ done: } int -csio_build_visit(struct ccb_scsiio *csio, u_int8_t *data_ptr, - u_int32_t dxfer_len, u_int32_t flags, int retry_count, +csio_build_visit(struct ccb_scsiio *csio, uint8_t *data_ptr, + uint32_t dxfer_len, uint32_t flags, int retry_count, int timeout, const char *cmd_spec, int (*arg_get)(void *hook, char *field_name), void *gethook) { @@ -831,7 +831,7 @@ csio_encode(struct ccb_scsiio *csio, const char *fmt, ...) } int -buff_encode_visit(u_int8_t *buff, size_t len, const char *fmt, +buff_encode_visit(uint8_t *buff, size_t len, const char *fmt, int (*arg_get)(void *hook, char *field_name), void *gethook) { diff --git a/lib/libcam/scsi_wrap.c b/lib/libcam/scsi_wrap.c index 524d36955c17..069dfa7320b1 100644 --- a/lib/libcam/scsi_wrap.c +++ b/lib/libcam/scsi_wrap.c @@ -146,7 +146,7 @@ scsi_wrap_inquiry(struct cam_device *device, uint32_t page, uint32_t length) /*retries*/ 0, /*cbfcnp*/ NULL, /* tag_action */ MSG_SIMPLE_Q_TAG, - /* inq_buf */ (u_int8_t *)buf, + /* inq_buf */ (uint8_t *)buf, /* inq_len */ length, /* evpd */ 1, /* page_code */ page, From nobody Tue Jul 25 04:26:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R93rY5nXpz4p4Kr; Tue, 25 Jul 2023 04:26: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 4R93rY2j6Jz4PXr; Tue, 25 Jul 2023 04:26:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dBg4+QHIkBzhOO6D/8DbJeemQYtAbEmaUPl3HShNft0=; b=Yedr3iI9ICt/plZU3tPOWouuvFMvnoaWboa/60Xy6AcmJMuzl7W/Dr6WXNJZHZvPcq+ewp HPu7dzwnxzD5DK7YKT6jpS/snLzSRozugfN6MozpKN+jhgxyTLWwQE5w71+Jk/qS/sXWA/ cUVnttIo8lMIYBJ72ZYxaztUPFxz8JGFmHIRjfkQH+z13gMACkAjkAg8fszRfcPdNHyX3c ZF+ewdbb9CT7zsJsw6wzA1Px4nOvqlpFG+djn3W8jLP4DB2iCrCy0tr60PFAegulRHvC2K DV6HR3MfQ/UbOlAhI4bRHM5Xq6dcploMSAwzMsvhthW1HMmcjtGoqKWP7OiuEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dBg4+QHIkBzhOO6D/8DbJeemQYtAbEmaUPl3HShNft0=; b=h+bSrOg+UbPLdvjeJAF9dd3464yHDoOn/Y5N5LWfKXEdRPlWBY6iI4AFuECbKSLlibcCKA KZPc5C25MJebpcbdoiVWKT2/IAUhlz1IKdwRbWCShynKSP1NXWslow0d3aFCbJs997z8wM +GhpWKoCVWgmpcNU+hg4Q8AWKD1Y6H+rd76d9JThDRf4qcKLv2FE4rzeAZz9V+zRisG15V lh5tMaVA0zH/OOZRXALoo7SFZGcE2a1rCU9FfHWkciVinSnbSj5LyJ9Wx/pdJcHEFdpDlJ 9tnIPcob+yRYA3DbiX2/lxHTkozlICJ/cCCdAW/AY2iyzrLm2ufPk6RfHbqNZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259197; a=rsa-sha256; cv=none; b=tVylR1NROYCqyRxdSLXQAqBlX5UpZhTdl4LatVUiEx6fvOVV0sxod8MAgaw3mwS2V7uaWR W/cgxeyaupLDN8KPw/kdncYpno9RCRGyOc1oHl4nvW2YTY8kLDBwhFt8zMgzJY4CEVKlx6 xwjIYxuvXDqX6sBiq+6zzvwu2ksEVhOsGwa5i6qsFAteihsvMZ3BFV+f9SNuEAA5PmY5n1 XQcUAQ4qitQ3hE+xQXfTKSeMMlwGt4uXC5Z7nqCygQzLk8nEWU9y96+djHcCKfvDaMnaT+ 8nJ43e/5INRY3DeADhexV9Hd+UTq7jCcCUGQouo7eF3NNELY5rG270DZcdFnNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R93rY0rqwzlw9; Tue, 25 Jul 2023 04:26: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 36P4Qbte039522; Tue, 25 Jul 2023 04:26:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4QbXg039521; Tue, 25 Jul 2023 04:26:37 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:26:37 GMT Message-Id: <202307250426.36P4QbXg039521@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: f475b7108bfe - main - UPDATING: Note CAM update List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f475b7108bfec35125a4bc611c64faa85c8b79d0 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f475b7108bfec35125a4bc611c64faa85c8b79d0 commit f475b7108bfec35125a4bc611c64faa85c8b79d0 Author: Warner Losh AuthorDate: 2023-07-25 04:25:57 +0000 Commit: Warner Losh CommitDate: 2023-07-25 04:25:57 +0000 UPDATING: Note CAM update Not the update to standard uintXX_t from the traditional BSD u_intXX_t types. Sponsored by: Netflix --- UPDATING | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/UPDATING b/UPDATING index 3a6255bc6112..ca40607667b5 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20230724: + CAM has been mechanically updated s/u_int(64|32|16|8)_t/uint\1_t/g + to move to the standard uintXX_t types from the old, traditional + BSD u_intXX_t types. This should be a NOP, but may cause problems + for out of tree changes. The SIMs were not updated since most of + the old u_intXX_t uses weren't due to CAM interfaces. + 20230629: The heuristic for detecting old chromebooks with an EC bug that requires atkbdc driver workarounds has changed. There should be no functional From nobody Tue Jul 25 04:33:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R940K60Bjz4p8l7; Tue, 25 Jul 2023 04:33: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 4R940K5V7xz3Hdg; Tue, 25 Jul 2023 04:33:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y29xMS2TIz3h/56F5g9RBs+JUkdF8lh3OIvgSE9gAkM=; b=Zm+PeXVv9VpXByOLbEjjiVpGcCft3L30s4GXQNc5eHmpolNVPbcKCWzGsZ1nxUwpBpepO7 CKKwlHaPUC8IlwnxdNEPbYE/Y9nNUpxtbUg3Jrs0L84B+MP9gK6K98E8FGxJGX/gp0cqqu FcHhS5rI4Dt0IYvm0CNnyS0JVnX+srIWmwMU27m05IgKsIGbZlLBYER9nfO8ZwgnzK6J61 UHFFihBMhCQIeReIgsY8qWZ3ikRriJRxvYbFmBM2KKUmtO+yY+3Gzb6UbvOV4eUdTZaPTa beU58HbaCFcDg7kk0jtQTkW7VYlEPWiw7PEng9TUVi6eA77V/SlhctMn7Vus5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y29xMS2TIz3h/56F5g9RBs+JUkdF8lh3OIvgSE9gAkM=; b=Nu7kP98xBljlKLO859EJvGcVdzGmIW8xI0DCEccL3iBvBHBF3CxMa4lJ/u/1dn9QtNXAtY 991hl5NOeGQWF0KryufFOBgSSni3yI8rlDbfuQWQngtkDwYWWM4qxUTeusGLghSI5Lo/8/ 8zyKrpdyv4suip+0bA8mI+8RQk5gaIuDyaMVrDZpBkTzLN1rydRgF5+Bb1NseYcidRtgTh vT/vYTZ4UENR6flEaPK3VFByzS7C3GG/St/sYBh6Sv1kfAjeG/RcD9YHr9tNqHwVbdNfbu vTEfDbQBG6DB5His2JoTvuCMhpop/HpiJfHPEXYAKW/OhWIdt1nl9HHpvQ+PoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259601; a=rsa-sha256; cv=none; b=s18liJVu1PQ/iZPDDcxWeYe5zUBNN+7SAobwybrBAW9sFr8bA5o4kQcltHZ5UWHTcGcmal NBQzgVJgKDjARHjXJTW5xFyRKfDOUTJoI4O7Qrf18S/9TogE5SDA4m4cvj8V/HdWr4NWjc UlxMgeWYfOoUTfNDKdQQGZPLovwv8ff+icQwGxB2OPkmGpoesMtvngumu7WdaptBjdZ1lx 6KfFUAVQENzGUBarcBz1vgclnyDrip6pxso889GZHfeegSvEchHdAi8IbHFhHRyVmFhC8F 0/9gsBxL93UxVdCgz+QMdRJCFBya4UFUKRb+mwVZpoMxl689BNeSt1wZLO8DMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R940K4YTJzmM5; Tue, 25 Jul 2023 04:33: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 36P4XLgf055700; Tue, 25 Jul 2023 04:33:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4XLPl055699; Tue, 25 Jul 2023 04:33:21 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:33:21 GMT Message-Id: <202307250433.36P4XLPl055699@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: 814722d28519 - main - UPDATING: Update nvd info List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 814722d285198469a8e7de18626a0a30480b9f35 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=814722d285198469a8e7de18626a0a30480b9f35 commit 814722d285198469a8e7de18626a0a30480b9f35 Author: Warner Losh AuthorDate: 2023-07-25 04:32:39 +0000 Commit: Warner Losh CommitDate: 2023-07-25 04:32:39 +0000 UPDATING: Update nvd info Sponsored by: Netflix --- UPDATING | 3 +++ 1 file changed, 3 insertions(+) diff --git a/UPDATING b/UPDATING index ca40607667b5..8e1b3e8555ba 100644 --- a/UPDATING +++ b/UPDATING @@ -74,6 +74,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: all non-x86 platforms for some time now. If you need to fall back, please email imp@freebsd.org about why. + Encrypted swap partitions need to be changed from nvd to nda if you + migrate, or you need to use the above to switch back to nvd. + 20230422: Remove portsnap(8). Users are encouraged to obtain the ports tree using git instead. From nobody Tue Jul 25 04:35:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R942v57K3z4pBKJ; Tue, 25 Jul 2023 04:35: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 4R942v4cpZz3JZm; Tue, 25 Jul 2023 04:35:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cvT7NM3oXoP+RHHrXGk+iMIYVA8cYSv68HuxNN9YPkg=; b=hqbqIVvNrxWILEjWDKmJbKO0hmunwlp99aCN2FbJHjUQxllx/BQUn2F+cGE49BVpypG52A 6LMQwySwR1iSZBBJMHVFm71WIXgW/BxXZBzp4mg8X6yH6Hx+ENjt2QQF5uS0MYa5j3r4bh Q/p1Q+V6nUgVgDP+esWqHyB4KqEmBMtn4T9AQ40WFFs1A9GgjlAlFw0WiZYXsdL3Oyp3Fq dY0SrIsqTW2mAVlriq6ZjKSP999JiEHnerhdJgsqavDv9DI5PhrBELfKtob8XpqdS+zTgj GjLJL9AtmaxCasSlP2ouj7YnBWc2yGZGjLtcO5EGjyEho66hDFGGuw9nwPCwrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690259735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cvT7NM3oXoP+RHHrXGk+iMIYVA8cYSv68HuxNN9YPkg=; b=TxaVHv0PQDJbvipIq1Te0P0doDcmntBoM3l/pMPlQ9Q3vTNP/BM1xMrR+q6W/tSi/q62E/ Rvz6KifVmrzC0ysyXionrDBn2ZbJRc2s8JPAZxEN57DY88XFY1FKuvamcUaSvX+lsehkGM AphriOG92MINzfQX2FshSaKWrHdGFhOt8wh6skFen9fcIb0CkM9S8h9I5t1X6ZBk5QdtNt CYaDzFm7R8ogPaG6TUYCDftcoJxE5XaLVMHK85igLbQPM/QzeWo/piABkOcWWs33lY7Fo+ AZhVbVxAlIg7mp66Mx2oag8hnu7gLvnwf0X2ayySm37tuZftxbhmhEhGI3AD5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690259735; a=rsa-sha256; cv=none; b=bcQTe9R3Hc2NCdUV6p/IVIo7f+c/0SvHknLSy4ZQ4ssGGuc7cKN9+eXsSh0PqChzSoYwqW nuAkFj4L3gRJCHwHe+Mk+rusAmAMTn20IZcmygvZLNxLg2rsFs2MH2l6C3cNDEktWoNErC p/eGWX36cY5KkQMhSOzd9YbxzaYXwyns6jZmelpp7oDfBtDIWFv0sYGCuK2YC7bXsvfwez Xy2pYRlWt8vI1nZ7/Ft3l/P/G5OZHA67URlTi3SqiP45eFHf36piBl2faVPNvRWB+GlU6c LFnt1fiAH0u+8fTAcWYbnFzDKs5CUZ9J+cpILmNMBdurp+FET5qXPOKMUuuHyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R942v3jQ0zmZk; Tue, 25 Jul 2023 04:35: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 36P4ZZOi056119; Tue, 25 Jul 2023 04:35:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P4ZZN6056118; Tue, 25 Jul 2023 04:35:35 GMT (envelope-from git) Date: Tue, 25 Jul 2023 04:35:35 GMT Message-Id: <202307250435.36P4ZZN6056118@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: b9b8a4769c09 - main - RELNOTES: add a note about lua config files in loader List-Id: Commit messages for all branches 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9b8a4769c09d6e9422be242c4de1d881095ba82 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b9b8a4769c09d6e9422be242c4de1d881095ba82 commit b9b8a4769c09d6e9422be242c4de1d881095ba82 Author: Kyle Evans AuthorDate: 2023-07-25 04:35:25 +0000 Commit: Kyle Evans CommitDate: 2023-07-25 04:35:25 +0000 RELNOTES: add a note about lua config files in loader Scripted configuration can make safer some use-cases that currently use local.lua, but don't actually need to access external resources to make their changes. Let's note the new feature in RELNOTES. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D40066 --- RELNOTES | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/RELNOTES b/RELNOTES index d257f4cf4813..8c1b48de7e5c 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,15 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +3cb2f5f369ec: + The lua-flavored loader(8) will now interpret .lua files that appear in + loader_conf_files as lua, and execute them in a sandbox. Existing + loader environment variables are available as globals in the sandbox, + and any global variable set, if not a table value, will be reflected in + the loader environment upon successful execution of the configuration + file. Environment variables with names that aren't valid lua names may + be accessed as indices of _ENV; e.g., _ENV['net.fibs']. + bdc81eeda05d: nda is now the default nvme device on all platforms. While nda creates From nobody Tue Jul 25 06:50:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R97380nFmz4p4C9; Tue, 25 Jul 2023 06:51: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 4R973808wQz4QRq; Tue, 25 Jul 2023 06:51:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690267860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l7lGF49SZrZJbxTg/B24UDf0bgsIkLFFj4sFH04etRk=; b=jXO3Y7rbFtGcnw7Xp/dhxbJ34JfSqdAVWU324EwFtKcj8mKoHoB/nWtFwCgmPh8LjNBE65 KsJakl7b1ONX5twX2ieDqWfTCdJfx9imhf2u/mV+BbNgOF/JCLQyBiVWkAPIqmszL87XVN rU8lLdOscTa2l41KH5teMEZQR7GyVifOPwwLyS8strPEErJO1w2JD/WB2iVtLd02QVpu3s EmjSAOE+kQ+6zOVCTuYMSbNfoOvSAGYfUbTosXR/kHwOnLM2WREFtSRl9nMvlhDSyUzNBa fBj+VDOcRU3+6JTkxUk/3ZM0aGGMi0xG6bKVb9OcjcYl9zNBrlv/VEr7rpy6Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690267860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l7lGF49SZrZJbxTg/B24UDf0bgsIkLFFj4sFH04etRk=; b=QwG190iKoJ97SEwrdw6DZ2y46G8jTGq5ORVPIToIsW/Jw5wY/ZEZ5uh0Xmz6fnPd9fuC1z iYvx0/mMnV7s4PE0x/vkncLw/6Mtsh7ANyxlm69l++rn9Djdv8qqRrU0IPAfVutXImbxGg DSXDL73t4CjsRT1w5tSbBFRYdhZ0ZllyuT+u2I/nQfWnCFu0kFfPOclXVKjsckFgnPYkZa ivb2sCIjyez+KSMeqHLjlg8Gluz1/GeEJ7f61Hx7KbkKkqyZf72i7Uzu5chD21SsU/VshN 3WrfJr6amJCc74Rj2OR0m32PlloRib6BrexkHrjTDWdh/uw43CrUW2FhLpV0IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690267860; a=rsa-sha256; cv=none; b=vAAJbtuUciY+nOQjfOfJXUzy9QsBn4OpWPKdkftWQnm/rG1ZkeJDUAS1OZL2PcpLRNYlrm kwp9UIPjuqAV4pmXPA/BbmMGnGSL1Y0VA+Jk/FH7D40Kf6MNjzUGVEGkLnSAzJSi73mjME JyQm+0LbXwea/FlX6OE5KDUuNF11oxrOZn5uWc9KY5s/vnQt7w6MseUxzz274TM8KL7LLX vhz7ovkxgWCJKVndWG5i6NCQ8m0IxT9IIxVj3YhfSKXQCwwAwWgwB+coa2ApNyieTtjHe5 K02n8a69aRYfOcz4zCR4NcWjyRfbUnHtrFCDS39GQif60iF3f7ttKG2484GMng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R97376LnczqHK; Tue, 25 Jul 2023 06:50: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 36P6oxn0081413; Tue, 25 Jul 2023 06:50:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36P6oxmu081412; Tue, 25 Jul 2023 06:50:59 GMT (envelope-from git) Date: Tue, 25 Jul 2023 06:50:59 GMT Message-Id: <202307250650.36P6oxmu081412@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: f0124ab11122 - main - bhyve: do not hold CRB mutex when executing TPM commands List-Id: Commit messages for all branches 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: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0124ab11122c24166fe83ae6898f629721a7894 Auto-Submitted: auto-generated The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=f0124ab11122c24166fe83ae6898f629721a7894 commit f0124ab11122c24166fe83ae6898f629721a7894 Author: Corvin Köhne AuthorDate: 2023-06-23 06:31:38 +0000 Commit: Corvin Köhne CommitDate: 2023-07-25 06:50:23 +0000 bhyve: do not hold CRB mutex when executing TPM commands TPM commands can take up to several seconds to execute. If we hold the CRB mutex while executing the command, MMIO accesses could be blocked for a long time. Therefore, just copy all required values and work on the copied values. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D40724 --- usr.sbin/bhyve/tpm_intf_crb.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/tpm_intf_crb.c b/usr.sbin/bhyve/tpm_intf_crb.c index a8e84f911c8d..c4bfaa19958d 100644 --- a/usr.sbin/bhyve/tpm_intf_crb.c +++ b/usr.sbin/bhyve/tpm_intf_crb.c @@ -184,6 +184,13 @@ tpm_crb_thread(void *const arg) pthread_mutex_lock(&crb->mutex); for (;;) { + /* + * We're releasing the lock after wake up. Therefore, we have to + * check the closing condition before and after going to sleep. + */ + if (crb->closing) + break; + pthread_cond_wait(&crb->cond, &crb->mutex); if (crb->closing) @@ -208,6 +215,16 @@ tpm_crb_thread(void *const arg) break; } + uint8_t cmd[TPM_CRB_DATA_BUFFER_SIZE]; + memcpy(cmd, crb->regs.data_buffer, TPM_CRB_DATA_BUFFER_SIZE); + + /* + * A TPM command can take multiple seconds to execute. As we've + * copied all required values and buffers at this point, we can + * release the mutex. + */ + pthread_mutex_unlock(&crb->mutex); + /* * The command response buffer interface uses a single buffer * for sending a command to and receiving a response from the @@ -221,10 +238,10 @@ tpm_crb_thread(void *const arg) * response. */ uint8_t rsp[TPM_CRB_DATA_BUFFER_SIZE] = { 0 }; - crb->emul->execute_cmd(crb->emul_sc, - &crb->regs.data_buffer[cmd_off], cmd_size, &rsp[rsp_off], - rsp_size); + crb->emul->execute_cmd(crb->emul_sc, &cmd[cmd_off], cmd_size, + &rsp[rsp_off], rsp_size); + pthread_mutex_lock(&crb->mutex); memset(crb->regs.data_buffer, 0, TPM_CRB_DATA_BUFFER_SIZE); memcpy(&crb->regs.data_buffer[rsp_off], &rsp[rsp_off], rsp_size); From nobody Tue Jul 25 12:51:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9H2d0Q9mz4pkgK; Tue, 25 Jul 2023 12:51: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 4R9H2c6mT9z3LjC; Tue, 25 Jul 2023 12:51:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690289464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ynpt83nzbP7WxeQIV2ENmvLpnw52rkKf2wqG6qX7lRE=; b=XQ6gBmyAA9sVFgFqZryNxhoPDI7RWUNDnqZH3DHiHWqyl+BCAopOEyXkIhN9HM/uvHQ1+z tmtZikPyikPkkteE87KkCadev878YYrq2JaldFXyfi1HRLVC8mWpprdD2JEDl++rbb1DCF 3QzyCkj5DrQXO/ATqTrn3HoX1+7gqUgpzpRdzBpgjZum7Z+pXbZg7teJrvUGrOCtnFeV3N p4BHpopjsaQHJyaH8MHSV9ZLM8PDyeG6H2cqlhYOJBaxNe1tatUCjLRAJjZjDEAu0Gvb67 MN0g7iMUCbTyBIVls21AfbW3XoclWwpcm1HmnBkWQcoJ5orJtHivOdEMFPlLNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690289464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ynpt83nzbP7WxeQIV2ENmvLpnw52rkKf2wqG6qX7lRE=; b=x4ZWvU9etUy538NfBmL3QxK4xmiWprDwcczGyhPJVdybTLNL3GpXWcx7/4N8XQo5w/iZgE sRDSAaocUCtdt590FsOkFK1Opl9njJp12nKcW8ZNLy8Xsaa9vuqPNBhnei9phi/a9plGJe ht4DrLUFdTcMJTivoAEIiffuBgAwGqUSQnh9ADhWAVKuZjmnQD4DfwHrqcEOAldDlStILt aiTA/SK800+PxvnoCv280J14RZ60KTtHtzKBRxVz+vx9Oz1qc0anoYCYiP2i9KkwgZyUMv ymiiLqMFn6DEq4vl/Su1fnE9Y+OC4KrX5OrS0bzTDpFI2er6ML2+lSdm2FVflg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690289464; a=rsa-sha256; cv=none; b=snbKLaVSkFFxoBRbYgTIj/rm4Zcam77QuQJE7JvBlxaThiKGD85od+KYdvOKzOSmp2d19O ckMj7qsKbYUEh8U9/vM3a56WyPwAJOed0C1VBkLMI1+H3pwcrPvyvb+HgyKOdDPUIUYzXw I1cMNE0CIPGLoKXEzmnKWvnXwRhNFP9I4WSRbOGEq8p7NcdUCjWSs8nFzWBRuBG2ggjtbc iG+J4qKMBdPuWefTuacBsM1ZNTIKWagHl3/r6exgGrCMrQrEQ9sKE+MZkxs7NMvHOhIGI8 YqahVXpf3DLG8GJjyL0uk/yuFVi2EreGsjtx4rRtlW0GNBYNNwjqnDZe9vxGxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9H2c5rqjz10wt; Tue, 25 Jul 2023 12:51: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 36PCp4qv080097; Tue, 25 Jul 2023 12:51:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PCp42v080096; Tue, 25 Jul 2023 12:51:04 GMT (envelope-from git) Date: Tue, 25 Jul 2023 12:51:04 GMT Message-Id: <202307251251.36PCp42v080096@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 65f8467e3351 - main - bhyvectl: Add '--get-debug-cpus' command List-Id: Commit messages for all branches 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: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65f8467e3351c38a9d57b538b85cf6c5fab5818e Auto-Submitted: auto-generated The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=65f8467e3351c38a9d57b538b85cf6c5fab5818e commit 65f8467e3351c38a9d57b538b85cf6c5fab5818e Author: Vitaliy Gusev AuthorDate: 2023-07-25 12:03:54 +0000 Commit: Corvin Köhne CommitDate: 2023-07-25 12:03:54 +0000 bhyvectl: Add '--get-debug-cpus' command vmm and libvmmapi already have handlers for that. When adding debug cpus, they were only used for the debug stub. Over time, they were reused by other parts like snapshots or idle APs. Reviewed by: corvink, jhb MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D40804 --- usr.sbin/bhyvectl/bhyvectl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index f723ff1f2e82..d786df44dace 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -190,6 +190,7 @@ usage(bool cpu_intel) " [--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" @@ -265,7 +266,7 @@ static int force_reset, force_poweroff; static const char *capname; static int create, destroy, get_memmap, get_memseg; static int get_intinfo; -static int get_active_cpus, get_suspended_cpus; +static int get_active_cpus, get_debug_cpus, get_suspended_cpus; static uint64_t memsize; static int set_cr0, get_cr0, set_cr2, get_cr2, set_cr3, get_cr3; static int set_cr4, get_cr4; @@ -1450,6 +1451,7 @@ setup_options(bool cpu_intel) { "force-reset", NO_ARG, &force_reset, 1 }, { "force-poweroff", NO_ARG, &force_poweroff, 1 }, { "get-active-cpus", NO_ARG, &get_active_cpus, 1 }, + { "get-debug-cpus", NO_ARG, &get_debug_cpus, 1 }, { "get-suspended-cpus", NO_ARG, &get_suspended_cpus, 1 }, { "get-intinfo", NO_ARG, &get_intinfo, 1 }, { "get-cpu-topology", NO_ARG, &get_cpu_topology, 1 }, @@ -2347,6 +2349,12 @@ main(int argc, char *argv[]) print_cpus("active cpus", &cpus); } + if (!error && (get_debug_cpus || get_all)) { + error = vm_debug_cpus(ctx, &cpus); + if (!error) + print_cpus("debug cpus", &cpus); + } + if (!error && (get_suspended_cpus || get_all)) { error = vm_suspended_cpus(ctx, &cpus); if (!error) From nobody Tue Jul 25 17:14:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9NtP2mwrz4p5Wd; Tue, 25 Jul 2023 17:14: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 4R9NtP1WyXz4R2B; Tue, 25 Jul 2023 17:14:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690305261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qh24VExGBmg5LFYxC/8H+tEpPFBtFY4Jn3CXtfT7A6I=; b=DmxM415nj7RLP+9Sg96+uKGuI+Kln3ZvweLYcu0acXcPadRY2EveH++D9s2UvguhXxqSO1 7wYmjOyxb3qO0p6NnjcuC0T0A9vReTM30+68KskG73/B5dGu03InUyeGoy8OFJ+RUt4Xqu 36KJwq66aXpA31MrwAKZB7ZH+Ywk2uZ8Omy4qEww63FPYtnb9yZFPgnUGvO4RPE4ZNT58f eiCfwY3gggAMjTBx56pzRwszkD+snIr3G2A+jWBFaDexdwfOMo1GHO1D3dWcYVrra0K0gp iZYFXD76UUXGAj/tGAptEdvL1tm4sU2aOCxY5pKEtmCpUDOPlrjvDh/NDUQPZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690305261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qh24VExGBmg5LFYxC/8H+tEpPFBtFY4Jn3CXtfT7A6I=; b=ikKM9/dZ5QUrzFntwZeUcuRj6ozuox/O5FfyjyvZKAY06vJSezM5O3+Mgjl+CRaJLUNfJZ IkK+E8PtGWsqdWMw9cXnHQVfSRDIoJl+n88dxbFVeExr7C1o8hzQQv0d++c/SCMwuYwNEN EU263lwPQmYN5w2g1MQg/2MMEL2fTi8m9O7IKteJ+VAKopdvsf6O3EeH+KHPK5YWO26VEp U8atRQ2dmrKzHlZgmilTE2+EZddjNBMy37JCheAZCGM9DGrdTb8PVffcNtlB3t+A8h1Tok 5MoFnZ54P5E9DQawgdsNf3knrpAL0pSRM9HJNfmwqfQy817H6A9O2YmZ1DhZjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690305261; a=rsa-sha256; cv=none; b=CwOM6vjEAgRZPVKL3nj+FcD6l10S4ArO/RMHsdGUsFj8iZPJvWrK7/ApARYPkdF5c9dNn7 QkvB2AOzSoHte961P6bIPykqrZq8DwAgTTT0WF8fU15hTp9U86/h92Df90ye2HUSaIJ2A3 AVrhYnKlEO+vFfl1/BKFu6wZkIzEr4hguKq7IhmuuqxVh2EqAk6YGfiwNHeaF5r9IrBMP9 6fKuMNfVVgNRxCWyILnf+e5A8Bz4wTMFGmkajM0XY13lwp8q+P6owlNr8oc0jX0MCmSZhO jrfFnYBLeHZ2stj5WODvCLZSZ1wsPogTtXUFL8Ro8a1UfwDhYGZKlynW/fTn+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 4R9NtP0bN8z17h5; Tue, 25 Jul 2023 17:14: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 36PHEKNF016336; Tue, 25 Jul 2023 17:14:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PHEKCk016335; Tue, 25 Jul 2023 17:14:20 GMT (envelope-from git) Date: Tue, 25 Jul 2023 17:14:20 GMT Message-Id: <202307251714.36PHEKCk016335@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 437e1e37dfca - main - kern_sig.c: include sys/jail.h per style(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: 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: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 437e1e37dfcaa645f6cf5f1ddd98bbe68b4d4462 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=437e1e37dfcaa645f6cf5f1ddd98bbe68b4d4462 commit 437e1e37dfcaa645f6cf5f1ddd98bbe68b4d4462 Author: Brooks Davis AuthorDate: 2023-07-25 00:13:37 +0000 Commit: Brooks Davis CommitDate: 2023-07-25 17:13:17 +0000 kern_sig.c: include sys/jail.h per style(9) Fixes: e7228204343ac61d2316e74891e3606361a23f6e Sponsored by: DARPA --- sys/kern/kern_sig.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index d38cad182c30..b15ad12724f8 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -91,8 +92,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include - #include #include From nobody Tue Jul 25 20:48:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Tdj3tGdz4nZ9h; Tue, 25 Jul 2023 20:48: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 4R9Tdj2d5kz3kf3; Tue, 25 Jul 2023 20:48:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41HyWAIio/kDEQz8TznYqUGHBlSaIV+cqRxyHoPz+zQ=; b=anITOBGqutdz79iTVqr/SYKd4PxwB6tdfbj8Y/bWAS/b9f+Jg2En0kRKXUjhMrmWCnD8in VNsWUhoOgV1hp0IFNxiYXm8D5zhR8oyM1fZncHpKXjT2be8jEqg30kTfQdqgn9mRdugbfM 5xG1LI5NRFpFDjAqLAiGrEaJUXsxsP6zNImThwS7alhxP/e6FZMUX43z+ViVmlnYVnbwhp M4qbyeSONHtvsu/V/3c/ZNIhePGnT/5Ccgm8LStmI6R7esUUt0VBW3JOSQvW2ZRbL7DAnM 3x8FAeH4w7F1/M3Q5R+++/1DSgeaG6uSGyJJ7a3ciDnjT2VXoBwJMItCayWB9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41HyWAIio/kDEQz8TznYqUGHBlSaIV+cqRxyHoPz+zQ=; b=p8++TbkpXiY/Fna89e13Mic6G/YhKFJswNs3oxEI6UhYkXEbmoz4n5HgAgxrGefkm5UoAH 5Z0UtA0+uwqRvS/+C1+bAZsYBf3i75200siEusn2YMb3XaEAZl5Vlki/0eMe3mPtLlHew4 Spy+C2J505wtni23KwcuorLerlwVc0IThdoRk5nqG8Ka+n6Hk4cZBGqBZLyjuH4bM7FRyJ vOH/5sQ7Q0KTVUVZRBk+A1QiRzuPTWA6FMX66MppQe5beTCvyCq5iVQMhibvugMTfMGREI qULUflwN8OKvkRBCJI1eDoriraJxwRNjdQuVPK6loFXurNqmhf789S+YgZpzTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690318121; a=rsa-sha256; cv=none; b=fPFMNa580ug+wJ+po1NWbU+ZCHukO9kF1bqQhZnfzlMPV/XptMEIRqLOUxQXbQk+2XXtWq jUBUe5TRpnJ/KCaRoamMBE+9xSx2hxGZ8uwWolJY445KD+ODq8513k1LiJNZV/t8Cl9AmT VkSogmxVEpO9XF7kRf0XyotKSdqjiqqamN1nefVqxD+1E3edfG9jP/6iftRyrMylZRl5YE sPCMVNlsT+pXr4+V9Pu17LR7hG+iR9rBhVPQTTQ6mLkGwUAwv0isnXvi5BxSVvyfu570DV 8qT509exx5ZOWTq7LBm24xev3zjHcbCDWiTD8wR7VYBU66ks78Mc5ukN1NDNkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Tdj1g72zFxS; Tue, 25 Jul 2023 20:48: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 36PKmf4k063600; Tue, 25 Jul 2023 20:48:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PKmcZZ063581; Tue, 25 Jul 2023 20:48:38 GMT (envelope-from git) Date: Tue, 25 Jul 2023 20:48:38 GMT Message-Id: <202307252048.36PKmcZZ063581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: caa41f641755 - stable/13 - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: caa41f641755c935b036e17440a3b49329c904ed Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=caa41f641755c935b036e17440a3b49329c904ed commit caa41f641755c935b036e17440a3b49329c904ed Author: Warner Losh AuthorDate: 2023-05-10 15:40:58 +0000 Commit: Warner Losh CommitDate: 2023-07-25 15:13:49 +0000 spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit 4d846d260e2b9a3d4d0a701462568268cbfe7a5b) --- bin/cp/tests/cp_test.sh | 2 +- bin/timeout/timeout.1 | 2 +- include/bitstring.h | 2 +- include/complex.h | 2 +- include/cpio.h | 2 +- include/elf-hints.h | 2 +- include/elf.h | 2 +- include/fmtmsg.h | 2 +- include/inttypes.h | 2 +- include/iso646.h | 2 +- include/kenv.h | 2 +- include/langinfo.h | 2 +- include/malloc_np.h | 2 +- include/mk-osreldate.sh | 2 +- include/monetary.h | 2 +- include/mqueue.h | 2 +- include/nss.h | 2 +- include/printf.h | 2 +- include/proc_service.h | 2 +- include/rpc/rpcsec_gss.h | 2 +- include/semaphore.h | 2 +- include/spawn.h | 2 +- include/stdalign.h | 2 +- include/stdbool.h | 2 +- include/stdnoreturn.h | 2 +- include/strings.h | 2 +- include/tgmath.h | 2 +- include/uchar.h | 2 +- include/ulimit.h | 2 +- include/utmpx.h | 2 +- include/uuid.h | 2 +- include/varargs.h | 2 +- include/wordexp.h | 2 +- include/xlocale.h | 2 +- include/xlocale/_ctype.h | 2 +- include/xlocale/_inttypes.h | 2 +- include/xlocale/_langinfo.h | 2 +- include/xlocale/_locale.h | 2 +- include/xlocale/_monetary.h | 2 +- include/xlocale/_stdio.h | 2 +- include/xlocale/_stdlib.h | 2 +- include/xlocale/_string.h | 2 +- include/xlocale/_time.h | 2 +- include/xlocale/_uchar.h | 2 +- include/xlocale/_wchar.h | 2 +- kerberos5/lib/libgssapi_krb5/gss_krb5.c | 2 +- kerberos5/lib/libgssapi_krb5/pname_to_uid.c | 2 +- kerberos5/lib/libgssapi_krb5/prefix.c | 2 +- kerberos5/lib/libgssapi_ntlm/prefix.c | 2 +- kerberos5/lib/libgssapi_spnego/freebsd_compat.c | 2 +- lib/csu/amd64/crt1_c.c | 2 +- lib/csu/common/crtbrand.S | 2 +- lib/csu/common/feature_note.S | 2 +- lib/flua/libjail/jail.3lua | 2 +- lib/geom/cache/geom_cache.c | 2 +- lib/geom/concat/geom_concat.c | 2 +- lib/geom/eli/geom_eli.c | 2 +- lib/geom/journal/geom_journal.c | 2 +- lib/geom/journal/geom_journal.h | 2 +- lib/geom/journal/geom_journal_ufs.c | 2 +- lib/geom/label/geom_label.c | 2 +- lib/geom/mirror/geom_mirror.c | 2 +- lib/geom/mountver/geom_mountver.c | 2 +- lib/geom/multipath/geom_multipath.c | 2 +- lib/geom/nop/geom_nop.c | 2 +- lib/geom/part/geom_part.c | 2 +- lib/geom/raid/geom_raid.c | 2 +- lib/geom/raid3/geom_raid3.c | 2 +- lib/geom/shsec/geom_shsec.c | 2 +- lib/geom/stripe/geom_stripe.c | 2 +- lib/geom/virstor/geom_virstor.c | 2 +- lib/libarchive/config_freebsd.h | 2 +- lib/libbe/be.c | 2 +- lib/libbe/be.h | 2 +- lib/libbe/be_access.c | 2 +- lib/libbe/be_error.c | 2 +- lib/libbe/be_impl.h | 2 +- lib/libbe/be_info.c | 2 +- lib/libbe/libbe.3 | 2 +- lib/libbe/tests/be_create.sh | 2 +- lib/libbe/tests/target_prog.c | 2 +- lib/libbluetooth/bluetooth.c | 2 +- lib/libbluetooth/bluetooth.h | 2 +- lib/libbluetooth/dev.c | 2 +- lib/libbluetooth/hci.c | 2 +- lib/libbsdstat/bsdstat.c | 2 +- lib/libbsdstat/bsdstat.h | 2 +- lib/libc/aarch64/gen/_get_tp.c | 2 +- lib/libc/aarch64/static_tls.h | 2 +- lib/libc/amd64/_fpmath.h | 2 +- lib/libc/amd64/gen/_get_tp.c | 2 +- lib/libc/amd64/gen/_set_tp.c | 2 +- lib/libc/amd64/gen/makecontext.c | 2 +- lib/libc/amd64/gen/signalcontext.c | 2 +- lib/libc/amd64/static_tls.h | 2 +- lib/libc/amd64/string/strcpy.c | 2 +- lib/libc/amd64/sys/amd64_get_fsbase.c | 2 +- lib/libc/amd64/sys/amd64_get_gsbase.c | 2 +- lib/libc/amd64/sys/amd64_set_fsbase.c | 2 +- lib/libc/amd64/sys/amd64_set_gsbase.c | 2 +- lib/libc/arm/_fpmath.h | 2 +- lib/libc/arm/aeabi/aeabi_atexit.c | 2 +- lib/libc/arm/aeabi/aeabi_double.c | 2 +- lib/libc/arm/aeabi/aeabi_float.c | 2 +- lib/libc/arm/aeabi/aeabi_unwind_cpp.c | 2 +- lib/libc/arm/gen/_get_tp.c | 2 +- lib/libc/arm/gen/_set_tp.c | 2 +- lib/libc/arm/gen/flt_rounds.c | 2 +- lib/libc/arm/gen/getcontextx.c | 2 +- lib/libc/arm/gen/signalcontext.c | 2 +- lib/libc/arm/static_tls.h | 2 +- lib/libc/arm/sys/__vdso_gettc.c | 2 +- lib/libc/db/mpool/mpool-compat.c | 2 +- lib/libc/gdtoa/_hdtoa.c | 2 +- lib/libc/gdtoa/_hldtoa.c | 2 +- lib/libc/gdtoa/_ldtoa.c | 2 +- lib/libc/gdtoa/machdep_ldisQ.c | 2 +- lib/libc/gdtoa/machdep_ldisd.c | 2 +- lib/libc/gdtoa/machdep_ldisx.c | 2 +- lib/libc/gen/__getosreldate.c | 2 +- lib/libc/gen/_once_stub.c | 2 +- lib/libc/gen/_pthread_stubs.c | 2 +- lib/libc/gen/_thread_init.c | 2 +- lib/libc/gen/arc4random-compat.c | 2 +- lib/libc/gen/auxv.c | 2 +- lib/libc/gen/cap_sandboxed.c | 2 +- lib/libc/gen/clock_getcpuclockid.c | 2 +- lib/libc/gen/ctermid.c | 2 +- lib/libc/gen/dirfd.c | 2 +- lib/libc/gen/dlfcn.c | 2 +- lib/libc/gen/dup3.c | 2 +- lib/libc/gen/elf_utils.c | 2 +- lib/libc/gen/errno.c | 2 +- lib/libc/gen/fdevname.c | 2 +- lib/libc/gen/fmtmsg.c | 2 +- lib/libc/gen/fpclassify.c | 2 +- lib/libc/gen/frexp.c | 2 +- lib/libc/gen/ftok.c | 2 +- lib/libc/gen/getentropy.c | 2 +- lib/libc/gen/getgrent.c | 2 +- lib/libc/gen/getpagesizes.c | 2 +- lib/libc/gen/getpeereid.c | 2 +- lib/libc/gen/getpwent.c | 2 +- lib/libc/gen/getutxent.c | 2 +- lib/libc/gen/isinf.c | 2 +- lib/libc/gen/isnan.c | 2 +- lib/libc/gen/libc_dlopen.c | 2 +- lib/libc/gen/posix_spawn.c | 2 +- lib/libc/gen/pututxline.c | 2 +- lib/libc/gen/sem.c | 2 +- lib/libc/gen/sem_new.c | 2 +- lib/libc/gen/semctl.c | 2 +- lib/libc/gen/sysctlnametomib.c | 2 +- lib/libc/gen/tls.c | 2 +- lib/libc/gen/ulimit.c | 2 +- lib/libc/gen/unvis-compat.c | 2 +- lib/libc/gen/utxdb.c | 2 +- lib/libc/gen/utxdb.h | 2 +- lib/libc/gen/waitid.c | 2 +- lib/libc/gen/wordexp.c | 2 +- lib/libc/i386/_fpmath.h | 2 +- lib/libc/i386/gen/_get_tp.c | 2 +- lib/libc/i386/gen/_set_tp.c | 2 +- lib/libc/i386/gen/makecontext.c | 2 +- lib/libc/i386/gen/signalcontext.c | 2 +- lib/libc/i386/static_tls.h | 2 +- lib/libc/i386/sys/i386_clr_watch.c | 2 +- lib/libc/i386/sys/i386_get_fsbase.c | 2 +- lib/libc/i386/sys/i386_get_gsbase.c | 2 +- lib/libc/i386/sys/i386_get_ioperm.c | 2 +- lib/libc/i386/sys/i386_set_fsbase.c | 2 +- lib/libc/i386/sys/i386_set_gsbase.c | 2 +- lib/libc/i386/sys/i386_set_ioperm.c | 2 +- lib/libc/i386/sys/i386_set_watch.c | 2 +- lib/libc/i386/sys/i386_vm86.c | 2 +- lib/libc/iconv/__iconv.c | 2 +- lib/libc/iconv/__iconv_free_list.c | 2 +- lib/libc/iconv/__iconv_get_list.c | 2 +- lib/libc/iconv/citrus_lock.h | 2 +- lib/libc/iconv/iconv-internal.h | 2 +- lib/libc/iconv/iconv.c | 2 +- lib/libc/iconv/iconv_canonicalize.c | 2 +- lib/libc/iconv/iconv_close.c | 2 +- lib/libc/iconv/iconv_compat.c | 2 +- lib/libc/iconv/iconv_open.c | 2 +- lib/libc/iconv/iconv_open_into.c | 2 +- lib/libc/iconv/iconv_set_relocation_prefix.c | 2 +- lib/libc/iconv/iconvctl.c | 2 +- lib/libc/iconv/iconvlist.c | 2 +- lib/libc/include/compat.h | 2 +- lib/libc/include/errlst.h | 2 +- lib/libc/include/fpmath.h | 2 +- lib/libc/include/namespace.h | 2 +- lib/libc/include/nscache.h | 2 +- lib/libc/include/nscachedcli.h | 2 +- lib/libc/include/nss_tls.h | 2 +- lib/libc/include/reentrant.h | 2 +- lib/libc/include/un-namespace.h | 2 +- lib/libc/locale/btowc.c | 2 +- lib/libc/locale/c16rtomb.c | 2 +- lib/libc/locale/c32rtomb.c | 2 +- lib/libc/locale/cXXrtomb_iconv.h | 2 +- lib/libc/locale/collate.c | 2 +- lib/libc/locale/collate.h | 2 +- lib/libc/locale/collcmp.c | 2 +- lib/libc/locale/ctype.c | 2 +- lib/libc/locale/fix_grouping.c | 2 +- lib/libc/locale/gb18030.c | 2 +- lib/libc/locale/gb2312.c | 2 +- lib/libc/locale/ldpart.c | 2 +- lib/libc/locale/ldpart.h | 2 +- lib/libc/locale/lmessages.c | 2 +- lib/libc/locale/lmessages.h | 2 +- lib/libc/locale/lmonetary.c | 2 +- lib/libc/locale/lmonetary.h | 2 +- lib/libc/locale/lnumeric.c | 2 +- lib/libc/locale/lnumeric.h | 2 +- lib/libc/locale/mblen.c | 2 +- lib/libc/locale/mblocal.h | 2 +- lib/libc/locale/mbrlen.c | 2 +- lib/libc/locale/mbrtoc16.c | 2 +- lib/libc/locale/mbrtoc32.c | 2 +- lib/libc/locale/mbrtocXX_iconv.h | 2 +- lib/libc/locale/mbrtowc.c | 2 +- lib/libc/locale/mbsinit.c | 2 +- lib/libc/locale/mbsnrtowcs.c | 2 +- lib/libc/locale/mbsrtowcs.c | 2 +- lib/libc/locale/mbstowcs.c | 2 +- lib/libc/locale/mbtowc.c | 2 +- lib/libc/locale/nextwctype.c | 2 +- lib/libc/locale/nl_langinfo.c | 2 +- lib/libc/locale/rpmatch.c | 2 +- lib/libc/locale/runefile.h | 2 +- lib/libc/locale/setlocale.h | 2 +- lib/libc/locale/utf8.c | 2 +- lib/libc/locale/wcrtomb.c | 2 +- lib/libc/locale/wcsftime.c | 2 +- lib/libc/locale/wcsnrtombs.c | 2 +- lib/libc/locale/wcsrtombs.c | 2 +- lib/libc/locale/wcstod.c | 2 +- lib/libc/locale/wcstof.c | 2 +- lib/libc/locale/wcstold.c | 2 +- lib/libc/locale/wcstombs.c | 2 +- lib/libc/locale/wctob.c | 2 +- lib/libc/locale/wctomb.c | 2 +- lib/libc/locale/wctrans.c | 2 +- lib/libc/locale/wctype.c | 2 +- lib/libc/locale/xlocale.c | 2 +- lib/libc/locale/xlocale_private.h | 2 +- lib/libc/mips/_fpmath.h | 2 +- lib/libc/mips/gen/_get_tp.c | 2 +- lib/libc/mips/gen/_set_tp.c | 2 +- lib/libc/mips/gen/signalcontext.c | 2 +- lib/libc/mips/static_tls.h | 2 +- lib/libc/net/gethostbynis.c | 2 +- lib/libc/net/gethostnamadr.c | 2 +- lib/libc/net/getifmaddrs.c | 2 +- lib/libc/net/getnetbynis.c | 2 +- lib/libc/net/getnetnamadr.c | 2 +- lib/libc/net/netdb_private.h | 2 +- lib/libc/net/nscache.c | 2 +- lib/libc/net/nscachedcli.c | 2 +- lib/libc/net/nss_backends.h | 2 +- lib/libc/net/nss_compat.c | 2 +- lib/libc/net/ntoh.c | 2 +- lib/libc/net/sockatmark.c | 2 +- lib/libc/net/sourcefilter.c | 2 +- lib/libc/posix1e/acl_branding.c | 2 +- lib/libc/posix1e/acl_calc_mask.c | 2 +- lib/libc/posix1e/acl_compat.c | 2 +- lib/libc/posix1e/acl_copy.c | 2 +- lib/libc/posix1e/acl_delete.c | 2 +- lib/libc/posix1e/acl_delete_entry.c | 2 +- lib/libc/posix1e/acl_entry.c | 2 +- lib/libc/posix1e/acl_flag.c | 2 +- lib/libc/posix1e/acl_free.c | 2 +- lib/libc/posix1e/acl_from_text.c | 2 +- lib/libc/posix1e/acl_from_text_nfs4.c | 2 +- lib/libc/posix1e/acl_get.c | 2 +- lib/libc/posix1e/acl_id_to_name.c | 2 +- lib/libc/posix1e/acl_init.c | 2 +- lib/libc/posix1e/acl_perm.c | 2 +- lib/libc/posix1e/acl_set.c | 2 +- lib/libc/posix1e/acl_strip.c | 2 +- lib/libc/posix1e/acl_support.c | 2 +- lib/libc/posix1e/acl_support.h | 2 +- lib/libc/posix1e/acl_support_nfs4.c | 2 +- lib/libc/posix1e/acl_to_text.c | 2 +- lib/libc/posix1e/acl_to_text_nfs4.c | 2 +- lib/libc/posix1e/acl_valid.c | 2 +- lib/libc/posix1e/extattr.c | 2 +- lib/libc/posix1e/mac.c | 2 +- lib/libc/posix1e/mac_exec.c | 2 +- lib/libc/powerpc/_fpmath.h | 2 +- lib/libc/powerpc/gen/_get_tp.c | 2 +- lib/libc/powerpc/gen/_set_tp.c | 2 +- lib/libc/powerpc/gen/makecontext.c | 2 +- lib/libc/powerpc/gen/signalcontext.c | 2 +- lib/libc/powerpc/static_tls.h | 2 +- lib/libc/powerpc/sys/__vdso_gettc.c | 2 +- lib/libc/powerpc64/_fpmath.h | 2 +- lib/libc/powerpc64/gen/_get_tp.c | 2 +- lib/libc/powerpc64/gen/_set_tp.c | 2 +- lib/libc/powerpc64/gen/fpsetround.c | 2 +- lib/libc/powerpc64/gen/makecontext.c | 2 +- lib/libc/powerpc64/gen/signalcontext.c | 2 +- lib/libc/powerpc64/static_tls.h | 2 +- lib/libc/powerpc64/sys/__vdso_gettc.c | 2 +- lib/libc/resolv/h_errno.c | 2 +- lib/libc/resolv/res_state.c | 2 +- lib/libc/riscv/gen/_get_tp.c | 2 +- lib/libc/riscv/static_tls.h | 2 +- lib/libc/rpc/mt_misc.h | 2 +- lib/libc/rpc/rpcsec_gss_stub.c | 2 +- lib/libc/stdio/dprintf.c | 2 +- lib/libc/stdio/fcloseall.c | 2 +- lib/libc/stdio/fgetwc.c | 2 +- lib/libc/stdio/fgetwln.c | 2 +- lib/libc/stdio/fgetws.c | 2 +- lib/libc/stdio/fmemopen.c | 2 +- lib/libc/stdio/fputwc.c | 2 +- lib/libc/stdio/fputws.c | 2 +- lib/libc/stdio/fwide.c | 2 +- lib/libc/stdio/fwprintf.c | 2 +- lib/libc/stdio/fwscanf.c | 2 +- lib/libc/stdio/getdelim.c | 2 +- lib/libc/stdio/getline.c | 2 +- lib/libc/stdio/getwc.c | 2 +- lib/libc/stdio/getwchar.c | 2 +- lib/libc/stdio/open_memstream.c | 2 +- lib/libc/stdio/open_wmemstream.c | 2 +- lib/libc/stdio/putwc.c | 2 +- lib/libc/stdio/putwchar.c | 2 +- lib/libc/stdio/swprintf.c | 2 +- lib/libc/stdio/swscanf.c | 2 +- lib/libc/stdio/ungetwc.c | 2 +- lib/libc/stdio/vdprintf.c | 2 +- lib/libc/stdio/vwprintf.c | 2 +- lib/libc/stdio/vwscanf.c | 2 +- lib/libc/stdio/wprintf.c | 2 +- lib/libc/stdio/wscanf.c | 2 +- lib/libc/stdio/xprintf_errno.c | 2 +- lib/libc/stdio/xprintf_hexdump.c | 2 +- lib/libc/stdio/xprintf_quote.c | 2 +- lib/libc/stdio/xprintf_vis.c | 2 +- lib/libc/stdlib/getenv.c | 2 +- lib/libc/stdlib/hcreate.c | 2 +- lib/libc/stdlib/imaxabs.c | 2 +- lib/libc/stdlib/imaxdiv.c | 2 +- lib/libc/stdlib/llabs.c | 2 +- lib/libc/stdlib/lldiv.c | 2 +- lib/libc/stdlib/ptsname.c | 2 +- lib/libc/stdlib/quick_exit.c | 2 +- lib/libc/stdlib/reallocf.c | 2 +- lib/libc/stdlib/strfmon.c | 2 +- lib/libc/stdlib/strtold.c | 2 +- lib/libc/stdtime/strptime.c | 2 +- lib/libc/stdtime/timelocal.c | 2 +- lib/libc/stdtime/timelocal.h | 2 +- lib/libc/string/mempcpy.c | 2 +- lib/libc/string/stpncpy.c | 2 +- lib/libc/string/strcoll.c | 2 +- lib/libc/string/strcspn.c | 2 +- lib/libc/string/strlen.c | 2 +- lib/libc/string/strnlen.c | 2 +- lib/libc/string/strspn.c | 2 +- lib/libc/string/strxfrm.c | 2 +- lib/libc/string/wcpncpy.c | 2 +- lib/libc/string/wcscasecmp.c | 2 +- lib/libc/string/wcscat.c | 2 +- lib/libc/string/wcschr.c | 2 +- lib/libc/string/wcscoll.c | 2 +- lib/libc/string/wcsdup.c | 2 +- lib/libc/string/wcsncasecmp.c | 2 +- lib/libc/string/wcsnlen.c | 2 +- lib/libc/string/wcsrchr.c | 2 +- lib/libc/string/wcsxfrm.c | 2 +- lib/libc/string/wmempcpy.c | 2 +- lib/libc/sys/__vdso_gettimeofday.c | 2 +- lib/libc/sys/brk.c | 2 +- lib/libc/sys/clock_gettime.c | 2 +- lib/libc/sys/closefrom.c | 2 +- lib/libc/sys/fcntl.c | 2 +- lib/libc/sys/gettimeofday.c | 2 +- lib/libc/sys/shm_open.c | 2 +- lib/libc/sys/sigwait.c | 2 +- lib/libc/tests/gen/getentropy_test.c | 2 +- lib/libc/tests/gen/makecontext_test.c | 2 +- lib/libc/tests/gen/sigsetops_test.c | 2 +- lib/libc/tests/sys/brk_test.c | 2 +- lib/libc/uuid/uuid_compare.c | 2 +- lib/libc/uuid/uuid_create.c | 2 +- lib/libc/uuid/uuid_create_nil.c | 2 +- lib/libc/uuid/uuid_equal.c | 2 +- lib/libc/uuid/uuid_from_string.c | 2 +- lib/libc/uuid/uuid_hash.c | 2 +- lib/libc/uuid/uuid_is_nil.c | 2 +- lib/libc/uuid/uuid_stream.c | 2 +- lib/libc/uuid/uuid_to_string.c | 2 +- lib/libc/x86/gen/getcontextx.c | 2 +- lib/libc_nonshared/__stub.c | 2 +- lib/libcalendar/calendar.c | 2 +- lib/libcalendar/calendar.h | 2 +- lib/libcalendar/easter.c | 2 +- lib/libcam/camlib.c | 2 +- lib/libcam/camlib.h | 2 +- lib/libcasper/libcasper/libcasper.c | 2 +- lib/libcasper/libcasper/libcasper.h | 2 +- lib/libcasper/libcasper/libcasper_impl.c | 2 +- lib/libcasper/libcasper/libcasper_impl.h | 2 +- lib/libcasper/libcasper/libcasper_service.c | 2 +- lib/libcasper/libcasper/libcasper_service.h | 2 +- lib/libcasper/libcasper/service.c | 2 +- lib/libcasper/libcasper/zygote.c | 2 +- lib/libcasper/libcasper/zygote.h | 2 +- lib/libcasper/services/cap_dns/cap_dns.c | 2 +- lib/libcasper/services/cap_dns/tests/dns_test.c | 2 +- lib/libcasper/services/cap_fileargs/cap_fileargs.c | 2 +- lib/libcasper/services/cap_fileargs/cap_fileargs.h | 2 +- lib/libcasper/services/cap_grp/cap_grp.c | 2 +- lib/libcasper/services/cap_grp/tests/grp_test.c | 2 +- lib/libcasper/services/cap_net/cap_net.c | 2 +- lib/libcasper/services/cap_net/cap_net.h | 2 +- lib/libcasper/services/cap_pwd/cap_pwd.c | 2 +- lib/libcasper/services/cap_pwd/tests/pwd_test.c | 2 +- lib/libcasper/services/cap_sysctl/cap_sysctl.c | 2 +- lib/libcasper/services/cap_sysctl/tests/sysctl_test.c | 2 +- lib/libcasper/services/cap_syslog/cap_syslog.c | 2 +- lib/libcrypt/crypt-md5.c | 2 +- lib/libcrypt/crypt-nthash.c | 2 +- lib/libcrypt/crypt-sha256.c | 2 +- lib/libcrypt/crypt-sha512.c | 2 +- lib/libcrypt/crypt.c | 2 +- lib/libcrypt/crypt.h | 2 +- lib/libdevinfo/devinfo.c | 2 +- lib/libdevinfo/devinfo.h | 2 +- lib/libdevinfo/devinfo_var.h | 2 +- lib/libgeom/geom_util.c | 2 +- lib/libgssapi/context.h | 2 +- lib/libgssapi/cred.h | 2 +- lib/libgssapi/gss_accept_sec_context.c | 2 +- lib/libgssapi/gss_acquire_cred.c | 2 +- lib/libgssapi/gss_add_cred.c | 2 +- lib/libgssapi/gss_add_oid_set_member.c | 2 +- lib/libgssapi/gss_canonicalize_name.c | 2 +- lib/libgssapi/gss_compare_name.c | 2 +- lib/libgssapi/gss_context_time.c | 2 +- lib/libgssapi/gss_create_empty_oid_set.c | 2 +- lib/libgssapi/gss_decapsulate_token.c | 2 +- lib/libgssapi/gss_delete_sec_context.c | 2 +- lib/libgssapi/gss_display_name.c | 2 +- lib/libgssapi/gss_duplicate_name.c | 2 +- lib/libgssapi/gss_duplicate_oid.c | 2 +- lib/libgssapi/gss_encapsulate_token.c | 2 +- lib/libgssapi/gss_export_name.c | 2 +- lib/libgssapi/gss_export_sec_context.c | 2 +- lib/libgssapi/gss_get_mic.c | 2 +- lib/libgssapi/gss_import_name.c | 2 +- lib/libgssapi/gss_import_sec_context.c | 2 +- lib/libgssapi/gss_indicate_mechs.c | 2 +- lib/libgssapi/gss_init_sec_context.c | 2 +- lib/libgssapi/gss_inquire_context.c | 2 +- lib/libgssapi/gss_inquire_cred.c | 2 +- lib/libgssapi/gss_inquire_cred_by_mech.c | 2 +- lib/libgssapi/gss_inquire_mechs_for_name.c | 2 +- lib/libgssapi/gss_inquire_names_for_mech.c | 2 +- lib/libgssapi/gss_inquire_sec_context_by_oid.c | 2 +- lib/libgssapi/gss_krb5.c | 2 +- lib/libgssapi/gss_mech_switch.c | 2 +- lib/libgssapi/gss_names.c | 2 +- lib/libgssapi/gss_pname_to_uid.c | 2 +- lib/libgssapi/gss_process_context_token.c | 2 +- lib/libgssapi/gss_release_buffer.c | 2 +- lib/libgssapi/gss_release_cred.c | 2 +- lib/libgssapi/gss_release_name.c | 2 +- lib/libgssapi/gss_release_oid_set.c | 2 +- lib/libgssapi/gss_seal.c | 2 +- lib/libgssapi/gss_sign.c | 2 +- lib/libgssapi/gss_test_oid_set_member.c | 2 +- lib/libgssapi/gss_unseal.c | 2 +- lib/libgssapi/gss_unwrap.c | 2 +- lib/libgssapi/gss_utils.c | 2 +- lib/libgssapi/gss_verify.c | 2 +- lib/libgssapi/gss_verify_mic.c | 2 +- lib/libgssapi/gss_wrap.c | 2 +- lib/libgssapi/gss_wrap_size_limit.c | 2 +- lib/libgssapi/mech_switch.h | 2 +- lib/libgssapi/name.h | 2 +- lib/libgssapi/spnego.h | 2 +- lib/libgssapi/utils.h | 2 +- lib/libiscsiutil/chap.c | 2 +- lib/libiscsiutil/connection.c | 2 +- lib/libiscsiutil/keys.c | 2 +- lib/libiscsiutil/libiscsiutil.h | 2 +- lib/libiscsiutil/log.c | 2 +- lib/libiscsiutil/pdu.c | 2 +- lib/libiscsiutil/text.c | 2 +- lib/libiscsiutil/utils.c | 2 +- lib/libjail/jail.c | 2 +- lib/libjail/jail.h | 2 +- lib/libjail/jail_getid.c | 2 +- lib/libkiconv/kiconv_sysctl.c | 2 +- lib/libkiconv/quirks.c | 2 +- lib/libkiconv/quirks.h | 2 +- lib/libkiconv/xlat16_iconv.c | 2 +- lib/libkvm/kvm_getswapinfo.c | 2 +- lib/libkvm/kvm_minidump_amd64.c | 2 +- lib/libkvm/kvm_minidump_arm.c | 2 +- lib/libkvm/kvm_minidump_i386.c | 2 +- lib/libkvm/kvm_minidump_mips.c | 2 +- lib/libkvm/kvm_powerpc64.h | 2 +- lib/libkvm/kvm_vnet.c | 2 +- lib/libmemstat/memstat.c | 2 +- lib/libmemstat/memstat.h | 2 +- lib/libmemstat/memstat_all.c | 2 +- lib/libmemstat/memstat_internal.h | 2 +- lib/libmemstat/memstat_malloc.c | 2 +- lib/libmemstat/memstat_uma.c | 2 +- lib/libmp/mpasbn.c | 2 +- lib/libnetbsd/rmd160.h | 2 +- lib/libnetbsd/sha1.h | 2 +- lib/libnetbsd/sha2.h | 2 +- lib/libnetbsd/util.c | 2 +- lib/libnetmap/libnetmap.h | 2 +- lib/libnetmap/nmctx-pthreads.c | 2 +- lib/libnetmap/nmctx.c | 2 +- lib/libnetmap/nmport.c | 2 +- lib/libnetmap/nmreq.c | 2 +- lib/libnv/common_impl.h | 2 +- lib/libnv/msgio.c | 2 +- lib/libnv/msgio.h | 2 +- lib/libpam/libpam/security/pam_mod_misc.h | 2 +- lib/libpam/modules/pam_ksu/pam_ksu.c | 2 +- lib/libpam/modules/pam_permit/pam_permit.c | 2 +- lib/libpjdlog/pjdlog.c | 2 +- lib/libpjdlog/pjdlog.h | 2 +- lib/libpmc/libpmc.c | 2 +- lib/libpmc/libpmc_json.cc | 2 +- lib/libpmc/libpmc_pmu_util.c | 2 +- lib/libpmc/libpmcinternal.h | 2 +- lib/libpmc/pmc.h | 2 +- lib/libpmc/pmcformat.h | 2 +- lib/libpmc/pmclog.c | 2 +- lib/libpmc/pmclog.h | 2 +- lib/libproc/_libproc.h | 2 +- lib/libproc/libproc.h | 2 +- lib/libproc/proc_bkpt.c | 2 +- lib/libproc/proc_create.c | 2 +- lib/libproc/proc_regs.c | 2 +- lib/libproc/proc_rtld.c | 2 +- lib/libproc/proc_sym.c | 2 +- lib/libproc/proc_util.c | 2 +- lib/libprocstat/common_kvm.h | 2 +- lib/libprocstat/core.c | 2 +- lib/libprocstat/core.h | 2 +- lib/libprocstat/libprocstat.h | 2 +- lib/libprocstat/libprocstat_internal.h | 2 +- lib/libprocstat/smbfs.c | 2 +- lib/libprocstat/udf.c | 2 +- lib/libprocstat/zfs.c | 2 +- lib/libprocstat/zfs_defs.c | 2 +- lib/libprocstat/zfs_defs.h | 2 +- lib/libradius/radlib.c | 2 +- lib/libradius/radlib.h | 2 +- lib/libradius/radlib_private.h | 2 +- lib/libradius/radlib_vs.h | 2 +- lib/libregex/tests/libregex_test.sh | 2 +- lib/librpcsec_gss/rpcsec_gss_conf.c | 2 +- lib/librpcsec_gss/rpcsec_gss_misc.c | 2 +- lib/librt/aio.c | 2 +- lib/librt/mq.c | 2 +- lib/librt/sigev_thread.c | 2 +- lib/librt/sigev_thread.h | 2 +- lib/librt/timer.c | 2 +- lib/librtld_db/rtld_db.c | 2 +- lib/librtld_db/rtld_db.h | 2 +- lib/libsdp/sdp-int.h | 2 +- lib/libsdp/sdp.h | 2 +- lib/libsdp/search.c | 2 +- lib/libsdp/service.c | 2 +- lib/libsdp/session.c | 2 +- lib/libsdp/util.c | 2 +- lib/libstdbuf/stdbuf.c | 2 +- lib/libstdthreads/call_once.c | 2 +- lib/libstdthreads/cnd.c | 2 +- lib/libstdthreads/mtx.c | 2 +- lib/libstdthreads/thrd.c | 2 +- lib/libstdthreads/threads.h | 2 +- lib/libstdthreads/tss.c | 2 +- lib/libsysdecode/tests/sysdecode_test.c | 2 +- lib/libtacplus/taclib.c | 2 +- lib/libtacplus/taclib.h | 2 +- lib/libtacplus/taclib_private.h | 2 +- lib/libthr/arch/aarch64/include/pthread_tls.h | 2 +- lib/libthr/arch/amd64/include/pthread_md.h | 2 +- lib/libthr/arch/amd64/include/pthread_tls.h | 2 +- lib/libthr/arch/arm/include/pthread_md.h | 2 +- lib/libthr/arch/arm/include/pthread_tls.h | 2 +- lib/libthr/arch/i386/include/pthread_md.h | 2 +- lib/libthr/arch/i386/include/pthread_tls.h | 2 +- lib/libthr/arch/mips/include/pthread_md.h | 2 +- lib/libthr/arch/mips/include/pthread_tls.h | 2 +- lib/libthr/arch/powerpc/include/pthread_tls.h | 2 +- lib/libthr/arch/powerpc/powerpc/_umtx_op_err.S | 2 +- lib/libthr/arch/riscv/include/pthread_tls.h | 2 +- lib/libthr/thread/thr_affinity.c | 2 +- lib/libthr/thread/thr_barrier.c | 2 +- lib/libthr/thread/thr_barrierattr.c | 2 +- lib/libthr/thread/thr_cancel.c | 2 +- lib/libthr/thread/thr_cond.c | 2 +- lib/libthr/thread/thr_create.c | 2 +- lib/libthr/thread/thr_detach.c | 2 +- lib/libthr/thread/thr_event.c | 2 +- lib/libthr/thread/thr_getcpuclockid.c | 2 +- lib/libthr/thread/thr_getthreadid_np.c | 2 +- lib/libthr/thread/thr_join.c | 2 +- lib/libthr/thread/thr_kern.c | 2 +- lib/libthr/thread/thr_list.c | 2 +- lib/libthr/thread/thr_main_np.c | 2 +- lib/libthr/thread/thr_malloc.c | 2 +- lib/libthr/thread/thr_once.c | 2 +- lib/libthr/thread/thr_printf.c | 2 +- lib/libthr/thread/thr_private.h | 2 +- lib/libthr/thread/thr_pspinlock.c | 2 +- lib/libthr/thread/thr_rtld.c | 2 +- lib/libthr/thread/thr_rwlock.c | 2 +- lib/libthr/thread/thr_rwlockattr.c | 2 +- lib/libthr/thread/thr_sem.c | 2 +- lib/libthr/thread/thr_sig.c | 2 +- lib/libthr/thread/thr_sleepq.c | 2 +- lib/libthr/thread/thr_stack.c | 2 +- lib/libthr/thread/thr_umtx.c | 2 +- lib/libthr/thread/thr_umtx.h | 2 +- lib/libthread_db/arch/amd64/libpthread_md.c | 2 +- lib/libthread_db/arch/arm/libpthread_md.c | 2 +- lib/libthread_db/arch/i386/libpthread_md.c | 2 +- lib/libthread_db/arch/powerpc/libpthread_md.c | 2 +- lib/libthread_db/kse.h | 2 +- lib/libthread_db/libpthread_db.c | 2 +- lib/libthread_db/libpthread_db.h | 2 +- lib/libthread_db/libthr_db.c | 2 +- lib/libthread_db/thread_db.c | 2 +- lib/libthread_db/thread_db.h | 2 +- lib/libthread_db/thread_db_int.h | 2 +- lib/libufs/block.c | 2 +- lib/libufs/cgroup.c | 2 +- lib/libufs/inode.c | 2 +- lib/libufs/libufs.h | 2 +- lib/libufs/sblock.c | 2 +- lib/libufs/type.c | 2 +- lib/libugidfw/ugidfw.c | 2 +- lib/libugidfw/ugidfw.h | 2 +- lib/libulog/ulog.h | 2 +- lib/libulog/ulog_login.c | 2 +- lib/libulog/ulog_login_pseudo.c | 2 +- lib/libulog/utempter.c | 2 +- lib/libulog/utempter.h | 2 +- lib/libusb/libusb.h | 2 +- lib/libusb/libusb01.c | 2 +- lib/libusb/libusb10.c | 2 +- lib/libusb/libusb10.h | 2 +- lib/libusb/libusb10_desc.c | 2 +- lib/libusb/libusb10_io.c | 2 +- lib/libusb/libusb20.c | 2 +- lib/libusb/libusb20.h | 2 +- lib/libusb/libusb20_desc.c | 2 +- lib/libusb/libusb20_desc.h | 2 +- lib/libusb/libusb20_int.h | 2 +- lib/libusb/libusb20_ugen20.c | 2 +- lib/libusb/libusb_global_linux.h | 2 +- lib/libusb/usb.h | 2 +- lib/libutil/auth.c | 2 +- lib/libutil/expand_number.c | 2 +- lib/libutil/flopen.c | 2 +- lib/libutil/getlocalbase.3 | 2 +- lib/libutil/gr_util.c | 2 +- lib/libutil/humanize_number.c | 2 +- lib/libutil/kinfo_getallproc.c | 2 +- lib/libutil/kinfo_getproc.c | 2 +- lib/libutil/kld.c | 2 +- lib/libutil/login_crypt.c | 2 +- lib/libutil/pidfile.c | 2 +- lib/libutil/property.c | 2 +- lib/libutil/quotafile.c | 2 +- lib/libutil/realhostname.c | 2 +- lib/libutil/stub.c | 2 +- lib/libutil/trimdomain.c | 2 +- lib/libvmmapi/vmmapi.c | 2 +- lib/libvmmapi/vmmapi.h | 2 +- lib/libvmmapi/vmmapi_freebsd.c | 2 +- lib/liby/yyerror.h | 2 +- lib/libypclnt/ypclnt_passwd.c | 2 +- lib/msun/amd64/fenv.c | 2 +- lib/msun/arm/fenv.c | 2 +- lib/msun/arm/fenv.h | 2 +- lib/msun/i387/fenv.c | 2 +- lib/msun/i387/invtrig.c | 2 +- lib/msun/ld128/invtrig.c | 2 +- lib/msun/ld128/invtrig.h | 2 +- lib/msun/ld128/k_expl.h | 2 +- lib/msun/ld128/s_cexpl.c | 2 +- lib/msun/ld128/s_exp2l.c | 2 +- lib/msun/ld128/s_expl.c | 2 +- lib/msun/ld128/s_logl.c | 2 +- lib/msun/ld128/s_nanl.c | 2 +- lib/msun/ld80/invtrig.c | 2 +- lib/msun/ld80/invtrig.h | 2 +- lib/msun/ld80/k_expl.h | 2 +- lib/msun/ld80/s_cexpl.c | 2 +- lib/msun/ld80/s_exp2l.c | 2 +- lib/msun/ld80/s_expl.c | 2 +- lib/msun/ld80/s_logl.c | 2 +- lib/msun/ld80/s_nanl.c | 2 +- lib/msun/mips/fenv.c | 2 +- lib/msun/mips/fenv.h | 2 +- lib/msun/powerpc/fenv.c | 2 +- lib/msun/powerpc/fenv.h | 2 +- lib/msun/src/catrig.c | 2 +- lib/msun/src/catrigf.c | 2 +- lib/msun/src/e_remainderl.c | 2 +- lib/msun/src/e_sqrtl.c | 2 +- lib/msun/src/fenv-softfloat.h | 2 +- lib/msun/src/imprecise.c | 2 +- lib/msun/src/k_exp.c | 2 +- lib/msun/src/k_expf.c | 2 +- lib/msun/src/s_carg.c | 2 +- lib/msun/src/s_cargf.c | 2 +- lib/msun/src/s_cargl.c | 2 +- lib/msun/src/s_ccosh.c | 2 +- lib/msun/src/s_ccoshf.c | 2 +- lib/msun/src/s_cexp.c | 2 +- lib/msun/src/s_cexpf.c | 2 +- lib/msun/src/s_cimag.c | 2 +- lib/msun/src/s_cimagf.c | 2 +- lib/msun/src/s_cimagl.c | 2 +- lib/msun/src/s_conj.c | 2 +- lib/msun/src/s_conjf.c | 2 +- lib/msun/src/s_conjl.c | 2 +- lib/msun/src/s_copysignl.c | 2 +- lib/msun/src/s_cosl.c | 2 +- lib/msun/src/s_cproj.c | 2 +- lib/msun/src/s_cprojf.c | 2 +- lib/msun/src/s_cprojl.c | 2 +- lib/msun/src/s_creal.c | 2 +- lib/msun/src/s_crealf.c | 2 +- lib/msun/src/s_creall.c | 2 +- lib/msun/src/s_csinh.c | 2 +- lib/msun/src/s_csinhf.c | 2 +- lib/msun/src/s_csqrt.c | 2 +- lib/msun/src/s_csqrtf.c | 2 +- lib/msun/src/s_csqrtl.c | 2 +- lib/msun/src/s_ctanh.c | 2 +- lib/msun/src/s_ctanhf.c | 2 +- lib/msun/src/s_exp2.c | 2 +- lib/msun/src/s_exp2f.c | 2 +- lib/msun/src/s_fdim.c | 2 +- lib/msun/src/s_fma.c | 2 +- lib/msun/src/s_fmaf.c | 2 +- lib/msun/src/s_fmal.c | 2 +- lib/msun/src/s_fmax.c | 2 +- lib/msun/src/s_fmaxf.c | 2 +- lib/msun/src/s_fmaxl.c | 2 +- lib/msun/src/s_fmin.c | 2 +- lib/msun/src/s_fminf.c | 2 +- lib/msun/src/s_fminl.c | 2 +- lib/msun/src/s_frexpl.c | 2 +- lib/msun/src/s_isfinite.c | 2 +- lib/msun/src/s_isnan.c | 2 +- lib/msun/src/s_isnormal.c | 2 +- lib/msun/src/s_lrint.c | 2 +- lib/msun/src/s_lround.c | 2 +- lib/msun/src/s_modfl.c | 2 +- lib/msun/src/s_nan.c | 2 +- lib/msun/src/s_nearbyint.c | 2 +- lib/msun/src/s_rintl.c | 2 +- lib/msun/src/s_round.c | 2 +- lib/msun/src/s_roundf.c | 2 +- lib/msun/src/s_roundl.c | 2 +- lib/msun/src/s_scalbln.c | 2 +- lib/msun/src/s_signbit.c | 2 +- lib/msun/src/s_sinl.c | 2 +- lib/msun/src/s_tanl.c | 2 +- lib/msun/src/s_tgammaf.c | 2 +- lib/msun/x86/fenv.h | 2 +- libexec/atrun/gloadavg.h | 2 +- libexec/phttpget/phttpget.c | 2 +- libexec/pppoed/pppoed.c | 2 +- libexec/rtld-elf/amd64/reloc.c | 2 +- libexec/rtld-elf/amd64/rtld_machdep.h | 2 +- libexec/rtld-elf/arm/rtld_machdep.h | 2 +- libexec/rtld-elf/debug.c | 2 +- libexec/rtld-elf/debug.h | 2 +- libexec/rtld-elf/i386/reloc.c | 2 +- libexec/rtld-elf/i386/rtld_machdep.h | 2 +- libexec/rtld-elf/map_object.c | 2 +- libexec/rtld-elf/mips/rtld_machdep.h | 2 +- libexec/rtld-elf/powerpc/rtld_machdep.h | 2 +- libexec/rtld-elf/powerpc64/rtld_machdep.h | 2 +- libexec/rtld-elf/rtld.c | 2 +- libexec/rtld-elf/rtld.h | 2 +- libexec/rtld-elf/rtld_lock.c | 2 +- libexec/rtld-elf/rtld_lock.h | 2 +- libexec/rtld-elf/rtld_malloc.h | 2 +- libexec/rtld-elf/rtld_printf.h | 2 +- libexec/rtld-elf/rtld_tls.h | 2 +- libexec/rtld-elf/tests/common.c | 2 +- libexec/rtld-elf/tests/common.h | 2 +- libexec/rtld-elf/tests/ld_preload_fds.c | 2 +- libexec/rtld-elf/xmalloc.c | 2 +- libexec/save-entropy/save-entropy.sh | 2 +- libexec/talkd/extern.h | 2 +- libexec/tftpd/tests/functional.c | 2 +- libexec/tftpd/tftp-file.c | 2 +- libexec/tftpd/tftp-file.h | 2 +- libexec/tftpd/tftp-io.c | 2 +- libexec/tftpd/tftp-io.h | 2 +- libexec/tftpd/tftp-options.c | 2 +- libexec/tftpd/tftp-options.h | 2 +- libexec/tftpd/tftp-transfer.c | 2 +- libexec/tftpd/tftp-transfer.h | 2 +- libexec/tftpd/tftp-utils.c | 2 +- libexec/tftpd/tftp-utils.h | 2 +- libexec/ulog-helper/ulog-helper.c | 2 +- sbin/adjkerntz/adjkerntz.c | 2 +- sbin/adjkerntz/pathnames.h | 2 +- sbin/bectl/bectl.8 | 2 +- sbin/bectl/bectl.c | 2 +- sbin/bectl/bectl.h | 2 +- sbin/bectl/bectl_jail.c | 2 +- sbin/bectl/bectl_list.c | 2 +- sbin/bectl/tests/bectl_test.sh | 2 +- sbin/camcontrol/fwdownload.c | 2 +- sbin/camcontrol/modeedit.c | 2 +- sbin/comcontrol/comcontrol.c | 2 +- sbin/conscontrol/conscontrol.c | 2 +- sbin/ddb/ddb.c | 2 +- sbin/ddb/ddb.h | 2 +- sbin/ddb/ddb_capture.c | 2 +- sbin/ddb/ddb_script.c | 2 +- sbin/devd/devd.cc | 2 +- sbin/devd/devd.h | 2 +- sbin/devd/devd.hh | 2 +- sbin/devd/parse.y | 2 +- sbin/devd/token.l | 2 +- sbin/devfs/devfs.c | 2 +- sbin/devfs/extern.h | 2 +- sbin/devfs/rule.c | 2 +- sbin/etherswitchcfg/etherswitchcfg.c | 2 +- sbin/fdisk/fdisk_mbr_enc.c | 2 +- sbin/fdisk/fdisk_mbr_enc.h | 2 +- sbin/fsck_ffs/fsck.h | 2 +- sbin/fsck_ffs/gjournal.c | 2 +- sbin/fsck_ffs/suj.c | 2 +- sbin/fsck_msdosfs/boot.c | 2 +- sbin/fsck_msdosfs/check.c | 2 +- sbin/fsck_msdosfs/dir.c | 2 +- sbin/fsck_msdosfs/dosfs.h | 2 +- sbin/fsck_msdosfs/ext.h | 2 +- sbin/fsirand/fsirand.c | 2 +- sbin/gbde/gbde.c | 2 +- sbin/geom/core/geom.c | 2 +- sbin/geom/core/geom.h | 2 +- sbin/geom/misc/subr.c | 2 +- sbin/geom/misc/subr.h | 2 +- sbin/ggate/ggatec/ggatec.c | 2 +- sbin/ggate/ggated/ggated.c | 2 +- sbin/ggate/ggatel/ggatel.c | 2 +- sbin/ggate/shared/ggate.c | 2 +- sbin/ggate/shared/ggate.h | 2 +- sbin/gvinum/gvinum.c | 2 +- sbin/hastctl/hastctl.c | 2 +- sbin/hastd/activemap.c | 2 +- sbin/hastd/activemap.h | 2 +- sbin/hastd/control.c | 2 +- sbin/hastd/control.h | 2 +- sbin/hastd/ebuf.c | 2 +- sbin/hastd/ebuf.h | 2 +- sbin/hastd/event.c | 2 +- sbin/hastd/event.h | 2 +- sbin/hastd/hast.h | 2 +- sbin/hastd/hast_checksum.c | 2 +- sbin/hastd/hast_checksum.h | 2 +- sbin/hastd/hast_compression.c | 2 +- sbin/hastd/hast_compression.h | 2 +- sbin/hastd/hast_proto.c | 2 +- sbin/hastd/hast_proto.h | 2 +- sbin/hastd/hastd.c | 2 +- sbin/hastd/hastd.h | 2 +- sbin/hastd/hooks.c | 2 +- sbin/hastd/hooks.h | 2 +- sbin/hastd/lzf.c | 2 +- sbin/hastd/lzf.h | 2 +- sbin/hastd/metadata.c | 2 +- sbin/hastd/metadata.h | 2 +- sbin/hastd/nv.c | 2 +- sbin/hastd/nv.h | 2 +- sbin/hastd/parse.y | 2 +- sbin/hastd/pjdlog.c | 2 +- sbin/hastd/pjdlog.h | 2 +- sbin/hastd/primary.c | 2 +- sbin/hastd/proto.c | 2 +- sbin/hastd/proto.h | 2 +- sbin/hastd/proto_common.c | 2 +- sbin/hastd/proto_impl.h | 2 +- sbin/hastd/proto_socketpair.c | 2 +- sbin/hastd/proto_tcp.c | 2 +- sbin/hastd/proto_uds.c | 2 +- sbin/hastd/rangelock.c | 2 +- sbin/hastd/rangelock.h | 2 +- sbin/hastd/refcnt.h | 2 +- sbin/hastd/secondary.c | 2 +- sbin/hastd/subr.c | 2 +- sbin/hastd/subr.h | 2 +- sbin/hastd/synch.h | 2 +- sbin/hastd/token.l | 2 +- sbin/ifconfig/af_nd6.c | 2 +- sbin/ifconfig/carp.c | 2 +- sbin/ifconfig/iffib.c | 2 +- sbin/ifconfig/ifgif.c | 2 +- sbin/ifconfig/ifgre.c | 2 +- sbin/ifconfig/ifgroup.c | 2 +- sbin/ifconfig/ifpfsync.c | 2 +- sbin/ipfw/nat64clat.c | 2 +- sbin/ipfw/nat64lsn.c | 2 +- sbin/ipfw/nat64stl.c | 2 +- sbin/iscontrol/auth_subr.c | 2 +- sbin/iscontrol/config.c | 2 +- sbin/iscontrol/fsm.c | 2 +- sbin/iscontrol/iscontrol.c | 2 +- sbin/iscontrol/iscontrol.h | 2 +- sbin/iscontrol/login.c | 2 +- sbin/iscontrol/misc.c | 2 +- sbin/iscontrol/pdu.c | 2 +- sbin/kldconfig/kldconfig.c | 2 +- sbin/kldload/kldload.c | 2 +- sbin/kldstat/kldstat.c | 2 +- sbin/kldunload/kldunload.c | 2 +- sbin/ldconfig/elfhints.c | 2 +- sbin/ldconfig/ldconfig.h | 2 +- sbin/mdconfig/mdconfig.c | 2 +- sbin/mdmfs/mdmfs.c | 2 +- sbin/mount/extern.h | 2 +- sbin/mount_fusefs/mount_fusefs.c | 2 +- sbin/newfs_msdos/newfs_msdos.c | 2 +- sbin/nos-tun/nos-tun.c | 2 +- sbin/nvmecontrol/comnd.c | 2 +- sbin/nvmecontrol/comnd.h | 2 +- sbin/nvmecontrol/devlist.c | 2 +- sbin/nvmecontrol/firmware.c | 2 +- sbin/nvmecontrol/format.c | 2 +- sbin/nvmecontrol/identify.c | 2 +- sbin/nvmecontrol/identify_ext.c | 2 +- sbin/nvmecontrol/logpage.c | 2 +- sbin/nvmecontrol/modules/intel/intel.c | 2 +- sbin/nvmecontrol/nc_util.c | 2 +- sbin/nvmecontrol/ns.c | 2 +- sbin/nvmecontrol/nsid.c | 2 +- sbin/nvmecontrol/nvmecontrol.c | 2 +- sbin/nvmecontrol/nvmecontrol.h | 2 +- sbin/nvmecontrol/nvmecontrol_ext.h | 2 +- sbin/nvmecontrol/passthru.c | 2 +- sbin/nvmecontrol/perftest.c | 2 +- sbin/nvmecontrol/reset.c | 2 +- sbin/nvmecontrol/resv.c | 2 +- sbin/nvmecontrol/sanitize.c | 2 +- sbin/nvmecontrol/selftest.c | 2 +- *** 65042 LINES SKIPPED *** From nobody Tue Jul 25 20:48:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Tdk5xmfz4nZJ6; Tue, 25 Jul 2023 20:48: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 4R9Tdk4bssz3kq5; Tue, 25 Jul 2023 20:48:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vuyIl0ffcvMo8OsGU8pNuUOjPs3wXgejbiqKZ8zp8fI=; b=aQQnaNJdhRgx/vE/3/qFyFcthX51CXoxu2hSw8t2y4soDXmThyw/dfIxmCkqY8EHHO6nCN JsFBTUyNvzIqNDPJM4wz7i2pjv7sXVTjVfq+l74JGLoZoyQND+VbcphrnUI5HKhO423HXk sAL+dkWaY/X+WewnnqqJTY9Q2ZhU3sa0QFekC1lFhxzeoOVcabFynVPpvy7nGbVVJPND27 xCaicq77ta8BaeMtgAOkYz6aScvHUSrTxGKZj2/raLyF629le2UhbIVcdObGS4CabDnXtM MF9LmcNuNciNU8wr/CmEDhvplkomygWNBaWUrveXmlhiGJ9HjpzuVsTF228Omw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vuyIl0ffcvMo8OsGU8pNuUOjPs3wXgejbiqKZ8zp8fI=; b=c3C1ANuTMKf2p5XBPRiq0W7cZhut7jlXM+ICghiZ70IYv9pUwsbFbDh0FjDPOjHwXPhd51 V0y1ASlSzDhJTDdfN1ZKGi4CtaOPlOV//0TgwCrDLBTYbvJ1xXYrSCTDvydCR97WCYqoys d3Pgk8FGve5rrGUJoZHJg6QpNKJHqfQHCkDUoKAynew6IcxoLt/7SacUdaDgdJUjeYRnyp VVvzo/WQF+gy8nlzHT2qeH1E2+vtHdTB23IW4Ay+1Tb8eXLmgaXsjO5F8eCKEY3jfZntzJ wHuNXGuOy9N8ocBY2A7K020B2gt1CZQP+ouDjRKwpCuuxxW2sENUItkUPxWMjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690318122; a=rsa-sha256; cv=none; b=eYkRnDBx0cjseZCsrJzLt9viSYMONyvcdI2vZWuW3TtRSHDlky+RLxeoEopZfiHXS70fKw MTHW+YCYo92nhcGkXaSPzruGYxvY2P3pxhTnITdvUkD6kAp1sjOL0n+ObsK2IoA7i40spA 8ZtTgs3cDmKOBRNyxd3C5X0jYsUiDxmyrRLkJhGocH9vkwMQXZf8bRzN9ru51RkVRGTJi+ AVsX6rku5I781v17a8Q6A+LYQSKSE6Y9weYc2rw/97eS0MQ+GE7FhQLYFRBE7ja+jPOEzg folujwx9qHZlnDWRgp112V9rM7b0CARvOezLRZl0op2LT1rXPrB8rsPEgeS6FA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Tdk28yRzFxT; Tue, 25 Jul 2023 20:48: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 36PKmgFB063620; Tue, 25 Jul 2023 20:48:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PKmg23063619; Tue, 25 Jul 2023 20:48:42 GMT (envelope-from git) Date: Tue, 25 Jul 2023 20:48:42 GMT Message-Id: <202307252048.36PKmg23063619@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: c114c5aee5d0 - stable/13 - spdx: Remove duplicate lines List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c114c5aee5d0b71d08dfc949dba2e2a9298190c4 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c114c5aee5d0b71d08dfc949dba2e2a9298190c4 commit c114c5aee5d0b71d08dfc949dba2e2a9298190c4 Author: Warner Losh AuthorDate: 2023-05-10 22:42:54 +0000 Commit: Warner Losh CommitDate: 2023-07-25 15:14:23 +0000 spdx: Remove duplicate lines Remove duplicated SPDX lines. Sponsored by: Netflix (cherry picked from commit c87658aa7d1fe09d3839b9ad1d6a9c0fef5afd94) --- sys/dev/qlxge/qls_isr.c | 2 -- sys/xen/xenbus/xenbusb.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/sys/dev/qlxge/qls_isr.c b/sys/dev/qlxge/qls_isr.c index f8fc84680997..9778fecc4218 100644 --- a/sys/dev/qlxge/qls_isr.c +++ b/sys/dev/qlxge/qls_isr.c @@ -1,6 +1,4 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause - * * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2013-2014 Qlogic Corporation diff --git a/sys/xen/xenbus/xenbusb.h b/sys/xen/xenbus/xenbusb.h index 12f5201f70eb..f59af62a7c2c 100644 --- a/sys/xen/xenbus/xenbusb.h +++ b/sys/xen/xenbus/xenbusb.h @@ -1,6 +1,4 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause - * * Core definitions and data structures shareable across OS platforms. * * SPDX-License-Identifier: BSD-2-Clause From nobody Tue Jul 25 20:48:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Tdm0g55z4nZCX; Tue, 25 Jul 2023 20:48: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 4R9Tdl5SZ3z3khy; Tue, 25 Jul 2023 20:48:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5wZs1ZnCCPCVtXX95JJ2h0Kn+rPE/0/ByZb3AJOaVF8=; b=v0U83A+7a4HEgk+G4KmbuUFTZyBiYQlGKPAp5wsejUbfIRCBNciVoHnupoRCRgjnk7o3qR xFCuAvksMD6lk6PLz40u2KgGoJWdRxylVKYTki4JP9276SBCFW0HADY01tXl4WAOxOLfi2 HFi9yMYcO3hmvjIjnOH4MhwAfLcVv3nlJLm+5eOypWe5cI7X4VhaFfg8zcAfjdKL6Q31Sy 9Kr4sK1D4nbeUuHDQ9Prp4Ejn40iFeR5OHM/ILPHRfjLxPQ5qmZlAnAZzDoL3kR1SIxeb5 sE7X+MUXzjKtKunS3NHZsdtigvmcMmxslGyAixR09L9Rb/xp7d0tI9gDkUUCpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5wZs1ZnCCPCVtXX95JJ2h0Kn+rPE/0/ByZb3AJOaVF8=; b=NMAj7ETW0K0jdpm43JSMfnCz9QeK0V/qqk7VipcDSSAgVUpCXl08yFr4C8ABBKs3YX6nC2 PbZEgyGjztmDxnWF8iGeHECrdsdY8TZ2RYPUWv3Q+bvKM0KNljrt4qcxfHE4M5/t/6ihJE De3iHmjztgDnPem5gG4XeSE7tffLIVrMenyNOqPNlhU4OnMwF2fY3gWY5KDSVfi5jZbRxh Ok9h2TbWo+hKcjwxN7ac9TQ23kjh5jmL+veWGvr3tpUfWl4Wd1gu0NftVY7m9RTcX3HklD 2OZ4Qk0crF7LzqNjN7PhmDOdy6HRIls6jE92yJHu8Y+H5Bv6R7YD/worvZ7vPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690318123; a=rsa-sha256; cv=none; b=j0o8/OUIu5mAIGcZrCFSrOxjPjCxDz+Xr5WTXbiCVHwVDJ+YTUJei99o8Q4lYACSLWVjZ8 oOe4bRkVfSKDHPVskIE4wmfdV71Rwmg2iM5up1/YQPAFh8PlLX4pbotDTnP/Za8UTiXVcm WhNN5rDsMgMsrXFtHF/rUdek0n0vrm3XlcY5wmVtxZe79luadONEDY3Dh/V5K4mbX8/hpm 1P22IJ78w79YcdsHRHsICmIZvZyYVpS+sHh8LNpfR4Xi13zX32Kpkgr1FbuhLcLlcERn8M z3luxWUMFRP19cjGTsrMV4TQCS0o+vje7NYxnqpUqnp08ggUVriH+pcFqIL5Aw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Tdl3bt5zFG2; Tue, 25 Jul 2023 20:48: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 36PKmh6x063639; Tue, 25 Jul 2023 20:48:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PKmh50063638; Tue, 25 Jul 2023 20:48:43 GMT (envelope-from git) Date: Tue, 25 Jul 2023 20:48:43 GMT Message-Id: <202307252048.36PKmh50063638@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: f73b4bf27cf5 - stable/13 - spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f73b4bf27cf50bcd9224b6011197886f4c494f78 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f73b4bf27cf50bcd9224b6011197886f4c494f78 commit f73b4bf27cf50bcd9224b6011197886f4c494f78 Author: Warner Losh AuthorDate: 2023-05-10 15:40:58 +0000 Commit: Warner Losh CommitDate: 2023-07-25 15:15:32 +0000 spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit b61a573019428cbdc38ed03be9ecd2482011ea66) --- bin/pkill/pkill.c | 2 +- include/getopt.h | 2 +- include/hesiod.h | 2 +- include/netconfig.h | 2 +- include/nl_types.h | 2 +- include/nsswitch.h | 2 +- include/stringlist.h | 2 +- include/wchar.h | 2 +- lib/libc/arm/gen/arm_initfini.c | 2 +- lib/libc/arm/gen/makecontext.c | 2 +- lib/libc/gen/fmtcheck.c | 2 +- lib/libc/gen/lockf.c | 2 +- lib/libc/mips/gen/makecontext.c | 2 +- lib/libc/net/nsdispatch.c | 2 +- lib/libc/net/nslexer.l | 2 +- lib/libc/net/nsparser.y | 2 +- lib/libc/powerpc/gen/fpgetmask.c | 2 +- lib/libc/powerpc/gen/fpgetround.c | 2 +- lib/libc/powerpc/gen/fpgetsticky.c | 2 +- lib/libc/powerpc/gen/fpsetmask.c | 2 +- lib/libc/powerpc/gen/fpsetround.c | 2 +- lib/libc/powerpc64/gen/flt_rounds.c | 2 +- lib/libc/powerpc64/gen/fpgetmask.c | 2 +- lib/libc/powerpc64/gen/fpgetround.c | 2 +- lib/libc/powerpc64/gen/fpgetsticky.c | 2 +- lib/libc/powerpc64/gen/fpsetmask.c | 2 +- lib/libc/softfloat/fpgetmask.c | 2 +- lib/libc/softfloat/fpgetround.c | 2 +- lib/libc/softfloat/fpgetsticky.c | 2 +- lib/libc/softfloat/fpsetmask.c | 2 +- lib/libc/softfloat/fpsetround.c | 2 +- lib/libc/softfloat/fpsetsticky.c | 2 +- lib/libnetbsd/stdlib.h | 2 +- lib/libnetbsd/strsuftoll.c | 2 +- lib/libusbhid/data.c | 2 +- lib/libusbhid/descr.c | 2 +- lib/libusbhid/descr_compat.c | 2 +- lib/libusbhid/parse.c | 2 +- lib/libusbhid/usage.c | 2 +- lib/libusbhid/usbhid.h | 2 +- lib/libusbhid/usbvar.h | 2 +- libexec/rpc.sprayd/sprayd.c | 2 +- libexec/rtld-elf/powerpc/reloc.c | 2 +- libexec/rtld-elf/powerpc64/reloc.c | 2 +- sbin/camcontrol/camcontrol.h | 2 +- sbin/camcontrol/progress.c | 2 +- sbin/camcontrol/progress.h | 2 +- sbin/ccdconfig/pathnames.h | 2 +- share/examples/kld/dyn_sysctl/dyn_sysctl.c | 2 +- share/examples/kld/firmware/fwconsumer/fw_consumer.c | 2 +- sys/arm/include/_inttypes.h | 2 +- sys/arm/include/_stdint.h | 2 +- sys/arm/include/bus_dma.h | 2 +- sys/arm/include/ucontext.h | 2 +- sys/compat/linux/linux_getcwd.c | 2 +- sys/compat/linux/linux_time.c | 2 +- sys/dev/bhnd/cores/usb/bhnd_ohci.c | 2 +- sys/dev/esp/am53c974reg.h | 2 +- sys/dev/esp/esp_pci.c | 2 +- sys/dev/esp/ncr53c9xvar.h | 2 +- sys/dev/fxp/if_fxp.c | 2 +- sys/dev/fxp/if_fxpreg.h | 2 +- sys/dev/gem/if_gem.c | 2 +- sys/dev/gem/if_gem_pci.c | 2 +- sys/dev/gem/if_gemreg.h | 2 +- sys/dev/gem/if_gemvar.h | 2 +- sys/dev/hid/hid.c | 2 +- sys/dev/hid/hid.h | 2 +- sys/dev/hid/hidquirk.c | 2 +- sys/dev/hid/hidraw.c | 2 +- sys/dev/hid/hkbd.c | 2 +- sys/dev/iicbus/s35390a.c | 2 +- sys/dev/le/am7990.c | 2 +- sys/dev/le/am79900.c | 2 +- sys/dev/le/am79900reg.h | 2 +- sys/dev/le/am79900var.h | 2 +- sys/dev/le/am7990var.h | 2 +- sys/dev/le/if_le_isa.c | 2 +- sys/dev/le/if_le_pci.c | 2 +- sys/dev/le/lance.c | 2 +- sys/dev/le/lancereg.h | 2 +- sys/dev/le/lancevar.h | 2 +- sys/dev/mii/acphy.c | 2 +- sys/dev/mii/bmtphy.c | 2 +- sys/dev/mii/bmtphyreg.h | 2 +- sys/dev/mii/e1000phy.c | 2 +- sys/dev/mii/gentbi.c | 2 +- sys/dev/mii/icsphy.c | 2 +- sys/dev/mii/icsphyreg.h | 2 +- sys/dev/mii/lxtphy.c | 2 +- sys/dev/mii/lxtphyreg.h | 2 +- sys/dev/mii/mii.c | 2 +- sys/dev/mii/mii_bitbang.c | 2 +- sys/dev/mii/mii_bitbang.h | 2 +- sys/dev/mii/mii_physubr.c | 2 +- sys/dev/mii/miivar.h | 2 +- sys/dev/mii/nsphy.c | 2 +- sys/dev/mii/nsphyreg.h | 2 +- sys/dev/mii/nsphyter.c | 2 +- sys/dev/mii/nsphyterreg.h | 2 +- sys/dev/mii/qsphy.c | 2 +- sys/dev/mii/qsphyreg.h | 2 +- sys/dev/mii/ukphy.c | 2 +- sys/dev/mii/ukphy_subr.c | 2 +- sys/dev/ofw/ofw_pci.h | 2 +- sys/dev/qat/qat.c | 2 +- sys/dev/qat/qat_ae.c | 2 +- sys/dev/qat/qat_aevar.h | 2 +- sys/dev/qat/qat_c2xxx.c | 2 +- sys/dev/qat/qat_c2xxxreg.h | 2 +- sys/dev/qat/qat_c3xxx.c | 2 +- sys/dev/qat/qat_c3xxxreg.h | 2 +- sys/dev/qat/qat_c62x.c | 2 +- sys/dev/qat/qat_c62xreg.h | 2 +- sys/dev/qat/qat_d15xx.c | 2 +- sys/dev/qat/qat_d15xxreg.h | 2 +- sys/dev/qat/qat_dh895xccreg.h | 2 +- sys/dev/qat/qat_hw15.c | 2 +- sys/dev/qat/qat_hw15reg.h | 2 +- sys/dev/qat/qat_hw15var.h | 2 +- sys/dev/qat/qat_hw17.c | 2 +- sys/dev/qat/qat_hw17reg.h | 2 +- sys/dev/qat/qat_hw17var.h | 2 +- sys/dev/qat/qatreg.h | 2 +- sys/dev/qat/qatvar.h | 2 +- sys/dev/sound/midi/midi.c | 2 +- sys/dev/sound/pci/cmireg.h | 2 +- sys/dev/sound/pci/via82c686.h | 2 +- sys/dev/sound/usb/uaudio.c | 2 +- sys/dev/sound/usb/uaudioreg.h | 2 +- sys/dev/stge/if_stge.c | 2 +- sys/dev/stge/if_stgereg.h | 2 +- sys/dev/usb/controller/ehci.h | 2 +- sys/dev/usb/controller/ehci_pci.c | 2 +- sys/dev/usb/controller/ehcireg.h | 2 +- sys/dev/usb/controller/ohci.h | 2 +- sys/dev/usb/controller/ohci_pci.c | 2 +- sys/dev/usb/input/uhid.c | 2 +- sys/dev/usb/input/ukbd.c | 2 +- sys/dev/usb/input/usbhid.c | 2 +- sys/dev/usb/quirk/usb_quirk.c | 2 +- sys/dev/usb/serial/ubsa.c | 2 +- sys/dev/usb/serial/ubser.c | 2 +- sys/dev/usb/serial/uchcom.c | 2 +- sys/dev/usb/serial/ufoma.c | 2 +- sys/dev/usb/serial/uftdi.c | 2 +- sys/dev/usb/serial/ugensa.c | 2 +- sys/dev/usb/serial/uipaq.c | 2 +- sys/dev/usb/serial/ulpt.c | 2 +- sys/dev/usb/serial/umodem.c | 2 +- sys/dev/usb/serial/uplcom.c | 2 +- sys/dev/usb/serial/usb_serial.c | 2 +- sys/dev/usb/serial/usb_serial.h | 2 +- sys/dev/usb/serial/uvisor.c | 2 +- sys/dev/usb/usb.h | 2 +- sys/dev/usb/usb_cdc.h | 2 +- sys/dev/usb/usb_hid.c | 2 +- sys/dev/usb/usb_hub.c | 2 +- sys/dev/usb/usb_hub_acpi.c | 2 +- sys/dev/usb/usb_hub_private.h | 2 +- sys/dev/usb/usbhid.h | 2 +- sys/dev/xl/xlphy.c | 2 +- sys/fs/tmpfs/tmpfs.h | 2 +- sys/fs/tmpfs/tmpfs_fifoops.c | 2 +- sys/fs/tmpfs/tmpfs_fifoops.h | 2 +- sys/fs/tmpfs/tmpfs_subr.c | 2 +- sys/fs/tmpfs/tmpfs_vfsops.c | 2 +- sys/fs/tmpfs/tmpfs_vnops.c | 2 +- sys/fs/tmpfs/tmpfs_vnops.h | 2 +- sys/geom/geom_ccd.c | 2 +- sys/mips/cavium/octopci_bus_space.c | 2 +- sys/mips/include/_inttypes.h | 2 +- sys/mips/include/bus.h | 2 +- sys/mips/include/elf.h | 2 +- sys/mips/malta/gt_pci_bus_space.h | 2 +- sys/mips/malta/gtreg.h | 2 +- sys/mips/mips/bus_space_generic.c | 2 +- sys/mips/mips/gdb_machdep.c | 2 +- sys/net/bridgestp.c | 2 +- sys/net/ieee8023ad_lacp.c | 2 +- sys/net/ieee8023ad_lacp.h | 2 +- sys/netinet/ip_gre.c | 2 +- sys/powerpc/fpu/fpu_extern.h | 2 +- sys/powerpc/include/bat.h | 2 +- sys/powerpc/include/bus.h | 2 +- sys/sys/bus_dma.h | 2 +- sys/tools/miidevs2h.awk | 2 +- sys/tools/pccarddevs2h.awk | 2 +- sys/x86/include/_inttypes.h | 2 +- sys/x86/include/bus.h | 2 +- sys/x86/xen/pv.c | 2 +- usr.bin/gencat/gencat.c | 2 +- usr.bin/gzip/gzip.c | 2 +- usr.bin/gzip/unbzip2.c | 2 +- usr.bin/gzip/unxz.c | 2 +- usr.bin/nl/nl.c | 2 +- usr.bin/seq/seq.c | 2 +- usr.bin/stat/stat.c | 2 +- usr.bin/usbhidaction/usbhidaction.c | 2 +- usr.bin/usbhidctl/usbhid.c | 2 +- usr.bin/ypcat/ypcat.c | 2 +- usr.bin/ypmatch/ypmatch.c | 2 +- usr.bin/ypwhich/ypwhich.c | 2 +- usr.sbin/bluetooth/btpand/bnep.c | 2 +- usr.sbin/bluetooth/btpand/bnep.h | 2 +- usr.sbin/bluetooth/btpand/btpand.c | 2 +- usr.sbin/bluetooth/btpand/btpand.h | 2 +- usr.sbin/bluetooth/btpand/channel.c | 2 +- usr.sbin/bluetooth/btpand/packet.c | 2 +- usr.sbin/bluetooth/btpand/sdp.c | 2 +- usr.sbin/bluetooth/btpand/sdp.h | 2 +- usr.sbin/bluetooth/btpand/server.c | 2 +- usr.sbin/bluetooth/btpand/tap.c | 2 +- usr.sbin/makefs/cd9660.c | 2 +- usr.sbin/makefs/cd9660.h | 2 +- usr.sbin/makefs/cd9660/cd9660_conversion.c | 2 +- usr.sbin/makefs/cd9660/cd9660_debug.c | 2 +- usr.sbin/makefs/cd9660/cd9660_eltorito.c | 2 +- usr.sbin/makefs/cd9660/cd9660_eltorito.h | 2 +- usr.sbin/makefs/cd9660/cd9660_strings.c | 2 +- usr.sbin/makefs/cd9660/cd9660_write.c | 2 +- usr.sbin/makefs/cd9660/iso9660_rrip.c | 2 +- usr.sbin/makefs/cd9660/iso9660_rrip.h | 2 +- usr.sbin/makefs/ffs/ffs_bswap.c | 2 +- usr.sbin/makefs/ffs/newfs_extern.h | 2 +- usr.sbin/makefs/ffs/ufs_bswap.h | 2 +- usr.sbin/rpcbind/util.c | 2 +- usr.sbin/services_mkdb/extern.h | 2 +- usr.sbin/services_mkdb/services_mkdb.c | 2 +- usr.sbin/services_mkdb/uniq.c | 2 +- usr.sbin/ypset/ypset.c | 2 +- 231 files changed, 231 insertions(+), 231 deletions(-) diff --git a/bin/pkill/pkill.c b/bin/pkill/pkill.c index 6d8f29147a04..93349ecdafee 100644 --- a/bin/pkill/pkill.c +++ b/bin/pkill/pkill.c @@ -1,7 +1,7 @@ /* $NetBSD: pkill.c,v 1.16 2005/10/10 22:13:20 kleink Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2002 The NetBSD Foundation, Inc. * Copyright (c) 2005 Pawel Jakub Dawidek diff --git a/include/getopt.h b/include/getopt.h index 789b4d1d434c..4c0399db8545 100644 --- a/include/getopt.h +++ b/include/getopt.h @@ -2,7 +2,7 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/include/hesiod.h b/include/hesiod.h index e8c38d84dccb..a06b69d32413 100644 --- a/include/hesiod.h +++ b/include/hesiod.h @@ -3,7 +3,7 @@ /*- - * SPDX-License-Identifier: (BSD-2-Clause-NetBSD AND ISC) + * SPDX-License-Identifier: (BSD-2-Clause AND ISC) * * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/include/netconfig.h b/include/netconfig.h index b459e2ee0bf2..c4aec6a3e791 100644 --- a/include/netconfig.h +++ b/include/netconfig.h @@ -2,7 +2,7 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2004 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/include/nl_types.h b/include/nl_types.h index bf88144aefd4..c07352e24096 100644 --- a/include/nl_types.h +++ b/include/nl_types.h @@ -1,7 +1,7 @@ /* $NetBSD: nl_types.h,v 1.9 2000/10/03 19:53:32 sommerfeld Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1996 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/include/nsswitch.h b/include/nsswitch.h index 2be7a59fd1b9..e44a9e4a44a3 100644 --- a/include/nsswitch.h +++ b/include/nsswitch.h @@ -2,7 +2,7 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/include/stringlist.h b/include/stringlist.h index b570e631b526..a5177e235a5d 100644 --- a/include/stringlist.h +++ b/include/stringlist.h @@ -1,7 +1,7 @@ /* $NetBSD: stringlist.h,v 1.2 1997/01/17 06:11:36 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1994 Christos Zoulas * All rights reserved. diff --git a/include/wchar.h b/include/wchar.h index 78f2f010048f..147efb4dbf86 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: (BSD-2-Clause AND BSD-2-Clause-NetBSD) + * SPDX-License-Identifier: (BSD-2-Clause AND BSD-2-Clause) * * Copyright (c)1999 Citrus Project, * All rights reserved. diff --git a/lib/libc/arm/gen/arm_initfini.c b/lib/libc/arm/gen/arm_initfini.c index 4dabe6743c9f..a54646eb7907 100644 --- a/lib/libc/arm/gen/arm_initfini.c +++ b/lib/libc/arm/gen/arm_initfini.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2013 The NetBSD Foundation, Inc. * Copyright (c) 2013 Andrew Turner diff --git a/lib/libc/arm/gen/makecontext.c b/lib/libc/arm/gen/makecontext.c index 421cf0dd3ed2..ad3f97184fd0 100644 --- a/lib/libc/arm/gen/makecontext.c +++ b/lib/libc/arm/gen/makecontext.c @@ -1,7 +1,7 @@ /* $NetBSD: makecontext.c,v 1.2 2003/01/18 11:06:24 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/gen/fmtcheck.c b/lib/libc/gen/fmtcheck.c index a772f50e51c8..42809bb04c58 100644 --- a/lib/libc/gen/fmtcheck.c +++ b/lib/libc/gen/fmtcheck.c @@ -1,7 +1,7 @@ /* $NetBSD: fmtcheck.c,v 1.8 2008/04/28 20:22:59 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/gen/lockf.c b/lib/libc/gen/lockf.c index 20f016dd1694..85110387fbe3 100644 --- a/lib/libc/gen/lockf.c +++ b/lib/libc/gen/lockf.c @@ -1,6 +1,6 @@ /* $NetBSD: lockf.c,v 1.3 2008/04/28 20:22:59 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/mips/gen/makecontext.c b/lib/libc/mips/gen/makecontext.c index 7d3e647b4d09..ce964d050866 100644 --- a/lib/libc/mips/gen/makecontext.c +++ b/lib/libc/mips/gen/makecontext.c @@ -1,7 +1,7 @@ /* $NetBSD: makecontext.c,v 1.5 2009/12/14 01:07:42 matt Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/net/nsdispatch.c b/lib/libc/net/nsdispatch.c index ada7ac606e15..d2d9f08b6efa 100644 --- a/lib/libc/net/nsdispatch.c +++ b/lib/libc/net/nsdispatch.c @@ -1,7 +1,7 @@ /* $NetBSD: nsdispatch.c,v 1.9 1999/01/25 00:16:17 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/net/nslexer.l b/lib/libc/net/nslexer.l index 946aace3a8a8..bd3c02dcacf4 100644 --- a/lib/libc/net/nslexer.l +++ b/lib/libc/net/nslexer.l @@ -2,7 +2,7 @@ /* $NetBSD: nslexer.l,v 1.3 1999/01/25 00:16:17 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/net/nsparser.y b/lib/libc/net/nsparser.y index 6e90fc73d8c9..b05b30d26bd0 100644 --- a/lib/libc/net/nsparser.y +++ b/lib/libc/net/nsparser.y @@ -2,7 +2,7 @@ /* $NetBSD: nsparser.y,v 1.3 1999/01/25 00:16:18 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc/gen/fpgetmask.c b/lib/libc/powerpc/gen/fpgetmask.c index b8c813e8bb84..76820e6807d7 100644 --- a/lib/libc/powerpc/gen/fpgetmask.c +++ b/lib/libc/powerpc/gen/fpgetmask.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetmask.c,v 1.3 2002/01/13 21:45:47 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc/gen/fpgetround.c b/lib/libc/powerpc/gen/fpgetround.c index 062a565cc570..b40016447246 100644 --- a/lib/libc/powerpc/gen/fpgetround.c +++ b/lib/libc/powerpc/gen/fpgetround.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetround.c,v 1.3 2002/01/13 21:45:47 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc/gen/fpgetsticky.c b/lib/libc/powerpc/gen/fpgetsticky.c index e556123251ec..0c25a270f27e 100644 --- a/lib/libc/powerpc/gen/fpgetsticky.c +++ b/lib/libc/powerpc/gen/fpgetsticky.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetsticky.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc/gen/fpsetmask.c b/lib/libc/powerpc/gen/fpsetmask.c index f5d52eec5482..36c46f12dcd9 100644 --- a/lib/libc/powerpc/gen/fpsetmask.c +++ b/lib/libc/powerpc/gen/fpsetmask.c @@ -1,7 +1,7 @@ /* $NetBSD: fpsetmask.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc/gen/fpsetround.c b/lib/libc/powerpc/gen/fpsetround.c index d1cc134760a5..9a1956113c85 100644 --- a/lib/libc/powerpc/gen/fpsetround.c +++ b/lib/libc/powerpc/gen/fpsetround.c @@ -1,7 +1,7 @@ /* $NetBSD: fpsetround.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc64/gen/flt_rounds.c b/lib/libc/powerpc64/gen/flt_rounds.c index 39af35c77e1c..885942a1389a 100644 --- a/lib/libc/powerpc64/gen/flt_rounds.c +++ b/lib/libc/powerpc64/gen/flt_rounds.c @@ -1,7 +1,7 @@ /* $NetBSD: flt_rounds.c,v 1.4.10.3 2002/03/22 20:41:53 nathanw Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1996 Mark Brinicombe * All rights reserved. diff --git a/lib/libc/powerpc64/gen/fpgetmask.c b/lib/libc/powerpc64/gen/fpgetmask.c index b8c813e8bb84..76820e6807d7 100644 --- a/lib/libc/powerpc64/gen/fpgetmask.c +++ b/lib/libc/powerpc64/gen/fpgetmask.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetmask.c,v 1.3 2002/01/13 21:45:47 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc64/gen/fpgetround.c b/lib/libc/powerpc64/gen/fpgetround.c index 062a565cc570..b40016447246 100644 --- a/lib/libc/powerpc64/gen/fpgetround.c +++ b/lib/libc/powerpc64/gen/fpgetround.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetround.c,v 1.3 2002/01/13 21:45:47 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc64/gen/fpgetsticky.c b/lib/libc/powerpc64/gen/fpgetsticky.c index e556123251ec..0c25a270f27e 100644 --- a/lib/libc/powerpc64/gen/fpgetsticky.c +++ b/lib/libc/powerpc64/gen/fpgetsticky.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetsticky.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/powerpc64/gen/fpsetmask.c b/lib/libc/powerpc64/gen/fpsetmask.c index f5d52eec5482..36c46f12dcd9 100644 --- a/lib/libc/powerpc64/gen/fpsetmask.c +++ b/lib/libc/powerpc64/gen/fpsetmask.c @@ -1,7 +1,7 @@ /* $NetBSD: fpsetmask.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/softfloat/fpgetmask.c b/lib/libc/softfloat/fpgetmask.c index 2fe4c12c589d..71ea2ac99621 100644 --- a/lib/libc/softfloat/fpgetmask.c +++ b/lib/libc/softfloat/fpgetmask.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/softfloat/fpgetround.c b/lib/libc/softfloat/fpgetround.c index 0f15f2ae4517..c5bc6f9b6735 100644 --- a/lib/libc/softfloat/fpgetround.c +++ b/lib/libc/softfloat/fpgetround.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetround.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/softfloat/fpgetsticky.c b/lib/libc/softfloat/fpgetsticky.c index 8ac7b90e9647..349657e25eb3 100644 --- a/lib/libc/softfloat/fpgetsticky.c +++ b/lib/libc/softfloat/fpgetsticky.c @@ -1,7 +1,7 @@ /* $NetBSD: fpgetsticky.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/softfloat/fpsetmask.c b/lib/libc/softfloat/fpsetmask.c index afbe64b2ee7f..42025e1de3c3 100644 --- a/lib/libc/softfloat/fpsetmask.c +++ b/lib/libc/softfloat/fpsetmask.c @@ -1,7 +1,7 @@ /* $NetBSD: fpsetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/softfloat/fpsetround.c b/lib/libc/softfloat/fpsetround.c index 54df295000a4..8305e4302e2d 100644 --- a/lib/libc/softfloat/fpsetround.c +++ b/lib/libc/softfloat/fpsetround.c @@ -1,7 +1,7 @@ /* $NetBSD: fpsetround.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libc/softfloat/fpsetsticky.c b/lib/libc/softfloat/fpsetsticky.c index 33c17120d33d..b71475096d10 100644 --- a/lib/libc/softfloat/fpsetsticky.c +++ b/lib/libc/softfloat/fpsetsticky.c @@ -1,7 +1,7 @@ /* $NetBSD: fpsetsticky.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libnetbsd/stdlib.h b/lib/libnetbsd/stdlib.h index b7bb875740d5..1ccc18b3ec49 100644 --- a/lib/libnetbsd/stdlib.h +++ b/lib/libnetbsd/stdlib.h @@ -1,7 +1,7 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2012 SRI International * Copyright (c) 2001-2002,2004 The NetBSD Foundation, Inc. diff --git a/lib/libnetbsd/strsuftoll.c b/lib/libnetbsd/strsuftoll.c index 078bee0ace58..5b2d0978c083 100644 --- a/lib/libnetbsd/strsuftoll.c +++ b/lib/libnetbsd/strsuftoll.c @@ -1,6 +1,6 @@ /* $NetBSD: strsuftoll.c,v 1.6 2004/03/05 05:58:29 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001-2002,2004 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/lib/libusbhid/data.c b/lib/libusbhid/data.c index cad320562eee..944edbb60d64 100644 --- a/lib/libusbhid/data.c +++ b/lib/libusbhid/data.c @@ -1,7 +1,7 @@ /* $NetBSD: data.c,v 1.8 2000/04/02 11:10:53 augustss Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 Lennart Augustsson * All rights reserved. diff --git a/lib/libusbhid/descr.c b/lib/libusbhid/descr.c index 7cd6750ad322..c340fe1ef402 100644 --- a/lib/libusbhid/descr.c +++ b/lib/libusbhid/descr.c @@ -1,7 +1,7 @@ /* $NetBSD: descr.c,v 1.9 2000/09/24 02:13:24 augustss Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 Lennart Augustsson * All rights reserved. diff --git a/lib/libusbhid/descr_compat.c b/lib/libusbhid/descr_compat.c index 237319269a2c..fdcc7dbac061 100644 --- a/lib/libusbhid/descr_compat.c +++ b/lib/libusbhid/descr_compat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 Lennart Augustsson * All rights reserved. diff --git a/lib/libusbhid/parse.c b/lib/libusbhid/parse.c index 2913de594200..2f677172be02 100644 --- a/lib/libusbhid/parse.c +++ b/lib/libusbhid/parse.c @@ -1,7 +1,7 @@ /* $NetBSD: parse.c,v 1.11 2000/09/24 02:19:54 augustss Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999, 2001 Lennart Augustsson * All rights reserved. diff --git a/lib/libusbhid/usage.c b/lib/libusbhid/usage.c index fba9c668bd33..6317567248d0 100644 --- a/lib/libusbhid/usage.c +++ b/lib/libusbhid/usage.c @@ -1,7 +1,7 @@ /* $NetBSD: usage.c,v 1.8 2000/10/10 19:23:58 is Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 Lennart Augustsson * All rights reserved. diff --git a/lib/libusbhid/usbhid.h b/lib/libusbhid/usbhid.h index 971884ba8ee9..1b0676426ef9 100644 --- a/lib/libusbhid/usbhid.h +++ b/lib/libusbhid/usbhid.h @@ -1,7 +1,7 @@ /* $NetBSD: usb.h,v 1.8 2000/08/13 22:22:02 augustss Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 Lennart Augustsson * All rights reserved. diff --git a/lib/libusbhid/usbvar.h b/lib/libusbhid/usbvar.h index 0dfd596e8bb0..32fcabd0ab39 100644 --- a/lib/libusbhid/usbvar.h +++ b/lib/libusbhid/usbvar.h @@ -1,7 +1,7 @@ /* $NetBSD: usbvar.h,v 1.2 1999/05/11 21:15:46 augustss Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 Lennart Augustsson * All rights reserved. diff --git a/libexec/rpc.sprayd/sprayd.c b/libexec/rpc.sprayd/sprayd.c index 5d015481a9e2..209d74af59af 100644 --- a/libexec/rpc.sprayd/sprayd.c +++ b/libexec/rpc.sprayd/sprayd.c @@ -1,7 +1,7 @@ /* $NetBSD: sprayd.c,v 1.15 2009/10/21 01:07:46 snj Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1994 Christos Zoulas * All rights reserved. diff --git a/libexec/rtld-elf/powerpc/reloc.c b/libexec/rtld-elf/powerpc/reloc.c index 56985ef51d8d..7fd6251c7dd5 100644 --- a/libexec/rtld-elf/powerpc/reloc.c +++ b/libexec/rtld-elf/powerpc/reloc.c @@ -1,7 +1,7 @@ /* $NetBSD: ppc_reloc.c,v 1.10 2001/09/10 06:09:41 mycroft Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (C) 1998 Tsubai Masanari * All rights reserved. diff --git a/libexec/rtld-elf/powerpc64/reloc.c b/libexec/rtld-elf/powerpc64/reloc.c index 93907ebd97d3..732d6ddff7c9 100644 --- a/libexec/rtld-elf/powerpc64/reloc.c +++ b/libexec/rtld-elf/powerpc64/reloc.c @@ -1,7 +1,7 @@ /* $NetBSD: ppc_reloc.c,v 1.10 2001/09/10 06:09:41 mycroft Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (C) 1998 Tsubai Masanari * All rights reserved. diff --git a/sbin/camcontrol/camcontrol.h b/sbin/camcontrol/camcontrol.h index 85f2e8658fe8..0fdcdb196294 100644 --- a/sbin/camcontrol/camcontrol.h +++ b/sbin/camcontrol/camcontrol.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998 Kenneth D. Merry. * All rights reserved. diff --git a/sbin/camcontrol/progress.c b/sbin/camcontrol/progress.c index 054b3f5391e7..c620b577416a 100644 --- a/sbin/camcontrol/progress.c +++ b/sbin/camcontrol/progress.c @@ -1,7 +1,7 @@ /* $NetBSD: progressbar.c,v 1.21 2009/04/12 10:18:52 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997-2009 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sbin/camcontrol/progress.h b/sbin/camcontrol/progress.h index 1234c1136eaf..f49857f57de6 100644 --- a/sbin/camcontrol/progress.h +++ b/sbin/camcontrol/progress.h @@ -1,7 +1,7 @@ /* $NetBSD: progressbar.c,v 1.21 2009/04/12 10:18:52 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1997-2012 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sbin/ccdconfig/pathnames.h b/sbin/ccdconfig/pathnames.h index 85791ddbfcff..83392b665f44 100644 --- a/sbin/ccdconfig/pathnames.h +++ b/sbin/ccdconfig/pathnames.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1996 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/share/examples/kld/dyn_sysctl/dyn_sysctl.c b/share/examples/kld/dyn_sysctl/dyn_sysctl.c index c7ff6fb2c48c..2e455f468bb3 100644 --- a/share/examples/kld/dyn_sysctl/dyn_sysctl.c +++ b/share/examples/kld/dyn_sysctl/dyn_sysctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2000 Andrzej Bialecki * All rights reserved. diff --git a/share/examples/kld/firmware/fwconsumer/fw_consumer.c b/share/examples/kld/firmware/fwconsumer/fw_consumer.c index d0b038c8339d..294d2fbb636f 100644 --- a/share/examples/kld/firmware/fwconsumer/fw_consumer.c +++ b/share/examples/kld/firmware/fwconsumer/fw_consumer.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2006, Max Laier * All rights reserved. diff --git a/sys/arm/include/_inttypes.h b/sys/arm/include/_inttypes.h index d8c1ce8a6cb9..e3f9b52ed089 100644 --- a/sys/arm/include/_inttypes.h +++ b/sys/arm/include/_inttypes.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/arm/include/_stdint.h b/sys/arm/include/_stdint.h index 2032b7368143..e1803060e51a 100644 --- a/sys/arm/include/_stdint.h +++ b/sys/arm/include/_stdint.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001, 2002 Mike Barcroft * Copyright (c) 2001 The NetBSD Foundation, Inc. diff --git a/sys/arm/include/bus_dma.h b/sys/arm/include/bus_dma.h index d716f4f01a17..a4b59b6ed95d 100644 --- a/sys/arm/include/bus_dma.h +++ b/sys/arm/include/bus_dma.h @@ -1,7 +1,7 @@ /* $NetBSD: bus.h,v 1.11 2003/07/28 17:35:54 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/arm/include/ucontext.h b/sys/arm/include/ucontext.h index 2fdc5b68230b..969327d015d0 100644 --- a/sys/arm/include/ucontext.h +++ b/sys/arm/include/ucontext.h @@ -1,7 +1,7 @@ /* $NetBSD: mcontext.h,v 1.4 2003/10/08 22:43:01 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/compat/linux/linux_getcwd.c b/sys/compat/linux/linux_getcwd.c index 1c893737f8a6..5628aa495593 100644 --- a/sys/compat/linux/linux_getcwd.c +++ b/sys/compat/linux/linux_getcwd.c @@ -1,7 +1,7 @@ /* $OpenBSD: linux_getcwd.c,v 1.2 2001/05/16 12:50:21 ho Exp $ */ /* $NetBSD: vfs_getcwd.c,v 1.3.2.3 1999/07/11 10:24:09 sommerfeld Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1999 The NetBSD Foundation, Inc. * Copyright (c) 2015 The FreeBSD Foundation diff --git a/sys/compat/linux/linux_time.c b/sys/compat/linux/linux_time.c index 1a9f6cca22e0..0497fb98edb8 100644 --- a/sys/compat/linux/linux_time.c +++ b/sys/compat/linux/linux_time.c @@ -1,7 +1,7 @@ /* $NetBSD: linux_time.c,v 1.14 2006/05/14 03:40:54 christos Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/bhnd/cores/usb/bhnd_ohci.c b/sys/dev/bhnd/cores/usb/bhnd_ohci.c index 0308562e7ae6..117fc305d1b5 100644 --- a/sys/dev/bhnd/cores/usb/bhnd_ohci.c +++ b/sys/dev/bhnd/cores/usb/bhnd_ohci.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998 The NetBSD Foundation, Inc. * Copyright (c) 2010, Aleksandr Rybalko diff --git a/sys/dev/esp/am53c974reg.h b/sys/dev/esp/am53c974reg.h index 795aa88d1668..23e404640b63 100644 --- a/sys/dev/esp/am53c974reg.h +++ b/sys/dev/esp/am53c974reg.h @@ -1,7 +1,7 @@ /* $NetBSD: pcscpreg.h,v 1.2 2008/04/28 20:23:55 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/esp/esp_pci.c b/sys/dev/esp/esp_pci.c *** 2110 LINES SKIPPED *** From nobody Tue Jul 25 20:48:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Tdn0gPnz4nZQx; Tue, 25 Jul 2023 20: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 4R9Tdm5mYVz3knQ; Tue, 25 Jul 2023 20:48:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dPIBXI5FVA5bon1leicVDGKw+gYVFP4Z+1erSOJCNAo=; b=W1TQSHxdKW9eh58IJPWDBEHGLh1SfeTMcQ2phUqTevPmQFUDJSd79rlLVh5aTtm8clOuH+ nIUXxW72sL4arZLHYyIN4R28LXNZj/HFt7Aq2B03ylpkRPnduBGd5HhROoNFbKHN8pHP9t 6hZOBUlhdSfCXywhVZXF7ct5RDKHLV6ShWZxhRUx+vvlKpHtNklzIGwbcNnvYg6mvWu9G4 vELvlF5KXbSalyZjLlEj84qclQtWzpUNlOsyeI1J3iN60tRUUILCLcM7gIn4tzrlTtnlxP 0osatCLgg1+EAS4QI7MxMbNXWTXXpLiJQjnIk2k+M0KHXW4Z1W+7TXLouihgVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dPIBXI5FVA5bon1leicVDGKw+gYVFP4Z+1erSOJCNAo=; b=ZyIcAV472OwXF4S3RLLG9DzDbXLBMAPqRon94R8KrgagUxa7dVZ4yLY5WMj8sAY5WYYsTT W8HEBFvqISJ+o7lZsPwxSleiUp+uuwTQs1LZxK5DkFSx035259QCGGKZS3Bcksjiyi1Z7g 6+A1nn6AG8CM/axxDS6crLC/5cKxEjgTDsnWQp02qjRTKOFvt4LihsvFPZB8jJ+nUlogqc h9ps3etaxTBpJyzC/Uu1JucUPtWbu3+3+82hfiU/qTP9OlTcSSJmWbMS5MKa8PNmRqIPGJ X3jffVTwmPDnCIQ2LLgUcG+cWq9pWTypnBwWsG2euHHTlSi6iqowMHGFuIpgbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690318124; a=rsa-sha256; cv=none; b=cATlTWVtj0l+ik7uGeKswF9HJA1BsRWA/R4md+viKsyaLM/VMzRfAjKuK6yP+DknMDO0c6 nu77oc83pTU7OL2Idf2vHVyiDwz5+AzeGWfyCWyTxGeUt0s+cA/PeYj4C1wQCkWzPEPf22 cDE4kdJp3EvxDdykbV2Sbs4y5Ke+xS8sVq3KUwhYr93KMobUXlehRjiq3J6bJSrtFGr+cc Y6YYNdf6i/JIbo4WBthNVcR7d9pipi0j08O3rFC5a3xH6x64wR31NLMvLe5EiqOdm7rhoc DDStaiQJ9L9qQAZHiEz+VmusVk/3wSO/PbHprW6U9vCYLBspqNv41sp9CBnC3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Tdm4LqpzFRC; Tue, 25 Jul 2023 20:48: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 36PKmith063658; Tue, 25 Jul 2023 20:48:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PKmir3063657; Tue, 25 Jul 2023 20:48:44 GMT (envelope-from git) Date: Tue, 25 Jul 2023 20:48:44 GMT Message-Id: <202307252048.36PKmir3063657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 58f593fbb832 - stable/13 - spdx: Simplify BSD-2-Clause AND BSD-2-Clause List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 58f593fbb832e7ad1a240eb83396e75ec50fd049 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=58f593fbb832e7ad1a240eb83396e75ec50fd049 commit 58f593fbb832e7ad1a240eb83396e75ec50fd049 Author: Warner Losh AuthorDate: 2023-05-10 15:40:58 +0000 Commit: Warner Losh CommitDate: 2023-07-25 15:17:00 +0000 spdx: Simplify BSD-2-Clause AND BSD-2-Clause After removing the -FreeBSD and -NetBSD, we're left with a nuber of BSD-2-Clause AND BSD-2-Clause, so tidy that up. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit eebd9d53665e1b691ffada910b940b37b6f62cc4) --- include/wchar.h | 2 +- sys/arm/freescale/imx/imx51_ccm.c | 2 +- sys/arm/freescale/imx/imx51_ccmreg.h | 2 +- sys/arm/freescale/imx/imx51_ccmvar.h | 2 +- sys/arm/freescale/imx/imx51_dpllreg.h | 2 +- sys/arm/freescale/imx/imx51_ipuv3reg.h | 2 +- sys/arm/freescale/imx/imx51_tzicreg.h | 2 +- sys/dev/iicbus/s35390a.c | 2 +- sys/dev/mfi/mfi.c | 2 +- sys/dev/mfi/mfi_pci.c | 2 +- sys/dev/mfi/mfireg.h | 2 +- sys/dev/mfi/mfivar.h | 2 +- sys/dev/mii/gentbi.c | 2 +- sys/dev/mii/nsphy.c | 2 +- sys/dev/mii/nsphyter.c | 2 +- sys/dev/mii/qsphy.c | 2 +- sys/dev/usb/serial/ubsa.c | 2 +- sys/dev/usb/serial/ubser.c | 2 +- sys/dev/usb/serial/uchcom.c | 2 +- sys/dev/usb/serial/ufoma.c | 2 +- sys/dev/usb/serial/umodem.c | 2 +- sys/dev/usb/serial/uplcom.c | 2 +- sys/dev/usb/serial/usb_serial.c | 2 +- sys/dev/usb/serial/usb_serial.h | 2 +- sys/dev/xl/xlphy.c | 2 +- sys/netgraph/ng_ppp.c | 2 +- sys/netinet/libalias/alias_smedia.c | 2 +- usr.sbin/bhyveload/bhyveload.c | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-) diff --git a/include/wchar.h b/include/wchar.h index 147efb4dbf86..c0cf13c49a9e 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: (BSD-2-Clause AND BSD-2-Clause) + * SPDX-License-Identifier: (BSD-2-Clause) * * Copyright (c)1999 Citrus Project, * All rights reserved. diff --git a/sys/arm/freescale/imx/imx51_ccm.c b/sys/arm/freescale/imx/imx51_ccm.c index 9afd646ce216..b50b6fe926cb 100644 --- a/sys/arm/freescale/imx/imx51_ccm.c +++ b/sys/arm/freescale/imx/imx51_ccm.c @@ -1,6 +1,6 @@ /* $NetBSD: imx51_ccm.c,v 1.1 2012/04/17 09:33:31 bsh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2010, 2011, 2012 Genetec Corporation. All rights reserved. * Written by Hashimoto Kenichi for Genetec Corporation. diff --git a/sys/arm/freescale/imx/imx51_ccmreg.h b/sys/arm/freescale/imx/imx51_ccmreg.h index 504c6e9ef126..d14289ac4fdb 100644 --- a/sys/arm/freescale/imx/imx51_ccmreg.h +++ b/sys/arm/freescale/imx/imx51_ccmreg.h @@ -1,6 +1,6 @@ /* $NetBSD: imx51_ccmreg.h,v 1.1 2012/04/17 09:33:31 bsh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2011, 2012 Genetec Corporation. All rights reserved. * Written by Hashimoto Kenichi for Genetec Corporation. diff --git a/sys/arm/freescale/imx/imx51_ccmvar.h b/sys/arm/freescale/imx/imx51_ccmvar.h index dc35f1bc7116..b58e78cb2c72 100644 --- a/sys/arm/freescale/imx/imx51_ccmvar.h +++ b/sys/arm/freescale/imx/imx51_ccmvar.h @@ -1,6 +1,6 @@ /* $NetBSD: imx51_ccmvar.h,v 1.1 2012/04/17 09:33:31 bsh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2012 Genetec Corporation. All rights reserved. * Written by Hashimoto Kenichi for Genetec Corporation. diff --git a/sys/arm/freescale/imx/imx51_dpllreg.h b/sys/arm/freescale/imx/imx51_dpllreg.h index a98f255fb036..ca93934cbc86 100644 --- a/sys/arm/freescale/imx/imx51_dpllreg.h +++ b/sys/arm/freescale/imx/imx51_dpllreg.h @@ -1,6 +1,6 @@ /* $NetBSD: imx51_dpllreg.h,v 1.1 2012/04/17 09:33:31 bsh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2012 Genetec Corporation. All rights reserved. * Written by Hashimoto Kenichi for Genetec Corporation. diff --git a/sys/arm/freescale/imx/imx51_ipuv3reg.h b/sys/arm/freescale/imx/imx51_ipuv3reg.h index 16e52e405784..380e879e8f92 100644 --- a/sys/arm/freescale/imx/imx51_ipuv3reg.h +++ b/sys/arm/freescale/imx/imx51_ipuv3reg.h @@ -1,6 +1,6 @@ /* $NetBSD: imx51_ipuv3reg.h,v 1.1 2012/04/17 10:19:57 bsh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2011, 2012 Genetec Corporation. All rights reserved. * Written by Hashimoto Kenichi for Genetec Corporation. diff --git a/sys/arm/freescale/imx/imx51_tzicreg.h b/sys/arm/freescale/imx/imx51_tzicreg.h index 3311dfffb3d5..ac36f2c5277f 100644 --- a/sys/arm/freescale/imx/imx51_tzicreg.h +++ b/sys/arm/freescale/imx/imx51_tzicreg.h @@ -1,6 +1,6 @@ /* $NetBSD: imx51_tzicreg.h,v 1.1 2010/11/13 07:11:03 bsh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2010 Genetec Corporation. All rights reserved. * Written by Hashimoto Kenichi for Genetec Corporation. diff --git a/sys/dev/iicbus/s35390a.c b/sys/dev/iicbus/s35390a.c index 3029f6acd6f8..ca28cd8d5e4c 100644 --- a/sys/dev/iicbus/s35390a.c +++ b/sys/dev/iicbus/s35390a.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2012 Yusuke Tanaka * All rights reserved. diff --git a/sys/dev/mfi/mfi.c b/sys/dev/mfi/mfi.c index 3c88e505bb7b..25731b851c59 100644 --- a/sys/dev/mfi/mfi.c +++ b/sys/dev/mfi/mfi.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2006 IronPort Systems * All rights reserved. diff --git a/sys/dev/mfi/mfi_pci.c b/sys/dev/mfi/mfi_pci.c index 6c791997341b..ce325b1d2da3 100644 --- a/sys/dev/mfi/mfi_pci.c +++ b/sys/dev/mfi/mfi_pci.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2006 IronPort Systems * All rights reserved. diff --git a/sys/dev/mfi/mfireg.h b/sys/dev/mfi/mfireg.h index dea3fce664b2..d649cc5aa9cb 100644 --- a/sys/dev/mfi/mfireg.h +++ b/sys/dev/mfi/mfireg.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2006 IronPort Systems * All rights reserved. diff --git a/sys/dev/mfi/mfivar.h b/sys/dev/mfi/mfivar.h index 72658d8a8aad..a3bb9a1bfdff 100644 --- a/sys/dev/mfi/mfivar.h +++ b/sys/dev/mfi/mfivar.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2006 IronPort Systems * All rights reserved. diff --git a/sys/dev/mii/gentbi.c b/sys/dev/mii/gentbi.c index 49a7bbd4fea6..4f91b909dfbe 100644 --- a/sys/dev/mii/gentbi.c +++ b/sys/dev/mii/gentbi.c @@ -1,7 +1,7 @@ /* $NetBSD: gentbi.c,v 1.15 2006/03/29 07:05:24 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/mii/nsphy.c b/sys/dev/mii/nsphy.c index 367c1a7a06a0..d3809669e2f3 100644 --- a/sys/dev/mii/nsphy.c +++ b/sys/dev/mii/nsphy.c @@ -1,7 +1,7 @@ /* $NetBSD: nsphy.c,v 1.18 1999/07/14 23:57:36 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/mii/nsphyter.c b/sys/dev/mii/nsphyter.c index cead4de0b59d..4d65fa677ffe 100644 --- a/sys/dev/mii/nsphyter.c +++ b/sys/dev/mii/nsphyter.c @@ -1,7 +1,7 @@ /* $NetBSD: nsphyter.c,v 1.28 2008/01/20 07:58:19 msaitoh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/mii/qsphy.c b/sys/dev/mii/qsphy.c index 6bb204359b87..a5ce4c6ed6d0 100644 --- a/sys/dev/mii/qsphy.c +++ b/sys/dev/mii/qsphy.c @@ -2,7 +2,7 @@ /* NetBSD: qsphy.c,v 1.19 2000/02/02 23:34:57 thorpej Exp */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/usb/serial/ubsa.c b/sys/dev/usb/serial/ubsa.c index 2d1402e77d15..f49c6689eab2 100644 --- a/sys/dev/usb/serial/ubsa.c +++ b/sys/dev/usb/serial/ubsa.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2002, Alexander Kabaev . * All rights reserved. diff --git a/sys/dev/usb/serial/ubser.c b/sys/dev/usb/serial/ubser.c index 34666ddc69da..dbff14dc3f9f 100644 --- a/sys/dev/usb/serial/ubser.c +++ b/sys/dev/usb/serial/ubser.c @@ -8,7 +8,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001-2002, Shunsuke Akiyama . * All rights reserved. diff --git a/sys/dev/usb/serial/uchcom.c b/sys/dev/usb/serial/uchcom.c index 995eab6553d6..3c9bca9114cb 100644 --- a/sys/dev/usb/serial/uchcom.c +++ b/sys/dev/usb/serial/uchcom.c @@ -1,7 +1,7 @@ /* $NetBSD: uchcom.c,v 1.1 2007/09/03 17:57:37 tshiozak Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2007, Takanori Watanabe * All rights reserved. diff --git a/sys/dev/usb/serial/ufoma.c b/sys/dev/usb/serial/ufoma.c index a6eddd941b85..b95ffc0308db 100644 --- a/sys/dev/usb/serial/ufoma.c +++ b/sys/dev/usb/serial/ufoma.c @@ -4,7 +4,7 @@ __FBSDID("$FreeBSD$"); #define UFOMA_HANDSFREE /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2005, Takanori Watanabe All rights reserved. * Copyright (c) 2003 M. Warner Losh diff --git a/sys/dev/usb/serial/umodem.c b/sys/dev/usb/serial/umodem.c index d3b40a74cadc..da6ecbc48ba6 100644 --- a/sys/dev/usb/serial/umodem.c +++ b/sys/dev/usb/serial/umodem.c @@ -4,7 +4,7 @@ __FBSDID("$FreeBSD$"); /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2003 M. Warner Losh * diff --git a/sys/dev/usb/serial/uplcom.c b/sys/dev/usb/serial/uplcom.c index 4a8700e9e13a..282149274bb2 100644 --- a/sys/dev/usb/serial/uplcom.c +++ b/sys/dev/usb/serial/uplcom.c @@ -4,7 +4,7 @@ __FBSDID("$FreeBSD$"); /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001-2003, 2005 Shunsuke Akiyama . * All rights reserved. diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index 66e22d64e923..e251714cf714 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -1,7 +1,7 @@ /* $NetBSD: ucom.c,v 1.40 2001/11/13 06:24:54 lukem Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001-2003, 2005, 2008 * Shunsuke Akiyama . diff --git a/sys/dev/usb/serial/usb_serial.h b/sys/dev/usb/serial/usb_serial.h index 306eb035c8cd..b2ec25141800 100644 --- a/sys/dev/usb/serial/usb_serial.h +++ b/sys/dev/usb/serial/usb_serial.h @@ -2,7 +2,7 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2001-2002, Shunsuke Akiyama . * All rights reserved. diff --git a/sys/dev/xl/xlphy.c b/sys/dev/xl/xlphy.c index a078d3cf5f9e..7357b3085f74 100644 --- a/sys/dev/xl/xlphy.c +++ b/sys/dev/xl/xlphy.c @@ -1,7 +1,7 @@ /* $NetBSD: exphy.c,v 1.16 1999/04/23 04:24:32 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/netgraph/ng_ppp.c b/sys/netgraph/ng_ppp.c index e25cf1a5ba2a..d237446c1ae9 100644 --- a/sys/netgraph/ng_ppp.c +++ b/sys/netgraph/ng_ppp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1996-2000 Whistle Communications, Inc. * All rights reserved. diff --git a/sys/netinet/libalias/alias_smedia.c b/sys/netinet/libalias/alias_smedia.c index e7a15afebc6d..a591bc079dc5 100644 --- a/sys/netinet/libalias/alias_smedia.c +++ b/sys/netinet/libalias/alias_smedia.c @@ -1,7 +1,7 @@ /*- * alias_smedia.c * - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2000 Whistle Communications, Inc. * All rights reserved. diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index eb8a1bb64974..413bcbff2d13 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. From nobody Tue Jul 25 20:48:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Tdp3Vqjz4nZG3; Tue, 25 Jul 2023 20: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 4R9Tdp1QRLz3l1G; Tue, 25 Jul 2023 20: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=1690318126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M/z9YIpl7gVJHDn7CGkvoUdnvl2FNHt6AmAUrur6gyo=; b=Ni+TE3YqyJb/YfiQI0NpnZibFxQ64K9NqtobEvZU6Gc78I3hAMM4Yq73VhMKYHTmFygdYn evNuffLy8dXcWF9/yY31+BOWOUvEgwhZlxMiRTQDHTPOaums48x6x9WZRbK2IY5hLVaa3F CitGE8vb8zOakSXNxzo0GetxZYdCl1ZyBuboAsJE+WUyZ9f67tOm+lhLqmC9Ibo261nVFB zMfniPRmrHuEIWv3HFf7+WDQeITses4pl2J1P36sEvYZMXIRmtqBQN/Z6Lywzs663QgkV+ 2liFvg+eCywbaStszCLPgt/6HUOi6zXuXP0LDV4C+wLmCNvLLzC0RPSPJPih7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M/z9YIpl7gVJHDn7CGkvoUdnvl2FNHt6AmAUrur6gyo=; b=bzHR+jPy/5oObiUrtbVAyggEllb0s8yTkvfpZTEi54YN6ZikMH7XnECC1ZXth90IrAhUdn Jm28uEuvREBc5WXYLq3SXVnfRe9G///Q3jbOI02WeppDvHYatewyDo3JgAOy4d0V73wgj/ BdXJ1Yjcp6Q21JgSRz4v1VZ6YWfZzRDdfw8K+xED3mUIi1Ypt5T8EhYCoSKDdKzAgwo3LE yao3woquiM0mJ0IHGV32N2UGURrVXHqZHUvrQIdnF1BtGmlWpRDsIEdWSA0CKMIaftuizY i4peFyGvwpjJk4/CN2IzJHieJZ2wHgUd+u+pu8TVELJMLJqLMMh+djKkRulWTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690318126; a=rsa-sha256; cv=none; b=ObnR8cn1uDPym1HJ/2x1vAOJx9cBwDJGrL0gh0E1grsIuNSUl4pOryXtGLLdXusfB7BBpB mm+vVlsbiQtT8xJYlZiaEohKVJJmCUvTGt3pkXF7hA+YkTMyneFeNBTLUpW2RAq0xzEYSJ fi9cf5I6vRbCwD5Oh8bTo7HUghNBl+pzIwW/Ph4zY+yGvJ3MHhwoN40J2gJmLTrakoeJU6 VwvyVxng4Ht1ESWK7sp5vhHatUoTFef/WzeNBURCr/cqfHZsqpvu92/hPiLoC/95ZYBAeB 2q3tqVBTdauib+D+f7fPAXAgNt1jb2nhkOTGZrQcUwkaPCon30N9cQDmgJ7Qag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Tdn5XNFzFdC; Tue, 25 Jul 2023 20: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 36PKmjmZ063677; Tue, 25 Jul 2023 20: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 36PKmjAc063676; Tue, 25 Jul 2023 20:48:45 GMT (envelope-from git) Date: Tue, 25 Jul 2023 20:48:45 GMT Message-Id: <202307252048.36PKmjAc063676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 8b43a608425a - stable/13 - SPDX: It's spelled 'SPDX-License-Identifier' List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b43a608425ae680c109d13a2849a6872877c9fd Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b43a608425ae680c109d13a2849a6872877c9fd commit 8b43a608425ae680c109d13a2849a6872877c9fd Author: Warner Losh AuthorDate: 2023-05-11 16:03:59 +0000 Commit: Warner Losh CommitDate: 2023-07-25 15:17:48 +0000 SPDX: It's spelled 'SPDX-License-Identifier' Sponsored by: Netflix (cherry picked from commit ecfb43cb419808a5e2f802f780cba66a49f473b7) --- sys/netgraph/ng_vlan_rotate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netgraph/ng_vlan_rotate.c b/sys/netgraph/ng_vlan_rotate.c index a9added7fb6d..cbc55e6f7a84 100644 --- a/sys/netgraph/ng_vlan_rotate.c +++ b/sys/netgraph/ng_vlan_rotate.c @@ -1,5 +1,5 @@ /*- - * Spdx-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2019-2021 IKS Service GmbH * From nobody Tue Jul 25 20:48:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Tdq6dwGz4nZRF; Tue, 25 Jul 2023 20:48: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 4R9Tdq1NK1z3l1X; Tue, 25 Jul 2023 20:48:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z65x+vpdTcKW7JQebR2Oh8BzHhE/xtk1OWZg3i95R/Y=; b=yA1vhl6pkW43LbbJVmpeDK4BE41bgtQamRV4YqNlUp7pEMGAl6TfLeTAmeimPZkjfKLVIH cWp8zEZaKav9IpSy4F+yBnI61x9hRtAPvCjfDz2McNBfMvLIj8LrfAPbbjKva9A6GPqlO2 wE/vGX2qKLO7V5Gxou0IE0OYLBZ5xsWvJ+4Q5BR0Q/cB5WstzM6A7wOZXPE6xRyg1SV3C0 Nr3OVj6z0/EBHEBRdqDqWZe5tWZQQBX1htlD2GuiBpMYT4Y8Bx9uPJF0uk1Qwqxjqx1wW0 fOU8BnRowpozcJgt3j++uvbOYrQlac54BvEfCHO5B8QkHFvNDa963qhBhxbSWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690318127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z65x+vpdTcKW7JQebR2Oh8BzHhE/xtk1OWZg3i95R/Y=; b=IpMNUtGwj3wToor1v+opJSAOctjrnni6SNNI/pEf92MFyvFLKxdEF+vBeyVh6U8jLybH1R lY7q5n9fbZITgh4s5+D2LR/EgZn3GyTxmpF4zOSc6pRjoFxZKzYM82Z/qi2uD5W0tfQ+LT /B78+tUOrY0+7pE6pRGCWnDOeMYGNdOri/gW1ipKQXEbgRy7miSbWQxHXaRrBbX9Nbxnlb 1Su8FswiFB/Vu6V9Gkyf7lNoPPHQ29z0jQIb5tbov21xjTwMGF1V3pltZxZR0tCBVcHbiA 4jLiB+23tNEH57jTF/p4ZJzAOS+fwbN2puUikkb9ndaIZWMgTbQeNFOSBGxQXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690318127; a=rsa-sha256; cv=none; b=yE/TNT35Oy1KeNIfXcxqqCmY3+5p9BJcXyABSrNIU+9X9HJYIfQlCBmE0SiV6b50g9Vw+U ahtFZprxeV0xf982NSiRDSVSky1+EX+kjwVpXRnYOqwZ5ossN8TEOrjwqT/gl5bkMQPb+F drSsvx7LXrE992aFtZvSrhS7JUMQ/VLsf0JfRpE2lmdycjZOU02pMROiM0At80KmY+zZPn FZc5mVN5jnO/6Bkbu/Zr0WQrl4YluGIlKmzt8Ibd614VhZdd7qIQzC4bj9/7NSVPkApTCa 1OWzZfJKDKWOGMlSYiZrB7ph5fwRk/BpMqwjjB3zO2vigrZNWdGyJo4LhjqneA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Tdp6ZNPzFk2; Tue, 25 Jul 2023 20: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 36PKmkOM063698; Tue, 25 Jul 2023 20: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 36PKmk8Y063697; Tue, 25 Jul 2023 20:48:46 GMT (envelope-from git) Date: Tue, 25 Jul 2023 20:48:46 GMT Message-Id: <202307252048.36PKmk8Y063697@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 6d30916e9bc4 - stable/13 - spdx: The BSD-3-Clause-FreeBSD identifier never was, drop -FreeBSD List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6d30916e9bc49501e1ae22575fdd0736a1191d9a Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6d30916e9bc49501e1ae22575fdd0736a1191d9a commit 6d30916e9bc49501e1ae22575fdd0736a1191d9a Author: Warner Losh AuthorDate: 2023-05-10 15:40:58 +0000 Commit: Warner Losh CommitDate: 2023-07-25 15:18:00 +0000 spdx: The BSD-3-Clause-FreeBSD identifier never was, drop -FreeBSD There never was a BSD-3-Clause-FreeBSD SPDX identifier. Replace it with BSD-3-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit eb8f887758f31f605829c995ce71a627dec0838a) --- lib/libgeom/geom_getxml.c | 2 +- lib/libgeom/geom_stats.c | 2 +- lib/libgeom/geom_xml2tree.c | 2 +- lib/libgeom/libgeom.h | 2 +- sbin/fsck_ffs/ea.c | 2 +- usr.sbin/gstat/gstat.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/libgeom/geom_getxml.c b/lib/libgeom/geom_getxml.c index a6bb130fd5a7..a46a58328373 100644 --- a/lib/libgeom/geom_getxml.c +++ b/lib/libgeom/geom_getxml.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause-FreeBSD + * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2003 Poul-Henning Kamp * All rights reserved. diff --git a/lib/libgeom/geom_stats.c b/lib/libgeom/geom_stats.c index e8e2969e835f..80a29cb9148e 100644 --- a/lib/libgeom/geom_stats.c +++ b/lib/libgeom/geom_stats.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause-FreeBSD + * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2003 Poul-Henning Kamp * All rights reserved. diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 52d21790101e..d75b8e53bcd0 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause-FreeBSD + * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2003 Poul-Henning Kamp * All rights reserved. diff --git a/lib/libgeom/libgeom.h b/lib/libgeom/libgeom.h index 339a8d34729f..86d22b125287 100644 --- a/lib/libgeom/libgeom.h +++ b/lib/libgeom/libgeom.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause-FreeBSD + * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2003 Poul-Henning Kamp * All rights reserved. diff --git a/sbin/fsck_ffs/ea.c b/sbin/fsck_ffs/ea.c index f46d883e12ad..c64fb20ee9e8 100644 --- a/sbin/fsck_ffs/ea.c +++ b/sbin/fsck_ffs/ea.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause-FreeBSD + * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2002 Poul-Henning Kamp * Copyright (c) 2002 Networks Associates Technology, Inc. diff --git a/usr.sbin/gstat/gstat.c b/usr.sbin/gstat/gstat.c index 65388c3002ff..cd44c740a3b4 100644 --- a/usr.sbin/gstat/gstat.c +++ b/usr.sbin/gstat/gstat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause-FreeBSD + * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2003 Poul-Henning Kamp * All rights reserved. From nobody Tue Jul 25 21:04:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9TzV2t8hz4nnWS; Tue, 25 Jul 2023 21:04: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 4R9TzV2Pz4z3sbw; Tue, 25 Jul 2023 21:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690319046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5V8PeVhC8xKG6WI4ixcNRG2NrvSZ3Fqh3mzOPEyhO4w=; b=AuhpRMnzlZSU/YfNqAfcQIab8rbLVdC4QxxjQvJbHHGBWOubCwyoU6JAAVMZ4B6xyPnQty Oi/VJejSlW7QLTiZ0vCHF3xj2QmHXU+zGfCvVKlXpLtCoJSokWB6DbZ+s3r2BUuX3/tgzn cfNj4ohokYIVbwOZSXqd2o8zDTLW73ZroVp/6UkA8ZXwilQlUoU70FbuSn4Sr26yGgxDV5 vJoIbiUNL97kR7Y7Xe4cASf0SOxhpij84HUnHUhcvVfJkISmW8mgRA3bVC7XYv+fCKihL3 6TaR4C1bemKc65LYL9akcVNtnwrFnCkwaEk4M8Lkk/QAAHz9ObEybfvTD1Rnxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690319046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5V8PeVhC8xKG6WI4ixcNRG2NrvSZ3Fqh3mzOPEyhO4w=; b=dDo/hSM3GhLAxYjOfhxExZ9MTrQ+STHlYYvDUqOieFXfjD2qU+5DcFcJi8ZXgLSMvGAdM5 vl6zwwHvKsVnse4dyc6qEFwEgDu8ysiPLlgIl7sAQ2YwAWzERnJY+EHMZ7/uxB6uYYQh6B rYsYYCAvKUt/hSEbQ/xmG2m2hsn0V5RElKlCurleseAm+3Top8RoTT2rLr/pjyNmzJetrd /kjZFfuv4NWnlxRDhZix/vr26kIJXd2qWVsyYd3NEvrqSljkHCdUhvZcCn/RLlY3ANnEk0 65zh9dTf8E4p8VRchnqhRWwiZ411KycxW9eQpraZBHxO+TVLnVBiCgve7e9/rQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690319046; a=rsa-sha256; cv=none; b=iwSQ7FNSqmqSPKiQxHXCzXVVAo5y8LPd+mr1cXgUgxZrWpmyJYSSU+MMgeNahr79TFBjro xYOY/+TSmpMfk2ewX97sUQG5o62RByn81Hhs+rPNtzIHMItERx+O3nOrS6sEftXlYr6xQJ er22clFAPu2XRMbR1asIyJbul14O/L7RnHDE3i9p2TFkmr5dYHP3NeB41JC9xBAx1R2e2c S5I8zzQr6bwxMjGXonOkqblDlrg5ReUkDlod81p11PvKtlmImh6gevtaDPENTgKfnOFIBS QOo8qrPA0Wz08c+X3Omnvbb1JOZPUzs6aoDAsZorcnVKjdJD1kFRVdtj4sjDhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9TzV1TLRzFpC; Tue, 25 Jul 2023 21:04: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 36PL46n7096847; Tue, 25 Jul 2023 21:04:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PL46b0096846; Tue, 25 Jul 2023 21:04:06 GMT (envelope-from git) Date: Tue, 25 Jul 2023 21:04:06 GMT Message-Id: <202307252104.36PL46b0096846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 4d512b07357f - main - Debugging output additions. No functional changes intended. List-Id: Commit messages for all branches 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d512b07357f6a4feff8ac266f90d34939a57be4 Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=4d512b07357f6a4feff8ac266f90d34939a57be4 commit 4d512b07357f6a4feff8ac266f90d34939a57be4 Author: Kirk McKusick AuthorDate: 2023-07-25 21:02:33 +0000 Commit: Kirk McKusick CommitDate: 2023-07-25 21:03:43 +0000 Debugging output additions. No functional changes intended. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation --- sbin/fsck_ffs/main.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c index 56883d682ce8..0acf7e709180 100644 --- a/sbin/fsck_ffs/main.c +++ b/sbin/fsck_ffs/main.c @@ -438,7 +438,7 @@ checkfilesys(char *filesys) /* * 1: scan inodes tallying blocks used */ - if (preen == 0) { + if (preen == 0 || debug) { printf("** Last Mounted on %s\n", sblock.fs_fsmnt); if (mntp != NULL && mntp->f_flags & MNT_ROOTFS) printf("** Root file system\n"); @@ -457,7 +457,8 @@ checkfilesys(char *filesys) preen ? "-p" : "", (preen && usedsoftdep) ? " AND " : "", usedsoftdep ? "SOFTUPDATES" : ""); - printf("** Phase 1b - Rescan For More DUPS\n"); + if (preen == 0 || debug) + printf("** Phase 1b - Rescan For More DUPS\n"); pass1b(); IOstats("Pass1b"); } @@ -465,7 +466,7 @@ checkfilesys(char *filesys) /* * 2: traverse directories from root to mark all connected directories */ - if (preen == 0) + if (preen == 0 || debug) printf("** Phase 2 - Check Pathnames\n"); pass2(); IOstats("Pass2"); @@ -473,7 +474,7 @@ checkfilesys(char *filesys) /* * 3: scan inodes looking for disconnected directories */ - if (preen == 0) + if (preen == 0 || debug) printf("** Phase 3 - Check Connectivity\n"); pass3(); IOstats("Pass3"); @@ -481,7 +482,7 @@ checkfilesys(char *filesys) /* * 4: scan inodes looking for disconnected files; check reference counts */ - if (preen == 0) + if (preen == 0 || debug) printf("** Phase 4 - Check Reference Counts\n"); pass4(); IOstats("Pass4"); @@ -489,7 +490,7 @@ checkfilesys(char *filesys) /* * 5: check and repair resource counts in cylinder groups */ - if (preen == 0) + if (preen == 0 || debug) printf("** Phase 5 - Check Cyl groups\n"); snapflush(std_checkblkavail); if (cgheader_corrupt) { From nobody Tue Jul 25 21:08:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9V4h3Q7Vz4ns8f; Tue, 25 Jul 2023 21:08: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 4R9V4g6mDBz3vTJ; Tue, 25 Jul 2023 21:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690319315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7rfmua254ehWPXTXfwrq8Fv6v3KM2O7iK4hB8zuY7Pg=; b=OWq1rMwQEDvcXj1zfw9Uf3T8nZ3BaTFFBw6GUa0N45lAWiRKrDmeU7Ub0SyFBaIBqa+qAS JVZBWft8J2BqPWpJpQaZSZbOwrEHhjaN/GLZJpE7gM2GKC0/Fi21EUMdDowUeZzHy616il n3WHFh8g7t5brjZGxyuSKDQctyu6CjS8U9gaYlAm9wVEbAl+a8q5hsXSWk4yTSQ1HrOnEi 4leizzGg2pMGyu0ixMsHe+Xk0wvsOrlSFUiby7s4eLUrTZfXk6KHZVshaYiyD82+Vv4f05 HH+vSPVKSvIZ4VBiuxGaJfjtxpSlpy54nlRzRwSfCKqlvF6m6gfUm1gvexL33g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690319315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7rfmua254ehWPXTXfwrq8Fv6v3KM2O7iK4hB8zuY7Pg=; b=jIDQatsskOTEQZXa18Cm/+5joEpVIHxgBPRfVusuTPilp9saYnrEw5QS44wlYDKlg7AKSd 3KF4pwckI6UWzFJMaWxMZZ4YlkrE8XRx8sz2xzPx7aRMdWO+OYwNx0B9s97dhILj4TgoEA VWexvO05DimkMPEC6ydmbUWYlSrm/xwAdCV75fz9Dck66cqjdM+OA7BTCnec+DXK7cbFGd KQ5KBqHe0rXYgwFgLoMy8HBieRB8GF1iRqqnS+QQ3Y53K2J7GjorK24VIinWHrSvo5wmL6 Wg1pg6lem2StyppsRfUGaBIwEUPwkK/52q25nss89z6+6Qv1eOZCneK8aCGI2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690319315; a=rsa-sha256; cv=none; b=LsifN6TUd33rYsZ0kt4ZZLd1XDKGHEvYFcEaIXEdx0rMTO8lwLthD8sjA9tMb/+XpieQH1 WP96HUGIUvWqQmxPHmwvdxmJ4OZoZRCpPQ6SL4NdJg/h/MrteT71xkLP19Xe5B2GMm37Ir P7SLg7mGSy2R+1M3LHqi7uhbNBbG7PQ3JcWgEN/A9WHWg/coaJHJx6cRsFQ61h/VA4s8vt SPGh0l1EcOtzpP1kjTEa8T58oI0XlHV5DXXH0kwGzfTQC6z+JjdWRSsvhfaUHDDY2n9LCs K4801LoYyb5JMTDSq++9VB21eZw5P9huClcrgGhhbYHSxtY9dhGTladpS5HgpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9V4g5rWgzG8B; Tue, 25 Jul 2023 21:08: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 36PL8ZpA097723; Tue, 25 Jul 2023 21:08:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PL8Z8U097722; Tue, 25 Jul 2023 21:08:35 GMT (envelope-from git) Date: Tue, 25 Jul 2023 21:08:35 GMT Message-Id: <202307252108.36PL8Z8U097722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 4a3444428de5 - main - Comment 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a3444428de5e74f8e847f656eb25ad559902a74 Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=4a3444428de5e74f8e847f656eb25ad559902a74 commit 4a3444428de5e74f8e847f656eb25ad559902a74 Author: Kirk McKusick AuthorDate: 2023-07-25 21:07:31 +0000 Commit: Kirk McKusick CommitDate: 2023-07-25 21:07:31 +0000 Comment cleanup. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation --- sys/ufs/ffs/ffs_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 6ac43b4b84d5..680e4685e44a 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -3100,7 +3100,7 @@ ffs_fserr(struct fs *fs, /* * This function provides the capability for the fsck program to - * update an active filesystem. Fourteen operations are provided: + * update an active filesystem. Sixteen operations are provided: * * adjrefcnt(inode, amt) - adjusts the reference count on the * specified inode by the specified amount. Under normal From nobody Tue Jul 25 21:24:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9VQs2WKZz4p5PQ; Tue, 25 Jul 2023 21:24: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 4R9VQs1r3cz42sT; Tue, 25 Jul 2023 21:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690320261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPs2SOtkfO5KSp4nyI3KzLAa8HPrPcId57aVai5K8dw=; b=GPgYkIWx4YoH6Olq71iD27CQy6AANcjurrnHMkfZA/kjClCnK5M+s7poa+ce55Z3R11J5k xmcCAaaAapdYP/Os+3kTQ6+ciRWvsYATRWRQOPE4Gwhuh8lsCCmeCJ1sY1j7Vz+BZhUPcD qipAHqxDEzIJ2wxj9oWr1qhRf4/twZEsrufZmI+WjS6jT9QXwIz4Dz4tzlJ7C/8uepgvb7 daK8MPyTAT74K2fNw7Eok5MeUsLl6uGIntfEyy2eB8FhbkzoizJP/uum7w54onYAnRJVgk iLtD7bHoI5Ut3nPJ3j6RVpUHPjHhhWPHeCZvdY+x+h83VnmuWy6rFeQvYCP/Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690320261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPs2SOtkfO5KSp4nyI3KzLAa8HPrPcId57aVai5K8dw=; b=Xds4bWU1J1IyFGbtdrhf9UUScC2Jpud/zcb9bxonYYWUWdLxzr1LRJZrrFr/AzT4fCoyPo 7PcXf4LoYQXn4w32GAqqoesdyW6jmm9MtoS5I0UmQDJwtqUkNqCl5wW4X6kQmoHVcqvoQv FDyXlUoOlzJ2THmI1gcAY85ZSVZ6sobpmbAe1yy8mjXc2KN0se2nCW/2BAGttDyYFfL6bc OwS36ylGA3jylsVV9tZFifbXAGYR0KIoPot3X9yzIHzls3RN0pVvuOwyRQdfkVTV6/+xeO +/jwWDe/YASGCPGXvzWy+Oaf7QIqpk6hg6f9R5Du12Wb5q+EFedyyt0XMCKWEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690320261; a=rsa-sha256; cv=none; b=lyM/kK5VZLeh8bi/Y8Gh1O403Gvxn+baNKyx6eujKxH4e6WaQzfUVojtPBEI3gf4FoxHQY CmOVtxyXSlNBbOtI0Ebg4AY3EtAe8c6Vaa593kNK0eF52FiDJFwmrruSp5+733EUReHLnC 4/OA+8rDhlWcfclpB5AHk+MrvmYT4zmqWeoMH7XBvsoopv3P5fVH897BngnLDrQ5Qsv7pP /g5mxITkEprKYxSrC9lIz9AWcSwVN287oH2zpr4LELFsHHq95coh3spG8PRqNn/MtI69Ri 7+6E1wcmN+05Mpbw9OvPoMPESG35wity1f1wuqi8PgY1eeBgJsRr8mWoMBq1oQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9VQs0p6wzGxs; Tue, 25 Jul 2023 21:24: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 36PLOLTq030467; Tue, 25 Jul 2023 21:24:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36PLOL7E030466; Tue, 25 Jul 2023 21:24:21 GMT (envelope-from git) Date: Tue, 25 Jul 2023 21:24:21 GMT Message-Id: <202307252124.36PLOL7E030466@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: dd3ad7c21e76 - main - tools/build: Tidy up whitespace and comments, and delete duplicate 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: 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd3ad7c21e767bc39f841e7af886941165a10bfa Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=dd3ad7c21e767bc39f841e7af886941165a10bfa commit dd3ad7c21e767bc39f841e7af886941165a10bfa Author: Jessica Clarke AuthorDate: 2023-07-25 21:24:02 +0000 Commit: Jessica Clarke CommitDate: 2023-07-25 21:24:02 +0000 tools/build: Tidy up whitespace and comments, and delete duplicate code We already handle the make and bmake links unconditionally above. --- tools/build/Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/build/Makefile b/tools/build/Makefile index eb5bd44db6a1..7d6ed8befb30 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -316,23 +316,23 @@ _host_abs_tools_to_symlink= ${_make_abs}:make ${_make_abs}:bmake # When building on FreeBSD we always copy the host tools instead of linking # into WORLDTMP to avoid issues with incompatible libraries (see r364030). # Note: we could create links if we don't intend to update the current machine. -_COPY_HOST_TOOL=cp -pf +_COPY_HOST_TOOL= cp -pf .else # However, this is not necessary on Linux/macOS. Additionally, copying the host # tools to another directory with cp -p results in freezes on macOS Big Sur for # some unknown reason. It can also break building inside docker containers if # there are ACLs on shared volumes. -_COPY_HOST_TOOL=ln -sfn -_make_abs!= which "${MAKE}" -_host_abs_tools_to_symlink+= ${_make_abs}:make ${_make_abs}:bmake +_COPY_HOST_TOOL= ln -sfn + .if ${.MAKE.OS} == "Darwin" # /usr/bin/cpp may invoke xcrun: -_host_tools_to_symlink+=xcrun +_host_tools_to_symlink+= xcrun .endif # ${.MAKE.OS} == "Darwin" -# On Ubuntu /bin/sh is dash which is totally useless. Let's just link bash -# as the build sh since that will work fine. + +# On Ubuntu /bin/sh is dash which is totally useless, and the same for modern +# macOS. Let's just link bash as the build sh since that will work fine. _host_abs_tools_to_symlink+= /bin/bash:sh -_host_tools_to_symlink:=${_host_tools_to_symlink:Nsh} +_host_tools_to_symlink:= ${_host_tools_to_symlink:Nsh} .endif host-symlinks: From nobody Wed Jul 26 00:00:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Ytr1zSgz4pMjT; Wed, 26 Jul 2023 00:00: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 4R9Ytr1477z44yY; Wed, 26 Jul 2023 00:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6JYlqYzafrl8qUUO16o4r1fVsL3a8OuoKAUIyDBK1vc=; b=Oa+Y4RhlsPpyIXVrdmwPGKQb67FHy3fTqlk0jzPyH6sUFRG2vv6Buvq0jf3I2Xd1LzNwva 1EK2Vemj6/v3f11lsyLdk382ulcgbgsLJTCnAh9buRfzRX2jwhlI3h6W5HN+pxpkEmi28g EtQVNPYOOLnkj39A0J9gbXz5f+ooU80OC/OxK+HTgBy1ca7zRgDEyb85PURB5nn4SXFHZL Df+HzfJhX+8IitSieGjyumNHjslk6KIu3HosRPh4UzGr55G4lJrbAZqUigdMeGy030uZTv glPktKJk/S9zTddvsGRnhtQtrPnIBw6/pMnM7ej0XyRNNMIOC+1eG9Xus//Egw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6JYlqYzafrl8qUUO16o4r1fVsL3a8OuoKAUIyDBK1vc=; b=wQxwcwRQigtslV8xPwW6+2H0niuOeIRYZI6AJMZwsFoNsnPT6mq31f7VTT57V82IhdSXan mgad+S86TSa1LN/CZ1eNNbLYKDuxFBE3PmVMC/WO8FuIdG/NIKzKDm8s/qY+yTB2ja7idB AOzutOEr8XFCYcokhuru1HlFxIfzWNpGsKP3Hqw31A0ZPiuDv9VxTCsamFw+RqzGsiBcmu ugy9O7z2qT4qlpg6As2bI06Lin9AUn/xaQxAA7VVFmu3K3OEuJNCxbYuB5X3d6Rkywpq99 TzL08LPKv0iKH1QOEcx08FisJiyMru5TvdLxz5eaZfMoaKOMI7pb+bHg0xB77w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690329620; a=rsa-sha256; cv=none; b=SUaJgbO0LuUCG0SDbBmQC+YOqdiRodkYg40+qJ+HVl8UiUFMtJnhhxxT9IBx1qGhsVKXCY 2ydHc9aiBHEgcDGRMNKuTYZDlB6QOF8LZYnfm0fWQnYpmbiU7eRr+TGm1idCQd4bwEBJk7 acULZgjlL97J38Ff1BfjsAYA+bbtWdVV045ZR/3NazyHeAJxabuAtzMhm+sRdnBHK/yW/9 yXPM71C+TdmI2lKLjoPWuZby6HnQPt4ZHNySAss6ply4qQrKR84oz6PpVNcuZE4NoqS5+W 7Y8726IaPgc0JpK8pM4NI2ogkY2kK8aNSu38WZX5v9PA/qOPXo2oJ2/U3z3oYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Ytr07pHzLhS; Wed, 26 Jul 2023 00:00: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 36Q00JeT087356; Wed, 26 Jul 2023 00:00:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q00JLC087355; Wed, 26 Jul 2023 00:00:19 GMT (envelope-from git) Date: Wed, 26 Jul 2023 00:00:19 GMT Message-Id: <202307260000.36Q00JLC087355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: 81250b9cc7ce - main - Makefile.inc1: add LIBCOMPAT_INCLUDE_DIRS to reduce arch ifdefs List-Id: Commit messages for all branches 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: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81250b9cc7ced50d90c79e4000250db7197d2129 Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=81250b9cc7ced50d90c79e4000250db7197d2129 commit 81250b9cc7ced50d90c79e4000250db7197d2129 Author: Mike Karels AuthorDate: 2023-07-25 23:58:29 +0000 Commit: Mike Karels CommitDate: 2023-07-25 23:58:29 +0000 Makefile.inc1: add LIBCOMPAT_INCLUDE_DIRS to reduce arch ifdefs In preparation for adding support for building lib32 on arm64, add a list of architecture-specific include directories, LIBCOMPAT_INCLUDE_DIRS, then replace the architecture-specific ifdefs throughout the file with simple loops. Another commit will add a definition of LIBCOMPAT_INCLUDE_DIRS for aarch64. Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D40977 --- Makefile.inc1 | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 1e992b05c859..415bc41a6726 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -161,6 +161,10 @@ _t= ${TARGET_ARCH}/${TARGET} .endif .endfor +.if ${TARGET_ARCH} == "amd64" +LIBCOMPAT_INCLUDE_DIRS+= i386 +.endif + .if ${.MAKE.OS} != "FreeBSD" CROSSBUILD_HOST=${.MAKE.OS} .if ${.MAKE.OS} != "Linux" && ${.MAKE.OS} != "Darwin" @@ -1081,9 +1085,9 @@ _bootstrap-tools: -p ${WORLDTMP}/usr >/dev/null ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${WORLDTMP}/usr/include >/dev/null -.if ${TARGET_ARCH} == "amd64" - mkdir -p ${WORLDTMP}/usr/include/i386 -.endif +.for d in ${LIBCOMPAT_INCLUDE_DIRS} + mkdir -p ${WORLDTMP}/usr/include/${d} +.endfor ln -sf ${.CURDIR}/sys ${WORLDTMP} .if ${MK_DEBUG_FILES} != "no" ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ @@ -1416,9 +1420,9 @@ distributeworld installworld stageworld: _installcheck_world .PHONY -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/include >/dev/null -.if ${TARGET_ARCH} == "amd64" - -mkdir ${DESTDIR}/${DISTDIR}/${dist}/usr/include/i386 -.endif +.for d in ${LIBCOMPAT_INCLUDE_DIRS} + -mkdir ${DESTDIR}/${DISTDIR}/${dist}/usr/include/${d} +.endfor .if ${MK_DEBUG_FILES} != "no" ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null @@ -1447,9 +1451,9 @@ distributeworld installworld stageworld: _installcheck_world .PHONY sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} -.if ${TARGET_ARCH} == "amd64" - echo "./${dist}/usr/include/i386 type=dir uname=root gname=wheel mode=0755" >> ${METALOG} -.endif +.for d in ${LIBCOMPAT_INCLUDE_DIRS} + echo "./${dist}/usr/include/${d} type=dir uname=root gname=wheel mode=0755" >> ${METALOG} +.endfor .for libcompat in ${libcompats} ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} @@ -2901,9 +2905,9 @@ native-xtools-install: .PHONY -p ${NXBDESTDIR}/usr >/dev/null ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${NXBDESTDIR}/usr/include >/dev/null -.if ${TARGET_ARCH} == "amd64" - mkdir -p ${NXBDESTDIR}/usr/include/i386 -.endif +.for d in ${LIBCOMPAT_INCLUDE_DIRS} + mkdir -p ${NXBDESTDIR}/usr/include/${d} +.endfor ${_+_}cd ${.CURDIR}; ${NXBMAKE} \ DESTDIR=${NXBDESTDIR} \ -DNO_ROOT \ @@ -3589,9 +3593,9 @@ _xi-mtree: .PHONY -p ${XDDESTDIR}/usr >/dev/null ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${XDDESTDIR}/usr/include >/dev/null -.if ${TARGET_ARCH} == "amd64" - mkdir -p ${XDDESTDIR}/usr/include/i386 -.endif +.for d in ${LIBCOMPAT_INCLUDE_DIRS} + mkdir -p ${XDDESTDIR}/usr/include/${d} +.endfor .for libcompat in ${libcompats} ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${XDDESTDIR}/usr >/dev/null From nobody Wed Jul 26 00:00:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Yts3JHjz4pMm2; Wed, 26 Jul 2023 00:00: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 4R9Yts2XdGz45Dt; Wed, 26 Jul 2023 00:00:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rvPhEatwXA+MTY6Or38TTVdBv/AX9vJwBAuMdhL/+Y4=; b=u8Yf2+qdetB9j73wOdVX9MrxM8RcrvncZUVbzPjRtRoPUAga8wf6kmLmpXkj67SbF8RssT 5j/hzY0YajXvz3jY5nlEOgHNZ4b+AbHp8yvHX0Bsrwrn7tzbpOJ+BnWcaIrpqsYg0u/7AE D8pCSDeYpa+Y8wUZQmD7IwqSBUcZUQ5Z6sxFq9cevukGxCLWpnfM1cd/Ea1o0ShNxDs3Zq G4hDg55qmQpracNn3CnOIeJhYfDOCBwfKmQFZBzGnSVe4DB252+havCJQIDcZlfhROVgw0 R6gxAd4sOtUiX+X2UjMKp13NcU6fDUFYfWcYx1DfAY3cA3Xc3DotbDunPhUbrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rvPhEatwXA+MTY6Or38TTVdBv/AX9vJwBAuMdhL/+Y4=; b=tsRBYyI9fV0+j2ctVsjZJijD6MGQGJVpditD5j6Lgdd/cRgEqayyBhiSah1OSbaf0KPMpo gAOt+dRoM1hnO2bcBPo10tpgXui4j6JaZvQ2PJB46Cd+vuvAgYzOyhwNmfq5bwRe0QPsKH a2CF0tTQLXMQT1cZewuEtJYOlAyBekuFf1+22fh5c0WMerJM4mNRcHNO2LzepjF3GLULBb OTMgh+BvfxJYv22BYzvwkOCrUqMu6SrHbQ+d7Q/wy/oANZpJd7YFD6lfKOy0VMyhdK2bk8 NYpMv5e+W80qv9sPEuo88mEnJlszppk5xHU52Izl65MfqDGZ3534JP8JoCoTGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690329621; a=rsa-sha256; cv=none; b=WmdejpV32boZdP7tz3piTZHqhPoRhTAsWFfjmGIzySMQV+AJNT3rENbp/vYWB0GqVhASDH 6cGEMQhyWBKlaCvXhMTO9c4nQnMFmcZpXhdvrjSoEqM85L1nZN8WS5fHsHnUavM3R9C9dF +k5JDvWiZMGUg0QLfya1SmXgTlNpVtU3dziI2mCl6lcb4VZxMyImJj1efDAdR8TYvAEfwR t589Nw8sTYzQ7sQJVqvJFhKkmjA3iX2AoeL1XTSZkOHxThksJXKyuVWLS5EIGOEQC4IoWz a5mA11wYApYcE1zOQlxR7hV9sYaSryVxkAb/cD+YAj4TCp40c0CU18CZ3exF6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Yts0v41zLMh; Wed, 26 Jul 2023 00:00: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 36Q00LtU087378; Wed, 26 Jul 2023 00:00:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q00LMa087377; Wed, 26 Jul 2023 00:00:21 GMT (envelope-from git) Date: Wed, 26 Jul 2023 00:00:21 GMT Message-Id: <202307260000.36Q00LMa087377@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: f1d5183124d3 - main - arm64 lib32: change clang to allow -m32 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: 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: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1d5183124d3e18d410ded61e45adb9a23b23c83 Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=f1d5183124d3e18d410ded61e45adb9a23b23c83 commit f1d5183124d3e18d410ded61e45adb9a23b23c83 Author: Mike Karels AuthorDate: 2023-07-25 23:58:51 +0000 Commit: Mike Karels CommitDate: 2023-07-25 23:58:51 +0000 arm64 lib32: change clang to allow -m32 on arm64 The FreeBSD driver support for clang tested explicitly for 32-bit Intel, MIPS, or PowerPC targets where /usr/lib32/libcrt1.o was present to decide whether -m32 should use /usr/lib32. At jrtc27's suggestion, simply test for a 32-bit platform rather than adding arm to the list. Upstreamed as https://github.com/llvm/llvm-project/commit/3450272fc281979388bb845a9fffb59b42cc2e7e Bump the freebsd version to force a bootstrap build. This is one step in adding support for -m32 on arm64. Reviewed by: jrtc27, brooks, dim Differential Revision: https://reviews.freebsd.org/D40943 --- contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp | 3 +-- lib/clang/freebsd_cc_version.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp index 2230295ccd74..80d49c28f497 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp @@ -377,8 +377,7 @@ FreeBSD::FreeBSD(const Driver &D, const llvm::Triple &Triple, // When targeting 32-bit platforms, look for '/usr/lib32/crt1.o' and fall // back to '/usr/lib' if it doesn't exist. - if ((Triple.getArch() == llvm::Triple::x86 || Triple.isMIPS32() || - Triple.isPPC32()) && + if (Triple.isArch32Bit() && D.getVFS().exists(concat(getDriver().SysRoot, "/usr/lib32/crt1.o"))) getFilePaths().push_back(concat(getDriver().SysRoot, "/usr/lib32")); else diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h index 82830fe2baee..e9737b10d337 100644 --- a/lib/clang/freebsd_cc_version.h +++ b/lib/clang/freebsd_cc_version.h @@ -1 +1 @@ -#define FREEBSD_CC_VERSION 1400005 +#define FREEBSD_CC_VERSION 1400006 From nobody Wed Jul 26 00:00:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Ytt3bQSz4pMcg; Wed, 26 Jul 2023 00:00: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 4R9Ytt2pMBz459N; Wed, 26 Jul 2023 00:00:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pf4Ya9384IUDO3VvJRcuiyB6Img+P37px6xpO3MEu4k=; b=TisCzpSG3kMrbbDHR/Hsprm5FCXVe6ASwiPwm/MEEt1O3EksqPy41GdfZrrs2EE9U0TyGP sjS1VQyAcoQjLw3YN+NwznXrvk6W1zMbK6vsvgHjfRW6iDjFavGsoDRaVRNmSWztrXTiDI arfLEzkSsPZp5V4Byee7/D8me+iv+xmHn+9EpbMAUKFM3u5AKnjg0H/8L/yJ8/3oE4FKvA pWXo6NxiPszKl7CqLV2MNaU+6Q/XDbp1m0fxl5lmToXmVCypltODBNkTfisTDBZe8Lzbqx rfNpDkqOesSuUFqVOQBagNee7We2cQu1RyNKmv9suLOg+EJlQ7NbwLobPd7hXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pf4Ya9384IUDO3VvJRcuiyB6Img+P37px6xpO3MEu4k=; b=DZXJqLC8rqHGDNes+n0DhbLRcpB4IZSOsrZfiUfyfnorpm/1cu7p/99ikVRhdExrH28ItY AaQVi3ev02QHmMWUWi1+qFQ4Thbt5LWNa0k/W6+dbjEOvZUOPCbkTloF62IBZ9PcpgNBto 0tn2p3zjfb7HUePT0joWwvSncbadqrVvARsEpaGdioVY0ymPo2/lTIRPC4wPSRwjoduZ/+ Vr4Qq1nmwQzhQycvBQIr67w2xPRRWU54DjWUMs2sMLsWHpcSLK0BrOfUicGQciQB6bTgFy oF03G0kTbMCOnexVNxBlE9c2gj22uKcfam2rhH5pT6xHjsWwsxN+lWLK3e2xmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690329622; a=rsa-sha256; cv=none; b=l6UfRb2jm+CqGGIep+NZSCi6KNPfPQhpXOznaC+CH1WO6AFooVHgniq4czPsiElHQ6GFHt GFZuksBu1dSTGLu1XVWBCm/YXnyDnXbHMmOpSVcD/Bq0w4SVFOIUhOpNeJrnXzUqMRyVAG XvoP9hcASiwrDBU4sEwLRMS4Jd/rEwWsanIPvCYE9p5ijt3YAkJcq4efYoqEg7A9pXBaM6 ihYz6ChMKKB5QfYneMx/UgcaVLcF76Y1QXDPXjlwb7SeumzA/zICX3QKG2KTZe7sJ2Xw1M sop4h8iLCvz7kSdTwYqro7eBK89OX4cqhEqfti8Hil77jBskHWbrjVWw5jwL/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 4R9Ytt1cbCzLMj; Wed, 26 Jul 2023 00:00: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 36Q00M1V087397; Wed, 26 Jul 2023 00:00:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q00MjE087396; Wed, 26 Jul 2023 00:00:22 GMT (envelope-from git) Date: Wed, 26 Jul 2023 00:00:22 GMT Message-Id: <202307260000.36Q00MjE087396@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: d5d97bed4ab6 - main - arm64 lib32: prepare arm64 headers to redirect to arm List-Id: Commit messages for all branches 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: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5d97bed4ab6bb63e97c8ff67b5b94ae37cd24fc Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=d5d97bed4ab6bb63e97c8ff67b5b94ae37cd24fc commit d5d97bed4ab6bb63e97c8ff67b5b94ae37cd24fc Author: Mike Karels AuthorDate: 2023-07-25 23:59:26 +0000 Commit: Mike Karels CommitDate: 2023-07-25 23:59:26 +0000 arm64 lib32: prepare arm64 headers to redirect to arm In order to compile lib32 libraries and other 32-bit code on arm64, needs to be redirected to an arm header rather than arm64 when building with -m32. Ifdef the arm64 headers that are installed in /usr/include/machine and used by user-level software (including references from /usr/include/*.h) so that if __arm__ is defined when including the arm64 version, is included rather than using the rest of the file's contents. Some arm headers had no arm64 equivalent; headers were added just to do the redirection. These files use #error if __arm__ is not defined to guard against confusion. Also add an include/arm Makefile, and modify Makefiles as needed to install everything, including the arm files in /usr/include/arm. fenv.h comes from lib/msun/arm/fenv.h. The new arm64 headers are: acle-compat.h cpuinfo.h sysreg.h Reviewed by: jrtc27, imp Differential Revision: https://reviews.freebsd.org/D40944 --- include/Makefile | 13 ++++++--- include/arm/Makefile | 60 +++++++++++++++++++++++++++++++++++++++++ lib/msun/aarch64/fenv.h | 6 +++++ sys/arm64/include/_align.h | 6 +++++ sys/arm64/include/_inttypes.h | 6 +++++ sys/arm64/include/_limits.h | 6 +++++ sys/arm64/include/_stdint.h | 6 +++++ sys/arm64/include/_types.h | 6 +++++ sys/arm64/include/acle-compat.h | 5 ++++ sys/arm64/include/armreg.h | 6 +++++ sys/arm64/include/asm.h | 6 +++++ sys/arm64/include/atomic.h | 6 +++++ sys/arm64/include/bus.h | 6 +++++ sys/arm64/include/counter.h | 6 +++++ sys/arm64/include/cpu.h | 6 +++++ sys/arm64/include/cpufunc.h | 6 +++++ sys/arm64/include/cpuinfo.h | 5 ++++ sys/arm64/include/efi.h | 6 +++++ sys/arm64/include/elf.h | 6 +++++ sys/arm64/include/exec.h | 6 +++++ sys/arm64/include/float.h | 6 +++++ sys/arm64/include/frame.h | 6 +++++ sys/arm64/include/ieeefp.h | 6 +++++ sys/arm64/include/param.h | 6 +++++ sys/arm64/include/pcb.h | 6 +++++ sys/arm64/include/pcpu.h | 6 +++++ sys/arm64/include/pcpu_aux.h | 6 +++++ sys/arm64/include/pmap.h | 6 +++++ sys/arm64/include/proc.h | 6 +++++ sys/arm64/include/profile.h | 6 +++++ sys/arm64/include/pte.h | 6 +++++ sys/arm64/include/reg.h | 6 +++++ sys/arm64/include/reloc.h | 6 +++++ sys/arm64/include/resource.h | 6 +++++ sys/arm64/include/runq.h | 6 +++++ sys/arm64/include/setjmp.h | 6 +++++ sys/arm64/include/sf_buf.h | 6 +++++ sys/arm64/include/signal.h | 6 +++++ sys/arm64/include/sysarch.h | 6 +++++ sys/arm64/include/sysreg.h | 5 ++++ sys/arm64/include/tls.h | 6 +++++ sys/arm64/include/ucontext.h | 6 +++++ sys/arm64/include/vdso.h | 6 +++++ sys/arm64/include/vfp.h | 6 +++++ sys/arm64/include/vmparam.h | 6 +++++ 45 files changed, 324 insertions(+), 4 deletions(-) diff --git a/include/Makefile b/include/Makefile index 922337a87772..ce8c49d3a7cd 100644 --- a/include/Makefile +++ b/include/Makefile @@ -9,7 +9,12 @@ PACKAGE=runtime CLEANFILES= osreldate.h version SUBDIR= arpa protocols rpcsvc rpc xlocale .if ${MACHINE_CPUARCH} == "amd64" -SUBDIR+= i386 +SUBDIR+= i386 +INCLUDE_SUBDIRS+= i386 +.endif +.if ${MACHINE_CPUARCH} == "aarch64" +SUBDIR+= arm +INCLUDE_SUBDIRS+= arm .endif SUBDIR_PARALLEL= INCS= a.out.h ar.h assert.h bitstring.h byteswap.h \ @@ -353,10 +358,10 @@ compat: mtree -deU ${NO_ROOT:D-W} ${MTREE_FOLLOWS_SYMLINKS} \ -f ${SRCTOP}/etc/mtree/BSD.include.dist \ -p ${SDESTDIR}${INCLUDEDIR} > /dev/null -.if ${MACHINE_CPUARCH} == "amd64" +.for d in ${INCLUDE_SUBDIRS} ${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \ - ${SDESTDIR}${INCLUDEDIR}/i386 -.endif + ${SDESTDIR}${INCLUDEDIR}/${d} +.endfor copies: .PHONY .META cd ${SDESTDIR}${INCLUDEDIR}; find ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto \ diff --git a/include/arm/Makefile b/include/arm/Makefile new file mode 100644 index 000000000000..1f596763df77 --- /dev/null +++ b/include/arm/Makefile @@ -0,0 +1,60 @@ +# arm headers installed on arm64 + +.PATH: ${SRCTOP}/sys/arm/include ${SRCTOP}/lib/msun/arm + +INCS= _align.h \ + _inttypes.h \ + _limits.h \ + _stdint.h \ + _types.h \ + acle-compat.h \ + armreg.h \ + asm.h \ + atomic.h \ + bus.h \ + counter.h \ + cpu.h \ + cpufunc.h \ + cpuinfo.h \ + efi.h \ + elf.h \ + exec.h \ + float.h \ + frame.h \ + ieeefp.h \ + param.h \ + pcb.h \ + pcpu.h \ + pmap.h \ + proc.h \ + profile.h \ + pte.h \ + reg.h \ + reloc.h \ + resource.h \ + runq.h \ + setjmp.h \ + signal.h \ + sysarch.h \ + sysreg.h \ + tls.h \ + ucontext.h \ + vdso.h \ + vfp.h \ + vmparam.h +# These kernel-only headers are used by procstat's ZFS support. +# This should be fixed. +INCS+= pcpu_aux.h \ + sf_buf.h +# from lib/msun/arm +INCS+= fenv.h +INCSDIR= ${INCLUDEDIR}/arm + +beforeinstall: armdir +META_TARGETS+= armdir + +armdir: + ${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/arm + +.include diff --git a/lib/msun/aarch64/fenv.h b/lib/msun/aarch64/fenv.h index 2a55db3a9545..80b3fdf4cc1b 100644 --- a/lib/msun/aarch64/fenv.h +++ b/lib/msun/aarch64/fenv.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* __arm__ */ + #ifndef _FENV_H_ #define _FENV_H_ @@ -244,3 +248,5 @@ fegetexcept(void) __END_DECLS #endif /* !_FENV_H_ */ + +#endif /* __arm__ */ diff --git a/sys/arm64/include/_align.h b/sys/arm64/include/_align.h index 3844133ffb68..5c153779aca3 100644 --- a/sys/arm64/include/_align.h +++ b/sys/arm64/include/_align.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE__ALIGN_H_ #define _MACHINE__ALIGN_H_ @@ -42,3 +46,5 @@ #define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) #endif /* !_MACHINE__ALIGN_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/_inttypes.h b/sys/arm64/include/_inttypes.h index df1af0b25df0..4c21d47f6c51 100644 --- a/sys/arm64/include/_inttypes.h +++ b/sys/arm64/include/_inttypes.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE__INTTYPES_H_ #define _MACHINE__INTTYPES_H_ @@ -211,3 +215,5 @@ #define SCNxPTR "lx" /* uintptr_t */ #endif /* !_MACHINE__INTTYPES_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/_limits.h b/sys/arm64/include/_limits.h index 39f0bcf0f5b2..d64a9afe1a1c 100644 --- a/sys/arm64/include/_limits.h +++ b/sys/arm64/include/_limits.h @@ -27,6 +27,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE__LIMITS_H_ #define _MACHINE__LIMITS_H_ @@ -83,3 +87,5 @@ #define __MINSIGSTKSZ (1024 * 4) #endif /* !_MACHINE__LIMITS_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/_stdint.h b/sys/arm64/include/_stdint.h index d73a9c088b59..6c978befc8b2 100644 --- a/sys/arm64/include/_stdint.h +++ b/sys/arm64/include/_stdint.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ @@ -156,3 +160,5 @@ #endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ #endif /* !_MACHINE__STDINT_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/_types.h b/sys/arm64/include/_types.h index 720900a270d4..69610b96fa3b 100644 --- a/sys/arm64/include/_types.h +++ b/sys/arm64/include/_types.h @@ -32,6 +32,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE__TYPES_H_ #define _MACHINE__TYPES_H_ @@ -67,3 +71,5 @@ typedef unsigned int ___wchar_t; #define __WCHAR_MAX __UINT_MAX /* max value for a wchar_t */ #endif /* !_MACHINE__TYPES_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/acle-compat.h b/sys/arm64/include/acle-compat.h new file mode 100644 index 000000000000..9954f27fd424 --- /dev/null +++ b/sys/arm64/include/acle-compat.h @@ -0,0 +1,5 @@ +#ifdef __arm__ +#include +#else /* !__arm__ */ +#error Do not include this header, used only for 32-bit compatibility +#endif /* !__arm__ */ diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index b40dfb206f99..f20b7a8c710e 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -29,6 +29,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_ARMREG_H_ #define _MACHINE_ARMREG_H_ @@ -1994,3 +1998,5 @@ #define ZCR_LEN_BYTES(x) ((((x) & ZCR_LEN_MASK) + 1) * 16) #endif /* !_MACHINE_ARMREG_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index b1d4ba50be9a..fbd09a5607c4 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_ASM_H_ #define _MACHINE_ASM_H_ @@ -113,3 +117,5 @@ isb #endif /* _MACHINE_ASM_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/atomic.h b/sys/arm64/include/atomic.h index b14cd303da3a..172bf051edf3 100644 --- a/sys/arm64/include/atomic.h +++ b/sys/arm64/include/atomic.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -670,3 +674,5 @@ atomic_thread_fence_seq_cst(void) #endif /* KCSAN && !KCSAN_RUNTIME */ #endif /* _MACHINE_ATOMIC_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/bus.h b/sys/arm64/include/bus.h index 902be0db3b62..4a43a8fb94c2 100644 --- a/sys/arm64/include/bus.h +++ b/sys/arm64/include/bus.h @@ -65,6 +65,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_BUS_H_ #define _MACHINE_BUS_H_ @@ -521,3 +525,5 @@ struct bus_space { #include #endif /* _MACHINE_BUS_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/counter.h b/sys/arm64/include/counter.h index 7f747b525d9c..513f67ac7f90 100644 --- a/sys/arm64/include/counter.h +++ b/sys/arm64/include/counter.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_COUNTER_H_ #define _MACHINE_COUNTER_H_ @@ -85,3 +89,5 @@ counter_u64_add(counter_u64_t c, int64_t inc) } #endif /* ! _MACHINE_COUNTER_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index 0bb320f2e0a0..6d83ef25793c 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -38,6 +38,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_CPU_H_ #define _MACHINE_CPU_H_ @@ -253,3 +257,5 @@ ADDRESS_TRANSLATE_FUNC(s1e1w) #endif #endif /* !_MACHINE_CPU_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h index f2de8a0e560c..b2ec5672aeb8 100644 --- a/sys/arm64/include/cpufunc.h +++ b/sys/arm64/include/cpufunc.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_CPUFUNC_H_ #define _MACHINE_CPUFUNC_H_ @@ -193,3 +197,5 @@ bool arm64_get_writable_addr(vm_offset_t, vm_offset_t *); #endif /* _KERNEL */ #endif /* _MACHINE_CPUFUNC_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/cpuinfo.h b/sys/arm64/include/cpuinfo.h new file mode 100644 index 000000000000..004f611ccf80 --- /dev/null +++ b/sys/arm64/include/cpuinfo.h @@ -0,0 +1,5 @@ +#ifdef __arm__ +#include +#else /* !__arm__ */ +#error Do not include this header, used only for 32-bit compatibility +#endif /* !__arm__ */ diff --git a/sys/arm64/include/efi.h b/sys/arm64/include/efi.h index 6db16e5b8291..3494c547362d 100644 --- a/sys/arm64/include/efi.h +++ b/sys/arm64/include/efi.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef __ARM64_INCLUDE_EFI_H_ #define __ARM64_INCLUDE_EFI_H_ @@ -58,3 +62,5 @@ struct efirt_callinfo { }; #endif /* __ARM64_INCLUDE_EFI_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/elf.h b/sys/arm64/include/elf.h index 22e968c632bf..0399392b8fb6 100644 --- a/sys/arm64/include/elf.h +++ b/sys/arm64/include/elf.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_ELF_H_ #define _MACHINE_ELF_H_ @@ -180,3 +184,5 @@ __ElfType(Auxinfo); #endif #endif /* !_MACHINE_ELF_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/exec.h b/sys/arm64/include/exec.h index da23dbe43a4f..00b6fc25f3a2 100644 --- a/sys/arm64/include/exec.h +++ b/sys/arm64/include/exec.h @@ -1 +1,7 @@ /* $FreeBSD$ */ + +#ifdef __arm__ +#include +#else /* !__arm__ */ +/* empty */ +#endif /* !__arm__ */ diff --git a/sys/arm64/include/float.h b/sys/arm64/include/float.h index 0829f6f52aa9..0fe90637fda1 100644 --- a/sys/arm64/include/float.h +++ b/sys/arm64/include/float.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_FLOAT_H_ #define _MACHINE_FLOAT_H_ @@ -92,3 +96,5 @@ __END_DECLS #endif /* __ISO_C_VISIBLE >= 2011 */ #endif /* _MACHINE_FLOAT_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/frame.h b/sys/arm64/include/frame.h index c838193bee9e..7a841ff160f1 100644 --- a/sys/arm64/include/frame.h +++ b/sys/arm64/include/frame.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_FRAME_H_ #define _MACHINE_FRAME_H_ @@ -77,3 +81,5 @@ struct sigframe32 { #endif /* !LOCORE */ #endif /* !_MACHINE_FRAME_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/ieeefp.h b/sys/arm64/include/ieeefp.h index 178721a65b1e..8c7166741c0c 100644 --- a/sys/arm64/include/ieeefp.h +++ b/sys/arm64/include/ieeefp.h @@ -4,6 +4,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_IEEEFP_H_ #define _MACHINE_IEEEFP_H_ @@ -41,3 +45,5 @@ extern fp_except_t fpsetmask(fp_except_t); __END_DECLS #endif /* _MACHINE_IEEEFP_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/param.h b/sys/arm64/include/param.h index c94b797f8cca..a44fa3fcd9d2 100644 --- a/sys/arm64/include/param.h +++ b/sys/arm64/include/param.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PARAM_H_ #define _MACHINE_PARAM_H_ @@ -130,3 +134,5 @@ #define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024)) #endif /* !_MACHINE_PARAM_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/pcb.h b/sys/arm64/include/pcb.h index 85c92727ca43..8eb342ecd0bc 100644 --- a/sys/arm64/include/pcb.h +++ b/sys/arm64/include/pcb.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PCB_H_ #define _MACHINE_PCB_H_ @@ -87,3 +91,5 @@ int savectx(struct pcb *pcb) __returns_twice; #endif /* !LOCORE */ #endif /* !_MACHINE_PCB_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/pcpu.h b/sys/arm64/include/pcpu.h index 38a8cd3c3e56..ebb72799d83f 100644 --- a/sys/arm64/include/pcpu.h +++ b/sys/arm64/include/pcpu.h @@ -27,6 +27,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PCPU_H_ #define _MACHINE_PCPU_H_ @@ -89,3 +93,5 @@ get_curthread(void) #endif /* _KERNEL */ #endif /* !_MACHINE_PCPU_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/pcpu_aux.h b/sys/arm64/include/pcpu_aux.h index 57637c50063a..fada4ed65fb5 100644 --- a/sys/arm64/include/pcpu_aux.h +++ b/sys/arm64/include/pcpu_aux.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PCPU_AUX_H_ #define _MACHINE_PCPU_AUX_H_ @@ -50,3 +54,5 @@ _Static_assert(PAGE_SIZE % sizeof(struct pcpu) == 0, "fix pcpu size"); extern struct pcpu pcpu0; #endif /* _MACHINE_PCPU_AUX_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index b855a811d3c0..5af90e6a3ca7 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -33,6 +33,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PMAP_H_ #define _MACHINE_PMAP_H_ @@ -198,3 +202,5 @@ void pmap_san_bootstrap(struct arm64_bootparams *); #endif /* !LOCORE */ #endif /* !_MACHINE_PMAP_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/proc.h b/sys/arm64/include/proc.h index eb5fe806088a..9538c3ea1e4a 100644 --- a/sys/arm64/include/proc.h +++ b/sys/arm64/include/proc.h @@ -31,6 +31,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PROC_H_ #define _MACHINE_PROC_H_ @@ -75,3 +79,5 @@ struct mdproc { #define KINFO_PROC32_SIZE 816 #endif /* !_MACHINE_PROC_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/profile.h b/sys/arm64/include/profile.h index f898e2707d65..0f077e4ba6ed 100644 --- a/sys/arm64/include/profile.h +++ b/sys/arm64/include/profile.h @@ -31,6 +31,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PROFILE_H_ #define _MACHINE_PROFILE_H_ @@ -89,3 +93,5 @@ mcount(uintfptr_t frompc) #endif /* !_KERNEL */ #endif /* !_MACHINE_PROFILE_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/pte.h b/sys/arm64/include/pte.h index c320d71bb0f6..f51ac49a5d5d 100644 --- a/sys/arm64/include/pte.h +++ b/sys/arm64/include/pte.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_PTE_H_ #define _MACHINE_PTE_H_ @@ -188,3 +192,5 @@ typedef uint64_t pt_entry_t; /* page table entry */ #endif /* !_MACHINE_PTE_H_ */ /* End of pte.h */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/reg.h b/sys/arm64/include/reg.h index 4e8ca4f4e834..027c02a59903 100644 --- a/sys/arm64/include/reg.h +++ b/sys/arm64/include/reg.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_REG_H_ #define _MACHINE_REG_H_ @@ -91,3 +95,5 @@ struct arm64_addr_mask { #define __HAVE_REG32 #endif /* !_MACHINE_REG_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/reloc.h b/sys/arm64/include/reloc.h index da23dbe43a4f..b6e2eb6f775c 100644 --- a/sys/arm64/include/reloc.h +++ b/sys/arm64/include/reloc.h @@ -1 +1,7 @@ /* $FreeBSD$ */ + +#ifdef __arm__ +#include +#else /* !__arm__ */ +/* empty */ +#endif /* !__arm__ */ diff --git a/sys/arm64/include/resource.h b/sys/arm64/include/resource.h index aef4fad4516d..82d36fe6beb7 100644 --- a/sys/arm64/include/resource.h +++ b/sys/arm64/include/resource.h @@ -29,6 +29,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_RESOURCE_H_ #define _MACHINE_RESOURCE_H_ 1 @@ -47,3 +51,5 @@ #endif #endif /* !_MACHINE_RESOURCE_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/runq.h b/sys/arm64/include/runq.h index eaeb824a6698..0dfd55d3b726 100644 --- a/sys/arm64/include/runq.h +++ b/sys/arm64/include/runq.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_RUNQ_H_ #define _MACHINE_RUNQ_H_ @@ -44,3 +48,5 @@ typedef unsigned long rqb_word_t; #endif + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/setjmp.h b/sys/arm64/include/setjmp.h index af11a246cd3f..a88452a55015 100644 --- a/sys/arm64/include/setjmp.h +++ b/sys/arm64/include/setjmp.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_SETJMP_H_ #define _MACHINE_SETJMP_H_ @@ -71,3 +75,5 @@ typedef struct _jmp_buf { __int128_t _jb[_JBLEN + 1]; } jmp_buf[1]; #endif /* __ASSEMBLER__ */ #endif /* !_MACHINE_SETJMP_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/sf_buf.h b/sys/arm64/include/sf_buf.h index 59f9009bd086..7e99ae379b8a 100644 --- a/sys/arm64/include/sf_buf.h +++ b/sys/arm64/include/sf_buf.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_SF_BUF_H_ #define _MACHINE_SF_BUF_H_ @@ -49,3 +53,5 @@ sf_buf_page(struct sf_buf *sf) return ((vm_page_t)sf); } #endif /* !_MACHINE_SF_BUF_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/signal.h b/sys/arm64/include/signal.h index 6c8ac5cabab5..2684a89952d7 100644 --- a/sys/arm64/include/signal.h +++ b/sys/arm64/include/signal.h @@ -32,6 +32,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_SIGNAL_H_ #define _MACHINE_SIGNAL_H_ @@ -48,3 +52,5 @@ struct sigcontext { #endif #endif /* !_MACHINE_SIGNAL_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/sysarch.h b/sys/arm64/include/sysarch.h index 4d6c547fd3df..22248cf1b867 100644 --- a/sys/arm64/include/sysarch.h +++ b/sys/arm64/include/sysarch.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + /* * Architecture specific syscalls (arm64) */ @@ -45,3 +49,5 @@ __END_DECLS #endif #endif /* !_MACHINE_SYSARCH_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/sysreg.h b/sys/arm64/include/sysreg.h new file mode 100644 index 000000000000..4ec435f9dcc1 --- /dev/null +++ b/sys/arm64/include/sysreg.h @@ -0,0 +1,5 @@ +#ifdef __arm__ +#include +#else /* !__arm__ */ +#error Do not include this header, used only for 32-bit compatibility +#endif /* !__arm__ */ diff --git a/sys/arm64/include/tls.h b/sys/arm64/include/tls.h index a3ec7f7952e8..c9db2bdfd708 100644 --- a/sys/arm64/include/tls.h +++ b/sys/arm64/include/tls.h @@ -28,6 +28,10 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_TLS_H_ #define _MACHINE_TLS_H_ @@ -53,3 +57,5 @@ _tcb_get(void) } #endif /* !_MACHINE_TLS_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/ucontext.h b/sys/arm64/include/ucontext.h index edb4cf8e63e3..d0b9296fe514 100644 --- a/sys/arm64/include/ucontext.h +++ b/sys/arm64/include/ucontext.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_UCONTEXT_H_ #define _MACHINE_UCONTEXT_H_ @@ -86,3 +90,5 @@ typedef struct __mcontext32_vfp { #endif /* COMPAT_FREEBSD32 */ #endif /* !_MACHINE_UCONTEXT_H_ */ + +#endif /* !__arm__ */ diff --git a/sys/arm64/include/vdso.h b/sys/arm64/include/vdso.h index fef74df39663..f84c980077ab 100644 --- a/sys/arm64/include/vdso.h +++ b/sys/arm64/include/vdso.h @@ -25,6 +25,10 @@ * $FreeBSD$ */ +#ifdef __arm__ +#include +#else /* !__arm__ */ + #ifndef _MACHINE_VDSO_H_ #define _MACHINE_VDSO_H_ @@ -37,3 +41,5 @@ #define VDSO_TIMEHANDS_MD32 VDSO_TIMEHANDS_MD *** 46 LINES SKIPPED *** From nobody Wed Jul 26 00:00:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Ytv3yJ6z4pMpM; Wed, 26 Jul 2023 00:00: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 4R9Ytv3QXkz45Nb; Wed, 26 Jul 2023 00:00:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZOq6N/mZzh+ZrSr5mO8Lm1T6I8p15No3ptCRgOOFuKI=; b=p26Z/0LPciEPopA3ujH/sMewD83BkTehatLETiJ9sLoTr+lKNG6ZipN55zRhKU+B6JBOfl 3+p8zJgSjgIC8h0UbXFaNXqdV7y1y9AX8w5YwXWVC+BtysmganGRojxhQUp6jOva/K1yeA 4htWub7OVOkoiNDnNj/pG5Er14uohCn39+3ry+ynovfrmiJNxOJc1kS3xm1Ym4CekTYmC0 ZL8xOtAwT2yUfGEbAdJzRXxCNPiUY1Yi23LayaYg9AyW683CnL+ahov4fP3kworKG43/Lm zWnfzzZIBTa8go1Am6zkIDinaanpTbgxOtvGcuedexBhLcsnndoEbJxNTIUrWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZOq6N/mZzh+ZrSr5mO8Lm1T6I8p15No3ptCRgOOFuKI=; b=fQ4Ohw0J1ST32tWMkWGtYHZ8UI+uobGMw85DYmQvxvjzQlAAMW8ZgHA7aBm8FwMO/Ntojx tE+vaDVVmVvSy8ZD0cl8lxlfNOKB/sxIkYdeYq01SOo+EFWJLBUoKhVHHRIDgo7igqXvvG H8RxCcV8dVjMvum5aBKDLweuWU3EJlTLNfUf32+DGD4NRTpQofuFdpmX4Spuk0JRyD2/Js Q2dLBMgU+fr0T++NsLhEKx5wxYbjkY7Yf6jJPcFLWQDaf251JabJ3yfRiU7awftipnaFpI jLnz7a3r3jONYPt8s1NOEZ1DDv0cH7T+SKOw+jZVlSjgvP/Nvm9q9Dtbig/QaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690329623; a=rsa-sha256; cv=none; b=B412aINKSzVgGU2b51A80d2X48jAt/4cNfdUbgCjRhL/cMvwRF+hsQHW7mm6halXPSnqPU jB7Bv3rggn+S5boZjWRgC7JkGAv/oROuSV9zKrt96ynlG2Ob/WvORohaRebyBWU38eJn5a 3060wiXFJyZvL0Zsw/r5IR3zHYs5B/6RD5zkYVRcEz1Qsh6QGFXf71508FbM7tHlr4CGBH pQoZcr2rDkZKPXA4gpisgmvnsUdXB9Zp5OQfhplVN4BqDwuT+U0tgtxAbZUQlbHNif7fD/ gjMkPAiuejYVPRXnUaCE+7WCnzvpJ6DfU7N00zWrXg6ShU4/OcLNjQ6B7mA8EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Ytv2LzszLhT; Wed, 26 Jul 2023 00:00: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 36Q00NEu087416; Wed, 26 Jul 2023 00:00:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q00N1E087415; Wed, 26 Jul 2023 00:00:23 GMT (envelope-from git) Date: Wed, 26 Jul 2023 00:00:23 GMT Message-Id: <202307260000.36Q00N1E087415@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: a1b675731301 - main - arm64 lib32: enable building of lib32 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: 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: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1b67573130114257fdd443c4ec9b54fbe2e5843 Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=a1b67573130114257fdd443c4ec9b54fbe2e5843 commit a1b67573130114257fdd443c4ec9b54fbe2e5843 Author: Mike Karels AuthorDate: 2023-07-25 23:59:52 +0000 Commit: Mike Karels CommitDate: 2023-07-25 23:59:52 +0000 arm64 lib32: enable building of lib32 on arm64 Enable LIB32 option on aarch64, defaulting to YES; it had defaulted to "broken". Add required variables for how to compile lib32 on arm. Use /usr/include/arm for armv7 (32-bit) headers, analogous to /usr/include/i386 on amd64. Omit libomp from lib32; it is not supported on armv7. Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D40945 --- Makefile.inc1 | 2 ++ Makefile.libcompat | 2 +- lib/Makefile | 2 +- share/mk/bsd.compat.mk | 19 +++++++++++++++++++ share/mk/src.opts.mk | 4 ++-- 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 415bc41a6726..53699a454ff6 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -163,6 +163,8 @@ _t= ${TARGET_ARCH}/${TARGET} .if ${TARGET_ARCH} == "amd64" LIBCOMPAT_INCLUDE_DIRS+= i386 +.elif ${TARGET_ARCH} == "aarch64" +LIBCOMPAT_INCLUDE_DIRS+= arm .endif .if ${.MAKE.OS} != "FreeBSD" diff --git a/Makefile.libcompat b/Makefile.libcompat index b21e27105e99..f9fe28e1082b 100644 --- a/Makefile.libcompat +++ b/Makefile.libcompat @@ -4,7 +4,7 @@ __<${_this:T}>__: # Makefile for the compatibility libraries. -# - 32-bit compat libraries on PowerPC, and AMD64. +# - 32-bit compat libraries on some 64-bit architectures .if defined(_LIBCOMPATS) diff --git a/lib/Makefile b/lib/Makefile index 47ff3cec7ebf..310935fdc26e 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -203,7 +203,7 @@ SUBDIR.${MK_PMC}+= libipt SUBDIR.${MK_BHYVE}+= libvmmapi .endif -.if ${MACHINE_ARCH} != "powerpc" +.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_CPUARCH} != "arm" SUBDIR.${MK_OPENMP}+= libomp .endif .if ${MK_USB} != "no" diff --git a/share/mk/bsd.compat.mk b/share/mk/bsd.compat.mk index cda3efd6cd63..49fbfe3bf8e2 100644 --- a/share/mk/bsd.compat.mk +++ b/share/mk/bsd.compat.mk @@ -63,6 +63,25 @@ LIB32_MACHINE= powerpc LIB32_MACHINE_ARCH= powerpc LIB32WMAKEFLAGS= \ LD="${XLD} -m elf32ppc_fbsd" + +.elif ${COMPAT_ARCH} == "aarch64" +HAS_COMPAT+= 32 +.if empty(LIB32CPUTYPE) +LIB32CPUFLAGS= -march=armv7 +.else +LIB32CPUFLAGS= -mcpu=${LIB32CPUTYPE} +.endif + +LIB32CPUFLAGS+= -m32 +.if ${COMPAT_COMPILER_TYPE} == "gcc" +.else +LIB32CPUFLAGS+= -target armv7-unknown-freebsd${OS_REVISION}-gnueabihf +.endif + +LIB32_MACHINE= arm +LIB32_MACHINE_ARCH= armv7 +LIB32WMAKEFLAGS= \ + LD="${XLD} -m armelf_fbsd" .endif LIB32WMAKEFLAGS+= NM="${XNM}" diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 0e9b5a052ffc..899d620fb0c1 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -297,8 +297,8 @@ __DEFAULT_YES_OPTIONS+=LLDB .else __DEFAULT_NO_OPTIONS+=LLDB .endif -# LIB32 is supported on amd64 and powerpc64 -.if (${__T} == "amd64" || ${__T} == "powerpc64") +# LIB32 is not supported on all 64-bit architectures. +.if (${__T} == "amd64" || ${__T:Maarch64*} != "" || ${__T} == "powerpc64") __DEFAULT_YES_OPTIONS+=LIB32 .else BROKEN_OPTIONS+=LIB32 From nobody Wed Jul 26 00:11:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Z7x3kb4z4pTX1; Wed, 26 Jul 2023 00: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 4R9Z7x2tgxz4B18; Wed, 26 Jul 2023 00: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=1690330301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wSngNzvMXiJ9LCaqgSUfnxPgDAaVPdZUFX5y/ATy8tM=; b=ok2/SITQk9jKl6Ymzw3jAInc90OtRLA/8b4ywCt8vwhWu2BkfyE+JcU8R64AfredfAPBI1 GpebmO9qBDTp7UF7imcXnv59gQbUsgQBJuvBlI6xesv2ae69XFoVxPvXq4gBVuXECVpJ1V 0xIZAdldZqJHIAQuDsj4hDDXnyt5av7K25fpcxmRJdLmdTpPbv8BQoj1aosW9Ac6oQH7JU oCauR+aVD7nfYhBN77nAakJSFIa+MVhbZRijEoL0hLsDs1uKG/2HcAvBbNbzjSrfkF+Hab PrlhaGpLFczbiftJm1e26+bGOXxOwkzhQ8yimvd86d5xx/Dnv1mHJUIxqWMW6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690330301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wSngNzvMXiJ9LCaqgSUfnxPgDAaVPdZUFX5y/ATy8tM=; b=J21QXjNR5dVpfw9iySx0Nb18kBLGjgqVbhPgqnkux7OQ+zsHSeM1UWqBQcxK2EHl0t5x2p MT78588oDKsj0rg2bZWTbrsizf4rNHa5K9yNR2qSDGWwmYxMUWPD+/yrwP4vnMvYiFeYpd oRCnXUCMVPLbWYcG0OOemoGIRAcOOglw/ixgt/cw6mYbLm8Xb+6+jS+riIJj7b6NPYxj/F EDZ7jUq3OQGzQXzMgUlVR7ykoYpIUE+9SNUitPeg0ZBpRyyCa77Y6+hCVcYzBv0ZdoS78Z XZYBHAmBP2C7p05eLkPfEwF2C0e5FsG3ymEz+KEZlzlY2foMlNG9WjCIvDkyVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690330301; a=rsa-sha256; cv=none; b=I8p/M6z181yfydfaDXXzzJpc93mOHRF2ykqt/DtT04902rj7DLCer95R9W8AeDBtmj6F3w 4IwQ+LsFlbxDohR2yMbD8Ql7DNplNVuUfQOYwpin+Zw6nFj4uIecUvCPK2EcBHf4CO1Jns MGNRDpFCh6OBj+k3uE3sHxrrH7qBOyi8si72IXtEcbXabq5YJ4bbTYqKAOXwTod0l7gN8x xGPrrnq4L96L9S299QpMAv7yfTdzdT57xfN6kahCkVUn0m2aiTrFO9ighwJJkTh8hJtYEb FOw58Fm/K/oM+3opy1jzRk/ahejm1nufSvksvY20cGhGT0UZ5LiGgllPf/UT1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Z7x1y8QzLVs; Wed, 26 Jul 2023 00: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 36Q0BfD2007110; Wed, 26 Jul 2023 00: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 36Q0BfRM007109; Wed, 26 Jul 2023 00:11:41 GMT (envelope-from git) Date: Wed, 26 Jul 2023 00:11:41 GMT Message-Id: <202307260011.36Q0BfRM007109@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: 215bab7924f6 - main - mac_ipacl: new MAC policy module to limit jail/vnet IP configuration List-Id: Commit messages for all branches 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 215bab7924f6c8e133a96431b3e2176d5fae1eff Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=215bab7924f6c8e133a96431b3e2176d5fae1eff commit 215bab7924f6c8e133a96431b3e2176d5fae1eff Author: Shivank Garg AuthorDate: 2023-07-25 20:27:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-07-26 00:07:57 +0000 mac_ipacl: new MAC policy module to limit jail/vnet IP configuration The mac_ipacl policy module enables fine-grained control over IP address configuration within VNET jails from the base system. It allows the root user to define rules governing IP addresses for jails and their interfaces using the sysctl interface. Requested by: multiple Sponsored by: Google, Inc. (GSoC 2019) MFC after: 2 months Reviewed by: bz, dch (both earlier versions) Differential Revision: https://reviews.freebsd.org/D20967 --- etc/mtree/BSD.tests.dist | 2 + share/man/man4/Makefile | 1 + share/man/man4/mac.4 | 4 +- share/man/man4/mac_ipacl.4 | 166 ++++++++++++++ sys/conf/NOTES | 1 + sys/conf/files | 1 + sys/conf/options | 1 + sys/modules/Makefile | 2 + sys/modules/mac_ipacl/Makefile | 9 + sys/netinet/in.c | 11 + sys/netinet6/in6.c | 10 + sys/security/mac/mac_framework.h | 9 + sys/security/mac/mac_inet.c | 11 + sys/security/mac/mac_inet6.c | 11 + sys/security/mac/mac_policy.h | 12 + sys/security/mac_ipacl/mac_ipacl.c | 453 +++++++++++++++++++++++++++++++++++++ tests/sys/mac/Makefile | 1 + tests/sys/mac/ipacl/Makefile | 11 + tests/sys/mac/ipacl/ipacl_test.sh | 282 +++++++++++++++++++++++ tests/sys/mac/ipacl/utils.subr | 18 ++ 20 files changed, 1015 insertions(+), 1 deletion(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index c8e88ad5705c..9312a6c2980b 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -815,6 +815,8 @@ mac bsdextended .. + ipacl + .. portacl .. .. diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index d42f77461805..6abe9375e606 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -292,6 +292,7 @@ MAN= aac.4 \ mac_bsdextended.4 \ mac_ddb.4 \ mac_ifoff.4 \ + mac_ipacl.4 \ mac_lomac.4 \ mac_mls.4 \ mac_none.4 \ diff --git a/share/man/man4/mac.4 b/share/man/man4/mac.4 index 9f52831a5f57..f91a1f50dc7c 100644 --- a/share/man/man4/mac.4 +++ b/share/man/man4/mac.4 @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 10, 2023 +.Dd July 25, 2023 .Dt MAC 4 .Os .Sh NAME @@ -57,6 +57,7 @@ Currently, the following MAC policy modules are shipped with .It Xr mac_bsdextended 4 Ta "File system firewall" Ta no Ta any time .It Xr mac_ddb 4 Ta "ddb(4) interface restrictions" Ta no Ta any time .It Xr mac_ifoff 4 Ta "Interface silencing" Ta no Ta any time +.It Xr mac_ipacl 4 Ta "IP Address access control" Ta no Ta any time .It Xr mac_lomac 4 Ta "Low-Watermark MAC policy" Ta yes Ta boot only .It Xr mac_mls 4 Ta "Confidentiality policy" Ta yes Ta boot only .It Xr mac_ntpd 4 Ta "Non-root NTP Daemon policy" Ta no Ta any time @@ -205,6 +206,7 @@ man page. .Xr mac_bsdextended 4 , .Xr mac_ddb 4 , .Xr mac_ifoff 4 , +.Xr mac_ipacl 4 , .Xr mac_lomac 4 , .Xr mac_mls 4 , .Xr mac_none 4 , diff --git a/share/man/man4/mac_ipacl.4 b/share/man/man4/mac_ipacl.4 new file mode 100644 index 000000000000..00f8f1f413b6 --- /dev/null +++ b/share/man/man4/mac_ipacl.4 @@ -0,0 +1,166 @@ +.\" Copyright (c) 2019, 2023 Shivank Garg +.\" +.\" This code was developed as a Google Summer of Code 2019 project +.\" under the guidance of Bjoern A. Zeeb. +.\" +.\" 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 25, 2023 +.Dt MAC_IPACL 4 +.Os +.Sh NAME +.Nm mac_ipacl +.Nd "IP Address access control policy" +.Sh SYNOPSIS +Add the following lines in your kernel configuration file to compile the +IP address access control policy into your kernel: +.Bd -ragged -offset indent +.Cd "options MAC" +.Cd "options MAC_IPACL" +.Ed +.Pp +To load the mac_ipacl policy module at boot time, add the +following line in your kernel configuration file: +.Bd -ragged -offset indent +.Cd "options MAC" +.Ed +.Pp +and in +.Xr loader.conf 5 add: +.Pp +.Dl "mac_ipacl_load=""YES""" +.Sh DESCRIPTION +The +.Nm +policy allows the root of the host to use the +.Xr sysctl 8 +interface to limit the +.Xr VNET 9 +jail's ability to set IPv4 and IPv6 addresses. +So, the host can +define rules for jails and their interfaces about IP addresses +with +.Xr sysctl 8 +MIBs. +.Pp +Its default behavior is to deny all IP addresses for the jail if +.Nm +policy is enforced and allow/deny IP (or subnets) according to the +.Va security.mac.ipacl.rules +string specified with +.Xr sysctl 8 +.Ss Runtime Configuration +The following +.Xr sysctl 8 +MIBs are used to control enforcement and behavior of this MAC Policy. +.Bl -tag -width indent +.It Va security.mac.ipacl.ipv4 +Enforce +.Nm +for IPv4 addresses. +(Default: 1). +.It Va security.mac.ipacl.ipv6 +Enforce +.Nm +for IPv6 addresses. +(Default: 1). +.It Va security.mac.ipacl.rules +The IP address access control list is specified in the following format: +.Pp +.Sm off +.D1 jid , allow , interface , addr_family , IP_addr / prefix Op @ jid , ... +.Sm on +.Bl -tag -width "interface" +.It jid +Describe the jail id of the jail for which the rule is written. +.It allow +1 for allow and 0 for deny. +Decides action performed for the rule. +.It interface +Name of the interface the rule is enforced for. +If the interface is left empty then it is a wildcard to enforce the +rule for all interfaces. +.It addr_family +Address family of the IP_addr. +The input to be given as AF_INET or AF_INET6 +string only. +.It IP_addr +IP address (or subnet) to be allowed/denied. +Action depends on the prefix length. +.It prefix +Prefix length of the subnet to be enforced by the policy. +-1 implies the policy is enforced for the individual IP address. +For a non-negative value, a range of IP addresses (present in subnet) +which is calculated as subnet = IP_addr & mask. +.El +.El +.Sh EXAMPLES +Behavior of the +.Nm +policy module for different inputs of sysctl variable: +.Bl -tag -width "1." +.It 1. +Assign ipv4=1, ipv6=0 and rules="1,1,,AF_INET,169.254.123.123/-1" +.Pp +It allow only 169.254.123.123 IPv4 address for all interfaces (wildcard) of jail 1. +It allows all IPv6 addresses since the policy is not enforced for IPv6. +.It 2. +Assign ipv4=1, ipv6=1 and rules="1,1,epair0b,AF_INET6,fe80::/32@1,0,epair0b,AF_INET6,fe80::abcd/-1" +.Pp +It denies all IPv4 addresses as the policy is enforced but no rules are specified +about it. +It allows all IPv6 addresses in subnet fe80::/32 except +fe80::abcd for interface epair0b only. +.It 3. +Assign ipv4=1, ipv6=1, rules="2,1,,AF_INET6,fc00::/7@2,0,,AF_INET6,fc00::1111:2200/120@2,1,,AF_INET6,fc00::1111:2299/-1@1,1,,AF_INET,198.51.100.0/24" +.Pp +It allows IPv4 in subnet 198.51.100.0/24 for jail 2 and +all interfaces. +It allows IPv6 addresses in subnet fc00::/7 but +denies subnet fc00::1111:2200/120, and allows individual IP +fc00::1111:2299 from the denied subnet for all interfaces in jail 2. +.El +Please refer to mac/ipacl tests-framework for wide variety of examples on using +the ipacl module. +.Sh LIMITATIONS/PRECAUTIONS +In the case where multiple rules are applicable to an IP address or +a set of IP addresses, the rule that is defined later in the list +determines the outcome, disregarding any previous rule for that IP +address. +.Sh FUTURE WORKS +Rules are given with sysctl interface which gets very complex to give them +all in command line. +It has to be simplified with a better way to input those rules. +.Sh SEE ALSO +.Xr mac 4 , +.Xr mac 9 +.Sh AUTHORS +The +.Nm +policy module was developed as a Google Summer of Code Project in 2019 +by +.An -nosplit +.An "Shivank Garg" Aq Mt shivank@FreeBSD.org +under the guidance of +.An "Bjoern A. Zeeb" Aq Mt bz@FreeBSD.org . diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 23ec7b5c45c9..895bdd0e2129 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1232,6 +1232,7 @@ options MAC_BIBA options MAC_BSDEXTENDED options MAC_DDB options MAC_IFOFF +options MAC_IPACL options MAC_LOMAC options MAC_MLS options MAC_NONE diff --git a/sys/conf/files b/sys/conf/files index 2c72d2ede0d3..0d5372dfedc6 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -5147,6 +5147,7 @@ security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended security/mac_bsdextended/ugidfw_system.c optional mac_bsdextended security/mac_bsdextended/ugidfw_vnode.c optional mac_bsdextended security/mac_ifoff/mac_ifoff.c optional mac_ifoff +security/mac_ipacl/mac_ipacl.c optional mac_ipacl security/mac_lomac/mac_lomac.c optional mac_lomac security/mac_mls/mac_mls.c optional mac_mls security/mac_none/mac_none.c optional mac_none diff --git a/sys/conf/options b/sys/conf/options index 6f1a488bf33f..78d712b7cdbb 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -158,6 +158,7 @@ MAC_BIBA opt_dontuse.h MAC_BSDEXTENDED opt_dontuse.h MAC_DDB opt_dontuse.h MAC_IFOFF opt_dontuse.h +MAC_IPACL opt_dontuse.h MAC_LOMAC opt_dontuse.h MAC_MLS opt_dontuse.h MAC_NONE opt_dontuse.h diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 20945548604f..2f9e9ec0f931 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -225,6 +225,7 @@ SUBDIR= \ ${_mac_bsdextended} \ ${_mac_ddb} \ ${_mac_ifoff} \ + ${_mac_ipacl} \ ${_mac_lomac} \ ${_mac_mls} \ ${_mac_none} \ @@ -581,6 +582,7 @@ _mac_bsdextended= mac_bsdextended _mac_ddb= mac_ddb .endif _mac_ifoff= mac_ifoff +_mac_ipacl= mac_ipacl _mac_lomac= mac_lomac _mac_mls= mac_mls _mac_none= mac_none diff --git a/sys/modules/mac_ipacl/Makefile b/sys/modules/mac_ipacl/Makefile new file mode 100644 index 000000000000..3ecc7564e70c --- /dev/null +++ b/sys/modules/mac_ipacl/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/security/mac_ipacl + +KMOD= mac_ipacl +SRCS= mac_ipacl.c +SRCS+= opt_inet.h opt_inet6.h + +.include diff --git a/sys/netinet/in.c b/sys/netinet/in.c index fa0d311bb563..76fd0c7a8281 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -77,6 +77,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef MAC +#include +#endif + static int in_aifaddr_ioctl(u_long, caddr_t, struct ifnet *, struct ucred *); static int in_difaddr_ioctl(u_long, caddr_t, struct ifnet *, struct ucred *); static int in_gifaddr_ioctl(u_long, caddr_t, struct ifnet *, struct ucred *); @@ -487,6 +491,13 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, struct ucred *cred if (vhid != 0 && carp_attach_p == NULL) return (EPROTONOSUPPORT); +#ifdef MAC + /* Check if a MAC policy disallows setting the IPv4 address. */ + error = mac_inet_check_add_addr(cred, &addr->sin_addr, ifp); + if (error != 0) + return (error); +#endif + /* * See whether address already exist. */ diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 24a2c20b0cca..7c8806c7a2cd 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -115,6 +115,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef MAC +#include +#endif + /* * struct in6_ifreq and struct ifreq must be type punnable for common members * of ifr_ifru to allow accessors to be shared. @@ -567,6 +571,12 @@ in6_control_ioctl(u_long cmd, void *data, break; case SIOCAIFADDR_IN6: +#ifdef MAC + /* Check if a MAC policy disallows setting the IPv6 address. */ + error = mac_inet6_check_add_addr(cred, &sa6->sin6_addr, ifp); + if (error != 0) + goto out; +#endif error = in6_addifaddr(ifp, ifra, ia); ia = NULL; break; diff --git a/sys/security/mac/mac_framework.h b/sys/security/mac/mac_framework.h index 8a1de6fe13e1..6ffd8e27bcb7 100644 --- a/sys/security/mac/mac_framework.h +++ b/sys/security/mac/mac_framework.h @@ -90,6 +90,9 @@ struct vattr; struct vnode; struct vop_setlabel_args; +struct in_addr; +struct in6_addr; + #include /* XXX acl_type_t */ #include /* accmode_t */ @@ -191,6 +194,12 @@ int mac_ifnet_ioctl_get(struct ucred *cred, struct ifreq *ifr, int mac_ifnet_ioctl_set(struct ucred *cred, struct ifreq *ifr, struct ifnet *ifp); +/* Check if the IP address is allowed for the interface. */ +int mac_inet_check_add_addr(struct ucred *cred, + const struct in_addr *ia, struct ifnet *ifp); +int mac_inet6_check_add_addr(struct ucred *cred, + const struct in6_addr *ia6, struct ifnet *ifp); + int mac_inpcb_check_deliver(struct inpcb *inp, struct mbuf *m); int mac_inpcb_check_visible(struct ucred *cred, struct inpcb *inp); void mac_inpcb_create(struct socket *so, struct inpcb *inp); diff --git a/sys/security/mac/mac_inet.c b/sys/security/mac/mac_inet.c index dd77a6825204..7dcdfd1decf4 100644 --- a/sys/security/mac/mac_inet.c +++ b/sys/security/mac/mac_inet.c @@ -108,6 +108,17 @@ mac_inpcb_init(struct inpcb *inp, int flag) return (0); } +/* Check with rules in module if the IPv4 address is allowed. */ +int +mac_inet_check_add_addr(struct ucred *cred, const struct in_addr *ia, + struct ifnet *ifp) +{ + int error; + + MAC_POLICY_CHECK(ip4_check_jail, cred, ia, ifp); + return (error); +} + static struct label * mac_ipq_label_alloc(int flag) { diff --git a/sys/security/mac/mac_inet6.c b/sys/security/mac/mac_inet6.c index cb0812bab785..16c78ee1a6bd 100644 --- a/sys/security/mac/mac_inet6.c +++ b/sys/security/mac/mac_inet6.c @@ -173,6 +173,17 @@ mac_ip6q_update(struct mbuf *m, struct ip6q *q6) q6->ip6q_label); } +/* Check with rules in module if the IPv6 address is allowed. */ +int +mac_inet6_check_add_addr(struct ucred *cred, const struct in6_addr *ia6, + struct ifnet *ifp) +{ + int error; + + MAC_POLICY_CHECK(ip6_check_jail, cred, ia6, ifp); + return (error); +} + void mac_netinet6_nd6_send(struct ifnet *ifp, struct mbuf *m) { diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h index 1f9a5485b136..1a6b19b79f85 100644 --- a/sys/security/mac/mac_policy.h +++ b/sys/security/mac/mac_policy.h @@ -104,6 +104,9 @@ struct ucred; struct vattr; struct vnode; +struct in_addr; +struct in6_addr; + /* * Policy module operations. */ @@ -248,6 +251,12 @@ typedef void (*mpo_ip6q_reassemble)(struct ip6q *q6, struct label *q6label, typedef void (*mpo_ip6q_update_t)(struct mbuf *m, struct label *mlabel, struct ip6q *q6, struct label *q6label); +/* Policy ops checking IPv4 and IPv6 address for ipacl. */ +typedef int (*mpo_ip4_check_jail_t)(struct ucred *cred, + const struct in_addr *ia, struct ifnet *ifp); +typedef int (*mpo_ip6_check_jail_t)(struct ucred *cred, + const struct in6_addr *ia6, struct ifnet *ifp); + typedef void (*mpo_ipq_create_t)(struct mbuf *m, struct label *mlabel, struct ipq *q, struct label *qlabel); typedef void (*mpo_ipq_destroy_label_t)(struct label *label); @@ -762,6 +771,9 @@ struct mac_policy_ops { mpo_inpcb_init_label_t mpo_inpcb_init_label; mpo_inpcb_sosetlabel_t mpo_inpcb_sosetlabel; + mpo_ip4_check_jail_t mpo_ip4_check_jail; + mpo_ip6_check_jail_t mpo_ip6_check_jail; + mpo_ip6q_create_t mpo_ip6q_create; mpo_ip6q_destroy_label_t mpo_ip6q_destroy_label; mpo_ip6q_init_label_t mpo_ip6q_init_label; diff --git a/sys/security/mac_ipacl/mac_ipacl.c b/sys/security/mac_ipacl/mac_ipacl.c new file mode 100644 index 000000000000..ed207f38dbb8 --- /dev/null +++ b/sys/security/mac_ipacl/mac_ipacl.c @@ -0,0 +1,453 @@ +/*- + * Copyright (c) 2003-2004 Networks Associates Technology, Inc. + * Copyright (c) 2006 SPARTA, Inc. + * Copyright (c) 2019, 2023 Shivank Garg + * + * This software was developed for the FreeBSD Project by Network + * Associates Laboratories, the Security Research Division of Network + * Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), + * as part of the DARPA CHATS research program. + * + * This software was enhanced by SPARTA ISSO under SPAWAR contract + * N66001-04-C-6019 ("SEFOS"). + * + * This code was developed as a Google Summer of Code 2019 project + * under the guidance of Bjoern A. Zeeb. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* + * The IP address access control policy module - mac_ipacl allows the root of + * the host to limit the VNET jail's privileges of setting IPv4 and IPv6 + * addresses via sysctl(8) interface. So, the host can define rules for jails + * and their interfaces about IP addresses. + * sysctl(8) is to be used to modify the rules string in following format- + * "jail_id,allow,interface,address_family,IP_addr/prefix_length[@jail_id,...]" + */ + +#include "opt_inet.h" +#include "opt_inet6.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +SYSCTL_DECL(_security_mac); + +static SYSCTL_NODE(_security_mac, OID_AUTO, ipacl, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "TrustedBSD mac_ipacl policy controls"); + +#ifdef INET +static int ipacl_ipv4 = 1; +SYSCTL_INT(_security_mac_ipacl, OID_AUTO, ipv4, CTLFLAG_RWTUN, + &ipacl_ipv4, 0, "Enforce mac_ipacl for IPv4 addresses"); +#endif + +#ifdef INET6 +static int ipacl_ipv6 = 1; +SYSCTL_INT(_security_mac_ipacl, OID_AUTO, ipv6, CTLFLAG_RWTUN, + &ipacl_ipv6, 0, "Enforce mac_ipacl for IPv6 addresses"); +#endif + +static MALLOC_DEFINE(M_IPACL, "ipacl_rule", "Rules for mac_ipacl"); + +#define MAC_RULE_STRING_LEN 1024 + +struct ipacl_addr { + union { +#ifdef INET + struct in_addr ipv4; +#endif +#ifdef INET6 + struct in6_addr ipv6; +#endif + u_int8_t addr8[16]; + u_int16_t addr16[8]; + u_int32_t addr32[4]; + } ipa; /* 128 bit address*/ +#ifdef INET +#define v4 ipa.ipv4 +#endif +#ifdef INET6 +#define v6 ipa.ipv6 +#endif +#define addr8 ipa.addr8 +#define addr16 ipa.addr16 +#define addr32 ipa.addr32 +}; + +struct ip_rule { + int jid; + bool allow; + bool subnet_apply; /* Apply rule on whole subnet. */ + char if_name[IFNAMSIZ]; + int af; /* Address family. */ + struct ipacl_addr addr; + struct ipacl_addr mask; + TAILQ_ENTRY(ip_rule) r_entries; +}; + +static struct mtx rule_mtx; +static TAILQ_HEAD(rulehead, ip_rule) rule_head; +static char rule_string[MAC_RULE_STRING_LEN]; + +static void +destroy_rules(struct rulehead *head) +{ + struct ip_rule *rule; + + while ((rule = TAILQ_FIRST(head)) != NULL) { + TAILQ_REMOVE(head, rule, r_entries); + free(rule, M_IPACL); + } +} + +static void +ipacl_init(struct mac_policy_conf *conf) +{ + mtx_init(&rule_mtx, "rule_mtx", NULL, MTX_DEF); + TAILQ_INIT(&rule_head); +} + +static void +ipacl_destroy(struct mac_policy_conf *conf) +{ + mtx_destroy(&rule_mtx); + destroy_rules(&rule_head); +} + +/* + * Note: parsing routines are destructive on the passed string. + */ +static int +parse_rule_element(char *element, struct ip_rule *rule) +{ + char *tok, *p; + int prefix; +#ifdef INET6 + int i; +#endif + + /* Should we support a jail wildcard? */ + tok = strsep(&element, ","); + if (tok == NULL) + return (EINVAL); + rule->jid = strtol(tok, &p, 10); + if (*p != '\0') + return (EINVAL); + tok = strsep(&element, ","); + if (tok == NULL) + return (EINVAL); + rule->allow = strtol(tok, &p, 10); + if (*p != '\0') + return (EINVAL); + tok = strsep(&element, ","); + if (strlen(tok) + 1 > IFNAMSIZ) + return (EINVAL); + /* Empty interface name is wildcard to all interfaces. */ + strlcpy(rule->if_name, tok, strlen(tok) + 1); + tok = strsep(&element, ","); + if (tok == NULL) + return (EINVAL); + rule->af = (strcmp(tok, "AF_INET") == 0) ? AF_INET : + (strcmp(tok, "AF_INET6") == 0) ? AF_INET6 : -1; + if (rule->af == -1) + return (EINVAL); + tok = strsep(&element, "/"); + if (tok == NULL) + return (EINVAL); + if (inet_pton(rule->af, tok, rule->addr.addr32) != 1) + return (EINVAL); + tok = element; + if (tok == NULL) + return (EINVAL); + prefix = strtol(tok, &p, 10); + if (*p != '\0') + return (EINVAL); + /* Value -1 for prefix make policy applicable to individual IP only. */ + if (prefix == -1) + rule->subnet_apply = false; + else { + rule->subnet_apply = true; + switch (rule->af) { +#ifdef INET + case AF_INET: + if (prefix < 0 || prefix > 32) + return (EINVAL); + + if (prefix == 0) + rule->mask.addr32[0] = htonl(0); + else + rule->mask.addr32[0] = + htonl(~((1 << (32 - prefix)) - 1)); + rule->addr.addr32[0] &= rule->mask.addr32[0]; + break; +#endif +#ifdef INET6 + case AF_INET6: + if (prefix < 0 || prefix > 128) + return (EINVAL); + + for (i = 0; prefix > 0; prefix -= 8, i++) + rule->mask.addr8[i] = prefix >= 8 ? 0xFF : + (u_int8_t)((0xFFU << (8 - prefix)) & 0xFFU); + for (i = 0; i < 16; i++) + rule->addr.addr8[i] &= rule->mask.addr8[i]; + break; +#endif + } + } + return (0); +} + +/* + * Format of Rule- jid,allow,interface_name,addr_family,ip_addr/subnet_mask + * Example: sysctl security.mac.ipacl.rules=1,1,epair0b,AF_INET,192.0.2.2/24 + */ +static int +parse_rules(char *string, struct rulehead *head) +{ + struct ip_rule *new; + char *element; + int error; + + error = 0; + while ((element = strsep(&string, "@")) != NULL) { + if (strlen(element) == 0) + continue; + + new = malloc(sizeof(*new), M_IPACL, M_ZERO | M_WAITOK); + error = parse_rule_element(element, new); + if (error != 0) { + free(new, M_IPACL); + goto out; + } + TAILQ_INSERT_TAIL(head, new, r_entries); + } +out: + if (error != 0) + destroy_rules(head); + return (error); +} + +static int +sysctl_rules(SYSCTL_HANDLER_ARGS) +{ + char *string, *copy_string, *new_string; + struct rulehead head, save_head; + int error; + + new_string = NULL; + if (req->newptr != NULL) { + new_string = malloc(MAC_RULE_STRING_LEN, M_IPACL, + M_WAITOK | M_ZERO); + mtx_lock(&rule_mtx); + strcpy(new_string, rule_string); + mtx_unlock(&rule_mtx); + string = new_string; + } else + string = rule_string; + + error = sysctl_handle_string(oidp, string, MAC_RULE_STRING_LEN, req); + if (error) + goto out; + + if (req->newptr != NULL) { + copy_string = strdup(string, M_IPACL); + TAILQ_INIT(&head); + error = parse_rules(copy_string, &head); + free(copy_string, M_IPACL); + if (error) + goto out; + + TAILQ_INIT(&save_head); + mtx_lock(&rule_mtx); + TAILQ_CONCAT(&save_head, &rule_head, r_entries); + TAILQ_CONCAT(&rule_head, &head, r_entries); + strcpy(rule_string, string); + mtx_unlock(&rule_mtx); + destroy_rules(&save_head); + } +out: + if (new_string != NULL) + free(new_string, M_IPACL); + return (error); +} +SYSCTL_PROC(_security_mac_ipacl, OID_AUTO, rules, + CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + 0, sysctl_rules, "A", "IP ACL Rules"); + +static int +rules_check(struct ucred *cred, + struct ipacl_addr *ip_addr, struct ifnet *ifp) +{ + struct ip_rule *rule; + int error; +#ifdef INET6 + int i; + bool same_subnet; +#endif + + error = EPERM; + + mtx_lock(&rule_mtx); + + /* + * In the case where multiple rules are applicable to an IP address or + * a set of IP addresses, the rule that is defined later in the list + * determines the outcome, disregarding any previous rule for that IP + * address. + * Walk the policy rules list in reverse order until rule applicable + * to the requested IP address is found. + */ + TAILQ_FOREACH_REVERSE(rule, &rule_head, rulehead, r_entries) { + /* Skip if current rule applies to different jail. */ + if (cred->cr_prison->pr_id != rule->jid) + continue; + + if (strcmp(rule->if_name, "\0") && + strcmp(rule->if_name, ifp->if_xname)) + continue; + + switch (rule->af) { +#ifdef INET + case AF_INET: + if (rule->subnet_apply) { + if (rule->addr.v4.s_addr != + (ip_addr->v4.s_addr & rule->mask.v4.s_addr)) + continue; + } else + if (ip_addr->v4.s_addr != rule->addr.v4.s_addr) + continue; + break; +#endif +#ifdef INET6 + case AF_INET6: + if (rule->subnet_apply) { + same_subnet = true; + for (i = 0; i < 16; i++) + if (rule->addr.v6.s6_addr[i] != + (ip_addr->v6.s6_addr[i] & + rule->mask.v6.s6_addr[i])) { + same_subnet = false; + break; + } + if (!same_subnet) + continue; + } else + if (bcmp(&rule->addr, ip_addr, + sizeof(*ip_addr))) + continue; + break; +#endif + } + + if (rule->allow) + error = 0; + break; + } + + mtx_unlock(&rule_mtx); + + return (error); +} + +/* + * Feature request: Can we make this sysctl policy apply to jails by default, + * but also allow it to be changed to apply to the base system? + */ +#ifdef INET +static int +ipacl_ip4_check_jail(struct ucred *cred, + const struct in_addr *ia, struct ifnet *ifp) +{ + struct ipacl_addr ip4_addr; + + ip4_addr.v4 = *ia; + + if (!jailed(cred)) + return (0); + + /* Checks with the policy only when it is enforced for ipv4. */ + if (ipacl_ipv4) + return rules_check(cred, &ip4_addr, ifp); + + return (0); +} +#endif + +#ifdef INET6 +static int +ipacl_ip6_check_jail(struct ucred *cred, + const struct in6_addr *ia6, struct ifnet *ifp) +{ + struct ipacl_addr ip6_addr; + + ip6_addr.v6 = *ia6; /* Make copy to not alter the original. */ + in6_clearscope(&ip6_addr.v6); /* Clear the scope id. */ + + if (!jailed(cred)) + return (0); + + /* Checks with the policy when it is enforced for ipv6. */ + if (ipacl_ipv6) + return rules_check(cred, &ip6_addr, ifp); + + return (0); +} +#endif + +static struct mac_policy_ops ipacl_ops = +{ + .mpo_init = ipacl_init, + .mpo_destroy = ipacl_destroy, +#ifdef INET + .mpo_ip4_check_jail = ipacl_ip4_check_jail, +#endif +#ifdef INET6 + .mpo_ip6_check_jail = ipacl_ip6_check_jail, +#endif +}; + +MAC_POLICY_SET(&ipacl_ops, mac_ipacl, "TrustedBSD MAC/ipacl", + MPC_LOADTIME_FLAG_UNLOADOK, NULL); diff --git a/tests/sys/mac/Makefile b/tests/sys/mac/Makefile index ae2c4917b0d1..f385b5cefb58 100644 --- a/tests/sys/mac/Makefile +++ b/tests/sys/mac/Makefile @@ -3,6 +3,7 @@ TESTSDIR= ${TESTSBASE}/sys/mac TESTS_SUBDIRS+= bsdextended +TESTS_SUBDIRS+= ipacl TESTS_SUBDIRS+= portacl .include diff --git a/tests/sys/mac/ipacl/Makefile b/tests/sys/mac/ipacl/Makefile new file mode 100644 index 000000000000..0da5d482de64 --- /dev/null +++ b/tests/sys/mac/ipacl/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +PACKAGE= tests *** 320 LINES SKIPPED *** From nobody Wed Jul 26 02:29:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9dBy6ft3z4p5vr; Wed, 26 Jul 2023 02:29: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 4R9dBy6F42z3rkf; Wed, 26 Jul 2023 02:29:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690338570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vscnDcEzkKBP8eosk4QVhZe8GMsLdXkzkcW+MCyyPq4=; b=WUW+/ZJJ3SSy9nWinr9c+6gQ92aTojJBU8UxW1S+7E1OrafvTR2UOUFqVPEG35PADPRv8T izjq83E4gcORpWrRZJGD/3ykMEfV9J4346xDRIEMYju1EbOiktIBuJWrkfwm5IkKACFN9g j1BGwEI2k21QdixFpnqc33Ws0c8XbbQtbf9x3lJQ8k87QeAM81xzjHvA2smt8ky5dPFwl6 ig/zUIMwmK88YxRilJyrCUJUmwlwE2U/G3BJvPWFgJS8AtKOsBIEF1Kl+7qdL2+OARCHtx 6oKCbtuOS4enuXE1nuUvFijz2dcPItWCRD1kRh+XwbgUo4ymfgrH3dRlUkgHQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690338570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vscnDcEzkKBP8eosk4QVhZe8GMsLdXkzkcW+MCyyPq4=; b=NfvYaTUoWrYjEN30zR07s/UiwIqIR2vHS5lR9dINN0cS31xQvkDhjsRhg5HCXXoQMnBqte VbwNZnVLwOynUD/gHdYmFhfOCkJsCoTepOYY7Gg8HdY4bqySbQeq1jyTJJ4WUXG135qC3X OnM8vxDwFlJWU6NLRyNOtNIxrESYYdcgZUYccX8KDijQ1aG28Snfzi+SGn+MjC2Xy1u60q WJYuS9n3GJcWTD3LJMMXOkWCP0gSrvh1id4wNgPV8tmT5auOkHk/9Bv2lhEJEPbwrWO7YY jbUDSIeWb2RJrxjNub6PJ/96+O8ukp/vCU/t3CyvR6Y7oNrA0Vr5IMyXRJyJvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690338570; a=rsa-sha256; cv=none; b=U6nvNhIiTXKvAOu83f6RXJDqzPjtOTLAevMiRjp87TQXGE+9zjQNrjUeBYfl+nsBo18DuF NSgh3r2KB3syDRotI8N6fQH4S9mjFRhAovmtsCwG7MdZ3cS8q6GcMs/Z6zubwSlLO+qYnb hF6n1brQ8MXsrTJu2fvg0AYkXhXpIJZcDQxBAhy2QuZtp4VLfTEmhnQ7aiUsJk58vULsyq 10aD7CHe8Xg6IywcIXjq4hOKyblU+qe9Z1qgStfYStX/0nYjf66TOzFWevU6qv7Lyue8kT ayHKKOgfGbDRlV+yh46RgR48F751sy4RMxDcnRQWlO+SSjSghpx/yhdLnnOlqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9dBy5HjyzQJ5; Wed, 26 Jul 2023 02:29: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 36Q2TU7c027309; Wed, 26 Jul 2023 02:29:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q2TUIS027308; Wed, 26 Jul 2023 02:29:30 GMT (envelope-from git) Date: Wed, 26 Jul 2023 02:29:30 GMT Message-Id: <202307260229.36Q2TUIS027308@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: d51bdf327d93 - main - Have fsdb(8) only mark a filesystem dirty when it is modified. List-Id: Commit messages for all branches 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d51bdf327d9381807cbeffead1ed3cc466bdb87b Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=d51bdf327d9381807cbeffead1ed3cc466bdb87b commit d51bdf327d9381807cbeffead1ed3cc466bdb87b Author: Kirk McKusick AuthorDate: 2023-07-26 02:27:59 +0000 Commit: Kirk McKusick CommitDate: 2023-07-26 02:29:05 +0000 Have fsdb(8) only mark a filesystem dirty when it is modified. Until this update, the fsdb(8) command always marked a filesystem as needing a full fsck unless it was run with the -n flag which allowed no changes to be made. This change tracks modifications to the filesystem. Two types of changes are tracked. The first type of changes are those that are not critical to the integrity of the filesystem such as changes to owner, group, time stamps, access mode, and generation number. The second type of changes are those that do affect the integrity of the filesystem including zeroing inodes, changing block pointers, directory entries, link counts, file lengths, file types, and file flags. When quitting having made no changes or only changes to data that is not critical to filesystem integrity, the clean state of the filesystem is left unchanged. But if filesystem critical data are changed then fsdb will set the unclean flag which will require a full fsck to be run before the filesystem can be mounted. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation --- sbin/fsdb/fsdb.c | 109 +++++++++++++++++++++++++++---------------------------- sbin/fsdb/fsdb.h | 3 +- 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/sbin/fsdb/fsdb.c b/sbin/fsdb/fsdb.c index 887a77dbb8cb..ceb4a884e885 100644 --- a/sbin/fsdb/fsdb.c +++ b/sbin/fsdb/fsdb.c @@ -63,6 +63,23 @@ static int find_blks64(uint64_t *buf, int size, uint64_t *blknum); static int find_indirblks32(uint32_t blk, int ind_level, uint32_t *blknum); static int find_indirblks64(uint64_t blk, int ind_level, uint64_t *blknum); +/* + * Track modifications to the filesystem. Two types of changes are tracked. + * The first type of changes are those that are not critical to the integrity + * of the filesystem such as owner, group, time stamps, access mode, and + * generation number. The second type of changes are those that do affect + * the integrity of the filesystem including zeroing inodes, changing block + * pointers, directory entries, link counts, file lengths, file types and + * file flags. + * + * When quitting having made no changes or only changes to data that is not + * critical to filesystem integrity, the clean state of the filesystem is + * left unchanged. But if filesystem critical data are changed then fsdb + * will set the unclean flag which will require a full fsck to be run + * before the filesystem can be mounted. + */ +static int fsnoncritmodified; /* filesystem non-critical modifications */ +static int fscritmodified; /* filesystem integrity critical mods */ struct inode curip; union dinode *curinode; ino_t curinum, ocurrent; @@ -119,9 +136,13 @@ main(int argc, char *argv[]) nflag? "Examining": "Editing", fsys, sblock.fs_fsmnt); rval = cmdloop(); if (!nflag) { - sblock.fs_clean = 0; /* mark it dirty */ - sbdirty(); - ckfini(0); + if (fscritmodified != 0) { + sblock.fs_clean = 0; /* mark it dirty */ + sbdirty(); + } + ckfini(fscritmodified ? 0 : sblock.fs_clean); + if (fscritmodified == 0) + exit(0); printf("*** FILE SYSTEM MARKED DIRTY\n"); printf("*** BE SURE TO RUN FSCK TO CLEAN UP ANY DAMAGE\n"); printf("*** IF IT IS MOUNTED, RE-MOUNT WITH -u -o reload\n"); @@ -167,36 +188,35 @@ struct cmdtable cmds[] = { { "help", "Print out help", 1, 1, FL_RO, helpfn }, { "?", "Print out help", 1, 1, FL_RO, helpfn }, { "inode", "Set active inode to INUM", 2, 2, FL_RO, focus }, - { "clri", "Clear inode INUM", 2, 2, FL_WR, zapi }, + { "clri", "Clear inode INUM", 2, 2, FL_CWR, zapi }, { "lookup", "Set active inode by looking up NAME", 2, 2, FL_RO | FL_ST, focusname }, { "cd", "Set active inode by looking up NAME", 2, 2, FL_RO | FL_ST, focusname }, { "back", "Go to previous active inode", 1, 1, FL_RO, back }, { "active", "Print active inode", 1, 1, FL_RO, active }, { "print", "Print active inode", 1, 1, FL_RO, active }, { "blocks", "Print block numbers of active inode", 1, 1, FL_RO, blocks }, - { "uplink", "Increment link count", 1, 1, FL_WR, uplink }, - { "downlink", "Decrement link count", 1, 1, FL_WR, downlink }, - { "linkcount", "Set link count to COUNT", 2, 2, FL_WR, linkcount }, + { "uplink", "Increment link count", 1, 1, FL_CWR, uplink }, + { "downlink", "Decrement link count", 1, 1, FL_CWR, downlink }, + { "linkcount", "Set link count to COUNT", 2, 2, FL_CWR, linkcount }, { "findblk", "Find inode owning disk block(s)", 2, 33, FL_RO, findblk}, { "ls", "List current inode as directory", 1, 1, FL_RO, ls }, - { "rm", "Remove NAME from current inode directory", 2, 2, FL_WR | FL_ST, rm }, - { "del", "Remove NAME from current inode directory", 2, 2, FL_WR | FL_ST, rm }, - { "ln", "Hardlink INO into current inode directory as NAME", 3, 3, FL_WR | FL_ST, ln }, - { "chinum", "Change dir entry number INDEX to INUM", 3, 3, FL_WR, chinum }, + { "rm", "Remove NAME from current inode directory", 2, 2, FL_CWR | FL_ST, rm }, + { "del", "Remove NAME from current inode directory", 2, 2, FL_CWR | FL_ST, rm }, + { "ln", "Hardlink INO into current inode directory as NAME", 3, 3, FL_CWR | FL_ST, ln }, + { "chinum", "Change dir entry number INDEX to INUM", 3, 3, FL_CWR, chinum }, { "chname", "Change dir entry number INDEX to NAME", 3, 3, FL_WR | FL_ST, chname }, - { "chtype", "Change type of current inode to TYPE", 2, 2, FL_WR, newtype }, + { "chtype", "Change type of current inode to TYPE", 2, 2, FL_CWR, newtype }, { "chmod", "Change mode of current inode to MODE", 2, 2, FL_WR, chmode }, - { "chlen", "Change length of current inode to LENGTH", 2, 2, FL_WR, chlen }, { "chown", "Change owner of current inode to OWNER", 2, 2, FL_WR, chowner }, { "chgrp", "Change group of current inode to GROUP", 2, 2, FL_WR, chgroup }, - { "chflags", "Change flags of current inode to FLAGS", 2, 2, FL_WR, chaflags }, + { "chflags", "Change flags of current inode to FLAGS", 2, 2, FL_CWR, chaflags }, { "chgen", "Change generation number of current inode to GEN", 2, 2, FL_WR, chgen }, - { "chsize", "Change size of current inode to SIZE", 2, 2, FL_WR, chsize }, + { "chsize", "Change size of current inode to SIZE", 2, 2, FL_CWR, chsize }, { "btime", "Change btime of current inode to BTIME", 2, 2, FL_WR, chbtime }, { "mtime", "Change mtime of current inode to MTIME", 2, 2, FL_WR, chmtime }, { "ctime", "Change ctime of current inode to CTIME", 2, 2, FL_WR, chctime }, { "atime", "Change atime of current inode to ATIME", 2, 2, FL_WR, chatime }, - { "chdb", "Change db pointer N of current inode to BLKNO", 3, 3, FL_WR, chdb }, + { "chdb", "Change db pointer N of current inode to BLKNO", 3, 3, FL_CWR, chdb }, { "quit", "Exit", 1, 1, FL_RO, quit }, { "q", "Exit", 1, 1, FL_RO, quit }, { "exit", "Exit", 1, 1, FL_RO, quit }, @@ -280,7 +300,7 @@ cmdloop(void) known = 0; for (cmdp = cmds; cmdp->cmd; cmdp++) { if (!strcmp(cmdp->cmd, cmd_argv[0])) { - if ((cmdp->flags & FL_WR) == FL_WR && nflag) + if ((cmdp->flags & (FL_CWR | FL_WR)) != 0 && nflag) warnx("`%s' requires write access", cmd_argv[0]), rval = 1; else if (cmd_argc >= cmdp->minargc && @@ -294,6 +314,12 @@ cmdloop(void) } else rval = argcount(cmdp, cmd_argc, cmd_argv); known = 1; + if (rval == 0) { + if ((cmdp->flags & FL_WR) != 0) + fsnoncritmodified = 1; + if ((cmdp->flags & FL_CWR) != 0) + fscritmodified = 1; + } break; } } @@ -308,7 +334,7 @@ cmdloop(void) return 0; } if (rval) - warnx("rval was %d", rval); + warnx("command failed, return value was %d", rval); } el_end(elptr); history_end(hist); @@ -930,30 +956,8 @@ CMDFUNCSTART(newtype) return 0; } -CMDFUNCSTART(chlen) -{ - int rval = 1; - long len; - char *cp; - - if (!checkactive()) - return 1; - - len = strtol(argv[1], &cp, 0); - if (cp == argv[1] || *cp != '\0' || len < 0) { - warnx("bad length `%s'", argv[1]); - return 1; - } - - DIP_SET(curinode, di_size, len); - inodirty(&curip); - printactive(0); - return rval; -} - CMDFUNCSTART(chmode) { - int rval = 1; long modebits; char *cp; @@ -970,12 +974,11 @@ CMDFUNCSTART(chmode) DIP_SET(curinode, di_mode, DIP(curinode, di_mode) | modebits); inodirty(&curip); printactive(0); - return rval; + return 0; } CMDFUNCSTART(chaflags) { - int rval = 1; u_long flags; char *cp; @@ -995,12 +998,11 @@ CMDFUNCSTART(chaflags) DIP_SET(curinode, di_flags, flags); inodirty(&curip); printactive(0); - return rval; + return 0; } CMDFUNCSTART(chgen) { - int rval = 1; long gen; char *cp; @@ -1013,19 +1015,19 @@ CMDFUNCSTART(chgen) return 1; } - if (gen > INT_MAX || gen < INT_MIN) { - warnx("gen set beyond 32-bit range of field (%lx)\n", gen); + if (gen > UINT_MAX) { + warnx("gen set beyond 32-bit range of field (0x%lx), max is 0x%x\n", + gen, UINT_MAX); return(1); } DIP_SET(curinode, di_gen, gen); inodirty(&curip); printactive(0); - return rval; + return 0; } CMDFUNCSTART(chsize) { - int rval = 1; off_t size; char *cp; @@ -1045,7 +1047,7 @@ CMDFUNCSTART(chsize) DIP_SET(curinode, di_size, size); inodirty(&curip); printactive(0); - return rval; + return 0; } CMDFUNC(chdb) @@ -1080,7 +1082,6 @@ CMDFUNC(chdb) CMDFUNCSTART(linkcount) { - int rval = 1; int lcnt; char *cp; @@ -1100,12 +1101,11 @@ CMDFUNCSTART(linkcount) DIP_SET(curinode, di_nlink, lcnt); inodirty(&curip); printactive(0); - return rval; + return 0; } CMDFUNCSTART(chowner) { - int rval = 1; unsigned long uid; char *cp; struct passwd *pwd; @@ -1127,12 +1127,11 @@ CMDFUNCSTART(chowner) DIP_SET(curinode, di_uid, uid); inodirty(&curip); printactive(0); - return rval; + return 0; } CMDFUNCSTART(chgroup) { - int rval = 1; unsigned long gid; char *cp; struct group *grp; @@ -1153,7 +1152,7 @@ CMDFUNCSTART(chgroup) DIP_SET(curinode, di_gid, gid); inodirty(&curip); printactive(0); - return rval; + return 0; } int diff --git a/sbin/fsdb/fsdb.h b/sbin/fsdb/fsdb.h index fee35886f675..d13caa3c0e93 100644 --- a/sbin/fsdb/fsdb.h +++ b/sbin/fsdb/fsdb.h @@ -49,7 +49,8 @@ struct cmdtable { unsigned int flags; #define FL_RO 0x0000 /* for symmetry */ #define FL_WR 0x0001 /* wants to write */ -#define FL_ST 0x0002 /* resplit final string if argc > maxargc */ +#define FL_CWR 0x0002 /* wants to write critical data */ +#define FL_ST 0x0003 /* resplit final string if argc > maxargc */ int (*handler)(int argc, char *argv[]); }; extern struct inode curip; From nobody Wed Jul 26 02:44:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9dWt4XB5z4pJBF; Wed, 26 Jul 2023 02:44:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R9dWt407Qz3xqB; Wed, 26 Jul 2023 02:44:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690339450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QlCZtx6cfPQve8xaLaY765tiBCfQGWhvko6ehmLMKRk=; b=qE+CTaWPNbihVtB3J67YjzQtdkpf/vtj2Erwc95lNLu9UfTYtzsKJDJRNcxoJdRbZD5yxw /UyGELrpHgHIxhDjIHn++ZP0pIvBhJyAAEmqKmAgXubD1nrOxNj8L4dX+XE3IXDq56/YCT bKhXX/vuvAgIjFEJRbyji+Pmvhxh+aMmzwVnwOtttOXhKiYL0XOAPUBiGGuZVK5nr0MuVN a4AeYwrGiuDKhuXgOsIPabCJVvUfVwlsICVNTSr9IhLgedKGrvpXFxGGcjMN31n0mxngRl gZn9w8xknLihG0XZ3/i3AJ/tgLiCiadUqU0AHYIYQZyDKGRnwckdvkqr9fuYqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690339450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QlCZtx6cfPQve8xaLaY765tiBCfQGWhvko6ehmLMKRk=; b=o8+4e1OZRBrGIQ1KDXCo9w9E7YrUHDtUO45ibRuMp60w75FbRXBzBGUTFakJvAMaoh1mR3 BAy2Q8ffhSK3IS33nZlH0Axn87iWgGzZ6DKimC37tGYOiSzD4MM41V9JNOYGa2O5nw8Ai0 Vh2YMFg+oei2rFmv5negc6BWoo4gJtbY8DChmTAzj2JQIfL5MIiQNgUakjsgfdzV0Q/lCt YvoHGyfzDdR4ilzqy6Ii8fqb8wGQrod7Sa+Cb0qy0CiC/wIABR7HU2gIdWiET3M2KFF9LD 0WTxaLuvqT3kG7yn0jGt4bPDpimmPYnfR8NiMOPChaaFDdJYe4m2WoDWrgMobw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690339450; a=rsa-sha256; cv=none; b=hds/Wwh5m3gZg6xo/k/KpDDmZ1qAaMmKQYwQfryUVPIdePib7h56itvZcepTiMO066w/k6 fyt3Vi9REuT1zQAvLt7rWMscbTK6UMC+Bl9uXzcnRoGNSMsKmDQw0GsPNiA4xwGnkxboRa T4e2X5DrnRbtkBg5OP409pGfNKLXvJMU15PtgmtevgdYzsHmJbvYtgjXfTno/UXfVi2jQv Z2ttgqpwmbedKgb00pL8M1bbv1RhPjavhGzc+nGLsjdNRbwWyezbjMLzClN5Xm8Rp6EV/3 VMAaIGNUgKpOLhjVhx2d4x0oxuSv0XAvnkDY5kIJmnZvtYJnQmv3PSNBIPlTaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9dWt2kC4zQvP; Wed, 26 Jul 2023 02:44: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 36Q2iAIp058860; Wed, 26 Jul 2023 02:44:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q2iALv058859; Wed, 26 Jul 2023 02:44:10 GMT (envelope-from git) Date: Wed, 26 Jul 2023 02:44:10 GMT Message-Id: <202307260244.36Q2iALv058859@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: d059e44b800a - main - Add quitclean command to fsdb(8) to request a filesystem not be marked dirty. List-Id: Commit messages for all branches 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d059e44b800a308822ad920c28f948a1afcc0fa3 Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=d059e44b800a308822ad920c28f948a1afcc0fa3 commit d059e44b800a308822ad920c28f948a1afcc0fa3 Author: Kirk McKusick AuthorDate: 2023-07-26 02:42:41 +0000 Commit: Kirk McKusick CommitDate: 2023-07-26 02:42:41 +0000 Add quitclean command to fsdb(8) to request a filesystem not be marked dirty. A new command, quitclean, is added to fsdb(8) to request that the filesystem not be marked as needing a full fsck(8). This is useful when creating deliberately bad filesystem images to be used to check that fsck is properly able to clean them up. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation --- sbin/fsdb/fsdb.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sbin/fsdb/fsdb.c b/sbin/fsdb/fsdb.c index ceb4a884e885..2d8c75cce5fe 100644 --- a/sbin/fsdb/fsdb.c +++ b/sbin/fsdb/fsdb.c @@ -163,6 +163,7 @@ CMDFUNC(uplink); /* incr link */ CMDFUNC(downlink); /* decr link */ CMDFUNC(linkcount); /* set link count */ CMDFUNC(quit); /* quit */ +CMDFUNC(quitclean); /* quit with filesystem marked clean */ CMDFUNC(findblk); /* find block */ CMDFUNC(ls); /* list directory */ CMDFUNC(rm); /* remove name */ @@ -217,6 +218,7 @@ struct cmdtable cmds[] = { { "ctime", "Change ctime of current inode to CTIME", 2, 2, FL_WR, chctime }, { "atime", "Change atime of current inode to ATIME", 2, 2, FL_WR, chatime }, { "chdb", "Change db pointer N of current inode to BLKNO", 3, 3, FL_CWR, chdb }, + { "quitclean", "Exit with filesystem marked clean", 1, 1, FL_RO, quitclean }, { "quit", "Exit", 1, 1, FL_RO, quit }, { "q", "Exit", 1, 1, FL_RO, quit }, { "exit", "Exit", 1, 1, FL_RO, quit }, @@ -402,6 +404,16 @@ CMDFUNCSTART(quit) return -1; } +CMDFUNCSTART(quitclean) +{ + if (fscritmodified) { + printf("Warning: modified filesystem marked clean\n"); + fscritmodified = 0; + sblock.fs_clean = 1; + } + return -1; +} + CMDFUNCSTART(uplink) { if (!checkactive()) From nobody Wed Jul 26 05:25:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9j6B0YLdz4pYtc; Wed, 26 Jul 2023 05:25: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 4R9j6B01nLz438X; Wed, 26 Jul 2023 05:25:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690349138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W+Cg7tBp0RRbwH8L5i85mfWFJio/piPjUPDrICLX7Xs=; b=OvSscbVBcitx4LjXcB1X83v7Y8IZl78YB8/NimYAlYNJ6f4gnp8QubtX3KjjBws3hb6vhT uhWG1T7EGBQzT03E9mKdeibZV68gRnBEgDI3wM8OaFR9PGdQcSyf97liHhg0rDEpg951SP nUA86EtVPgVEgv6dRecAt2BdLE15sE6BgIonYNMKYafFmK5TjrHJ+ZF1zrrIESdJ29vivv 3/kFaJY8+P7XpONrbrCq/A+ce/VxpOKOSGgilXRxOEdykoqPBZfeyI22J9UL+fTHZmwlZk ve2yMZ6v4VcXzsGs6eB7LqZDJP9HpZLeMEoDei4kluqdtrH2CyDv76/eagNh6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690349138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W+Cg7tBp0RRbwH8L5i85mfWFJio/piPjUPDrICLX7Xs=; b=h+W7QOq9+TXGqcuIStYFB7ZFg5kgHwMV2tz1MacL4RFtRMoMddmxxA2takfXd0zOmhrFfO Az4GBokcVKXdSgSNdTOAelX3c021hP6MJb7l9Hhv73pH+55f+df/czIKer6v8cWGYI/IxN VE2usjU9w97sTR+YCIdMDatYohRhsUOBUT+wR2aWCd/+9cAjSRRddDIBB9mYXlI2tlUwY7 JCrDjTv/40FcPgtf3g0w3SqqZyJBEnUGWDPPt5nPrzJAAfZDIL4XBb/WELOavdWGsR6WGc urrmzNiF299FY1/ZjUzJx7MjQkiyhZTReztKKE0MuQ6ZgQPcfL0zNyxdz++oyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690349138; a=rsa-sha256; cv=none; b=p2rIl263CJuc5mLQSzIAFhtx+WgZDNqTJ4RTKngxqumOckXV2AbKaW7xFLdTjwOlVCJUIe Mwu1s1nt/fEpiiidnOJIOoHnj2455z+2EXeOZZngCkjt+vdMyMOiFdZMoQz8n9SFaV0w9K fonc5WRJ0MMkpdrCKCANrjB+6AnSV5+RyiU5nKLNIhvcRvA7BHnezIOxuUXR/f2uJ9Ep7I rLSycahfYZoMeOfB2db2w7B1Ty0RE0V8bxUFEXA5aeeSWx5xdbeY+XLTH1KpNr9nLb7joY p/9HYQ4dVb7c8PMWcjB54nv1z5sQcPVHg2I0JClHC6JElJKKdGkUMrvGLCEAxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9j696DDPzW45; Wed, 26 Jul 2023 05:25: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 36Q5Pbgw027007; Wed, 26 Jul 2023 05:25:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q5PbRm027006; Wed, 26 Jul 2023 05:25:37 GMT (envelope-from git) Date: Wed, 26 Jul 2023 05:25:37 GMT Message-Id: <202307260525.36Q5PbRm027006@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: 50d663b14b31 - main - vm: Fix vm_map_find_min() List-Id: Commit messages for all branches 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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 50d663b14b310d6020b4b6cc92d4fae985f086f2 Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=50d663b14b310d6020b4b6cc92d4fae985f086f2 commit 50d663b14b310d6020b4b6cc92d4fae985f086f2 Author: Alan Cox AuthorDate: 2023-07-25 07:24:19 +0000 Commit: Alan Cox CommitDate: 2023-07-26 05:24:50 +0000 vm: Fix vm_map_find_min() Fix the handling of address hints that are less than min_addr by vm_map_find_min(). Reported by: dchagin Reviewed by: kib Fixes: d8e6f4946cec0 "vm: Fix anonymous memory clustering under ASLR" Differential Revision: https://reviews.freebsd.org/D41159 --- sys/vm/vm_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 444e09986d4e..eb607d519247 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2255,10 +2255,10 @@ vm_map_find_min(vm_map_t map, vm_object_t object, vm_ooffset_t offset, int rv; hint = *addr; - if (hint == 0) + if (hint == 0) { cow |= MAP_NO_HINT; - if (hint < min_addr) *addr = hint = min_addr; + } for (;;) { rv = vm_map_find(map, object, offset, addr, length, max_addr, find_space, prot, max, cow); From nobody Wed Jul 26 05:37:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9jNK1DhSz4pjRh; Wed, 26 Jul 2023 05:37: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 4R9jNJ5Tz1z46sD; Wed, 26 Jul 2023 05:37:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690349872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6r6II68ntkYIzweH/Zk9YJHQTZbCjQyyfy9Njw9PQwA=; b=AhyrsadML8irh6JrjwjdQInorh0OrY514fLulKdhfJspw+eSCrKQCqunsRzzOPGffMZrF1 Ljcq87IVV0EAE5fImZKkNVzTAp7I+lfAmUKZWKOJKWFIPkIN2hCqtZaoW9bLZGCDT8/e+/ k7mVyGT7DPl+HJXTBWnyM0YthfaSIBZpkHj/F58tK80RQS8B1Nw1lNoamQRiIH+KjjTz05 qp4rMzVgS8J2XJaniYMYJhXrndZHotFGmkP0lT0yMTVf/R5RoTrYVY3UsJTqhpYgHCI2SD AfBjZ/s//hoPnJLlRRVhLwR2bnl/RUte2e9uAnrBCL6S0e6RFf+kgHLPipjgKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690349872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6r6II68ntkYIzweH/Zk9YJHQTZbCjQyyfy9Njw9PQwA=; b=Z4nipQXULpiQHCozc+xi7+OTLOqqi2wt7bMqMCgv2ef4o2OzcdqChG5e0+17lGbJMZL0sR 1RPhAcm1FOc4ljI/H37CBhtzrD5DjLkbQB/kSmicmHU14FYJZW24labBs7iwbLWQg6U5Yd QQPcz85MCPfkKfOA48iT7DzelFhmx5V77GpeOWeW8VOzVtXPRNtFIB8WQJaZeu5wZHpueJ texi210rv3vkg/lrgmctJb7Y7Ibn52XIYtKNwCz+AlWW3DhCqB6tZGCW7MS6fXLMLwJNo8 NwagAHWI/805+QNhEFwUV94oO4FnTUC9ytolzVtKjKggovSeE8pzpxXMOKyyxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690349872; a=rsa-sha256; cv=none; b=nnXRY7IGmMWlgO7lcLK9fiRJEmUJakZp3koZqZWUA5KGsJfPX5G/bYHt5wqXVljOc01onF vIx55MrPzjuZuI9uA1i7EtG43uwCUINqDIeJfXjpaT3y1VanRg5nCNEW76xbGKhe0t9cs6 UnKU/Bl2Z2B0xeO1+L7/pInu31+lMDcSrNX4vIkLih42GPCbgwUpOSThbqoCqiRMu0w3jX XL2/6rsZ1NbBaIfswL2mJDVZQos7ZJkv8gpksdJfpFHzxWPtdyrSHDE+kZZLWRLg1+wKHp acb24uaMmmIL/myNYcbdtIAINgoX30NF1kiUQHLmbT44fOBC+xlQ3g6IlhgAcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9jNJ4XyFzW4v; Wed, 26 Jul 2023 05:37: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 36Q5bqfL043238; Wed, 26 Jul 2023 05:37:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q5bqTh043237; Wed, 26 Jul 2023 05:37:52 GMT (envelope-from git) Date: Wed, 26 Jul 2023 05:37:52 GMT Message-Id: <202307260537.36Q5bqTh043237@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: a98a0090b2ba - main - arm64 pmap: Eliminate unnecessary TLB invalidations List-Id: Commit messages for all branches 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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a98a0090b2ba64ff0bc3cf71a00fb5f9e31fc1d3 Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=a98a0090b2ba64ff0bc3cf71a00fb5f9e31fc1d3 commit a98a0090b2ba64ff0bc3cf71a00fb5f9e31fc1d3 Author: Alan Cox AuthorDate: 2023-07-23 07:11:43 +0000 Commit: Alan Cox CommitDate: 2023-07-26 05:37:13 +0000 arm64 pmap: Eliminate unnecessary TLB invalidations Eliminate unnecessary TLB invalidations by pmap_kenter(), pmap_qenter(), and pmap_mapbios() when the old page table entries were invalid. While I'm here, correct some nearby whitespace issues. MFC after: 2 weeks --- sys/arm64/arm64/pmap.c | 49 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 379296f375ae..fa09d2026550 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1972,19 +1972,20 @@ void pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode) { pd_entry_t *pde; - pt_entry_t *pte, attr; + pt_entry_t attr, old_l3e, *pte; vm_offset_t va; int lvl; KASSERT((pa & L3_OFFSET) == 0, - ("pmap_kenter: Invalid physical address")); + ("pmap_kenter: Invalid physical address")); KASSERT((sva & L3_OFFSET) == 0, - ("pmap_kenter: Invalid virtual address")); + ("pmap_kenter: Invalid virtual address")); KASSERT((size & PAGE_MASK) == 0, ("pmap_kenter: Mapping is not page-sized")); attr = ATTR_DEFAULT | ATTR_S1_AP(ATTR_S1_AP_RW) | ATTR_S1_XN | ATTR_S1_IDX(mode) | L3_PAGE; + old_l3e = 0; va = sva; while (size != 0) { pde = pmap_pde(kernel_pmap, va, &lvl); @@ -1993,13 +1994,21 @@ pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode) KASSERT(lvl == 2, ("pmap_kenter: Invalid level %d", lvl)); pte = pmap_l2_to_l3(pde, va); - pmap_load_store(pte, PHYS_TO_PTE(pa) | attr); + old_l3e |= pmap_load_store(pte, PHYS_TO_PTE(pa) | attr); va += PAGE_SIZE; pa += PAGE_SIZE; size -= PAGE_SIZE; } - pmap_s1_invalidate_range(kernel_pmap, sva, va, true); + if ((old_l3e & ATTR_DESCR_VALID) != 0) + pmap_s1_invalidate_range(kernel_pmap, sva, va, true); + else { + /* + * Because the old entries were invalid and the new mappings + * are not executable, an isb is not required. + */ + dsb(ishst); + } } void @@ -2082,11 +2091,12 @@ void pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count) { pd_entry_t *pde; - pt_entry_t *pte, pa, attr; + pt_entry_t attr, old_l3e, pa, *pte; vm_offset_t va; vm_page_t m; int i, lvl; + old_l3e = 0; va = sva; for (i = 0; i < count; i++) { pde = pmap_pde(kernel_pmap, va, &lvl); @@ -2100,11 +2110,19 @@ pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count) attr = ATTR_DEFAULT | ATTR_S1_AP(ATTR_S1_AP_RW) | ATTR_S1_XN | ATTR_S1_IDX(m->md.pv_memattr) | L3_PAGE; pte = pmap_l2_to_l3(pde, va); - pmap_load_store(pte, PHYS_TO_PTE(pa) | attr); + old_l3e |= pmap_load_store(pte, PHYS_TO_PTE(pa) | attr); va += L3_SIZE; } - pmap_s1_invalidate_range(kernel_pmap, sva, va, true); + if ((old_l3e & ATTR_DESCR_VALID) != 0) + pmap_s1_invalidate_range(kernel_pmap, sva, va, true); + else { + /* + * Because the old entries were invalid and the new mappings + * are not executable, an isb is not required. + */ + dsb(ishst); + } } /* @@ -6441,7 +6459,7 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size) { struct pmap_preinit_mapping *ppim; vm_offset_t va, offset; - pd_entry_t *pde; + pd_entry_t old_l2e, *pde; pt_entry_t *l2; int i, lvl, l2_blocks, free_l2_count, start_idx; @@ -6501,6 +6519,7 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size) /* Map L2 blocks */ pa = rounddown2(pa, L2_SIZE); + old_l2e = 0; for (i = 0; i < l2_blocks; i++) { pde = pmap_pde(kernel_pmap, va, &lvl); KASSERT(pde != NULL, @@ -6511,14 +6530,22 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size) /* Insert L2_BLOCK */ l2 = pmap_l1_to_l2(pde, va); - pmap_load_store(l2, + old_l2e |= pmap_load_store(l2, PHYS_TO_PTE(pa) | ATTR_DEFAULT | ATTR_S1_XN | ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | L2_BLOCK); va += L2_SIZE; pa += L2_SIZE; } - pmap_s1_invalidate_all(kernel_pmap); + if ((old_l2e & ATTR_DESCR_VALID) != 0) + pmap_s1_invalidate_all(kernel_pmap); + else { + /* + * Because the old entries were invalid and the new + * mappings are not executable, an isb is not required. + */ + dsb(ishst); + } va = preinit_map_va + (start_idx * L2_SIZE); From nobody Wed Jul 26 10:05:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9qJx38fvz4pFCr; Wed, 26 Jul 2023 10:05: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 4R9qJx2kC8z3kkY; Wed, 26 Jul 2023 10:05:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690365921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/+OjvvTkpQSXGWCEadoQcFQpiURIrthlozmvGbXGQpU=; b=gcrDOH91qPh7hQymxCDlg1FRY/O7E+l7YyK1QrG2231XEJ/5ztVdE0zMsjZoaQ7Qw2GvSs 7imWYTnaOYGbe1jjFoP19S2uZeJLY6ErE5JCj/nqWhueRalgaHkoc42RzkeiKaOnoi2pCF QYYsNnq5HKtx3eMaRHsn5yxalK/motas7W0uLqLx50w/N36nm6DbY8D5ZpgfP8hU0mWcSZ +Lfc0lHCA7zW85i34OcyA7hqQSUgEwDatS26Kb5xA7JWZvl43irSLP0UCDfacY5KY4XUbo uL/ogi3MoW1rNwT254DIg70Rt0dlRlMRipLx0Tb+wPw1uoc5f+FC4h3OsZbJIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690365921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/+OjvvTkpQSXGWCEadoQcFQpiURIrthlozmvGbXGQpU=; b=JTeX/DOdEDZ7cI00nmafIjwhczdLTb+DWCQCiUe+C1DRF7ORO/aQrg0Ol4qmmdvQNhE5DE ahJ2SuhQONAQj67yl6xlLFzJEVAwElNDOSSURnMNS5fMOfz5KToTDgxD82bVd0+7JXTI6e S+ItvLrl0bo1S8bU9juouhxnu5VxXn2Y72G5FcXIkEzELo9uSpQnHrCwdVOK0gIkAsHMvm Lql8HQzuKzNlsiA1FKqS1iU5YsCl4aGyKlNrIvMp2TR9mZZ2z7Yfm/Is/rTUC/7FI2XvIT cBvIq2QY+S4eDxV6wEhFixx2x5tOR7WO7YCgYAblHPfna9Q4Eo4zhIZKelVtLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690365921; a=rsa-sha256; cv=none; b=QeI93unHTgVWAyNsEjVUcqbv53Y/komntD779JIbXR+GHcEThBysn9KxiK3ajFiI7CEsRd 34jaYvN8B3nLG6Pr3xiylqtVmaJN/WxNmP5TzrGCBp4v87gVTsP4WDOVhhpahpMgLlIgA1 FSlNGhmnK0TSUVuNjXQs+SgoJkYSwOuCOksqcnFDsjR/NecVh8D8tfjjKuYOq3pl1XU4AW PnR57bY/jvJ8ncgpJx+3X+wmIucG633uTiXH4walI++IsGXqCI2vQT0b68LDPaA02jEpXl 2YU8EtJMax/tU7y1JXscTRYOJqijuMKt4REh5wJ8O8fURp7z4raCjyKm5LkviQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9qJx1pVhzdZk; Wed, 26 Jul 2023 10:05: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 36QA5LF4091447; Wed, 26 Jul 2023 10:05:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QA5Lck091446; Wed, 26 Jul 2023 10:05:21 GMT (envelope-from git) Date: Wed, 26 Jul 2023 10:05:21 GMT Message-Id: <202307261005.36QA5Lck091446@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: 6422599e74db - main - libpfct: ensure the initial allocation is large enough List-Id: Commit messages for all branches 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: 6422599e74db4bb8b47cead46760d96601d8396a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6422599e74db4bb8b47cead46760d96601d8396a commit 6422599e74db4bb8b47cead46760d96601d8396a Author: Kristof Provost AuthorDate: 2023-07-26 08:30:22 +0000 Commit: Kristof Provost CommitDate: 2023-07-26 08:30:22 +0000 libpfct: ensure the initial allocation is large enough Ensure that we allocate enough memory for the packed nvlist, no matter what size hint was provided. MFC after: 1 week Reported by: R. Christian McDonald Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 28ec89cd2aed..f2cdaebd7592 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -68,6 +68,8 @@ pfctl_do_ioctl(int dev, uint cmd, size_t size, nvlist_t **nvl) int ret; data = nvlist_pack(*nvl, &nvlen); + if (nvlen > size) + size = nvlen; retry: nv.data = malloc(size); From nobody Wed Jul 26 10:35:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9qzy6jlHz4pggP; Wed, 26 Jul 2023 10:35: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 4R9qzy5qbTz3xXD; Wed, 26 Jul 2023 10:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690367742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MhQltr1NOIhEdC56+gYM+UmmxSn4xv1/DGLeMleyz5s=; b=G2FxSXNgm3zUOtOIYOhXociT9lQf5mXJrLzGahU8d3a593ORRsZVRiiHpm6gp634BTjN7m AoaEmjAvGwHKM9zVfoAvC4uO5sY8ecEP6Wr6Tmajd1nyLXwgQWcnsUq8zMy0xuZTzYSNHK rCBBRs9LMgtf/XB9Z3WW/lfnQLPPY8wAJFiXFAcfpawrIXnXR6xIaGsrEEWKmWqvNUxbB0 HhCZ8BpjFmTPFTrkfQzuOeuXxlHXioHtfOJSmRoIvxcy4UGgg0nSzCRn8m6xF8EPDOINMi /rk/RmsnuodvfYBGp589gI+JPsphfj8mHt7noGLz2xt7qgCD9s+C/eynDLhLyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690367742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MhQltr1NOIhEdC56+gYM+UmmxSn4xv1/DGLeMleyz5s=; b=l+FtBeNqNnMTI+U9TXugvTRemgPTPl45fC/3dzu5sC36UmPIqGwU3IN6mHEMxVCFLwcYRz q8IQ7YECGv05gyF6HXR4LPD+GuES7LsnFQWvK7mm6LZyWVZ2LReo6JgzlGC6sTBNazr7lV cb1A7BfQIiFMsBOUthmp7p+qmDnt7qSFDRopKG1Nx0lg96zf+PYPOhFfm1znWU2Jnh4eAq oMY+2BZm9BdIr6D1uqqE57r3gqwNp0CJO5ABV3ZDRTeNbvB7XmKn1F0tEReSMdkc43P1+0 oDKqQn7P+wjUgJaQ4/edwxXT5BsoK9lBPKDA+BdIOW8rCpkiAbDUtlMfFIf4kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690367742; a=rsa-sha256; cv=none; b=A6RfKEg3EA8+P07R5PSRaeavTZz+7lSwrU01WQnoTpiw99CSmwfhrBWuAI07dc1UDTuuKq YUp1i/MvOZ7W8ax+lAGC+mfSc63rxk5Z1krK9uXPd/J61NIehQa2BnBpLDwMKBDsIVzoxh BFpMuDqG4hPOv5DxzwrvbLCfe8h3SZ2+c4NaM5//hiCTed2EDuz/OjPkhxdBCvQBxiEpAe Vc6E7lzxNjsd0evvQ7JpA6rw8vzUN8hoIa0LIjSxl+5VvsxbPL24ke1tOZqEVb/jLUtXy9 5vPBzw16lC5ufqaW8wzYuLfCeBGQryJxvzrTrUrdXE9J0DMfUdsl2Iv703kA3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9qzy4w5gzfGD; Wed, 26 Jul 2023 10:35: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 36QAZghm040982; Wed, 26 Jul 2023 10:35:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QAZg6V040981; Wed, 26 Jul 2023 10:35:42 GMT (envelope-from git) Date: Wed, 26 Jul 2023 10:35:42 GMT Message-Id: <202307261035.36QAZg6V040981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: bb255cee9382 - main - tzsetup: fix "misleading indentation" warning with -DVERBOSE List-Id: Commit messages for all branches 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: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bb255cee93828c6a885057d9227efe698a9a6b44 Auto-Submitted: auto-generated The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=bb255cee93828c6a885057d9227efe698a9a6b44 commit bb255cee93828c6a885057d9227efe698a9a6b44 Author: Yuri Pankov AuthorDate: 2023-07-26 10:33:42 +0000 Commit: Yuri Pankov CommitDate: 2023-07-26 10:33:42 +0000 tzsetup: fix "misleading indentation" warning with -DVERBOSE --- usr.sbin/tzsetup/tzsetup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 56013f013673..4865e4571bd3 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -713,7 +713,7 @@ install_zoneinfo_file(const char *zoneinfo_file) snprintf(prompt, sizeof(prompt), "Creating symbolic link %s to %s", path_localtime, zoneinfo_file); - message_zoneinfo_file("Info", prompt); + message_zoneinfo_file("Info", prompt); #endif if (reallydoit) { From nobody Wed Jul 26 11:28:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9s9Q320yz4pKWD; Wed, 26 Jul 2023 11:28: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 4R9s9Q2XZ2z4LG0; Wed, 26 Jul 2023 11: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=1690370938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pa0Kz8GgpR0oepT2v3xc9x7shvWIwP2GHZ3o2Kydt9w=; b=Gjjz8D/qn61eZYueUKO2BeybcvqZ88C39QLUSqLeXA7/bwF1nGsRoFEVeuBi8M8r6+CoVn JQUHet76CZvw0C+Nw8/SdmaUG/Qp1aO8oNEkhAmJhnBFR6ICHSrbCZGGCfhLqzkn+7gG5e IQawBeHbA9L/crfvoVWAuCFnkxm2wmrczKCe5owwpXzutq6b83bpZ3YHj/nScpS8s98Qs+ ncQU0HzUgvwt1A2fgmFfioNP5jm5mMIfbh3AUx2kmmBF2y36wvx4LWE2wcKllVH7viPptF V8H1Hsl1FkuI9TNgCMuEycu70XBHuoZYPtzEGafWhQF0ORhDQt1AIh0/J/ZRqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690370938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pa0Kz8GgpR0oepT2v3xc9x7shvWIwP2GHZ3o2Kydt9w=; b=rz0tAYnb6bVr//IPnY+tt+Uit3Iuhmvn1vmuWty3s8MnxpLT7niQHAnUCBES2NpsNtgzlt TemIu6tr3U8f9SkfZ0Mzqc5prhQ/H6tb74o/SH5nv6JRz2p+hrQaKPu4vHg1+rozUpGkqr e8U7QdeJCGh0zbgYtopLd8v01AI8Uu85teyjQ2+JwgshiHcL2fnAHYuUUYcwl8mtYjxGDG hayjQJYcm+bFMe9AXqaSDfBJxebeCF+p/JJZudlJnf1FrGs0P0WBRxEIvLq9ew314H0SGd JG7QJzjE2430FcTBpPW04XHnhwVSfOPZAcVD8n2CFzBlD9AZGRTkORSLtXLHeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690370938; a=rsa-sha256; cv=none; b=hU/71vkH46uhno9GCpEhBs8WeFk4yTSjzir2+eR1YgLKQ9UcBJC5IYEaiiL3UW9Lz+nnl4 F1mN7QC5BRbzxeJwWm3Uos+ZusaImmqmQVR8O4fJnbbeEb4Gpba0nOPK0xlRdjWJz/WlsT VedMuXAwbDfvkDC/cjucYo2Ul9HFkxbzDf7Tjk6+2HzOKkfI8eNCpBJ/1Q1yCquhCOR2NG hfFPVcFq8faOlD+PxrezRE+kWZMrANhR5J5ND2SvaRMg2Q3+toRetjU4S72FYTq+xpFGMY kJpFwpgFJ3fJSN3Jp9dGutVfIKB+5gIDqrpgivzSejgVjHYN6OsRNdPkgF7N1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9s9Q1XFGzghF; Wed, 26 Jul 2023 11: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 36QBSwvv024120; Wed, 26 Jul 2023 11: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 36QBSw1V024119; Wed, 26 Jul 2023 11:28:58 GMT (envelope-from git) Date: Wed, 26 Jul 2023 11:28:58 GMT Message-Id: <202307261128.36QBSw1V024119@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: e82d7b2952af - main - gif(4): Revert in{,6}_gif_output() misalignment handling List-Id: Commit messages for all branches 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e82d7b2952afaf9625a3d7b05d03c43c1d3e7d9c Auto-Submitted: auto-generated The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=e82d7b2952afaf9625a3d7b05d03c43c1d3e7d9c commit e82d7b2952afaf9625a3d7b05d03c43c1d3e7d9c Author: Marius Strobl AuthorDate: 2023-07-19 17:17:43 +0000 Commit: Marius Strobl CommitDate: 2023-07-26 11:14:22 +0000 gif(4): Revert in{,6}_gif_output() misalignment handling The code added in c89c8a1029860182eece5d51ec09119b9500e5a1 in order to compensate possible misalignment caused by prepending the IP4/6 header with an EtherIP one got broken at some point by a rewrite of gif(4). For better or worse, 8018ac153f7671699ca008f31c0fad9caef2f531 relaxed the alignment of struct ip from 32 bit to 16 bit, though. As a result, a 16 bit offset of the IPv4 header induced by the addition of the 16 bit EtherIP one no longer is a problem in the first place. The alignment of struct ip6_hdr currently is even only 8 bit, making it even less problematic with regards to possible misalignment. Thus, remove the code for handling misalignment in in{,6}_gif_output() altogether again. While at it, replace the 3 bcopy(9) calls in gif(4) with memcpy(9) as there's no need to handle overlap here. --- sys/net/if_gif.c | 2 +- sys/net/if_gif.h | 2 -- sys/netinet/in_gif.c | 19 ++----------------- sys/netinet6/in6_gif.c | 19 ++----------------- 4 files changed, 5 insertions(+), 37 deletions(-) diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index 18160c21411e..5fa7664780c1 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -408,7 +408,7 @@ gif_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, uint32_t af; if (dst->sa_family == AF_UNSPEC) - bcopy(dst->sa_data, &af, sizeof(af)); + memcpy(&af, dst->sa_data, sizeof(af)); else af = RO_GET_FAMILY(ro, dst); /* diff --git a/sys/net/if_gif.h b/sys/net/if_gif.h index 2e61fcc166e1..f8fda6ddf801 100644 --- a/sys/net/if_gif.h +++ b/sys/net/if_gif.h @@ -94,8 +94,6 @@ struct etherip_header { } __packed; #define ETHERIP_VERSION 0x3 -/* mbuf adjust factor to force 32-bit alignment of IP header */ -#define ETHERIP_ALIGN 2 #define GIF_WAIT() epoch_wait_preempt(net_epoch_preempt) diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index e43b4c645372..f32b9a4e8d5e 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -276,31 +276,16 @@ in_gif_output(struct ifnet *ifp, struct mbuf *m, int proto, uint8_t ecn) { struct gif_softc *sc = ifp->if_softc; struct ip *ip; - int len; /* prepend new IP header */ NET_EPOCH_ASSERT(); - len = sizeof(struct ip); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) - len += ETHERIP_ALIGN; -#endif - M_PREPEND(m, len, M_NOWAIT); + M_PREPEND(m, sizeof(struct ip), M_NOWAIT); if (m == NULL) return (ENOBUFS); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) { - len = mtod(m, vm_offset_t) & 3; - KASSERT(len == 0 || len == ETHERIP_ALIGN, - ("in_gif_output: unexpected misalignment")); - m->m_data += len; - m->m_len -= ETHERIP_ALIGN; - } -#endif ip = mtod(m, struct ip *); MPASS(sc->gif_family == AF_INET); - bcopy(sc->gif_iphdr, ip, sizeof(struct ip)); + memcpy(ip, sc->gif_iphdr, sizeof(struct ip)); ip->ip_p = proto; /* version will be set in ip_output() */ ip->ip_ttl = V_ip_gif_ttl; diff --git a/sys/netinet6/in6_gif.c b/sys/netinet6/in6_gif.c index 04f136b6bed5..e6d946c48e0b 100644 --- a/sys/netinet6/in6_gif.c +++ b/sys/netinet6/in6_gif.c @@ -291,31 +291,16 @@ in6_gif_output(struct ifnet *ifp, struct mbuf *m, int proto, uint8_t ecn) { struct gif_softc *sc = ifp->if_softc; struct ip6_hdr *ip6; - int len; /* prepend new IP header */ NET_EPOCH_ASSERT(); - len = sizeof(struct ip6_hdr); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) - len += ETHERIP_ALIGN; -#endif - M_PREPEND(m, len, M_NOWAIT); + M_PREPEND(m, sizeof(struct ip6_hdr), M_NOWAIT); if (m == NULL) return (ENOBUFS); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) { - len = mtod(m, vm_offset_t) & 3; - KASSERT(len == 0 || len == ETHERIP_ALIGN, - ("in6_gif_output: unexpected misalignment")); - m->m_data += len; - m->m_len -= ETHERIP_ALIGN; - } -#endif ip6 = mtod(m, struct ip6_hdr *); MPASS(sc->gif_family == AF_INET6); - bcopy(sc->gif_ip6hdr, ip6, sizeof(struct ip6_hdr)); + memcpy(ip6, sc->gif_ip6hdr, sizeof(struct ip6_hdr)); ip6->ip6_flow |= htonl((uint32_t)ecn << 20); ip6->ip6_nxt = proto; From nobody Wed Jul 26 11:28:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9s9g4CKvz4pKtG; Wed, 26 Jul 2023 11: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 4R9s9R3dT2z4LHw; Wed, 26 Jul 2023 11: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=1690370939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I8GogbLKnL+eyQg0RHwKJki6SPIx/urkVauCopez4f0=; b=eqjSqfJgtuoIGUh6F1iDn3Yk40/wRrVC8Fxd2ugLrNyCKiuvS51lhX9mWfpTEIix3d7MwY q5k466HqFfzISTC/WbaD0I6DDftQhI+eRvgywpiWG8gbL8+3p2GWAeU1XGQZ/r7jD6jQYP XdpY525/l+3y3JYLyz8zXyXBlwLzE5mG1mFf2qg6V+YFRrCskV1vPAOd6P1Pq+1fjzKp+K j4usUjrHdhAA9J6Q+TeYxLMIC1tsW4wDbImFfcw87Rfr5Bb/pTUSZkDQaKZmA33oET2nMu LD5VUWnXjfFW2v8fdfoZQmR3TZE6DZO5nEV/RtDzgjJaHjLuTkyqkrjfiaJ8Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690370939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I8GogbLKnL+eyQg0RHwKJki6SPIx/urkVauCopez4f0=; b=L2F46r+fp/75WeWTnYjFbdDXWpBog4PGb5UQu8bVKfHVXddTKXvrnQQ+idUytwtOrR7zcJ p0ZFxwECcKD4UjUOB6F5NoJ0P6qMKhGib1kXx6EzAkRLlk1dKcAGDNs1e8XtZaQbN+Lsy2 4Y6VU7yljKUt+tg9SW1BPNjvSajaywcsB3tbVeHJqXDt1atLnuqwHXEMfVHouqurW3Fi2R 8UgLy3yiqekL4QBxcW9zESrH5iixkYA4MXFxjbXGa5udzR71cI8edSkHNJ6wfI2PSj4w9A zx7NIjDBJZU4YvQj/1xCPr6h40PoZL0n8qo6nn9O9lHENvIc3AmlKHy1krdmFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690370939; a=rsa-sha256; cv=none; b=dgQxWVRD6Ildmghxa+avdgZ8mGBlguNWOLhUbfSg8fFeQ4aQgJeg//qzI7jm4fWZ76OGUK /H7s/apkSiu4/ZOYo6+2YvnFbM3GSKEDjGlrrALqo5b5skL2EtGml3d2gm+wErLpXAxUiy DURQ3UI5/9jOOXjAnU9oa9p0RdtX+c8bbWU4ShdGQaHci97gKC3TXynwCkrgwmOWSPHOSQ Q8iSsu4IAsA4s7a9d5yS7TKFZknQM7SVtZYvQeV7cTkXJ6cAlfoahZsDS5GdGMXk1Xk7SV FjtrilQJ48SUfEw11gJ0ebXdi/Fdh8B5xrFNbzhNPJKCtwKchYZ8lAfOka4Ybg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9s9R2K0Czgs9; Wed, 26 Jul 2023 11: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 36QBSxsc024140; Wed, 26 Jul 2023 11: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 36QBSx51024139; Wed, 26 Jul 2023 11:28:59 GMT (envelope-from git) Date: Wed, 26 Jul 2023 11:28:59 GMT Message-Id: <202307261128.36QBSx51024139@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: 8a0308722372 - main - gif(4): Assert that gif_output() isn't called for EtherIP List-Id: Commit messages for all branches 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8a0308722372a3ac6a94967ae4fe3123842309e2 Auto-Submitted: auto-generated The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=8a0308722372a3ac6a94967ae4fe3123842309e2 commit 8a0308722372a3ac6a94967ae4fe3123842309e2 Author: Marius Strobl AuthorDate: 2023-07-23 16:58:42 +0000 Commit: Marius Strobl CommitDate: 2023-07-26 11:14:22 +0000 gif(4): Assert that gif_output() isn't called for EtherIP With the current implementation of if_bridge(4), bridge_enqueue() calls gif_transmit() only. Ensure it stays that way so that the expectations in both drivers are either met or changed accordingly. PR: 227450 --- sys/net/if_gif.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index 5fa7664780c1..a4ac7243dbf7 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -407,6 +407,9 @@ gif_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, { uint32_t af; + KASSERT(ifp->if_bridge == NULL, + ("%s: unexpectedly called with bridge attached", __func__)); + if (dst->sa_family == AF_UNSPEC) memcpy(&af, dst->sa_data, sizeof(af)); else From nobody Wed Jul 26 11:29:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9s9n04tZz4pKkx; Wed, 26 Jul 2023 11:29: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 4R9s9T57D6z4LM2; Wed, 26 Jul 2023 11:29:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690370941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dQuJ5Ur1Z2TWsDpbpUkVpqGk9TqUVocomxiaGMVcCos=; b=n7klY1W6Pu6LasaCw42AyiCMTpowlqWg/bOIE3BqseOiQYOgUO+WPv0uKE3XuPGUrIAxWs sJ99UWBnMgnuxBF8DOkc3JfFS0xBpvGxiS/ENFAbVMCyD6k4LF0qJ7FUomz+OHX4y6VZKr k6xwTGPN2F6nYveGVk5Tmg1TiWKYlgApxmERQadz6zch4zXpRauSETFRrC4teyHWEEUOb/ JRpc+a1t8LTc1laGV7OPs8ZHMunK6qQBfPruPzG7B1VerydQtp9vLHbH2ULM1wH3lfid4i 9hzm39cbXam5sbcoG4WDp6my0vO85hyDsB/Ew7jH1t/WfYKn//nXWMWEPaBYFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690370941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dQuJ5Ur1Z2TWsDpbpUkVpqGk9TqUVocomxiaGMVcCos=; b=NZQ88Na7WmWcnpRxvZaXR0CxDMZb05/rLHipapCZbQzHnYDF3E+SU3r0HIw8HHWAreEEQg cddXOzYJ/D2YuC5GGLJBdaFAZ4FxsbvidLjF7i2QvxYwntfRCp/maKFghK2xYRq2G+mVRU AnUEO7nDcS1YC/IVGeULiernbHauzAeowgFwFdyZXqIBoicvTPtbjjbyQ92TtRCxSASX6s XzCUxqYa6uP3lSjp6aWdjBErZxukBFa4/uF/8JD9B3utSBaPLqOdsJDxsMEbjpWxQfaLHq z5yVbErhTHohkJlvHY6SlDYb7Mm7nPzXYhzHjcRqOxL8FUvBJQirr/ZKXp28pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690370941; a=rsa-sha256; cv=none; b=tGG8dBbeGYqVfbcMZ3FXAIeUma1MWDvTSSG5LuLrR5jCz6sBnzqy3/6YisYctombI7h4xB GvTYY47VXbZ4w0ZgIRczsavVSg10PNojEnD3fZ4s264ImnJbSpVsnUA7QR/z+oTxytC53N tJl1/SM7DYXw3dmHKlw71eqN1Ug7cmLiIpY/Py4RR7xuMz+tMB5U7ZVYek5d8HcFWyERvo qcIyRGniqh3C9vwnN/B8OfzKtzdqTJoWQKmD7S2WK/UUChNk94LGc0oBG5vrHkkkmDsraE YVfKdotpb9xtZxcWbAAzVL0Kt3X1L7/0qYHzgmZoRQa5piENRsRlfzfw3t08cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9s9T3ttJzgsB; Wed, 26 Jul 2023 11:29: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 36QBT1xq024184; Wed, 26 Jul 2023 11:29:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QBT1OZ024183; Wed, 26 Jul 2023 11:29:01 GMT (envelope-from git) Date: Wed, 26 Jul 2023 11:29:01 GMT Message-Id: <202307261129.36QBT1OZ024183@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: 4ef1c6f75d25 - main - base: Remove support for the VTOC8 partitioning scheme List-Id: Commit messages for all branches 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ef1c6f75d25ba0c264ab274a1b449467a6ee817 Auto-Submitted: auto-generated The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=4ef1c6f75d25ba0c264ab274a1b449467a6ee817 commit 4ef1c6f75d25ba0c264ab274a1b449467a6ee817 Author: Marius Strobl AuthorDate: 2023-07-26 11:08:37 +0000 Commit: Marius Strobl CommitDate: 2023-07-26 11:16:12 +0000 base: Remove support for the VTOC8 partitioning scheme The removal of the sparc64 support in February 2020 obsoleted the VTOC8 partitioning scheme as no other FreeBSD platform makes use of it. Moreover, the code is bitrotting as nothing defines e. g. LOADER_VTOC8_SUPPORT any more and, thus, should go now, too. With this change, the following commits are reverted as far as VTOC8 is concerned and parts haven't already previously been deleted along with prior sparc64 removals: 094fcb157d4c98211899cf09d06e2cf19149b7e0 a7d366e9589c95feda6f3bc78c59c6355d51f126 ba8d50d08b9df4e8213f9a6997ff6792ecebcd9b The alignment example d9711c28efc4ec89ba5ea11f8fd63e9d0a7fc81b added to the VTOC8 section of gpart.8 is folded into the MBR one. This should finally conclude the deorbit of sparc64-specific bits. We had joy, we had fun we ran Unix on a Sun. But that source and the song of FreeBSD have all gone. Credits to Michael Bueker for the original "Unix on a Sun" and Rod McKuen for the "Seasons in the Sun" lyrics. --- ObsoleteFiles.inc | 4 + lib/geom/part/geom_part.c | 132 ++--- lib/geom/part/gpart.8 | 76 +-- share/man/man4/geom.4 | 5 +- stand/common/part.c | 100 ---- stand/common/part.h | 1 - sys/conf/NOTES | 1 - sys/conf/files | 1 - sys/conf/options | 1 - sys/geom/part/g_part_vtoc8.c | 604 --------------------- sys/modules/geom/geom_part/Makefile | 3 +- .../geom/geom_part/geom_part_vtoc8/Makefile | 10 - sys/sys/disk/vtoc.h | 110 ---- sys/sys/vtoc.h | 5 - tools/boot/install-boot.sh | 12 - usr.bin/mkimg/Makefile | 3 +- usr.bin/mkimg/tests/mkimg_test.sh | 2 +- usr.bin/mkimg/vtoc8.c | 113 ---- usr.sbin/efibootmgr/efibootmgr.c | 1 - 19 files changed, 58 insertions(+), 1126 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 0dc315ee64ba..3acb677c25e4 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20230726: Removal of support for the VTOC8 partitioning scheme +OLD_FILES+=usr/include/sys/disk/vtoc.h +OLD_FILES+=usr/include/sys/vtoc.h + # 20230724: Remove unneeded arm headers .if ${TARGET_ARCH} == "arm" OLD_FILES+=usr/include/machine/atomic-v6.h diff --git a/lib/geom/part/geom_part.c b/lib/geom/part/geom_part.c index 70eb83a66c97..04e730c7719e 100644 --- a/lib/geom/part/geom_part.c +++ b/lib/geom/part/geom_part.c @@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include @@ -89,8 +88,7 @@ static _Noreturn void gpart_issue(struct gctl_req *, unsigned int); static void gpart_show(struct gctl_req *, unsigned int); static void gpart_show_geom(struct ggeom *, const char *, int); static int gpart_show_hasopt(struct gctl_req *, const char *, const char *); -static void gpart_write_partcode(struct ggeom *, int, void *, ssize_t); -static void gpart_write_partcode_vtoc8(struct ggeom *, int, void *); +static void gpart_write_partcode(struct gctl_req *, int, void *, ssize_t); static void gpart_print_error(const char *); static void gpart_backup(struct gctl_req *, unsigned int); static void gpart_restore(struct gctl_req *, unsigned int); @@ -1107,14 +1105,38 @@ gpart_bootfile_read(const char *bootfile, ssize_t *size) } static void -gpart_write_partcode(struct ggeom *gp, int idx, void *code, ssize_t size) +gpart_write_partcode(struct gctl_req *req, int idx, void *code, ssize_t size) { char dsf[128]; + struct gmesh mesh; + struct gclass *classp; + struct ggeom *gp; struct gprovider *pp; - const char *s; + const char *g, *s; char *buf; off_t bsize; - int fd; + int error, fd; + + s = gctl_get_ascii(req, "class"); + if (s == NULL) + abort(); + g = gctl_get_ascii(req, "arg0"); + if (g == NULL) + abort(); + error = geom_gettree_geom(&mesh, s, g, 0); + if (error != 0) + errc(EXIT_FAILURE, error, "Cannot get GEOM tree"); + classp = find_class(&mesh, s); + if (classp == NULL) { + geom_deletetree(&mesh); + errx(EXIT_FAILURE, "Class %s not found.", s); + } + gp = find_geom(classp, g); + if (gp == NULL) + errx(EXIT_FAILURE, "No such geom: %s.", g); + s = find_geomcfg(gp, "scheme"); + if (s == NULL) + errx(EXIT_FAILURE, "Scheme not found for geom %s", gp->lg_name); LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { s = find_provcfg(pp, "index"); @@ -1149,65 +1171,17 @@ gpart_write_partcode(struct ggeom *gp, int idx, void *code, ssize_t size) printf("partcode written to %s\n", pp->lg_name); } else errx(EXIT_FAILURE, "invalid partition index"); -} -static void -gpart_write_partcode_vtoc8(struct ggeom *gp, int idx, void *code) -{ - char dsf[128]; - struct gprovider *pp; - const char *s; - int installed, fd; - - installed = 0; - LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { - s = find_provcfg(pp, "index"); - if (s == NULL) - continue; - if (idx != 0 && atoi(s) != idx) - continue; - snprintf(dsf, sizeof(dsf), "/dev/%s", pp->lg_name); - if (pp->lg_sectorsize != sizeof(struct vtoc8)) - errx(EXIT_FAILURE, "%s: unexpected sector " - "size (%d)\n", dsf, pp->lg_sectorsize); - if (pp->lg_mediasize < VTOC_BOOTSIZE) - continue; - fd = open(dsf, O_WRONLY); - if (fd == -1) - err(EXIT_FAILURE, "%s", dsf); - /* - * We ignore the first VTOC_BOOTSIZE bytes of boot code in - * order to avoid overwriting the label. - */ - if (lseek(fd, sizeof(struct vtoc8), SEEK_SET) != - sizeof(struct vtoc8)) - err(EXIT_FAILURE, "%s", dsf); - if (write(fd, (caddr_t)code + sizeof(struct vtoc8), - VTOC_BOOTSIZE - sizeof(struct vtoc8)) != VTOC_BOOTSIZE - - sizeof(struct vtoc8)) - err(EXIT_FAILURE, "%s", dsf); - installed++; - close(fd); - if (idx != 0 && atoi(s) == idx) - break; - } - if (installed == 0) - errx(EXIT_FAILURE, "%s: no partitions", gp->lg_name); - else - printf("partcode written to %s\n", - idx != 0 ? pp->lg_name: gp->lg_name); + geom_deletetree(&mesh); } static void gpart_bootcode(struct gctl_req *req, unsigned int fl) { - struct gmesh mesh; - struct gclass *classp; - struct ggeom *gp; - const char *g, *s; + const char *s; void *bootcode, *partcode; size_t bootsize, partsize; - int error, idx, vtoc8; + int error, idx; if (gctl_get_int(req, "nargs") != 1) errx(EXIT_FAILURE, "Invalid number of arguments."); @@ -1231,31 +1205,6 @@ gpart_bootcode(struct gctl_req *req, unsigned int fl) goto nopartcode; } - s = gctl_get_ascii(req, "class"); - if (s == NULL) - abort(); - g = gctl_get_ascii(req, "arg0"); - if (g == NULL) - abort(); - error = geom_gettree_geom(&mesh, s, g, 0); - if (error != 0) - errc(EXIT_FAILURE, error, "Cannot get GEOM tree"); - classp = find_class(&mesh, s); - if (classp == NULL) { - geom_deletetree(&mesh); - errx(EXIT_FAILURE, "Class %s not found.", s); - } - gp = find_geom(classp, g); - if (gp == NULL) - errx(EXIT_FAILURE, "No such geom: %s.", g); - s = find_geomcfg(gp, "scheme"); - if (s == NULL) - errx(EXIT_FAILURE, "Scheme not found for geom %s", gp->lg_name); - if (strcmp(s, "VTOC8") == 0) - vtoc8 = 1; - else - vtoc8 = 0; - if (gctl_has_param(req, GPART_PARAM_INDEX)) { idx = (int)gctl_get_intmax(req, GPART_PARAM_INDEX); if (idx < 1) @@ -1268,28 +1217,17 @@ gpart_bootcode(struct gctl_req *req, unsigned int fl) if (gctl_has_param(req, GPART_PARAM_PARTCODE)) { s = gctl_get_ascii(req, GPART_PARAM_PARTCODE); - if (vtoc8 != 0) - partsize = VTOC_BOOTSIZE; - else - partsize = 1024 * 1024; /* Arbitrary limit. */ + partsize = 1024 * 1024; /* Arbitrary limit. */ partcode = gpart_bootfile_read(s, &partsize); error = gctl_delete_param(req, GPART_PARAM_PARTCODE); if (error) errc(EXIT_FAILURE, error, "internal error"); - if (vtoc8 == 0) { - if (idx == 0) - errx(EXIT_FAILURE, "missing -i option"); - gpart_write_partcode(gp, idx, partcode, partsize); - } else { - if (partsize != VTOC_BOOTSIZE) - errx(EXIT_FAILURE, "invalid bootcode"); - gpart_write_partcode_vtoc8(gp, idx, partcode); - } + if (idx == 0) + errx(EXIT_FAILURE, "missing -i option"); + gpart_write_partcode(req, idx, partcode, partsize); free(partcode); } - geom_deletetree(&mesh); - nopartcode: if (bootcode != NULL) gpart_issue(req, fl); diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 2bc1daba2ad6..a6f9fbd884a8 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 7, 2023 +.Dd July 26, 2023 .Dt GPART 8 .Os .Sh NAME @@ -544,7 +544,7 @@ See Several partitioning schemes are supported by the .Nm utility: -.Bl -tag -width ".Cm VTOC8" +.Bl -tag -width ".Cm BSD64" .It Cm APM Apple Partition Map, used by PowerPC(R) Macintosh(R) computers. Requires the @@ -599,15 +599,6 @@ The option enables backward compatibility for partition names in the EBR scheme. It also prevents any type of actions on such partitions. -.It Cm VTOC8 -Sun's SMI Volume Table Of Contents, used by -.Tn SPARC64 -and -.Tn UltraSPARC -computers. -Requires the -.Cm GEOM_PART_VTOC8 -kernel option. .El .Pp See @@ -680,36 +671,36 @@ A partition dedicated to swap space. The scheme-specific types are .Qq Li "!FreeBSD-swap" -for APM, +for APM, and .Qq Li "!516e7cb5-6ecf-11d6-8ff8-00022d09712b" -for GPT, and tag 0x0901 for VTOC8. +for GPT. .It Cm freebsd-ufs A .Fx partition that contains a UFS or UFS2 filesystem. The scheme-specific types are .Qq Li "!FreeBSD-UFS" -for APM, +for APM, and .Qq Li "!516e7cb6-6ecf-11d6-8ff8-00022d09712b" -for GPT, and tag 0x0902 for VTOC8. +for GPT. .It Cm freebsd-vinum A .Fx partition that contains a Vinum volume. The scheme-specific types are .Qq Li "!FreeBSD-Vinum" -for APM, +for APM, and .Qq Li "!516e7cb8-6ecf-11d6-8ff8-00022d09712b" -for GPT, and tag 0x0903 for VTOC8. +for GPT. .It Cm freebsd-zfs A .Fx partition that contains a ZFS volume. The scheme-specific types are .Qq Li "!FreeBSD-ZFS" -for APM, +for APM, and .Qq Li "!516e7cba-6ecf-11d6-8ff8-00022d09712b" -for GPT, and 0x0904 for VTOC8. +for GPT. .El .Pp Other symbolic names that can be used with the @@ -1196,18 +1187,6 @@ After all pools are detected, .Pa /boot/loader is started from the first one found set as bootable. .Pp -The VTOC8 scheme does not support embedding bootstrap code. -Instead, the 8 KBytes bootstrap code image -.Pa /boot/boot1 -should be written with the -.Cm gpart bootcode -command with the -.Fl p Ar bootcode -option to all sufficiently large VTOC8 partitions. -To do this the -.Fl i Ar index -option could be omitted. -.Pp The APM scheme also does not support embedding bootstrap code. Instead, the 800 KBytes bootstrap code image .Pa /boot/boot1.hfs @@ -1306,7 +1285,7 @@ GEOM class. The default value is shown next to each variable. .Bl -tag -width indent .It Va kern.geom.part.allow_nesting : No 0 -By default, some schemes (currently BSD, BSD64 and VTOC8) do not permit +By default, some schemes (currently BSD and BSD64) do not permit further nested partitioning. This variable overrides this restriction and allows arbitrary nesting (except within partitions created at offset 0). @@ -1443,12 +1422,12 @@ using a traditional .Bx disklabel. .Pp -First, we create the partition table and a single 64 GB partition, -then we mark that partition active (bootable) and install the -first-stage boot loader: +First, we create the partition table as well as a single partition 64 GB in +size and an alignment of 4 kB, then we mark that partition active (bootable) +and install the first-stage boot loader: .Bd -literal -offset indent /sbin/gpart create -s MBR ada0 -/sbin/gpart add -t freebsd -s 64G ada0 +/sbin/gpart add -t freebsd -s 64G -a 4k ada0 /sbin/gpart set -a active -i 1 ada0 /sbin/gpart bootcode -b /boot/boot0 ada0 .Ed @@ -1475,31 +1454,6 @@ label: .Bd -literal -offset indent /sbin/gpart bootcode -b /boot/boot ada0s1 .Ed -.Ss VTOC8 -Create a VTOC8 scheme on -.Pa da0 : -.Bd -literal -offset indent -/sbin/gpart create -s VTOC8 da0 -.Ed -.Pp -Create a 512MB-sized -.Cm freebsd-ufs -partition to contain a UFS filesystem from which the system can boot. -.Bd -literal -offset indent -/sbin/gpart add -s 512M -t freebsd-ufs da0 -.Ed -.Pp -Create a 15GB-sized -.Cm freebsd-ufs -partition to contain a UFS filesystem and aligned on 4KB boundaries: -.Bd -literal -offset indent -/sbin/gpart add -s 15G -t freebsd-ufs -a 4k da0 -.Ed -.Pp -After creating all required partitions, embed bootstrap code into them: -.Bd -literal -offset indent -/sbin/gpart bootcode -p /boot/boot1 da0 -.Ed .Ss Deleting Partitions and Destroying the Partitioning Scheme If a .Em "Device busy" diff --git a/share/man/man4/geom.4 b/share/man/man4/geom.4 index 91ba9360ec3b..cb8f23aca7f3 100644 --- a/share/man/man4/geom.4 +++ b/share/man/man4/geom.4 @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 27, 2023 +.Dd July 26, 2023 .Dt GEOM 4 .Os .Sh NAME @@ -62,7 +62,6 @@ .Cd options GEOM_PART_GPT .Cd options GEOM_PART_LDM .Cd options GEOM_PART_MBR -.Cd options GEOM_PART_VTOC8 .Cd options GEOM_RAID .Cd options GEOM_RAID3 .Cd options GEOM_SHSEC @@ -494,8 +493,6 @@ Use .Cd GEOM_MULTIPATH , .It .Cd GEOM_PART_MBR , -.It -.Cd GEOM_PART_VTOC8 , and .It .Cd GEOM_LABEL diff --git a/stand/common/part.c b/stand/common/part.c index 4ae38bfb7682..90d7855b53ff 100644 --- a/stand/common/part.c +++ b/stand/common/part.c @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include @@ -70,7 +69,6 @@ struct pentry { uint8_t bsd; uint8_t mbr; uuid_t gpt; - uint16_t vtoc8; } type; STAILQ_ENTRY(pentry) entry; }; @@ -519,88 +517,6 @@ out: return (table); } -#ifdef LOADER_VTOC8_SUPPORT -static enum partition_type -vtoc8_parttype(uint16_t type) -{ - - switch (type) { - case VTOC_TAG_FREEBSD_SWAP: - return (PART_FREEBSD_SWAP); - case VTOC_TAG_FREEBSD_UFS: - return (PART_FREEBSD_UFS); - case VTOC_TAG_FREEBSD_VINUM: - return (PART_FREEBSD_VINUM); - case VTOC_TAG_FREEBSD_ZFS: - return (PART_FREEBSD_ZFS); - } - return (PART_UNKNOWN); -} - -static struct ptable * -ptable_vtoc8read(struct ptable *table, void *dev, diskread_t dread) -{ - struct pentry *entry; - struct vtoc8 *dl; - uint8_t *buf; - uint16_t sum, heads, sectors; - int i; - - if (table->sectorsize != sizeof(struct vtoc8)) - return (table); - buf = malloc(table->sectorsize); - if (buf == NULL) - return (table); - if (dread(dev, buf, 1, 0) != 0) { - DPRINTF("read failed"); - ptable_close(table); - table = NULL; - goto out; - } - dl = (struct vtoc8 *)buf; - /* Check the sum */ - for (i = sum = 0; i < sizeof(struct vtoc8); i += sizeof(sum)) - sum ^= be16dec(buf + i); - if (sum != 0) { - DPRINTF("incorrect checksum"); - goto out; - } - if (be16toh(dl->nparts) != VTOC8_NPARTS) { - DPRINTF("invalid number of entries"); - goto out; - } - sectors = be16toh(dl->nsecs); - heads = be16toh(dl->nheads); - if (sectors * heads == 0) { - DPRINTF("invalid geometry"); - goto out; - } - DPRINTF("VTOC8 detected"); - for (i = 0; i < VTOC8_NPARTS; i++) { - dl->part[i].tag = be16toh(dl->part[i].tag); - if (i == VTOC_RAW_PART || - dl->part[i].tag == VTOC_TAG_UNASSIGNED) - continue; - entry = malloc(sizeof(*entry)); - if (entry == NULL) - break; - entry->part.start = be32toh(dl->map[i].cyl) * heads * sectors; - entry->part.end = be32toh(dl->map[i].nblks) + - entry->part.start - 1; - entry->part.type = vtoc8_parttype(dl->part[i].tag); - entry->part.index = i; /* starts from zero */ - entry->type.vtoc8 = dl->part[i].tag; - STAILQ_INSERT_TAIL(&table->entries, entry, entry); - DPRINTF("new VTOC8 partition added"); - } - table->type = PTABLE_VTOC8; -out: - free(buf); - return (table); - -} -#endif /* LOADER_VTOC8_SUPPORT */ - #define cdb2devb(bno) ((bno) * ISO_DEFAULT_BLOCK_SIZE / table->sectorsize) static struct ptable * @@ -678,16 +594,6 @@ ptable_open(void *dev, uint64_t sectors, uint16_t sectorsize, } else if (table->type == PTABLE_ISO9660) goto out; -#ifdef LOADER_VTOC8_SUPPORT - if (be16dec(buf + offsetof(struct vtoc8, magic)) == VTOC_MAGIC) { - if (ptable_vtoc8read(table, dev, dread) == NULL) { - /* Read error. */ - table = NULL; - goto out; - } else if (table->type == PTABLE_VTOC8) - goto out; - } -#endif /* Check the BSD label. */ if (ptable_bsdread(table, dev, dread) == NULL) { /* Read error. */ table = NULL; @@ -928,12 +834,6 @@ ptable_iterate(const struct ptable *table, void *arg, ptable_iterate_t *iter) if (table->type == PTABLE_GPT) sprintf(name, "p%d", entry->part.index); else -#endif -#ifdef LOADER_VTOC8_SUPPORT - if (table->type == PTABLE_VTOC8) - sprintf(name, "%c", (uint8_t) 'a' + - entry->part.index); - else #endif if (table->type == PTABLE_BSD) sprintf(name, "%c", (uint8_t) 'a' + diff --git a/stand/common/part.h b/stand/common/part.h index b991ae3c381c..68acce22cb06 100644 --- a/stand/common/part.h +++ b/stand/common/part.h @@ -36,7 +36,6 @@ enum ptable_type { PTABLE_BSD, PTABLE_MBR, PTABLE_GPT, - PTABLE_VTOC8, PTABLE_ISO9660 }; diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 895bdd0e2129..7558ccb8d920 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -174,7 +174,6 @@ options GEOM_PART_EBR # Extended Boot Records options GEOM_PART_GPT # GPT partitioning options GEOM_PART_LDM # Logical Disk Manager options GEOM_PART_MBR # MBR partitioning -options GEOM_PART_VTOC8 # SMI VTOC8 disk label options GEOM_RAID # Soft RAID functionality. options GEOM_RAID3 # RAID3 functionality. options GEOM_SHSEC # Shared secret. diff --git a/sys/conf/files b/sys/conf/files index 0d5372dfedc6..6774be310f84 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3661,7 +3661,6 @@ geom/part/g_part_ebr.c optional geom_part_ebr geom/part/g_part_gpt.c optional geom_part_gpt geom/part/g_part_ldm.c optional geom_part_ldm geom/part/g_part_mbr.c optional geom_part_mbr -geom/part/g_part_vtoc8.c optional geom_part_vtoc8 geom/raid/g_raid.c optional geom_raid geom/raid/g_raid_ctl.c optional geom_raid geom/raid/g_raid_md_if.m optional geom_raid diff --git a/sys/conf/options b/sys/conf/options index 78d712b7cdbb..c06060f4bea0 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -133,7 +133,6 @@ GEOM_PART_EBR opt_geom.h GEOM_PART_GPT opt_geom.h GEOM_PART_LDM opt_geom.h GEOM_PART_MBR opt_geom.h -GEOM_PART_VTOC8 opt_geom.h GEOM_RAID opt_geom.h GEOM_RAID3 opt_geom.h GEOM_SHSEC opt_geom.h diff --git a/sys/geom/part/g_part_vtoc8.c b/sys/geom/part/g_part_vtoc8.c deleted file mode 100644 index 37ee7cf1c030..000000000000 --- a/sys/geom/part/g_part_vtoc8.c +++ /dev/null @@ -1,604 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2008 Marcel Moolenaar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "g_part_if.h" - -FEATURE(geom_part_vtoc8, "GEOM partitioning class for SMI VTOC8 disk labels"); - -struct g_part_vtoc8_table { - struct g_part_table base; - struct vtoc8 vtoc; - uint32_t secpercyl; -}; - -static int g_part_vtoc8_add(struct g_part_table *, struct g_part_entry *, - struct g_part_parms *); -static int g_part_vtoc8_create(struct g_part_table *, struct g_part_parms *); -static int g_part_vtoc8_destroy(struct g_part_table *, struct g_part_parms *); -static void g_part_vtoc8_dumpconf(struct g_part_table *, - struct g_part_entry *, struct sbuf *, const char *); -static int g_part_vtoc8_dumpto(struct g_part_table *, struct g_part_entry *); -static int g_part_vtoc8_modify(struct g_part_table *, struct g_part_entry *, - struct g_part_parms *); -static const char *g_part_vtoc8_name(struct g_part_table *, - struct g_part_entry *, char *, size_t); -static int g_part_vtoc8_probe(struct g_part_table *, struct g_consumer *); -static int g_part_vtoc8_read(struct g_part_table *, struct g_consumer *); -static const char *g_part_vtoc8_type(struct g_part_table *, - struct g_part_entry *, char *, size_t); -static int g_part_vtoc8_write(struct g_part_table *, struct g_consumer *); -static int g_part_vtoc8_resize(struct g_part_table *, struct g_part_entry *, - struct g_part_parms *); - -static kobj_method_t g_part_vtoc8_methods[] = { - KOBJMETHOD(g_part_add, g_part_vtoc8_add), - KOBJMETHOD(g_part_create, g_part_vtoc8_create), - KOBJMETHOD(g_part_destroy, g_part_vtoc8_destroy), - KOBJMETHOD(g_part_dumpconf, g_part_vtoc8_dumpconf), - KOBJMETHOD(g_part_dumpto, g_part_vtoc8_dumpto), - KOBJMETHOD(g_part_modify, g_part_vtoc8_modify), - KOBJMETHOD(g_part_resize, g_part_vtoc8_resize), - KOBJMETHOD(g_part_name, g_part_vtoc8_name), - KOBJMETHOD(g_part_probe, g_part_vtoc8_probe), - KOBJMETHOD(g_part_read, g_part_vtoc8_read), - KOBJMETHOD(g_part_type, g_part_vtoc8_type), - KOBJMETHOD(g_part_write, g_part_vtoc8_write), - { 0, 0 } -}; - -static struct g_part_scheme g_part_vtoc8_scheme = { - "VTOC8", - g_part_vtoc8_methods, - sizeof(struct g_part_vtoc8_table), - .gps_entrysz = sizeof(struct g_part_entry), - .gps_minent = VTOC8_NPARTS, - .gps_maxent = VTOC8_NPARTS, -}; -G_PART_SCHEME_DECLARE(g_part_vtoc8); -MODULE_VERSION(geom_part_vtoc8, 0); - -static int -vtoc8_parse_type(const char *type, uint16_t *tag) -{ - const char *alias; - char *endp; - long lt; - - if (type[0] == '!') { - lt = strtol(type + 1, &endp, 0); - if (type[1] == '\0' || *endp != '\0' || lt <= 0 || - lt >= 65536) - return (EINVAL); - *tag = (uint16_t)lt; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_NANDFS); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_NANDFS; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_SWAP); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_SWAP; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_UFS); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_UFS; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_VINUM; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_ZFS); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_ZFS; - return (0); - } - return (EINVAL); -} - -static int -vtoc8_align(struct g_part_vtoc8_table *table, uint64_t *start, uint64_t *size) -{ - - if (*size < table->secpercyl) - return (EINVAL); - if (start != NULL && (*start % table->secpercyl)) { - *size += (*start % table->secpercyl) - table->secpercyl; - *start -= (*start % table->secpercyl) - table->secpercyl; - } - if (*size % table->secpercyl) - *size -= (*size % table->secpercyl); - if (*size < table->secpercyl) - return (EINVAL); - return (0); -} - -static int -g_part_vtoc8_add(struct g_part_table *basetable, struct g_part_entry *entry, - struct g_part_parms *gpp) -{ - struct g_part_vtoc8_table *table; - int error, index; - uint64_t start, size; - uint16_t tag; - - if (gpp->gpp_parms & G_PART_PARM_LABEL) - return (EINVAL); - - error = vtoc8_parse_type(gpp->gpp_type, &tag); - if (error) - return (error); - - table = (struct g_part_vtoc8_table *)basetable; - index = entry->gpe_index - 1; - start = gpp->gpp_start; - size = gpp->gpp_size; - if (vtoc8_align(table, &start, &size) != 0) - return (EINVAL); - - KASSERT(entry->gpe_start <= start, (__func__)); - KASSERT(entry->gpe_end >= start + size - 1, (__func__)); - entry->gpe_start = start; - entry->gpe_end = start + size - 1; - - be16enc(&table->vtoc.part[index].tag, tag); - be16enc(&table->vtoc.part[index].flag, 0); - be32enc(&table->vtoc.timestamp[index], 0); - be32enc(&table->vtoc.map[index].cyl, start / table->secpercyl); - be32enc(&table->vtoc.map[index].nblks, size); - return (0); -} - -static int -g_part_vtoc8_create(struct g_part_table *basetable, struct g_part_parms *gpp) -{ - struct g_provider *pp; - struct g_part_entry *entry; - struct g_part_vtoc8_table *table; - uint64_t msize; - uint32_t acyls, ncyls, pcyls; - - pp = gpp->gpp_provider; - - if (pp->sectorsize < sizeof(struct vtoc8)) - return (ENOSPC); - if (pp->sectorsize > sizeof(struct vtoc8)) - return (ENXIO); - - table = (struct g_part_vtoc8_table *)basetable; - - msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX); - table->secpercyl = basetable->gpt_sectors * basetable->gpt_heads; - pcyls = msize / table->secpercyl; - acyls = 2; - ncyls = pcyls - acyls; - msize = ncyls * table->secpercyl; - - snprintf(table->vtoc.ascii, sizeof(table->vtoc.ascii), - "FreeBSD%lldM cyl %u alt %u hd %u sec %u", - (long long)(msize / 2048), ncyls, acyls, basetable->gpt_heads, - basetable->gpt_sectors); - be32enc(&table->vtoc.version, VTOC_VERSION); - be16enc(&table->vtoc.nparts, VTOC8_NPARTS); - be32enc(&table->vtoc.sanity, VTOC_SANITY); - be16enc(&table->vtoc.rpm, 3600); - be16enc(&table->vtoc.physcyls, pcyls); - be16enc(&table->vtoc.ncyls, ncyls); - be16enc(&table->vtoc.altcyls, acyls); - be16enc(&table->vtoc.nheads, basetable->gpt_heads); - be16enc(&table->vtoc.nsecs, basetable->gpt_sectors); - be16enc(&table->vtoc.magic, VTOC_MAGIC); - - basetable->gpt_first = 0; - basetable->gpt_last = msize - 1; - basetable->gpt_isleaf = 1; - - entry = g_part_new_entry(basetable, VTOC_RAW_PART + 1, - basetable->gpt_first, basetable->gpt_last); - entry->gpe_internal = 1; - be16enc(&table->vtoc.part[VTOC_RAW_PART].tag, VTOC_TAG_BACKUP); - be32enc(&table->vtoc.map[VTOC_RAW_PART].nblks, msize); - return (0); -} - -static int -g_part_vtoc8_destroy(struct g_part_table *basetable, struct g_part_parms *gpp) -{ - - /* Wipe the first sector to clear the partitioning. */ - basetable->gpt_smhead |= 1; - return (0); -} - -static void -g_part_vtoc8_dumpconf(struct g_part_table *basetable, - struct g_part_entry *entry, struct sbuf *sb, const char *indent) -{ - struct g_part_vtoc8_table *table; - - table = (struct g_part_vtoc8_table *)basetable; - if (indent == NULL) { - /* conftxt: libdisk compatibility */ - sbuf_printf(sb, " xs SUN sc %u hd %u alt %u", - be16dec(&table->vtoc.nsecs), be16dec(&table->vtoc.nheads), - be16dec(&table->vtoc.altcyls)); - } else if (entry != NULL) { - /* confxml: partition entry information */ - sbuf_printf(sb, "%s%u\n", indent, - be16dec(&table->vtoc.part[entry->gpe_index - 1].tag)); - } else { - /* confxml: scheme information */ - } -} - -static int -g_part_vtoc8_dumpto(struct g_part_table *basetable, - struct g_part_entry *entry) -{ - struct g_part_vtoc8_table *table; - uint16_t tag; - - /* - * Allow dumping to a swap partition or a partition that - * has no type. - */ - table = (struct g_part_vtoc8_table *)basetable; - tag = be16dec(&table->vtoc.part[entry->gpe_index - 1].tag); - return ((tag == 0 || tag == VTOC_TAG_FREEBSD_SWAP || - tag == VTOC_TAG_SWAP) ? 1 : 0); -} - -static int -g_part_vtoc8_modify(struct g_part_table *basetable, - struct g_part_entry *entry, struct g_part_parms *gpp) -{ - struct g_part_vtoc8_table *table; - int error; - uint16_t tag; - - if (gpp->gpp_parms & G_PART_PARM_LABEL) - return (EINVAL); - - table = (struct g_part_vtoc8_table *)basetable; - if (gpp->gpp_parms & G_PART_PARM_TYPE) { - error = vtoc8_parse_type(gpp->gpp_type, &tag); - if (error) - return(error); - - be16enc(&table->vtoc.part[entry->gpe_index - 1].tag, tag); - } - return (0); -} - -static int -vtoc8_set_rawsize(struct g_part_table *basetable, struct g_provider *pp) -{ - struct g_part_vtoc8_table *table; - struct g_part_entry *baseentry; - off_t msize; - uint32_t acyls, ncyls, pcyls; - - table = (struct g_part_vtoc8_table *)basetable; - msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX); - pcyls = msize / table->secpercyl; - if (pcyls > UINT16_MAX) *** 614 LINES SKIPPED *** From nobody Wed Jul 26 11:29:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9s9n0k04z4pKmc; Wed, 26 Jul 2023 11:29: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 4R9s9S6Pp7z4LWP; Wed, 26 Jul 2023 11:29:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690370941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mqUl8tG78kI4DZK+UbCzxfyYe9XaRueOWJRy5R5dwY=; b=FYo1Xfmei+z1+h/A9Zxgh4Y+1lRhft9v0c4FMtSEKIcNTe/Cgadt4S/Fvnb0/TaunILn6i Ul044U8C4F3WcrvuILSVZO/fnSs8X2KDffyE+CfgvYNuxY/uN0AukvSVkyIivlw939RAjL /K3XzqiL9AWEfo3ipm+3cjuizwcNjTXDjWAeANQ2+j4YiDHUUspubBGiRjaagZvK+wJA/Y LTo9JCEBtEHCq/PVKxPAbmrQ+fYZhJelUAOeYQ7+2S8q9VUrVp+gaR6YQj4WVCOv8OEcZm CVkOzpeN9nQ5TZgOYvCmEt3+PoCOE/suz/8xr8zJ7yKsvhmQaFEpzsATLS77Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690370940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mqUl8tG78kI4DZK+UbCzxfyYe9XaRueOWJRy5R5dwY=; b=Xl9tuXIA8kgYDs2vkhBeAUJ6jVtzJQxnK3IpsPZGOaON8/ghKNxATmllUi/2OcWBWSHNgd 99mRzqCGsqFukJMduIlISvD3IlYKPX8sQGR3uFcqvx8pjjpk3BuDT4TE4SpuaBYvjzb2sc Yq+t1ETzNQ0Uw6pZfLSqbt0d8sq+rVzYNI3ScvNC7W3r3VtMoCgNu78AVVDsQuPSx5FjP/ GYI3/McaVspXuSUX4f3FbDkl7iZXpXjvZLeo4fp43OD0NLJi9FkFcvypO4fjXGtgBJktq6 wc7wbJVqPjtEGjWAcaVbFbJrLQeyoLgJBIaNh822ZOwFMT2FjkOi/ZZq8w3wMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690370941; a=rsa-sha256; cv=none; b=ChV4CsjliBLFivJz67HG26+iAsnqiwKlZkkaP13iaXIxx7asy6dMo2couISZ75n2aU6/MA ppVEiho+AFcqM4jSdSV94I/QegXSyaMXOwzK3nGf7TOdq/em0Xm/sj5m1rLox6sm+1BPMM tCSmy4floHfHJtbzzg/qgYGCEAOLZ8WI1H3M6TY5U83KN/rRtCnDbMrOt+nxgw6oLiqhPo Huc5WaJig8gC1eB57NrDAsarmr4PYaetTHpxpjiyRWHRU9aez5HUTnSteLmq6WAbnubcpw eiQvSK2UzzZbAOQxNyTRn3Rut36I9yYGwr9nZxSdeJ1yalpqEDH51LrreYI2QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9s9S55y8zh2Y; Wed, 26 Jul 2023 11:29: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 36QBT0hb024165; Wed, 26 Jul 2023 11:29:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QBT0th024164; Wed, 26 Jul 2023 11:29:00 GMT (envelope-from git) Date: Wed, 26 Jul 2023 11:29:00 GMT Message-Id: <202307261129.36QBT0th024164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: 29fe5efc8aad - main - ofw(4): Add my copyright and additional history for ofw_reg_to_paddr() List-Id: Commit messages for all branches 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29fe5efc8aad3b283f2f53f24dc8ee3f3d0d6a58 Auto-Submitted: auto-generated The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=29fe5efc8aad3b283f2f53f24dc8ee3f3d0d6a58 commit 29fe5efc8aad3b283f2f53f24dc8ee3f3d0d6a58 Author: Marius Strobl AuthorDate: 2023-07-26 07:38:53 +0000 Commit: Marius Strobl CommitDate: 2023-07-26 11:14:22 +0000 ofw(4): Add my copyright and additional history for ofw_reg_to_paddr() The ofw_reg_to_paddr() in this file is the powerpc OF_decode_addr() formerly added in 812403402e0bc2165c03e37c6f657c7405f95c15. However, the latter function in turn was based on the sparc64 counterpart I previously added in 2b2250b149706f492dd615a518aa669e39b78d0a. --- sys/dev/ofw/ofw_subr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/ofw/ofw_subr.c b/sys/dev/ofw/ofw_subr.c index ec69e203dafd..c50ae056d022 100644 --- a/sys/dev/ofw/ofw_subr.c +++ b/sys/dev/ofw/ofw_subr.c @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2005 by Marius Strobl * Copyright (c) 2015 Ian Lepore * All rights reserved. * @@ -26,6 +27,8 @@ * The initial ofw_reg_to_paddr() implementation has been copied from powerpc * ofw_machdep.c OF_decode_addr(). It was added by Marcel Moolenaar, who did not * assert copyright with the addition but still deserves credit for the work. + * The powerpc OF_decode_addr() in turn was based on the sparc64 counterpart + * written by Marius Strobl. */ #include From nobody Wed Jul 26 14:30:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9xBX1lC5z4ny1D; Wed, 26 Jul 2023 14:30: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 4R9xBX1L76z3MLM; Wed, 26 Jul 2023 14:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YjxZ7Dr07VgXFYDf/hRpMw8WY0Ky4izEKEXahEDblV0=; b=Qf97rZsHzPWdK4tbx3TTiYEJiUmzsky9wNKcgsFc2ncneythp5Vu3XIIu3PGdwPIe5aupo /I0IRyCEL8yH5Glcm44YlK5rIRrVBrxGMkxNNOViB2wZac6gaEjL63FcjOZdGC4M9v9Nmz MalQh2Q7sji7eNcPx41gc1r0uO5DYzcmlk/r1R9J5/MN1hZEhTViPq/gY3h/CZbzOspuVI E3uhSX9E3fa/hk+saV8Wg+micje/0ldlj0eCC7UB85vNNpoMqc7ahZtgq66l5u/6jBgkkA JLHPjTnCFe7UVqkF2xBjwnCyL7cdMNh7FpvNeCOZayszQNzdfFNt+7hg2E9Mfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YjxZ7Dr07VgXFYDf/hRpMw8WY0Ky4izEKEXahEDblV0=; b=j0yJFvwVvedvog351O4dgqSWFXtsEB8d0h2EC7/Rmy5E6whjnPiJ5TI2x7Vj4HW+yK1xiM Z+tbLUJtXsKsvlg7AxNkgXrrNqZdrcV/6XJEeYC15iO7iOLGovc0CAXF/zM4ta4GW9Fhos ZnMV4rljnDSAEv1Oz3/dGb2O1rkr93ThZdb8MgPG0QlzB7i1jV8HcYJFMZzQFJgPckDVdw jkv7F4XfcN0EVAoneg/PHeCuAlDLowHKrygnCf0vS/Vah2BV5yRdhBd3RzBBdD/4ZZv2s6 KxbEEmqwNVuvmB8U/Sp6k8oF7i4BRnaZNVSfX0SAjHRUKwaJuHwgo0XVmLZ5Kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690381812; a=rsa-sha256; cv=none; b=nO6/j3JhK3s+/RGWP0nJ9ih2IxMv/puU/jN98Y3+r6uF6at2j4xVpw02RSZfUmiYmR5ltH cHy+IQ5OA2fGTIfNHYyMHeuhymSt+ePu2P5SMI+ENJ1N80OHRE63Cry7Kb1E1XdnM0g3IB eqCyz/+sWV+zxahS5AkMBjMv57cg82RGdhse1Txat/ChFU2dZiyvGpEk8TyiX/GzEtQQnT FJUvi99EM1c0T2tCjxiF/lj8xxrO5maQhhnsFJn2z8R7wi4juxTM3EiarLlcHUseEkAzxz s/JQPups3K3pk6FwRUC57j1HKmieTJY4WlU6fM5z+2DwJLWnudmnHJuTomOjlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9xBX0HsdzmBt; Wed, 26 Jul 2023 14:30: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 36QEUBBN026515; Wed, 26 Jul 2023 14:30:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QEUBKu026505; Wed, 26 Jul 2023 14:30:11 GMT (envelope-from git) Date: Wed, 26 Jul 2023 14:30:11 GMT Message-Id: <202307261430.36QEUBKu026505@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: a24726a6f3b4 - main - rtld_malloc: remove outdated 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: 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a24726a6f3b43473093267e2b4e81d186817dc7d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a24726a6f3b43473093267e2b4e81d186817dc7d commit a24726a6f3b43473093267e2b4e81d186817dc7d Author: Konstantin Belousov AuthorDate: 2023-07-22 04:13:58 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 14:24:17 +0000 rtld_malloc: remove outdated comments The ovu_magic is not neccessary overlaps with low byte of the ov_next, for the big endian machines. There is no range checking in the allocator. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41150 --- libexec/rtld-elf/rtld_malloc.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libexec/rtld-elf/rtld_malloc.c b/libexec/rtld-elf/rtld_malloc.c index d08254b67d9f..0eec68f35402 100644 --- a/libexec/rtld-elf/rtld_malloc.c +++ b/libexec/rtld-elf/rtld_malloc.c @@ -68,10 +68,6 @@ static caddr_t pagepool_start, pagepool_end; * contains a pointer to the next free block, and the bottom two bits must * be zero. When in use, the first byte is set to MAGIC, and the second * byte is the size index. The remaining bytes are for alignment. - * If range checking is enabled then a second word holds the size of the - * requested block, less 1, rounded up to a multiple of sizeof(RMAGIC). - * The order of elements is critical: ov_magic must overlay the low order - * bits of ov_next, and ov_magic can not be a valid ov_next bit pattern. */ union overhead { union overhead *ov_next; /* when free */ From nobody Wed Jul 26 14:30:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9xBY1v2Nz4nyJs; Wed, 26 Jul 2023 14:30: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 4R9xBY1FY4z3MLn; Wed, 26 Jul 2023 14:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mk+KRV2Xg9mq/Yj4YZMAgKUR45dsYnOd5ipwV0GjRwc=; b=J3xofP+3/DAEue0w78k1BEyED2eaDMEkvOsX1jhsmYGQtXXOOoWmsqmQubindzRsvC5Qva pQsHNIAtbboTXpTMw3e2SN/Zk1FpzKFurdmLiJckWuhfW+U6asnIkmWaG2ejKeajszF75F yXFWkAAenJmWXzZnWV4AYlmhJ6sBkjU5YVldSg41XH9skQDxpwXXOeCBO13HwK8BGyvFe4 3eWYXYVw7rNhfvo/XtfYpJ4vmPym7GhQ7ZpIJm1/WdORLTanUkkWc7XTVRF2KNXKAxQe5K n5rfblToH9UN3C9NBZXawCJ/k5SVByd0bwO6W4C5GRS7vprPPGfjpwg+Prz9Ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mk+KRV2Xg9mq/Yj4YZMAgKUR45dsYnOd5ipwV0GjRwc=; b=w/O+c8cNZ12rxCVgjaDH64fQUVnnt2gAKcXm1Hh3yDCxJjHo3mzRJPvR8aBQUsSEL2e3vP htnfJuKK1S4Ut/c+YSf9W0+VGCwuxGqXXZEJ4oCs4GNn+Rn1PhXheJ12X8fyRp0863jDx6 fz6jxfLWDZ1/cHIU8frlf2Mjv4AMWd4Qm45f3n4R9JbmJAlcQyqOOjRvnuMq/HNvAPGl2Q Bm/FmymhrGLZoWBOY1ylmcMQW/CLd9IdweEm01rhgw/Ozg7q4dKeT2B4LVE6tIaxUVcjtx egRxADfZFh52uHc3YQP1ot1FGMVJIk8st0pvklaAjSeiF2XtC/mL0P/7bnA2nQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690381813; a=rsa-sha256; cv=none; b=gInlyqpbUmRlY8NxCD0LdXKI6IdYwVn2ZAt+e6JRl49T8Ei09jBgubBBylj4WHc74S6xGl owh12+Ve+urdDR4xyo6+4LXhq4zmQlfTIE35UjRP6Krw0PnRMrjMGF+fvWp23SNnKOBLR+ s1tFgYb2HIinFYA2UdWfiui3hsN7I6xQMYHT6S4g3o0rD+qrz22LsmV2chTbWXuPUYZ5i/ VZE0bVtGEtYZB4E6WZQhxw2w3V099vUEkHxHy0gM+4BTGJujjjDKVsNCw3ksIXVgmcdJnG RaoPOZt6AQXovKBQ7scLLz4KHCekSIpcCXTBdTz6LnNp6VxoAudaOGPDhyb3rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9xBY09xDzmBv; Wed, 26 Jul 2023 14:30: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 36QEUCQD027120; Wed, 26 Jul 2023 14:30:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QEUCep027114; Wed, 26 Jul 2023 14:30:12 GMT (envelope-from git) Date: Wed, 26 Jul 2023 14:30:12 GMT Message-Id: <202307261430.36QEUCep027114@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: cf6dbdd13507 - main - rtld: remove dup __crt_malloc 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf6dbdd135072fc2b74e0a10c22474b0282ca122 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cf6dbdd135072fc2b74e0a10c22474b0282ca122 commit cf6dbdd135072fc2b74e0a10c22474b0282ca122 Author: Konstantin Belousov AuthorDate: 2023-07-22 04:37:50 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 14:24:17 +0000 rtld: remove dup __crt_malloc prototypes Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41150 --- libexec/rtld-elf/rtld.h | 5 ----- libexec/rtld-elf/rtld_malloc.c | 1 + 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index b8b0d67bd05d..1cebc0f95451 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -419,9 +419,4 @@ void ifunc_init(Elf_Auxinfo[__min_size(AT_COUNT)]); void init_pltgot(Obj_Entry *); void allocate_initial_tls(Obj_Entry *); -void *__crt_calloc(size_t num, size_t size); -void __crt_free(void *cp); -void *__crt_malloc(size_t nbytes); -void *__crt_realloc(void *cp, size_t nbytes); - #endif /* } */ diff --git a/libexec/rtld-elf/rtld_malloc.c b/libexec/rtld-elf/rtld_malloc.c index 0eec68f35402..6660610b11ce 100644 --- a/libexec/rtld-elf/rtld_malloc.c +++ b/libexec/rtld-elf/rtld_malloc.c @@ -56,6 +56,7 @@ static char *rcsid = "$FreeBSD$"; #include "rtld.h" #include "rtld_printf.h" #include "rtld_paths.h" +#include "rtld_malloc.h" /* * Pre-allocate mmap'ed pages From nobody Wed Jul 26 14:30:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9xBZ2rcZz4ny1c; Wed, 26 Jul 2023 14:30: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 4R9xBZ1tKMz3MJs; Wed, 26 Jul 2023 14:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pv7KSmqHn0VkkEco8yvNfZdOmTtFyWiocu1silSBQbk=; b=P/x9vzoF+UHhM7qtaPAu6X96/Qe43YDIK13DPQ1X+ZDi1+ar8gqsXZKBXd9KNcMEHZ2c0I LZ3FsVRIdBi8hEG1Xpg7Jr6tvpgA092lc6wuSpY3xGseVqPNNJz8TWXKnkAfMO+qaw9lRb o7NZpVL/SqG9q2STOq/4/buRw7sewRMHZegmrh7rOTQjvxxlo1gIq23clzTKG88OKU6iSr QgmpxEAY2QcG2QWUPyamfsttNI/52GiBdRbErumhzy7myfaPh4RhfKQsbsxzqhgixl6tK6 nQpf6Kekc3rgfKLT294+KR2RI2b5Vt6jM09FpKro9Jy28+x/mdjJf8GRwLI7OA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pv7KSmqHn0VkkEco8yvNfZdOmTtFyWiocu1silSBQbk=; b=FZRzsjTnyf2EFV+bjNIPkT1Gbf2AmdLyKZ4ip0o5rqbBZvVWNmwVJ+4MjZcyOCZWmmg5DN USoBkYwm/kzHcpJ6BbBLEMhuQ/nHC6VrfbemuyVJu/X3xNGKs07cGIh5hPNFzSTxxVZIz0 K+RYFEoU04Hl4Dpy7tKw9I0aWZSXBfO3oqC/VBsGJP8ykoOFQfM/TzBD2TDmItGtFoGDTH p2GY0F9w/DooKUFAEGR74ra+obHoJVPZT3SMa2ZIVhWH46nC4zuvRh+JTWPq+141EX1L0r lQnJi0Lv+JmbUeWckhGEnpskyRhq8gzPbb22qOtdoaRzo8nLDmx92bVSZYJcVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690381814; a=rsa-sha256; cv=none; b=TC18kvy1ejC7NCpHDQlTkP4xJ4y33raZItPE+vi49qbMcbwGIQLuN2d3fSkt0e4peA98id 0/DYTrNKZEanwFXds0ng/90+08Oep2oc14h0Kek83StToI3j1e6poXTTWyYE9LmfA94raz mshFHRi/aUH94avqhF+n0x7mbGJXy7MlBpNFbUvHsxycAioij5W7yTcn4eq9Tp698IqIBY CrEQwQg4jaIPhtxM5qSWnH/DlnoJ3P0Je4KAcYgeFwdEkRlqG7FwPjDqbDn/Q9i72dfk2+ olO0hP/EG8iA1g/i8zvYR/WDFEo0MRr89QZ/OfjjPXVUd3a+tiTEkuSiv3Lygw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9xBZ0tg2zmLf; Wed, 26 Jul 2023 14:30: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 36QEUExM027770; Wed, 26 Jul 2023 14:30:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QEUEdZ027767; Wed, 26 Jul 2023 14:30:14 GMT (envelope-from git) Date: Wed, 26 Jul 2023 14:30:14 GMT Message-Id: <202307261430.36QEUEdZ027767@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: bc7e86106d42 - main - rtld_malloc: only include internal rtld headers when building for 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: 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc7e86106d428c7da328ad7fc9d4cb5f7f303e0e Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bc7e86106d428c7da328ad7fc9d4cb5f7f303e0e commit bc7e86106d428c7da328ad7fc9d4cb5f7f303e0e Author: Konstantin Belousov AuthorDate: 2023-07-22 04:39:20 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 14:24:17 +0000 rtld_malloc: only include internal rtld headers when building for rtld Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41150 --- libexec/rtld-elf/rtld_malloc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libexec/rtld-elf/rtld_malloc.c b/libexec/rtld-elf/rtld_malloc.c index 6660610b11ce..45d3f743e348 100644 --- a/libexec/rtld-elf/rtld_malloc.c +++ b/libexec/rtld-elf/rtld_malloc.c @@ -53,9 +53,11 @@ static char *rcsid = "$FreeBSD$"; #include #include #include +#ifdef IN_RTLD #include "rtld.h" #include "rtld_printf.h" #include "rtld_paths.h" +#endif #include "rtld_malloc.h" /* From nobody Wed Jul 26 14:30:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9xBb3Qgdz4ny89; Wed, 26 Jul 2023 14:30: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 4R9xBb2R6jz3MMc; Wed, 26 Jul 2023 14:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=56j098e2mnEJapdKa+k2Yz3zrP4NlMFl5tMJznMR6S8=; b=IwZUdnIHIoIOXCO2CxuxP/yBdwwrMym2DJ+4zhT/SjVgE4IPWf9iL70E5EnidesSYnm45Z L26F9gMN4eGHpJrO4I5gf1tv3qGg8p+OKDwfS6UqUurOJQcVaxu2tYJ7MNJ6mxddrbPsCS Itn++wig10mPp3WYqkgmG7Lb8gu5n2zH51DXscivo5EBLdDHyRrb36ecXPsXWX46IS11Mt D3b4cAw5X+Rp6BVCL82AcwY7PE1waDB694ERp6KR0AGx6eOWAVzl/1iB033ZTlCVPTh/kT Wb4OgY1VmLz2iS4xCh4Lb7ECySFVDBA7jJa+oPb0ZFa56PIbEVujtwAMrDwx8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=56j098e2mnEJapdKa+k2Yz3zrP4NlMFl5tMJznMR6S8=; b=HjQBMpgPyGdZF/9rKkBs/yhs1KXSv0GTTRl6taFjEfj1kQ/Z1Wtsd/ge4PJsM/6FuGWenh 1IGMN7Md6Nh+U03UoNFlkwFv2Yi0pQAS5qSVK3HoBngTABT3VJ4UA0WD94fFnubo2KUrcX snHQOxDpVirAPZ0iZ2rkfhXUFUTXeSXdKTVHtiIM0UXjQRaaHBLlDf/gjZa2CKxyst2Ks0 oDyqINPK/l914zkaB9vrzdBgSkqIsM9ll0WZaApN2v+u9srh7Yb1KAwOifvwp1LGT0RC93 3LanvEf/yj+KAxjpF/zIAA7V/8aywS33VKv4VMyp+Q2e7CxMWonwazkQGdgWxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690381815; a=rsa-sha256; cv=none; b=J+XBgceU3LFTwKyhpD6tPfAIzM8yo0Z7wbd+0FA1Aza/mYL3Tp/sXYlguaYdQaD7ID812Y h/i0nJDSKxMJdchieQf3cbdmFDmr61Sjhrl8vbrjTUkQgWxCIFCH5UfhfvpYcR58hKEBeg ZaYTRefJKgFgi47Vjesm3rqtgpv+ecLYniko8QHfuN6/qw6ULeranaflBhvnD5CmZmgFMJ ziFLQ5zGFl2idbwyu6g5/2Gu1sywCrRnse9ywFWGGiv673V0F5q2I5emLPcm/y6c9KjWIZ kbD5R2dsX8pOh9aBzD2OqYnMpojkS8GgBZUUXKtjwVvgl2ZWB+9yCD5lN3Hqgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9xBb1KkDzm6B; Wed, 26 Jul 2023 14:30: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 36QEUFIk028435; Wed, 26 Jul 2023 14:30:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QEUFuV028432; Wed, 26 Jul 2023 14:30:15 GMT (envelope-from git) Date: Wed, 26 Jul 2023 14:30:15 GMT Message-Id: <202307261430.36QEUFuV028432@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: 86c7368f2bce - main - rtld_malloc: add cp2op() 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: 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 86c7368f2bcefeb257f7dc40e4296261b295a674 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=86c7368f2bcefeb257f7dc40e4296261b295a674 commit 86c7368f2bcefeb257f7dc40e4296261b295a674 Author: Konstantin Belousov AuthorDate: 2023-07-22 04:24:03 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 14:24:18 +0000 rtld_malloc: add cp2op() helper converting user allocation address into overhead pointer Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41150 --- libexec/rtld-elf/rtld_malloc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libexec/rtld-elf/rtld_malloc.c b/libexec/rtld-elf/rtld_malloc.c index 45d3f743e348..3437f638d339 100644 --- a/libexec/rtld-elf/rtld_malloc.c +++ b/libexec/rtld-elf/rtld_malloc.c @@ -106,6 +106,12 @@ static int pagesz; /* page size */ * increasing order. */ +static union overhead * +cp2op(void *cp) +{ + return ((union overhead *)((caddr_t)cp - sizeof(union overhead))); +} + void * __crt_malloc(size_t nbytes) { @@ -209,7 +215,7 @@ __crt_free(void *cp) if (cp == NULL) return; - op = (union overhead *)((caddr_t)cp - sizeof (union overhead)); + op = cp2op(cp); if (op->ov_magic != MAGIC) return; /* sanity */ size = op->ov_index; @@ -227,7 +233,7 @@ __crt_realloc(void *cp, size_t nbytes) if (cp == NULL) return (__crt_malloc(nbytes)); - op = (union overhead *)((caddr_t)cp - sizeof (union overhead)); + op = cp2op(cp); if (op->ov_magic != MAGIC) return (NULL); /* Double-free or bad argument */ i = op->ov_index; From nobody Wed Jul 26 14:30:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9xBd2Dsyz4ny8F; Wed, 26 Jul 2023 14:30: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 4R9xBc3FZSz3Mb1; Wed, 26 Jul 2023 14:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0IHyzhNuNgKfdqasV1T+jt/UkpMRLlf5Er/xdc7OdRU=; b=hiCPvqt/MmSCy7NGB9fEMwVjZHTQ1WcoyHLtTkjqXSZkUOYAvWBw/doYoi/nsICp+KssQt wCgnbWTTfC0rfhLKXD6kucVYeCJp76u3DknbhMvHdrdL40XA5C6H1vGX/RjFoP87DwbXH4 HyV2pMCyINfrtpippAioynU6STDxOVKi4T7tCkCxu2T2Eld41VNEACoXs6kQHVvHAnmmN5 inKB9R40QPyMWMDntLvO4O9+KQU/AErf9L8sDlH0IpG7Sunz7y+Wuol9VDovKYguI2+YS0 auIeMHaZkQmzEsWjj69dIO8QRa8gn3IDNH7rYj1O6a0nuAt1NgjkEfVrbuvEkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690381816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0IHyzhNuNgKfdqasV1T+jt/UkpMRLlf5Er/xdc7OdRU=; b=XV/iE9OPdz/T/M9NaNdEaHvJUcXZts/fr5IOiRJa8xNpRQudyNZyypI3jVorP7za6nVq4j eJ+FeHMmkr42ocSFL9AGmFKoi+EStlug0MO1l+viag/UikbhBtsomhkvpIPJBmlG3PYBey J2W0Gy/14EGY44ijboOK/ezep3zMWl9+I0Yjkg5bpxOOSZx6FoNqR1Ae0LjRbDCaHZt0e1 GVIWNm533kj68G/YqUqLx/Z8HQ0mPBScWRvuPfoVC525pys3LVj/FKTGa41j8jBIK6x0D+ 2UcTCelPzcFgNa++HBFNlm+mySMvUrMkaUbyeRiU6oM2e7I+PcXDb09+WWbYxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690381816; a=rsa-sha256; cv=none; b=TI/dxtZ9K7TkTDm4DM0T2jd/ppK3xL2YagJ/6PBTHmhp1Sach2wPXibeH53hBPW2er7IyT DKDQo6JEZJsil0o4ASYNhPQ3Z1y6PbB9dyWtYqFuzjNwe7FzM1PEBDOCRwe2jZ03/+QrG1 zACffBwfiDsQCgFgAZJ8sHASViGCjNB32+FrBLRDvCx5upI7k3PXXI5663uYPtXF61gNV9 O7iFfU9i2anbp+yAea4egVBbvNWzwEMj1DEBWgA6L/pcleobs8vHVL8Yoe+hUousN+2k1D WWYeTTbg1+3KNQDBuQI9gIyuKWNoVBCl5K8Bxq1q81D0WgeiOFKsrVSU4SOcCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9xBc27gdzmBx; Wed, 26 Jul 2023 14:30: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 36QEUGAx029071; Wed, 26 Jul 2023 14:30:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QEUGnb029065; Wed, 26 Jul 2023 14:30:16 GMT (envelope-from git) Date: Wed, 26 Jul 2023 14:30:16 GMT Message-Id: <202307261430.36QEUGnb029065@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: 0a5c29a6ee0a - main - thr_mutex.c: style List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a5c29a6ee0a4c2732977d6d832e7193dbddaf26 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0a5c29a6ee0a4c2732977d6d832e7193dbddaf26 commit 0a5c29a6ee0a4c2732977d6d832e7193dbddaf26 Author: Konstantin Belousov AuthorDate: 2023-07-22 17:59:26 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 14:24:51 +0000 thr_mutex.c: style Reindend and re-fill the statement. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41150 --- lib/libthr/thread/thr_mutex.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c index 40e0b7382f95..8d64d26c12ab 100644 --- a/lib/libthr/thread/thr_mutex.c +++ b/lib/libthr/thread/thr_mutex.c @@ -291,8 +291,8 @@ mutex_init(pthread_mutex_t *mutex, if (error != 0) return (error); } - if ((pmutex = (pthread_mutex_t) - calloc_cb(1, sizeof(struct pthread_mutex))) == NULL) + if ((pmutex = (pthread_mutex_t)calloc_cb(1, + sizeof(struct pthread_mutex))) == NULL) return (ENOMEM); mutex_init_body(pmutex, attr); *mutex = pmutex; From nobody Wed Jul 26 15:22:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9yLW0lVxz4pgj8; Wed, 26 Jul 2023 15:22: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 4R9yLR6gqsz3xfw; Wed, 26 Jul 2023 15:22:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690384928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=33QClqmJT/mMyctyJ/9zw0p2s6qoG4C6r3syqdM2q7w=; b=xeGiCeWD2cZenfpJlfsyoSMvXxTD906XB/KA3fAtXb6+358cRI2aTk65Z22OlfTZmux9WV wv4tQf7B3e36al2WXPtqpNDFcYoKqWU40NNV0dSaHdS8b+t6hcYbaRxllQqfEsudxtVlm7 Je/0m3RGi52K3nIcl4XjRrC91iIzQGkamO3xR2XV1PAJJXixjpjxk5UUvMOnvQ0LCOfuS4 xRxT1QbIoJWi2jgTf1DGkKx85iqxjFn3BhWSMsxw5gDHZBCg6VUNik0qVpnWGZW2YyHpxR 0GKgaRxPyR/0YXskFn+nh+Q57nhtBDmlNtLYBko/BQFa6VDtPyzOxEg0HXoCqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690384928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=33QClqmJT/mMyctyJ/9zw0p2s6qoG4C6r3syqdM2q7w=; b=vDoUCbJsrq6die52XTTj09IGrbg4rUKR9QirHC0pTw+GSNMmDM7MRrAyt88PuLwAYhN985 2v9uRpRrDF3RyX49tMJCSqLRbs7WzF8q3iqQCfwCw76i7mexgdmkWeNxC0ws8cOTDuQWy9 RBVwug328ryHvi/rTZxjV+iY6xmsWCWsgRzX8bvbjUy6/2IBZyWoKCxW/4aG/LIQXu4M+1 nQKmV+7WlklwI5J6OEmojK87SZ89bH4VyUWGRhea0WgtHHoyVQOTrWUAkf88sPZLt/O8xs 1HymoYUQOBloDt5k9aAFO1orC1FTkSReaBzHHYoqbCJo5OlLmtd3zrbuCSht/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690384928; a=rsa-sha256; cv=none; b=slKndv+hCE2J+Km6wFqW0Vs/cNR0tdCqYAqGAAyAZl6CVmQcVXngzz5l8yVLWZGHj4Sv6O l+rxxG3O4nnVyYhH0cp7f8XgasL4gFZEcfQN6mNIwSVbaF5RqocmOuQpGkXWWgB6nTAdQv wFHcF74YDgICTFafoLyERAEdI3zw0JAxIg1T+l92WlPOIH5NKhQKF3hLFambjec+SRyynw BaGFqqKn4vP7CY6k+4QOOa2E+/ixhFqCDl6NIdnAfggak+unU/HsPoV0p9zXVwxdJBYIXP Ridfh0KSAHvS7kf/lCdkh8zu75bMauCaGG/1bNnOzchdi1hg8Cw7WjBeSCeb3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9yLR4VJLznCH; Wed, 26 Jul 2023 15:22: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 36QFM7Ig017891; Wed, 26 Jul 2023 15:22:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QFM7pl017890; Wed, 26 Jul 2023 15:22:07 GMT (envelope-from git) Date: Wed, 26 Jul 2023 15:22:07 GMT Message-Id: <202307261522.36QFM7pl017890@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: dfe172484d0e - main - sigtd(): prefer non-stopped thread as a target for signal queue List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dfe172484d0e1de0bb32bcab8775eb83e15031c0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=dfe172484d0e1de0bb32bcab8775eb83e15031c0 commit dfe172484d0e1de0bb32bcab8775eb83e15031c0 Author: Konstantin Belousov AuthorDate: 2023-07-21 09:41:39 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 15:12:55 +0000 sigtd(): prefer non-stopped thread as a target for signal queue This should improve signal delivery latency and better expose the process state to the executing threads. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41128 --- sys/kern/kern_sig.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index de42255017d8..5876e2e93920 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -2157,14 +2157,18 @@ sigtd(struct proc *p, int sig, bool fast_sigblock) if (curproc == p && !SIGISMEMBER(curthread->td_sigmask, sig) && (!fast_sigblock || curthread->td_sigblock_val == 0)) return (curthread); + + /* Find a non-stopped thread that does not mask the signal. */ signal_td = NULL; FOREACH_THREAD_IN_PROC(p, td) { if (!SIGISMEMBER(td->td_sigmask, sig) && (!fast_sigblock || - td != curthread || td->td_sigblock_val == 0)) { + td != curthread || td->td_sigblock_val == 0) && + (td->td_flags & TDF_BOUNDARY) == 0) { signal_td = td; break; } } + /* Select random (first) thread if no better match was found. */ if (signal_td == NULL) signal_td = FIRST_THREAD_IN_PROC(p); return (signal_td); From nobody Wed Jul 26 15:22:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9yLW1pVPz4ph29; Wed, 26 Jul 2023 15:22: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 4R9yLS6VhMz3xlp; Wed, 26 Jul 2023 15:22:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690384929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dI8yetSxyE3kPrYXfTlBDsLfPFZhv5YWIG15QMgZAxg=; b=jsCE38TJ1B+1Aj50YP1TF+fcEm4SJYxwvCTubp9bBVTn5rWz4Zz3QmvlsNqn4d9StJGqCC 7KLXItJgFeF/s5j16dqHbq6LfjSgG7Dyz7vM6Z/ezrEI3WfpnpFSM8pIN6S9Wj2ygOgM9U ynjsCH0eCzE1mjxtgTYEm1lctZtUha8O4lhyQG5hiK/1DmAvJmRa/IPsRv5s0MYmpurPaj HcC7DoYIyv5p2FVW1KU8TylfbgzVBjxAF8iqC1InBKPXxTfXqkSJgXmsqnhSoyxBvu/GSb iAgvTvKsRDy1/sk+8nPrhAq5R4YjqNhLkXCfmfoUHrNjmYQqMq04GcHQdzifeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690384929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dI8yetSxyE3kPrYXfTlBDsLfPFZhv5YWIG15QMgZAxg=; b=gRvBmcIvsqCs0Um0PpT++Q758bbmPDogsjO4jRr5eHbTSBuXEP6896KKuwUMC1tBFKNb0L GaunZYbXJG5kf5B8Epi0VB6mbLFx5KqA+6L87l9YQTsUqwrpc4cZgbHxLTtQkmgehtqtyS 1UjEdE4+6FNpvGrzocTSjhTAM2YC8Y9+o6izCPomMuVpTvjcDYpmPiWk3oUUXOgo9Ghopq HeQkv1yxorpDw5RUb8woBsgH5MLU1BZ1A3dAAUMGq0P2OUNkDEweYDBAsxZ6wgyTMeA06z OBQ87zvnxLL5B9Tvn7xmeyjhKyrKgcQ7dr/I+Pw2UY8Ibn9El5RVyWWXZKeMiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690384929; a=rsa-sha256; cv=none; b=V3wTttwhTgy1BaVRbf7ZrzOw0lVg7z8h0uF/Rf/cQO4ztca3Zc0JUic1naUzKXGnujA2DX Y4M0+WwUIesvaehBCLJ7sMozzP3M1Fz7uVCGWXdBdG8Db/cdwkxYMO5efl3NtE/MjF/YeP rA9VGqs/FTvkIatZBVXxrZh3Sn8XXlbZIEFBvMdKkdZ/JlfuZKmwXaJJTdDDJlgjHOzoRs zCiBn0sQNPUWbzGwe7eZCIdAx0DlLeVfGyTXVGHbN9wUQQ6+Wst3+XUA7EqOqqkVNnUdeD uXkcBth7S/qZLEJtwDbUBDumusqXh/A/MOG8kDVxkWGUFKDf8F6/Yd9phTQ5ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9yLS5QGsznCJ; Wed, 26 Jul 2023 15:22: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 36QFM8m7017917; Wed, 26 Jul 2023 15:22:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QFM8nb017916; Wed, 26 Jul 2023 15:22:08 GMT (envelope-from git) Date: Wed, 26 Jul 2023 15:22:08 GMT Message-Id: <202307261522.36QFM8nb017916@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: 232b922cb363 - main - killpg(): close a race with fork(), 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: 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 232b922cb363e01ac0dd2a277d93cf74d8485e79 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=232b922cb363e01ac0dd2a277d93cf74d8485e79 commit 232b922cb363e01ac0dd2a277d93cf74d8485e79 Author: Konstantin Belousov AuthorDate: 2023-07-20 21:19:03 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 15:13:02 +0000 killpg(): close a race with fork(), part 2 When we are sending terminating signal to the group, killpg() needs to guarantee that all group members are to be terminated (it does not need to ensure that they are terminated on return from killpg()). The pg_killsx change eliminates the largest window there, but still, if a multithreaded process is signalled, the following could happen: - thread 1 is selected for the signal delivery and gets descheduled - thread 2 waits for pg_killsx lock, obtains it and forks - thread 1 continue executing and terminates the process This scenario allows the child to escape still. Fix it by single-threading forking parent if a conflict with pg_killsx is noted. We try to lock pg_killsx without sleeping, and failure to acquire it means that a parallel killpg(2) is executed. Then, stop other threads for running and in particular, receive signals, to avoid the situation explained above. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41128 --- sys/kern/kern_fork.c | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 81bee99fa1ca..e64a91ea5f80 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -862,7 +862,7 @@ fork1(struct thread *td, struct fork_req *fr) static int curfail; static struct timeval lastfail; int flags, pages; - bool killsx_locked; + bool killsx_locked, singlethreaded; flags = fr->fr_flags; pages = fr->fr_pages; @@ -920,6 +920,7 @@ fork1(struct thread *td, struct fork_req *fr) newproc = NULL; vm2 = NULL; killsx_locked = false; + singlethreaded = false; /* * Increment the nprocs resource before allocations occur. @@ -950,14 +951,37 @@ fork1(struct thread *td, struct fork_req *fr) } /* - * Atomically check for signals and block threads from sending - * a signal to our process group until the child is visible. + * If we are possibly multi-threaded, and there is a process + * sending a signal to our group right now, ensure that our + * other threads cannot be chosen for the signal queueing. + * Otherwise, this might delay signal action, and make the new + * child escape the signaling. */ pg = p1->p_pgrp; - if (sx_slock_sig(&pg->pg_killsx) != 0) { + if (p1->p_numthreads > 1) { + if (sx_try_slock(&pg->pg_killsx) != 0) { + killsx_locked = true; + } else { + PROC_LOCK(p1); + if (thread_single(p1, SINGLE_BOUNDARY)) { + PROC_UNLOCK(p1); + error = ERESTART; + goto fail2; + } + PROC_UNLOCK(p1); + singlethreaded = true; + } + } + + /* + * Atomically check for signals and block processes from sending + * a signal to our process group until the child is visible. + */ + if (!killsx_locked && sx_slock_sig(&pg->pg_killsx) != 0) { error = ERESTART; goto fail2; - } else if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0)) { + } + if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0)) { /* * Either the process was moved to other process * group, or there is pending signal. sx_slock_sig() @@ -1062,8 +1086,8 @@ fork1(struct thread *td, struct fork_req *fr) } do_fork(td, fr, newproc, td2, vm2, fp_procdesc); - sx_sunlock(&pg->pg_killsx); - return (0); + error = 0; + goto cleanup; fail0: error = EAGAIN; #ifdef MAC @@ -1081,9 +1105,16 @@ fail2: fdrop(fp_procdesc, td); } atomic_add_int(&nprocs, -1); +cleanup: if (killsx_locked) sx_sunlock(&pg->pg_killsx); - pause("fork", hz / 2); + if (singlethreaded) { + PROC_LOCK(p1); + thread_single_end(p1, SINGLE_BOUNDARY); + PROC_UNLOCK(p1); + } + if (error != 0) + pause("fork", hz / 2); return (error); } From nobody Wed Jul 26 15:22:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9yLV6Y8jz4ph28; Wed, 26 Jul 2023 15:22: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 4R9yLQ5SKvz3xck; Wed, 26 Jul 2023 15:22:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690384927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+bHgcZigZ0TZEF/+xtUFw6SDhobUruS7Hv/aUS3N9nI=; b=ZOcgzD4f4MBYbCHuJB0ggQVcq8GYauao/oi0J0lRH4llxo1+WDPeG/PWMhOZVEtSoOUNT5 MpJIOb6y9w6ge9j4IZS6LyvYzU3ff99L0GeJ/jm0VOvpjo+s4lkbplFvvuudKzVOxSiMya 1e32cHZrASvU2uMvQRfxcuKrUO+sTJ3XO/7T28l70FEX4uiXs0VUviOoyN5z5reI0235Sk doLbk2ODuiil4f7Tllh2K9D0G8VxYjGp3hRzNZSDJmKD1CN7RQYyoTxX2iX45yQeI+yHTh piMuHkfV1j/HkCy3A56JSs/PlSFgg4OmsnCaJAMllgp4OKAufGgy52b7OhW0eQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690384927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+bHgcZigZ0TZEF/+xtUFw6SDhobUruS7Hv/aUS3N9nI=; b=ciE6NOMfxQTasszvyAV8Y7PVV+QcD1M24SA9UzkMOH5UPkIeSr14xF/JmGdQO5I+ZzMTVI M6+WvJdKWi6t4PLMURMoG4FSQbxPd8loDB5Q8q53+EToCTJY0cWznA9FGNmQW7oSr7HymM qdKzGQBkyLkVzUlkmSDoyNwySbSUZlgTiGTMYc3pknY4BKUu/ErwXDq91nGdyIJjX2FwNa 2D4gHdRg7WRUYEXjDL9RHRtttVkoxkbplPVUrQEBR7JX8AtMwXHCZRlvrj+quXOCvGSV09 VBfnM5bF8j5ZZUY58MDgiVYJ+63bmoUpaePieHy6vgFr7zt4wqim657bleqVRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690384927; a=rsa-sha256; cv=none; b=Omhwj7I/II0zYX9bQPPaXyrU5EuA3BapkwxAztPq43vCQ1QbOBNcREyasMt8VKpHVa/BZb qy6y0oBpJLwUPJ5MNiGyoIQ5tvnfYD8IHr4QZzKNEGBQs0T0iOZv+kFCicDl0wHox4iwp8 o5NXCPst/SzcOWHd9SuuZzZwQvZH0X7rJ+eA6YC1s6vixbGnsFfOM7zhebuSmpQFLNcYR5 F2TSVMumlFIB6oDS/gntwVKV2FXZfzWGi4t/Lnd5tRFfSkDsDJo1ZE2gzVRNCLFX/6OkXA US81Mf2BYqLBkRSf9Pu/WulA8pmnbliBLqryKGU1VPu+7nQZuOmUXW1FBjZqEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9yLQ3yJ8znMC; Wed, 26 Jul 2023 15:22: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 36QFM6vo017870; Wed, 26 Jul 2023 15:22:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QFM6Ij017869; Wed, 26 Jul 2023 15:22:06 GMT (envelope-from git) Date: Wed, 26 Jul 2023 15:22:06 GMT Message-Id: <202307261522.36QFM6Ij017869@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: aaa924138a31 - main - Revert "killpg(): close a race with fork(), 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: 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aaa924138a31078a1742029ee2d3489aaaa11299 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=aaa924138a31078a1742029ee2d3489aaaa11299 commit aaa924138a31078a1742029ee2d3489aaaa11299 Author: Konstantin Belousov AuthorDate: 2023-07-20 20:59:41 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 15:12:55 +0000 Revert "killpg(): close a race with fork(), part 2" This reverts commits 81a37995c757b4e3ad8a5c699864197fd1ebdcf5 and 565a343ae3a30bc2973182ff8dfd2fa37d7f615f. There is still a leakage of the p_killpg_cnt, some but not all sources of which were identified. Second, and more important, is that there is a fundamental issue with blocked signals having KSI_KILLPG flag set. Queueing of such signal increments p_killpg_cnt, but it cannot be decremented until the signal is delivered. If, for instance, a single-threaded process with blocked signal receives killpg-kill and executes fork(2), the fork enter check returns with ERESTART. And since signal is blocked, the condition cannot be cleared. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41128 --- sys/kern/kern_exit.c | 13 +------------ sys/kern/kern_fork.c | 3 +-- sys/kern/kern_sig.c | 39 ++++++--------------------------------- sys/kern/kern_thread.c | 6 +++--- sys/sys/proc.h | 2 -- sys/sys/signalvar.h | 3 +-- 6 files changed, 12 insertions(+), 54 deletions(-) diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index a6f3ca2a2d66..a92d5cc0f642 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -220,19 +220,13 @@ proc_set_p2_wexit(struct proc *p) p->p_flag2 |= P2_WEXIT; } -void -exit1(struct thread *td, int rval, int signo) -{ - exit2(td, rval, signo, false); -} - /* * Exit: deallocate address space and other resources, change proc state to * zombie, and unlink proc from allproc and parent's lists. Save exit status * and rusage for wait(). Check for child processes and orphan them. */ void -exit2(struct thread *td, int rval, int signo, bool dec_killpg_cnt) +exit1(struct thread *td, int rval, int signo) { struct proc *p, *nq, *q, *t; struct thread *tdt; @@ -310,11 +304,6 @@ exit2(struct thread *td, int rval, int signo, bool dec_killpg_cnt) ("exit1: proc %p exiting with %d threads", p, p->p_numthreads)); racct_sub(p, RACCT_NTHR, 1); - if (dec_killpg_cnt) { - MPASS(atomic_load_int(&p->p_killpg_cnt) > 0); - atomic_add_int(&p->p_killpg_cnt, -1); - } - /* Let event handler change exit status */ p->p_xexit = rval; p->p_xsig = signo; diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 180c96ae33ef..81bee99fa1ca 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -957,8 +957,7 @@ fork1(struct thread *td, struct fork_req *fr) if (sx_slock_sig(&pg->pg_killsx) != 0) { error = ERESTART; goto fail2; - } else if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0 || - atomic_load_int(&p1->p_killpg_cnt) != 0)) { + } else if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0)) { /* * Either the process was moved to other process * group, or there is pending signal. sx_slock_sig() diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index b15ad12724f8..de42255017d8 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -120,7 +120,6 @@ static int filt_signal(struct knote *kn, long hint); static struct thread *sigtd(struct proc *p, int sig, bool fast_sigblock); static void sigqueue_start(void); static void sigfastblock_setpend(struct thread *td, bool resched); -static void sigexit1(struct thread *td, int sig, ksiginfo_t *ksi) __dead2; static uma_zone_t ksiginfo_zone = NULL; struct filterops sig_filtops = { @@ -371,15 +370,6 @@ sigqueue_start(void) TDP_OLDMASK, ast_sigsuspend); } -static void -sig_handle_killpg(struct proc *p, ksiginfo_t *ksi) -{ - if ((ksi->ksi_flags & KSI_KILLPG) != 0 && p != NULL) { - MPASS(atomic_load_int(&p->p_killpg_cnt) > 0); - atomic_add_int(&p->p_killpg_cnt, -1); - } -} - ksiginfo_t * ksiginfo_alloc(int mwait) { @@ -479,7 +469,6 @@ sigqueue_take(ksiginfo_t *ksi) p = sq->sq_proc; TAILQ_REMOVE(&sq->sq_list, ksi, ksi_link); ksi->ksi_sigq = NULL; - sig_handle_killpg(p, ksi); if (!(ksi->ksi_flags & KSI_EXT) && p != NULL) p->p_pendingcnt--; @@ -577,7 +566,6 @@ sigqueue_flush(sigqueue_t *sq) while ((ksi = TAILQ_FIRST(&sq->sq_list)) != NULL) { TAILQ_REMOVE(&sq->sq_list, ksi, ksi_link); ksi->ksi_sigq = NULL; - sig_handle_killpg(p, ksi); if (ksiginfo_tryfree(ksi) && p != NULL) p->p_pendingcnt--; } @@ -653,7 +641,6 @@ sigqueue_delete_set(sigqueue_t *sq, const sigset_t *set) if (SIGISMEMBER(*set, ksi->ksi_signo)) { TAILQ_REMOVE(&sq->sq_list, ksi, ksi_link); ksi->ksi_sigq = NULL; - sig_handle_killpg(p, ksi); if (ksiginfo_tryfree(ksi) && p != NULL) p->p_pendingcnt--; } @@ -682,7 +669,7 @@ sigqueue_delete_set_proc(struct proc *p, const sigset_t *set) PROC_LOCK_ASSERT(p, MA_OWNED); - sigqueue_init(&worklist, p); + sigqueue_init(&worklist, NULL); sigqueue_move_set(&p->p_sigqueue, &worklist, set); FOREACH_THREAD_IN_PROC(p, td0) @@ -1470,7 +1457,7 @@ kern_sigtimedwait(struct thread *td, sigset_t waitset, ksiginfo_t *ksi, #endif if (sig == SIGKILL) { proc_td_siginfo_capture(td, &ksi->ksi_info); - sigexit1(td, sig, ksi); + sigexit(td, sig); } } PROC_UNLOCK(p); @@ -1948,10 +1935,8 @@ kern_kill(struct thread *td, pid_t pid, int signum) case -1: /* broadcast signal */ return (killpg1(td, signum, 0, 1, &ksi)); case 0: /* signal own process group */ - ksi.ksi_flags |= KSI_KILLPG; return (killpg1(td, signum, 0, 0, &ksi)); default: /* negative explicit process group */ - ksi.ksi_flags |= KSI_KILLPG; return (killpg1(td, signum, -pid, 0, &ksi)); } /* NOTREACHED */ @@ -2002,7 +1987,6 @@ okillpg(struct thread *td, struct okillpg_args *uap) ksi.ksi_code = SI_USER; ksi.ksi_pid = td->td_proc->p_pid; ksi.ksi_uid = td->td_ucred->cr_ruid; - ksi.ksi_flags |= KSI_KILLPG; return (killpg1(td, uap->signum, uap->pgid, 0, &ksi)); } #endif /* COMPAT_43 */ @@ -2371,10 +2355,6 @@ tdsendsignal(struct proc *p, struct thread *td, int sig, ksiginfo_t *ksi) ret = sigqueue_add(sigqueue, sig, ksi); if (ret != 0) return (ret); - if ((ksi->ksi_flags & KSI_KILLPG) != 0) { - sx_assert(&p->p_pgrp->pg_killsx, SX_XLOCKED); - atomic_add_int(&p->p_killpg_cnt, 1); - } signotify(td); /* * Defer further processing for signals which are held, @@ -3425,7 +3405,7 @@ postsig(int sig) */ mtx_unlock(&ps->ps_mtx); proc_td_siginfo_capture(td, &ksi.ksi_info); - sigexit1(td, sig, &ksi); + sigexit(td, sig); /* NOTREACHED */ } else { /* @@ -3453,7 +3433,6 @@ postsig(int sig) if (p->p_sig == sig) { p->p_sig = 0; } - sig_handle_killpg(p, &ksi); (*p->p_sysent->sv_sendsig)(action, &ksi, &returnmask); postsig_done(sig, td, ps); } @@ -3611,8 +3590,8 @@ killproc(struct proc *p, const char *why) * If dumping core, save the signal number for the debugger. Calls exit and * does not return. */ -static void -sigexit1(struct thread *td, int sig, ksiginfo_t *ksi) +void +sigexit(struct thread *td, int sig) { struct proc *p = td->td_proc; @@ -3651,16 +3630,10 @@ sigexit1(struct thread *td, int sig, ksiginfo_t *ksi) sig & WCOREFLAG ? " (core dumped)" : ""); } else PROC_UNLOCK(p); - exit2(td, 0, sig, ksi != NULL && (ksi->ksi_flags & KSI_KILLPG) != 0); + exit1(td, 0, sig); /* NOTREACHED */ } -void -sigexit(struct thread *td, int sig) -{ - sigexit1(td, sig, NULL); -} - /* * Send queued SIGCHLD to parent when child process's state * is changed. diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index fad1abd1be6c..67712450c128 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -99,7 +99,7 @@ _Static_assert(offsetof(struct proc, p_pid) == 0xc4, "struct proc KBI p_pid"); _Static_assert(offsetof(struct proc, p_filemon) == 0x3c8, "struct proc KBI p_filemon"); -_Static_assert(offsetof(struct proc, p_comm) == 0x3e4, +_Static_assert(offsetof(struct proc, p_comm) == 0x3e0, "struct proc KBI p_comm"); _Static_assert(offsetof(struct proc, p_emuldata) == 0x4d0, "struct proc KBI p_emuldata"); @@ -119,9 +119,9 @@ _Static_assert(offsetof(struct proc, p_pid) == 0x78, "struct proc KBI p_pid"); _Static_assert(offsetof(struct proc, p_filemon) == 0x270, "struct proc KBI p_filemon"); -_Static_assert(offsetof(struct proc, p_comm) == 0x288, +_Static_assert(offsetof(struct proc, p_comm) == 0x284, "struct proc KBI p_comm"); -_Static_assert(offsetof(struct proc, p_emuldata) == 0x31c, +_Static_assert(offsetof(struct proc, p_emuldata) == 0x318, "struct proc KBI p_emuldata"); #endif diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 5c77c2d683c1..d79b7a440168 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -722,7 +722,6 @@ struct proc { int p_pendingexits; /* (c) Count of pending thread exits. */ struct filemon *p_filemon; /* (c) filemon-specific data. */ int p_pdeathsig; /* (c) Signal from parent on exit. */ - int p_killpg_cnt; /* End area that is zeroed on creation. */ #define p_endzero p_magic @@ -1237,7 +1236,6 @@ void userret(struct thread *, struct trapframe *); void cpu_exit(struct thread *); void exit1(struct thread *, int, int) __dead2; -void exit2(struct thread *, int, int, bool) __dead2; void cpu_copy_thread(struct thread *td, struct thread *td0); bool cpu_exec_vmspace_reuse(struct proc *p, struct vm_map *map); int cpu_fetch_syscall_args(struct thread *td); diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index 1db8813b6bf0..251775c37259 100644 --- a/sys/sys/signalvar.h +++ b/sys/sys/signalvar.h @@ -240,8 +240,7 @@ typedef struct ksiginfo { #define KSI_SIGQ 0x08 /* Generated by sigqueue, might ret EAGAIN. */ #define KSI_HEAD 0x10 /* Insert into head, not tail. */ #define KSI_PTRACE 0x20 /* Generated by ptrace. */ -#define KSI_KILLPG 0x40 /* killpg - update p_killpg_cnt */ -#define KSI_COPYMASK (KSI_TRAP | KSI_SIGQ | KSI_PTRACE | KSI_KILLPG) +#define KSI_COPYMASK (KSI_TRAP | KSI_SIGQ | KSI_PTRACE) #define KSI_ONQ(ksi) ((ksi)->ksi_sigq != NULL) From nobody Wed Jul 26 15:58:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9z8l4H4cz4pFBh; Wed, 26 Jul 2023 15:58: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 4R9z8l3WL3z4G9H; Wed, 26 Jul 2023 15:58:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690387127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=veXf+utroKjs6Dc5AGmvWUTK57xCLBJUNW8ac8QSb2I=; b=coGdmCZR9SRjrKrRh8uvptoYsvMsfVoILQ5jzJUwXJybEpSm+Aeh9IPA2W50m9dozsi0/l 3yh9EPM6pgCYgvWhUALj94dvJsz7PIZnWUw4hnCywLs/PiEprnsyHuZsMTpvgXWfEKACTa uVJukJcU/AwL0iGj22asiCcFGlAdUMTGDaE4ZozRIeJtDw0nK5eo9/yMnXVZXrdR+FArZ+ cyGfBOE44O01neNq1ga/fownV5esRTADIe/lxdYCAubrAOPIJPgoYqc3OJMIeMn8C3LUW2 Ss37Vse7LJPJw+N7Ezs8t/kvMyMCZUu6znrwGj2Gmg9Qbiows9Zq0gB1e/5i0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690387127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=veXf+utroKjs6Dc5AGmvWUTK57xCLBJUNW8ac8QSb2I=; b=uas8B/50I/ZzMEfSrQax8Hn8rLjq2Slm7glQOnQt3Q2eV330+fEWTmNzqO03PAsSyzjRYJ fxTjxBJGxMSCV8wCXkRW3VS3OnEcps/Ttjsr8EoX5/tEng2kxvwdo7EUXDgea4KXOySrAE m6Q1/L+MlgRvCiikikEGo+7jMbiTzZvoTsX30Tvk6sT1rdzPTP15LUnMihDUnqh5/sUFXb xpHzDSBfVZmU+6Ini+LvcYeDtsuXag3EWRS0FDpxy5L3pVBqtkwm9TYtUSzcBqi8u7C5f3 LcqAxk0iYLp8uCYGVIoO90iUZULwSw98d5VuZxRecXUJDhVID+j+hz7bFFv5dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690387127; a=rsa-sha256; cv=none; b=orxvsl3Hj8uxpYXX+/q8QEJN5MacDxCW52yMAEy34ECCrNTCJHxGReKc+u+Ro+DSk5RcIM MNuIEUmklUqzPg/X6KAZPkvexPJD77fqBZgKafadLU9wmnjcKzV6S7Jj+zOjcC+y3NHCoC aiV64wIEpGz9kXR92x11exVH7m31O7shu/FPBMPUdRFCEVP55CQjAqxVfrTOFiMI+lDEvT XWJN4b/RuAQmTDf9YT5Ptz5btixrIqGtCzP1pyXfwqpi3N+Hh1lzSeH6FjWt6HP5D4SaJ2 jc9OhJBC/FIZ1bzyIr4w7KXrilDc9avAv8noWIuc4acLYg9aEwsNotV7zlgtcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9z8l2VPGzpBV; Wed, 26 Jul 2023 15:58: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 36QFwlkp070925; Wed, 26 Jul 2023 15:58:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QFwl4K070924; Wed, 26 Jul 2023 15:58:47 GMT (envelope-from git) Date: Wed, 26 Jul 2023 15:58:47 GMT Message-Id: <202307261558.36QFwl4K070924@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: 372e3d561d82 - main - netstat -i: compute most field widths dynamically List-Id: Commit messages for all branches 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: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 372e3d561d82aba7a66fcd4ecb49a4d0a9f69345 Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=372e3d561d82aba7a66fcd4ecb49a4d0a9f69345 commit 372e3d561d82aba7a66fcd4ecb49a4d0a9f69345 Author: Mike Karels AuthorDate: 2023-07-26 15:56:52 +0000 Commit: Mike Karels CommitDate: 2023-07-26 15:56:52 +0000 netstat -i: compute most field widths dynamically The network and address fields were sometimes truncated for netstat -i without -W, and often much too wide for netstat -i with the -W option. Fields such as normal packet counts often overflowed. As a result, columns didn't line up, and large white spaces made it harder to follow a line across the display. Change the code to compute the required field sizes for network, address, and various packet counts. Hoist the code to format network and address into a subroutine that can be called twice, once to measure the required field widths, and once to emit the values. Use separate field widths for input and output packets, byte counts, and error and drop counters. These are left at defaults (the preceding values) with the -h option, in which case the fields have a limited total width. An extra space is included between the Network and Address, which otherwise seemed too close. Change the mention of -W with -i in the man page to say that most field widths are computed dynamically in this case. MFC after: 1 week Reviewed by: sjg, glebius Differential Revision: https://reviews.freebsd.org/D41160 --- usr.bin/netstat/if.c | 217 ++++++++++++++++++++++++++++++---------------- usr.bin/netstat/netstat.1 | 3 + 2 files changed, 143 insertions(+), 77 deletions(-) diff --git a/usr.bin/netstat/if.c b/usr.bin/netstat/if.c index fec5a4c4845b..8fe9e3a3c924 100644 --- a/usr.bin/netstat/if.c +++ b/usr.bin/netstat/if.c @@ -269,6 +269,99 @@ next_ifma(struct ifmaddrs *ifma, const char *name, const sa_family_t family) return (ifma); } +enum process_op { MEASURE, EMIT }; + +static void +process_ifa_addr(enum process_op op, struct ifaddrs *ifa, int *max_net_len, + int *max_addr_len, bool *network, bool *link) +{ + int net_len, addr_len; + const char *nn, *rn; + + if (op == EMIT) { + net_len = *max_net_len; + addr_len = *max_addr_len; + } + + switch (ifa->ifa_addr->sa_family) { + case AF_UNSPEC: + if (op == MEASURE) { + net_len = strlen("none"); + addr_len = strlen("none"); + } else { + xo_emit("{:network/%-*.*s} ", net_len, net_len, + "none"); + xo_emit("{:address/%-*.*s} ", addr_len, addr_len, + "none"); + } + break; + case AF_INET: +#ifdef INET6 + case AF_INET6: +#endif /* INET6 */ + nn = netname(ifa->ifa_addr, ifa->ifa_netmask); + rn = routename(ifa->ifa_addr, numeric_addr); + if (op == MEASURE) { + net_len = strlen(nn); + addr_len = strlen(rn); + } else { + xo_emit("{t:network/%-*s} ", net_len, nn); + xo_emit("{t:address/%-*s} ", addr_len, rn); + } + + if (network != NULL) + *network = true; + break; + case AF_LINK: + { + struct sockaddr_dl *sdl; + char linknum[sizeof("")]; + + sdl = (struct sockaddr_dl *)ifa->ifa_addr; + snprintf(linknum, sizeof(linknum), "", sdl->sdl_index); + if (op == MEASURE) { + net_len = strlen(linknum); + if (sdl->sdl_nlen == 0 && + sdl->sdl_alen == 0 && + sdl->sdl_slen == 0) + addr_len = 1; + else + addr_len = strlen(routename(ifa->ifa_addr, 1)); + } else { + xo_emit("{t:network/%-*.*s} ", net_len, net_len, + linknum); + if (sdl->sdl_nlen == 0 && + sdl->sdl_alen == 0 && + sdl->sdl_slen == 0) + xo_emit("{P:/%*s} ", addr_len, ""); + else + xo_emit("{t:address/%-*.*s} ", addr_len, + addr_len, routename(ifa->ifa_addr, 1)); + } + if (link != NULL) + *link = true; + break; + } + } + + if (op == MEASURE) { + if (net_len > *max_net_len) + *max_net_len = net_len; + if (addr_len > *max_addr_len) + *max_addr_len = addr_len; + } +} + +static int +max_num_len(int max_len, u_long num) +{ + int len = 2; /* include space */ + + for (; num > 10; len++) + num /= 10; + return (MAX(max_len, len)); +} + /* * Print a description of the network interfaces. */ @@ -278,7 +371,8 @@ intpr(void (*pfunc)(char *), int af) struct ifaddrs *ifap, *ifa; struct ifmaddrs *ifmap, *ifma; u_int ifn_len_max = 5, ifn_len; - u_int has_ipv6 = 0, net_len = 13, addr_len = 17; + u_int net_len = strlen("Network "), addr_len = strlen("Address "); + u_int npkt_len = 8, nbyte_len = 10, nerr_len = 5; if (interval) return sidewaysintpr(); @@ -298,39 +392,51 @@ intpr(void (*pfunc)(char *), int af) if ((ifa->ifa_flags & IFF_UP) == 0) ++ifn_len; ifn_len_max = MAX(ifn_len_max, ifn_len); - if (ifa->ifa_addr->sa_family == AF_INET6) - has_ipv6 = 1; - } - if (Wflag) { - if (has_ipv6) { - net_len = 24; - addr_len = 39; - } else - net_len = 18; + process_ifa_addr(MEASURE, ifa, &net_len, &addr_len, + NULL, NULL); + +#define IFA_STAT(s) (((struct if_data *)ifa->ifa_data)->ifi_ ## s) + if (!hflag) { + npkt_len = max_num_len(npkt_len, IFA_STAT(ipackets)); + npkt_len = max_num_len(npkt_len, IFA_STAT(opackets)); + nerr_len = max_num_len(nerr_len, IFA_STAT(ierrors)); + nerr_len = max_num_len(nerr_len, IFA_STAT(iqdrops)); + nerr_len = max_num_len(nerr_len, IFA_STAT(collisions)); + if (dflag) + nerr_len = max_num_len(nerr_len, + IFA_STAT(oqdrops)); + if (bflag) { + nbyte_len = max_num_len(nbyte_len, + IFA_STAT(ibytes)); + nbyte_len = max_num_len(nbyte_len, + IFA_STAT(obytes)); + } + } } xo_open_list("interface"); if (!pfunc) { xo_emit("{T:/%-*.*s}", ifn_len_max, ifn_len_max, "Name"); - xo_emit(" {T:/%5.5s} {T:/%-*.*s} {T:/%-*.*s} {T:/%8.8s} " - "{T:/%5.5s} {T:/%5.5s}", + xo_emit(" {T:/%5.5s} {T:/%-*.*s} {T:/%-*.*s} {T:/%*.*s} " + "{T:/%*.*s} {T:/%*.*s}", "Mtu", net_len, net_len, "Network", addr_len, addr_len, - "Address", "Ipkts", "Ierrs", "Idrop"); + "Address", npkt_len, npkt_len, "Ipkts", + nerr_len, nerr_len, "Ierrs", nerr_len, nerr_len, "Idrop"); if (bflag) - xo_emit(" {T:/%10.10s}","Ibytes"); - xo_emit(" {T:/%8.8s} {T:/%5.5s}", "Opkts", "Oerrs"); + xo_emit(" {T:/%*.*s}", nbyte_len, nbyte_len, "Ibytes"); + xo_emit(" {T:/%*.*s} {T:/%*.*s}", npkt_len, npkt_len, "Opkts", + nerr_len, nerr_len, "Oerrs"); if (bflag) - xo_emit(" {T:/%10.10s}","Obytes"); - xo_emit(" {T:/%5s}", "Coll"); + xo_emit(" {T:/%*.*s}", nbyte_len, nbyte_len, "Obytes"); + xo_emit(" {T:/%*s}", nerr_len, "Coll"); if (dflag) - xo_emit(" {T:/%5.5s}", "Drop"); + xo_emit(" {T:/%*.*s}", nerr_len, nerr_len, "Drop"); xo_emit("\n"); } for (ifa = ifap; ifa; ifa = ifa->ifa_next) { bool network = false, link = false; char *name, *xname, buf[IFNAMSIZ+1]; - const char *nn, *rn; if (interface != NULL && strcmp(ifa->ifa_name, interface) != 0) continue; @@ -371,72 +477,29 @@ intpr(void (*pfunc)(char *), int af) show_stat("lu", 6, "mtu", IFA_MTU(ifa), IFA_MTU(ifa), 0); #undef IFA_MTU - switch (ifa->ifa_addr->sa_family) { - case AF_UNSPEC: - xo_emit("{:network/%-*.*s} ", net_len, net_len, - "none"); - xo_emit("{:address/%-*.*s} ", addr_len, addr_len, - "none"); - break; - case AF_INET: -#ifdef INET6 - case AF_INET6: -#endif /* INET6 */ - nn = netname(ifa->ifa_addr, ifa->ifa_netmask); - rn = routename(ifa->ifa_addr, numeric_addr); - if (Wflag) { - xo_emit("{t:network/%-*s} ", net_len, nn); - xo_emit("{t:address/%-*s} ", addr_len, rn); - } else { - xo_emit("{d:network/%-*.*s}{et:network} ", - net_len, net_len, nn, nn); - xo_emit("{d:address/%-*.*s}{et:address} ", - addr_len, addr_len, rn, rn); - } - - network = true; - break; - case AF_LINK: - { - struct sockaddr_dl *sdl; - char linknum[sizeof("")]; - - sdl = (struct sockaddr_dl *)ifa->ifa_addr; - snprintf(linknum, sizeof(linknum), "", sdl->sdl_index); - xo_emit("{t:network/%-*.*s} ", net_len, net_len, - linknum); - if (sdl->sdl_nlen == 0 && - sdl->sdl_alen == 0 && - sdl->sdl_slen == 0) - xo_emit("{P:/%*s} ", addr_len, ""); - else - xo_emit("{t:address/%-*.*s} ", addr_len, - addr_len, routename(ifa->ifa_addr, 1)); - link = true; - break; - } - } + process_ifa_addr(EMIT, ifa, &net_len, &addr_len, + &network, &link); -#define IFA_STAT(s) (((struct if_data *)ifa->ifa_data)->ifi_ ## s) - show_stat("lu", 8, "received-packets", IFA_STAT(ipackets), - link|network, 1); - show_stat("lu", 5, "received-errors", IFA_STAT(ierrors), + show_stat("lu", npkt_len, "received-packets", + IFA_STAT(ipackets), link|network, 1); + show_stat("lu", nerr_len, "received-errors", IFA_STAT(ierrors), link, 1); - show_stat("lu", 5, "dropped-packets", IFA_STAT(iqdrops), + show_stat("lu", nerr_len, "dropped-packets", IFA_STAT(iqdrops), link, 1); if (bflag) - show_stat("lu", 10, "received-bytes", IFA_STAT(ibytes), - link|network, 0); - show_stat("lu", 8, "sent-packets", IFA_STAT(opackets), + show_stat("lu", nbyte_len, "received-bytes", + IFA_STAT(ibytes), link|network, 0); + show_stat("lu", npkt_len, "sent-packets", IFA_STAT(opackets), link|network, 1); - show_stat("lu", 5, "send-errors", IFA_STAT(oerrors), link, 1); + show_stat("lu", nerr_len, "send-errors", IFA_STAT(oerrors), + link, 1); if (bflag) - show_stat("lu", 10, "sent-bytes", IFA_STAT(obytes), - link|network, 0); - show_stat("NRSlu", 5, "collisions", IFA_STAT(collisions), + show_stat("lu", nbyte_len, "sent-bytes", + IFA_STAT(obytes), link|network, 0); + show_stat("NRSlu", nerr_len, "collisions", IFA_STAT(collisions), link, 1); if (dflag) - show_stat("LSlu", 5, "dropped-packets", + show_stat("LSlu", nerr_len, "dropped-packets", IFA_STAT(oqdrops), link, 1); xo_emit("\n"); diff --git a/usr.bin/netstat/netstat.1 b/usr.bin/netstat/netstat.1 index e2ea7047456c..3ba0b1d191f6 100644 --- a/usr.bin/netstat/netstat.1 +++ b/usr.bin/netstat/netstat.1 @@ -308,6 +308,9 @@ See Avoid truncating addresses even if this causes some fields to overflow. See .Sx GENERAL OPTIONS . +However, in most cases field widths are determined automatically with the +.Fl i +option, and this option has little effect. .It Fl f Ar protocol_family Filter by .Ar protocol_family . From nobody Wed Jul 26 18:05:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB1zT4TKpz4pg4n; Wed, 26 Jul 2023 18:05: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 4RB1zT3p0lz3rhK; Wed, 26 Jul 2023 18:05:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690394757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6O25C646pQXU9S4QKQJXnT3KDQD+yKirfdLWYwlgMkQ=; b=KCL55MiwQQ39+2oI9/2puj/fSljJ/GDCz0F42krDfIcS3/Ft+aVSZov5M9ehLmm8h5n863 qr1bmCVZ85Y/W7PNVy6xkaxAyR5NIhtfgLNC3+5pbVd/7R+LKsh7gT0I0a+8bKrv3c95q3 TZYSFboIQeG4e476/vBdoKQh+Ttib2yIgX0uXDz13BH5bQWaA1m4ErvKnXTYKmQSuT3J/B 0hNWrTx+HpeyMo4dEnAjAFSXDRI2gbOkXSNeNt7hWmcoAoQbyqs9T2k69H6vqaq637f/In MVOxI1vbeIcBZLJaNMSDroBx4XuQASxt7I18zmNKdPV+W8NlpyX2He9ylYmesQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690394757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6O25C646pQXU9S4QKQJXnT3KDQD+yKirfdLWYwlgMkQ=; b=wVEf/fliiEj6dLdmwZFvf/SpTbRJoztg0mxM/T5IuipmI0yNigpZNKmq18TdoYbK5hbxfH 4nCaU8z9TQRol6+0O2IhkeAmtbV8+bpJnIW1xiTlpXP14e0nNyfHfK28O4q8Kw28+QnTJ2 EZBGSQ2BOyeoNs8yV2O9GZRqX3cCe0W4XVUh26yHuTx3IVSSL3iFF7x4CseY9KinQAgyO6 ggs8gOJv9LIvDJxpVCFqiyZHgzlV0owt7HgJzOhv0V/J7ezvdA0BkTOa1sqd67LtnLH32w eToDtvrRrqUUfADAAQLNjVANGeHDEjYQTbxst23Fhtq9oNrnm9xNp2APqBUCBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690394757; a=rsa-sha256; cv=none; b=l9A5tH2vki+z8rRT/aQZN1gnHacVeDYnssHOIoAAi0rnRbapj1hK4hjC4bK5uMZgh48pAZ pQ/2rSnAINB4FmUALT4NeAumhqNP9krrkE5ATFm1X0sjSrg63Lzrg8t+F4obg8ZavWP3OX XaT5Lv2IbXrEqEvYO+5Sq1t4Qr899PS/CYvH0gGfrsgoOw58ZWt7yyQVoWfsbUWt4rvZM9 meVhoKL6U1l7T4qv/ZmwQT5t+cF0a6gPPUA5teGV5eBaJg/9Nnt7KLMJrw+2KehwULpMyo 96hvlXbvoU4j4y8qgkJ9z1j8PX1LFKRXwpo5NGTmxUiLDj8O8BgfmK6x8i/nww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB1zT2mX5zs8X; Wed, 26 Jul 2023 18:05: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 36QI5v09087443; Wed, 26 Jul 2023 18:05:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QI5vjF087442; Wed, 26 Jul 2023 18:05:57 GMT (envelope-from git) Date: Wed, 26 Jul 2023 18:05:57 GMT Message-Id: <202307261805.36QI5vjF087442@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: f1f27dfa4ad9 - stable/13 - Work around VNET and DPCPU related panics on aarch64 List-Id: Commit messages for all branches 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: f1f27dfa4ad9da53fcdfc6aae644fab83bda4e76 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f1f27dfa4ad9da53fcdfc6aae644fab83bda4e76 commit f1f27dfa4ad9da53fcdfc6aae644fab83bda4e76 Author: Dimitry Andric AuthorDate: 2023-07-23 13:48:36 +0000 Commit: Dimitry Andric CommitDate: 2023-07-26 18:02:37 +0000 Work around VNET and DPCPU related panics on aarch64 lld >= 14 and recent GNU ld can relax adrp+add and adrp+ldr instructions, which breaks VNET and DPCPU when used in modules. Until VNET and DPCPU can be fixed to deal with these relaxed instructions, disable linker relaxation for now. PR: 264094 Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D41156 (cherry picked from commit 80e4ac2964a11edef456a15b77e43aadeaf273a2) --- sys/conf/kmod.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index a06f6a2555d9..4a0d828f0159 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -168,6 +168,13 @@ CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer CFLAGS+= -fPIC .endif +.if ${MACHINE_CPUARCH} == "aarch64" +# https://bugs.freebsd.org/264094 +# lld >= 14 and recent GNU ld can relax adrp+add and adrp+ldr instructions, +# which breaks VNET. +LDFLAGS+= --no-relax +.endif + # Temporary workaround for PR 196407, which contains the fascinating details. # Don't allow clang to use fpu instructions or registers in kernel modules. .if ${MACHINE_CPUARCH} == arm From nobody Wed Jul 26 18:05:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB1zW04Zjz4pg2Q; Wed, 26 Jul 2023 18:05: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 4RB1zV3ZbPz3rYK; Wed, 26 Jul 2023 18:05:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690394758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VfWD4/+VxVPWmFaMoJEjChXLTF+2SlmAaPbhqRUeL28=; b=kRV9wlFY+C7+AmIlBQuD7qnZvyxmbL6LnSyFKha0ojP3ayNdkxRkjZ2w16Os0Gg4Pf8Hsj y5o/9LgMRDe6Yy9gz+c5OGcgQq6YniGSrx0we2AZdAh6gpfMfmXPkPrGlnyPdzNywjrefz +N5zokXko+QoMV0Strx+cHKAdVHOLgCpdK1oyI6cgLiq/sIvQVUcU+CEcQKFexWTTCpViY M5vDAc3Z24nOi6D6SGOeQTKZukRB4qAv0ZJMFfXbuPIgLpRvadZI6WPPbhTXV0whthvXGB Dbs0kRPCCpy8N4bLBwfQE+VBHmEPE/oUGCKfwaYqgkdTDgpnAOideW5Ybmb/jA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690394758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VfWD4/+VxVPWmFaMoJEjChXLTF+2SlmAaPbhqRUeL28=; b=pm3SSflgTFn/g/y7Xs0eFP8Sh6DVGPYAtmfcDEeNmbJofwWIgwidPdl2QGskls7T5OEblj obO9UlqEXVG3no4BPunfTVb+1IMiPkkZSCrReBz+1GAdvONUFKbZXfNFLMPVPsBq4DhtTL aqXyLkvWVfvF0LSGcXZ+KALnZTKfpilG4AadLNUjGaBEan//LjNl+RZ7wNhWus78j6xU4J Mx73IAP+gkv5c+PEqRYBIKnruXn+1UPXUSsD1jDlaFFNgWGzE+7lIgzE8y+YElOsTrfT+c lQdMWeqbFJQ3BfOQF8gssE6wrucOdZdyjMQU7BemtaErfol6kDCm/Mn9ID0zNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690394758; a=rsa-sha256; cv=none; b=FaDUPlC8Mcbp1TdUjIdBw/ZzVttXKVVmAz4uWod0B9nHOEpf8vQx2f1egN/FX0TIChdp3N tWdGDMHN8TQpNrsXv+X7zkcFbrFznYDeRXP2H4Fs9S9xPhlgDaLMjP9lB2QRQ3qVi4jEGw ynDyMaRDUAfdMe9mSlX26cuN4T9zevRD1uK72UI/+HkRhQ/3Wv/IyoZ98M5csgEMvFA+4E 8LaBAQcDas7OHY0h1mil7BnVP0bRIojynlrNyzPYtl2ZS8eo7FBoMENksmdUpeeE5X/0hb d8NiACUp8/TE6ZjsHPd1kJS8wV6qc/E6nTDlx8Ssf98HJey2razm10EBtXSkGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB1zV2dhdzsl7; Wed, 26 Jul 2023 18:05: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 36QI5wVk087462; Wed, 26 Jul 2023 18:05:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QI5wS1087461; Wed, 26 Jul 2023 18:05:58 GMT (envelope-from git) Date: Wed, 26 Jul 2023 18:05:58 GMT Message-Id: <202307261805.36QI5wS1087461@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: ca54e5c484ca - stable/13 - Move LIBADD lines from usr.bin/clang/*/Makefile one level up List-Id: Commit messages for all branches 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: ca54e5c484caf54e674cc1236be1f7c9e6d193cc Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=ca54e5c484caf54e674cc1236be1f7c9e6d193cc commit ca54e5c484caf54e674cc1236be1f7c9e6d193cc Author: Dimitry Andric AuthorDate: 2023-07-23 20:04:46 +0000 Commit: Dimitry Andric CommitDate: 2023-07-26 18:03:26 +0000 Move LIBADD lines from usr.bin/clang/*/Makefile one level up Some utilities under usr.bin/clang were only linked to libz, while most others were linked to libz and libzstd. Make this consistent, and remove repetition, by moving these LIBADD lines to usr.bin/clang/clang.prog.mk and usr.bin/clang/clang.prog.mk. MFC after: 3 days (cherry picked from commit f576172682401984fcf5e422d31086499caaebcf) --- usr.bin/clang/bugpoint/Makefile | 3 --- usr.bin/clang/clang.prog.mk | 2 ++ usr.bin/clang/clang/Makefile | 3 --- usr.bin/clang/llc/Makefile | 3 --- usr.bin/clang/lli/Makefile | 3 --- usr.bin/clang/llvm-ar/Makefile | 3 --- usr.bin/clang/llvm-cov/Makefile | 3 --- usr.bin/clang/llvm-dwarfdump/Makefile | 3 --- usr.bin/clang/llvm-dwarfutil/Makefile | 3 --- usr.bin/clang/llvm-dwp/Makefile | 3 --- usr.bin/clang/llvm-extract/Makefile | 2 -- usr.bin/clang/llvm-lto/Makefile | 3 --- usr.bin/clang/llvm-lto2/Makefile | 3 --- usr.bin/clang/llvm-mc/Makefile | 3 --- usr.bin/clang/llvm-mca/Makefile | 2 -- usr.bin/clang/llvm-nm/Makefile | 3 --- usr.bin/clang/llvm-objcopy/Makefile | 3 --- usr.bin/clang/llvm-objdump/Makefile | 3 --- usr.bin/clang/llvm-pdbutil/Makefile | 2 -- usr.bin/clang/llvm-profdata/Makefile | 3 --- usr.bin/clang/llvm-readobj/Makefile | 3 --- usr.bin/clang/llvm-rtdyld/Makefile | 3 --- usr.bin/clang/llvm-symbolizer/Makefile | 3 --- usr.bin/clang/llvm-xray/Makefile | 3 --- usr.bin/clang/llvm.prog.mk | 2 ++ usr.bin/clang/opt/Makefile | 3 --- 26 files changed, 4 insertions(+), 69 deletions(-) diff --git a/usr.bin/clang/bugpoint/Makefile b/usr.bin/clang/bugpoint/Makefile index 2ca34d2579e3..2afd888f1df7 100644 --- a/usr.bin/clang/bugpoint/Makefile +++ b/usr.bin/clang/bugpoint/Makefile @@ -13,7 +13,4 @@ SRCS+= OptimizerDriver.cpp SRCS+= ToolRunner.cpp SRCS+= bugpoint.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/clang.prog.mk b/usr.bin/clang/clang.prog.mk index 79229be332a8..faa4918c7298 100644 --- a/usr.bin/clang/clang.prog.mk +++ b/usr.bin/clang/clang.prog.mk @@ -29,5 +29,7 @@ LIBADD+= execinfo LIBADD+= ncursesw .endif LIBADD+= pthread +LIBADD+= z +LIBADD+= zstd .include diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile index 8a654020d837..efeb49f891e0 100644 --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -34,9 +34,6 @@ MLINKS+= clang.1 cc.1 \ clang.1 cpp.1 .endif -LIBADD+= z -LIBADD+= zstd - # Ensure we don't add CFLAGS.clang when using GCC NO_TARGET_FLAGS= diff --git a/usr.bin/clang/llc/Makefile b/usr.bin/clang/llc/Makefile index 42835ff00656..a4c68c6baec6 100644 --- a/usr.bin/clang/llc/Makefile +++ b/usr.bin/clang/llc/Makefile @@ -5,7 +5,4 @@ PROG_CXX= llc SRCDIR= llvm/tools/llc SRCS+= llc.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/lli/Makefile b/usr.bin/clang/lli/Makefile index 0c8d621f42a6..febbebc1accf 100644 --- a/usr.bin/clang/lli/Makefile +++ b/usr.bin/clang/lli/Makefile @@ -6,7 +6,4 @@ SRCDIR= llvm/tools/lli SRCS+= ExecutionUtils.cpp SRCS+= lli.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index dd58fb18c417..12a3da13273f 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -10,9 +10,6 @@ SRCS+= llvm-ar.cpp CFLAGS.llvm-ar.cpp+= -Dllvm_ar_main=main -LIBADD+= z -LIBADD+= zstd - LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-cov/Makefile b/usr.bin/clang/llvm-cov/Makefile index 9c6cafab0561..5bf4797d48e2 100644 --- a/usr.bin/clang/llvm-cov/Makefile +++ b/usr.bin/clang/llvm-cov/Makefile @@ -20,7 +20,4 @@ SRCS+= TestingSupport.cpp SRCS+= gcov.cpp SRCS+= llvm-cov.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-dwarfdump/Makefile b/usr.bin/clang/llvm-dwarfdump/Makefile index d5aaf812f8c4..cdf976a7c272 100644 --- a/usr.bin/clang/llvm-dwarfdump/Makefile +++ b/usr.bin/clang/llvm-dwarfdump/Makefile @@ -7,7 +7,4 @@ SRCS+= SectionSizes.cpp SRCS+= Statistics.cpp SRCS+= llvm-dwarfdump.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-dwarfutil/Makefile b/usr.bin/clang/llvm-dwarfutil/Makefile index 0be0eefcea3e..cc5ebf4275fb 100644 --- a/usr.bin/clang/llvm-dwarfutil/Makefile +++ b/usr.bin/clang/llvm-dwarfutil/Makefile @@ -22,7 +22,4 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-dwp/Makefile b/usr.bin/clang/llvm-dwp/Makefile index c47729aea678..4732be082e70 100644 --- a/usr.bin/clang/llvm-dwp/Makefile +++ b/usr.bin/clang/llvm-dwp/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-dwp SRCS+= llvm-dwp.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-extract/Makefile b/usr.bin/clang/llvm-extract/Makefile index 7a0a5b205a4f..2cfb9a13455d 100644 --- a/usr.bin/clang/llvm-extract/Makefile +++ b/usr.bin/clang/llvm-extract/Makefile @@ -5,6 +5,4 @@ PROG_CXX= llvm-extract SRCDIR= llvm/tools/llvm-extract SRCS+= llvm-extract.cpp -LIBADD+= z - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-lto/Makefile b/usr.bin/clang/llvm-lto/Makefile index 35e2b87fef3c..f216412b2e8a 100644 --- a/usr.bin/clang/llvm-lto/Makefile +++ b/usr.bin/clang/llvm-lto/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-lto SRCS= llvm-lto.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-lto2/Makefile b/usr.bin/clang/llvm-lto2/Makefile index 37a5e7f794c0..78ca08fff06c 100644 --- a/usr.bin/clang/llvm-lto2/Makefile +++ b/usr.bin/clang/llvm-lto2/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-lto2 SRCS= llvm-lto2.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-mc/Makefile b/usr.bin/clang/llvm-mc/Makefile index cb3080481607..ee9d1c41c8c1 100644 --- a/usr.bin/clang/llvm-mc/Makefile +++ b/usr.bin/clang/llvm-mc/Makefile @@ -7,7 +7,4 @@ SRCDIR= llvm/tools/llvm-mc SRCS+= Disassembler.cpp SRCS+= llvm-mc.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-mca/Makefile b/usr.bin/clang/llvm-mca/Makefile index 727651146c52..268ca8805a0b 100644 --- a/usr.bin/clang/llvm-mca/Makefile +++ b/usr.bin/clang/llvm-mca/Makefile @@ -20,6 +20,4 @@ SRCS+= llvm-mca.cpp CFLAGS+= -I${LLVM_BASE}/${SRCDIR} -LIBADD+= z - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index 2c19f02e49de..d71295d0313d 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -25,9 +25,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - .if ${MK_LLVM_BINUTILS} != "no" LINKS+= ${BINDIR}/llvm-nm ${BINDIR}/nm MLINKS+= llvm-nm.1 nm.1 diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile index 335badf81ed9..181a307457a9 100644 --- a/usr.bin/clang/llvm-objcopy/Makefile +++ b/usr.bin/clang/llvm-objcopy/Makefile @@ -27,9 +27,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS= ${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-objdump/Makefile b/usr.bin/clang/llvm-objdump/Makefile index d8d80443d965..390bf40b851c 100644 --- a/usr.bin/clang/llvm-objdump/Makefile +++ b/usr.bin/clang/llvm-objdump/Makefile @@ -30,9 +30,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS= ${BINDIR}/llvm-objdump ${BINDIR}/objdump MLINKS= llvm-objdump.1 objdump.1 diff --git a/usr.bin/clang/llvm-pdbutil/Makefile b/usr.bin/clang/llvm-pdbutil/Makefile index 5036955f775a..6e91c0424f2f 100644 --- a/usr.bin/clang/llvm-pdbutil/Makefile +++ b/usr.bin/clang/llvm-pdbutil/Makefile @@ -24,6 +24,4 @@ SRCS+= TypeReferenceTracker.cpp SRCS+= YAMLOutputStyle.cpp SRCS+= llvm-pdbutil.cpp -LIBADD+= z - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-profdata/Makefile b/usr.bin/clang/llvm-profdata/Makefile index b3b0d63346de..1538aacdb493 100644 --- a/usr.bin/clang/llvm-profdata/Makefile +++ b/usr.bin/clang/llvm-profdata/Makefile @@ -7,7 +7,4 @@ SRCS+= llvm-profdata.cpp CFLAGS.llvm-profdata.cpp+= -Dllvm_profdata_main=main -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-readobj/Makefile b/usr.bin/clang/llvm-readobj/Makefile index d47cdfa329fc..0c1afcae6d0b 100644 --- a/usr.bin/clang/llvm-readobj/Makefile +++ b/usr.bin/clang/llvm-readobj/Makefile @@ -36,9 +36,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS+= ${BINDIR}/llvm-readobj ${BINDIR}/llvm-readelf .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-rtdyld/Makefile b/usr.bin/clang/llvm-rtdyld/Makefile index 6c7bd97f4bd0..37977771eddb 100644 --- a/usr.bin/clang/llvm-rtdyld/Makefile +++ b/usr.bin/clang/llvm-rtdyld/Makefile @@ -6,7 +6,4 @@ MAN= SRCDIR= llvm/tools/llvm-rtdyld SRCS+= llvm-rtdyld.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile index 0308b58bba55..5da4840b1594 100644 --- a/usr.bin/clang/llvm-symbolizer/Makefile +++ b/usr.bin/clang/llvm-symbolizer/Makefile @@ -24,9 +24,6 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LIBADD+= z -LIBADD+= zstd - LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/llvm-addr2line .if ${MK_LLVM_BINUTILS} != "no" diff --git a/usr.bin/clang/llvm-xray/Makefile b/usr.bin/clang/llvm-xray/Makefile index 1be3eb059e81..5e84483e4f6b 100644 --- a/usr.bin/clang/llvm-xray/Makefile +++ b/usr.bin/clang/llvm-xray/Makefile @@ -15,7 +15,4 @@ SRCS+= xray-graph.cpp SRCS+= xray-registry.cpp SRCS+= xray-stacks.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm.prog.mk b/usr.bin/clang/llvm.prog.mk index 56698c4138d3..053450f38e95 100644 --- a/usr.bin/clang/llvm.prog.mk +++ b/usr.bin/clang/llvm.prog.mk @@ -27,5 +27,7 @@ LIBADD+= execinfo LIBADD+= ncursesw .endif LIBADD+= pthread +LIBADD+= z +LIBADD+= zstd .include diff --git a/usr.bin/clang/opt/Makefile b/usr.bin/clang/opt/Makefile index 27e0395942f6..ca209cec45ac 100644 --- a/usr.bin/clang/opt/Makefile +++ b/usr.bin/clang/opt/Makefile @@ -8,7 +8,4 @@ SRCS+= BreakpointPrinter.cpp SRCS+= NewPMDriver.cpp SRCS+= opt.cpp -LIBADD+= z -LIBADD+= zstd - .include "../llvm.prog.mk" From nobody Wed Jul 26 18:06:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB20065jxz4pgRk; Wed, 26 Jul 2023 18:06: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 4RB2005GSjz3sHG; Wed, 26 Jul 2023 18:06:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690394784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bv2GqflWqlrYqzeuG07Vs/m6rdpxIlVTbTW5xelKE1I=; b=aYG7U6pFnpJL/BvPSmyo/IFLsUoaUfwGllEEAc5bCJsemoic2kedpL/iQZJ+FblUtklMCI oF5Jry9Ak8aYGkT9q2/Sqe2RecPnyh+ritSit1yvEXwPhU582SyBfGT/yNxTleD+pA65N1 KyQP0e08vmye6hxGAu39oc3vMVMK/6NyTRSRDRaiiJ+q11md2w+nw6ZWK323jHI67lp+nA xKSwS39dJRrU8jBoXgk/5E9ZgdS7tWaL0p7qgFW1eIvlgVWRXq7WTJXQIqX8bSKO6xvWZc 5OV894Q0DDuo/4pMS9w4byCOQ0YAdWgUB+4IBE2+cOJlxr28GNqQyo5mMzS0UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690394784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bv2GqflWqlrYqzeuG07Vs/m6rdpxIlVTbTW5xelKE1I=; b=HfS//0/WYqt74W4Bz38DinDinqNBClEyhhOuDS31oSy+vN2Y0pSLEpw7j0SbVRLHGFRhTa SK7o0shRzIAx09vOmuxd8a7k/GrQ05CI38KjYZlHwRE7FJGJD4eTUfqfdQJMRC8aW87zl8 8o5QO5LjKt0EhRl/4ARNzp5RP6j5AWfHduN2u4VSERB9MDKVuWMqKIa0ZFE4QBzOKZsuZW nC8og0DUH6myqkAmT5Fbazy62E/xIwL3hH3YxuTm8VbPs53kv8Zifr7lqZChe8LTqMyRXq dMsEXKvHC1iuoaRke5mHjv2qM1YBjgyvL4lMcs1APpf8SWW8cQxwf/WwMtXOKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690394784; a=rsa-sha256; cv=none; b=ulM5AIUYOfCaKEffHCW9fRUZLbswrp43s+LzFOwAHwWhM72Np5vD0ORCTs5W7HLSEr40xm 5zBMb27XlHcHooDu4bXbZmRI011azWvJu8BtiKpJCslZ7LLDvhz6lzNW/dJhlXdhzjumCA XWOqsIQ25+56uUpi+cWIEizrZidm8xuRUn/zZ+vyVU4B4f20Z/W/t7Bxwct5enPi9n49hF yvH4sD7ZvHWgSsNcLTexnFywCj1KR00QvAHOSah87YDtMVNhJFJDezUTGBSNXjOnxSQOPA 9wJlO6dF6OFWYx/538sjyMivSWXyhDYzQaIQQT09pRGbrH6clV/xEDV44NeReA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB2004490zs8Y; Wed, 26 Jul 2023 18:06: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 36QI6OKJ087626; Wed, 26 Jul 2023 18:06:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QI6O1b087625; Wed, 26 Jul 2023 18:06:24 GMT (envelope-from git) Date: Wed, 26 Jul 2023 18:06:24 GMT Message-Id: <202307261806.36QI6O1b087625@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: 98e7f836e65e - stable/12 - Work around VNET and DPCPU related panics on aarch64 List-Id: Commit messages for all branches 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/12 X-Git-Reftype: branch X-Git-Commit: 98e7f836e65ee413cd0b383371a6aca0115084ed Auto-Submitted: auto-generated The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=98e7f836e65ee413cd0b383371a6aca0115084ed commit 98e7f836e65ee413cd0b383371a6aca0115084ed Author: Dimitry Andric AuthorDate: 2023-07-23 13:48:36 +0000 Commit: Dimitry Andric CommitDate: 2023-07-26 18:03:46 +0000 Work around VNET and DPCPU related panics on aarch64 lld >= 14 and recent GNU ld can relax adrp+add and adrp+ldr instructions, which breaks VNET and DPCPU when used in modules. Until VNET and DPCPU can be fixed to deal with these relaxed instructions, disable linker relaxation for now. PR: 264094 Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D41156 (cherry picked from commit 80e4ac2964a11edef456a15b77e43aadeaf273a2) --- sys/conf/kmod.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 610484ba7e36..f67be86eeb73 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -168,6 +168,13 @@ CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer CFLAGS+= -fPIC .endif +.if ${MACHINE_CPUARCH} == "aarch64" +# https://bugs.freebsd.org/264094 +# lld >= 14 and recent GNU ld can relax adrp+add and adrp+ldr instructions, +# which breaks VNET. +LDFLAGS+= --no-relax +.endif + # Temporary workaround for PR 196407, which contains the fascinating details. # Don't allow clang to use fpu instructions or registers in kernel modules. .if ${MACHINE_CPUARCH} == arm From nobody Wed Jul 26 18:23:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB2N44lRxz4nvsT; Wed, 26 Jul 2023 18:23: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 4RB2N425Ckz41nw; Wed, 26 Jul 2023 18:23:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690395828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fKv+AUObiXXkr6kbQcfrBpSJTH1oYno4oUMse7t2y0c=; b=akrKAoY27gPT5oKRBlBPX6CrVCinCEzLkOSv9PWHXS5bOVT1gwaRCvfo+fQXXrXM1e+Hh3 O+zUMS4c3Bb08/3EcSzB8NDGeeG1iHBDKk4siTUPZCjt7AaK3hVIToci7RhKy3+bOeHKu8 u0QFTaNpESThAdtvIXS1h7WFIMs4GYat1KN/gZzdiu5rteVOh8Nhz/dfaF3ufyUdyHrza4 kvArkNh6bbNINh6RnV54PsHLbX7RHD/36p7Mx4U0nNM6OH6YcZ8PmLFbhC/rENdG9QZgqz MdfUpWkn8llIvzS83RWpOaverXzjvXASY73a0It6jQiLR+JmkkPlwW+S1shcig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690395828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fKv+AUObiXXkr6kbQcfrBpSJTH1oYno4oUMse7t2y0c=; b=h2U2yzJOTCLeiJ7lQ0l6hU8wa+G85KW4acjRt0Gn9Ll6RSJS6gR1F1swZNJWqbmUAUXTL/ tnsxyzR/QxFy2DE1gY8SpLmm8BtXJc68x6p7Zawr3cEf7hoqIYY/JYDZNiDEd7GnwMBRys SPSYIi76H9RYkf0pOyc1LoHJYaKxj7ETmCrhpspN2RWlg+HNl6N6ZpyIqxj6vTXm5EdPs+ Mi0HmbPthLNWXHwXxnM595Yn1+EA8qzq970eaTqRq5jrYGnpkBDY/uNqORdhQHn53tLT+k h+AXHMj23GZ8etVZtNcTdzkwg5++MhtaCj6WU8pHvnVDKFFFnpNuOIc8uPIi8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690395828; a=rsa-sha256; cv=none; b=VSWgmyTvu+a35ACLVIJQbsi+7BNg0rPAz+u1ozWaxagzFrJh4cCE3b6j8AaEJ/3uvo7JUm zzoJ/Z3RFi6KnRwLpa0bX1qDlFp5g2gdcom3MlfsyU6OlCQ40rMeVyYvJZh+tgoNQcCs7I 6EOFxwPWcRL57ZqAn75oRg0R7ywxe7S/1yDeq33jwGwgdGUDrvWUO9m5pgbDNuACDj7Osb QD3QVYRnB9pUEHUC/DXPy9fZz/fO+VJUZdLeHZOOXISJ4IbeN613zptQQJKIgbCiZakfP4 IO2luvdY9Wz1M4HyDmMjj7faUeBRfCVgEpiEPzv40kHE1zViR6P8xlAdHLcWPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB2N41514zsyn; Wed, 26 Jul 2023 18:23: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 36QINmY7019682; Wed, 26 Jul 2023 18:23:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QINmjL019681; Wed, 26 Jul 2023 18:23:48 GMT (envelope-from git) Date: Wed, 26 Jul 2023 18:23:48 GMT Message-Id: <202307261823.36QINmjL019681@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: f2c94ddd0ad7 - main - msun: Fix typo in math_private.h 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: 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: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2c94ddd0ad79d972b6a707978cc09f3a8a6dbbf Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=f2c94ddd0ad79d972b6a707978cc09f3a8a6dbbf commit f2c94ddd0ad79d972b6a707978cc09f3a8a6dbbf Author: Steve Kargl AuthorDate: 2023-07-26 18:21:44 +0000 Commit: Li-Wen Hsu CommitDate: 2023-07-26 18:21:44 +0000 msun: Fix typo in math_private.h comment PR: 272738 MFC after: 3 days --- lib/msun/src/math_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index df526e71e545..ec2da21f955c 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -624,7 +624,7 @@ rnintf(__float_t x) * The complications for extra precision are smaller for rnintl() since it * can safely assume that the rounding precision has been increased from * its default to FP_PE on x86. We don't exploit that here to get small - * optimizations from limiting the rangle to double. We just need it for + * optimizations from limiting the range to double. We just need it for * the magic number to work with long doubles. ld128 callers should use * rnint() instead of this if possible. ld80 callers should prefer * rnintl() since for amd64 this avoids swapping the register set, while From nobody Wed Jul 26 19:06:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB3K054kSz4pZ8P for ; Wed, 26 Jul 2023 19:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RB3K03f8wz4L2p; Wed, 26 Jul 2023 19:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mPeSS6vhcSJfg+JC1bp8yGWmnZMwgxjnX2OP54V3vP0=; b=u+eMvNDjJiLMeM3xOlvAAPPpxGzTjV+7u7dnRPeNXi3WG1LLB3pQvWnJEi3AjpMCxmlsjk N4ZyaJVICUK3JPy7ZHdup6rsMqfcXg0a2JqFYqdss+NcSOMmStk3DxTstcT8Fua9sPZLGk 3sT9RnxQp2c8akUWblt6jVa/Wz+5FVqW1tA1+5pwXSzs5wMy2t2exxkNOJErA1uvSATHKd HeEtF6yh85FsPiYmrWhC0tU/MGg7Nj9Jf+jHgrwUjO29X78RYZ9rI6v8CivxhokexEphW2 FYtpYBpBle1CU9qy+0KD/Vf9vejWc+JDDlYZMj2Pjv2LLyHgmP45Jd9bJYL0ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mPeSS6vhcSJfg+JC1bp8yGWmnZMwgxjnX2OP54V3vP0=; b=L7p+Pvtf3X/UPIi3dyhCCMsCIFy5vCppXok5O8a+QoFakp9ji6so0s73mXIY+eLuLCziLS zhfIGLhoKDJphdM/KBcULe52f8pZ25frYTK9OKuqGSxleZNii1UMX4rZv9hx2Wal/ulPJQ RsMq8WfYh6AP952BIMZTEqdivvLr1tV9wlYltFDqkzp1imLrZwqmzBfKdUTCZKDzGvYbKX Eapvm+AvtVwDEox4ySyizMIcD/MtytSok6t2glRyokhCxv9zTfLxXiLLpx0xFVPizvv4PO pm91lxEhr40/OaHEqF3TBfEm1f9E9zRGCIozyBOXQryNKFbbVC/T0dYEv1VNYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690398372; a=rsa-sha256; cv=none; b=hWiXUM4LW3PNc3cullg7f+CMswkBfr95i72FzU6zZgtwwbMdP9Dqil4sbxypQNdKO0QFlS zfCJhqYGcLa9NH+577T5aetl1LyN6aXwPYZ1NY28z0nmWbznh/vg6mN2Ai/ZzLy88NQD36 riozpitRTgc7WbSlbdj/y3z0NaRbyYEcFsZoV8/ya8jS29f5ck11JqhXzq1Rim7mXcy8Mj RZy7dMSG1MhHQxdSV7V+K0jVkwrReZGQ5mIG829Pg5qEHcnhZPWMtikIBbcXgvwgcmF+My Jlc3wa6gatDcn7MXg5UkjwBKWMvXTqulyoWXWdOffr0C7OLZvMUBK/863Ra9Eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB3K02PnYztYm; Wed, 26 Jul 2023 19:06: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 36QJ6C7N086810; Wed, 26 Jul 2023 19:06:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QJ6Cpm086809; Wed, 26 Jul 2023 19:06:12 GMT (envelope-from git) Date: Wed, 26 Jul 2023 19:06:12 GMT Message-Id: <202307261906.36QJ6Cpm086809@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: e3b557809604..7fa27ce4a07f - vendor/llvm-project/main - 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: 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/vendor/llvm-project/main X-Git-Reftype: branch X-Git-Commit: 7fa27ce4a07f19b07799a767fc29416f3b625afb X-Git-Oldrev: e3b557809604d036af6e00c60f012c2025b59a5e X-Git-Newrev: 7fa27ce4a07f19b07799a767fc29416f3b625afb Auto-Submitted: auto-generated The branch vendor/llvm-project/main has been updated by dim: URL: https://cgit.FreeBSD.org/src/log/?id=e3b557809604..7fa27ce4a07f 7fa27ce4a07f Vendor import of llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. From nobody Wed Jul 26 19:06:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB3K05zbhz4pZQB for ; Wed, 26 Jul 2023 19:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RB3K05RJhz4Ktj; Wed, 26 Jul 2023 19:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lWl60ZXVtNR2tjDAss/rXVQ04pbrDoAwrvSSGMNgeo=; b=EgEk3O3UaFVjc0ESyEeqPkfucNY1vErYgmWVObGDIlCJzfSgnPAxUDvp6NUCD+gdTAS0Jb SLlypZY/dOWD0mPbJMCfPqEksZlGj4njKJPafUwj6U+gCumlWFWyChgg8OYUCmKN2n49wj ALJNw51KQmOEoWgqLY4f9BTLt0+9IDcgSi+dNYFi6gxoaLWZ2gldiLo93VFsrykX1L8vvN jtBgRWcM38hVK8VeoB5vTvj4pigBxj51TW1fh4kiSWqYYhCeglE2niglkUhpJTDo3e2ZSl OTX3bqwdV3Cw9S6EfkSHWBD2Zst7XjSOI0cqZBftdjRD5uyq3iDBurkw3302Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lWl60ZXVtNR2tjDAss/rXVQ04pbrDoAwrvSSGMNgeo=; b=cFbeIuggwXSPtk2Cv2RtaOUAVoDCLNBlAR80FNr9ih2HhwFLVzxotT6J1xGAA78TkjlJH6 w6oILWfstAZKv9t0P1NN26Gv5hjIv4aCO5qXAUhhspZ6Eq8G8nFFyYnZYfRvJjQV8HnPf9 +CLOJymIrVNu+mQzWVsORfKbrb60vdZVnzvKkn6E3mFqIP6o69nhiAMex0JFMsSTYa63l2 c1cPiNC4GYlF0jZmpi2aqD61IwyOnn+OpLt96OEYmxl3OSee4tYRwecg8iuOMwySYYl8Sd fRJ3+YiMg0nzmM8eDcDYcyXOTmJXni5CICYz6FTdRYPA9uPd8bZB095QX9Iryg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690398372; a=rsa-sha256; cv=none; b=naGpqcsOlr6CwUw39urdnPm9doQ8b6wH3yV7jVRc63HLrGK6aXtdmO6c7/tEhEthFuGRet 6urzhuBAF9sZ3BGWuajsAvCjp7n4+I14HfZG8Uu8aozk6huTOGzahBi4muKyk2jWy7Ja+t 1/rNwhUqzzR1rVEsHtmjeQRYzPivtwsnXfqbok/7l25XLWYuTani+991xelowGDwKRdYQY OCm1KTdQr/omhkOaaIBvZ7KU8WT9SFVsFSZW/LfAEpWMu3Lv7xZEuacbr8E2ixHOFVWw12 /QJ4y0QSQ8iCpZbnTFz5ntTUAllpA/GhfujVlznCIELsGWK781BU0wVkFwHadA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB3K03lQ5zv5M; Wed, 26 Jul 2023 19:06: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 36QJ6CVd086829; Wed, 26 Jul 2023 19:06:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QJ6Ctu086828; Wed, 26 Jul 2023 19:06:12 GMT (envelope-from git) Date: Wed, 26 Jul 2023 19:06:12 GMT Message-Id: <202307261906.36QJ6Ctu086828@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: 7ff3fa02f317 - Create tag vendor/llvm-project/llvmorg-17-init-19304-gd0b54bb50e51 List-Id: Commit messages for all branches 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/tags/vendor/llvm-project/llvmorg-17-init-19304-gd0b54bb50e51 X-Git-Reftype: annotated tag X-Git-Commit: 7ff3fa02f317817f038625d94aba6a98abc939ae Auto-Submitted: auto-generated The annotated tag vendor/llvm-project/llvmorg-17-init-19304-gd0b54bb50e51 has been created by dim: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/llvm-project/llvmorg-17-init-19304-gd0b54bb50e51 tag vendor/llvm-project/llvmorg-17-init-19304-gd0b54bb50e51 Tagger: Dimitry Andric TaggerDate: 2023-07-26 19:05:32 +0000 Tag llvm-project main llvmorg-17-init-19304-gd0b54bb50e51. commit 7fa27ce4a07f19b07799a767fc29416f3b625afb Author: Dimitry Andric AuthorDate: 2023-07-26 19:03:47 +0000 Commit: Dimitry Andric CommitDate: 2023-07-26 19:04:23 +0000 Vendor import of llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. From nobody Wed Jul 26 19:12:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB3Sj5j92z4pgPW for ; Wed, 26 Jul 2023 19:12: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 4RB3Sj5Flsz4NYT; Wed, 26 Jul 2023 19:12:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398773; h=from:from:reply-to:subject:subject: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+IX6nf2LchctH+m+Szyn4LuW/y0v+I7FlJzqEcr1po=; b=gijpay5dr4ebIr+EpOiuX1RZpIgDnYTsPCV11jaBdYGKG0hfL8bJTXmj7mZmer/E9ORuP7 0b4EOH6VnoovNgAFyC6kGU3e1NyJRCYnb7IZz33x27ufG4KojWzi/BPD89+UvUUL4vhsIf ovYM/gFM+VfXRMwvt1YZMyrFzZVvUs/7hailSwU5J9TqwLHL1guKah08DFtpqN9OEmB0Zg g8sW5hPokoUqgMl7jO46I4Tc+BuZSdhpvkE/+/1qDO90Fi6pS0NLuUCFml92XhZuvgjQje rEhClomgyFcDYzzRZqglmbBUCEheFZJKwYyZb499J917I5p5HMgQuyJZ7TxGqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398773; h=from:from:reply-to:subject:subject: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+IX6nf2LchctH+m+Szyn4LuW/y0v+I7FlJzqEcr1po=; b=FtDN9pOW8oMvUwLiMpdGOEeHU8T7GXXirBWdzCEJLDqkEw6Bxxzg7ZGFmC0UwbTLGgpKdK 4CHWhhS1yiBsT4CVvadTMeQCYowvVPSCQ4BeqccYKR9wYltZXZgQxAceor8KC3yUDFO70i ln8yoQ8ZxHE61ZxkMb6+FwGPkG2DwGA0LLodYPK7+9QiOyL/QJT3zWQynHm0ZyM2biCBzo pds2Qk26kyVaHjoB0P49rNJ6Y9QUATGucz2uv3Tga/Am+aZTaq8ES8Uynham0mCJ5pPBkH L9apBCPBu7kJ6AK+njwcHyoAur8RVrS1Im6Mg9qx4f6zpdKBd5LT60ygHmbFCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690398773; a=rsa-sha256; cv=none; b=bRw5QcVGvu/iMm0HGN2UwVlEZziJ8NxoRPpW2O01SVSmkH1QTjxPIwm0tVLdr5B8lCiEhA P3hROEXnjiMGhu5VN/jS6wHrEUYT6OSciEYxx15L7fEg2yM8CplPM7mMHpYho82BCgwC4m +igANBnoyT8lezWwrjLW91ynKQJL5yZniHiFAr2zvTz8E5jWXOYjWGlZUA6DfTokOWyVUY KtVSmYPVDdz9AfKKz7m7Ah/0LuP2RGsp3nfHMveKHkfKgWNDGej6SiT3FEeC4Dg7PHcuVG FYVs1njoAmgYO5q8D2xeiidJqrK5FXO7XfNpcjxoE4/S27DqsTlACNTj5LKO4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB3Sj4LgBzvF7; Wed, 26 Jul 2023 19:12: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 36QJCrjW003514; Wed, 26 Jul 2023 19:12:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QJCrUU003513; Wed, 26 Jul 2023 19:12:53 GMT (envelope-from git) Date: Wed, 26 Jul 2023 19:12:53 GMT Message-Id: <202307261912.36QJCrUU003513@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: 2d22c9abbd20 - vendor/llvm-project/release-17.x - vendor branch created List-Id: Commit messages for all branches 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/vendor/llvm-project/release-17.x X-Git-Reftype: branch X-Git-Commit: 2d22c9abbd20fdc3d3a469075bd151ca1bd02ee4 X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: 2d22c9abbd20fdc3d3a469075bd151ca1bd02ee4 Auto-Submitted: auto-generated The branch vendor/llvm-project/release-17.x has been created by dim: URL: https://cgit.FreeBSD.org/src/log/?id=2d22c9abbd20 009b1c42aa62 Import LLVM, at r72732. ec2b103c267a Import Clang, at r72732. 33a8e4360f50 Import LLVM, at r72770. 922a2097733e Import Clang, at r72770. 68eb509bdc5c Import LLVM, at r72805, which fixes PR4315 and PR4316. 2659aeb5e51f Import Clang, at r72805. f4fe016fa15f Import LLVM, at r72995. 37f6c480c696 Import clang, at r72995. d2a7037439ec Import LLVM r73021. 70b4596d9d0d Import Clang r73021. 93338c197185 Import LLVM r73070. 8ba99c00327a Import Clang r73070. 600c6fa13de5 Import LLVM r73340. 7ef7bab7e3d0 Import Clang r73340. b2f21fb044b6 Update LLVM sources to r73879. b897c8660c4f Update Clang sources to r73879. 0408e1d309a7 Import LLVM r73954. d6aff018d446 Import Clang r73954. f76359690a70 Import LLVM r73984. f698f7e71940 Import Clang r73984. f859468f5a21 Import LLVM r74383. 4ebdf5c4f587 Import Clang r74383. 18f153bdb9db Import LLVM 74788. 5362a71c02e7 Import Clang r74788. 59850d087442 Update llvm to r84119. 4c8b24812ddc Update clang to r84119. 98781354c33b Update clang to 84175. 26137f35958f Update llvm to r84175. 5cd822fa9bbb Delete all stale files. a505eb93f43f Delete stale files. a5f348eb914e Delete some more files. 4a142eb28942 Update LLVM to r84949. 73490b890977 Update clang to r84949. bd3c9c2e3e89 These files does not belong here. f9666f9b3a3d This was removed upstream. 36bf506ad3c9 Update LLVM to r86025. 51fb8b013e77 Update clang to r86025. fc25e9aa5245 Delete this file. 72cc50852bec Update LLVM to r86140. 8f57cb030523 Update clang to r86140. 907da171cc91 Update LLVM to r89205. b3d5a323a5ca Update clang to r89205. 7d4538633051 Update LLVM to r89337. f5bd02d290ff Update clang to r89337. 76e2e0ebfdd3 Remove includes that were removed upstream. 06f9d4012fb8 Update LLVM to r90226. 1569ce68681d Update clang to r90226. 571945e6affd Update LLVM to 91430. 34d02d0b37f1 Update clang to 91430. 1e7804dbd25b Update LLVM to 92395. abe15e553e58 Updaet clang to 92395. 829000e035f4 Update LLVM to 93512. ee791dde723a Update clang to r93512. 989df958a10f Update LLVM to r94309. 5044f5c816ad Update clang to r94309. 6fe5c7aa327e Update LLVM to r96341. ecb7e5c8afe9 Update clang to r96341. 67a71b3184ce Update LLVM to 97654. 79ade4e02893 Update clang to 97654. f5a3459adfde Update LLVM to r97873. dd5132ce2569 Update clang to r97873. ea5b2dd11c05 Update LLVM to r98164. a16e9ac1f192 Update clang to r98164. c69102774f97 Update LLVM to r98631. 4a37f65f1c13 Update clang to r98631. 2f12f10af369 Update LLVM to r99115. c0c7bca4e5b8 Update clang to r99115. 104bd8179fb5 Update LLVM to r100181. 11d2b2d2bb70 Update clang to r100181. b5efedaf2ab2 Update LLVM to r100285. 2c56c396ce59 Update clang to r100285. 9f4a1da9a0a5 Update LLVM to r100520. 60bfabcd8ce6 Update clang to r100520. d7f7719e5e08 Update LLVM to r103004. 0883ccd9eac3 Update clang to r103004. 59161dfae322 Update LLVM to r103052. be17651f5cd2 Update clang to r103052. abdf259d4871 Update LLVM to r104832. d7279c4c177b Update clang to r104832. 66e41e3c6e8b Update LLVM to r108243. 4ba675006b5a Update clang to r108243. *** 504 LINES SKIPPED *** From nobody Wed Jul 26 19:12:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB3Sj6Qjkz4pgGf for ; Wed, 26 Jul 2023 19:12: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 4RB3Sj5yTDz4NYV; Wed, 26 Jul 2023 19:12:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xa1yw0GkSu8lYu+FsjZdcuPc4TPBksG8cesdtTbZK5M=; b=dp7GCNCJoZ+Rrc8qqteDbwAyF76WtphWWau2UOibtz9JC36xEEATBHXRK9Aa+uV8e0jIcG sQHDRazzNCBpZC+sL1Ro7ItmjLE+tNGwprjrjWrM2f1AkADKJ06TA1J7NGLfSbM32RbkdM 3l3BYoT8vv1p98g1ZzU+1JVJKPBPXCJNUy7TwyBw76GTSiOeOd3t6UDhlkAAx7uQK3KKfN 8q1TIeexDiejfSflIBpbHEJuglIkc3FUrmH/us0258AlLA3rNnEfrHDXITqIVOkFAWETLM K8SkbF1T290MqHP1UN01j7/kJYd9p+H5Hly7P7lhmuZr9To8wgWL1BO6ia6TUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690398773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xa1yw0GkSu8lYu+FsjZdcuPc4TPBksG8cesdtTbZK5M=; b=lhm02OfoejNfAsJsktdsBH0SlD+Lwb71ArCPBdWjh1lv8v5JrIH9TC5FVth7RJsQFcf3at Ng9QfNw+ytzjV8kGIgI3uPhODz6spdglm4z0JQuKr437aMXxaJ5228vmO6539Qeuk5roN4 kDdHX0GmY/IheDo1OjoGWvGqaUt9HXTYiiSeKXZVsGULtFgR3eeSmmRMoYwu2n4WY4uQpT y0MnDp5176g+lJE08i2E/tcgkz6HKb+JRouw/4MmP1nRwnalI/6syCSQ/nDCbOMxULQ6vm ZWUk2GkGY8AZ73FyNUAtkuurkmoDl6iV4NblYd2KakfYU4EdHhrofS9vpcoUKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690398773; a=rsa-sha256; cv=none; b=DaWYJnPxAeNPEWne8h5QMpJLds3HH07GXYxIQrgzIaXgshKPBM4E42jetonYCpUdcSxJfw J9yaiQcZxLade67AdVPHmTVIozlgiaNXYVaSOHBHLZSA1Pqt2/QOmeJA2LfYxqQZyhjq0G DdGEZ4gqyXd62KgvyM8WPkZAgYUagxLJu/k6ArkLL52c6wSgn91ikdOA/ZDTYfQUHlclsk JrBd3Ek+QCZk9iIzpgOiKDQ4YP6LxdjVaSuhQHIX+Z9x1KMnSutkVT4PxaM5Tg7+gQWVWp jz+lAIisa+xlWcHL+P2Ytks68VRImMZYBxMU3DkRVcvdPTWNKdD41jI2RJJrzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB3Sj53vQztw9; Wed, 26 Jul 2023 19:12: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 36QJCrSe003533; Wed, 26 Jul 2023 19:12:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QJCrCN003532; Wed, 26 Jul 2023 19:12:53 GMT (envelope-from git) Date: Wed, 26 Jul 2023 19:12:53 GMT Message-Id: <202307261912.36QJCrCN003532@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: afeff5726b8e - Create tag vendor/llvm-project/llvmorg-17-init-19311-gbc849e525f80 List-Id: Commit messages for all branches 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/tags/vendor/llvm-project/llvmorg-17-init-19311-gbc849e525f80 X-Git-Reftype: annotated tag X-Git-Commit: afeff5726b8ed1704b766bece74269197636f2f5 Auto-Submitted: auto-generated The annotated tag vendor/llvm-project/llvmorg-17-init-19311-gbc849e525f80 has been created by dim: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/llvm-project/llvmorg-17-init-19311-gbc849e525f80 tag vendor/llvm-project/llvmorg-17-init-19311-gbc849e525f80 Tagger: Dimitry Andric TaggerDate: 2023-07-26 19:12:20 +0000 Tag llvm-project branch release/17.x llvmorg-17-init-19311-gbc849e525f80. commit 2d22c9abbd20fdc3d3a469075bd151ca1bd02ee4 Author: Dimitry Andric AuthorDate: 2023-07-26 19:11:12 +0000 Commit: Dimitry Andric CommitDate: 2023-07-26 19:11:12 +0000 Vendor import of llvm-project branch release/17.x llvmorg-17-init-19311-gbc849e525f80. From nobody Wed Jul 26 21:50:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB6yW3Sp8z4pZ1p; Wed, 26 Jul 2023 21:50: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 4RB6yW33CYz4PJs; Wed, 26 Jul 2023 21:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690408227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olYNDAohvTTfPNF9pLtNxwqjFqLOFcQhguvccPKlxMA=; b=Ot1+C4viqHAjnpPfakS+JIbeWuG/iUamNcjudcatIoznzTjyZNrl9QSC9hRGG4RM2neh// AR/HAyT6VQjRj379dk4iAse1bq4HXt96nel8JBxEiVH/8hlXwn8NuSwaj2bSOW0Nb1+DIm SJYIse28JGdOPjjKEnWm3JYk0sQmetFZ7xNnzQ6QOwHOWca1oi/rzmsbv/09Z8Fx6UWyC5 Pnv90yj+Of9WM/R33Nnm3MHx67vaaGrlUIUX4Vo3uZ3n+w+855aiDP2B9RwrtSGpgzLyVg lpaWvQqxe0eHhVbMDaxzLqzZFxFrsv8yFu4emx1hW59/vbMA4XHCWJkzjKHM0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690408227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olYNDAohvTTfPNF9pLtNxwqjFqLOFcQhguvccPKlxMA=; b=A7/1wWqLnQjm03AUoREEhm91Joi+/qBn9r7CC17UdgucjUxmCs/1dJAyS9X/ZxLbHFOm1Q vke1EJHSvhh0o+vOwx2TVgzJWoOJyyX+GgKY75p/eMEIDSGOzA3E0V0vvaoeXZNueWgyxr XJsxLPzch+huD7GROWAtjoO60PEkiJVI8Xs/q8TdrJFkuy6uJ2S5aNRq/mkjiK8a5XpfN4 dTMI0lDPfetvkpibQ2MrZz7gbR2m2lOpZ/Xd8ng8BwjXFlXrHlTYsGt2x3bMzsKbQa/rJG 2VZYDXJw7ilibEhoJbPv5E3djpnIeVM47MaJpqwI3H532Ce9No9D5WAGTXHpMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690408227; a=rsa-sha256; cv=none; b=cCMOhD1ZpF0z/SpyyyKaJaRtitsRm+/LHQaGgiFZLsP4Kgc9x43ax1se/OFa/fyOPtm1MC W4SMNEip7HhL7/MndzWI+l67kAYSsVKDMoKUTG16YtgVup/mlV5DJcKF0w0nJ13UrpDSEV /5BVZKbou/luGRVaa4un6iT+6eZpspyREVOCazTdbpL211yAUFbxuaKOrsSUgJfGVmqgND ppiGSy41Rsl3Fk7Zc3ea5hwILK2R5Ix4DZv1yyA5M1rzI0qfDV6++wMaBSwOaPj7Lq4Nti x9LZTznKPM5ie+hVpu48rkRG/31ZbMNLA1udIwHnApsuJhW29CLn9sgBsp6giw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB6yW26xXzytC; Wed, 26 Jul 2023 21:50: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 36QLoRIU059638; Wed, 26 Jul 2023 21:50:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QLoR7I059637; Wed, 26 Jul 2023 21:50:27 GMT (envelope-from git) Date: Wed, 26 Jul 2023 21:50:27 GMT Message-Id: <202307262150.36QLoR7I059637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 6f0ca273a393 - main - Add diagnostics to fsck_ffs(8) for journaled soft-updates debugging. List-Id: Commit messages for all branches 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f0ca273a393bad293cc3ae12b3816ab1582bbc2 Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=6f0ca273a393bad293cc3ae12b3816ab1582bbc2 commit 6f0ca273a393bad293cc3ae12b3816ab1582bbc2 Author: Kirk McKusick AuthorDate: 2023-07-26 21:49:07 +0000 Commit: Kirk McKusick CommitDate: 2023-07-26 21:50:02 +0000 Add diagnostics to fsck_ffs(8) for journaled soft-updates debugging. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation --- sbin/fsck_ffs/suj.c | 32 +++++++++++++++++--------------- sys/ufs/ffs/fs.h | 14 +++++++++++++- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/sbin/fsck_ffs/suj.c b/sbin/fsck_ffs/suj.c index eb0d0d682aef..e55e3fb1c782 100644 --- a/sbin/fsck_ffs/suj.c +++ b/sbin/fsck_ffs/suj.c @@ -115,6 +115,7 @@ static TAILQ_HEAD(seghd, suj_seg) allsegs; static uint64_t oldseq; static struct fs *fs = NULL; static ino_t sujino; +static char *joptype[JOP_NUMJOPTYPES] = JOP_NAMES; /* * Summary statistics. @@ -1446,9 +1447,9 @@ ino_check(struct suj_ino *sino) err_suj("Inode mode/directory type mismatch %o != %o\n", mode, rrec->jr_mode); if (debug) - printf("jrefrec: op %d ino %ju, nlink %ju, parent %ju, " + printf("jrefrec: op %s ino %ju, nlink %ju, parent %ju, " "diroff %jd, mode %o, isat %d, isdot %d\n", - rrec->jr_op, (uintmax_t)rrec->jr_ino, + JOP_OPTYPE(rrec->jr_op), (uintmax_t)rrec->jr_ino, (uintmax_t)rrec->jr_nlink, (uintmax_t)rrec->jr_parent, (uintmax_t)rrec->jr_diroff, @@ -1512,9 +1513,10 @@ blk_check(struct suj_blk *sblk) sino->si_blkadj = 1; } if (debug) - printf("op %d blk %jd ino %ju lbn %jd frags %d isat %d " - "(%d)\n", brec->jb_op, blk, (uintmax_t)brec->jb_ino, - brec->jb_lbn, brec->jb_frags, isat, frags); + printf("op %s blk %jd ino %ju lbn %jd frags %d isat %d " + "(%d)\n", JOP_OPTYPE(brec->jb_op), blk, + (uintmax_t)brec->jb_ino, brec->jb_lbn, + brec->jb_frags, isat, frags); /* * If we found the block at this address we still have to * determine if we need to free the tail end that was @@ -1696,9 +1698,9 @@ ino_append(union jrec *rec) (uintmax_t)mvrec->jm_newoff, (uintmax_t)mvrec->jm_oldoff); else if (debug && (refrec->jr_op == JOP_ADDREF || refrec->jr_op == JOP_REMREF)) - printf("ino ref: op %d, ino %ju, nlink %ju, " + printf("ino ref: op %s, ino %ju, nlink %ju, " "parent %ju, diroff %jd\n", - refrec->jr_op, (uintmax_t)refrec->jr_ino, + JOP_OPTYPE(refrec->jr_op), (uintmax_t)refrec->jr_ino, (uintmax_t)refrec->jr_nlink, (uintmax_t)refrec->jr_parent, (uintmax_t)refrec->jr_diroff); sino = ino_lookup(((struct jrefrec *)rec)->jr_ino, 1); @@ -1858,8 +1860,8 @@ ino_build_ref(struct suj_ino *sino, struct suj_rec *srec) TAILQ_REMOVE(&sino->si_newrecs, srn, sr_next); break; default: - err_suj("ino_build_ref: Unknown op %d\n", - srn->sr_rec->rec_jrefrec.jr_op); + err_suj("ino_build_ref: Unknown op %s\n", + JOP_OPTYPE(srn->sr_rec->rec_jrefrec.jr_op)); } } ino_add_ref(sino, srec); @@ -1888,8 +1890,8 @@ ino_build(struct suj_ino *sino) TAILQ_INSERT_TAIL(&sino->si_movs, srec, sr_next); break; default: - err_suj("ino_build: Unknown op %d\n", - srec->sr_rec->rec_jrefrec.jr_op); + err_suj("ino_build: Unknown op %s\n", + JOP_OPTYPE(srec->sr_rec->rec_jrefrec.jr_op)); } } if (TAILQ_EMPTY(&sino->si_recs)) @@ -1911,9 +1913,9 @@ blk_build(struct jblkrec *blkrec) int frag; if (debug) - printf("blk_build: op %d blkno %jd frags %d oldfrags %d " + printf("blk_build: op %s blkno %jd frags %d oldfrags %d " "ino %ju lbn %jd\n", - blkrec->jb_op, (uintmax_t)blkrec->jb_blkno, + JOP_OPTYPE(blkrec->jb_op), (uintmax_t)blkrec->jb_blkno, blkrec->jb_frags, blkrec->jb_oldfrags, (uintmax_t)blkrec->jb_ino, (uintmax_t)blkrec->jb_lbn); @@ -2018,8 +2020,8 @@ suj_build(void) ino_build_trunc((struct jtrncrec *)rec); break; default: - err_suj("Unknown journal operation %d (%d)\n", - rec->rec_jrefrec.jr_op, off); + err_suj("Unknown journal operation %s at %d\n", + JOP_OPTYPE(rec->rec_jrefrec.jr_op), off); } i++; } diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h index 1f2a56c26641..32580573bdbd 100644 --- a/sys/ufs/ffs/fs.h +++ b/sys/ufs/ffs/fs.h @@ -794,7 +794,7 @@ lbn_offset(struct fs *fs, int level) /* * Softdep journal record format. */ - +#define JOP_UNKNOWN 0 /* JOP operation is unknown */ #define JOP_ADDREF 1 /* Add a reference to an inode. */ #define JOP_REMREF 2 /* Remove a reference from an inode. */ #define JOP_NEWBLK 3 /* Allocate a block. */ @@ -802,6 +802,18 @@ lbn_offset(struct fs *fs, int level) #define JOP_MVREF 5 /* Move a reference from one off to another. */ #define JOP_TRUNC 6 /* Partial truncation record. */ #define JOP_SYNC 7 /* fsync() complete record. */ +#define JOP_NUMJOPTYPES 8 +#define JOP_NAMES { \ + "unknown", \ + "JOP_ADDREF", \ + "JOP_REMREF", \ + "JOP_NEWBLK", \ + "JOP_FREEBLK", \ + "JOP_MVREF", \ + "JOP_TRUNC", \ + "JOP_SYNC" } +#define JOP_OPTYPE(op) \ + (op) < JOP_NUMJOPTYPES ? joptype[op] : joptype[JOP_UNKNOWN] #define JREC_SIZE 32 /* Record and segment header size. */ From nobody Wed Jul 26 23:07:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB8gV382wz4pk4R; Wed, 26 Jul 2023 23:07:34 +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 4RB8gV1qWzz3wVH; Wed, 26 Jul 2023 23:07:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690412854; h=from:from:reply-to:subject: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=HCu93+FQtmGfCtLvDAWFZpIy2h1W2tlaoaqLd97BTxA=; b=LRcjC+MW2k3Ytey0gFLXLZn9upgfv904p2pbSAUoJWnI6V6B2WQLGXUFESiJg2x4mhQa4F BGVtwCcVQiUfFSDmqxjfbJ6j4mSUF3x3xAbO8dwwGunWORjIfhUNN381NGk33+hoP/NkSq 6WTRpt/H8HFJM4JKTLhv388ALMM3sB4LD+uObQCGwJ9FVftEKtWjtYbkvCF+FBvQ+I0E1v p4mFU+fvve7IbcJoVy+qlMo0wCmur1l/xrgAwOQqCXoewUcwvXb4IpSv0Xqh+Usazxxhzd GWMNAdW6T7/7r6iQNxN3Qr+SaMD2+xtO9OsNcRGGTj42H/12vWmhxfhte+uFvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690412854; h=from:from:reply-to:subject: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=HCu93+FQtmGfCtLvDAWFZpIy2h1W2tlaoaqLd97BTxA=; b=cTExOCDp5R0b9o0gkRoNHpuP8mdfU655J0zaeo9AfYZzLVvt0wdZOJ1NiwI5f/oSbpWJjq u/U9B1TtWqvdWK+id3O2uPgMbcBf0I/pPu6tPzLVSmJ5XgM1enlogU9HMIek2/RGzH25Xk A4xp/zyMDfqeOclfP900WDGWRlFhDlK77awmHC3nZviXSUpaLmZyV/OCoOmy3yz0nisr2s XuCgHA19nmPAjUKb9Vc/ohR5t9HnIgwAtG8FefhroGx6JEJH1UDH3dGZ3Gj9zmznM9snAF 5sQ4BuTLfyvxvm2gj0Bc5mupwQFTgSu0hmm2CqvXsmvUjUcHGrkaUDck2rSLLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690412854; a=rsa-sha256; cv=none; b=wqDToKj28S2ljX6LHmCQwQGppG3OOQExfPcAQPazqUi81kbRUzsU+Bxw4+nQkvG6hxQQyu Kk56hBLvVDRSHw2YO3Li9c474HYZq3IiXDexF5hPrX5gB5Y2OdUpl4Mb38coKPBbzBHFM1 oRxHGqbS8bze/vTkjKs09xRi/lQ5s3EGULs7e8nrbrKWzx06gSFCda2dufe12vUD8YyFmV BQuD54768WTB+cwZaRgdYwuaeHDQc7V3BwVWQN9Vr43C2nNv/wHDm+uthNPiYl0KsOO7hZ PNAHwm7USfJuHISwHNc3zTD2j5U3VsQq0dn3yM4iCK3RZinMmlPQ/fXtKdkopA== Received: from [IPV6:2601:648:8680:16b0:3912:750d:bdfa:28ab] (unknown [IPv6:2601:648:8680:16b0:3912:750d:bdfa:28ab]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RB8gT4nMvzKRX; Wed, 26 Jul 2023 23:07:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <56ed65b3-4659-5716-abfa-d42617e5c0f9@FreeBSD.org> Date: Wed, 26 Jul 2023 16:07:32 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: git: a1b675731301 - main - arm64 lib32: enable building of lib32 on arm64 Content-Language: en-US To: Mike Karels , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202307260000.36Q00N1E087415@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202307260000.36Q00N1E087415@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 7/25/23 5:00 PM, Mike Karels wrote: > The branch main has been updated by karels: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a1b67573130114257fdd443c4ec9b54fbe2e5843 > > commit a1b67573130114257fdd443c4ec9b54fbe2e5843 > Author: Mike Karels > AuthorDate: 2023-07-25 23:59:52 +0000 > Commit: Mike Karels > CommitDate: 2023-07-25 23:59:52 +0000 > > arm64 lib32: enable building of lib32 on arm64 > > Enable LIB32 option on aarch64, defaulting to YES; it had defaulted > to "broken". Add required variables for how to compile lib32 on > arm. Use /usr/include/arm for armv7 (32-bit) headers, analogous to > /usr/include/i386 on amd64. Omit libomp from lib32; it is not > supported on armv7. > > Reviewed by: jrtc27 > Differential Revision: https://reviews.freebsd.org/D40945 Thanks! -- John Baldwin From nobody Wed Jul 26 23:19:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB8xb3Hzcz4pv26; Wed, 26 Jul 2023 23:19: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 4RB8xb2sLHz437L; Wed, 26 Jul 2023 23:19:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690413587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Djg3KCXi3DEQqxf6NOB0WZmAQqLMsTvgNw8Jr0qpQG0=; b=bos86lquj6o/3LgGZz+U5CCdPkrGxNvBIOKvS0YaeIe/XgIVk7Zxy02N7Byw9edyoTtGMi jZyqkkbyA+51+v5hq2SYD3l4g8RH9C94rC5JimX7cokLpTcKY6GI+yOkm2NvyNvZdDc6RK jn2kri4gN2CQOwrD3vkb+JgrPeGo8q1CKhMrilwUzRIQlQfm6vXEvNAFotMJXTpRA6siP/ phqxxiCT7OYRhNjZGfZtUdmz/6Dpekjxwx9FtL2Hk/39Jryr+P2N/PgtKOVrUpv7yDy72J ZmzyuTt0MeHe4qDi4mIsa9M3YZ5B0Ws70kbq78uKGFirdXIRbzfIECzIslId4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690413587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Djg3KCXi3DEQqxf6NOB0WZmAQqLMsTvgNw8Jr0qpQG0=; b=XiwuVJe4LIfdReyL5zmFQo+CroO9Vh1SBc9+9YhpSVfYGE2ppTvGIbUBjI+Vuw5ly/9S5F LEy0P9xQnHf/lHS+yaZIrcAeVPv4wORR8v5P3EBVBuWK3a7N4d/VEHw8Xst7MzzeAm1rJO 3rg/J3QB/WjwTqdnCipwI95g2pIOKrMAK+fJ0jGocPMPsSsQNr+ZLV/4ZLtEVa0kNMapBP EBLRopsCqjRE7Kgm5b53kyV30xWFJWjAXcsXXODN21yLAIhdpY4q0pLt8i9w3++0hlBg6c B4vzfEfJt3MtvuE0Uib1KQUSXUcjf7DvcHBl19MTPGZWBf0daoi6vy8+2FjrDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690413587; a=rsa-sha256; cv=none; b=afzZOvo0RfMaCs9Dd1HXEVPPLtgy5ZKSlnd/7jqVaSzdkno0vfJ8gbz/kbhT4Xm0VmEWIz v6Te64fPqxSkG5flwCkNlBsOZqG6yRK+Tw33rCmIXMi5uAwBl/xdZPMkf0A439Y6Lc6FI2 zUqBOkj1pUe/zRF+cO+C0WdbB6GT2Zsq5i5s0GDCxkfekyLK3iqC039BSHBLhW0beg2V9Z Dx396E3Cb+wUJYCQlQJPmHRhsOGJd8+tnVzjqIS0HYnPvmToSmuLzsH3jWwI0g3w2+Aexj B6OrFen0MHIIJKHp3B3XVWkSyUWSVAGiSfH7yv8y18gy22tthRyYcTIo7uhLOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB8xb1yqwz11ps; Wed, 26 Jul 2023 23:19: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 36QNJl3p099554; Wed, 26 Jul 2023 23:19:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QNJli7099553; Wed, 26 Jul 2023 23:19:47 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:19:47 GMT Message-Id: <202307262319.36QNJli7099553@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: b352ef58c29b - main - tcp: Handle in SYN-RCVD List-Id: Commit messages for all branches 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b352ef58c29b1f2967e358c147e0f7faf8cfbef3 Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=b352ef58c29b1f2967e358c147e0f7faf8cfbef3 commit b352ef58c29b1f2967e358c147e0f7faf8cfbef3 Author: Richard Scheffenegger AuthorDate: 2023-07-26 22:41:25 +0000 Commit: Richard Scheffenegger CommitDate: 2023-07-26 22:42:26 +0000 tcp: Handle in SYN-RCVD Patch base stack to correctly handle the RST bit independently of other header flags per TCP RFC. MFC after: 1 week Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D40982 --- sys/netinet/tcp_input.c | 4 ++++ sys/netinet/tcp_syncache.c | 12 ------------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 10daab2d61ba..b66e4e9d17ac 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -1963,6 +1963,10 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, * if seg contains an ACK, but not for our SYN/ACK, send a RST. */ case TCPS_SYN_RECEIVED: + if (thflags & TH_RST) { + /* Handle RST segments later. */ + break; + } if ((thflags & TH_ACK) && (SEQ_LEQ(th->th_ack, tp->snd_una) || SEQ_GT(th->th_ack, tp->snd_max))) { diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index b9c41eda4d9e..986d4d068f96 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -623,18 +623,6 @@ syncache_chkrst(struct in_conninfo *inc, struct tcphdr *th, struct mbuf *m, sc = syncache_lookup(inc, &sch); /* returns locked sch */ SCH_LOCK_ASSERT(sch); - /* - * Any RST to our SYN|ACK must not carry ACK, SYN or FIN flags. - * See RFC 793 page 65, section SEGMENT ARRIVES. - */ - if (tcp_get_flags(th) & (TH_ACK|TH_SYN|TH_FIN)) { - if ((s = tcp_log_addrs(inc, th, NULL, NULL))) - log(LOG_DEBUG, "%s; %s: Spurious RST with ACK, SYN or " - "FIN flag set, segment ignored\n", s, __func__); - TCPSTAT_INC(tcps_badrst); - goto done; - } - /* * No corresponding connection was found in syncache. * If syncookies are enabled and possibly exclusively From nobody Wed Jul 26 23:26:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9572XKVz4q11v; Wed, 26 Jul 2023 23:26: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 4RB95725spz45Kg; Wed, 26 Jul 2023 23:26:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690413979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z6Y2penUdc7KsogB728a2Ih7PVLZb/drUbQCmlQgles=; b=ypdw4k6uzoCPO8JLbNwkXCLlqxs71yfuhO+PAKw8UTvx5sJbCvvG0+iVxiwRmpxsSQ8Oik 8eYPOgHMWRNEN9BaAu9S+KIJ0OiipDuxwq/IUGrVUN7gZOPUF5EpHMdKRqYDjL9mB0bRMN 4W7ASyet+slenbVYKUSHf07Hg2e7uvBbsGJjTvd1Tjcpfv3zAhvdWYxTKL/TUwm2uB1P6C BRKdJCfoPe236rdJkhqE+cBTffOl8Ua/ZeXi9xwYlTlpG968EnkqcmQLnszf7IQr96P033 ElDoibayHpzXiRou68Gj98WEtHAOMrJmdxxKrWlsYtqq7jYhMEJfFGoIJY10TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690413979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z6Y2penUdc7KsogB728a2Ih7PVLZb/drUbQCmlQgles=; b=qGRfS4Ti65o/OHCDKa41rTAUyvePtkGKZrdMJEbP4STAEOFtv21Q9189hUBTOrIevKKFnM IfYLzfl6wTM08Oq06k0flKSHHimmytZZ45dXOexPQ42IwfMh7g3EUD3MfsD7blbwti0QWo huEZwG8daIl1RtV1HD2C8FZ6xqDOhWbAyeiMS4hqvOhizs/ggK2vRL7gPWWoRkkodvZh/l 3H6uXkhux0aaFSFj1W4MK2DvSaac97joukJkdx81kTzsE+l5lbsZlS6buPgRL6USo9skHe oZ0pf0p9QNfPxe9O0KfacdtIJRAYUMe0f4ywjemxggsnMscxuBIlH3ogWsKt/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690413979; a=rsa-sha256; cv=none; b=FsYi4RuFg1KJV3THSM8yqIrjOsiLxCTwJCl5YHBoJQRcmICrnts1P5PgnZEwAHd78VTaZX 3DhpF1f3HMAFNLLqtiDQKYO+WoJ1On4UFmjT5wrBzoRfjWODAYFhaKzmVwHTZJRGh3lft5 mSuW7455ceGWIqJgC8aG6mxW0NhXLcXzDYVby6mXr7EPgsZecaJIJOe7rTrrt3qKBMaDWe KAgjFrlZJ8Jq3k9qkwCLPIl8+nHbbrZHU4EQUHZJbR+MisxedwAWk3FHwZfiJzMvOr0OIm dtFWIneq8hHF2Hztd0P06wLprsK8nhixUGVfO+9glQ5blRrZz6ieF/C8+6qsdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB95715QJz11sG; Wed, 26 Jul 2023 23:26: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 36QNQJhi015114; Wed, 26 Jul 2023 23:26:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QNQJ00015113; Wed, 26 Jul 2023 23:26:19 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:26:19 GMT Message-Id: <202307262326.36QNQJ00015113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: ab65c64bc402 - main - tcp: fix handling of segments in SYN-RCVD for RACK and BBR List-Id: Commit messages for all branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab65c64bc40270b032f575c5733ea276b006d2ba Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ab65c64bc40270b032f575c5733ea276b006d2ba commit ab65c64bc40270b032f575c5733ea276b006d2ba Author: Michael Tuexen AuthorDate: 2023-07-26 14:22:13 +0000 Commit: Michael Tuexen CommitDate: 2023-07-26 14:22:13 +0000 tcp: fix handling of segments in SYN-RCVD for RACK and BBR This deals with TCP endpoints in the SYN-RCVD state coming from the SYN-SENT state. Reviewed by: rscheff MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D41203 --- sys/netinet/tcp_stacks/bbr.c | 6 +++--- sys/netinet/tcp_stacks/rack.c | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 1bc20de9e503..229f895b0285 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -8928,6 +8928,9 @@ bbr_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct socket *so, bbr = (struct tcp_bbr *)tp->t_fb_ptr; ctf_calc_rwin(so, tp); + if ((thflags & TH_RST) || + (tp->t_fin_is_rst && (thflags & TH_FIN))) + return (ctf_process_rst(m, th, so, tp)); if ((thflags & TH_ACK) && (SEQ_LEQ(th->th_ack, tp->snd_una) || SEQ_GT(th->th_ack, tp->snd_max))) { @@ -8959,9 +8962,6 @@ bbr_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct socket *so, return (0); } } - if ((thflags & TH_RST) || - (tp->t_fin_is_rst && (thflags & TH_FIN))) - return (ctf_process_rst(m, th, so, tp)); /* * RFC 1323 PAWS: If we have a timestamp reply on this segment and * it's less than ts_recent, drop it. diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 59dd113c03d5..5bfca4e3a687 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -13405,7 +13405,13 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct socket *so, int32_t ret_val = 0; int32_t ourfinisacked = 0; + rack = (struct tcp_rack *)tp->t_fb_ptr; ctf_calc_rwin(so, tp); + if ((thflags & TH_RST) || + (tp->t_fin_is_rst && (thflags & TH_FIN))) + return (__ctf_process_rst(m, th, so, tp, + &rack->r_ctl.challenge_ack_ts, + &rack->r_ctl.challenge_ack_cnt)); if ((thflags & TH_ACK) && (SEQ_LEQ(th->th_ack, tp->snd_una) || SEQ_GT(th->th_ack, tp->snd_max))) { @@ -13413,7 +13419,6 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct socket *so, ctf_do_dropwithreset(m, tp, th, BANDLIM_RST_OPENPORT, tlen); return (1); } - rack = (struct tcp_rack *)tp->t_fb_ptr; if (IS_FASTOPEN(tp->t_flags)) { /* * When a TFO connection is in SYN_RECEIVED, the @@ -13440,11 +13445,6 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct socket *so, } } - if ((thflags & TH_RST) || - (tp->t_fin_is_rst && (thflags & TH_FIN))) - return (__ctf_process_rst(m, th, so, tp, - &rack->r_ctl.challenge_ack_ts, - &rack->r_ctl.challenge_ack_cnt)); /* * RFC 1323 PAWS: If we have a timestamp reply on this segment and * it's less than ts_recent, drop it. From nobody Wed Jul 26 23:34:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9G36vngz4ntnd; Wed, 26 Jul 2023 23:34: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 4RB9G36FQRz4B41; Wed, 26 Jul 2023 23:34:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690414443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7edIDgeff69PhBuOmim/5zS5Xm/4PqnQ2eRQlgdSKE=; b=DGWgY/kAmIVNY5+dPoUIoj4HAbFZ/PSuIBxtnqLHzVxwJJe2+zQK8rs4czmicqtVc+3JuD 8mejYnKdEUcrkgWlvLGxwNeHdHlizMKRpb66QHpYTNhEfgyBRx8sD3RL+sw4p/BRQ7JYSj VNAdy8vbhyOVNH+u8APe+4GJHL82l7xjC3uAqlZ8Mdr6h2COD7nFbfrpDL+R+yfK+KR/hr 3DJNcepRoApLo6j7sh4x1X1LsO3CzmvulH74XmbuDKV/e0Vt6T9HX75WmYDeFKgTRRcWzs OBQSttaNK6gXtVPH/nFLO7HccCnlsM3GAUAQtphzdZJA1+cegMB9U4y+QkjDoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690414443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7edIDgeff69PhBuOmim/5zS5Xm/4PqnQ2eRQlgdSKE=; b=i4pXlH6pNDHcC50xIzBaA3VYmVSpZnDkVe7FOpNEtNQmCI21OjtoxPCTzLhAo0ReNSsJBD 2Wol3XD3EfSBIWK24DL5hK4i+lV/kp/k3aGotDP8/ZA13IkmlMcS135omD0epuTe7Go3eP 3jQylZWxmud90mbNbWY4CHN/6PXci6fDPOf0ZDstF0O/g0KsHea4teACc/iOz4+CUKarEC mcg9oMO5KLdxf1QlqGvaaVCdGEMSbBTZhMbCr1u68qB23i+Uf2+s8W3R2Wl6H1QhnkA/DV jLJztJJByIWs5pQFsV+FgzOabbY1qz45mTaoFT23RP+RrGq0hqq+zGbcuKe1RA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690414443; a=rsa-sha256; cv=none; b=YeJHP+dcLR/DyiI9DMy7eSylNnK9tQz8CB9g6lYOoKvNLNDiCHkck+g9C8XBNfrl8uKqql AazWaaUhpBp/uNuQdn+eW3CGahcc44ZAqUfMz/96pTe07wVBmY9fWrzwhWAMqmleG3BoTP UPrMfAw3k6RSXfaB92e4dIaftoI8xd4oJknXW7lyfKbKDLwT+OIVAZkZuazL5xt2OMw6wT KmG7ztdWs5KkJM/Arrm0G11fFoWaJLsuIRKua59AOVM5GMPhiXMWVe6lWAimUsSdvTjDLr 06njTydheDL3K17kjjbS1OU5IZmG4Swm83q+c2rlTEbrR9q6ezCCvMMY1r6wIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB9G35Kjfz12gQ; Wed, 26 Jul 2023 23:34: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 36QNY3JQ031732; Wed, 26 Jul 2023 23:34:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QNY35d031731; Wed, 26 Jul 2023 23:34:03 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:34:03 GMT Message-Id: <202307262334.36QNY35d031731@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: 474708c334a7 - main - fork1(): properly track the state of the pg_killsx lock List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 474708c334a7d4fb27049e7dabaf5b74542568dd Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=474708c334a7d4fb27049e7dabaf5b74542568dd commit 474708c334a7d4fb27049e7dabaf5b74542568dd Author: Konstantin Belousov AuthorDate: 2023-07-26 23:24:30 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-26 23:33:58 +0000 fork1(): properly track the state of the pg_killsx lock Reported by: dchagin Fixes: 232b922cb363e01ac0dd2a277d93cf74d8485e79 Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/kern/kern_fork.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index e64a91ea5f80..83895e036e37 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -989,6 +989,7 @@ fork1(struct thread *td, struct fork_req *fr) * lock. */ sx_sunlock(&pg->pg_killsx); + killsx_locked = false; error = ERESTART; goto fail2; } else { From nobody Wed Jul 26 23:38:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9Lv1PVXz4nyrM for ; Wed, 26 Jul 2023 23:38: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 4RB9Lv0x1Fz4DH9; Wed, 26 Jul 2023 23:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690414695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e+9MNZjJZwCH7tFsO1Nsdc7s4chs4aDR+8lvSGMH4wM=; b=aZ4npcC717kZ6lOAnu8Q2okLkZfPSYW0JW1+55kJVGEfyJrA1KE5s5LXU3Vf6C8X8kwHHV IpX1bEv1E5bZJffAgMW7bgwjYx7/Imc53LsHtsH/n1UKCpQE42jdDKynlpAHBSyRp0thmF 0LAhY2FOJp0oLuvjmtMkDCHaqoqnPTBMckYy1hR9tBySxUZ0oufWPWSMAciY6EOT52qm6I BnTOHR7Lb8Wh5rA+hCDNkWPvJr4XpHPg5/mY6VRTEeestDC+l7N/wmPT1tik55TU7pRsHc ZdxguR+I/I0t0cZcoMnDV3e3fFYTU4KIMkcioS7uUKAgg3xBBN6+ZrsTrTowJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690414695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e+9MNZjJZwCH7tFsO1Nsdc7s4chs4aDR+8lvSGMH4wM=; b=WUJO+O24qbVd0aYzutbY1sO+5hWUlJYgqCwdsaLAnXOY9KLAkGHcFa5lOhKpGG51MeMcFt rXvg4U5wYHiC9r03KIREvfpWknRj2ETwwU8doVmyZ4Y8f5bYc3RBP3xJOqSS4AysdzQI3w DtmxFqXr3tHxbT99XnxKXDiPpTTE7W2NzZ9POJIF0N/LKZBx5ilJuiKEhUFNQuVzfaDKC4 3NkvSArK6/Um48zrFNhCbi8Mva13omHpj1O92+74lz4U7sDGFbaPYxC4iQhSXwVU2q4st8 NVuOuuMEiknCHH5eRjeIsEB2t1a78btBWdIWmx9xpDmF8XgYkN/L7hlJAkVrWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690414695; a=rsa-sha256; cv=none; b=jeEJAafF4rd160nxR3wdwwjC+4+kAR+MyWGGnTWGI99UVzS0YR6N/TVEN84smb5kPxelh1 hLnJmNXcAfGMeKGtqdavNScTas8+bvTBF4xQDzAfdK2T0VlmhK+ZQws/4HD7hxFEolZ0zH T3+wKeTrphi0ubOxn9nIOB1Pr8ksfJWAjmEK3eoInM+fgSHPTVaunaeloSh1BgMDpJjebl V1CoZUq1VX45ibuSgEXvp1GfvZdLdnNKAfXhZB9PfBq/w1KLxsjhS96o6Gth+HnFKmPeK3 Hq039X1f7HPz4bjbUGv22DoX3txEcSzi1UvpKHX20k8QTKuucy+hhlEi2GtBTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB9Lt729Wz12jj; Wed, 26 Jul 2023 23: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 36QNcEmL032423; Wed, 26 Jul 2023 23: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 36QNcEOR032422; Wed, 26 Jul 2023 23:38:14 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:38:14 GMT Message-Id: <202307262338.36QNcEOR032422@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Richard Scheffenegger Subject: git: 285fbf44fa6d - internal/admin - Release cc from mentorship. List-Id: Commit messages for all branches 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: rscheff X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: 285fbf44fa6d0951809a55fa1c7a430f6f1967d5 Auto-Submitted: auto-generated The branch internal/admin has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=285fbf44fa6d0951809a55fa1c7a430f6f1967d5 commit 285fbf44fa6d0951809a55fa1c7a430f6f1967d5 Author: Richard Scheffenegger AuthorDate: 2023-07-26 23:35:17 +0000 Commit: Richard Scheffenegger CommitDate: 2023-07-26 23:37:16 +0000 Release cc from mentorship. Approved by: core (implicit) --- mentors | 1 - 1 file changed, 1 deletion(-) diff --git a/mentors b/mentors index cd0ff8a4916f..407b3813c215 100644 --- a/mentors +++ b/mentors @@ -14,7 +14,6 @@ afedorov vmaffione Co-mentor: jhb anish jhb brd allanjude Co-mentor: bapt bryanv grehan -cc rscheff Co-mentor: tuexen christos markj def oshogbo dsl bz From nobody Wed Jul 26 23:51:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9f23mqrz4p9FT; Wed, 26 Jul 2023 23:51: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 4RB9f23CqWz4HlH; Wed, 26 Jul 2023 23:51:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=etqbJluaUvXJospdLeYcqIfPC9yfKmSWp22JD2/7qlQ=; b=tHtGz6b4jeyL+x91PFPSqavq21vTPafg3QoYHXKc2qllChSatx7m/VETmeK+p0NeNS2xfe oMUyUtKBo0aHVm331gL4cWWhM9Jv4xylnZiF9WUSu8oV6Xo04TjADu8JyBV4dgYfNu1p1N uNf6WsWwHsHweUYuictBKGqH8cKxI+pJ0Q+dNywjQ+zogtfglqFR058P52fsTTh4Rr8XNe 1OzfmUwuVC48z58+MJzGwH0gptu+zOqYl4Z5x0AMt6/fqaNhlZj8WTGsne6BoaRUA/kj7W evvKtyXeNyq3BHDlKaZUCV3FolIlvgASzhCZylkjy/sgyIkMJ8LOZWq0DyzARA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=etqbJluaUvXJospdLeYcqIfPC9yfKmSWp22JD2/7qlQ=; b=B0uOD/xC/kKaCLAxxRIOCCGuCtEwibsOwbGjZIYssIofcr07zxwXk/eILB2+Rr/swPHoRB Pt/85OTo13rMTzZ24PsG6kRLC6a+Wzn9C1LD6G7S3CK/MsRyx676Jm8+eEmm5RGoV+OVjE cbUBPZjUMe+buRCcgmRloYvZnmXbPAX4OAOjMpMopuzktGRYvh4QgWuRB+fAYKNmlmUfFk kfuyo3rOe0XbSuF4yA7ZaNVw4DDbBStNJsZ+LeKutDG5Qrrh2RDlREzcSyaI1qK7rsBNcb qkMpx+dC6udm1jZgyZezs82hEqwatMERRYUaUQoMFXwx/r8vo3xLr+cALI/y9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690415482; a=rsa-sha256; cv=none; b=f6DdIPotA+XXJ3BFAMbCcMry4Ncgb0PA/pIQ6pCm3UWr8PLH5JY0T+8GnAJGSngCnKPTJ/ Mg/gIjO1GSTAgUNuA+BW/KWEb7ej2e1p2s8rTBGO6u8JkUcQGf8f+eua9AFMaqVgGJ38LM RWi0PGFieqmZSfRtc29/2iHPEuzmmpP4tO3OHRzbjcpVS0KEiWQ3Yd5QXhwMQANKcQdym8 nkcv9YR5cU67m1RFo/EyP5u0VTuRMu1AnDWWcCnh5IbIPFURtg+jtSCNt1qDhU6kf1jrlY idRAt3uRIx1PAsC9ill5zw7KUiFAt2jWXyvzL1dCTz0t5snYugT7YlIRmaq61A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB9f22KDcz12wd; Wed, 26 Jul 2023 23:51: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 36QNpMwX060637; Wed, 26 Jul 2023 23:51:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QNpM4l060636; Wed, 26 Jul 2023 23:51:22 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:51:22 GMT Message-Id: <202307262351.36QNpM4l060636@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: 2b01ffb88416 - stable/13 - Fix powf(). List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2b01ffb8841635440e03dd2f8c3f7a013f1c8bba Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2b01ffb8841635440e03dd2f8c3f7a013f1c8bba commit 2b01ffb8841635440e03dd2f8c3f7a013f1c8bba Author: Mark Murray AuthorDate: 2021-09-06 17:26:39 +0000 Commit: Ed Maste CommitDate: 2023-07-26 23:07:29 +0000 Fix powf(). Summary: From Steve Kargl: Paul Zimmermann has identified a bug in Openlibm's powf(), which is identical to FreeBSD's libm. Both derived from fdlibm. https://github.com/JuliaMath/openlibm/issues/212. Consider % cat h.c int main(void) { float x, y, z; x = 0x1.ffffecp-1F; y = -0x1.000002p+27F; z = 0x1.557a86p115F; printf("%e %e %e <-- should be %e\n", x, y, powf(x,y), z); return 0; } % cc -o h -fno-builtin h.c -lm && ./h 9.999994e-01 -1.342177e+08 inf <-- should be 5.540807e+34 Reviewers: manu Subscribers: imp, andrew, emaste Differential Revision: https://reviews.freebsd.org/D31865 (cherry picked from commit 292815eac623035493854f133200a4b1041fa246) --- lib/msun/src/e_powf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/msun/src/e_powf.c b/lib/msun/src/e_powf.c index 33eedad50b16..122da455f740 100644 --- a/lib/msun/src/e_powf.c +++ b/lib/msun/src/e_powf.c @@ -136,7 +136,7 @@ __ieee754_powf(float x, float y) /* |y| is huge */ if(iy>0x4d000000) { /* if |y| > 2**27 */ /* over/underflow if x is not close to one */ - if(ix<0x3f7ffff7) return (hy<0)? sn*huge*huge:sn*tiny*tiny; + if(ix<0x3f7ffff6) return (hy<0)? sn*huge*huge:sn*tiny*tiny; if(ix>0x3f800007) return (hy>0)? sn*huge*huge:sn*tiny*tiny; /* now |1-x| is tiny <= 2**-20, suffice to compute log(x) by x-x^2/2+x^3/3-x^4/4 */ From nobody Wed Jul 26 23:51:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9f43Kftz4p9YT; Wed, 26 Jul 2023 23: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 4RB9f33fyvz4HxJ; Wed, 26 Jul 2023 23:51:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NlgtvviTfqiKNGhRkOw61QXwq0jrags6cuoX++UJs00=; b=qlMiDpI9M6xYw0zd0t9E1zzpV9fbs4vKogPFci87NKYNALiihsbo3HUDV3ACh1N7hckDMz yI9pq1QI7Wm1R+rGLtpl89egQPfKi5wQ4c8+LBDlJ4v7MYq6QCgogWi+WW8mQoNE0Y9ldh qh61uRc8GS22Y6nzXyZ7HCvgYyy39ijCbZOm2zRG56S1ExatsdEZltode4Q0GTUhO+KdKT 5JP0HNxD9lQLa4Nr1N7dFoH0uiMBOEJWHDkgS2I3zY063nAZ6Dwt7+ZJCUzzrGPwHKznk4 8RQjgxWWozApCdKSdA1eROV3LGdjDnCRWj7D75j8YorEJgu9GyrWjMPpTynlCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NlgtvviTfqiKNGhRkOw61QXwq0jrags6cuoX++UJs00=; b=Vy7oo82utayf5vlTzp8vVGetkflcXxmTbB638BqsMlK1l7lEy3iz444uCD+Tky61+PYU/m eW2OuDLd3xpkpqdH2vqptCe4nRf0m9MJl8GECHFR1it76g+tQ0HqhyyCJ/7C/CTbDxBURR mVZm0b1kDQmR6vb1o/Wrpwu1fsUt//tH1LAEXn2AxRBl7ICGGWUrARX0x6abwrxFxYSf2j 17apdmGS9IOPucbmV8UvlIijhNdwxcogdWs9JlmDHi2Asj2X4wXY/UM1bLXRBgT7F28FLk FUybYmnZzEI2l1Ou3uLsFBNlfxwJgH1U1C/cT40pk9apgmqa2edWobybCvSnpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690415483; a=rsa-sha256; cv=none; b=nZaGEePFT1EhZz5TukjhxH85eU30x2exn1u+xC3MrDGRkCwvQxrmbrfhMlF9MX2anBmZ2T kxICwPtLPEAvcEHeD3wZJM94d8UoZ9XyweoQqmCIN5/IlxEvgcLYM4mjEYG0YrbWAKl+Ie HxvfilwXGbyEZOq0WQfS1Lsk2BWUJsi8o2cNypf8bK1AmpLL4kcsrSgNvmPDqx4xDvbAJg mEkzVmVJmmVSFtaJUMEqX/Qac8GnN1sCQxbXiKt7M7BigBEoiAK6tlH91TSH7jnjmpe8yu fhLZbRAJFjwMS0DTjo81sbYPjqCbzDlwGHeM5tof0TSC3ibpYmMFTjub/nZTuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB9f32jJxz131l; Wed, 26 Jul 2023 23:51: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 36QNpNOF060662; Wed, 26 Jul 2023 23:51:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QNpNtZ060661; Wed, 26 Jul 2023 23:51:23 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:51:23 GMT Message-Id: <202307262351.36QNpNtZ060661@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: 4b597e559c24 - stable/13 - * lib/msun/Makefile: . Disconnect b_exp.c and b_log.c from 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: 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4b597e559c240a6a8a89d6279818d0cf0f1d8c6f Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4b597e559c240a6a8a89d6279818d0cf0f1d8c6f commit 4b597e559c240a6a8a89d6279818d0cf0f1d8c6f Author: Mark Murray AuthorDate: 2021-12-14 09:02:45 +0000 Commit: Ed Maste CommitDate: 2023-07-26 23:07:30 +0000 * lib/msun/Makefile: . Disconnect b_exp.c and b_log.c from the build. * lib/msun/bsdsrc/b_exp.c: . Replace scalb() usage with C99's ldexp(). . Replace finite(x) usage with C99's isfinite(). . Whitespace changes towards style(9). . Remove include of "mathimpl.h". It is no longer needed. . Remove #if 0 ... #endif code, which has been present since svn r93211 (2002-03-26). . New minimax polynomial coefficients. . Add comments to explain origins of some constants. . Use ansi-C prototype. Remove K&R prototype. Add static to prototype. * lib/msun/bsdsrc/b_log.c: . Remove include of "mathimpl.h". It is no longer needed. . Fix comments to actually describe the code. . Reduce minimax polynomial from degree 4 to degree 3. This uses newly computed coefficients. . Use ansi-C prototype. Remove K&R prototype. Add static to prototype. . Remove volatile in declaration of u1. . Alphabetize decalaration list. . Whitespace changes towards style(9). . In argument reduction of x to g and m, replace use of logb() and ldexp() with a single call to frexp(). Add code to get 1 <= g < 2. . Remove #if 0 ... #endif code, which has been present since svn r93211 (2002-03-26). . The special case m == -1022, replace logb() with ilogb(). * lib/msun/bsdsrc/b_tgamma.c: . Update comments. Fix comments where needed. . Add float.h to get LDBL_MANT_DIG for weak reference of tgammal to tgamma. . Remove include of "mathimpl.h". It is no longer needed. . Use "math.h" instead of . . Add '#include math_private.h" . Add struct Double from mathimpl.h and include b_log.c and b_exp.c. . Remove forward declarations of neg_gam(), small_gam(), smaller_gam, large_gam() and ratfun_gam() by re-arranging the code to move these function above their first reference. . New minimax coefficients for polynomial in large_gam(). . New splitting of a0 into a0hi nd a0lo, which include additional bits of precision. . Use ansi-C prototype. Remove K&R prototype. . Replace the TRUNC() macro with a simple cast of a double entities to float before assignment (functional changes). . Replace sin(M_PI*z) with sinpi(z) and cos(M_PI*(0.5-z)) with cospi(0.5-z). Submitted by: Steve Kargl Differential Revision: https://reviews.freebsd.org/D33444 Reviewed by: pfg (cherry picked from commit 455b2ccda3df35f31a167f8a35f11ec31fac89bc) --- lib/msun/Makefile | 2 +- lib/msun/bsdsrc/b_exp.c | 143 +++++--------- lib/msun/bsdsrc/b_log.c | 166 +++++------------ lib/msun/bsdsrc/b_tgamma.c | 455 +++++++++++++++++++++++++++------------------ 4 files changed, 370 insertions(+), 396 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 0be2813bb933..24d740d761d5 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -59,7 +59,7 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 5 WARNS?= 1 IGNORE_PRAGMA= -COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \ +COMMON_SRCS= b_tgamma.c \ e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \ e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \ e_expf.c e_fmod.c e_fmodf.c e_gamma.c e_gamma_r.c e_gammaf.c \ diff --git a/lib/msun/bsdsrc/b_exp.c b/lib/msun/bsdsrc/b_exp.c index 89a290529da9..c667293ed7c6 100644 --- a/lib/msun/bsdsrc/b_exp.c +++ b/lib/msun/bsdsrc/b_exp.c @@ -33,7 +33,6 @@ #include __FBSDID("$FreeBSD$"); - /* EXP(X) * RETURN THE EXPONENTIAL OF X * DOUBLE PRECISION (IEEE 53 bits, VAX D FORMAT 56 BITS) @@ -41,14 +40,14 @@ __FBSDID("$FreeBSD$"); * REVISED BY K.C. NG on 2/6/85, 2/15/85, 3/7/85, 3/24/85, 4/16/85, 6/14/86. * * Required system supported functions: - * scalb(x,n) + * ldexp(x,n) * copysign(x,y) - * finite(x) + * isfinite(x) * * Method: * 1. Argument Reduction: given the input x, find r and integer k such * that - * x = k*ln2 + r, |r| <= 0.5*ln2 . + * x = k*ln2 + r, |r| <= 0.5*ln2. * r will be represented as r := z+c for better accuracy. * * 2. Compute exp(r) by @@ -69,105 +68,59 @@ __FBSDID("$FreeBSD$"); * with 1,156,000 random arguments on a VAX, the maximum observed * error was 0.869 ulps (units in the last place). */ - -#include "mathimpl.h" - -static const double p1 = 0x1.555555555553ep-3; -static const double p2 = -0x1.6c16c16bebd93p-9; -static const double p3 = 0x1.1566aaf25de2cp-14; -static const double p4 = -0x1.bbd41c5d26bf1p-20; -static const double p5 = 0x1.6376972bea4d0p-25; -static const double ln2hi = 0x1.62e42fee00000p-1; -static const double ln2lo = 0x1.a39ef35793c76p-33; -static const double lnhuge = 0x1.6602b15b7ecf2p9; -static const double lntiny = -0x1.77af8ebeae354p9; -static const double invln2 = 0x1.71547652b82fep0; - -#if 0 -double exp(x) -double x; -{ - double z,hi,lo,c; - int k; - -#if !defined(vax)&&!defined(tahoe) - if(x!=x) return(x); /* x is NaN */ -#endif /* !defined(vax)&&!defined(tahoe) */ - if( x <= lnhuge ) { - if( x >= lntiny ) { - - /* argument reduction : x --> x - k*ln2 */ - - k=invln2*x+copysign(0.5,x); /* k=NINT(x/ln2) */ - - /* express x-k*ln2 as hi-lo and let x=hi-lo rounded */ - - hi=x-k*ln2hi; - x=hi-(lo=k*ln2lo); - - /* return 2^k*[1+x+x*c/(2+c)] */ - z=x*x; - c= x - z*(p1+z*(p2+z*(p3+z*(p4+z*p5)))); - return scalb(1.0+(hi-(lo-(x*c)/(2.0-c))),k); - - } - /* end of x > lntiny */ - - else - /* exp(-big#) underflows to zero */ - if(finite(x)) return(scalb(1.0,-5000)); - - /* exp(-INF) is zero */ - else return(0.0); - } - /* end of x < lnhuge */ - - else - /* exp(INF) is INF, exp(+big#) overflows to INF */ - return( finite(x) ? scalb(1.0,5000) : x); -} -#endif +static const double + p1 = 1.6666666666666660e-01, /* 0x3fc55555, 0x55555553 */ + p2 = -2.7777777777564776e-03, /* 0xbf66c16c, 0x16c0ac3c */ + p3 = 6.6137564717940088e-05, /* 0x3f11566a, 0xb5c2ba0d */ + p4 = -1.6534060280704225e-06, /* 0xbebbbd53, 0x273e8fb7 */ + p5 = 4.1437773411069054e-08; /* 0x3e663f2a, 0x09c94b6c */ + +static const double + ln2hi = 0x1.62e42fee00000p-1, /* High 32 bits round-down. */ + ln2lo = 0x1.a39ef35793c76p-33; /* Next 53 bits round-to-nearst. */ + +static const double + lnhuge = 0x1.6602b15b7ecf2p9, /* (DBL_MAX_EXP + 9) * log(2.) */ + lntiny = -0x1.77af8ebeae354p9, /* (DBL_MIN_EXP - 53 - 10) * log(2.) */ + invln2 = 0x1.71547652b82fep0; /* 1 / log(2.) */ /* returns exp(r = x + c) for |c| < |x| with no overlap. */ -double __exp__D(x, c) -double x, c; +static double +__exp__D(double x, double c) { - double z,hi,lo; + double hi, lo, z; int k; - if (x != x) /* x is NaN */ + if (x != x) /* x is NaN. */ return(x); - if ( x <= lnhuge ) { - if ( x >= lntiny ) { - /* argument reduction : x --> x - k*ln2 */ - z = invln2*x; - k = z + copysign(.5, x); - - /* express (x+c)-k*ln2 as hi-lo and let x=hi-lo rounded */ - - hi=(x-k*ln2hi); /* Exact. */ - x= hi - (lo = k*ln2lo-c); - /* return 2^k*[1+x+x*c/(2+c)] */ - z=x*x; - c= x - z*(p1+z*(p2+z*(p3+z*(p4+z*p5)))); - c = (x*c)/(2.0-c); - - return scalb(1.+(hi-(lo - c)), k); + if (x <= lnhuge) { + if (x >= lntiny) { + /* argument reduction: x --> x - k*ln2 */ + z = invln2 * x; + k = z + copysign(0.5, x); + + /* + * Express (x + c) - k * ln2 as hi - lo. + * Let x = hi - lo rounded. + */ + hi = x - k * ln2hi; /* Exact. */ + lo = k * ln2lo - c; + x = hi - lo; + + /* Return 2^k*[1+x+x*c/(2+c)] */ + z = x * x; + c = x - z * (p1 + z * (p2 + z * (p3 + z * (p4 + + z * p5)))); + c = (x * c) / (2 - c); + + return (ldexp(1 + (hi - (lo - c)), k)); + } else { + /* exp(-INF) is 0. exp(-big) underflows to 0. */ + return (isfinite(x) ? ldexp(1., -5000) : 0); } - /* end of x > lntiny */ - - else - /* exp(-big#) underflows to zero */ - if(finite(x)) return(scalb(1.0,-5000)); - - /* exp(-INF) is zero */ - else return(0.0); - } - /* end of x < lnhuge */ - - else + } else /* exp(INF) is INF, exp(+big#) overflows to INF */ - return( finite(x) ? scalb(1.0,5000) : x); + return (isfinite(x) ? ldexp(1., 5000) : x); } diff --git a/lib/msun/bsdsrc/b_log.c b/lib/msun/bsdsrc/b_log.c index c164dfa5014c..9d09ac754706 100644 --- a/lib/msun/bsdsrc/b_log.c +++ b/lib/msun/bsdsrc/b_log.c @@ -33,10 +33,6 @@ #include __FBSDID("$FreeBSD$"); -#include - -#include "mathimpl.h" - /* Table-driven natural logarithm. * * This code was derived, with minor modifications, from: @@ -44,25 +40,27 @@ __FBSDID("$FreeBSD$"); * Logarithm in IEEE Floating-Point arithmetic." ACM Trans. * Math Software, vol 16. no 4, pp 378-400, Dec 1990). * - * Calculates log(2^m*F*(1+f/F)), |f/j| <= 1/256, + * Calculates log(2^m*F*(1+f/F)), |f/F| <= 1/256, * where F = j/128 for j an integer in [0, 128]. * * log(2^m) = log2_hi*m + log2_tail*m - * since m is an integer, the dominant term is exact. + * The leading term is exact, because m is an integer, * m has at most 10 digits (for subnormal numbers), * and log2_hi has 11 trailing zero bits. * - * log(F) = logF_hi[j] + logF_lo[j] is in tabular form in log_table.h + * log(F) = logF_hi[j] + logF_lo[j] is in table below. * logF_hi[] + 512 is exact. * * log(1+f/F) = 2*f/(2*F + f) + 1/12 * (2*f/(2*F + f))**3 + ... - * the leading term is calculated to extra precision in two + * + * The leading term is calculated to extra precision in two * parts, the larger of which adds exactly to the dominant * m and F terms. + * * There are two cases: - * 1. when m, j are non-zero (m | j), use absolute + * 1. When m and j are non-zero (m | j), use absolute * precision for the leading term. - * 2. when m = j = 0, |1-x| < 1/256, and log(x) ~= (x-1). + * 2. When m = j = 0, |1-x| < 1/256, and log(x) ~= (x-1). * In this case, use a relative precision of 24 bits. * (This is done differently in the original paper) * @@ -70,11 +68,21 @@ __FBSDID("$FreeBSD$"); * 0 return signalling -Inf * neg return signalling NaN * +Inf return +Inf -*/ + */ #define N 128 -/* Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128. +/* + * Coefficients in the polynomial approximation of log(1+f/F). + * Domain of x is [0,1./256] with 2**(-64.187) precision. + */ +static const double + A1 = 8.3333333333333329e-02, /* 0x3fb55555, 0x55555555 */ + A2 = 1.2499999999943598e-02, /* 0x3f899999, 0x99991a98 */ + A3 = 2.2321527525957776e-03; /* 0x3f624929, 0xe24e70be */ + +/* + * Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128. * Used for generation of extend precision logarithms. * The constant 35184372088832 is 2^45, so the divide is exact. * It ensures correct reading of logF_head, even for inaccurate @@ -82,12 +90,7 @@ __FBSDID("$FreeBSD$"); * right answer for integers less than 2^53.) * Values for log(F) were generated using error < 10^-57 absolute * with the bc -l package. -*/ -static double A1 = .08333333333333178827; -static double A2 = .01250000000377174923; -static double A3 = .002232139987919447809; -static double A4 = .0004348877777076145742; - + */ static double logF_head[N+1] = { 0., .007782140442060381246, @@ -351,118 +354,51 @@ static double logF_tail[N+1] = { .00000000000025144230728376072, -.00000000000017239444525614834 }; - -#if 0 -double -#ifdef _ANSI_SOURCE -log(double x) -#else -log(x) double x; -#endif -{ - int m, j; - double F, f, g, q, u, u2, v, zero = 0.0, one = 1.0; - volatile double u1; - - /* Catch special cases */ - if (x <= 0) - if (x == zero) /* log(0) = -Inf */ - return (-one/zero); - else /* log(neg) = NaN */ - return (zero/zero); - else if (!finite(x)) - return (x+x); /* x = NaN, Inf */ - - /* Argument reduction: 1 <= g < 2; x/2^m = g; */ - /* y = F*(1 + f/F) for |f| <= 2^-8 */ - - m = logb(x); - g = ldexp(x, -m); - if (m == -1022) { - j = logb(g), m += j; - g = ldexp(g, -j); - } - j = N*(g-1) + .5; - F = (1.0/N) * j + 1; /* F*128 is an integer in [128, 512] */ - f = g - F; - - /* Approximate expansion for log(1+f/F) ~= u + q */ - g = 1/(2*F+f); - u = 2*f*g; - v = u*u; - q = u*v*(A1 + v*(A2 + v*(A3 + v*A4))); - - /* case 1: u1 = u rounded to 2^-43 absolute. Since u < 2^-8, - * u1 has at most 35 bits, and F*u1 is exact, as F has < 8 bits. - * It also adds exactly to |m*log2_hi + log_F_head[j] | < 750 - */ - if (m | j) - u1 = u + 513, u1 -= 513; - - /* case 2: |1-x| < 1/256. The m- and j- dependent terms are zero; - * u1 = u to 24 bits. - */ - else - u1 = u, TRUNC(u1); - u2 = (2.0*(f - F*u1) - u1*f) * g; - /* u1 + u2 = 2f/(2F+f) to extra precision. */ - - /* log(x) = log(2^m*F*(1+f/F)) = */ - /* (m*log2_hi+logF_head[j]+u1) + (m*log2_lo+logF_tail[j]+q); */ - /* (exact) + (tiny) */ - - u1 += m*logF_head[N] + logF_head[j]; /* exact */ - u2 = (u2 + logF_tail[j]) + q; /* tiny */ - u2 += logF_tail[N]*m; - return (u1 + u2); -} -#endif - /* * Extra precision variant, returning struct {double a, b;}; - * log(x) = a+b to 63 bits, with a rounded to 26 bits. + * log(x) = a+b to 63 bits, with 'a' rounded to 24 bits. */ -struct Double -#ifdef _ANSI_SOURCE +static struct Double __log__D(double x) -#else -__log__D(x) double x; -#endif { int m, j; - double F, f, g, q, u, v, u2; - volatile double u1; + double F, f, g, q, u, v, u1, u2; struct Double r; - /* Argument reduction: 1 <= g < 2; x/2^m = g; */ - /* y = F*(1 + f/F) for |f| <= 2^-8 */ - - m = logb(x); - g = ldexp(x, -m); + /* + * Argument reduction: 1 <= g < 2; x/2^m = g; + * y = F*(1 + f/F) for |f| <= 2^-8 + */ + g = frexp(x, &m); + g *= 2; + m--; if (m == -1022) { - j = logb(g), m += j; + j = ilogb(g); + m += j; g = ldexp(g, -j); } - j = N*(g-1) + .5; - F = (1.0/N) * j + 1; + j = N * (g - 1) + 0.5; + F = (1. / N) * j + 1; f = g - F; - g = 1/(2*F+f); - u = 2*f*g; - v = u*u; - q = u*v*(A1 + v*(A2 + v*(A3 + v*A4))); - if (m | j) - u1 = u + 513, u1 -= 513; - else - u1 = u, TRUNC(u1); - u2 = (2.0*(f - F*u1) - u1*f) * g; + g = 1 / (2 * F + f); + u = 2 * f * g; + v = u * u; + q = u * v * (A1 + v * (A2 + v * A3)); + if (m | j) { + u1 = u + 513; + u1 -= 513; + } else { + u1 = (float)u; + } + u2 = (2 * (f - F * u1) - u1 * f) * g; - u1 += m*logF_head[N] + logF_head[j]; + u1 += m * logF_head[N] + logF_head[j]; - u2 += logF_tail[j]; u2 += q; - u2 += logF_tail[N]*m; - r.a = u1 + u2; /* Only difference is here */ - TRUNC(r.a); + u2 += logF_tail[j]; + u2 += q; + u2 += logF_tail[N] * m; + r.a = (float)(u1 + u2); /* Only difference is here. */ r.b = (u1 - r.a) + u2; return (r); } diff --git a/lib/msun/bsdsrc/b_tgamma.c b/lib/msun/bsdsrc/b_tgamma.c index 5cb1f93f25ed..493ced3769c7 100644 --- a/lib/msun/bsdsrc/b_tgamma.c +++ b/lib/msun/bsdsrc/b_tgamma.c @@ -29,37 +29,46 @@ * SUCH DAMAGE. */ +/* + * The original code, FreeBSD's old svn r93211, contained the following + * attribution: + * + * This code by P. McIlroy, Oct 1992; + * + * The financial support of UUNET Communications Services is greatfully + * acknowledged. + * + * The algorithm remains, but the code has been re-arranged to facilitate + * porting to other precisions. + */ + /* @(#)gamma.c 8.1 (Berkeley) 6/4/93 */ #include __FBSDID("$FreeBSD$"); -/* - * This code by P. McIlroy, Oct 1992; - * - * The financial support of UUNET Communications Services is greatfully - * acknowledged. - */ +#include -#include -#include "mathimpl.h" +#include "math.h" +#include "math_private.h" -/* METHOD: - * x < 0: Use reflection formula, G(x) = pi/(sin(pi*x)*x*G(x)) - * At negative integers, return NaN and raise invalid. - * - * x < 6.5: - * Use argument reduction G(x+1) = xG(x) to reach the - * range [1.066124,2.066124]. Use a rational - * approximation centered at the minimum (x0+1) to - * ensure monotonicity. - * - * x >= 6.5: Use the asymptotic approximation (Stirling's formula) - * adjusted for equal-ripples: - * - * log(G(x)) ~= (x-.5)*(log(x)-1) + .5(log(2*pi)-1) + 1/x*P(1/(x*x)) +/* Used in b_log.c and below. */ +struct Double { + double a; + double b; +}; + +#include "b_log.c" +#include "b_exp.c" + +/* + * The range is broken into several subranges. Each is handled by its + * helper functions. * - * Keep extra precision in multiplying (x-.5)(log(x)-1), to - * avoid premature round-off. + * x >= 6.0: large_gam(x) + * 6.0 > x >= xleft: small_gam(x) where xleft = 1 + left + x0. + * xleft > x > iota: smaller_gam(x) where iota = 1e-17. + * iota > x > -itoa: Handle x near 0. + * -iota > x : neg_gam * * Special values: * -Inf: return NaN and raise invalid; @@ -77,201 +86,224 @@ __FBSDID("$FreeBSD$"); * Maximum observed error < 4ulp in 1,000,000 trials. */ -static double neg_gam(double); -static double small_gam(double); -static double smaller_gam(double); -static struct Double large_gam(double); -static struct Double ratfun_gam(double, double); - -/* - * Rational approximation, A0 + x*x*P(x)/Q(x), on the interval - * [1.066.., 2.066..] accurate to 4.25e-19. - */ -#define LEFT -.3955078125 /* left boundary for rat. approx */ -#define x0 .461632144968362356785 /* xmin - 1 */ - -#define a0_hi 0.88560319441088874992 -#define a0_lo -.00000000000000004996427036469019695 -#define P0 6.21389571821820863029017800727e-01 -#define P1 2.65757198651533466104979197553e-01 -#define P2 5.53859446429917461063308081748e-03 -#define P3 1.38456698304096573887145282811e-03 -#define P4 2.40659950032711365819348969808e-03 -#define Q0 1.45019531250000000000000000000e+00 -#define Q1 1.06258521948016171343454061571e+00 -#define Q2 -2.07474561943859936441469926649e-01 -#define Q3 -1.46734131782005422506287573015e-01 -#define Q4 3.07878176156175520361557573779e-02 -#define Q5 5.12449347980666221336054633184e-03 -#define Q6 -1.76012741431666995019222898833e-03 -#define Q7 9.35021023573788935372153030556e-05 -#define Q8 6.13275507472443958924745652239e-06 /* * Constants for large x approximation (x in [6, Inf]) * (Accurate to 2.8*10^-19 absolute) */ -#define lns2pi_hi 0.418945312500000 -#define lns2pi_lo -.000006779295327258219670263595 -#define Pa0 8.33333333333333148296162562474e-02 -#define Pa1 -2.77777777774548123579378966497e-03 -#define Pa2 7.93650778754435631476282786423e-04 -#define Pa3 -5.95235082566672847950717262222e-04 -#define Pa4 8.41428560346653702135821806252e-04 -#define Pa5 -1.89773526463879200348872089421e-03 -#define Pa6 5.69394463439411649408050664078e-03 -#define Pa7 -1.44705562421428915453880392761e-02 - -static const double zero = 0., one = 1.0, tiny = 1e-300; -double -tgamma(x) - double x; +static const double zero = 0.; +static const volatile double tiny = 1e-300; +/* + * x >= 6 + * + * Use the asymptotic approximation (Stirling's formula) adjusted fof + * equal-ripples: + * + * log(G(x)) ~= (x-0.5)*(log(x)-1) + 0.5(log(2*pi)-1) + 1/x*P(1/(x*x)) + * + * Keep extra precision in multiplying (x-.5)(log(x)-1), to avoid + * premature round-off. + * + * Accurate to max(ulp(1/128) absolute, 2^-66 relative) error. + */ +static const double + ln2pi_hi = 0.41894531250000000, + ln2pi_lo = -6.7792953272582197e-6, + Pa0 = 8.3333333333333329e-02, /* 0x3fb55555, 0x55555555 */ + Pa1 = -2.7777777777735404e-03, /* 0xbf66c16c, 0x16c145ec */ + Pa2 = 7.9365079044114095e-04, /* 0x3f4a01a0, 0x183de82d */ + Pa3 = -5.9523715464225254e-04, /* 0xbf438136, 0x0e681f62 */ + Pa4 = 8.4161391899445698e-04, /* 0x3f4b93f8, 0x21042a13 */ + Pa5 = -1.9065246069191080e-03, /* 0xbf5f3c8b, 0x357cb64e */ + Pa6 = 5.9047708485785158e-03, /* 0x3f782f99, 0xdaf5d65f */ + Pa7 = -1.6484018705183290e-02; /* 0xbf90e12f, 0xc4fb4df0 */ + +static struct Double +large_gam(double x) { + double p, z, thi, tlo, xhi, xlo; struct Double u; - if (x >= 6) { - if(x > 171.63) - return (x / zero); - u = large_gam(x); - return(__exp__D(u.a, u.b)); - } else if (x >= 1.0 + LEFT + x0) - return (small_gam(x)); - else if (x > 1.e-17) - return (smaller_gam(x)); - else if (x > -1.e-17) { - if (x != 0.0) - u.a = one - tiny; /* raise inexact */ - return (one/x); - } else if (!finite(x)) - return (x - x); /* x is NaN or -Inf */ - else - return (neg_gam(x)); + z = 1 / (x * x); + p = Pa0 + z * (Pa1 + z * (Pa2 + z * (Pa3 + z * (Pa4 + z * (Pa5 + + z * (Pa6 + z * Pa7)))))); + p = p / x; + + u = __log__D(x); + u.a -= 1; + + /* Split (x - 0.5) in high and low parts. */ + x -= 0.5; + xhi = (float)x; + xlo = x - xhi; + + /* Compute t = (x-.5)*(log(x)-1) in extra precision. */ + thi = xhi * u.a; + tlo = xlo * u.a + x * u.b; + + /* Compute thi + tlo + ln2pi_hi + ln2pi_lo + p. */ + tlo += ln2pi_lo; + tlo += p; + u.a = ln2pi_hi + tlo; + u.a += thi; + u.b = thi - u.a; + u.b += ln2pi_hi; + u.b += tlo; + return (u); } /* - * Accurate to max(ulp(1/128) absolute, 2^-66 relative) error. + * Rational approximation, A0 + x * x * P(x) / Q(x), on the interval + * [1.066.., 2.066..] accurate to 4.25e-19. + * + * Returns r.a + r.b = a0 + (z + c)^2 * p / q, with r.a truncated. */ +static const double +#if 0 + a0_hi = 8.8560319441088875e-1, + a0_lo = -4.9964270364690197e-17, +#else + a0_hi = 8.8560319441088875e-01, /* 0x3fec56dc, 0x82a74aef */ + a0_lo = -4.9642368725563397e-17, /* 0xbc8c9deb, 0xaa64afc3 */ +#endif + P0 = 6.2138957182182086e-1, + P1 = 2.6575719865153347e-1, + P2 = 5.5385944642991746e-3, + P3 = 1.3845669830409657e-3, + P4 = 2.4065995003271137e-3, + Q0 = 1.4501953125000000e+0, + Q1 = 1.0625852194801617e+0, + Q2 = -2.0747456194385994e-1, + Q3 = -1.4673413178200542e-1, + Q4 = 3.0787817615617552e-2, + Q5 = 5.1244934798066622e-3, + Q6 = -1.7601274143166700e-3, + Q7 = 9.3502102357378894e-5, + Q8 = 6.1327550747244396e-6; + static struct Double -large_gam(x) - double x; +ratfun_gam(double z, double c) { - double z, p; - struct Double t, u, v; + double p, q, thi, tlo; + struct Double r; - z = one/(x*x); - p = Pa0+z*(Pa1+z*(Pa2+z*(Pa3+z*(Pa4+z*(Pa5+z*(Pa6+z*Pa7)))))); - p = p/x; + q = Q0 + z * (Q1 + z * (Q2 + z * (Q3 + z * (Q4 + z * (Q5 + + z * (Q6 + z * (Q7 + z * Q8))))))); + p = P0 + z * (P1 + z * (P2 + z * (P3 + z * P4))); + p = p / q; - u = __log__D(x); - u.a -= one; - v.a = (x -= .5); - TRUNC(v.a); - v.b = x - v.a; - t.a = v.a*u.a; /* t = (x-.5)*(log(x)-1) */ - t.b = v.b*u.a + x*u.b; - /* return t.a + t.b + lns2pi_hi + lns2pi_lo + p */ - t.b += lns2pi_lo; t.b += p; - u.a = lns2pi_hi + t.b; u.a += t.a; - u.b = t.a - u.a; - u.b += lns2pi_hi; u.b += t.b; - return (u); + /* Split z into high and low parts. */ + thi = (float)z; + tlo = (z - thi) + c; + tlo *= (thi + z); + + /* Split (z+c)^2 into high and low parts. */ + thi *= thi; + q = thi; + thi = (float)thi; + tlo += (q - thi); + + /* Split p/q into high and low parts. */ + r.a = (float)p; + r.b = p - r.a; + + tlo = tlo * p + thi * r.b + a0_lo; + thi *= r.a; /* t = (z+c)^2*(P/Q) */ + r.a = (float)(thi + a0_hi); + r.b = ((a0_hi - r.a) + thi) + tlo; + return (r); /* r = a0 + t */ } /* + * x < 6 + * + * Use argument reduction G(x+1) = xG(x) to reach the range [1.066124, + * 2.066124]. Use a rational approximation centered at the minimum + * (x0+1) to ensure monotonicity. + * * Good to < 1 ulp. (provably .90 ulp; .87 ulp on 1,000,000 runs.) * It also has correct monotonicity. */ +static const double + left = -0.3955078125, /* left boundary for rat. approx */ + x0 = 4.6163214496836236e-1; /* xmin - 1 */ + static double -small_gam(x) - double x; +small_gam(double x) { - double y, ym1, t; + double t, y, ym1; struct Double yy, r; - y = x - one; - ym1 = y - one; - if (y <= 1.0 + (LEFT + x0)) { + + y = x - 1; + if (y <= 1 + (left + x0)) { yy = ratfun_gam(y - x0, 0); return (yy.a + yy.b); } - r.a = y; - TRUNC(r.a); - yy.a = r.a - one; - y = ym1; - yy.b = r.b = y - yy.a; + + r.a = (float)y; + yy.a = r.a - 1; + y = y - 1 ; + r.b = yy.b = y - yy.a; + /* Argument reduction: G(x+1) = x*G(x) */ - for (ym1 = y-one; ym1 > LEFT + x0; y = ym1--, yy.a--) { - t = r.a*yy.a; - r.b = r.a*yy.b + y*r.b; - r.a = t; - TRUNC(r.a); + for (ym1 = y - 1; ym1 > left + x0; y = ym1--, yy.a--) { + t = r.a * yy.a; + r.b = r.a * yy.b + y * r.b; + r.a = (float)t; r.b += (t - r.a); } + /* Return r*tgamma(y). */ yy = ratfun_gam(y - x0, 0); - y = r.b*(yy.a + yy.b) + r.a*yy.b; - y += yy.a*r.a; + y = r.b * (yy.a + yy.b) + r.a * yy.b; + y += yy.a * r.a; return (y); } /* - * Good on (0, 1+x0+LEFT]. Accurate to 1ulp. + * Good on (0, 1+x0+left]. Accurate to 1 ulp. */ static double -smaller_gam(x) - double x; +smaller_gam(double x) { - double t, d; - struct Double r, xx; - if (x < x0 + LEFT) { - t = x, TRUNC(t); - d = (t+x)*(x-t); + double d, rhi, rlo, t, xhi, xlo; + struct Double r; + + if (x < x0 + left) { + t = (float)x; + d = (t + x) * (x - t); t *= t; - xx.a = (t + x), TRUNC(xx.a); - xx.b = x - xx.a; xx.b += t; xx.b += d; - t = (one-x0); t += x; - d = (one-x0); d -= t; d += x; - x = xx.a + xx.b; + xhi = (float)(t + x); + xlo = x - xhi; + xlo += t; + xlo += d; + t = 1 - x0; + t += x; + d = 1 - x0; + d -= t; + d += x; + x = xhi + xlo; } else { - xx.a = x, TRUNC(xx.a); - xx.b = x - xx.a; + xhi = (float)x; + xlo = x - xhi; t = x - x0; - d = (-x0 -t); d += x; + d = - x0 - t; + d += x; } + r = ratfun_gam(t, d); - d = r.a/x, TRUNC(d); - r.a -= d*xx.a; r.a -= d*xx.b; r.a += r.b; - return (d + r.a/x); + d = (float)(r.a / x); + r.a -= d * xhi; + r.a -= d * xlo; + r.a += r.b; + + return (d + r.a / x); } /* - * returns (z+c)^2 * P(z)/Q(z) + a0 + * x < 0 + * + * Use reflection formula, G(x) = pi/(sin(pi*x)*x*G(x)). + * At negative integers, return NaN and raise invalid. */ -static struct Double -ratfun_gam(z, c) - double z, c; -{ - double p, q; - struct Double r, t; - - q = Q0 +z*(Q1+z*(Q2+z*(Q3+z*(Q4+z*(Q5+z*(Q6+z*(Q7+z*Q8))))))); - p = P0 + z*(P1 + z*(P2 + z*(P3 + z*P4))); - - /* return r.a + r.b = a0 + (z+c)^2*p/q, with r.a truncated to 26 bits. */ - p = p/q; - t.a = z, TRUNC(t.a); /* t ~= z + c */ - t.b = (z - t.a) + c; - t.b *= (t.a + z); - q = (t.a *= t.a); /* t = (z+c)^2 */ - TRUNC(t.a); - t.b += (q - t.a); - r.a = p, TRUNC(r.a); /* r = P/Q */ - r.b = p - r.a; - t.b = t.b*p + t.a*r.b + a0_lo; - t.a *= r.a; /* t = (z+c)^2*(P/Q) */ - r.a = t.a + a0_hi, TRUNC(r.a); - r.b = ((a0_hi-r.a) + t.a) + t.b; - return (r); /* r = a0 + t */ -} - static double -neg_gam(x) - double x; +neg_gam(double x) { int sgn = 1; struct Double lg, lsine; @@ -280,23 +312,29 @@ neg_gam(x) y = ceil(x); if (y == x) /* Negative integer. */ return ((x - x) / zero); + z = y - x; if (z > 0.5) - z = one - z; - y = 0.5 * y; + z = 1 - z; + + y = y / 2; if (y == ceil(y)) sgn = -1; - if (z < .25) - z = sin(M_PI*z); + + if (z < 0.25) + z = sinpi(z); else - z = cos(M_PI*(0.5-z)); + z = cospi(0.5 - z); + /* Special case: G(1-x) = Inf; G(x) may be nonzero. */ if (x < -170) { + if (x < -190) - return ((double)sgn*tiny*tiny); - y = one - x; /* exact: 128 < |x| < 255 */ + return (sgn * tiny * tiny); + + y = 1 - x; /* exact: 128 < |x| < 255 */ lg = large_gam(y); - lsine = __log__D(M_PI/z); /* = TRUNC(log(u)) + small */ + lsine = __log__D(M_PI / z); /* = TRUNC(log(u)) + small */ lg.a -= lsine.a; /* exact (opposite signs) */ lg.b -= lsine.b; y = -(lg.a + lg.b); @@ -305,11 +343,58 @@ neg_gam(x) *** 62 LINES SKIPPED *** From nobody Wed Jul 26 23:51:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9f46GKpz4p9QP; Wed, 26 Jul 2023 23: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 4RB9f43yFSz4J15; Wed, 26 Jul 2023 23: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=1690415484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ivG4z0cLh2XwjKYapqnDYYjDnuW3TDSUQhMkFuRLMD8=; b=NYexMWQEFu304VlrVLmW3ffITPNJuKPS6bGnAFYD3uyydI69XGrc4b9c0qhpwGB8FOs4t9 uKHXj/5iuBkqw23OJjYgJ0PD50cPunLZ8XYKGDaceQd6NrFAoNsoxXXmbCf9GcFWzYwI2t JnmI17CgN/lkNaNaG6qv9s8k5z3B5yPxTwYvT3KIiN+0JaYvjy+mh21b2il4TT0HmJ6INu lj8zmWPIIztjMtzLj7EI+EbFR6fHWFxc1T07pfAk7GTroWKPgoxJaFDoNeLAvrq4zzrgM1 WCJ6puO1XswshcK3Mj1zUZYhO9XX9YikEzk/+g09uJaIWp456PMedhPF17ycpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ivG4z0cLh2XwjKYapqnDYYjDnuW3TDSUQhMkFuRLMD8=; b=McKFLNaqDTUqP+HSI0zirbBaV7P0P5JikdemUhY/5K4hVNs7BcpJwOHUExgsUDmvtORiY2 WQZk4BSTw9e6s04Z/5HAnL6P7hyAUBKhQj38+/aJ7g5sd9Kqsa0YRe5WPiA9+GEFT1g2RX UeZs+eGTvtNoJYyU+EbVb2hdnUGKSqAb/cbU7I5IiI1l4FhrViixzq+CFFqDIYjgeDTJzG etKg+DXPnVj0KW9X5OtgkVur5oyNCqdQC7rSWd/0imeNirv1Bzq+FYReE31d6NbY7bXRTe I0+d7P4m/Thi0F8J7IvrOxNuyYdi7+9ZRzCG7ERlagNbWk6438iyJgqz44spdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690415484; a=rsa-sha256; cv=none; b=voO93qrOMjT3zSsrW/aRzUpklmEcBS8QhASLazFbR/58zS42IDY48/h4tzc/4kaDYhhG5y vHSU7UWvkoQubCNVpM2Of1jBMBfSZLi+vkMU82tNvBS+7Q+244dDvDkFpr7Rzz/huILnCK bz2AZSn6OSLsKknZuIYr2DmNfwG61JSbrYAi7OiLDl8CxvkxozZFLfU4UgNnvDOTlH86yw wzp/UsB44p4DZiEw1jJ77dvGirpAlwgIISiId6xASX3/W96tdTNHAuurSc4eK7KVgJC8S9 iV/0f8bhdo9DC+PVmpAw2SxFjJ03ucLgrnxlmMojqBs6kRNccQipE268o4Mqsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB9f433cWz12wg; Wed, 26 Jul 2023 23: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 36QNpO1Z060682; Wed, 26 Jul 2023 23: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 36QNpO9u060681; Wed, 26 Jul 2023 23:51:24 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:51:24 GMT Message-Id: <202307262351.36QNpO9u060681@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: d47b524eadb5 - stable/13 - * lib/msun/Makefile b/lib/msun/Makefile: . Disconnect imprecise.c from the build. This file can be deleted. . Add b_tgammal.c to the build for ld80 and ld128 targets. The ld128 is a 'git mv' of imprecise.c to ld128/b_tgammal.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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d47b524eadb5a87506fe6ae03febbf72fad2ee06 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d47b524eadb5a87506fe6ae03febbf72fad2ee06 commit d47b524eadb5a87506fe6ae03febbf72fad2ee06 Author: Mark Murray AuthorDate: 2021-12-14 09:08:57 +0000 Commit: Ed Maste CommitDate: 2023-07-26 23:07:30 +0000 * lib/msun/Makefile b/lib/msun/Makefile: . Disconnect imprecise.c from the build. This file can be deleted. . Add b_tgammal.c to the build for ld80 and ld128 targets. The ld128 is a 'git mv' of imprecise.c to ld128/b_tgammal.c. * lib/msun/ld80/b_expl.c: . New file. Implement __exp__D for ld80 targets. This is based on bsdsrc/b_exp.c. * lib/msun/ld80/b_logl.c: . New file. Implement __log__D for ld80 targets. This is based on bsdsrc/b_log.c. * lib/msun/ld80/b_tgammal.c b/lib/msun/ld80/b_tgammal.c . New file. Implement tgammal(x) for ld80 targets. Submitted by: Steve Kargl Differential Revision: https://reviews.freebsd.org/D33444 Reviewed by: pfg (cherry picked from commit 03a88e3de9c68182d21df94b1c8c7ced930dbd1f) --- lib/msun/Makefile | 3 +- lib/msun/{src/imprecise.c => ld128/b_tgammal.c} | 0 lib/msun/ld80/b_expl.c | 113 +++++++ lib/msun/ld80/b_logl.c | 375 +++++++++++++++++++++ lib/msun/ld80/b_tgammal.c | 419 ++++++++++++++++++++++++ 5 files changed, 908 insertions(+), 2 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 24d740d761d5..8cb67f3700b9 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -69,7 +69,6 @@ COMMON_SRCS= b_tgamma.c \ e_pow.c e_powf.c e_rem_pio2.c \ e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c e_scalbf.c \ e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c fenv.c \ - imprecise.c \ k_cos.c k_cosf.c k_exp.c k_expf.c k_rem_pio2.c k_sin.c k_sinf.c \ k_tan.c k_tanf.c \ s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c s_cargl.c \ @@ -116,7 +115,7 @@ SYMBOL_MAPS= ${SYM_MAPS} COMMON_SRCS+= s_copysignl.c s_fabsl.c s_llrintl.c s_lrintl.c s_modfl.c .if ${LDBL_PREC} != 53 # If long double != double use these; otherwise, we alias the double versions. -COMMON_SRCS+= catrigl.c \ +COMMON_SRCS+= b_tgammal.c catrigl.c \ e_acoshl.c e_acosl.c e_asinl.c e_atan2l.c e_atanhl.c \ e_coshl.c e_fmodl.c e_hypotl.c \ e_lgammal.c e_lgammal_r.c e_powl.c \ diff --git a/lib/msun/src/imprecise.c b/lib/msun/ld128/b_tgammal.c similarity index 100% rename from lib/msun/src/imprecise.c rename to lib/msun/ld128/b_tgammal.c diff --git a/lib/msun/ld80/b_expl.c b/lib/msun/ld80/b_expl.c new file mode 100644 index 000000000000..21bacf4497a3 --- /dev/null +++ b/lib/msun/ld80/b_expl.c @@ -0,0 +1,113 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1985, 1993 + * The Regents of the University of California. 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. + * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + */ + +/* + * See bsdsrc/b_exp.c for implementation details. + * + * bsdrc/b_exp.c converted to long double by Steven G. Kargl. + */ + +#include "fpmath.h" +#include "math_private.h" + +static const union IEEEl2bits + p0u = LD80C(0xaaaaaaaaaaaaaaab, -3, 1.66666666666666666671e-01L), + p1u = LD80C(0xb60b60b60b60b59a, -9, -2.77777777777777775377e-03L), + p2u = LD80C(0x8ab355e008a3cfce, -14, 6.61375661375629297465e-05L), + p3u = LD80C(0xddebbc994b0c1376, -20, -1.65343915327882529784e-06L), + p4u = LD80C(0xb354784cb4ef4c41, -25, 4.17535101591534118469e-08L), + p5u = LD80C(0x913e8a718382ce75, -30, -1.05679137034774806475e-09L), + p6u = LD80C(0xe8f0042aa134502e, -36, 2.64819349895429516863e-11L); +#define p1 (p0u.e) +#define p2 (p1u.e) +#define p3 (p2u.e) +#define p4 (p3u.e) +#define p5 (p4u.e) +#define p6 (p5u.e) +#define p7 (p6u.e) + +/* + * lnhuge = (LDBL_MAX_EXP + 9) * log(2.) + * lntiny = (LDBL_MIN_EXP - 64 - 10) * log(2.) + * invln2 = 1 / log(2.) + */ +static const union IEEEl2bits +ln2hiu = LD80C(0xb17217f700000000, -1, 6.93147180369123816490e-01L), +ln2lou = LD80C(0xd1cf79abc9e3b398, -33, 1.90821492927058781614e-10L), +lnhugeu = LD80C(0xb18b0c0330a8fad9, 13, 1.13627617309191834574e+04L), +lntinyu = LD80C(0xb236f28a68bc3bd7, 13, -1.14057368561139000667e+04L), +invln2u = LD80C(0xb8aa3b295c17f0bc, 0, 1.44269504088896340739e+00L); +#define ln2hi (ln2hiu.e) +#define ln2lo (ln2lou.e) +#define lnhuge (lnhugeu.e) +#define lntiny (lntinyu.e) +#define invln2 (invln2u.e) + +/* returns exp(r = x + c) for |c| < |x| with no overlap. */ + +static long double +__exp__D(long double x, long double c) +{ + long double hi, lo, z; + int k; + + if (x != x) /* x is NaN. */ + return(x); + + if (x <= lnhuge) { + if (x >= lntiny) { + /* argument reduction: x --> x - k*ln2 */ + z = invln2 * x; + k = z + copysignl(0.5L, x); + + /* + * Express (x + c) - k * ln2 as hi - lo. + * Let x = hi - lo rounded. + */ + hi = x - k * ln2hi; /* Exact. */ + lo = k * ln2lo - c; + x = hi - lo; + + /* Return 2^k*[1+x+x*c/(2+c)] */ + z = x * x; + c = x - z * (p1 + z * (p2 + z * (p3 + z * (p4 + + z * (p5 + z * (p6 + z * p7)))))); + c = (x * c) / (2 - c); + + return (ldexpl(1 + (hi - (lo - c)), k)); + } else { + /* exp(-INF) is 0. exp(-big) underflows to 0. */ + return (isfinite(x) ? ldexpl(1., -5000) : 0); + } + } else + /* exp(INF) is INF, exp(+big#) overflows to INF */ + return (isfinite(x) ? ldexpl(1., 5000) : x); +} diff --git a/lib/msun/ld80/b_logl.c b/lib/msun/ld80/b_logl.c new file mode 100644 index 000000000000..b11eacbe17a1 --- /dev/null +++ b/lib/msun/ld80/b_logl.c @@ -0,0 +1,375 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1992, 1993 + * The Regents of the University of California. 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. + * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + */ + +/* + * See bsdsrc/b_log.c for implementation details. + * + * bsdrc/b_log.c converted to long double by Steven G. Kargl. + */ + +#define N 128 + +/* + * Coefficients in the polynomial approximation of log(1+f/F). + * Domain of x is [0,1./256] with 2**(-84.48) precision. + */ +static const union IEEEl2bits + a1u = LD80C(0xaaaaaaaaaaaaaaab, -4, 8.33333333333333333356e-02L), + a2u = LD80C(0xcccccccccccccd29, -7, 1.25000000000000000781e-02L), + a3u = LD80C(0x9249249241ed3764, -9, 2.23214285711721994134e-03L), + a4u = LD80C(0xe38e959e1e7e01cf, -12, 4.34030476540000360640e-04L); +#define A1 (a1u.e) +#define A2 (a2u.e) +#define A3 (a3u.e) +#define A4 (a4u.e) + +/* + * Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128. + * Used for generation of extend precision logarithms. + * The constant 35184372088832 is 2^45, so the divide is exact. + * It ensures correct reading of logF_head, even for inaccurate + * decimal-to-binary conversion routines. (Everybody gets the + * right answer for integers less than 2^53.) + * Values for log(F) were generated using error < 10^-57 absolute + * with the bc -l package. + */ + +static double logF_head[N+1] = { + 0., + .007782140442060381246, + .015504186535963526694, + .023167059281547608406, + .030771658666765233647, + .038318864302141264488, + .045809536031242714670, + .053244514518837604555, + .060624621816486978786, + .067950661908525944454, + .075223421237524235039, + .082443669210988446138, + .089612158689760690322, + .096729626458454731618, + .103796793681567578460, + .110814366340264314203, + .117783035656430001836, + .124703478501032805070, + .131576357788617315236, + .138402322859292326029, + .145182009844575077295, + .151916042025732167530, + .158605030176659056451, + .165249572895390883786, + .171850256926518341060, + .178407657472689606947, + .184922338493834104156, + .191394852999565046047, + .197825743329758552135, + .204215541428766300668, + .210564769107350002741, + .216873938300523150246, + .223143551314024080056, + .229374101064877322642, + .235566071312860003672, + .241719936886966024758, + .247836163904594286577, + .253915209980732470285, + .259957524436686071567, + .265963548496984003577, + .271933715484010463114, + .277868451003087102435, + .283768173130738432519, + .289633292582948342896, + .295464212893421063199, + .301261330578199704177, + .307025035294827830512, + .312755710004239517729, + .318453731118097493890, + .324119468654316733591, + .329753286372579168528, + .335355541920762334484, + .340926586970454081892, + .346466767346100823488, + .351976423156884266063, + .357455888922231679316, + .362905493689140712376, + .368325561158599157352, + .373716409793814818840, + .379078352934811846353, + .384411698910298582632, + .389716751140440464951, + .394993808240542421117, + .400243164127459749579, + .405465108107819105498, + .410659924985338875558, + .415827895143593195825, + .420969294644237379543, + .426084395310681429691, + .431173464818130014464, + .436236766774527495726, + .441274560805140936281, + .446287102628048160113, + .451274644139630254358, + .456237433481874177232, + .461175715122408291790, + .466089729924533457960, + .470979715219073113985, + .475845904869856894947, + .480688529345570714212, + .485507815781602403149, + .490303988045525329653, + .495077266798034543171, + .499827869556611403822, + .504556010751912253908, + .509261901790523552335, + .513945751101346104405, + .518607764208354637958, + .523248143765158602036, + .527867089620485785417, + .532464798869114019908, + .537041465897345915436, + .541597282432121573947, + .546132437597407260909, + .550647117952394182793, + .555141507540611200965, + .559615787935399566777, + .564070138285387656651, + .568504735352689749561, + .572919753562018740922, + .577315365035246941260, + .581691739635061821900, + .586049045003164792433, + .590387446602107957005, + .594707107746216934174, + .599008189645246602594, + .603290851438941899687, + .607555250224322662688, + .611801541106615331955, + .616029877215623855590, + .620240409751204424537, + .624433288012369303032, + .628608659422752680256, + .632766669570628437213, + .636907462236194987781, + .641031179420679109171, + .645137961373620782978, + .649227946625615004450, + .653301272011958644725, + .657358072709030238911, + .661398482245203922502, + .665422632544505177065, + .669430653942981734871, + .673422675212350441142, + .677398823590920073911, + .681359224807238206267, + .685304003098281100392, + .689233281238557538017, + .693147180560117703862 +}; + +static double logF_tail[N+1] = { + 0., + -.00000000000000543229938420049, + .00000000000000172745674997061, + -.00000000000001323017818229233, + -.00000000000001154527628289872, + -.00000000000000466529469958300, + .00000000000005148849572685810, + -.00000000000002532168943117445, + -.00000000000005213620639136504, + -.00000000000001819506003016881, + .00000000000006329065958724544, + .00000000000008614512936087814, + -.00000000000007355770219435028, + .00000000000009638067658552277, + .00000000000007598636597194141, + .00000000000002579999128306990, + -.00000000000004654729747598444, + -.00000000000007556920687451336, + .00000000000010195735223708472, + -.00000000000017319034406422306, + -.00000000000007718001336828098, + .00000000000010980754099855238, + -.00000000000002047235780046195, + -.00000000000008372091099235912, + .00000000000014088127937111135, + .00000000000012869017157588257, + .00000000000017788850778198106, + .00000000000006440856150696891, + .00000000000016132822667240822, + -.00000000000007540916511956188, + -.00000000000000036507188831790, + .00000000000009120937249914984, + .00000000000018567570959796010, + -.00000000000003149265065191483, + -.00000000000009309459495196889, + .00000000000017914338601329117, + -.00000000000001302979717330866, + .00000000000023097385217586939, + .00000000000023999540484211737, + .00000000000015393776174455408, + -.00000000000036870428315837678, + .00000000000036920375082080089, + -.00000000000009383417223663699, + .00000000000009433398189512690, + .00000000000041481318704258568, + -.00000000000003792316480209314, + .00000000000008403156304792424, + -.00000000000034262934348285429, + .00000000000043712191957429145, + -.00000000000010475750058776541, + -.00000000000011118671389559323, + .00000000000037549577257259853, + .00000000000013912841212197565, + .00000000000010775743037572640, + .00000000000029391859187648000, + -.00000000000042790509060060774, + .00000000000022774076114039555, + .00000000000010849569622967912, + -.00000000000023073801945705758, + .00000000000015761203773969435, + .00000000000003345710269544082, + -.00000000000041525158063436123, + .00000000000032655698896907146, + -.00000000000044704265010452446, + .00000000000034527647952039772, + -.00000000000007048962392109746, + .00000000000011776978751369214, + -.00000000000010774341461609578, + .00000000000021863343293215910, + .00000000000024132639491333131, + .00000000000039057462209830700, + -.00000000000026570679203560751, + .00000000000037135141919592021, + -.00000000000017166921336082431, + -.00000000000028658285157914353, + -.00000000000023812542263446809, + .00000000000006576659768580062, + -.00000000000028210143846181267, + .00000000000010701931762114254, + .00000000000018119346366441110, + .00000000000009840465278232627, + -.00000000000033149150282752542, + -.00000000000018302857356041668, + -.00000000000016207400156744949, + .00000000000048303314949553201, + -.00000000000071560553172382115, + .00000000000088821239518571855, + -.00000000000030900580513238244, + -.00000000000061076551972851496, + .00000000000035659969663347830, + .00000000000035782396591276383, + -.00000000000046226087001544578, + .00000000000062279762917225156, + .00000000000072838947272065741, + .00000000000026809646615211673, + -.00000000000010960825046059278, + .00000000000002311949383800537, + -.00000000000058469058005299247, + -.00000000000002103748251144494, + -.00000000000023323182945587408, + -.00000000000042333694288141916, + -.00000000000043933937969737844, + .00000000000041341647073835565, + .00000000000006841763641591466, + .00000000000047585534004430641, + .00000000000083679678674757695, + -.00000000000085763734646658640, + .00000000000021913281229340092, + -.00000000000062242842536431148, + -.00000000000010983594325438430, + .00000000000065310431377633651, + -.00000000000047580199021710769, + -.00000000000037854251265457040, + .00000000000040939233218678664, + .00000000000087424383914858291, + .00000000000025218188456842882, + -.00000000000003608131360422557, + -.00000000000050518555924280902, + .00000000000078699403323355317, + -.00000000000067020876961949060, + .00000000000016108575753932458, + .00000000000058527188436251509, + -.00000000000035246757297904791, + -.00000000000018372084495629058, + .00000000000088606689813494916, + .00000000000066486268071468700, + .00000000000063831615170646519, + .00000000000025144230728376072, + -.00000000000017239444525614834 +}; +/* + * Extra precision variant, returning struct {double a, b;}; + * log(x) = a + b to 63 bits, with 'a' rounded to 24 bits. + */ +static struct Double +__log__D(long double x) +{ + int m, j; + long double F, f, g, q, u, v, u1, u2; + struct Double r; + + /* + * Argument reduction: 1 <= g < 2; x/2^m = g; + * y = F*(1 + f/F) for |f| <= 2^-8 + */ + g = frexpl(x, &m); + g *= 2; + m--; + if (m == DBL_MIN_EXP - 1) { + j = ilogbl(g); + m += j; + g = ldexpl(g, -j); + } + j = N * (g - 1) + 0.5L; + F = (1.L / N) * j + 1; + f = g - F; + + g = 1 / (2 * F + f); + u = 2 * f * g; + v = u * u; + q = u * v * (A1 + v * (A2 + v * (A3 + v * A4))); + if (m | j) { + u1 = u + 513; + u1 -= 513; + } else { + u1 = (float)u; + } + u2 = (2 * (f - F * u1) - u1 * f) * g; + + u1 += m * (long double)logF_head[N] + logF_head[j]; + + u2 += logF_tail[j]; + u2 += q; + u2 += logF_tail[N] * m; + r.a = (float)(u1 + u2); /* Only difference is here. */ + r.b = (u1 - r.a) + u2; + return (r); +} diff --git a/lib/msun/ld80/b_tgammal.c b/lib/msun/ld80/b_tgammal.c new file mode 100644 index 000000000000..121248adb1b2 --- /dev/null +++ b/lib/msun/ld80/b_tgammal.c @@ -0,0 +1,419 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1992, 1993 + * The Regents of the University of California. 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. + * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + */ + +/* + * The original code, FreeBSD's old svn r93211, contain the following + * attribution: + * + * This code by P. McIlroy, Oct 1992; + * + * The financial support of UUNET Communications Services is greatfully + * acknowledged. + * + * bsdrc/b_tgamma.c converted to long double by Steven G. Kargl. + */ + +/* + * See bsdsrc/t_tgamma.c for implementation details. + */ + +#include + +#if LDBL_MAX_EXP != 0x4000 +#error "Unsupported long double format" +#endif + +#ifdef __i386__ +#include +#endif + +#include "fpmath.h" +#include "math.h" +#include "math_private.h" + +/* Used in b_log.c and below. */ +struct Double { + long double a; + long double b; +}; + +#include "b_logl.c" +#include "b_expl.c" + +static const double zero = 0.; +static const volatile double tiny = 1e-300; +/* + * x >= 6 + * + * Use the asymptotic approximation (Stirling's formula) adjusted for + * equal-ripples: + * + * log(G(x)) ~= (x-0.5)*(log(x)-1) + 0.5(log(2*pi)-1) + 1/x*P(1/(x*x)) + * + * Keep extra precision in multiplying (x-.5)(log(x)-1), to avoid + * premature round-off. + * + * Accurate to max(ulp(1/128) absolute, 2^-66 relative) error. + */ + +/* + * The following is a decomposition of 0.5 * (log(2*pi) - 1) into the + * first 12 bits in ln2pi_hi and the trailing 64 bits in ln2pi_lo. The + * variables are clearly misnamed. + */ +static const union IEEEl2bits +ln2pi_hiu = LD80C(0xd680000000000000, -2, 4.18945312500000000000e-01L), +ln2pi_lou = LD80C(0xe379b414b596d687, -18, -6.77929532725821967032e-06L); +#define ln2pi_hi (ln2pi_hiu.e) +#define ln2pi_lo (ln2pi_lou.e) + +static const union IEEEl2bits + Pa0u = LD80C(0xaaaaaaaaaaaaaaaa, -4, 8.33333333333333333288e-02L), + Pa1u = LD80C(0xb60b60b60b5fcd59, -9, -2.77777777777776516326e-03L), + Pa2u = LD80C(0xd00d00cffbb47014, -11, 7.93650793635429639018e-04L), + Pa3u = LD80C(0x9c09c07c0805343e, -11, -5.95238087960599252215e-04L), + Pa4u = LD80C(0xdca8d31f8e6e5e8f, -11, 8.41749082509607342883e-04L), + Pa5u = LD80C(0xfb4d4289632f1638, -10, -1.91728055205541624556e-03L), + Pa6u = LD80C(0xd15a4ba04078d3f8, -8, 6.38893788027752396194e-03L), + Pa7u = LD80C(0xe877283110bcad95, -6, -2.83771309846297590312e-02L), + Pa8u = LD80C(0x8da97eed13717af8, -3, 1.38341887683837576925e-01L), + Pa9u = LD80C(0xf093b1c1584e30ce, -2, -4.69876818515470146031e-01L); +#define Pa0 (Pa0u.e) +#define Pa1 (Pa1u.e) +#define Pa2 (Pa2u.e) +#define Pa3 (Pa3u.e) +#define Pa4 (Pa4u.e) +#define Pa5 (Pa5u.e) +#define Pa6 (Pa6u.e) +#define Pa7 (Pa7u.e) +#define Pa8 (Pa8u.e) +#define Pa9 (Pa9u.e) + +static struct Double +large_gam(long double x) +{ + long double p, z, thi, tlo, xhi, xlo; + long double logx; + struct Double u; + + z = 1 / (x * x); + p = Pa0 + z * (Pa1 + z * (Pa2 + z * (Pa3 + z * (Pa4 + z * (Pa5 + + z * (Pa6 + z * (Pa7 + z * (Pa8 + z * Pa9)))))))); + p = p / x; + + u = __log__D(x); + u.a -= 1; + + /* Split (x - 0.5) in high and low parts. */ + x -= 0.5L; + xhi = (float)x; + xlo = x - xhi; + + /* Compute t = (x-.5)*(log(x)-1) in extra precision. */ + thi = xhi * u.a; + tlo = xlo * u.a + x * u.b; + + /* Compute thi + tlo + ln2pi_hi + ln2pi_lo + p. */ + tlo += ln2pi_lo; + tlo += p; + u.a = ln2pi_hi + tlo; + u.a += thi; + u.b = thi - u.a; + u.b += ln2pi_hi; + u.b += tlo; + return (u); +} +/* + * Rational approximation, A0 + x * x * P(x) / Q(x), on the interval + * [1.066.., 2.066..] accurate to 4.25e-19. + * + * Returns r.a + r.b = a0 + (z + c)^2 * p / q, with r.a truncated. + */ +static const union IEEEl2bits + a0_hiu = LD80C(0xe2b6e4153a57746c, -1, 8.85603194410888700265e-01L), + a0_lou = LD80C(0x851566d40f32c76d, -66, 1.40907742727049706207e-20L); +#define a0_hi (a0_hiu.e) +#define a0_lo (a0_lou.e) + +static const union IEEEl2bits +P0u = LD80C(0xdb629fb9bbdc1c1d, -2, 4.28486815855585429733e-01L), +P1u = LD80C(0xe6f4f9f5641aa6be, -3, 2.25543885805587730552e-01L), +P2u = LD80C(0xead1bd99fdaf7cc1, -6, 2.86644652514293482381e-02L), +P3u = LD80C(0x9ccc8b25838ab1e0, -8, 4.78512567772456362048e-03L), +P4u = LD80C(0x8f0c4383ef9ce72a, -9, 2.18273781132301146458e-03L), +P5u = LD80C(0xe732ab2c0a2778da, -13, 2.20487522485636008928e-04L), +P6u = LD80C(0xce70b27ca822b297, -16, 2.46095923774929264284e-05L), +P7u = LD80C(0xa309e2e16fb63663, -19, 2.42946473022376182921e-06L), +P8u = LD80C(0xaf9c110efb2c633d, -23, 1.63549217667765869987e-07L), +Q1u = LD80C(0xd4d7422719f48f15, -1, 8.31409582658993993626e-01L), +Q2u = LD80C(0xe13138ea404f1268, -5, -5.49785826915643198508e-02L), +Q3u = LD80C(0xd1c6cc91989352c0, -4, -1.02429960435139887683e-01L), +Q4u = LD80C(0xa7e9435a84445579, -7, 1.02484853505908820524e-02L), +Q5u = LD80C(0x83c7c34db89b7bda, -8, 4.02161632832052872697e-03L), +Q6u = LD80C(0xbed06bf6e1c14e5b, -11, -7.27898206351223022157e-04L), +Q7u = LD80C(0xef05bf841d4504c0, -18, 7.12342421869453515194e-06L), +Q8u = LD80C(0xf348d08a1ff53cb1, -19, 3.62522053809474067060e-06L); +#define P0 (P0u.e) +#define P1 (P1u.e) +#define P2 (P2u.e) +#define P3 (P3u.e) +#define P4 (P4u.e) +#define P5 (P5u.e) +#define P6 (P6u.e) +#define P7 (P7u.e) +#define P8 (P8u.e) +#define Q1 (Q1u.e) +#define Q2 (Q2u.e) +#define Q3 (Q3u.e) +#define Q4 (Q4u.e) +#define Q5 (Q5u.e) +#define Q6 (Q6u.e) +#define Q7 (Q7u.e) +#define Q8 (Q8u.e) + +static struct Double +ratfun_gam(long double z, long double c) +{ + long double p, q, thi, tlo; + struct Double r; + + q = 1 + z * (Q1 + z * (Q2 + z * (Q3 + z * (Q4 + z * (Q5 + + z * (Q6 + z * (Q7 + z * Q8))))))); + p = P0 + z * (P1 + z * (P2 + z * (P3 + z * (P4 + z * (P5 + + z * (P6 + z * (P7 + z * P8))))))); + p = p / q; + + /* Split z into high and low parts. */ + thi = (float)z; + tlo = (z - thi) + c; + tlo *= (thi + z); + + /* Split (z+c)^2 into high and low parts. */ + thi *= thi; + q = thi; + thi = (float)thi; + tlo += (q - thi); + + /* Split p/q into high and low parts. */ + r.a = (float)p; + r.b = p - r.a; + + tlo = tlo * p + thi * r.b + a0_lo; + thi *= r.a; /* t = (z+c)^2*(P/Q) */ + r.a = (float)(thi + a0_hi); + r.b = ((a0_hi - r.a) + thi) + tlo; + return (r); /* r = a0 + t */ +} +/* + * x < 6 + * + * Use argument reduction G(x+1) = xG(x) to reach the range [1.066124, + * 2.066124]. Use a rational approximation centered at the minimum + * (x0+1) to ensure monotonicity. + * + * Good to < 1 ulp. (provably .90 ulp; .87 ulp on 1,000,000 runs.) + * It also has correct monotonicity. + */ +static const union IEEEl2bits + xm1u = LD80C(0xec5b0c6ad7c7edc3, -2, 4.61632144968362341254e-01L); +#define x0 (xm1u.e) + +static const double + left = -0.3955078125; /* left boundary for rat. approx */ + +static long double +small_gam(long double x) +{ + long double t, y, ym1; + struct Double yy, r; + + y = x - 1; + + if (y <= 1 + (left + x0)) { + yy = ratfun_gam(y - x0, 0); + return (yy.a + yy.b); + } + + r.a = (float)y; + yy.a = r.a - 1; + y = y - 1 ; + r.b = yy.b = y - yy.a; + + /* Argument reduction: G(x+1) = x*G(x) */ + for (ym1 = y - 1; ym1 > left + x0; y = ym1--, yy.a--) { + t = r.a * yy.a; + r.b = r.a * yy.b + y * r.b; + r.a = (float)t; + r.b += (t - r.a); + } + + /* Return r*tgamma(y). */ + yy = ratfun_gam(y - x0, 0); + y = r.b * (yy.a + yy.b) + r.a * yy.b; + y += yy.a * r.a; + return (y); +} +/* + * Good on (0, 1+x0+left]. Accurate to 1 ulp. + */ +static long double +smaller_gam(long double x) +{ + long double d, rhi, rlo, t, xhi, xlo; + struct Double r; + + if (x < x0 + left) { + t = (float)x; + d = (t + x) * (x - t); + t *= t; + xhi = (float)(t + x); + xlo = x - xhi; + xlo += t; + xlo += d; + t = 1 - x0; + t += x; + d = 1 - x0; + d -= t; + d += x; + x = xhi + xlo; + } else { + xhi = (float)x; + xlo = x - xhi; + t = x - x0; + d = - x0 - t; + d += x; + } + + r = ratfun_gam(t, d); + d = (float)(r.a / x); + r.a -= d * xhi; + r.a -= d * xlo; + r.a += r.b; + + return (d + r.a / x); +} +/* + * x < 0 + * + * Use reflection formula, G(x) = pi/(sin(pi*x)*x*G(x)). + * At negative integers, return NaN and raise invalid. + */ +static const union IEEEl2bits +piu = LD80C(0xc90fdaa22168c235, 1, 3.14159265358979323851e+00L); +#define pi (piu.e) + +static long double +neg_gam(long double x) +{ + int sgn = 1; + struct Double lg, lsine; + long double y, z; + + y = ceill(x); + if (y == x) /* Negative integer. */ + return ((x - x) / zero); + + z = y - x; + if (z > 0.5) + z = 1 - z; + + y = y / 2; + if (y == ceill(y)) + sgn = -1; + + if (z < 0.25) + z = sinpil(z); + else + z = cospil(0.5 - z); + + /* Special case: G(1-x) = Inf; G(x) may be nonzero. */ + if (x < -1753) { + + if (x < -1760) + return (sgn * tiny * tiny); + y = expl(lgammal(x) / 2); + y *= y; + return (sgn < 0 ? -y : y); + } + + + y = 1 - x; + if (1 - y == x) + y = tgammal(y); + else /* 1-x is inexact */ + y = - x * tgammal(-x); + + if (sgn < 0) y = -y; + return (pi / (y * z)); +} +/* + * xmax comes from lgamma(xmax) - emax * log(2) = 0. + * static const float xmax = 35.040095f + * static const double xmax = 171.624376956302725; + * ld80: LD80C(0xdb718c066b352e20, 10, 1.75554834290446291689e+03L), + * ld128: 1.75554834290446291700388921607020320e+03L, + * + * iota is a sloppy threshold to isolate x = 0. + */ +static const double xmax = 1755.54834290446291689; +static const double iota = 0x1p-116; + +long double +tgammal(long double x) +{ + struct Double u; + + ENTERI(); + + if (x >= 6) { + if (x > xmax) + RETURNI(x / zero); + u = large_gam(x); + RETURNI(__exp__D(u.a, u.b)); + } + + if (x >= 1 + left + x0) + RETURNI(small_gam(x)); + + if (x > iota) + RETURNI(smaller_gam(x)); + + if (x > -iota) { + if (x != 0) + u.a = 1 - tiny; /* raise inexact */ + RETURNI(1 / x); + } + + if (!isfinite(x)) + RETURNI(x - x); /* x is NaN or -Inf */ + *** 2 LINES SKIPPED *** From nobody Wed Jul 26 23:52:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RB9gh0gYMz4pBfN; Wed, 26 Jul 2023 23:52: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 4RB9gg6vL6z4KD9; Wed, 26 Jul 2023 23:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H82VRED1YqrRBLX06BSEGOKmwopQ7FPyEGDkH1kgKhE=; b=snqRB6s9PvLTlFj3jvqOuUH6A+u7O/guj7lerLrGq9pd8kTHEMm19+4a70AO3e1mO2Fkwn qbe0W4Zvbc5hDW9tvaSHyBGo2u9u9Qu07CACr3NSeApI8hNBH4kjImYo2pNdQGL6hHkoDW 9u+R9y4DGt4q13XHpjHpoIcwIYzGin4b2ZEDdP4BPXYC/m/v6zy5FUAwb01yQoWyCGUA9C OF/dVCmy3XGOO3hUmRh2fGEVb43tf25SH3hTsXcTXZfHFekjcofLzdRmaZctjclvp/PLhQ d3URN/HcCnzRHXmDfNELGmtSSCLfQvQEnztfEPSJIK2lZ3eLlXtq74Hdxy3vMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690415568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H82VRED1YqrRBLX06BSEGOKmwopQ7FPyEGDkH1kgKhE=; b=NWB6RjEozM/TvYQX0Ppr5RkBKkDG5pLZTgWcfsAJ2bKXJpPyhcbwv5Uno+TRZNfy4wxnna rjjL6Y151wu8bwl8QqOuFyHn7UY+VmQwvWwya00QPD6AG/0K+CLCdLr35tNOR52yqhJwIb 9UzEszYAKrLn9HQTCZQffFHnlLkwhca01J7brDSqLY9tQlw4E7wdlrUvr35fIEAP8kfw7/ Ab3zuoOtn7lUtKLwAQ237SSX1SWFIl2QrmfgZWb46MP4+/xOITBd9ivTYpkW9aCM+1+qBO gqZftycX2eHkBoGjGycTPQCSOsBc8jNfglQMvPocaLfZY5dw5+qXp8w3SsRe7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690415568; a=rsa-sha256; cv=none; b=p3DJheYAYi2dC+q0gEwRLcanrifU8lsyL+5F3oTvRw3XT26po554gOxBn77bQMkkDrIPvc JbCIutMW46WyBX5uCT7+QfuzQYbKkv3XeBcSvrtjESRQDz90OO75UyAtidpK2H7kQBSkSW mY7++D9E3RyIU8d1ybSZgqhUz+TlfowtOyELfzxwnqDBeFgVwsZ5nDbfl4hMjJa8w7NCMP IDVsUOWsb+wTAwlXvyMvJPu5u5IBlbFKGmaxOdu88FA+Zip9YxUmaevBIHAsIlZOC7GF8x 9nDjA5VhoBIlHT0N3RGq85DAQQej40T0B3GGx0NxedLa5aIY5X027LQiHiF60g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RB9gg5ynrz1376; Wed, 26 Jul 2023 23:52: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 36QNqlDJ064371; Wed, 26 Jul 2023 23:52:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36QNqlp0064370; Wed, 26 Jul 2023 23:52:47 GMT (envelope-from git) Date: Wed, 26 Jul 2023 23:52:47 GMT Message-Id: <202307262352.36QNqlp0064370@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: 8885768c5ffe - stable/13 - msun: Add copyright notices List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8885768c5ffe637386a4b579b23981e34aa03ec8 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8885768c5ffe637386a4b579b23981e34aa03ec8 commit 8885768c5ffe637386a4b579b23981e34aa03ec8 Author: Warner Losh AuthorDate: 2021-10-23 04:00:54 +0000 Commit: Ed Maste CommitDate: 2023-07-26 23:52:17 +0000 msun: Add copyright notices These files were copied from MUSL. Add the standard copyright notice and SPDX-License-Identifier: MIT consistent with our new draft license policy. It reads word for word the same as the MIT license on the SPDX web site. Add a pointer to the MUSL COPYIRGHT file which contains a list of all authors of MUSL. Sponsored by: Netflix Noticed by: Steve Kargl (cherry picked from commit 3550a49f6814af38c21b0033ef8746953451dade) --- lib/msun/src/s_scalbn.c | 8 ++++++++ lib/msun/src/s_scalbnf.c | 8 ++++++++ lib/msun/src/s_scalbnl.c | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/lib/msun/src/s_scalbn.c b/lib/msun/src/s_scalbn.c index 3de663f8b670..2d4f7a3c6164 100644 --- a/lib/msun/src/s_scalbn.c +++ b/lib/msun/src/s_scalbn.c @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Please see https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT + * for all contributors to musl. + */ #include #include #include diff --git a/lib/msun/src/s_scalbnf.c b/lib/msun/src/s_scalbnf.c index 3a46470b5661..8cf1e01150da 100644 --- a/lib/msun/src/s_scalbnf.c +++ b/lib/msun/src/s_scalbnf.c @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Please see https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT + * for all contributors to musl. + */ #include #include diff --git a/lib/msun/src/s_scalbnl.c b/lib/msun/src/s_scalbnl.c index a79f79b33480..6044c1b1d4f7 100644 --- a/lib/msun/src/s_scalbnl.c +++ b/lib/msun/src/s_scalbnl.c @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Please see https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT + * for all contributors to musl. + */ #include #include #include "math_private.h" From nobody Thu Jul 27 03:51:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBGzD2P1Vz4p9Db; Thu, 27 Jul 2023 03:51: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 4RBGzC1G2Kz3Pwb; Thu, 27 Jul 2023 03:51:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690429895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+b+Xnbf8wOPXYO/kIm6A2dOmO0V41YZk6yMczbLixg=; b=qwUXOKLrsnh0c3emeZCjax16duBBkPbddav3u4AM2XTDo6aJs1wBniXFlSgPvaDxqOyMhQ wGhDEgZw+2Ty9t3wla1KJYgiY0DiB60VsiQ/vhSS/ap+UqJndoC8vWNBZ5ZEm8KsZApngw /0dPBON1GZjLE1rmhRnilmr9R4fFOC6GqMQZLsA+/e/Xcgp/A9qsxQdH9RB5sTjzd5k8dN ccvdkVlqPAZLLgsN2pHzslkhOrqmjBSx4bnnU4WqHHDYbDLJ2CqpgdQYXWUlNAPB1MZKlH uE6EUPwS1vIWaz/117SMbOG4LMqwL7nN29cfsI+V1Me1BOXNSwNSrcKgmwddFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690429895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+b+Xnbf8wOPXYO/kIm6A2dOmO0V41YZk6yMczbLixg=; b=iDbJBCVfiNGrcPyQudmT7LrMis2fuppLMG+8qCYuDFOLZ4HoV3Q0Z50nYiGFCjvm/FblL8 XQsJjWR6VaTCG+gEwYKCda1icDX277NcMSr0TMn7KA8aG+zxU/pc8CIT+niKK6VkftWcgk RzVEc897nHp21OJwUeJ6SLz86EDztcSEHng83L5O+Kucj/Mxftvn68bt/1r+CtgOiET9ga RkIZgNxsPXpRQCU20DZrCkPdHB5hizs6Q7TDYlot/Io5aeuAkAPlR/LOFzkkuWAMuykjPR G5lSoQ/pSLUGnQW55gi/bgFCzkeIuOi57PHOgaYiaPmKH36cuIYNljfWde+FJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690429895; a=rsa-sha256; cv=none; b=s4bTdv0SkJxNYxAFVsyVijzHSYSDl5zUKtvteQ8U2cECqsbgJZOBG2DTB1cjV3Cvmv3cj7 Ne136Bkr9zEsiSaJah1DN2CMCeziVHxvq26E0Yo5G+/WuHca9PCjNmItKHui3kf2yT7Xfq ch0eZ6W2mv/KJ4qnzbdUb0WLBZhzrVJJvX7LZs+DEbR36fqBfeTc7zOp+p6i4M2sONMXI6 Z8HL3biDHQGuBtpmUyq3aZVtzDih5ulOfFAF03RCE7Z7cE+ao02fIhcgQlp98EHeCWuT9B +FXE5mrsbZ/kJh46Mz8CRJZz4kz9HMebl3eqaWMquj2lciFKxCg0/5m9lW8jrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBGzC0MYxz18rf; Thu, 27 Jul 2023 03:51: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 36R3pYWc060581; Thu, 27 Jul 2023 03:51:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R3pYlX060580; Thu, 27 Jul 2023 03:51:34 GMT (envelope-from git) Date: Thu, 27 Jul 2023 03:51:34 GMT Message-Id: <202307270351.36R3pYlX060580@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: a43e7a96b64e - main - inpcb: use internal flag to mark pcbs that are inserted into lbgroup List-Id: Commit messages for all branches 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: a43e7a96b64e4bda98f49471de33f3ec5c242a2c Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a43e7a96b64e4bda98f49471de33f3ec5c242a2c commit a43e7a96b64e4bda98f49471de33f3ec5c242a2c Author: Gleb Smirnoff AuthorDate: 2023-07-27 03:35:30 +0000 Commit: Gleb Smirnoff CommitDate: 2023-07-27 03:35:30 +0000 inpcb: use internal flag to mark pcbs that are inserted into lbgroup Using INP_REUSEPORT_LB is unsafe, as it is basically a copy of socket's SO_REUSEPORT_LB flag, which can be cleared by userland after bind(). Reviewed by: markj Reported by: syzbot+e7d2e451f89fb444319b@syzkaller.appspotmail.com Differential Revision: https://reviews.freebsd.org/D41197 --- sys/netinet/in_pcb.c | 12 +++++++++--- sys/netinet/in_pcb.h | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 5fddff89dd0a..44775e21e201 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -113,7 +113,9 @@ __FBSDID("$FreeBSD$"); #define INPCBLBGROUP_SIZMIN 8 #define INPCBLBGROUP_SIZMAX 256 -#define INP_FREED 0x00000200 /* See in_pcb.h. */ + +#define INP_FREED 0x00000200 /* Went through in_pcbfree(). */ +#define INP_INLBGROUP 0x01000000 /* Inserted into inpcblbgroup. */ /* * These configure the range of local port addresses assigned to @@ -403,6 +405,7 @@ in_pcbinslbgrouphash(struct inpcb *inp, uint8_t numa_domain) grp->il_inp[grp->il_inpcnt] = inp; grp->il_inpcnt++; + inp->inp_flags |= INP_INLBGROUP; return (0); } @@ -420,6 +423,7 @@ in_pcbremlbgrouphash(struct inpcb *inp) pcbinfo = inp->inp_pcbinfo; INP_WLOCK_ASSERT(inp); + MPASS(inp->inp_flags & INP_INLBGROUP); INP_HASH_WLOCK_ASSERT(pcbinfo); hdr = &pcbinfo->ipi_lbgrouphashbase[ @@ -436,9 +440,11 @@ in_pcbremlbgrouphash(struct inpcb *inp) /* Pull up inpcbs, shrink group if possible. */ in_pcblbgroup_reorder(hdr, &grp, i); } + inp->inp_flags &= ~INP_INLBGROUP; return; } } + KASSERT(0, ("%s: did not find %p", __func__, inp)); } int @@ -2672,7 +2678,7 @@ in_pcbinshash(struct inpcb *inp) if (phd == NULL) { phd = uma_zalloc_smr(pcbinfo->ipi_portzone, M_NOWAIT); if (phd == NULL) { - if ((inp->inp_flags2 & INP_REUSEPORT_LB) != 0) + if ((inp->inp_flags & INP_INLBGROUP) != 0) in_pcbremlbgrouphash(inp); return (ENOMEM); } @@ -2717,7 +2723,7 @@ in_pcbremhash_locked(struct inpcb *inp) INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); MPASS(inp->inp_flags & INP_INHASHLIST); - if ((inp->inp_flags2 & INP_REUSEPORT_LB) != 0) + if ((inp->inp_flags & INP_INLBGROUP) != 0) in_pcbremlbgrouphash(inp); #ifdef INET6 if (inp->inp_vflag & INP_IPV6) { diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 574d575de8f0..a989776105fb 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -575,6 +575,7 @@ int inp_so_options(const struct inpcb *inp); #define IN6P_RTHDRDSTOPTS 0x00200000 /* receive dstoptions before rthdr */ #define IN6P_TCLASS 0x00400000 /* receive traffic class value */ #define IN6P_AUTOFLOWLABEL 0x00800000 /* attach flowlabel automatically */ +/* INP_INLBGROUP 0x01000000 private to in_pcb.c */ #define INP_ONESBCAST 0x02000000 /* send all-ones broadcast */ #define INP_DROPPED 0x04000000 /* protocol drop flag */ #define INP_SOCKREF 0x08000000 /* strong socket reference */ From nobody Thu Jul 27 03:51:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBGzD4JnZz4p90l; Thu, 27 Jul 2023 03:51: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 4RBGzD23JQz3Pp8; Thu, 27 Jul 2023 03:51:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690429896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fs7vn0rGMMfs1OoDOqxwk7o9MHt+nYN3tW4hHEm4pzg=; b=t7DNu6ZqSX3lW0uNg6QY4DZqPD4YIdMoa3U5serRmGE+VW6LqT9uBk6smc2JDJSWoIaOsG wRLDjQy1G3bB2nsb0CICW4rG2kSl8vT6Ntgpq8u5E+t7Awu7035X9iCeklnkRymWL7+0er pfh/+Iv0DfgCLHHLM8vTMoKx90i+L14OrxEC3UH7taMP5SI1DNntvk5Ox6lyAUls5x46Ti KqG0gQMG5FOscf/t4TnMFEesYtj+wzNQBBpDTI2PR0xswE1PJsXb4QI8+nkrBV6y8uLm4R iMipuc5cmdgV6Gyve1pXLsKlqOhEqEKxnGncuoV80xCn7CZ1IsjDMHPWm6Vz3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690429896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fs7vn0rGMMfs1OoDOqxwk7o9MHt+nYN3tW4hHEm4pzg=; b=lDl8QSz0LTnBjq3dRierSGifFfepHBUcQJIkSfYNQm/3AVlkMs9unwPJHYszsx+5IXAy30 H2PzPBAQi9WI5G2wXn7W915gAxMC0BZwvwqWw7VFugpYdnX6sWzBNcd1BhF7vdKpRb78gK RBjaTyf2dRGpiwuxJA4nWCmu572XWhRu20A2vcQKT4LrQ83WecbpCkf3BZfXW44Sr8/sKk O2bGqVgx72JBU/rwZT4KdOig0ZMfdtbksGtGQlZ3RwknnJNOUsF83lLXI+KQAHDQ1jALo+ ag92YU2fHTnE7Nqbl+hHNEhsJS7s4OaIwxvxohLhv5jiiZTEVQVNm5QoOb/3EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690429896; a=rsa-sha256; cv=none; b=CzaL1jjrKlaAiGGZ4TKnOVkSGBc3LCqwbGLDvUrn0YVge3WmZyG9KyUewypScAV51iOqRM 7cJDpDuFE25kf0bZar0PUpt3v28u/PO/6Mo4dj75Ihrx1tv58g6fYrgWWI49HoQDXeYh+1 Ahv7Ic1lV5OiDRhFf9t26lBoadhhNao+3aR89k4JT2pfA1yMSMlpsarvn/q0jg2eiMfww0 kiu4ZRFRG+DTfnhczdj9I+2/9ayX+kmVfuiFaPicmEazOJz+9b2/M0/MJJ9YFz8VDuo/gy bffHjiqW22ihjXg7dhaytXodjPTArBDvDWxWOeDqsdBhSxt9qSSRUUf0MZBX8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBGzD0mhjz18YL; Thu, 27 Jul 2023 03:51: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 36R3panH060604; Thu, 27 Jul 2023 03:51:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R3pa8o060603; Thu, 27 Jul 2023 03:51:36 GMT (envelope-from git) Date: Thu, 27 Jul 2023 03:51:36 GMT Message-Id: <202307270351.36R3pa8o060603@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: e3ba0d6adde3 - main - inpcb: do not copy so_options into inp_flags2 List-Id: Commit messages for all branches 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: e3ba0d6adde3c694f46a30b3b67eba43a7099395 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e3ba0d6adde3c694f46a30b3b67eba43a7099395 commit e3ba0d6adde3c694f46a30b3b67eba43a7099395 Author: Gleb Smirnoff AuthorDate: 2023-07-27 03:35:41 +0000 Commit: Gleb Smirnoff CommitDate: 2023-07-27 03:35:42 +0000 inpcb: do not copy so_options into inp_flags2 Since f71cb9f74808 socket stays connnected with inpcb through latter's lifetime and there is no reason to complicate things and copy these flags. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D41198 --- sys/netinet/in_pcb.c | 29 +++++------------------------ sys/netinet/in_pcb.h | 7 +++---- sys/netinet/ip_output.c | 27 --------------------------- sys/netinet6/in6_pcb.c | 12 ++++++------ sys/netinet6/ip6_output.c | 27 --------------------------- 5 files changed, 14 insertions(+), 88 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 44775e21e201..e7b5e3221ae4 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -850,25 +850,6 @@ in_pcb_lport(struct inpcb *inp, struct in_addr *laddrp, u_short *lportp, return (in_pcb_lport_dest(inp, laddrp ? (struct sockaddr *) &laddr : NULL, lportp, NULL, 0, cred, lookupflags)); } - -/* - * Return cached socket options. - */ -int -inp_so_options(const struct inpcb *inp) -{ - int so_options; - - so_options = 0; - - if ((inp->inp_flags2 & INP_REUSEPORT_LB) != 0) - so_options |= SO_REUSEPORT_LB; - if ((inp->inp_flags2 & INP_REUSEPORT) != 0) - so_options |= SO_REUSEPORT; - if ((inp->inp_flags2 & INP_REUSEADDR) != 0) - so_options |= SO_REUSEADDR; - return (so_options); -} #endif /* INET || INET6 */ #ifdef INET @@ -979,16 +960,16 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, ntohl(t->inp_faddr.s_addr) == INADDR_ANY) && (ntohl(sin->sin_addr.s_addr) != INADDR_ANY || ntohl(t->inp_laddr.s_addr) != INADDR_ANY || - (t->inp_flags2 & INP_REUSEPORT) || - (t->inp_flags2 & INP_REUSEPORT_LB) == 0) && + (t->inp_socket->so_options & SO_REUSEPORT) || + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) return (EADDRINUSE); } t = in_pcblookup_local(pcbinfo, sin->sin_addr, lport, lookupflags, cred); - if (t != NULL && (reuseport & inp_so_options(t)) == 0 && - (reuseport_lb & inp_so_options(t)) == 0) { + if (t != NULL && (reuseport & t->inp_socket->so_options) == 0 && + (reuseport_lb & t->inp_socket->so_options) == 0) { #ifdef INET6 if (ntohl(sin->sin_addr.s_addr) != INADDR_ANY || @@ -2658,7 +2639,7 @@ in_pcbinshash(struct inpcb *inp) * Add entry to load balance group. * Only do this if SO_REUSEPORT_LB is set. */ - if ((inp->inp_flags2 & INP_REUSEPORT_LB) != 0) { + if ((inp->inp_socket->so_options & SO_REUSEPORT_LB) != 0) { int error = in_pcbinslbgrouphash(inp, M_NODOM); if (error != 0) return (error); diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index a989776105fb..44e9cfd3c861 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -490,7 +490,6 @@ struct tcpcb * inp_inpcbtotcpcb(struct inpcb *inp); void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp, uint32_t *faddr, uint16_t *fp); -int inp_so_options(const struct inpcb *inp); #endif /* _KERNEL */ @@ -597,9 +596,9 @@ int inp_so_options(const struct inpcb *inp); /* 0x00000001 */ /* 0x00000002 */ /* 0x00000004 */ -#define INP_REUSEPORT 0x00000008 /* SO_REUSEPORT option is set */ +/* 0x00000008 */ /* 0x00000010 */ -#define INP_REUSEADDR 0x00000020 /* SO_REUSEADDR option is set */ +/* 0x00000020 */ /* 0x00000040 */ /* 0x00000080 */ #define INP_RECVFLOWID 0x00000100 /* populate recv datagram with flow info */ @@ -607,7 +606,7 @@ int inp_so_options(const struct inpcb *inp); #define INP_RATE_LIMIT_CHANGED 0x00000400 /* rate limit needs attention */ #define INP_ORIGDSTADDR 0x00000800 /* receive IP dst address/port */ /* 0x00001000 */ -#define INP_REUSEPORT_LB 0x00002000 /* SO_REUSEPORT_LB option is set */ +/* 0x00002000 */ /* 0x00004000 */ /* 0x00008000 */ /* 0x00010000 */ diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 3f30c63cdc87..9c4d98a979ee 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -1084,33 +1084,6 @@ ip_ctloutput(struct socket *so, struct sockopt *sopt) if (sopt->sopt_level == SOL_SOCKET && sopt->sopt_dir == SOPT_SET) { switch (sopt->sopt_name) { - case SO_REUSEADDR: - INP_WLOCK(inp); - if ((so->so_options & SO_REUSEADDR) != 0) - inp->inp_flags2 |= INP_REUSEADDR; - else - inp->inp_flags2 &= ~INP_REUSEADDR; - INP_WUNLOCK(inp); - error = 0; - break; - case SO_REUSEPORT: - INP_WLOCK(inp); - if ((so->so_options & SO_REUSEPORT) != 0) - inp->inp_flags2 |= INP_REUSEPORT; - else - inp->inp_flags2 &= ~INP_REUSEPORT; - INP_WUNLOCK(inp); - error = 0; - break; - case SO_REUSEPORT_LB: - INP_WLOCK(inp); - if ((so->so_options & SO_REUSEPORT_LB) != 0) - inp->inp_flags2 |= INP_REUSEPORT_LB; - else - inp->inp_flags2 &= ~INP_REUSEPORT_LB; - INP_WUNLOCK(inp); - error = 0; - break; case SO_SETFIB: INP_WLOCK(inp); inp->inp_inc.inc_fibnum = so->so_fibnum; diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 43f567461598..c43d4e804b46 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -256,8 +256,8 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) || !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || - (t->inp_flags2 & INP_REUSEPORT) || - (t->inp_flags2 & INP_REUSEPORT_LB) == 0) && + (t->inp_socket->so_options & SO_REUSEPORT) || + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) return (EADDRINUSE); @@ -283,8 +283,8 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) } t = in6_pcblookup_local(pcbinfo, &sin6->sin6_addr, lport, lookupflags, cred); - if (t && (reuseport & inp_so_options(t)) == 0 && - (reuseport_lb & inp_so_options(t)) == 0) { + if (t && (reuseport & t->inp_socket->so_options) == 0 && + (reuseport_lb & t->inp_socket->so_options) == 0) { return (EADDRINUSE); } #ifdef INET @@ -296,8 +296,8 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) t = in_pcblookup_local(pcbinfo, sin.sin_addr, lport, lookupflags, cred); if (t && - (reuseport & inp_so_options(t)) == 0 && - (reuseport_lb & inp_so_options(t)) == 0 && + (reuseport & t->inp_socket->so_options) == 0 && + (reuseport_lb & t->inp_socket->so_options) == 0 && (ntohl(t->inp_laddr.s_addr) != INADDR_ANY || (t->inp_vflag & INP_IPV6PROTO) != 0)) { return (EADDRINUSE); diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index 7e3c98270cc2..2a447a8a738f 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -1641,33 +1641,6 @@ ip6_ctloutput(struct socket *so, struct sockopt *sopt) if (sopt->sopt_level == SOL_SOCKET && sopt->sopt_dir == SOPT_SET) { switch (sopt->sopt_name) { - case SO_REUSEADDR: - INP_WLOCK(inp); - if ((so->so_options & SO_REUSEADDR) != 0) - inp->inp_flags2 |= INP_REUSEADDR; - else - inp->inp_flags2 &= ~INP_REUSEADDR; - INP_WUNLOCK(inp); - error = 0; - break; - case SO_REUSEPORT: - INP_WLOCK(inp); - if ((so->so_options & SO_REUSEPORT) != 0) - inp->inp_flags2 |= INP_REUSEPORT; - else - inp->inp_flags2 &= ~INP_REUSEPORT; - INP_WUNLOCK(inp); - error = 0; - break; - case SO_REUSEPORT_LB: - INP_WLOCK(inp); - if ((so->so_options & SO_REUSEPORT_LB) != 0) - inp->inp_flags2 |= INP_REUSEPORT_LB; - else - inp->inp_flags2 &= ~INP_REUSEPORT_LB; - INP_WUNLOCK(inp); - error = 0; - break; case SO_SETFIB: INP_WLOCK(inp); inp->inp_inc.inc_fibnum = so->so_fibnum; From nobody Thu Jul 27 04:11:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQb4Dwnz4pQ6j; Thu, 27 Jul 2023 04:11: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 4RBHQb2bYnz3nDG; Thu, 27 Jul 2023 04:11:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZE2ngLSx+5yU3QeGrGJhc1kW3fsiWIY97ts4VdQbdI=; b=n4y84tVo3A7d7jlh0rIFC0pJkvzcWhodYoMatAbEQRs8ZPccnfm+hbWkOJWtG8nT7i/5z1 4D72MKV/Lh/7AJRRAUWb8FtJj9fp+O7baqsOnp5MZViA2rPpSSJY5BbRZQens+22SKRXAU Cp9YUumWskBwjO6frXfgF8Yoov3x8644MlKpCNK4ajXwlZaiWSVJYUre8s2KpI/BiYadY/ XXGzKtZHlhJslYwa0Uyy0SIjmptedTkz86okax+L4JwLpPlVpZv3WzUT718KYzK9JgUVm4 w5SH0IUbxlCE4ql+s3jJ22VIhJtZ4Ox/dvlQDqEQnxIm5FJlPXNVfrtZbEtGAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZE2ngLSx+5yU3QeGrGJhc1kW3fsiWIY97ts4VdQbdI=; b=NeIndwDryk2jLzu2+eHcgHzZX9vGaM0N71ZGQfThApDpSmgK6QuIvmiAZemDU+5Nqx/4rH 0T4iP2AchVutGj277HlrnLEKfoNxCNuNxZfUtOn7vCmxKx9fvTfeBvf011E78dtz0hd1Qo WXWxLjsXxoh8jEU88mAF9p1hkpn9QeqEPwBkvrXNwSOV8854OpfoVf3cOeVoEU2Ntv8Nww WM04L3cGrA/qq11MsAp7kM+ew3Jg/oFQA2vnah+/XjfnVNLNN+gex5n8LY+efxk85BYcEn Bah5nUjkmsrkfy9nawDHVTgom77fGZICEqlgh/xoVxJCFp5SvQ65c+xfYQibfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431111; a=rsa-sha256; cv=none; b=syQUCOdVz1D71Vv/iyLHtVrCS+gooAzfaq+fhtLmqC/KsnW49v0hv6lfyGfRREbY9pn3u1 YcOT/mB3U2c/e3n+3U/RoPdPfLHl7utuvKnnQ+00s6+CoUdjFH6km5//ivJP3rYuLfKzK0 ymSxo/FoRirCAQ3JKTbsetXi4wBnrBLbls9looOJpBCA71kfR9chwEVnfG8I98Hnh9FpNd RBMEi6o4xcDteE5B6bODAns+cOt9esVn9BSBB+deSy6fXX1+0+G3E7OOnnfWPDffLbcRxn /Kcr3gr0pUptIhPnWKcKNDcp95TbxCCaz71RQ4APH/6awFg7fwZA/IuQ/bAzWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQb1T6kz19KQ; Thu, 27 Jul 2023 04:11: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 36R4Bofh097454; Thu, 27 Jul 2023 04:11:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4Boo3097453; Thu, 27 Jul 2023 04:11:50 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:50 GMT Message-Id: <202307270411.36R4Boo3097453@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 5d6cb793d0d5 - main - bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d6cb793d0d56b3829168029b6940288f8fb61e6 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=5d6cb793d0d56b3829168029b6940288f8fb61e6 commit 5d6cb793d0d56b3829168029b6940288f8fb61e6 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:43 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:43 +0000 bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables Adding these to a new bsd.compat.pre.mk will allow other parts of the tree to iterate over the set of possible libcompats (upper and/or lower) rather than having to hard-code the list. Reviewed by: brooks, jhb, emaste Differential Revision: https://reviews.freebsd.org/D41178 --- share/mk/bsd.compat.mk | 2 +- share/mk/bsd.compat.pre.mk | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/share/mk/bsd.compat.mk b/share/mk/bsd.compat.mk index 49fbfe3bf8e2..1584d2771127 100644 --- a/share/mk/bsd.compat.mk +++ b/share/mk/bsd.compat.mk @@ -3,7 +3,7 @@ .if !targets(__<${_this:T}>__) __<${_this:T}>__: -_ALL_LIBCOMPATS:= 32 +.include .if defined(_LIBCOMPATS) COMPAT_ARCH?= ${TARGET_ARCH} diff --git a/share/mk/bsd.compat.pre.mk b/share/mk/bsd.compat.pre.mk new file mode 100644 index 000000000000..05bdcb8a9f45 --- /dev/null +++ b/share/mk/bsd.compat.pre.mk @@ -0,0 +1,13 @@ +.if !targets(__<${_this:T}>__) +__<${_this:T}>__: + +_ALL_LIBCOMPATS:= 32 + +_ALL_libcompats:= ${_ALL_LIBCOMPATS:tl} + +# List of LIBCOMPAT libcompat pairs to avoid repeating this ugly expression. +# Can be used as: .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} +_ALL_LIBCOMPATS_libcompats:= \ + ${_ALL_LIBCOMPATS:range:@i@${_ALL_LIBCOMPATS:[$i]} ${_ALL_libcompats:[$i]}@} + +.endif From nobody Thu Jul 27 04:11:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQc2s3fz4pQ09; Thu, 27 Jul 2023 04:11: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 4RBHQc1vjVz3mpx; Thu, 27 Jul 2023 04:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FkHl07QX5B2msrJNA3MBhDmiFIpc5puQvxP8TAwO9OY=; b=VxPRWOPNhAAaiYqSPL2du8FrTY7dSlzxarRJtoBmoKZUit3XnRWY5x/GOXM9BV9S+KIw/i WOt/L4B3ZyaXbNJ//ftK6lurc2ozi0i+M/P3OlJUY+xyME2ARYtmtqV+w+BDl2d3BvG+zP HIgIus7vhXGnM3q7ufd75mzKDf/VdfDR+ubhEyThEJxp9GIHHbMRGmy/vkqal1G0rTH42p W/b2+vJ3UdetgPTJ0jryCVQIjQsgS7BgQMX17mD6VXpvjx7hGh8ggZ1eyZHEi7kAVgTol2 HTCJ2bgiOl/t+LhcgeaF1ZpcZh5Ziu+pYIbwkR7SgpySl2mBRSSRX5gJsGHV2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FkHl07QX5B2msrJNA3MBhDmiFIpc5puQvxP8TAwO9OY=; b=ciuj2lWHX4BFwSMJusIazmebAC5BXwA9JRmsAMqQByo7SXzgdo46UQrVD9J06m0FcdVHQ1 wtUplVZy2GMkG/wIS6UXlG10hvT6T/kUA+BZ1uhNrnaKQc2ueJugFzt3HdEsGn9PXF9ofL ek0UhvW+UqluIuRsEpdkjoR6YVEAOw4/0i6TTWzwhm647WriT7cVz02//WqLqoRHz5Dj2y QOlVqosVHqgC/vx69zwDgvxOlvzw7gSxX7eeLDa4KcRx4j3Ck72STsUQdaLObMXZ0yY0in k+ei9YhGnrpT8XLvpClI1tD8IJstcc5axPjBJTHWMT4jHi4ggK6I5az0S2oqUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431112; a=rsa-sha256; cv=none; b=PYPAhfBFyDj65rWckDgJCOgswIk7rECu6PLWkOxxV48ZXJlg0EQbsksYYoiANYecLU0Dme NpA+/QYUQzt9y2EmFm2OB/Ie9nIwYOL2Qpldr8GWMjZT/Ovfp9lOszHfdZpcTWechZgzNI ctz1qPu8eXOnN3qpsourpXPvA9xvBA5+ObEpFm5atS1rzmQWdy+QvHb7/FkLubyBadh3nh 3XPSHCilm6fMeUXH/RHft9f0capkUHvNJ2YiA2MjGwHNqIGfvGxNuuqjUYJe+SkdprAbzS N7w62XDGIE4HNU4f9hu0fdF46TaEyhNI6aWVNYNttL0yZSuymJ2cyHWbZt/UAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQc0zg5z192c; Thu, 27 Jul 2023 04:11: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 36R4BqOd097473; Thu, 27 Jul 2023 04:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4Bq7m097472; Thu, 27 Jul 2023 04:11:52 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:52 GMT Message-Id: <202307270411.36R4Bq7m097472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: eafd028327ce - main - Makefile: Automatically generate list of libcompat targets List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eafd028327cee688b54bc526e088c2a3b98f94e0 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=eafd028327cee688b54bc526e088c2a3b98f94e0 commit eafd028327cee688b54bc526e088c2a3b98f94e0 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:43 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:43 +0000 Makefile: Automatically generate list of libcompat targets Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41179 --- Makefile | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 4658a75986f9..22d088c8f2da 100644 --- a/Makefile +++ b/Makefile @@ -156,6 +156,8 @@ __DO_KERNELS?=yes .include "targets/Makefile" .else +.include "${.CURDIR}/share/mk/bsd.compat.pre.mk" + TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ check check-old check-old-dirs check-old-files check-old-libs \ checkdpadd checkworld clean cleandepend cleandir cleankernel \ @@ -172,7 +174,6 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ makeman sysent \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _build-metadata _cross-tools _includes _libraries \ - build32 distribute32 install32 \ builddtb xdev xdev-build xdev-install \ xdev-links native-xtools native-xtools-install stageworld stagekernel \ stage-packages stage-packages-kernel stage-packages-world \ @@ -181,6 +182,10 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ sign-packages package-pkg print-dir test-system-compiler test-system-linker \ test-includes +.for libcompat in ${_ALL_libcompats} +TGTS+= build${libcompat} distribute${libcompat} install${libcompat} +.endfor + # These targets require a TARGET and TARGET_ARCH be defined. XTGTS= native-xtools native-xtools-install xdev xdev-build xdev-install \ xdev-links @@ -201,12 +206,16 @@ TGTS+= ${BITGTS} # the interactive tty prompt. The safest route is to just whitelist # the ones that benefit from it. META_TGT_WHITELIST+= \ - _* build32 buildfiles buildincludes buildkernel \ + _* buildfiles buildincludes buildkernel \ buildworld everything kernel-toolchain kernel-toolchains kernel \ kernels libraries native-xtools showconfig test-includes \ test-system-compiler test-system-linker tinderbox toolchain \ toolchains universe universe-toolchain world worlds xdev xdev-build +.for libcompat in ${_ALL_libcompats} +META_TGT_WHITELIST+= build${libcompat} +.endfor + .ORDER: buildworld installworld .ORDER: buildworld distrib-dirs .ORDER: buildworld distribution From nobody Thu Jul 27 04:11:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQd3mPGz4pQ9V; Thu, 27 Jul 2023 04:11: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 4RBHQd2qtQz3nHG; Thu, 27 Jul 2023 04:11:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TK9+tMPIxROl+VMIt03zaZn91GsKwfNd40195B/c6ck=; b=Umy5l2Rqn6acGSESFXMvu/RvBCHgcl3RvVTC047xTnEuNFmpIu1AOMArtYErTAk91+be+/ RO9FGHLpJgDW5G2KIbNdsjOok+Lv+xnK2KKWYFoklkzxi9/rJ5ekqWR1+Mi9JQXfB4HMvH eyx86ibLoXWcjbnj5K3enWx+Mdir/91Vpyp61HryVMpnVkrEPk0kV/NJMo0pdac8oITN5p TSXrSpUcV9ePdaUStCEefN2fibjvmrcijfwefUz+x101La++HhvCG5i7tGtcZYGKgSveNo dFRXfEgixnZvzajVWQEa7fKBUYVWyXApqxgIhVZLZmf0hZ3tRrzb6bCAOCMc9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TK9+tMPIxROl+VMIt03zaZn91GsKwfNd40195B/c6ck=; b=N0NZUQIJPMA/3FhoEw6NTucxZuIbO6XWqnDsaSej+M17dDWt2NRqjhC1duRO5PZ4MRUSbY Uf2tt0rhUoGG61dIgntDIAOVxbdFF03+A3EYUax7YmrSWZIe3qFVJEh24bvdleo9jrwTxs MejHQ7vpXowIIfm0e2/JO4W/6UGL8AAIxlEtLzz1F/dQrV0twOIIAOtjuAXyWUkpMU4YE0 VT1egdmCiezU+n6gaRROw4xe6gk6cIHtS5cXB2ZrOslPm3FX0/WOtLDIdLRL25Rp49eYNk jCdqxjPjujYqnSllHrog1vJqJVgDgtDEAzu46eU0+UR8vSqh145yiMdzCl3ONg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431113; a=rsa-sha256; cv=none; b=fTcWbVw9G/5o6Qan4GmJN/oGLk7b5cAQH+HY06bXQ4gMaqGCVyAllcG4m8mHalnD3etb8v Sm/nqsFMqBEHXcHT33wtZBMoJe7CkkIa4TCBO+k0Jwyk7U/1rTOoa+ES3WkU0EWrBZp5Lt ke6c7Q7oSlFZqP6ogbd8fLzBtDfuVAO/JK7LoOc57/gLTtzKrKST06m1iMvgTc1Ak3kgm0 O0xRGqSwQtAP0ZH0z1yn21srogVKe0oAlnid/JjysgbEEjBKn+vK23uL1R2D8LRsQgSkoL h80etbWW+Em7xwXuezNEhM1zEAWpYUsPJBZf62OFK+yNQrqEVP/KuQ9uw9Keag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQd1Wgtz19DW; Thu, 27 Jul 2023 04:11: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 36R4Brj0097494; Thu, 27 Jul 2023 04:11:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4BrmB097493; Thu, 27 Jul 2023 04:11:53 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:53 GMT Message-Id: <202307270411.36R4BrmB097493@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 264594efbe69 - main - Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 264594efbe699defbe2ac4e1d7a91fde3db45e8f Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=264594efbe699defbe2ac4e1d7a91fde3db45e8f commit 264594efbe699defbe2ac4e1d7a91fde3db45e8f Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:43 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:43 +0000 Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41180 --- Makefile.inc1 | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 53699a454ff6..b3a33a928ee5 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -857,9 +857,12 @@ XCFLAGS+= --sysroot=${WORLDTMP} XCFLAGS+= ${BFLAGS} .endif -.if ${MK_LIB32} == "yes" -_LIBCOMPATS+= 32 +.include "share/mk/bsd.compat.pre.mk" +.for LIBCOMPAT in ${_ALL_LIBCOMPATS} +.if ${MK_LIB${LIBCOMPAT}} == "yes" +_LIBCOMPATS+= ${LIBCOMPAT} .endif +.endfor .include "Makefile.libcompat" # META_MODE normally ignores host file changes since every build updates @@ -3255,8 +3258,9 @@ list-old-files: .PHONY @cd ${.CURDIR}; \ ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ -V "OLD_FILES:ts\n" -V "OLD_FILES:Musr/share/*.gz:R:ts\n" \ - -V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib32,:ts\n" \ - -V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" | sort + ${_ALL_libcompats:@v@-V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib$v,:ts\n"@} \ + ${_ALL_libcompats:@v@-V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ + sort delete-old-files: .PHONY @echo ">>> Removing old files (only deletes safe to delete libs)" @@ -3321,9 +3325,10 @@ list-old-libs: .PHONY @cd ${.CURDIR}; \ ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ - -V "OLD_LIBS:Mlib/*:S,^lib,usr/lib32,:ts\n" \ - -V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" \ - -V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib32,:ts\n" | sort + ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ + ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ + ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib$v,:ts\n"@} | \ + sort delete-old-libs: .PHONY @echo ">>> Removing old libraries" From nobody Thu Jul 27 04:11:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQf4nKNz4pQ9d; Thu, 27 Jul 2023 04:11: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 4RBHQf3QsFz3n23; Thu, 27 Jul 2023 04:11:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjpqAjXVVJrbBG7ej072eA2AgoOl6ZNmFoCQw1GJr38=; b=B87uBiS2QZUqtmv+oC3Z3IWDYcxD7eOWugh9JDDvLce3XXE8zaZgFYmYQoDqO7Krnkn/1E 9C0htUIrWYnnkI5j9kWRUrwJknyCMToiBbSOyYq0lTrDDpgylaCplnp9bxeTiYOxIuZioG FfA5D+ICf8QMnJqEZkBJDuJzJmpZ7U2Tfbx2yrcvj1nr384qf+6HobrVmXsc0Hn/DH1vrI etb6b+IkXeh+vnhvxa3gK7cqyhwPBOamuqQkqHaxJaKjXsAP1eIm4OwYnz1WNA/jWiAQPG op5HT+AEv+fbtQEqJzP7d6hyRyoQo5r3GICpQOJbtnmR1A+strNbYcc8d3M6KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjpqAjXVVJrbBG7ej072eA2AgoOl6ZNmFoCQw1GJr38=; b=LVm6iIit+AUbjZgiDRzO67MtnQP48Q28oz1gzBBFVcg0B3oYElEskYjDRkj+I0V38cfm2x JYBla1uHbM6Et23xTqeSvzkVUjccG9wHqo1Lx2Xa1NiVc0RD2OmvAy6HX9rM+3di+8FfRW UvVXwgAvGQgxDZ6sMkn4jQGqt5t70WElqS5uJIBhwZ1w2i48Z2GykxeJ3QCVJoY3V8Qkxd 53ApMANZWwDQbmjlRsG4YTZQU2EDR7rzJHETRi5jb9UjG8VCeeh+IXfhPyGqvlANMZ5L5i wGdPJGim5gUPwHiyxIv5U6ql2eYtcMxTUYMwK8B8yZtrpMJyChhQ9cP27FdZ4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431114; a=rsa-sha256; cv=none; b=SOG+/AKH/xTxEHITDPbDBubki8Ji5GxYB8jyNe+mdvmkvMZhj8WhFgHR2M8a4Fb2gNZfGc 321/sdswX3r6DGvilXypxH2esoZPEJeI1FR4Wjl8KaybHGIEodGEdSZk9W+VBZzfld9hxX b5KFsS1gf9Ev6Y2SKqgoGyJkAMMJpjR6rjM30tMWfTJesE8GtBWYPjSJOZ0Vz3njtl7b5G FlewFo7/k3D0lrwr55RbLDpMP26ehnM1cpXSyvXVT4u8EZwHvWih7rR0kvheO3jfzoC1SB vgrZs8rFg4jd5+6OyohORpDilKlzWhH0r4yBZcZS7L6Yd0et/vH/7I4yqHmr2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQf2XQfz19DX; Thu, 27 Jul 2023 04:11: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 36R4BsJK097517; Thu, 27 Jul 2023 04:11:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4BsjA097516; Thu, 27 Jul 2023 04:11:54 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:54 GMT Message-Id: <202307270411.36R4BsjA097516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 5e2bc2f60c8e - main - ObsoleteFiles.inc: Automatically generate OpenSSL 3 obsoleted libcompat dirs List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e2bc2f60c8e512925e2dd74f988590a3073d7fc Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=5e2bc2f60c8e512925e2dd74f988590a3073d7fc commit 5e2bc2f60c8e512925e2dd74f988590a3073d7fc Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:44 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:44 +0000 ObsoleteFiles.inc: Automatically generate OpenSSL 3 obsoleted libcompat dirs Older entries in this file are left alone as hard-coding lib32 as they're not worth the churn; downstreams will have already moved past them (in particular, CheriBSD, which adds additional libcompats). Reviewed by: brooks, jhb, emaste Differential Revision: https://reviews.freebsd.org/D41181 --- ObsoleteFiles.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 3acb677c25e4..295d718932e9 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -78,7 +78,9 @@ OLD_LIBS+=usr/lib/engines/capi.so OLD_LIBS+=usr/lib/engines/padlock.so OLD_LIBS+=usr/lib/libssl.so.111 OLD_DIRS+=usr/lib/engines -OLD_DIRS+=usr/lib32/engines +.for libcompat in ${_ALL_libcompats} +OLD_DIRS+=usr/lib${libcompat}/engines +.endfor OLD_FILES+=usr/share/man/man1/list.1 OLD_FILES+=usr/share/man/man1/openssl-tsget.1 OLD_FILES+=usr/share/man/man3/ECDH_get_ex_data.3 From nobody Thu Jul 27 04:11:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQh3mYxz4pQG2; Thu, 27 Jul 2023 04:11: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 4RBHQh0sljz3nKl; Thu, 27 Jul 2023 04:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tqvn+yJKsWUffmjLajRN26nHbVezqzfC3Bxx3//TKPw=; b=DzOFEgAMYvh83PctmP/GwnaCr1zEWjPAteUE9HXfw2w6QGWIUMVdbiyp9YZhAB0sS96Zt4 GCVzF6uGXcMg+P0SH8HZWFb/+o54wajjLsscg1iAjfg72QSbpIp/kHVt4Fxuzg+xcrujEz RzrDPWklMGQr+dGjn8kjcY5/fE3olKkf1oHU28RzboVLLh+5VeXLz1su8VlhgGRy+Dh+Kp ClSvyi1PGkeQz2KfEVT6FnbkWh/r7aa0BZFf+/+ZLxdarIkPpbxAkXntR5+tN4QJT6LWr3 2LSmitQgEa2cbgwzMoD27WVbaEl5KCuM8RS11WXU2cUNCwHQr1SiUibN53Wxxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tqvn+yJKsWUffmjLajRN26nHbVezqzfC3Bxx3//TKPw=; b=KXg/AO2XqTZgsNjn7PB0Ujvg4JfX/u9mHG46rua65gOoErv/fYXZluOz2y+1MR1YLbo7mw hIhQSvjjGmU4Lj+S6ibsbk5IM4zQz4UkqbO+WlH5stsf9bFZnUyMR8aC6ZwLqGORrP65kB TIc+MXUOY+3ak2pKuBB9hujI7qRigIiHfhMqqAwJ1N83appmgwHv4B5ZS3dluHoM4fqZnn 4VyLmhH4ph4byjNLGJMGkH0yAM5FqJDKHeaVqm0UxNebjYl2nE1yH2TFBAjSeCPB34GAHZ ZBM/VnMb05dVJeuXjAhnVsrxrSkK6FEtJpaEXcnNXbcAjwhskZqgFUZQoWw02w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431116; a=rsa-sha256; cv=none; b=kp+qJhn5vrG2hR9KcI9cOeAwTHyLDXDJb7D9MSFZg6b48LuQ0cDAHNcX59ujlGgqSuuSbn WFdALBUTTKeahjvrb+u0Legjsik6lwe84ixZ1q+wepWFFfF4lg4SGMVB4gZjqCDCl0pfFz br5gnhVAILwmBDR63u8yA3PzjzpYd9xl5L7o5fDg/w9SFS6ZAy/9psR/Zq1ytdPPZi4i94 PPru+uJv+/aCKbZ+mFVA8bYuxcQqOIkDmI5tEnO125nnWQWmSwZCliSFAWFfpTwwSD5cTk HzkLrN8T+yo482t0kHvnuFEDZlw2kJwCW1+C7r6GAmPnbePeYIivFzVNoFZ/JQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQg408Pz192d; Thu, 27 Jul 2023 04:11: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 36R4BtnS097536; Thu, 27 Jul 2023 04:11:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4BtsH097535; Thu, 27 Jul 2023 04:11:55 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:55 GMT Message-Id: <202307270411.36R4BtsH097535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 949199a212ec - main - etc: Automatically generate BSD.lib${libcompat}.dist 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: 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 949199a212ec714eab77ee2dc9b95252eb32ca2c Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=949199a212ec714eab77ee2dc9b95252eb32ca2c commit 949199a212ec714eab77ee2dc9b95252eb32ca2c Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:44 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:44 +0000 etc: Automatically generate BSD.lib${libcompat}.dist lists Note that each libcompat still has its own file that must exist. Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41182 --- etc/Makefile | 10 +++++++--- etc/mtree/Makefile | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/etc/Makefile b/etc/Makefile index 528e348d6139..53d76ba8fdd7 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -4,6 +4,8 @@ .include .include +.include + FILESGROUPS= FILES NLS_ALIASES= POSIX C \ en_US.US_ASCII C @@ -104,10 +106,12 @@ MTREES= mtree/BSD.root.dist / \ mtree/BSD.usr.dist /usr \ mtree/BSD.include.dist /usr/include \ mtree/BSD.debug.dist /usr/lib -.if ${MK_LIB32} != "no" -MTREES+= mtree/BSD.lib32.dist /usr -MTREES+= mtree/BSD.lib32.dist /usr/lib/debug/usr +.for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} +.if ${MK_LIB${LIBCOMPAT}} != "no" +MTREES+= mtree/BSD.lib${libcompat}.dist /usr +MTREES+= mtree/BSD.lib${libcompat}.dist /usr/lib/debug/usr .endif +.endfor .if ${MK_TESTS} != "no" MTREES+= mtree/BSD.tests.dist ${TESTSBASE} MTREES+= mtree/BSD.tests.dist /usr/lib/debug/${TESTSBASE} diff --git a/etc/mtree/Makefile b/etc/mtree/Makefile index 5dfefc9d5c21..b55e9d215b6c 100644 --- a/etc/mtree/Makefile +++ b/etc/mtree/Makefile @@ -2,6 +2,8 @@ .include +.include + PACKAGE= mtree # NOTE: BSD.debug.dist is unconditionally installed for developer ease-of-use. @@ -9,15 +11,17 @@ FILES= \ BSD.debug.dist \ BSD.include.dist \ BSD.root.dist \ - ${_BSD.lib32.dist} \ + ${_BSD.libcompats.dist} \ ${_BSD.sendmail.dist} \ ${_BSD.tests.dist} \ BSD.usr.dist \ BSD.var.dist -.if ${MK_LIB32} != "no" -_BSD.lib32.dist= BSD.lib32.dist +.for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} +.if ${MK_LIB${LIBCOMPAT}} != "no" +_BSD.libcompats.dist+= BSD.lib${libcompat}.dist .endif +.endfor .if ${MK_SENDMAIL} != "no" _BSD.sendmail.dist= BSD.sendmail.dist .endif From nobody Thu Jul 27 04:11:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQj0qhkz4pQ6x; Thu, 27 Jul 2023 04:11: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 4RBHQh5LrPz3nFT; Thu, 27 Jul 2023 04:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t16EKuzngWDUXB7E9fxTnt/CBn+TK/Eq/WY6OP/DNKw=; b=JJCis+J3ZCpZq05DPAuj2tCdrcPypTonJcY8yv5tQRAwCS8J5an1m626GpBZ7/g7piWWaE /937nt63eZK8/O0HJIZiW9OSsVPvRrmbVca4fcx0vMr3fM9/KS3Nu66YF1YLVyVLcbIf4m 47Dj+gMWQhPiAtpBeTIOcq2hg4GWqsR0Ve+d4rFAysbjcJWw5eQtJom/kSGLJpT5QBYXBv 4Qd3E7hGoX2V5Yq5SBsohw3d6K9omuzG6yJfLn6+yDpT7Oa4XFlzs161dfIggEQBiAqsto DpXVmCbSCmXd3eiQ2lyk5sFq2R9q08D6HKa+MEC/uMH9bM4/Dh9Eb0SO3vJiKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t16EKuzngWDUXB7E9fxTnt/CBn+TK/Eq/WY6OP/DNKw=; b=CFbpnxv1Ns5kIl14QGydeEj9yKYsjECXSWodkVFGF1FMq+F5O3H2djSx2UK7BJZK8ggLZ7 W74TE7TvtRlb5y08DfU+JmGcgHDP+lkDr9X7ryw/H9C2UVqxQisvt3s8mDaLnfZWsokbDF I+ccqpC9KDkjI+qrEK1vT48wOUebeQi+fU4nz3NNbowXhbpbxdyCHqWsA3XbAPssK8yJeN IpVq5Db6LiUK+XdPVZWpxj2GS46YsPOlCFD0E/jI7k+E9L//wnDjI9kazOofM+6qwHaOB7 lMIGEQ9Sj1QLQDsHqzj5bTUQDkk95O/KKXJcuMeOQmhch6D4vuyy4QIClsCMlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431116; a=rsa-sha256; cv=none; b=bTRSL+pV+32D1RmxUKjD/s8QlLkzbhjLzEO6S+2cepvG36Z9FtH7tUXi1+X+yiLuDcUOAL aFR9ydNAVonjsaPmETgMOCUDoYUmPrhwBmgeEn/PC+K74DILmAe5nZUoqz9vdRMgSlrh88 ftOYviqIfzcTJESgxuRoFl0B5lM4eS9CvDsdQVDKMzWus0HLmwNDugwFUwXEcufwYEnNKF UI8dK5w0mvg20vydef+UltlNaZUvWtndTqhnMWF/3cL20yVFBpO9JXzNRXfEi+ZD59a9OV l6Pzgre9x+Nuq4L2iFpExVvttiOArQR28Q3dtZGlxAMdWW+AzydhrItq3AyYHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQh4RMKz19DZ; Thu, 27 Jul 2023 04:11: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 36R4BuBn097558; Thu, 27 Jul 2023 04:11:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4Buqw097557; Thu, 27 Jul 2023 04:11:56 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:56 GMT Message-Id: <202307270411.36R4Buqw097557@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 195e50541eca - main - libexec: Automatically generate rtld-elf list and generalise TAGS List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 195e50541eca73b8d40bed4223b87ba48cfed27d Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=195e50541eca73b8d40bed4223b87ba48cfed27d commit 195e50541eca73b8d40bed4223b87ba48cfed27d Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:45 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:45 +0000 libexec: Automatically generate rtld-elf list and generalise TAGS Note that the pattern for matching is made slightly more specific, so as to permit libcompats where one is a prefix of another (e.g. CheriBSD has lib64 and lib64c). Reviewed by: brooks, jhb, emaste, imp, kib Differential Revision: https://reviews.freebsd.org/D41183 --- libexec/Makefile | 6 +++++- libexec/rtld-elf/Makefile | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libexec/Makefile b/libexec/Makefile index a890115fd15a..f1e99e580e97 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -3,6 +3,8 @@ .include +.include + SUBDIR= ${_atf} \ ${_atrun} \ ${_blacklistd-helper} \ @@ -84,7 +86,9 @@ _tftp-proxy= tftp-proxy .if !defined(NO_PIC) && !defined(NO_RTLD) _rtld-elf= rtld-elf -SUBDIR.${MK_LIB32}+= rtld-elf32 +.for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} +SUBDIR.${MK_LIB${LIBCOMPAT}}+= rtld-elf${libcompat} +.endfor .endif .if ${MK_RBOOTD} != "no" diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile index a132c756723f..5a31ca674a53 100644 --- a/libexec/rtld-elf/Makefile +++ b/libexec/rtld-elf/Makefile @@ -14,13 +14,17 @@ MK_ASAN= no MK_SSP= no MK_UBSAN= no +.include + .if !defined(NEED_COMPAT) CONFS= libmap.conf .endif PROG?= ld-elf.so.1 -.if (${PROG:M*ld-elf32*} != "") -TAGS+= lib32 +.for _libcompat in ${_ALL_libcompats} +.if ${PROG:M*ld-elf${_libcompat}[-.]*} != "" +TAGS+= lib${_libcompat} .endif +.endfor SRCS= \ crtbrand.S \ rtld_start.S \ From nobody Thu Jul 27 04:11:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQk0Qjhz4pQDr; Thu, 27 Jul 2023 04:11: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 4RBHQj6GLxz3nFv; Thu, 27 Jul 2023 04:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RbEn9y8XdphLB19jfivXoqPzX6W3+41KJm1ia/aZzG0=; b=So90IGgiohqsDjpXA2wk1wi+qH5m9ow5Tj4dkz8trDSAlGkbC+lmRm1qKLHbM7n4B4/eRd kwluO0M+5uCy8ANVkMSkUuK+CcBTtFX8NaK43n87+anCodz949O5ajuJVT2cjDynDW96El 8JwTxoJx4aol4acrWqUXYNSPKg875+MfQAF3x+MOgaKMj1TpXMBFrfG5ZU5CDd5BiS0460 V1K11AMlZW6f43SEWJYGFZ3/tgkLwPuj3SxKnn9+sR0gQXbPesPt88Bp+pAgLVd1nyWcP7 06Y2z0U6uKtyKR5pRCnOFtvJnIHeqnp+OaKn4B2j8TwAuMPnWmmnd7tYp30TGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RbEn9y8XdphLB19jfivXoqPzX6W3+41KJm1ia/aZzG0=; b=EHFx1D5RsrdlVe00V/kdHUFdiBt8vGXH+P0XtFKKQ5VjvfDG5X9rL1/MarVDXPx7ZHVAnc 3HM3xEKw4yjN68HwlN+CqCXIo64bQPUlTlCwjS8RKDXqEKuO8WfgHEcnqfObHZW2pIILPy ORpPZA258SuVQlmyo9qTeIpIyQq14aId322UtfGQf4CCvPMDGsLnVJ0PbtckmHliv/BXAD dfYDLWQt0uiON+YWmQNRjOg0WcIckai0ISKkw/XQjK39S9VcNMGE125PvC0cPHs4yeBq+G cmqFsr59/fZG6K+A2DNC1E0KrLsPmVyf4vfk6wF1zkjKdqU6/h8MicJ4SZayrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431117; a=rsa-sha256; cv=none; b=RfSFaPJLvmW6rK1edGkzVLUunIPUInALIyaRtnpaWblQXHocOEIyQDbWt2j5NVV2Iuvk63 popOG1eVwUUBR03EsIFjrF2wWTNfJkCAliI5mOjbMcK1QvHDL1Hg2c6gUFOwND0YwiLEhN 324aZC0ynPgGmv2XxwKipAeNIWWgiCq+49ltKofhXG2PP6ZomQQxsXwoz7YMPoeo4DvBHT mdjj3SLSBHt0+K6VdL1QVvAtKmAFn0uIOuIu/g54cBuiN6Oe+sNOREcYybYaYsElJr1bM5 Ms+0ql/MQe9vqLGmpyrkyge7KbksFZvZdvuHSNT1MqelY0s9Z9OqSjwUvpRvgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQj596Cz191H; Thu, 27 Jul 2023 04:11: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 36R4BvGN097577; Thu, 27 Jul 2023 04:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4BvcI097576; Thu, 27 Jul 2023 04:11:57 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:57 GMT Message-Id: <202307270411.36R4BvcI097576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 6853d893c7fe - main - release: Automatically generate MK_LIB${LIBCOMPAT} and lib${libcompat}-dbg 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: 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6853d893c7fe65dfd7baaae9084467e312a62310 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=6853d893c7fe65dfd7baaae9084467e312a62310 commit 6853d893c7fe65dfd7baaae9084467e312a62310 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:45 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:45 +0000 release: Automatically generate MK_LIB${LIBCOMPAT} and lib${libcompat}-dbg lists Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41184 --- release/Makefile | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/release/Makefile b/release/Makefile index 16fae5d74acb..c10d46247e97 100644 --- a/release/Makefile +++ b/release/Makefile @@ -37,6 +37,8 @@ WORLDDIR?= ${.CURDIR}/.. PORTSDIR?= /usr/ports +.include "${WORLDDIR}/share/mk/bsd.compat.pre.mk" + .if !defined(TARGET) || empty(TARGET) TARGET= ${MACHINE} .endif @@ -164,19 +166,20 @@ disc1: packagesystem mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ - MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=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 # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32)-dbg'); \ + for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done .if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32)-dbg'); \ + for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done .endif @@ -204,7 +207,8 @@ bootonly: packagesystem cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ MK_GAMES=no \ - MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=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 \ @@ -242,12 +246,12 @@ dvd: packagesystem -DDB_FROM_SRC # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST $$(ls *.txz | grep -v -- '(base|lib32)-dbg'); \ + for dist in MANIFEST $$(ls *.txz | grep -v -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done .if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32)-dbg'); \ + for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done .endif From nobody Thu Jul 27 04:11:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQl2drVz4pQ52; Thu, 27 Jul 2023 04:11: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 4RBHQl0SGFz3nPG; Thu, 27 Jul 2023 04:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbZzEdr/CNrdP8NIbwGazDhdwKKECs/E9z5qxjSY8Q8=; b=Ds106r3KIZYaTnzzhcg5aOdR/jZcj8mzphikA+IsiwQYfqV8cYyCTs94BtzZzhC94Glmft rabvIkSVvqViz0rNp6STboxwzWJLz9iFZ+LMtGmOfHcsmJs84z/pPkWfL0VAZtD7vQzkIV RWs+j2Mml+Q/LS48/5o8l+d6QG5Lhx6QVDRkYNj0IJmzP4boGok69v8Ppkw55edZ4FEEKb LUPG3WFNsmtTmrRrVMozjcPBOepWiR0ypQyrxC5WiL8eMGS2yYJ9O3p+6wxVz/psxOwqxM Q8pyeCOsE3QH4V21X0r/Na+6gBsbNDPHG8ZbD2KOhdag8RRjx/D3LcOyjZHWPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbZzEdr/CNrdP8NIbwGazDhdwKKECs/E9z5qxjSY8Q8=; b=WHDiqY29v4/OG+fZujakZRtNW2+GshOvPOrG2J/rMPkpUvymXYGQk5SJEXGmBtsx4+rMB5 bQ+H9YRL5xlLdUfu60SHy6InonSqwFo9qHZIxu3YSCI3GEm7oFiAWfUUVTNTYzejte0Wp/ e6V+nHNhB7ZeWQjXBQp/s5Foo7NXB5xQe6wi3tFn2iLa6HMSKDGMmYKCKo7gm2NYfe87e8 Ix+sC/NYz8ttp2BXFyn2mJBBNscD9n9Ax1upWxaPJCiISrPtZKGKC9GK61g+yS+C/huR/4 UK8jbrkWZEQMNJAR3XtsTJriQ2PEvZzTt2gVvOb24DRUj77bTtrse1ILs/Pf+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431119; a=rsa-sha256; cv=none; b=XnY7echS0YNJc6eBpwl1W41KRfvp5v3QEWddvVne++qyJYAKLnMUAiQJPpI7rqrzcGfS8g GqMyanhur23+PB18+x76O8x/pCKg4PRKYsg/rXXOWoy8jLDlREyh7bS0kKOXgjMwBjD/31 u6/r1RW5e47/vfuPJm/J2jxmL6Dp4f7uBPJdowTm/FQu12G/eVW+zqY8uAyX0a8jYdZmaj g2s3X1qbcjxk+v+ZGUybU7MXxayo+dZzrzw68cLPKWuqYvjl7v4JNEX70gtsbiRYiTRnc4 i8E9+qF6U345bHP3TfXGNLAW1oWexx0lRJCX+V2pgPACJMzpiDhQV4lACtuNIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQk6Ngsz19Mg; Thu, 27 Jul 2023 04:11: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 36R4BwGl097600; Thu, 27 Jul 2023 04:11:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4BwXG097599; Thu, 27 Jul 2023 04:11:58 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:58 GMT Message-Id: <202307270411.36R4BwXG097599@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 87177389b75d - main - bsd.lib.mk: Automatically generate libcompat TAGS List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87177389b75d93618faa9a64ec29c16b53f09129 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=87177389b75d93618faa9a64ec29c16b53f09129 commit 87177389b75d93618faa9a64ec29c16b53f09129 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:46 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:46 +0000 bsd.lib.mk: Automatically generate libcompat TAGS Note that the pattern for matching is made slightly more specific, so as to permit libcompats where one is a prefix of another (e.g. CheriBSD has lib64 and lib64c). Reviewed by: brooks, jhb, emaste Differential Revision: https://reviews.freebsd.org/D41185 --- share/mk/bsd.lib.mk | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index a58114af43c4..4e653a7bcb20 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -5,6 +5,7 @@ .include .include .include +.include ____: @@ -64,9 +65,11 @@ CTFFLAGS+= -g STRIP?= -s .endif -.if ${SHLIBDIR:M*lib32*} -TAGS+= lib32 +.for _libcompat in ${_ALL_libcompats} +.if ${SHLIBDIR:M*/lib${_libcompat}} || ${SHLIBDIR:M*/lib${_libcompat}/*} +TAGS+= lib${_libcompat} .endif +.endfor .if defined(NO_ROOT) .if !defined(TAGS) || ! ${TAGS:Mpackage=*} From nobody Thu Jul 27 04:11:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQm5tQcz4pQNt; Thu, 27 Jul 2023 04:12: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 4RBHQm1M9Lz3nPh; Thu, 27 Jul 2023 04:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6CCrgVjYPzsHdhysKUo3mQwwVdmy6UCTEnL3Cta1xk4=; b=VZwQfTx4TUsaMpgpcthpHQ7+gLGEGGbfXk9RLKwO6zqGybqvtV8AHZrVZ9yJjT7C2oFUfb m19aK537cHEBw+E+oz6vm+CKNKnwhAxsJGk52hZQDLAdkBA91IvS3PT6ub11YK28RLlczN 7x/WI5FQcTPa+PYO+foJC56Nj+cByafCTPdyWOaypw2X/N8cHE+pMopOKbmrSDAmp9zPMR OcNF7NKdhFJxfAJHm2tlSFHbSEpBl0v6gDEYkGW+YwXOw5tdNKr3AtnzEn1g/A5VuVXRPi CuUeR6VX7MNkZIf/W2nG4NjeeuKQCu5UPkSQJSorNr4LS5zMvdR+L7gnKs970g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6CCrgVjYPzsHdhysKUo3mQwwVdmy6UCTEnL3Cta1xk4=; b=nZXuVvliSn/bDnGL2bBM+0KILQWOJUNe2jaD/wXTcFR0FsdvyS0hpXU6S8z/rLa19lxGI1 4fhQ2WnK5lpMOqjx1oWIW2ryL9DHlvst1NTWwpUkoEr5dIL9HGDhaLDoAWaPDEu1vkylll GxXi7ndbUZYMcJamWMD6QeJXkK8IgxZgQMFOBcZo+dee6Ebq7XuKU57Qc1ifV4tlHa+Tiz Ya8wlZhoY6EDb1TtMXEe+kF4ohnCvH2QnwnDq1YlQnG2EPGXTQ9Gl48f/jcEsjTZ6l+OCe TZRX3akXimXdVuYILXGKd0qVjMCWouh01jKSnJ3UpbT4D0KYr5jbFTRGvwfgxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431120; a=rsa-sha256; cv=none; b=NzpCX21ArCrWWHeGcQnokfF2wWcueNDj4D+R4yMEUvPge/4suiu2gJiFzjDM8xyjU0rba/ e7Ic8xzx5le4etF3gyIjKoi9jBMYmzhGQuwqrykq7eXTTKCU04Lh11z/wXKaf9fM31SA4y +iZ1VCGHfoBL2qP+CHIWK8ZDoOMu+Vxr/Lbc28rnm5mssHMQWMWt+fpFiNwsWG+95n82zN bXuA/vINQja3y7a9VrZMYf1MNz1QCD2Beo9pz0Vt/Aj/mXhenyBn5CP4aNAu89SBsVw+5D 6fPOEsHSzrrCYhf8x8h0XUQxDSK1Jtcivh4QIrl6LTj1myMAVMFOkgoLp5Xj0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQm0C8Xz191J; Thu, 27 Jul 2023 04:12: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 36R4Bx0m097621; Thu, 27 Jul 2023 04:11:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4Bxx8097620; Thu, 27 Jul 2023 04:11:59 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:11:59 GMT Message-Id: <202307270411.36R4Bxx8097620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 64140bb529ea - main - OptionalObsoleteFiles.inc: Automatically generate libcompat 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64140bb529eaaebd3cb972deb3d03eae1320d265 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=64140bb529eaaebd3cb972deb3d03eae1320d265 commit 64140bb529eaaebd3cb972deb3d03eae1320d265 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:46 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:46 +0000 OptionalObsoleteFiles.inc: Automatically generate libcompat directories Reviewed by: brooks, jhb, emaste Differential Revision: https://reviews.freebsd.org/D41186 --- tools/build/mk/OptionalObsoleteFiles.inc | 46 +++++++++++++++++--------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 2d03822ffaaf..783e75e5b4c3 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -1017,7 +1017,9 @@ OLD_FILES+=usr/share/dtrace/tcptrack OLD_FILES+=usr/share/dtrace/udptrack OLD_FILES+=usr/share/man/man1/dtrace.1.gz OLD_DIRS+=usr/lib/dtrace -OLD_DIRS+=usr/lib32/dtrace +. for libcompat in ${_ALL_libcompats} +OLD_DIRS+=usr/lib${libcompat}/dtrace +. endfor OLD_DIRS+=usr/libexec/dwatch OLD_DIRS+=usr/share/dtrace/toolkit OLD_DIRS+=usr/share/dtrace @@ -3677,34 +3679,36 @@ OLD_FILES+=usr/share/man/man5/keymap.5.gz OLD_FILES+=usr/share/man/man8/moused.8.gz .endif -.if ${MK_LIB32} == no -OLD_FILES+=etc/mtree/BSD.lib32.dist -OLD_FILES+=libexec/ld-elf32.so.1 -. if exists(${DESTDIR}/usr/lib32) -LIB32_DIRS!=find ${DESTDIR}/usr/lib32 -type d \ +.for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} +. if ${MK_LIB${LIBCOMPAT}} == no +OLD_FILES+=etc/mtree/BSD.lib${libcompat}.dist +OLD_FILES+=libexec/ld-elf${libcompat}.so.1 +. if exists(${DESTDIR}/usr/lib${libcompat}) +LIB${LIBCOMPAT}_DIRS!=find ${DESTDIR}/usr/lib${libcompat} -type d \ | sed -e 's,^${DESTDIR}/,,'; echo -LIB32_FILES!=find ${DESTDIR}/usr/lib32 \! -type d \ +LIB${LIBCOMPAT}_FILES!=find ${DESTDIR}/usr/lib${libcompat} \! -type d \ \! -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo -LIB32_LIBS!=find ${DESTDIR}/usr/lib32 \! -type d \ +LIB${LIBCOMPAT}_LIBS!=find ${DESTDIR}/usr/lib${libcompat} \! -type d \ -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo -OLD_DIRS+=${LIB32_DIRS} -OLD_FILES+=${LIB32_FILES} -OLD_LIBS+=${LIB32_LIBS} -. endif -. if ${MK_DEBUG_FILES} == no -. if exists(${DESTDIR}/usr/lib/debug/usr/lib32) -DEBUG_LIB32_DIRS!=find ${DESTDIR}/usr/lib/debug/usr/lib32 -type d \ +OLD_DIRS+=${LIB${LIBCOMPAT}_DIRS} +OLD_FILES+=${LIB${LIBCOMPAT}_FILES} +OLD_LIBS+=${LIB${LIBCOMPAT}_LIBS} +. endif +. if ${MK_DEBUG_FILES} == no +. if exists(${DESTDIR}/usr/lib/debug/usr/lib${libcompat}) +DEBUG_LIB${LIBCOMPAT}_DIRS!=find ${DESTDIR}/usr/lib/debug/usr/lib${libcompat} -type d \ | sed -e 's,^${DESTDIR}/,,'; echo -DEBUG_LIB32_FILES!=find ${DESTDIR}/usr/lib/debug/usr/lib32 \! -type d \ +DEBUG_LIB${LIBCOMPAT}_FILES!=find ${DESTDIR}/usr/lib/debug/usr/lib${libcompat} \! -type d \ \! -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo -DEBUG_LIB32_LIBS!=find ${DESTDIR}/usr/lib/debug/usr/lib32 \! -type d \ +DEBUG_LIB${LIBCOMPAT}_LIBS!=find ${DESTDIR}/usr/lib/debug/usr/lib${libcompat} \! -type d \ -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo -OLD_DIRS+=${DEBUG_LIB32_DIRS} -OLD_FILES+=${DEBUG_LIB32_FILES} -OLD_LIBS+=${DEBUG_LIB32_LIBS} +OLD_DIRS+=${DEBUG_LIB${LIBCOMPAT}_DIRS} +OLD_FILES+=${DEBUG_LIB${LIBCOMPAT}_FILES} +OLD_LIBS+=${DEBUG_LIB${LIBCOMPAT}_LIBS} +. endif . endif -. endif .endif +.endfor # LIBCOMPAT libcompat .if ${MK_LLD} == no OLD_FILES+=usr/bin/ld.lld From nobody Thu Jul 27 04:12:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQn71n3z4pQLp; Thu, 27 Jul 2023 04:12: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 4RBHQn25MHz3nd3; Thu, 27 Jul 2023 04:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yRyJyAz/62WkPpr1k701R7Xec/Fqee1zIn/TWyqXWe8=; b=ix7dJERxmF0ZHbkQvkfgbOuimHrGbgyUY81SblnucD2yaRFUogSDHE+PGx1gfQfonycrWv KWQeNe1RforXTYBbHMlXGbf6BUGoclOEKP5+gR53mNONNaVme/2OwVnQdpUgvAkQ4+Xz5K v7DniCtpdKQYIIhcUtPm095uOQJLtwX4MKi4vmrFkLpDvA7y7vgoyGW/Ob5K79ZF/aO5UN D+ovbH6gf9tcwRAKVZE5QdKfNVm5/NoGaklgP3QRvqLOs6StN0gfYTK9JvF87Lsl+H4qFd +WZJpja9qq+CPZnL+O0S2dMQNrzjHftzYzcSHimxvZxHJ/pR4xv2+poCGg8p1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yRyJyAz/62WkPpr1k701R7Xec/Fqee1zIn/TWyqXWe8=; b=RWECaFW9KGF90whCsL99J03lobTPK7BwY/MwgFictv6DlhTzR93VTRMtXTf5S0eKDtQ6J5 crmtyt0HDaZNc6BuKZTbgwEYdLLrGFs+AHDH+TgzxNVAmXMfOaDZCW2lN5gYiLCKGmSBeh drI8S4U1bqd0bGkTGGG0I8jrG5PuA4jqWSbefPq2emS0Jw8z7l5727qetBDUe1wtreKZ8S awlj62YVN0eVzZq+h1//FWhEwjskIFWZja3FsUZDGCYcPbUAO662P5bhOtXAv6lefbOKKe asTMy8aZYtCnodlhm/vj87m/W6aiQPKGHxtI5obq+CmduMot0i8roRLh08v2aA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431121; a=rsa-sha256; cv=none; b=Wwg9GKDq2sK/kmJIQzc2zFkcXcS7Ue7bXDnZE8bjD/TaD9R9nCpgiO+I4QWlkLNb2TgyXr MwWBX9fPtGMaOrISeb482Df6Ie6trQBT1CjFWlQipDbD2/tGcCqGhQbOhSP//KZ/wAfFjV glYU7HOK8ajkieoP3vzPuOucZBSEZUMnNtASZnnXYgY4G6GsPn67CHOq056R6hXIq6dLKB mtY3Ze2JRtFmHyoRN2DW9F1X1Z38N5HubRVHkZROa1YzobjbJ3Vfwb2tQVv9gcYM4bSbY1 g+ceJ2ljhc1Snlt3HE0RdastO33tQRplBfFJ4MskjmOyk+hXDgpQ2Bvg740ylA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQn19Qxz191L; Thu, 27 Jul 2023 04:12: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 36R4C1Bx097646; Thu, 27 Jul 2023 04:12:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C1cY097645; Thu, 27 Jul 2023 04:12:01 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:01 GMT Message-Id: <202307270412.36R4C1cY097645@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 81805ec30074 - main - depend-cleanup.sh: Generalise lib32 code and avoid duplication List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81805ec30074363e5d7d7add37b3ccf4f1eb396b Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=81805ec30074363e5d7d7add37b3ccf4f1eb396b commit 81805ec30074363e5d7d7add37b3ccf4f1eb396b Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:47 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:47 +0000 depend-cleanup.sh: Generalise lib32 code and avoid duplication By passing through _ALL_libcompats we can avoid hard-coding the list of libcompats in depend-cleanup.sh. This cleanup also makes clean_dep shorter by using a loop instead of handling each case explicitly (at the expense of slightly tweaked logging). Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41187 --- Makefile.inc1 | 1 + tools/build/depend-cleanup.sh | 44 +++++++++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index b3a33a928ee5..3f0546861bbd 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1026,6 +1026,7 @@ _sanity_check: .PHONY .MAKE _cleanobj_fast_depend_hack: .PHONY @echo ">>> Deleting stale dependencies..."; MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \ + ALL_libcompats=${_ALL_libcompats:Q} \ sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP} _worldtmp: .PHONY diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 39ab518d5dc9..687f04f57f8c 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -73,6 +73,10 @@ if [ -z "${MACHINE_ARCH+set}" ]; then err "MACHINE_ARCH not set" fi +if [ -z "${ALL_libcompats+set}" ]; then + err "ALL_libcompats not set" +fi + run() { if [ "$VERBOSE" ]; then @@ -88,18 +92,15 @@ run() # $3 source extension clean_dep() { - if egrep -qw "$2\.$3" "$OBJTOP"/$1/.depend.$2.*o 2>/dev/null; then - echo "Removing stale dependencies and objects for $2.$3" - run rm -f \ - "$OBJTOP"/$1/.depend.$2.* \ - "$OBJTOP"/$1/$2.*o - fi - if egrep -qw "$2\.$3" "$OBJTOP"/obj-lib32/$1/.depend.$2.*o 2>/dev/null; then - echo "Removing 32-bit stale dependencies and objects for $2.$3" - run rm -f \ - "$OBJTOP"/obj-lib32/$1/.depend.$2.* \ - "$OBJTOP"/obj-lib32/$1/$2.*o - fi + for libcompat in "" $ALL_libcompats; do + dirprfx=${libcompat:+obj-lib${libcompat}/} + if egrep -qw "$2\.$3" "$OBJTOP"/$dirprfx$1/.depend.$2.*o 2>/dev/null; then + echo "Removing stale ${libcompat:+lib${libcompat} }dependencies and objects for $2.$3" + run rm -f \ + "$OBJTOP"/$dirprfx$1/.depend.$2.* \ + "$OBJTOP"/$dirprfx$1/$2.*o + fi + done } # Date Rev Description @@ -113,7 +114,10 @@ if [ -e "$OBJTOP"/cddl/lib/libzfs/.depend.libzfs_changelist.o ] && \ egrep -qw "cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c" \ "$OBJTOP"/cddl/lib/libzfs/.depend.libzfs_changelist.o; then echo "Removing old ZFS tree" - run rm -rf "$OBJTOP"/cddl "$OBJTOP"/obj-lib32/cddl + for libcompat in "" $ALL_libcompats; do + dirprfx=${libcompat:+obj-lib${libcompat}/} + run rm -rf "$OBJTOP"/${dirprfx}cddl + done fi # 20200916 WARNS bumped, need bootstrapped crunchgen stubs @@ -134,7 +138,10 @@ fi # 20210108 821aa63a0940 non-widechar version of ncurses removed if [ -e "$OBJTOP"/lib/ncurses/ncursesw ]; then echo "Removing stale ncurses objects" - run rm -rf "$OBJTOP"/lib/ncurses "$OBJTOP"/obj-lib32/lib/ncurses + for libcompat in "" $ALL_libcompats; do + dirprfx=${libcompat:+obj-lib${libcompat}/} + run rm -rf "$OBJTOP"/${dirprfx}lib/ncurses + done fi # 20210608 f20893853e8e move from atomic.S to atomic.c @@ -183,10 +190,11 @@ clean_dep lib/libc kqueue1 S # 20230623 b077aed33b7b OpenSSL 3.0 update if [ -f "$OBJTOP"/secure/lib/libcrypto/aria.o ]; then echo "Removing old OpenSSL 1.1.1 tree" - run rm -rf "$OBJTOP"/secure/lib/libcrypto \ - "$OBJTOP"/secure/lib/libssl \ - "$OBJTOP"/obj-lib32/secure/lib/libcrypto \ - "$OBJTOP"/obj-lib32/secure/lib/libssl + for libcompat in "" $ALL_libcompats; do + dirprfx=${libcompat:+obj-lib${libcompat}/} + run rm -rf "$OBJTOP"/${dirprfx}secure/lib/libcrypto \ + "$OBJTOP"/${dirprfx}secure/lib/libssl + done fi # 20230714 ee8b0c436d72 replace ffs/fls implementations with clang builtins From nobody Thu Jul 27 04:12:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQp52ckz4pQ7L; Thu, 27 Jul 2023 04:12: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 4RBHQp36tdz3nY7; Thu, 27 Jul 2023 04:12:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6cSUNItSn1G2In6QSB8gSZG2yICxx4rLqeelcQEp9ms=; b=QOnbpu7EiOdvx4XuilOZvoRATU9h0ckUm9I/c6Nna7kUjBf/phye4b4nmafdkSekHnocfG Egvgn3rrWF/aqkHgEL6NlPZ3VEKB8/X99+G3eubQEfnFwRjLKc1kWIvwJ2FKPb5ZPETvBa GB3Rdk9Srf0gA/8Lz7UuTFwxOwyhkntjPYl1/px9JZtx5uVyUGB3zrRhwtSWMuOYuNO8Zv IiCeCO2UsD0j97O36XZeLXte2ifO9JkekkzKLofO4Ox+vhaoR55CSKigiuda+v2CWD0GXV Snlpz1wMcSrRXFq3p2plV0aaiBbvl8BIS9Kr6XwMfNYtw+CM3WkBzc4leYMcWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6cSUNItSn1G2In6QSB8gSZG2yICxx4rLqeelcQEp9ms=; b=n4xOdJvA3lshpCS5m9RmyjYom6VBcMu/qSTvtzSD0qoq3/bMHAoZUinpIVlns3z5hUWJLN OlXJtp81kDGf3bGgkDpPKprJiYCqnDsr4s54wkrfuq8g8+L6dA5gahayT7KgS7rWdzgACT DsG1DlGToMsW9ppi2+lxaes17RcSOEAEX3RveFdKV2Oa8irNMbJG3uWKfU2/QcFzVYD95a pCXm2H3fsA0Qv+9vtGqX8eLtjwTxlioioSC3g/LJzBcoePwuIY6bZ8eG7N87Wyat+Onfmj Up3EfASR6hke33Z980mvMPyo3fiMhZyRDOMVO8tLVD1GV2UrBJu7jQ6Yu7cHjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431122; a=rsa-sha256; cv=none; b=DveOFhS3oOT5bC/kurvQ/OqeiAZfFM4sclPZpTZZF07o55KIdux1x3+8Y2/C5IF/fFbelq z7s4A0DuW50/iYkRT9GPeQFAjTTfLZQx7TGC0jD8GIElLLlZq/wovfU8BR6CYlvrngPpf6 RZiIMGmERA652CyC/9XS6iMcfRyukCu3gG3yd/SQCFRc2gvrmbSjvRnw5+cTVTEfDbVuKV VXjZvF9dsJl1SKUtFDyknTkyqyERpNHbzCBA5J/BvjCjJsM6gsOu51Dws6OG6ifgeSTLzt 2KqggW0VG2AtPPAfPvTCVxtAupTKPnjcZ+LmP66WgJTK4ttkJz2M6YijnZOgdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQp1xqKz18yJ; Thu, 27 Jul 2023 04:12: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 36R4C2sD097665; Thu, 27 Jul 2023 04:12:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C2vh097664; Thu, 27 Jul 2023 04:12:02 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:02 GMT Message-Id: <202307270412.36R4C2vh097664@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 65f28f63a73d - main - tools/build: Create toolchain symlinks for non-absolute compiler/linker List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65f28f63a73d3371d9d724a2018be6d1ada0d3e0 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=65f28f63a73d3371d9d724a2018be6d1ada0d3e0 commit 65f28f63a73d3371d9d724a2018be6d1ada0d3e0 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:47 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:47 +0000 tools/build: Create toolchain symlinks for non-absolute compiler/linker If any of the toolchain variables are not absolute then we need to create a symlink in WORLDTMP/legacy/bin in order to make them available during a BUILD_WITH_STRICT_TMPPATH build. Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41188 --- Makefile.inc1 | 5 ++--- tools/build/Makefile | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 3f0546861bbd..964bdfc08699 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -602,9 +602,8 @@ STRICTTMPPATH= ${XPATH}:${BPATH}:${UNIVERSE_TOOLCHAIN_PATH} # still allow using the old behaviour (inheriting $PATH) if # BUILD_WITH_STRICT_TMPPATH is set to 0 but this will eventually be removed. -# Currently strict $PATH can cause build failures and does not work yet with -# USING_SYSTEM_LINKER/USING_SYSTEM_COMPILER. Once these issues have been -# resolved it will be turned on by default. +# Currently strict $PATH can cause build failures. Once the remaining issues +# have been resolved it will be turned on by default. BUILD_WITH_STRICT_TMPPATH?=0 .if defined(CROSSBUILD_HOST) # When building on non-FreeBSD we can't rely on the tools in /usr/bin being compatible diff --git a/tools/build/Makefile b/tools/build/Makefile index 7d6ed8befb30..46fd5c7d3159 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -312,6 +312,8 @@ _host_tools_to_symlink= basename bzip2 bunzip2 chmod chown cmp comm cp date dd \ _make_abs!= which "${MAKE}" _host_abs_tools_to_symlink= ${_make_abs}:make ${_make_abs}:bmake +_LINK_HOST_TOOL= ln -sfn + .if ${.MAKE.OS} == "FreeBSD" # When building on FreeBSD we always copy the host tools instead of linking # into WORLDTMP to avoid issues with incompatible libraries (see r364030). @@ -322,7 +324,7 @@ _COPY_HOST_TOOL= cp -pf # tools to another directory with cp -p results in freezes on macOS Big Sur for # some unknown reason. It can also break building inside docker containers if # there are ACLs on shared volumes. -_COPY_HOST_TOOL= ln -sfn +_COPY_HOST_TOOL= ${_LINK_HOST_TOOL} .if ${.MAKE.OS} == "Darwin" # /usr/bin/cpp may invoke xcrun: @@ -335,6 +337,20 @@ _host_abs_tools_to_symlink+= /bin/bash:sh _host_tools_to_symlink:= ${_host_tools_to_symlink:Nsh} .endif +# We also need to symlink any non-absolute toolchain commands. Clang finds its +# resource directory relative to itself, so CC/CXX/CPP must be symlinked, and +# we do the same for LD for consistency. There should be no concerns about +# installing over the current system since we don't use the toolchain during +# install. +.for var in CC CXX CPP LD +.for X in $${_empty_var_} X +.if !empty(${X}${var}) && !${${X}${var}:M/*} && \ + !${_toolchain_tools_to_symlink:U:M${${X}${var}}} +_toolchain_tools_to_symlink+= ${${X}${var}} +.endif +.endfor +.endfor + host-symlinks: @echo "Linking host tools into ${DESTDIR}/bin" .for _tool in ${_host_tools_to_symlink} @@ -359,6 +375,15 @@ host-symlinks: rm -f ${DESTDIR}/usr/libexec/flua ${_COPY_HOST_TOOL} /usr/libexec/flua ${DESTDIR}/usr/libexec/flua .endif +.for _tool in ${_toolchain_tools_to_symlink} + @export PATH=$${PATH}:/usr/local/bin; \ + source_path=`which ${_tool} || echo /dev/null/no/such`; \ + if [ ! -e "$${source_path}" ] ; then \ + echo "Cannot find host tool '${_tool}' in PATH ($$PATH)." >&2; false; \ + fi; \ + rm -f "${DESTDIR}/bin/${_tool}"; \ + ${_LINK_HOST_TOOL} "$${source_path}" "${DESTDIR}/bin/${_tool}" +.endfor # Create all the directories that are needed during the legacy, bootstrap-tools # and cross-tools stages. We do this here using mkdir since mtree may not exist From nobody Thu Jul 27 04:12:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQq4lWqz4pQJd; Thu, 27 Jul 2023 04:12: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 4RBHQq3qvTz3nSG; Thu, 27 Jul 2023 04:12:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pI9+gH8qcl7sftVehkLrjGP+Js7cGvCXCYp+/Ys9Azs=; b=j0O30sZy9qahynlKNDBJGgV3EgH7fUzi4CZ+NXFt/86jp95xm0KxWxbhSfMEHPap9udpQW oiPT8VaIPNgZtDOpqC/xvseEGbnHwkAUuxFthcK7taH1w3drH5sWr3aUFuy8evabVZ6c7w IXKuwKvWBDKyS951mDxFxZu/TvfQPoc/4NGNXghitNDMLwT/KELy0qZ0+IITFv3PtcZX8i HPyn12ZuPL4UIqj9S5dgXkgap0YUEVU/HqUrjWBPXfBQjsN++ARc4NDMNFfkJH09XpHN7l rgd9iUeDwo3JallwEIKCZ9x5WCxe56McDfy/Zv0AgNTS13TZE6b9V1Gz/sBxMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pI9+gH8qcl7sftVehkLrjGP+Js7cGvCXCYp+/Ys9Azs=; b=Cy0Yegq9+AhlU9ceyviUqEx3dY0dBtB4WOgjhE35ZlNwtZeq1vn6PFYCEdZGKeDFVlB7VL RwdsAY1wLgZHtgh/fOjElAcN0EZClh+P/Xah0d/M67zW+FnmIun4YMKtAA+C/+iNcgAL07 NKm9KHfZF4JVKtf8MK6g0vlPAp3UVRTRB9D3DyrMLI14TwRlYKlb+nN31GjhivaeZ9bL3b xAxh2qdwwnrcyaVFuyE7sHFbi1IK4UXtZixcoeZhFE3caKuhR3zrLO1/4J+fx/9o3xP3xX ZV29efyeyVIvLKycNkVgQnmEH3gyAGizA4JgduoUivv4sJU5vtzfO2tOcrAvhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431123; a=rsa-sha256; cv=none; b=ToLZOUByhaxwsvJCYj9tCv6H/WAmYhPTUUuMTA9qCAjILm3v2UWqp/B+2QHrsdTJtd1rs+ LQjvNW45O/aPOL6XDTblpC3Qj5tQgIV2n582lmEhiPGdR5XJveKZXS+w5utOWRXPOOO/l9 DXReIsIJHCD+cowQDDu9OTttP5dwWNbijZislRZrVJDczdBKYTWaX70t12vWUUNnfaYzpV T54JS48Z1zhxdeJRBq7cxGDBzCAktF+LscrzpTC+S7rsr3gCoRVfe+x0sB0l4p8GZmJhHz 3GaTw7YdQQ3Rluapb8CR2KhKrd6ZkFlxsUudJCli1x1l5Amyz0z8iYRFD+wHHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQq2ZB0z191N; Thu, 27 Jul 2023 04:12: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 36R4C35V097684; Thu, 27 Jul 2023 04:12:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C3n3097683; Thu, 27 Jul 2023 04:12:03 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:03 GMT Message-Id: <202307270412.36R4C3n3097683@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 8fc3059b00c5 - main - Makefile.inc1: Split _cleanworldtmp out from _worldtmp List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8fc3059b00c570fc7475ce84e5f8f8e13195df44 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=8fc3059b00c570fc7475ce84e5f8f8e13195df44 commit 8fc3059b00c570fc7475ce84e5f8f8e13195df44 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:48 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:48 +0000 Makefile.inc1: Split _cleanworldtmp out from _worldtmp This mirrors _cleanobj vs _obj, and will be used by etcupdate to ensure its build tree has host tools available when BUILD_WITH_STRICT_TMPPATH is enabled by default (whether in the source tree, like CheriBSD, or in a system config file). Note that due to line length the .MAKE .PHONY dependency line is split into two, one for the filtered WMAKE_TGTS and one for the filtered .ALLTARGETS. Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41190 --- Makefile | 2 +- Makefile.inc1 | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 22d088c8f2da..f3bc3d1f96aa 100644 --- a/Makefile +++ b/Makefile @@ -172,7 +172,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ list-old-dirs list-old-files list-old-libs \ obj objlink showconfig tags toolchain \ makeman sysent \ - _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ + _cleanworldtmp _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _build-metadata _cross-tools _includes _libraries \ builddtb xdev xdev-build xdev-install \ xdev-links native-xtools native-xtools-install stageworld stagekernel \ diff --git a/Makefile.inc1 b/Makefile.inc1 index 964bdfc08699..aa65711fbc0b 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1028,12 +1028,12 @@ _cleanobj_fast_depend_hack: .PHONY ALL_libcompats=${_ALL_libcompats:Q} \ sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP} -_worldtmp: .PHONY +_cleanworldtmp: .PHONY +.if ${MK_CLEAN} == "yes" @echo @echo "--------------------------------------------------------------" - @echo ">>> Rebuilding the temporary build tree" + @echo ">>> Cleaning up the temporary build tree" @echo "--------------------------------------------------------------" -.if ${MK_CLEAN} == "yes" rm -rf ${WORLDTMP} .else # Note: for delete-old we need to set $PATH to also include the host $PATH @@ -1059,6 +1059,11 @@ _worldtmp: .PHONY @rm -f ${WORLDTMP}/usr/bin/ld ${WORLDTMP}/usr/bin/ld.lld .endif # ${USING_SYSTEM_LINKER} == "yes" .endif # ${MK_CLEAN} == "yes" +_worldtmp: .PHONY + @echo + @echo "--------------------------------------------------------------" + @echo ">>> Rebuilding the temporary build tree" + @echo "--------------------------------------------------------------" @mkdir -p ${WORLDTMP} @touch ${WORLDTMP}/${.TARGET} # We can't use mtree to create the worldtmp directories since it may not be @@ -1174,7 +1179,7 @@ everything: .PHONY WMAKE_TGTS= .if !defined(WORLDFAST) -WMAKE_TGTS+= _sanity_check _worldtmp _legacy +WMAKE_TGTS+= _sanity_check _cleanworldtmp _worldtmp _legacy .if empty(SUBDIR_OVERRIDE) WMAKE_TGTS+= _bootstrap-tools .endif @@ -1690,7 +1695,8 @@ _cleankernobj_fast_depend_hack: .PHONY .endfor .endif -${WMAKE_TGTS:N_worldtmp:${libcompats:@v@Nbuild${v}@:ts:}} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY +${WMAKE_TGTS:N_cleanworldtmp:N_worldtmp:${libcompats:@v@Nbuild${v}@:ts:}}: .MAKE .PHONY +${.ALLTARGETS:M_*:N_cleanworldtmp:N_worldtmp}: .MAKE .PHONY # record kernel(s) build time in seconds .if make(buildkernel) From nobody Thu Jul 27 04:12:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQr64p9z4pQRk; Thu, 27 Jul 2023 04:12: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 4RBHQr4ygTz3nf6; Thu, 27 Jul 2023 04:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nVWLbIMCRlzB2cj9C/eVlDLw0BrdOkTlGaVejwZWVdk=; b=rInEePLhiHFOs+/zPbm2oYs4o88OPCLH7wbsHll4Q+VtsiVX99RRWj7zLG3cDwIBxYYgrZ BnVEPXjD+jNCOOGmxKA+wIwb1NPwVFEvlS/FErUg2N5trWwwikb1dTMt0uUlddr6ENlWvE hGfmh9VM+lmYkXGEcySNA7OqNp3s29JoI0Id+eDEPHgRV5xr9grdKKAYmUhWFHILn+CBXI 4hrCGOe+434emYN5bF/+uXLu/ukypj7N8pDIN7gSt0jeXgaXW1UJ5kuKb8L+4jDtbOPvu9 MWa+UXEd+/03kfqvhBaum1baRlUj8IVApJAsF12NllRwYI4+wLHIgyTFMRxB9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nVWLbIMCRlzB2cj9C/eVlDLw0BrdOkTlGaVejwZWVdk=; b=Ke3opzuNlW48phC3aZx8uJHzQYa0irapFoZ8+Ct42o6mP76fSJPy/nGpNjliCPs4RViNrP XsEtuvXslvCz9A3+J5/MSg7PbIqw4YKjzZG8voCRcDw6aTb8vqwUwe/EVkVy3D3kjwbhgk vLEP31dKwt1xMPF2LEH80O7z13nTBBX1jx1qKNwv3+MJx3luUbC7ZKOOb3ieAaONIUq8Bl d1+farZsGVqxAqZAK8LVra5Pc7FaTxYQO2XQCV6L2A/vRVJYEDStFAqqn39K8EMLcN1bv6 85hLmi3EZihsYCcle0aM/2IhxgHs4haI4bkU3JXwBjhvnMgWnBVjtxhU6VichA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431124; a=rsa-sha256; cv=none; b=cdLMMGsDY03shWMkeAjnR3FCAnD1kG/ofTjVPSSE2c52t8hYSqyELw/Z6qqac+/ntshjhP I0EgDClpeX0MBUreFPg85ZCbvIf0RiVpcPLT9WxpduezbEGmQju0JvIhBvrFEWFh4DAnFe 1IFdT9hZDw1Ap6DxfxiSEawHnhGnpp2LJ1DCdE4eymHYA91H3Wr5kCyfyZ2J9fZwoy96gN vkkAoau6IJmxwtL4yHs6z0KInZvESx6YK4dI+dnxIQTMwNRU6tXKO1xAj2V94h1icWk+wg 7zIsMgVQPVzn6oCIMsXSq1Hj62uxbktgvi8br8e0Ll7g7kHdPhyLlkXHjZfVWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQr3Ktgz19Dd; Thu, 27 Jul 2023 04:12: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 36R4C4TX097703; Thu, 27 Jul 2023 04:12:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C4f2097702; Thu, 27 Jul 2023 04:12:04 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:04 GMT Message-Id: <202307270412.36R4C4f2097702@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 03e62670c33c - main - etcupdate: Consolidate nobuild cases and make more robust List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03e62670c33c5d68ea69c842c24fe86765e2639e Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=03e62670c33c5d68ea69c842c24fe86765e2639e commit 03e62670c33c5d68ea69c842c24fe86765e2639e Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:48 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:48 +0000 etcupdate: Consolidate nobuild cases and make more robust The distrib-dirs and distribution steps are shared between the two, the only difference is whether MAKEOBJDIRPREFIX is in the environment for the latter. Having in the environment for the former is currently not needed but does no harm and will be needed in future, so we can just export it up-front in the subshell. When we do distrib-dirs relative to _obj and everything also doesn't matter, so move it next to distribution where it makes more sense. Finally, to avoid complicated && chains, use "|| exit 1" everywhere to make the subshell fail, and add an extra one on to the cd $SRCDIR to handle that failing (otherwise we'd go on and try to build the current directory after cd prints its error, which is unhelpful). These changes will make it easier to bundle these steps up into new top-level targets to allow the build system to manage the steps rather than etcupdate, which will also handle BUILD_WITH_STRICT_TMPPATH, which currently does not work with etcupdate. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D41204 --- usr.sbin/etcupdate/etcupdate.sh | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index d15d1498200f..ae75a6e36f03 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -214,15 +214,17 @@ build_tree() mkdir -p $1/etc || return 1 cp -p $SRCDIR/$file $1/etc/$name || return 1 done - elif ! [ -n "$nobuild" ]; then - (cd $SRCDIR; $make DESTDIR=$destdir distrib-dirs && - MAKEOBJDIRPREFIX=$destdir/usr/obj $make _obj SUBDIR_OVERRIDE=etc && - MAKEOBJDIRPREFIX=$destdir/usr/obj $make everything SUBDIR_OVERRIDE=etc && - MAKEOBJDIRPREFIX=$destdir/usr/obj $make DESTDIR=$destdir distribution) || \ - return 1 else - (cd $SRCDIR; $make DESTDIR=$destdir distrib-dirs && - $make DESTDIR=$destdir distribution) || return 1 + ( + cd $SRCDIR || exit 1; + if ! [ -n "$nobuild" ]; then + export MAKEOBJDIRPREFIX=$destdir/usr/obj; + $make _obj SUBDIR_OVERRIDE=etc || exit 1 + $make everything SUBDIR_OVERRIDE=etc || exit 1 + fi + $make DESTDIR=$destdir distrib-dirs || exit 1 + $make DESTDIR=$destdir distribution || exit 1 + ) || return 1 fi chflags -R noschg $1 || return 1 rm -rf $1/usr/obj || return 1 From nobody Thu Jul 27 04:12:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQt2N6Hz4pQML; Thu, 27 Jul 2023 04:12: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 4RBHQs5Jytz3nbf; Thu, 27 Jul 2023 04:12:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XjqJSGEbyNxNKWFcKZVbuyCCrgA9TO7HgZkn0M5E1Us=; b=mPK4Fo52XufPOaIjw2pviSQ/ibn5RgMxlo4sL/06jQAJeLms/9LTRxwhHzboSzn5I1wsE3 hbsmqKnj6rvUVmoXUqHDYE7wwPRsiL00cmNc8xnMCaJJ7PcwzLS43yygWv6KNAGlhlAecz 8KuVpZM8l2eE/P23UETi851LRTlasaI7xeciydGkBgWND7i7GvgPAeozZnxlM5GwYY2Wap YDQDdMo6jrrdWbPrD30cyEoIyCIyKZWfKXovP/UnS536j3nBc86T7FimEJZnOe8qjbt+M6 B4CbDhuarX5e1j4CxXZd2zlzaPbDF7itfxz/ZqqD33X2pUDWIXpzX7P+magBFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XjqJSGEbyNxNKWFcKZVbuyCCrgA9TO7HgZkn0M5E1Us=; b=oxs1yaPgwLBUYiPo7reW6Q9jZ2MQGCHrBfqkCbBFDC18G5kfcnXqbXvNPv7rZ+inQTvLLL Xf6yqBX3NA1FFMpubsoQ3QAMJR6YeO++b06paaHyDxdUGNB3MVe3dJYH9PAvdrGcieYvsF /HZ5Tk5kxy9p3wegDru1gtVCebtvBqx9adO7I9STeqZGxqq367QElsfPSURkUZ/Wvj2meN Y8YjH2iAKjapixHpRt+1AC2rGIwwRYrhpaPH2iNsNrV/7HAD5psOl3UculPdqZGZjdEzVY O80ijbgYa0Fp67k9/K742YFVdjkqQTSq8rPk7eeMSShaS+YbZPdcFun9aTdBKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431125; a=rsa-sha256; cv=none; b=LK6mMe263KfNFyJON4vNy8veEFcWtPTEFI/hT+xwbtvE5EnTh197leis8YCvAoamkE9RAT qWLv3FOBlgIrXLXGEDXUm5MjM2LzDd0j+BJImD4KCf24Fjkz5DzkxVeiVOohbzIE66IXzr VPoZm+lhFODgO1YrOjLH6dPR2BC8DlByemM5sept385Yark3+FyjjXK5AdSx6qT3zYppQv 23mBLzUllC2XgurCJwf4U4Y8r9teE5VNpMu95lKnlZ+xEur4gsa0d+ZRpx6MR8LvCLDLw7 /x5zTMXvO3UYAcNKN+L0Bji7HW7eOMLGhBDghc+4g6LEvYTfJesUG+mqgcpRUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQs4Kq1z191Q; Thu, 27 Jul 2023 04:12: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 36R4C5ix097723; Thu, 27 Jul 2023 04:12:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C5S4097722; Thu, 27 Jul 2023 04:12:05 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:05 GMT Message-Id: <202307270412.36R4C5S4097722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: d81da4c98328 - main - Makefile.inc1: Add new buildetc and installetc targets List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d81da4c98328d4ee3fe4c0a85f6874a3c69a1afd Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=d81da4c98328d4ee3fe4c0a85f6874a3c69a1afd commit d81da4c98328d4ee3fe4c0a85f6874a3c69a1afd Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:49 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:49 +0000 Makefile.inc1: Add new buildetc and installetc targets These implement the steps that etcupdate (and mergemaster) need in order to build their pristine trees, avoiding the need to use internal targets and variables. Additionally, buildetc includes the steps needed to build with BUILD_WITH_STRICT_TMPPATH enabled, since we need some host tools to be available during the various build and install steps. Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D41205 --- Makefile | 4 ++-- Makefile.inc1 | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f3bc3d1f96aa..699f003bf7df 100644 --- a/Makefile +++ b/Makefile @@ -158,14 +158,14 @@ __DO_KERNELS?=yes .include "${.CURDIR}/share/mk/bsd.compat.pre.mk" -TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ +TGTS= all all-man buildenv buildenvvars buildetc buildkernel buildworld \ check check-old check-old-dirs check-old-files check-old-libs \ checkdpadd checkworld clean cleandepend cleandir cleankernel \ cleanworld cleanuniverse \ delete-old delete-old-dirs delete-old-files delete-old-libs \ depend distribute distributekernel distributekernel.debug \ distributeworld distrib-dirs distribution doxygen \ - everything hier hierarchy install installcheck installkernel \ + everything hier hierarchy install installcheck installetc installkernel \ installkernel.debug packagekernel packageworld \ reinstallkernel reinstallkernel.debug \ installworld kernel-toolchain libraries maninstall \ diff --git a/Makefile.inc1 b/Makefile.inc1 index aa65711fbc0b..f8d4b4333d99 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1623,6 +1623,29 @@ distrib-dirs distribution: .MAKE .PHONY MK_TESTS_SUPPORT=${MK_TESTS_SUPPORT} installconfig .endif +# +# buildetc and installetc +# +buildetc: .MAKE .PHONY + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _worldtmp + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _legacy + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _bootstrap-tools \ + MK_CROSS_COMPILER=no MK_TOOLCHAIN=no + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj \ + SUBDIR_OVERRIDE=etc + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 everything \ + SUBDIR_OVERRIDE=etc + +installetc: .MAKE .PHONY + @echo "--------------------------------------------------------------" + @echo ">>> Making hierarchy" + @echo "--------------------------------------------------------------" + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distrib-dirs + @echo "--------------------------------------------------------------" + @echo ">>> Making distribution" + @echo "--------------------------------------------------------------" + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribution + # # buildkernel and installkernel # From nobody Thu Jul 27 04:12:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQv3DGYz4pQHG; Thu, 27 Jul 2023 04:12: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 4RBHQt74hsz3nms; Thu, 27 Jul 2023 04:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D47sdoGPoLtdDW7x6iQ0D0C3o+WJ4ply5LFtKUb3JbA=; b=sBIQ2Tx9khgXvtd2qcY2lRYYtKK8Nl6yyFsFJCwR5nHipoxTMVqx6a1vsY2K4QgaJvNmqy yMeIuWRB8/2H2kgzNr0pdAiADeR8hrqgY4bfL2Ur+FwxM9eRlyKvqHH9q9iXNDCqAxs4u+ cDJyeqri8cgjFX71GC4qhFoTpIUoda1ECRQFiqwORwbXi86epnXi1xFU/pqo6pt3R0zuZx Dv3dQ/Uj5K2KMnpOS9miad2Jdc3DkTCfNzeXDvm387e+Lj0OsSwlHKAA6oclwQQPifxRR6 sNzk+c1azZAgAxYw+UKDFHfkosLwXDQUeea9WRTIe1epQ8NN1vwz7+UaFEmgrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D47sdoGPoLtdDW7x6iQ0D0C3o+WJ4ply5LFtKUb3JbA=; b=xNOFfxZCoUfeIGLZaE+EGlBEcbheHMLkO6BthvlUi45ETH+MBrLteXaR0+sFe/iXdau0sF 7v/dXDBs+wYm3KVw78h7zAEBPVefFCc9frjQQGLCYR2dgRuxWnUwb0YdqItfk7zI4sa/Kx yM+gI0Y8z9EQprZUJVcl9k2b8cDuwEAxkB69k09EHXrorw2oJVVd88KrNoD/sDy3QX/1je QPePQpHJPfNM9v/036B/b5bULl7scspIvSp9ElnaCw2D84epUxJEFRTXiPOZ5/P1NkCt4f kMZogzJBLRSv+SHLLrAkoDh2OTnzJc6u9zYiqYqhJ1VrNd/QLnc9/nFl+kb1PQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431127; a=rsa-sha256; cv=none; b=DRoV4pxrx5tpp4vmimqZP6BJ+0nPSKJVJDJaOkvSBklQcIdw8weuEzEDqILblKUtztmGYJ 56JROq4DO+1EReHxgNByYbT8gIySSRaY10V0OKfiKtckYlprmUW7E6wGWeyAQ7I2F7UYf+ Ogk28AzbeEAamiR53ZNWh6vUjWkLaIGOi30NNSKku1gxBhkGQRaZ1KW9ZP/Lm/lm7/35T8 KGOmHh2yRAPQO1MEYqNqvtqmofVPTPopofDq2TOzmowFiwug1p0ax1CLqMw4imcSMP+/ZK 51RG9VIO9MZgOa/tRyotJh6outXguwMzYhb2HfVxI6Tj+oBgQRWF7sUwKo2S1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQt61Cbz191R; Thu, 27 Jul 2023 04:12: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 36R4C68w097745; Thu, 27 Jul 2023 04:12:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C646097744; Thu, 27 Jul 2023 04:12:06 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:06 GMT Message-Id: <202307270412.36R4C646097744@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 246364454fc1 - main - etcupdate: Use new buildetc and installetc targets when available List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 246364454fc13e80e33142764e276b395f308712 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=246364454fc13e80e33142764e276b395f308712 commit 246364454fc13e80e33142764e276b395f308712 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:49 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:49 +0000 etcupdate: Use new buildetc and installetc targets when available These new targets avoid the need to invoke internal build system targets or set internal variables when building, and also have the added benefit of working with BUILD_WITH_STRICT_TMPPATH. Old source trees lacking such targets will not work with BUILD_WITH_STRICT_TMPPATH; they could be made to work by copying the steps, but it's not worth doing so, as they never have worked in the past. The primary goal of this is to support changing the default of BUILD_WITH_STRICT_TMPPATH to enabled. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D41206 --- usr.sbin/etcupdate/etcupdate.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index ae75a6e36f03..4735fa6c75eb 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -219,11 +219,19 @@ build_tree() cd $SRCDIR || exit 1; if ! [ -n "$nobuild" ]; then export MAKEOBJDIRPREFIX=$destdir/usr/obj; - $make _obj SUBDIR_OVERRIDE=etc || exit 1 - $make everything SUBDIR_OVERRIDE=etc || exit 1 + if [ -n "$($make -V.ALLTARGETS:Mbuildetc)" ]; then + $make buildetc || exit 1 + else + $make _obj SUBDIR_OVERRIDE=etc || exit 1 + $make everything SUBDIR_OVERRIDE=etc || exit 1 + fi + fi + if [ -n "$($make -V.ALLTARGETS:Minstalletc)" ]; then + $make DESTDIR=$destdir installetc || exit 1 + else + $make DESTDIR=$destdir distrib-dirs || exit 1 + $make DESTDIR=$destdir distribution || exit 1 fi - $make DESTDIR=$destdir distrib-dirs || exit 1 - $make DESTDIR=$destdir distribution || exit 1 ) || return 1 fi chflags -R noschg $1 || return 1 From nobody Thu Jul 27 04:12:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBHQw1vk5z4pQS9; Thu, 27 Jul 2023 04:12: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 4RBHQw0j9rz3p1N; Thu, 27 Jul 2023 04:12:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FotphUV+u/CvQ5xPNektaf8nuu2rL8xwGbyYr3MEemA=; b=RcfA71EkYjeGp31tpWK+MyQJquBpevBZ/F6UTDnBj5J4vURR2aUO3eA1WTiSdWH+5ekL7t 3IRBDzfhHJ8xMEMLSGNqeOQF4F/EJCrmXXUif9ddjvQ3ezMOCbeaaT0nfGqlADvv3iBS2K RSAL4ARwxIXllcPj1HrwmExelWn/2X6jG3c01HSFA1I+AXLJHKGSs5U2MSBSu/elPUHpKg Um+I2Fu6Cm5iVlqN6dILDbEF5/yqTZG77JIH5LgVJovL6Pub9WcUlZJJVLaA3Rpf69Xyoh EdP8OUya6OTMfOVRvBGNgCzv6aqVUjkbBKLg4Im1W2iCOu0FMbFJp2eHdtosEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690431128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FotphUV+u/CvQ5xPNektaf8nuu2rL8xwGbyYr3MEemA=; b=nvhIR8/jfvBDuBu9Fnfyd4iPsdg/0JbMNp8wZr8kQehlvW6x5gtyE3HeYCxnNxSVyFSfJR jcGKWxIGBQfDs/VjYP0zMPxcvDHEW2dNNzprr3UdIOkb5N6z4TeXL/bIZvAigkWbHe66l6 XwS7dZja/xutrJ2SeEOQ449N8WNDx5aCvXr6QmeseJ4LcTurB+0yG1sR5fJy8RX9OP2VD5 BV4oLv3T694a3qYTTdX1nTckVn6qbRcydMXGSLyr6uT3do71S4H2bQ0ZhBgyI+Pizn0J5d NyH9vVq8Jjs3TDG6xW0LuNEfgirjM24mx6LokRtnNVZFS2sU75fwvTE3A66GDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690431128; a=rsa-sha256; cv=none; b=dxfQCKX5KYHs/W9KZ2dtpm6Ys4evXqcf/hNDjMRcAnOjbOruX/auF3UUDhnEWcxBKv7TqJ Lr82rsweD+AYdNunc4R4jNsCm3TaQ5QvoEPrOmNcKbZYZWnpR5grPCy1ajUlSqqAOVN3eE YKg7L6YCpt8rMUAPU4pVLdFjfUhQHDFImdSdYXjJXp9277vqX3ypykjnP0HJdI3r+UyUZX mkdROE9DDLAAB2Y+t2bwH5jkwuEZrI0G51dRgpcH02tEFcyiBcT3t3A6pwHdBzF96Vl2jA zMimAc6tEM6Lg902xyDy+t8hiSgi0AILg/mtc2qhpeEMu/CZy1W+GaDv4ndUnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBHQv6lQyz19Dg; Thu, 27 Jul 2023 04:12: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 36R4C7Zx097768; Thu, 27 Jul 2023 04:12:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R4C76D097767; Thu, 27 Jul 2023 04:12:07 GMT (envelope-from git) Date: Thu, 27 Jul 2023 04:12:07 GMT Message-Id: <202307270412.36R4C76D097767@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 2a4d73f3cfbd - main - Makefile.inc1: Reinstate kbdcontrol bootstrap for BUILD_WITH_STRICT_TMPPATH List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a4d73f3cfbdbe95cd6554ce1b9b73d1edbae8b7 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=2a4d73f3cfbdbe95cd6554ce1b9b73d1edbae8b7 commit 2a4d73f3cfbdbe95cd6554ce1b9b73d1edbae8b7 Author: Jessica Clarke AuthorDate: 2023-07-27 04:10:49 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 04:10:49 +0000 Makefile.inc1: Reinstate kbdcontrol bootstrap for BUILD_WITH_STRICT_TMPPATH During BUILD_WITH_STRICT_TMPPATH builds we need to symlink the host's kbdcontrol into WORLDTMP/legacy/bin so that it can be used. For completeness, also check if the host has it, since technically the host could have been built with WITHOUT_LEGACY_CONSOLE (though given nobody's screamed since this code was removed that's likely not something that gets hit in practice), and handle BOOTSTRAP_ALL_TOOLS (especially since that case will cover cross-building if and when kbdcontrol can be built on non-FreeBSD). This allows a BUILD_WITH_STRICT_TMPPATH tinderbox to pass. This partially reverts commit 33550b47391330362ea58984aa3fd691f6219ee0. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D41202 --- Makefile.inc1 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index f8d4b4333d99..af7d5b8ad0c5 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2374,6 +2374,19 @@ _crunchgen= usr.sbin/crunch/crunchgen _bootstrap_tools_links+=crunchgen .endif +# The ATKBD_DFLT_KEYMAP, UKBD_DFLT_KEYMAP and KBDMUX_DFLT_KEYMAP kernel options +# require kbdcontrol. Note that, even on FreeBSD, the host will lack kbdcontrol +# if built with WITHOUT_LEGACY_CONSOLE. +# +# XXX: kbdcontrol cannot currently be bootstrapped on non-FreeBSD systems +.if !defined(CROSSBUILD_HOST) +.if defined(BOOTSTRAP_ALL_TOOLS) || !exists(/usr/sbin/kbdcontrol) +_kbdcontrol= usr.sbin/kbdcontrol +.else +_bootstrap_tools_links+=kbdcontrol +.endif +.endif + .if ${MK_DISK_IMAGE_TOOLS_BOOTSTRAP} != "no" _etdump= usr.bin/etdump _makefs= usr.sbin/makefs From nobody Thu Jul 27 05:26:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBK524fjKz4pXSG; Thu, 27 Jul 2023 05:26: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 4RBK5245hVz4NYY; Thu, 27 Jul 2023 05:26:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690435606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PgA5RZKyWV4rnZAnIzP8kMQYA31meiFblN8iB1VcLHk=; b=I5NLNw9XzHEd6v2+QdUtqAihP6J0T5vuLLwgAdLXLY1yrwjZDaNFb2wg0X7cOGBHmBCVVa AF/aizL/+wW89DUzAUrKtfpfshC6/HmuO2/TQSuGN5lBgg1eEBqBN66HglGqmEdzdtEMdi 5l9XmManmlQWlN6rpCr3wuqyowNUFYmjSSgzCtKqcXhMdcEjH/7ONzoFURN5IYsigYziHl ksZjcIigyOsxzR0PkU8ykyqDobQhdJNbV7eD2j33cNe4z+e7aOzB2Aq5djTfL1ypGAWTHV FFIQcOzfVF/gTgq4EnFBtxd79igZS7EIdq5Jmc3gSYA7iBNeDu6Z8KMW0lucwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690435606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PgA5RZKyWV4rnZAnIzP8kMQYA31meiFblN8iB1VcLHk=; b=asMtG8Rsl07bnuku1YhMF7azj6/OHRPjhSO00pa4L3ASB4XK0Xx4rY4usMsKJg1U4N+sm0 zaMrZXScjJRC8EGvDnLtyfDoailVASbuEg3AxxI8fO0iw+NEqbveoCIg7fgCuDht//xmm+ g8sE09al8+PFrvdQmx79Nr/ZvTzE+Aenm7rSUkp2GbWP4QxMaJ5ihkRE4wSIcEhjV2FH7f Rf6TAoP1Bqzpz433flDtdFnrx59dpH0uYjK1461L/r9ECdb7DyOy19iGQG6t9s6ZeMFc/0 vMmcsoV7SledpqWmdFsYT8mXixCG6TQqs59PPCg6ncGmeO6G34hXvFC4ulcQbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690435606; a=rsa-sha256; cv=none; b=ZQNgiMnWL+hASIiCkhKbXaxFYaKwFVAXTFM1jWppE5KxDXNHzHj/uRkIsOiu5OEEoC28fm 14DDMce4XEpq/otnWuvMPXdRlbG7CGzxPXYrsefz90eWoRwu7rFM4F4bg67pn3ZxD1dLsS aO2ShUhrOKG/ZxJyWDtFEgSOsSgBRzFvyDPF72cxFGeWX1fwM+hV8H2h4DOtReqegGGX3c 9IcMLLp5gPAANcdII+Ix6wnFG9M8RhQ5zdDGcTltlsVOVMkZT7d5meWETNk190feGN4Ojo da1BihAKTUvLTA/+Yv4Vs143BJuIWVqIAWMzj0ErPB6i7U0621plx9WFFVGGaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBK5239qpz1C3R; Thu, 27 Jul 2023 05:26: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 36R5Qkf7014053; Thu, 27 Jul 2023 05:26:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R5QkV4014052; Thu, 27 Jul 2023 05:26:46 GMT (envelope-from git) Date: Thu, 27 Jul 2023 05:26:46 GMT Message-Id: <202307270526.36R5QkV4014052@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: 5ec2d94ade51 - main - vm_mmap_object: Update the spelling of true/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: 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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ec2d94ade51b2f2f129cf0c7f695582c7dccb81 Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=5ec2d94ade51b2f2f129cf0c7f695582c7dccb81 commit 5ec2d94ade51b2f2f129cf0c7f695582c7dccb81 Author: Alan Cox AuthorDate: 2023-07-26 05:58:51 +0000 Commit: Alan Cox CommitDate: 2023-07-27 05:25:53 +0000 vm_mmap_object: Update the spelling of true/false Since fitit is already a bool, use true/false instead of TRUE/FALSE. MFC after: 2 weeks --- sys/vm/vm_mmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 408e077476dd..328fef007b1e 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -1577,12 +1577,12 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, return (EINVAL); if ((flags & MAP_FIXED) == 0) { - fitit = TRUE; + fitit = true; *addr = round_page(*addr); } else { if (*addr != trunc_page(*addr)) return (EINVAL); - fitit = FALSE; + fitit = false; } if (flags & MAP_ANON) { From nobody Thu Jul 27 05:37:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBKK43wmlz4ph6R; Thu, 27 Jul 2023 05: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 4RBKK42jp3z3DCm; Thu, 27 Jul 2023 05: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=1690436232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h5XjLMntviMtBWNrqcWy37QHaFRUzQ0bnGyQQxW7RjA=; b=o3VmHckKg9ZgZ817AIYV5fmuE6COMRbvd5FwjZ79p9SlIvPD1WFzfEsJyGvbiGvJMzheL1 UE1m9DnvDuVUkjUEtYTOBGSo474a1RQGMjvEAWosbOQamDXzxQGgruSFDge6CJ4oJsNC/g 8qfKOe6a1TwX8UOb+IcbdWLNcxLEkf1erTn+JuVK0wQ71q13IsnmDDmAXK8ByMWNRFqdqT d6sHZxCMpsC8srkLKw6r33cj5WseVTr8DDmubuyVodG/neAe/httHGcvtKOdHwm71lPKaN 43WwZowS4KHPV7jfMT7mw5YtxWPQCSS6x+SLKHT8P1TjVtXH39hWIr1iFF0G1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690436232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h5XjLMntviMtBWNrqcWy37QHaFRUzQ0bnGyQQxW7RjA=; b=xu36oOSYfOEf13sphy+3mIcsToZmZPc5asQ/FqPtH2pxuUaV4d5MOCbf7GQEr+WCEcutL6 Tk5yM2i248q7JMSEDWaLDnDLw17RJdhxR/8AVUft6ciGzr4WkffcLrhX+KtC48GpsMsMDQ AlwquRbqq2r4dVPp0XuoqajpUNM2EOh1+E+A7eZZDeQrvmbyizVXqII8QZN031z9tKk05x /dW7uEQWbBZp14N3PuiLBlxL4EHiSiMZY+JqakZxu4iXR8RsVVHR5hnDcuDfEYcgDeio/N MT/BTC6M6MtiGQy5MVQxWtbNDp9ueN7DTnJ1eM9QPp0eCTPYMe6LHuLuJi1tWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690436232; a=rsa-sha256; cv=none; b=IsEERLtxwApXKZB8/LNYOOjCJ0b3+q106jVJNkXY6sAHpAc431UqgfIrW+sN7+mIdPbmgp Fb4vtofD6IHZnX9NyXIQWtdnUhrL4DP5iiiDlmpYlkzMAm+RN1aGi2IRBCYT9cAKVlSdPm lIBPyqkohp2GYgWqvqjbURP4+PDWpzLkvs6Lm8+80GqpWIOKZ3fHqcbp38j7K4jrMYYpyL /WBrW78NnDXrKdD+sKqyjo0KJ4lmw99sD5s3j9LHxQTiX7BGG1wx6sVA+Pu7xrNGPG3sZ0 cVy6dwsft0j4WJ2jrpML9XpSKU0s+EW2/K/kK7ViGWTIEOp1Z6fxN0dpe2L+vQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBKK41n8yz1ByN; Thu, 27 Jul 2023 05: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 36R5bChx030055; Thu, 27 Jul 2023 05:37:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R5bCC7030054; Thu, 27 Jul 2023 05:37:12 GMT (envelope-from git) Date: Thu, 27 Jul 2023 05:37:12 GMT Message-Id: <202307270537.36R5bCC7030054@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: 74861578d955 - main - gve: Fix Tx tcpdump panic List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 74861578d95573e13a2099143f9d4e7edbb82806 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=74861578d95573e13a2099143f9d4e7edbb82806 commit 74861578d95573e13a2099143f9d4e7edbb82806 Author: Shailend Chand AuthorDate: 2023-07-27 05:22:31 +0000 Commit: Xin LI CommitDate: 2023-07-27 05:36:42 +0000 gve: Fix Tx tcpdump panic Ringing the doorbell before making the BPF call can result in the mbuf being freed before the BPF call. Reviewed-by: markj MFC-after: 3 days Differential Revision: https://reviews.freebsd.org/D41189 --- sys/dev/gve/gve_tx.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c index dd48bc35a258..db3f7415f412 100644 --- a/sys/dev/gve/gve_tx.c +++ b/sys/dev/gve/gve_tx.c @@ -706,12 +706,12 @@ gve_xmit_br(struct gve_tx_ring *tx) break; } + drbr_advance(ifp, tx->br); + BPF_MTAP(ifp, mbuf); + bus_dmamap_sync(tx->desc_ring_mem.tag, tx->desc_ring_mem.map, BUS_DMASYNC_PREWRITE); gve_db_bar_write_4(priv, tx->com.db_offset, tx->req); - - drbr_advance(ifp, tx->br); - BPF_MTAP(ifp, mbuf); } } From nobody Thu Jul 27 06:55:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBM3933JTz4pWKC; Thu, 27 Jul 2023 06:55: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 4RBM392Yt1z40WZ; Thu, 27 Jul 2023 06:55:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690440917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=faJuBgmsnk0txeQslhK4y0lPEFl8d2ZVj1Hb0577Fns=; b=JemvFuu5JrgMwyRMednV7nmvjBWiUF1ex43GQFU0Jn7wvu9qBb3wkr0HMyyYAv6VLgCDwn oA9rxWersx+f/nahxg8Bag4vGvWBujm4f25r0dMdNLaDk5O1BEF6cKd3JW6wM496MC7BFz q2nd1i8TCiLrQEyexvjJPpjh95dSsmHXQsTrL6/xooth3A0k9WL1SpTOhpQ2PGlWfPs4FP DDIW0pBN+UbRjk+Z+5mlO8JPt0LPgtlX8GXl1Ytdk4Zq6vRbpMuNyeoOiwtPytjOy4gWMb z1SyQMjX/D3V/4OsKJ2QERjT15lX2cQMOm1rF9OzI661rbdeOhs0cAxW2dFHhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690440917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=faJuBgmsnk0txeQslhK4y0lPEFl8d2ZVj1Hb0577Fns=; b=G2oLVuMo9wTCZfvmVKf5939icy3EQw82Hd9M5n/swzH3VsHc2EWPXrGPt+moEyZnbTej29 5Fs0okm6UzT/bLNNs9rEaYQCjfAQwYLt67AeBpw4TKVvLZsvXAMSp8zed1aXabN+bfqCFm RgHaO3vRPkIiy44PIypWwc23F/6EMUngAhEF8JsqFToKNHwDdh4BICdldiu4H5CRKTyaSD A6MgYqwA7R0nmhdg3acbLk5/eX1x92ErpbvBjiZMcA2vI37BVx8CfnCL1mDTMmxs6y1IkA 2jz7lc3BsbiRH//APZMiBB1p0MoROtPc2U3jQ1fbk/d8F8IyhREayWJ85bvOAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690440917; a=rsa-sha256; cv=none; b=Sp+iDu37pUohFVyWNoUDr7mOw4X+ImXIJgeehFZyxxYrBV78TajHfE5+dmR2FqrzvCq1x5 op7O1P82bk1CS0VobmVEOwaCIBwtWk/uR+dVAQpYwsPL9czWgvdkxW3m8Ttgk2vxDEs4r8 VkU3CffwJMjgVQqwITScXI3nq83kB2N26v2iv0t4DC8pvqcqa407qtDNv3fS/Y0Y+YxXCa jyTXAPKOV192P+WjHRnSuAUHyBKAbxF58Rua8afsd71bvWOOfI1Z+lLbFEy/ufROqgKOPT D4yMqBdCCofOTMTgz4Qy+CY5yhfQTmCDb5XTPdQMPCGnmwI7Cu830pG2IWWxFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBM391XcLz1FVd; Thu, 27 Jul 2023 06:55: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 36R6tHDP062381; Thu, 27 Jul 2023 06:55:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R6tHdO062380; Thu, 27 Jul 2023 06:55:17 GMT (envelope-from git) Date: Thu, 27 Jul 2023 06:55:17 GMT Message-Id: <202307270655.36R6tHdO062380@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 309ec6ab282e - main - etcupdate: Remove redundant semicolons List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 309ec6ab282eb0d16250c34f24bd9525f86baef4 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=309ec6ab282eb0d16250c34f24bd9525f86baef4 commit 309ec6ab282eb0d16250c34f24bd9525f86baef4 Author: Jessica Clarke AuthorDate: 2023-07-27 06:55:13 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 06:55:13 +0000 etcupdate: Remove redundant semicolons Fixes: 03e62670c33c ("etcupdate: Consolidate nobuild cases and make more robust") --- usr.sbin/etcupdate/etcupdate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index 4735fa6c75eb..9966c3b0b9d5 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -216,9 +216,9 @@ build_tree() done else ( - cd $SRCDIR || exit 1; + cd $SRCDIR || exit 1 if ! [ -n "$nobuild" ]; then - export MAKEOBJDIRPREFIX=$destdir/usr/obj; + export MAKEOBJDIRPREFIX=$destdir/usr/obj if [ -n "$($make -V.ALLTARGETS:Mbuildetc)" ]; then $make buildetc || exit 1 else From nobody Thu Jul 27 07:38:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBN183fZMz4pMwk; Thu, 27 Jul 2023 07:38: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 4RBN180Nspz4H19; Thu, 27 Jul 2023 07:38:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690443516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auLROR2KYxX0b6bnmMnglF80uOcKVCSCopnrMdBE798=; b=Su5f8ubn8eqgXUE3/YP1cI6Q9hrodFFD4IpOWTWoS4zJt32FZ/kjwpqFXZ7ipMhgTmJRLt 5IFR7MR1UZ47xmHLHnSDkoLmeYcSupoPhaczUaFSQSwvNsslJw2JACO8zad7Cc6y0dZGvQ 5dPP9KpIXMAFQR6dLSsD/tIHi3T4TRXRKpekDkagucLiGXOCLs9L/+/IrmxO59SFkEUokd YUqIcHn942lAA6b5IgTw8lTyg1QPKiG1W81EX+yQox4HBDfgHWic0N1uq3zajucVAi+SMg LWYJQYZ3ojruFDj2ItL042T3n6+XVPGZMFo5RV1NJgcVKPiVr1hTAO3POIRVpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690443516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auLROR2KYxX0b6bnmMnglF80uOcKVCSCopnrMdBE798=; b=w2xP5WQhScpGMGATx5X/89ka0dM7ogAsk7tTuPRR0RepSpSut8QUFXd8Hs1mOkkGJOGf6M aZO9slKJOhDLe4EBx3/Hy2NLbcMpnh00T5N2x6ZJxBlCqg6C7F+cvXZOaktugZqx6C8Ab3 c+ypoNJNAj23pBauq31WFx1FPxR9KF4q2O6UT1jNMTnksRwint52VQ4b9k/pYm+9bTBYkB TWS9KejP8EJLpZleRcG7fKRM1mayk9MqzHMSO5+QwGMF8DbAM7/swTk42G8igChoICvcYi aBtbxRHa0h9jt4DLFFjO1CYimFU+GnRvyfUZLWkx0C/XLRIQkzM/3pY7lJefVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690443516; a=rsa-sha256; cv=none; b=Bq536IDUXRbClG1aMG9fd1dE3oJFTNtvHdaV/LSRdPOfBfXSXzh94q0wkpBhPBqB9BLF/8 otTvOpAPAMdYFpi0gb43K88zBuGL0WFxs/2zrr2CGPADP96erT3OEA1+ChpYcQHIcaxi3K FH6AGC9oMP+apCE9MxaJYcdedNmwWZTtsJDneZdhWaGFV+gflGQzzR5zt/18v5rWwJTyE8 gZSPohLuF0kkUmguhnRDIUGm65dYPL+VTXW1dISKTRnJW9n0MMJ2l2OSJu3iPtvDoWL33c UMi2Qpmw0yGa/yJrBPUoaaNvqemZxi8QVEYwmFUmCPMbMG9Y3sWhBkbKMcH5fA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBN176ZGfz1G2s; Thu, 27 Jul 2023 07:38: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 36R7cZSn029224; Thu, 27 Jul 2023 07:38:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36R7cZqT029223; Thu, 27 Jul 2023 07:38:35 GMT (envelope-from git) Date: Thu, 27 Jul 2023 07:38:35 GMT Message-Id: <202307270738.36R7cZqT029223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 32a79e8557f6 - main - release: Fix make :@ modifier syntax List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32a79e8557f61a194472ffe431e0379ed64f019f Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=32a79e8557f61a194472ffe431e0379ed64f019f commit 32a79e8557f61a194472ffe431e0379ed64f019f Author: Jessica Clarke AuthorDate: 2023-07-27 07:36:12 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 07:36:12 +0000 release: Fix make :@ modifier syntax This spits out errors but seemingly isn't actually fatal, so was missed. Fixes: 6853d893c7fe ("release: Automatically generate MK_LIB${LIBCOMPAT} and lib${libcompat}-dbg lists") --- release/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/Makefile b/release/Makefile index c10d46247e97..776090b2324a 100644 --- a/release/Makefile +++ b/release/Makefile @@ -167,7 +167,7 @@ disc1: packagesystem 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} \ + ${_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 \ @@ -208,7 +208,7 @@ bootonly: packagesystem DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ MK_GAMES=no \ MK_INSTALLLIB=no MK_MAIL=no \ - ${_ALL_LIBCOMPATS:@v@MK_LIB$v=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 \ From nobody Thu Jul 27 11:48:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBTYh0THPz4p8bF; Thu, 27 Jul 2023 11:48:40 +0000 (UTC) (envelope-from garga@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 4RBTYg3YMQz3Lvm; Thu, 27 Jul 2023 11:48:39 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690458519; h=from:from:reply-to:subject: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=D1rQmYwkE1/mIOJInN4lgkWiwTrdCx5X9zzkr8i3QDM=; b=WPseQhchdSZArZZDuRLN4QA6kUMm5zqI2B8YH+jeTjc/gzjTgHGgkBdQc8XpGP1N/2bcG7 2rELDi7y8vbx+RlAd1ZXTEGbtoswB71rhFewdN7cNcHZE4Ih1KajAfefoO1uy9MltMaIkj QbN+TvZj9/T3OaNy+QiriG1/KkrOrvg/ykwzyp8A6i3hNSUT/bbSPeCbPq+Fv5TehS+UWu pyTug9dywMI1aCfbB7J1vZ+0UIDnGFpAH1nt4bOJzzQBCfzj/ag6oxb9wHvnGgvgGla0vQ n1ZiX524oqCpu3E3QtLFwwxpGAeVptMiY1pxNrSVOwGU1FiPGmYWIffvmKDfSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690458519; h=from:from:reply-to:subject: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=D1rQmYwkE1/mIOJInN4lgkWiwTrdCx5X9zzkr8i3QDM=; b=mUgkZeSXT99JKOBKE7bO4JpaMjDrQn5X9etK8IYyLHhKOy+0+Dvjcd1g4pCnO49gMV9fwh ixSmORu6HsmKesgkihvQJLHjUduvQxx//fMhUTlcwCvSi+MrLdhHbDHNsxBvLwrbm/bUEI XbnD1bZ6wJ1r/lDlI0fx1xmxv5kKlqSy/DqPqTmvPhiTjdc6gGVVYKFtl0OIESQU0jAXJK ELGVeUSKSegQHNvgcghsC75xBOutwUOJMlUmTPWvch+fiejJWt0p+5PZo/1vCKDN6Yj57y s41ZIWOIA680oVDAG0NYI1f4gABYqiWh6Ks+9s2gGDkNO1YEpAoWp+cvRiWBbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690458519; a=rsa-sha256; cv=none; b=Eirwc6Nxnb8kpeB2fdPg2IcY4VQqtt+nAgp4l9bLtrvqVOPlsebzjD1AGzlj7k4gnEfnBe k/T+6+SCJKCi9Zv/THpyW9cUa/L/Vr/8Dz+vvlfKLoTNeuhcqgjVpY5gl8rH+ZF365pw9h 5nlrK14l1MzJbgTsBFhgjiygE/99spZk/DuP+aNK5a/n0aeLkXOmVDbE3gcukAVpN3K2yh iUM08d/oZfDd0zCL+4XqwUmbXNFmTzeJWKeFnqMt9PguzY/Rmsvjc4RwzV2UXRs74EJYdr fhyJhoyUiHEd7OmIHA15eyKj+0dpbLFtIeGCOhDsmNqyCsuQ+KwGlkbBd0r+8g== Received: from [172.21.4.170] (dynamic-177-53-82-16.telecominternet.net.br [177.53.82.16]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RBTYf4w3zzY6K; Thu, 27 Jul 2023 11:48:38 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> Date: Thu, 27 Jul 2023 08:48:35 -0300 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) To: Warner Losh , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> Content-Language: en-US From: Renato Botelho In-Reply-To: <202307070510.3675AWZS051152@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 07/07/23 02:10, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=971bac5ace7a3c2262349fa2808188a11a5ffeed > > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed > Author: Michael > AuthorDate: 2023-07-07 02:32:45 +0000 > Commit: Warner Losh > CommitDate: 2023-07-07 05:10:18 +0000 > > kbd: consolidate kb interfaces (phase one) > > Refactor to eliminate duplicated rate and delay tables, with minor style > tweaks for changed lines. Remove an obsolete comment about needing to > convert from microseconds to ticks (that's done elsewhere). Remove > traiing whitespace in kbdcontrol.c. > > Except for the new warning, no change in behavior > > Sponsored by: DSS GmbH > Reviewed by: imp [minor style tweaks as well] > Pull Request: https://github.com/freebsd/pull/683 > Differential Revision: https://reviews.freebsd.org/D38818 > --- > sys/dev/adb/adb_kbd.c | 12 ++------- > sys/dev/atkbdc/atkbd.c | 18 +++++--------- > sys/dev/gpio/gpiokeys.c | 10 ++------ > sys/dev/hid/hkbd.c | 10 ++------ > sys/dev/kbdmux/kbdmux.c | 23 +++++------------ > sys/dev/usb/input/ukbd.c | 10 ++------ > sys/dev/vkbd/vkbd.c | 18 +++++--------- > sys/sys/kbio.h | 7 ++++++ > usr.sbin/kbdcontrol/kbdcontrol.c | 53 +++++++++++++++++++++------------------- > 9 files changed, 61 insertions(+), 100 deletions(-) After this change I started seeing following error building kbdcontrol: Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of undeclared identifier 'kbdelays'; did you mean 'ndelays'? static const int ndelays = nitems(kbdelays); ^~~~~~~~ ndelays /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems' #define nitems(x) (sizeof((x)) / sizeof((x)[0])) ^ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' declared here static const int ndelays = nitems(kbdelays); ^ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of undeclared identifier 'kbdelays'; did you mean 'ndelays'? static const int ndelays = nitems(kbdelays); ^~~~~~~~ ndelays /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems' #define nitems(x) (sizeof((x)) / sizeof((x)[0])) ^ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' declared here static const int ndelays = nitems(kbdelays); ^ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted value is not an array, pointer, or vector static const int ndelays = nitems(kbdelays); ^~~~~~~~~~~~~~~~ /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems' #define nitems(x) (sizeof((x)) / sizeof((x)[0])) ~~~^~ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of undeclared identifier 'kbrates' static const int nrepeats = nitems(kbrates); ^ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of undeclared identifier 'kbrates' /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of undeclared identifier 'kbdelays'; did you mean 'ndelays'? if (delay <= kbdelays[n]) ^~~~~~~~ ndelays /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' declared here static const int ndelays = nitems(kbdelays); ^ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted value is not an array, pointer, or vector if (delay <= kbdelays[n]) ~~~~~~~~^~ /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of undeclared identifier 'kbrates' if (repeat <= kbrates[n]) ^ 8 errors generated. *** Error code 1 -- Renato Botelho From nobody Thu Jul 27 16:03:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBbDC3Dpkz4pnv4; Thu, 27 Jul 2023 16: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 4RBbDC2Q63z4Bnb; Thu, 27 Jul 2023 16: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=1690473835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q2XJgzYFSyQAJyP8RQqOdDJ7P7k8hQ5685CAwmp2P9c=; b=NHBpKXSd5PqEEKuVjQLMqQ+RbHos4bLRgTSX7sdNUr0HQ8y7nAyCVwGlHuae+6RZ7bjRvW Th3ilqVy8Vle3BVNVajvKVoyuzqg5ZPLRYodMJvG+Bw8l2dePDibcwLjTVMZMQYnUh7Ir1 LH+VvH7rPCvTGLbk29lqWVbUqZ7KRLYiqBms3V2W3YPjU5Rihexw/HFzp58Nwi5/dn3KQr aBk35XscBiYbT38CKVsHmIiFXiXKEK+cjs4TxFis8LSo5XzoiP6iT5TdFIdlTNn8+sj3VT 8adWLEo2Cm3HKMbPjtUTmcbH862W4CoRSw2212BXN44lQftmRUFx79eU+fzlyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690473835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q2XJgzYFSyQAJyP8RQqOdDJ7P7k8hQ5685CAwmp2P9c=; b=iiIsmLK0LEA9rg7Vaiy4/9MRwuV+fFVYTWlsI9MC8nHB8d1A5urX+xBvzB58LIumQpR4Gf ZP0NPmLScEqIY7CyRIoTfnRf56AILarHnicO45RlIX+Fxjv4ThzUFC21+GNMzuVNRFXUMr YOURMXjzwVGVi60V5QLcuPADqfVZkyK2LUydHAqARpiMIQvillOMDomQs4CnlpvxhqFJ+r 3vBalIrjKqa0aABfer6gFs2+HTL3r4MnXsiQ7qzcLouYJAWTUg1SadoYeuUbZA3kFp2GEK /zEHJ7jeuDX6bIY9cGdgeC9P/ZppRV3eZ3uJbwJVvtlwnImF1MVKdRfxt+kIuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690473835; a=rsa-sha256; cv=none; b=wS9uXQ+qYTlybMyQt/zhy+zlxK4mg1QNqvyNMt8Y4ej3iAmL4f4V8DS1UoN0xaIn8sH2jv ZE9RhKhXkvdSLoGeJQbfEImgOYI60zBaAkAff3WEnKVJU2/IcDdxPIlQb5bFe/ro6Yte9Z 1LP8pfSgsrfGq4ZU65roCo7QVqHIvqxCv27aHFZm6f49gTjR1Ue+ZJaMQtBlWZyboT/7Tl 0Z2HX2iojHKf7CLIT7gb5+iYsEqbeYmSfT1Po+nJzub/BhTh/Dv1qM6iqFJmIN810rMaS6 OkUs+J5sOiVTMYSMyTq/nhVqCmM1Hgtwpxhm0RMtVkd1ovNlT94RgivRoQ1IXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBbDC1Lc2zGF8; Thu, 27 Jul 2023 16: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 36RG3tnS073713; Thu, 27 Jul 2023 16: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 36RG3tnb073712; Thu, 27 Jul 2023 16:03:55 GMT (envelope-from git) Date: Thu, 27 Jul 2023 16:03:55 GMT Message-Id: <202307271603.36RG3tnb073712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: cf32543fa4fa - main - tcp: document that conditional fields in tcpcb should be at the end List-Id: Commit messages for all branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf32543fa4faded1b1d17f7aa1335cd249320088 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=cf32543fa4faded1b1d17f7aa1335cd249320088 commit cf32543fa4faded1b1d17f7aa1335cd249320088 Author: Michael Tuexen AuthorDate: 2023-07-27 07:02:19 +0000 Commit: Michael Tuexen CommitDate: 2023-07-27 07:02:19 +0000 tcp: document that conditional fields in tcpcb should be at the end Reviewed by: rscheff, Peter Lei Sponsored by: Netflix, Inc. --- sys/netinet/tcp_var.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 0f57fec74865..d6d071676089 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -471,6 +471,11 @@ struct tcpcb { }; struct osd t_osd; /* storage for Khelp module data */ uint8_t _t_logpoint; /* Used when a BB log points is enabled */ + /* + * Keep all #ifdef'ed components at the end of the structure! + * This is important to minimize problems when compiling modules + * using this structure from within the modules' directory. + */ #ifdef TCP_REQUEST_TRK /* Response tracking addons. */ uint8_t t_tcpreq_req; /* Request count */ From nobody Thu Jul 27 17:11:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBck25FDMz4pZxn; Thu, 27 Jul 2023 17:11: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 4RBck24mrDz3Lk9; Thu, 27 Jul 2023 17:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690477882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PM17g7+VyNYlXk+kpUm1EAAqDUmdEu7HyTMEPC3Un34=; b=fgay3JBrazrju555wpQD+yCjc+cv766zxsS27IcfZC3XMwkP4xgSuQlmDojlq3Fr3KzTnS PmffZ6ZdfWT6UROrhxSolhLLUl/wlLSVTPD/Vrq2cyDYNKHVZlaVxyluhplYMuNGo2ygNZ vYbAD+/MJX14EY2xqOV1h7yE4GfOG080o/QVOFSkdTqb8vkuZBFFnmdZJzu48x4PtOABYF S1fITNg5tldepkUVyOt3VZo2/2x2yN4u/C5BpX86cSahk696piFMoR2tebANcY6hRQQ3v/ 5qxaMXbN09Bf0hLva3+C544mZTlqRhvoYLok90iEqvsE++xwYOJOTcAJ69ivcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690477882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PM17g7+VyNYlXk+kpUm1EAAqDUmdEu7HyTMEPC3Un34=; b=Fsgwn2DXyYN5u5sAYUuOcSKsCPVXsMtRm958m4ErEnhShs+pOas/rt82QCfJWWEDAWio5C lPAlzcpruZ7oyhxQS41YcW7SXY7vL8tn497d9sFfDF58R0rRVATXqEj89Venwh9OHp1Dlg znlPbOgzS33sZLy3CA2eNblmaZKbI7NMZCqxekFnWuOroMTxVy2/haWESiILdo5XkF15d3 NYvb0ZpimjOYVXbPT2ekqf6UeMUgXMcpPL8fL/vekFND2grOZQ4fxeHToBDWUXa1iEbZot 5McfbAPq7lVuRShrswwRcfJwovJQkKU5HMzjaxS8psyxhDeGm1KOvYRX12G+rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690477882; a=rsa-sha256; cv=none; b=InBqE4Vyg+xgkcO7tsnGl8gTMT+t18qCncTgBPpjG9FBgboz+8haXxoc/SX4R4K756eQtd JCxJWW7b8FYs5NIXoivH/NOkqbmHHBZsOGTf7ZuVOsfYp7za1vNNRJf7xdNBTSmiJkb0BM irGqLcOB/ynD99x8Gqig0OFKoWyPrNim4DhD7pvbvQlaMW0Oc4XKfwZhtDmfOhipBePqF+ MJTPygC0v6jQeiz6a9HCbEiY67JUDc77iuM8YvAL8+jJAbs9aj9jdnshOqbVOCPDWN4PZX 4nXzRAoesOxYXLcZjvMpolq+XcDhFmHfZcMg7NkByUjoIWt62a5GtM/m4b9Idg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBck23szGzJ9X; Thu, 27 Jul 2023 17:11: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 36RHBMfA082858; Thu, 27 Jul 2023 17:11:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RHBMW8082857; Thu, 27 Jul 2023 17:11:22 GMT (envelope-from git) Date: Thu, 27 Jul 2023 17:11:22 GMT Message-Id: <202307271711.36RHBMW8082857@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: f629a82680ea - stable/13 - Fix cross-builds from macOS List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f629a82680ea9abbd646e43bdc684ed3fb49eaff Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f629a82680ea9abbd646e43bdc684ed3fb49eaff commit f629a82680ea9abbd646e43bdc684ed3fb49eaff Author: Ed Maste AuthorDate: 2022-06-26 17:23:39 +0000 Commit: Ed Maste CommitDate: 2023-07-27 17:10:23 +0000 Fix cross-builds from macOS The macOS linker does not support -zrelro/-znorelro. Since it is only used to for build tools that run on the host, and WITH_RELRO or WITHOUT_RELRO does not matter there, just skip the option. Reviewed by: markj Fixes: 2f3a961487c9 ("Add RELRO build knob, default to enabled") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35589 (cherry picked from commit 7927452ac4e98309bd832d55526cc98438fba8a5) --- share/mk/bsd.lib.mk | 2 ++ share/mk/bsd.prog.mk | 2 ++ 2 files changed, 4 insertions(+) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 5cd5663e1ca7..900bc00f0f03 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -77,11 +77,13 @@ TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} .if ${MK_BIND_NOW} != "no" LDFLAGS+= -Wl,-znow .endif +.if ${LINKER_TYPE} != "macos" .if ${MK_RELRO} == "no" LDFLAGS+= -Wl,-znorelro .else LDFLAGS+= -Wl,-zrelro .endif +.endif .if ${MK_RETPOLINE} != "no" .if ${COMPILER_FEATURES:Mretpoline} && ${LINKER_FEATURES:Mretpoline} CFLAGS+= -mretpoline diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 3b9b3277a241..d044fed0aeb7 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -41,11 +41,13 @@ MK_DEBUG_FILES= no .if ${MK_BIND_NOW} != "no" LDFLAGS+= -Wl,-znow .endif +.if ${LINKER_TYPE} != "macos" .if ${MK_RELRO} == "no" LDFLAGS+= -Wl,-znorelro .else LDFLAGS+= -Wl,-zrelro .endif +.endif .if ${MK_PIE} != "no" # Static PIE is not yet supported/tested. .if !defined(NO_SHARED) || ${NO_SHARED:tl} == "no" From nobody Thu Jul 27 17:11:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBck36NrXz4pZgb; Thu, 27 Jul 2023 17:11: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 4RBck35RNzz3M6x; Thu, 27 Jul 2023 17:11:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690477883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/4AgFx0MbSQ4v54a5UaKl/7rL3eu/F6JZUqxZFQ7t04=; b=sq/zhA4rsPl36wQqIsX+93jTE+cBg+gNYP/FMrNFnY+ugPCpMPhch+/LSlkPLuZPJ7Cncp K8UfMZpnMLzeHjYsnUYtD+J4tS9Zv9DTW3+Zl4PPAGW47ZqrgtQX2wtkDxT0l/PswNNp+s TclEjsNh0iMBO12Zc9GfvCSt7g0lM/nnauza3gAaQEJMKFgjDho2O09oiWHXhINBd8O/Fn klmE/p8y4gzer6DX+kGyHB9gh/1l8rn9tlp5iWlR3i/RdDVSHTYPftGh9HnGYhiLAx1raq sR3kX8oEyEqCRyoQWOnL9QQ4psffOpzZZUVwBod5xhdkP8/YXLQG4E9L/ssXqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690477883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/4AgFx0MbSQ4v54a5UaKl/7rL3eu/F6JZUqxZFQ7t04=; b=dAV7mcqSiIsgnxxheDa07W9Qmj5Y7U1palDLq5l3uPOCMvuD+RoW6GG3XTWy0CVTT2MOix rRv2u5pAMVCDa+GDx9lYj6ZiMNWGPhlMuypP9Cj2Va559pRJjYaCESjPS7B1SYL2GMczN1 ilwqu02CtEkkQpe5T36G5NNHi9j3eXGHlKWLJdpqp+n1L8gzTci/xUBMJWynxL1OldHPHt HrY6c5ny+JKP3KhW3Bh2eg+CqGScQntiIuFTur6VT9hZVF1d+7ItuZK/e0WOzInN8Whcud L6BFT1AAZ6FBRXfQ6VtSTw/aECsp++96zNDuxDbQrLeurLVyvgaLsCPXLi6WkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690477883; a=rsa-sha256; cv=none; b=Bae4EXD85RXc5RxiRcpUhTpx+mCY3AiKJuwoiR3EL2bVJ36B3tgN39zIZ1HFTRlaBiygfr rC9AN/DUe2N6eoJHAu5MGBLapWWT2cl5c23ZBDzhmI4HP4DtGuQ3BsIlbhv57HlO5jBHUS T+V55u8A9MJN79bBhEx4o4vowZKMp3FVwpsF+PF1JPn0sKPHZYZPWfV1JUytBwQWKz2qfx LuuqJRUicdIma89lF3AICskUptwij+1qZy8EmN3pioc433+pgEMncFx1cv0LZaThOdplk0 QY2EPfBU1oV4AiXG3lhu+E/YoNRX+i4Igj3s+CYFs9AI96stW7hOR+U+OaLL0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBck34X5nzJDS; Thu, 27 Jul 2023 17:11: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 36RHBNpB082877; Thu, 27 Jul 2023 17:11:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RHBNw0082876; Thu, 27 Jul 2023 17:11:23 GMT (envelope-from git) Date: Thu, 27 Jul 2023 17:11:23 GMT Message-Id: <202307271711.36RHBNw0082876@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: 37357e697d18 - stable/13 - msun: Fix typo in math_private.h 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: 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 37357e697d18ef53fbfb8c3dc6c762dc5dd78245 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=37357e697d18ef53fbfb8c3dc6c762dc5dd78245 commit 37357e697d18ef53fbfb8c3dc6c762dc5dd78245 Author: Steve Kargl AuthorDate: 2023-07-26 18:21:44 +0000 Commit: Ed Maste CommitDate: 2023-07-27 17:10:31 +0000 msun: Fix typo in math_private.h comment PR: 272738 MFC after: 3 days (cherry picked from commit f2c94ddd0ad79d972b6a707978cc09f3a8a6dbbf) --- lib/msun/src/math_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index 20ce7bd88464..33f790c13a6b 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -624,7 +624,7 @@ rnintf(__float_t x) * The complications for extra precision are smaller for rnintl() since it * can safely assume that the rounding precision has been increased from * its default to FP_PE on x86. We don't exploit that here to get small - * optimizations from limiting the rangle to double. We just need it for + * optimizations from limiting the range to double. We just need it for * the magic number to work with long doubles. ld128 callers should use * rnint() instead of this if possible. ld80 callers should prefer * rnintl() since for amd64 this avoids swapping the register set, while From nobody Thu Jul 27 18:03:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBdsr3rpTz4q6lW; Thu, 27 Jul 2023 18:03: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 4RBdsr1c8lz3ynm; Thu, 27 Jul 2023 18:03:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690480992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sj+lE+3Ffk2iG+WqPJ6OPovWKUyxKC1Bj/xW6h6vTrE=; b=mve98g9QZPfPEEmzkLQnEWEhCSq9jJc+hIZ3Bx34Qzad4OF7HRIF1UMb3O/m4BKEHyaAMP BhpfboqxMstU6VDzO9u18P+/xyrthK5iLkFhHhWnVvfxPjnf6qNobyRwCRmAnM3ljxZBiL ZlOyj9Tnq6Nkqk0hT1bLH2MXJFSNsg8Cx56W45iEYazMFGxgz3yhkdWV2FrB+Bn6ailptK LxVu+J8O4KXTckdp3KBCB1xDk8ONtOVUUgC4gXY6awpX5F76NwbsQVf5r4foPcf7nhL/j2 25t1u4ztvp0ZOTnagPqy+YSiYuZfwakA1ihysPDRmelRwZQeDKiLa5nUuREdLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690480992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sj+lE+3Ffk2iG+WqPJ6OPovWKUyxKC1Bj/xW6h6vTrE=; b=i46aOiyaaotvTZb6gsGBL4HkjnpeS3j6qoGo9q46TxVXYqm9eg4kThydi7JEJxAIVOgya7 /qfGfjgXrLeDZUMOc4ekeJxq697a2xs74zHF7jUHxld6fouf1ucWYJbfKGz7Km7RQX739s /mruP1fZv6hF4qsx1gB8mIjzA6t7jM5MeC5IqLPrZYoToV4Q+xITWf/T2gyo+RxAie3kZe z1vPy+5pzVKNrxd4eLJCwSSRBgeY05SUq5Uwc1ombtCZmOWX6wUCg9teWY3fBLiRAe5KN8 IBHsi6eyHUzPljKUKqe5Ka3Z0MZKhbQNF4leb+m5Zb/FHnM3fxxLyXar/guk2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690480992; a=rsa-sha256; cv=none; b=APELE8w8qddOLCGt3lxpAjE/fIKJkHzRAphV5TQWxcPto2Ss7sLdJGc70K5sxUQ755UvCN f17zpoicQN3aUIngaP4LyegDQMpji46UemQmcgOcVuZz0s73LoqorWCDDZZySM1hYU2eA0 ci3U4wABVVnZBxNocrBo5HV0mzxzTbr8qleEwZu4QZjw2UVCZ64CKVZo8NmQMbjUOxbedf v5DqZpQev/yyDryO1iLukrI6t0Fk5upmdfZPUeGuC7KEvlVtM6Wtzc2xxI/UN8ic7y7gL9 kE3yZ0cx1u1ziSWPRj8O4fYp/EOuHz/qR2ecN2fXKtx32AmkwAuYWGkena+49w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBdsr0gdBzKbZ; Thu, 27 Jul 2023 18:03: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 36RI3BfZ072152; Thu, 27 Jul 2023 18:03:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RI3Bnc072151; Thu, 27 Jul 2023 18:03:11 GMT (envelope-from git) Date: Thu, 27 Jul 2023 18:03:11 GMT Message-Id: <202307271803.36RI3Bnc072151@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 81a7ce44047f - main - src.conf.5: Regen List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81a7ce44047f02049760d70c0cdc74c2751e9bad Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=81a7ce44047f02049760d70c0cdc74c2751e9bad commit 81a7ce44047f02049760d70c0cdc74c2751e9bad Author: Jose Luis Duran AuthorDate: 2023-07-27 15:40:42 +0000 Commit: Ed Maste CommitDate: 2023-07-27 18:02:14 +0000 src.conf.5: Regen Regenerate makeman after enabling the building of lib32 on arm64. Fixes: a1b675731301 ("arm64 lib32: enable building of lib32 on arm64") Pull Request: https://github.com/freebsd/freebsd-src/pull/804 --- share/man/man5/src.conf.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 856002bd1938..0deb0216e027 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 July 7, 2023 +.Dd July 27, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -877,14 +877,14 @@ On 64-bit platforms, do not build 32-bit library set and a runtime linker. .Pp This is a default setting on -arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64. +arm/armv6, arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64. .It Va WITH_LIB32 On 64-bit platforms, build the 32-bit library set and a .Nm ld-elf32.so.1 runtime linker. .Pp This is a default setting on -amd64/amd64 and powerpc/powerpc64. +amd64/amd64, arm64/aarch64 and powerpc/powerpc64. .It Va WITHOUT_LLD Do not build LLVM's lld linker. .It Va WITHOUT_LLDB From nobody Thu Jul 27 18:34:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBfYj3HCnz4pJ1J; Thu, 27 Jul 2023 18:34: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 4RBfYj2jlNz4B7c; Thu, 27 Jul 2023 18:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690482857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwJAizWJjcpWpK+2WQZqZ/dwDtPtiOAocv3AM7IH6Es=; b=gbsEoVcctXqq2c2qxiv37A4tAZYtL0rHPjqL64+qyAbTfCvodGDp8ePSd1nAiZ49JWGwqn CqEuitCWCYbYKBP/10+6KqAU9Cc2u4k48sZKMxhQ6ZsGHazbpYhYtztYAOiqF98DMRTJ4e j6BnjiZnid/fdMdgFzrS4jA4mrptTn81TlfRoqJ5rXSxmvQ1FQre7rptmgekgfV6pLD90y 0fQAuGramVqJOX/QyMKNoiTXHe+tgsJZydH29HS8QBfTyO64wZMbtFs7NUeVcovl7tmBYt wV9BGpnhC4owzVayX/tsQtMVqsPANwwS3y2zbNxu2+dUlAKpQQxt1Q1FjCgBng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690482857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwJAizWJjcpWpK+2WQZqZ/dwDtPtiOAocv3AM7IH6Es=; b=dgcqs+ohSNBRiMILEghTyIZOLEq4nFBWd5Frb7icslUrsHISQVDlYEW8VWRObP4/sJ7yQw UfBAH5pDG/EVCL2FtjXhqRBAzTpnquHlFailhqBtYa6r7F7kt+9Zn04zlbWow004KIZ8Id IEhRPVIROwURA3EsvwNXRdlly7cTwCHc34NAqtyInbgxCwpRA5z9wpG4O+vTo5dMbvumA8 e9r+tn5kqIj8sLoSVRsS7qPS56mZQ9FW8slTo2INWzrZv661F3QMjdi2GMnzPHwb3EHx5q 3C5W7GtxBRilrxxdpWF91ST0FoVp8MsksFUWMbXkDQYoSOXm4RZne2gSO8QXbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690482857; a=rsa-sha256; cv=none; b=vHayY/YGjGX+fICON1Dt1z3qA0VeMCwX0LuCLfq1n1EqtvucAoW1KKJmgP0fw8CC2vUgec rbFoxTB23mURgByqOjyaMhp/rgnj0R19h8jkhoY+0qxrQkQAEUcMkvCyZkyUo2W17Exs4D 8/7mltvniVy0cikgCuOJxJ1l0dA4ki9GqvoaVHhToOoF8Cd50wxSbcEOaxnKNJxSE2F67I LWf4DW0JadV3qIO79lj6Whg06VPgn63pC4TgxvgiJ8PIVPPiEwp+SieP9A7F2PPSa+9Zuc 1opUmigC8iZ1qyFu1f0TDfzH8pCwCSMj/Thkt/r+Ygkp/49pCrHAMnWrO1tGZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBfYj1q5czL7X; Thu, 27 Jul 2023 18:34: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 36RIYHpV022087; Thu, 27 Jul 2023 18:34:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RIYHqW022086; Thu, 27 Jul 2023 18:34:17 GMT (envelope-from git) Date: Thu, 27 Jul 2023 18:34:17 GMT Message-Id: <202307271834.36RIYHqW022086@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: 3cde8fbf97f1 - stable/13 - Really fix cross-builds from macOS List-Id: Commit messages for all branches 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3cde8fbf97f139b99b38c6774042431b2d3be15a Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3cde8fbf97f139b99b38c6774042431b2d3be15a commit 3cde8fbf97f139b99b38c6774042431b2d3be15a Author: Jessica Clarke AuthorDate: 2022-06-30 21:08:31 +0000 Commit: Ed Maste CommitDate: 2023-07-27 18:33:59 +0000 Really fix cross-builds from macOS LINKER_TYPE is set to mac not macos on macOS. Fixes: 7927452ac4e9 ("Add RELRO build knob, default to enabled") (cherry picked from commit 4ca6ecf100733ecd61f32257452690c56a6b6a3e) --- share/mk/bsd.lib.mk | 2 +- share/mk/bsd.prog.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 900bc00f0f03..d16ea6967b23 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -77,7 +77,7 @@ TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} .if ${MK_BIND_NOW} != "no" LDFLAGS+= -Wl,-znow .endif -.if ${LINKER_TYPE} != "macos" +.if ${LINKER_TYPE} != "mac" .if ${MK_RELRO} == "no" LDFLAGS+= -Wl,-znorelro .else diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index d044fed0aeb7..fd44a5b40c8d 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -41,7 +41,7 @@ MK_DEBUG_FILES= no .if ${MK_BIND_NOW} != "no" LDFLAGS+= -Wl,-znow .endif -.if ${LINKER_TYPE} != "macos" +.if ${LINKER_TYPE} != "mac" .if ${MK_RELRO} == "no" LDFLAGS+= -Wl,-znorelro .else From nobody Thu Jul 27 20:12:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBhll0tMgz4pdv8; Thu, 27 Jul 2023 20:12: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 4RBhlX3LBPz3N7R; Thu, 27 Jul 2023 20:12:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mQGUNZ/e9YF15ow8F01SND9mujb86WQ2UqpsvPCWXOY=; b=ZoNG5wqtvyVEprqeLlWe1iDknb5XZyD1UFroCzhxXestQouJTGIM8JZF5i6tPbTmvXBPqT 8IYGY+eaDxd0kyIJOMv30a4TBbvJFkPUSvThY4rK+Y08cJ98SWuAz4jGDFob+P65+X+ryX aGcPGSIwkgtKQh5OaB1MXV4k0qzYVwe3ekm0zrIVYWx4xV/WEOr9dPgSKIg60GnYNgN6C9 dBuNVZqeShcWdf8UFNI0t5xcVjQOvTGHQgryZp0id3QUofxi+Ix7UxW5/8f7CsdgroM0YD +FwgD2PDapz+/gpVnIrcsrlXN4Ajkd+HyAnlYALyYJzdjt7xkO3XMcKDaDKogg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mQGUNZ/e9YF15ow8F01SND9mujb86WQ2UqpsvPCWXOY=; b=qHqt5R6eFhSCNhJnApDXQ6bYlFK5ftEvB1Am8s4xPW2jUOlF4e89EpWnRY5J1d93g82Cgv HxQB+euJJcgY6muC/gou9/IgqeyFPPHnvDTwLbUOhShoHgAe4LDHoWfY69Nu3O4F9UJQfU 75Za8/elaEcz3f35xd+ngImfqsnEaMvGt7AeInnlHz4G3X17qpFYVT1RfR4YarTxzv+vx6 y8VoXptVCZWSEw48f6sluRwvkERSQUJSMZehA4K0pGZldfdrx5SzR0mPpGt8wS6hEoK2VC G2iGXEsTYx/3GYaP+DF3Nks7LKR593mvW8fX7GT+EmNAFJwnhZsubRQlu+V8NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690488776; a=rsa-sha256; cv=none; b=wUvSNYQlsnw+wV5GVW0NC3OvLGwqNoksJ4prehQdW8uXPVHE/Kg9o/DM4fY+F35mdtVckP m+Z2rpH6lfBxiA7eKGSkFEB/odY6d1FSWHze5GN4yjw4OEAZzOD4PFHckae3X5TgO9tWI0 Oe9R1nTk4S6xAQ7oIe6hl/poZl98XgSxsoGMzYA8p6dafxPTM+avFDSh3pQkBeS+AT5cCa ZlqRNG/oX5hd3V/4gDCnYnsmex/qjdIOCY7hq1s0nkAIQI0tT//W7uuZwhfuUu7YT5Lnn4 VlWXl0gpGmDezKQvukT0mgGSrLjowWFqO0R0X9/IpfovtAIuLSiUYT66PxW4NA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBhlX1CN9zNX5; Thu, 27 Jul 2023 20:12: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 36RKCt6k087635; Thu, 27 Jul 2023 20:12:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RKCtCY087634; Thu, 27 Jul 2023 20:12:55 GMT (envelope-from git) Date: Thu, 27 Jul 2023 20:12:55 GMT Message-Id: <202307272012.36RKCtCY087634@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: 1be56e0bb1e8 - main - arm/unwind: Check stack pointer boundaries before dereferencing List-Id: Commit messages for all branches 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: 1be56e0bb1e8bd8373e446ff9386bcdd764935aa Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1be56e0bb1e8bd8373e446ff9386bcdd764935aa commit 1be56e0bb1e8bd8373e446ff9386bcdd764935aa Author: Mark Johnston AuthorDate: 2023-07-27 19:44:00 +0000 Commit: Mark Johnston CommitDate: 2023-07-27 19:44:00 +0000 arm/unwind: Check stack pointer boundaries before dereferencing If the unwinder somehow ends up with a stack pointer that lies outside the stack, then an attempt to dereference can lead to a fault, which causes the kernel to panic again and unwind the stack, which leads to a fault... Add kstack_contains() checks at points where we dereference the stack pointer. This avoids the aforementioned infinite loop in one case I hit where some OpenSSL assembly code apparently confuses the unwinder. Reviewed by: jhb MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D41210 --- sys/arm/arm/unwind.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/arm/arm/unwind.c b/sys/arm/arm/unwind.c index bf8ffddfd2c2..5d3309d4539d 100644 --- a/sys/arm/arm/unwind.c +++ b/sys/arm/arm/unwind.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -370,6 +371,7 @@ unwind_exec_read_byte(struct unwind_state *state) static int unwind_exec_insn(struct unwind_state *state) { + struct thread *td = curthread; unsigned int insn; uint32_t *vsp = (uint32_t *)state->registers[SP]; int update_vsp = 0; @@ -404,6 +406,10 @@ unwind_exec_insn(struct unwind_state *state) /* Load the registers */ for (reg = 4; mask && reg < 16; mask >>= 1, reg++) { if (mask & 1) { + if (!kstack_contains(td, (uintptr_t)vsp, + sizeof(*vsp))) + return 1; + state->registers[reg] = *vsp++; state->update_mask |= 1 << reg; @@ -430,6 +436,9 @@ unwind_exec_insn(struct unwind_state *state) update_vsp = 1; /* Pop the registers */ + if (!kstack_contains(td, (uintptr_t)vsp, + sizeof(*vsp) * (4 + count))) + return 1; for (reg = 4; reg <= 4 + count; reg++) { state->registers[reg] = *vsp++; state->update_mask |= 1 << reg; @@ -437,6 +446,8 @@ unwind_exec_insn(struct unwind_state *state) /* Check if we are in the pop r14 version */ if ((insn & INSN_POP_TYPE_MASK) != 0) { + if (!kstack_contains(td, (uintptr_t)vsp, sizeof(*vsp))) + return 1; state->registers[14] = *vsp++; } @@ -457,6 +468,9 @@ unwind_exec_insn(struct unwind_state *state) /* Load the registers */ for (reg = 0; mask && reg < 4; mask >>= 1, reg++) { if (mask & 1) { + if (!kstack_contains(td, (uintptr_t)vsp, + sizeof(*vsp))) + return 1; state->registers[reg] = *vsp++; state->update_mask |= 1 << reg; } From nobody Thu Jul 27 20:13:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBhll1J3Bz4pdfD; Thu, 27 Jul 2023 20:13: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 4RBhlc2yVQz3N9G; Thu, 27 Jul 2023 20:13:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=89NC6tF/goO1pp2WoK2GCmNWcw31P51ibl/KHsoRZ3s=; b=o3ssZ5ka8f5IEv/1HceyXQmzgrNSi6lMg3A1fbyOd9BDjzAiRsPIqsy8DJO7ql4ICzZ+xO bnqqgoOcX9oZSX5OCAOxNXiLA7lKvOSUc5fEaMBf33x1iwbiK56mL+YzGKnSSDFloKM5Lv DzicSCgIhb9Nlq+FUqEoLimyJka98UFTLsL/Y/amd/eHoTeww0aZQDao1ZI0lp4UMLoLxf c3FPmQ4qC/cOoRG3e9a0oC+gi3OQbAaiz6S2mVoiAJ7ownVIdynfJztI/jPtzm8JbDjUR6 jZgcuoFPtHnp4d8EQfshwoEabu+P3XgvRmWA+ducAxuPJkeaPYwll3vJDruyNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=89NC6tF/goO1pp2WoK2GCmNWcw31P51ibl/KHsoRZ3s=; b=Jb0zXZ+xkqCcw13YKRi1Y5DcoFDvZYfUXHRMaojp0iOGKpLUyvhvooHu+9gFiCN3CMpORr axLEjr9Q1OzineHIOkcVD4gxqmzFD0Y8q4c6IhBeSw+AeAtLgTsA3nVFsXQt+MffBSwyfe ZNxnRbNxQhOn7QPeXioLNLXaAw4V4qPqVnNALiyOmH0k0Zs3v5a3rI41I63vmElBVgHzzC 5GK2Yr+f57ICEyFIOd2J2E973lla9UsgRFweeaVMsRNkLl42Eqxv7MNEfqJ27UpQBanoS+ i6okJg0pVBi5L8n4jSoBjl/hUtjZOLGQGSOBWddGaAYuzis88FtxwnlZ6vnMRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690488780; a=rsa-sha256; cv=none; b=CdlHg95Op6hX4xRRUnFvOfqchnn1F5qhSjB1NGk1zrYSMrwQBzPiln5dj7QUKNe2+oskcQ wgGaLPwWzuN2c9iPlp1cqL0ZKbhGENSkHg2fzNdGYeu2BxP/c3/OxC9DKnGB4YwOUe7tPT pxvfrzOBeucU0n+yfMYyxY3H5G1lifZnrSlqoJQ+YouJPL2M7xBNJPiclOOzo1nLEkinI9 V6RgXTyG4jR5kZwTwuk6/tidXqaJ9X3IOZRGQTJsnVyL65Et7MwiEo2/WDu4SRJ/Ne56HA PrnEcFji8l476u1G4HdhoYEBm1DtRIBafhJ+mcFy0TFGMNjBWOdfnil3o9K3xQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBhlc0jYdzNx9; Thu, 27 Jul 2023 20:13: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 36RKD0HR087724; Thu, 27 Jul 2023 20:13:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RKD06l087721; Thu, 27 Jul 2023 20:13:00 GMT (envelope-from git) Date: Thu, 27 Jul 2023 20:13:00 GMT Message-Id: <202307272013.36RKD06l087721@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: 1083a8cd855b - main - pcpu: Remove unused definitions of ALT_STACK_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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1083a8cd855b4ec09b62bf9c1df5b06a972a91ea Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1083a8cd855b4ec09b62bf9c1df5b06a972a91ea commit 1083a8cd855b4ec09b62bf9c1df5b06a972a91ea Author: Mark Johnston AuthorDate: 2023-07-24 15:26:08 +0000 Commit: Mark Johnston CommitDate: 2023-07-27 20:02:03 +0000 pcpu: Remove unused definitions of ALT_STACK_SIZE This was added originally for the sparc64 port and apparently copied to other platforms. No functional change intended. MFC after: 1 week --- sys/arm/include/pcpu.h | 2 -- sys/arm64/include/pcpu.h | 2 -- sys/riscv/include/pcpu.h | 2 -- 3 files changed, 6 deletions(-) diff --git a/sys/arm/include/pcpu.h b/sys/arm/include/pcpu.h index edf7f37d191b..89f1e1df4e24 100644 --- a/sys/arm/include/pcpu.h +++ b/sys/arm/include/pcpu.h @@ -37,8 +37,6 @@ #include #include -#define ALT_STACK_SIZE 128 - struct vmspace; #endif /* _KERNEL */ diff --git a/sys/arm64/include/pcpu.h b/sys/arm64/include/pcpu.h index ebb72799d83f..de0383c4cd81 100644 --- a/sys/arm64/include/pcpu.h +++ b/sys/arm64/include/pcpu.h @@ -37,8 +37,6 @@ #include #include -#define ALT_STACK_SIZE 128 - typedef int (*pcpu_bp_harden)(void); typedef int (*pcpu_ssbd)(int); struct debug_monitor_state; diff --git a/sys/riscv/include/pcpu.h b/sys/riscv/include/pcpu.h index 0165a271250f..20d948931f4a 100644 --- a/sys/riscv/include/pcpu.h +++ b/sys/riscv/include/pcpu.h @@ -42,8 +42,6 @@ #include #include -#define ALT_STACK_SIZE 128 - /* Keep in sync with db_show_mdpcpu() */ #define PCPU_MD_FIELDS \ struct pmap *pc_curpmap; /* Currently active pmap */ \ From nobody Thu Jul 27 20:12:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBhll1J2Sz4pdVm; Thu, 27 Jul 2023 20:12: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 4RBhlb0vD3z3MyZ; Thu, 27 Jul 2023 20:12:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cm8J6Nokqon347A5332kO5D4V4MYseFZ11z7FwPmNSU=; b=yM3NIKc8jiCSNCz5cJY615b67m5NU3A/id5i/sVK1uWwdQjwTMCQCtDD3Xg+epqbsRd4v7 035xU9hO+WefNGC3FUjTHX9WtYFdPNOa/Rz1ePzgJ8iGNu2hrEcZjt+4xxmbyHp8XauxRx VMtLcwjKDp1tbaU2FP4sLM7cZCnHWPsvn+Q2H76P5Z/G0K/sKeRm42Ln0/BSxDhOdy+en5 JdnHrwptZsXT/7/y/7TycevJd3VEw9lO0w2JsYOfU0CU/EUmujgApq3QATd7DbmF0JetYc bTmO+yc3U3PC1pPxd3SEdrvnorrBdRe5xZTPZ+I9O2/2wY4IDEU/iHscyxzUXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cm8J6Nokqon347A5332kO5D4V4MYseFZ11z7FwPmNSU=; b=t9r3EIFM24cRapfH3AyY/SWcphXKXhYKktSjaiq7pNBxrApC5vZGemdKjabaiT/tBRCMNM 2yKFcAD/09SUtMf/w9ODkcZ/S+9huC6IeA6w0TVRyzHn9Tb3UlIl3ADrC5pIZ2hHA6IOsj INU/Rlk0ewAB/DOdk99X8yQs888iZgy1KsooHY9xD6NUceP8BgsotHgyRvlRn4eQ/dfgCE UEcAJ04OxPFezSD3CsBpdHzgREMrZ4yIS91tzGHYj0IvHmql6TVgxjV8tdmbA92y3Bd+vG eaXxlcPRGwLzxYmoJHiVcAU2B4aN1NcbBrDTA0pfK0w/vSwyM0bxiOjQluAXXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690488779; a=rsa-sha256; cv=none; b=ZqWlOPzQ+ZXHTECTAZkayu9y2YpOnYBhS1rxA45OzuDndm3Si33DJwJCCwI8U6Abm002fv wDVD9MM6ZnpUTF5FYMQ6XGueSHjuHZI/jtBMfGyFoy9xJB4LEiWh+fP5aGnPihRw87nHM0 EvYSK92m4ZbNErHq5UuNDjpwxr2VKb/HU7qgTNO7gHU9hZ8L63ONSoppG+UCTe4h6DoWZa bBsPh/P13vaB+lHWQvw9+iJNr5OS2cfRXzmP0PTeaL/rHz+m4k5s1xxtKl+uCBtZq8MKU2 kplWpHhXNSB6vyXIImZ+dO2az4Cae5kZ8/Uh2RDxi/sjg23BPOo/SOWfzxZrcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBhlZ6tz9zNv0; Thu, 27 Jul 2023 20:12: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 36RKCwsP087696; Thu, 27 Jul 2023 20:12:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RKCwA6087695; Thu, 27 Jul 2023 20:12:58 GMT (envelope-from git) Date: Thu, 27 Jul 2023 20:12:58 GMT Message-Id: <202307272012.36RKCwA6087695@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: ca6cd604c8fc - main - kmsan: Use the correct origin bytes in kmsan_check_arg() List-Id: Commit messages for all branches 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: ca6cd604c8fcfc27c6468c620a7bee518ca02cde Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ca6cd604c8fcfc27c6468c620a7bee518ca02cde commit ca6cd604c8fcfc27c6468c620a7bee518ca02cde Author: Mark Johnston AuthorDate: 2023-07-17 13:34:57 +0000 Commit: Mark Johnston CommitDate: 2023-07-27 20:02:03 +0000 kmsan: Use the correct origin bytes in kmsan_check_arg() Upon discovering a violation kmsan_check_arg() passes a pointer to function parameter shadow state to kmsan_report_hook(). kmsan_report_hook() uses that address to find the origin cells, assuming that the passed address belongs to the kernel map. This has two problems: 1) Function parameter origin state is also located in TLS, not in the origin map, but kmsan_report_hook() doesn't know this. 2) KMSAN TLS for thread0 is statically allocated and thus isn't shadowed (because the kernel itself is not shadowed). These bugs could result in inaccuracies in KMSAN reports, or a page fault when trying to report a KMSAN violation (which by default panics the kernel anyway). Fix the problem by making callers of kmsan_report_hook() provide a pointer to origin cells. Sponsored by: The FreeBSD Foundation --- sys/kern/subr_msan.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/sys/kern/subr_msan.c b/sys/kern/subr_msan.c index ba625a5405c5..debbcb56af2a 100644 --- a/sys/kern/subr_msan.c +++ b/sys/kern/subr_msan.c @@ -165,9 +165,9 @@ kmsan_orig_name(int type) } static void -kmsan_report_hook(const void *addr, size_t size, size_t off, const char *hook) +kmsan_report_hook(const void *addr, msan_orig_t *orig, size_t size, size_t off, + const char *hook) { - msan_orig_t *orig; const char *typename; char *var, *fn; uintptr_t ptr; @@ -181,9 +181,6 @@ kmsan_report_hook(const void *addr, size_t size, size_t off, const char *hook) kmsan_reporting = true; __compiler_membar(); - orig = (msan_orig_t *)kmsan_md_addr_to_orig((vm_offset_t)addr); - orig = (msan_orig_t *)((uintptr_t)orig & MSAN_ORIG_MASK); - if (*orig == 0) { REPORT("MSan: Uninitialized memory in %s, offset %zu", hook, off); @@ -363,6 +360,7 @@ kmsan_meta_copy(void *dst, const void *src, size_t size) static inline void kmsan_shadow_check(uintptr_t addr, size_t size, const char *hook) { + msan_orig_t *orig; uint8_t *shad; size_t i; @@ -375,7 +373,9 @@ kmsan_shadow_check(uintptr_t addr, size_t size, const char *hook) for (i = 0; i < size; i++) { if (__predict_true(shad[i] == 0)) continue; - kmsan_report_hook((const char *)addr + i, size, i, hook); + orig = (msan_orig_t *)kmsan_md_addr_to_orig((vm_offset_t)&shad[i]); + orig = (msan_orig_t *)((uintptr_t)orig & MSAN_ORIG_MASK); + kmsan_report_hook((const char *)addr + i, orig, size, i, hook); break; } } @@ -413,21 +413,24 @@ kmsan_init_ret(size_t n) static void kmsan_check_arg(size_t size, const char *hook) { + msan_orig_t *orig; msan_td_t *mtd; uint8_t *arg; - size_t i; + size_t ctx, i; if (__predict_false(!kmsan_enabled)) return; if (__predict_false(curthread == NULL)) return; mtd = curthread->td_kmsan; - arg = mtd->tls[mtd->ctx].param_shadow; + ctx = mtd->ctx; + arg = mtd->tls[ctx].param_shadow; for (i = 0; i < size; i++) { if (__predict_true(arg[i] == 0)) continue; - kmsan_report_hook((const char *)arg + i, size, i, hook); + orig = &mtd->tls[ctx].param_origin[i / sizeof(msan_orig_t)]; + kmsan_report_hook((const char *)arg + i, orig, size, i, hook); break; } } From nobody Thu Jul 27 20:13:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBhll22wyz4pdXs; Thu, 27 Jul 2023 20:13: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 4RBhld2qnvz3N3b; Thu, 27 Jul 2023 20:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488781; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=erwTHObeLif10OS8h6fNMUu4ZmWmCyNx8kGInWplSIQ=; b=tEVN7rCclWUnI4+Ny6/a550FjRml7TrcIWSnp/k8dxRYXzeD62yiK576M9u3FoB7pb1zhM j84lylVUpvqBqyS3cH1gRZEBt/3Jq2H0Cv/fIrm2EqXdD/Zm6Q/p25CguWzHetiZLaraWF utZQlrM2ZoI7kvt5iFFLzgqlv+cVXvuDFakpBuBUYCVIlP9gy4RH4sUiFqRa3QVZv85PLG M1w1B5B8tdgcw7S06FtFAN8UqPuCUIZ6hTFwl7PuxEYa0jJXuyNS4n7whGTGJAOhn/+Ruo G6eKZqVAnBArpis6DzTvYFEHM8/DtsZqkrD7Cyq5QJYQHgH9vCAjTcvfiOO9cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488781; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=erwTHObeLif10OS8h6fNMUu4ZmWmCyNx8kGInWplSIQ=; b=pfyBRhUWVF+REwCQ3mjM/DaMmhwHFskgqbqknlZvYyP7z61s8CwgGzC6FzQTR3UQXqroCY AgTkVxafWouFz0hupt8YEDmxCQBtS1ibgKzh18YjHe6475MoXxchMjgkh2avECLJVBi0z7 zI6KxHfSzPf5/jVLKaU9avjQtpsFoWnqNnR+Mz/pJFOyU+p8aVg8K8TmrHm/5I6NB6iqqU e2vwZD1QZLg8/JW+Jp2p0yh/TTzwlUEokbDFnhK1KBVdwgiLQoxfZNj8YizlZ5ZWg/AZvJ 5PWw6Wg0HXxXVXPEijA5OhiE77S+Mj2fwX2+cH79kLZ62eQWNWz1dZg9O8L3xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690488781; a=rsa-sha256; cv=none; b=EdAAWL2c/M5Wj6z3S8PesG5eoQh+QSjGYfuyRq/N+8H2yPiyIn9MyGMIs4V1/xccylnfWI uKrI9N7HrVlFp6hzf6AayLygbTEp6bj0EzlK17kb2Yd+N36tcCgOawZpHwGgKlx0CTFSGd XPnAGJy8+2V9x0jQKvKjy3Nm6szax/VYzTKAVoBF1HuZN+cICG80rWgDSUUk/m+YXFv1Cl QSTqpPyirw4MrpOCVxc1hz6RMhxikOzBdkcu2npiBtNIu0VLo96x5+lfQozhHYuGPJWELU 0ZKs2Pkrwnvwgs39V/159GeroBQY2TedQ0qsUp4vuEhbaU+qcmQLETGb9WJU6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBhld1QmBzNmm; Thu, 27 Jul 2023 20:13: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 36RKD13K087747; Thu, 27 Jul 2023 20:13:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RKD1O6087746; Thu, 27 Jul 2023 20:13:01 GMT (envelope-from git) Date: Thu, 27 Jul 2023 20:13:01 GMT Message-Id: <202307272013.36RKD1O6087746@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: 4ae699122810 - main - dtrace: Add WITH_DTRACE_ASAN List-Id: Commit messages for all branches 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: 4ae6991228105eb34989c870194ae7b0a1e23be4 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4ae6991228105eb34989c870194ae7b0a1e23be4 commit 4ae6991228105eb34989c870194ae7b0a1e23be4 Author: Domagoj Stolfa AuthorDate: 2023-07-27 18:27:42 +0000 Commit: Mark Johnston CommitDate: 2023-07-27 20:07:34 +0000 dtrace: Add WITH_DTRACE_ASAN This option is a blanket for all the DTrace-related software. The option when enabled passes in -fsanitize=address -fsanitize=undeifned, enabling ASAN and UBSAN in the following components: - libdtrace - dtrace(1) - lockstat(1) - plockstat(1) The option defaults to "no" and is intended as a developer aid. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D41157 --- cddl/lib/libdtrace/Makefile | 7 +++++++ cddl/usr.sbin/dtrace/Makefile | 5 +++++ cddl/usr.sbin/lockstat/Makefile | 7 +++++++ cddl/usr.sbin/plockstat/Makefile | 7 +++++++ share/man/man5/src.conf.5 | 5 +++++ share/mk/src.opts.mk | 1 + tools/build/options/WITH_DTRACE_ASAN | 4 ++++ 7 files changed, 36 insertions(+) diff --git a/cddl/lib/libdtrace/Makefile b/cddl/lib/libdtrace/Makefile index 23cc8d2db574..a6a7b90d3d39 100644 --- a/cddl/lib/libdtrace/Makefile +++ b/cddl/lib/libdtrace/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + .PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common .PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common @@ -138,6 +140,11 @@ DSRCS+= regs_aarch64.d YFLAGS+=-d +.if ${MK_DTRACE_ASAN} != "no" +CFLAGS+= -fsanitize=address -fsanitize=undefined +LDFLAGS+= -fsanitize=address -fsanitize=undefined +.endif + LIBADD= ctf elf proc pthread rtld_db CLEANFILES= dt_errtags.c dt_names.c diff --git a/cddl/usr.sbin/dtrace/Makefile b/cddl/usr.sbin/dtrace/Makefile index d8510e62fb29..fcc0668f1b1d 100644 --- a/cddl/usr.sbin/dtrace/Makefile +++ b/cddl/usr.sbin/dtrace/Makefile @@ -30,6 +30,11 @@ CFLAGS+= -DHAVE_ISSETUGID #CFLAGS+= -DNEED_ERRLOC #YFLAGS+= -d +.if ${MK_DTRACE_ASAN} != "no" +CFLAGS+= -fsanitize=address -fsanitize=undefined +LDFLAGS+= -fsanitize=address -fsanitize=undefined +.endif + LIBADD= dtrace ctf elf proc spl .if ${MK_DTRACE_TESTS} != "no" diff --git a/cddl/usr.sbin/lockstat/Makefile b/cddl/usr.sbin/lockstat/Makefile index a4bec42df367..72cedbdb20ed 100644 --- a/cddl/usr.sbin/lockstat/Makefile +++ b/cddl/usr.sbin/lockstat/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + .PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/lockstat PACKAGE= dtrace @@ -26,6 +28,11 @@ CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris \ -I${SRCTOP}/sys CFLAGS+= -DHAVE_ISSETUGID +.if ${MK_DTRACE_ASAN} != "no" +CFLAGS+= -fsanitize=address -fsanitize=undefined +LDFLAGS+= -fsanitize=address -fsanitize=undefined +.endif + CFLAGS+= -DNEED_ERRLOC -g #YFLAGS+= -d diff --git a/cddl/usr.sbin/plockstat/Makefile b/cddl/usr.sbin/plockstat/Makefile index 22610870c846..41ef446c111b 100644 --- a/cddl/usr.sbin/plockstat/Makefile +++ b/cddl/usr.sbin/plockstat/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + .PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/plockstat PACKAGE= dtrace @@ -26,6 +28,11 @@ CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris \ -I${SRCTOP}/sys CFLAGS+= -DHAVE_ISSETUGID +.if ${MK_DTRACE_ASAN} != "no" +CFLAGS+= -fsanitize=address -fsanitize=undefined +LDFLAGS+= -fsanitize=address -fsanitize=undefined +.endif + LIBADD= dtrace proc .include diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 0deb0216e027..69f0cc5feff9 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -594,6 +594,11 @@ When set, it enforces these options: .It .Va WITHOUT_CTF .El +.It Va WITH_DTRACE_ASAN +Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1)) +with address and undefined behavior sanitizers. +Requires that Clang be used as the base system compiler +and that the runtime support library is available. .It Va WITH_DTRACE_TESTS Build and install the DTrace test suite in .Pa /usr/tests/cddl/usr.sbin/dtrace . diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 899d620fb0c1..a799c1614fff 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -201,6 +201,7 @@ __DEFAULT_NO_OPTIONS = \ CLANG_FORMAT \ DETECT_TZ_CHANGES \ DISK_IMAGE_TOOLS_BOOTSTRAP \ + DTRACE_ASAN \ DTRACE_TESTS \ EXPERIMENTAL \ HESIOD \ diff --git a/tools/build/options/WITH_DTRACE_ASAN b/tools/build/options/WITH_DTRACE_ASAN new file mode 100644 index 000000000000..4240aee4b89b --- /dev/null +++ b/tools/build/options/WITH_DTRACE_ASAN @@ -0,0 +1,4 @@ +Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1)) +with address and undefined behavior sanitizers. +Requires that Clang be used as the base system compiler +and that the runtime support library is available. From nobody Thu Jul 27 20:12:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBhll0tPVz4pdly; Thu, 27 Jul 2023 20:12: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 4RBhlX6g8nz3N98; Thu, 27 Jul 2023 20:12:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mYSgoRqsRVHZm7SmFtXeV+Ywx5HSwSTr7nAPkH0nCiE=; b=VSkBl/UFsRv+hz+jdH7PdTZLX+MC5/yE5AwM2FUSdKCv1E3n3Xs1dnMaL7Z13OT8js1OUA bZcQyPfM5MjF3krSGCf9EfCAtbGTMdzq11XpmHKnE65R8nzWdIMBPBtg07eNM7gZQQaiCZ EWz0mAghuRBN7t9eO1vHL/tlJbXFgzqrP+/1scr/PmjKKAoh8+AnB+73zU9G/Xwl/3BOLA wTpZhmE2CdaXMtNQ7NRYOw+lccmu2jRFJFcamfAOKycBUlv0GXyq3WTkJdzTodc9dS3/T/ u7Ucqk63uxn9Iw74YJK+GYuH/UlYE6susbQCA0pxdIpxADdVNeeZ7j8yzVx+Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mYSgoRqsRVHZm7SmFtXeV+Ywx5HSwSTr7nAPkH0nCiE=; b=R6jUIzLp+FewX3eCcH/IKBlZjTk0ZLLFa74/GHharE2XE9zoCCO66sb4U6dAQpN0tsJtKr HwNrrUQhuvNy4q68TC3RKIMuIg9yRjJ2F+PpP+5DHlWJwRGBe3FKKiJ1fvnPWDpSItwDld UCMYDgsw+fPpdAiaBeUptKpzOMUigjVovGT4Z/6afW2ljjfou64iY7QZ8ZBs9S9VB6xxiV HoNQ8/2S8h1iWkmbeSw5pC41Fov3ZhDY4rr367UnXU5Ej5wDe2LJdO+NkmY8XWvWiiNN+W LCWYxJsGBe5GcyTYD6eIOHI+1smZWsegNI+RC0GJ9akGcCDUgo8qnIr+FmrinA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690488777; a=rsa-sha256; cv=none; b=ybEzr1HZdhq8PdATzzFNv/0KXgse49DnWNonR2Zd8JxFBNwlrKTg5YGxjC38ZFjCrDZBGA uoBPQ3Bgx7L2Ix0nF+X4tIFiYyFQio/nen/gZlhZdmhcakMe77mie4XMlXbEk+E5WSsPSa DUSPwADLrVj0HGt55HlmFpmSRBISdT8M4PSBPG4safZhYXAFGsg9m7EA5gbIbNRwrrJ0W/ SYa4woSPhg14M3nUKb3ToYW1xDU0IdZx1ZvriHRRxIyr88ANyW/4leYVYOLe4IUC3u0I4W MxUM0jvIdTKG1cMg+t7Wi/eCuapbk7eYqh3CQOq+rFHhtvGAT1SAznjkMokJGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBhlX5T96zNty; Thu, 27 Jul 2023 20:12: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 36RKCuod087654; Thu, 27 Jul 2023 20:12:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RKCu8Z087653; Thu, 27 Jul 2023 20:12:56 GMT (envelope-from git) Date: Thu, 27 Jul 2023 20:12:56 GMT Message-Id: <202307272012.36RKCu8Z087653@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: 96c253812139 - main - opencrypto: Respect alignment constraints in xor_and_encrypt() List-Id: Commit messages for all branches 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: 96c2538121390c872f68ac48f97b35fb973c11dc Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=96c2538121390c872f68ac48f97b35fb973c11dc commit 96c2538121390c872f68ac48f97b35fb973c11dc Author: Mark Johnston AuthorDate: 2023-07-27 19:44:52 +0000 Commit: Mark Johnston CommitDate: 2023-07-27 19:44:52 +0000 opencrypto: Respect alignment constraints in xor_and_encrypt() Copy operands to an aligned buffer before performing operations which require alignment. Otherwise it's possible for this code to trigger an alignment fault on armv7. Reviewed by: jhb MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D41211 --- sys/opencrypto/cbc_mac.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/sys/opencrypto/cbc_mac.c b/sys/opencrypto/cbc_mac.c index 9a030cd54173..cfba24eeab31 100644 --- a/sys/opencrypto/cbc_mac.c +++ b/sys/opencrypto/cbc_mac.c @@ -40,19 +40,16 @@ static void xor_and_encrypt(struct aes_cbc_mac_ctx *ctx, const uint8_t *src, uint8_t *dst) { - const uint64_t *b1; - uint64_t *b2; - uint64_t temp_block[CCM_CBC_BLOCK_LEN/sizeof(uint64_t)]; +#define NWORDS (CCM_CBC_BLOCK_LEN / sizeof(uint64_t)) + uint64_t b1[NWORDS], b2[NWORDS], temp[NWORDS]; - b1 = (const uint64_t*)src; - b2 = (uint64_t*)dst; + memcpy(b1, src, CCM_CBC_BLOCK_LEN); + memcpy(b2, dst, CCM_CBC_BLOCK_LEN); - for (size_t count = 0; - count < CCM_CBC_BLOCK_LEN/sizeof(uint64_t); - count++) { - temp_block[count] = b1[count] ^ b2[count]; - } - rijndaelEncrypt(ctx->keysched, ctx->rounds, (void*)temp_block, dst); + for (size_t count = 0; count < NWORDS; count++) + temp[count] = b1[count] ^ b2[count]; + rijndaelEncrypt(ctx->keysched, ctx->rounds, (void *)temp, dst); +#undef NWORDS } void From nobody Thu Jul 27 20:12:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBhll0jqGz4pdjg; Thu, 27 Jul 2023 20:12: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 4RBhlZ04fQz3MyS; Thu, 27 Jul 2023 20:12:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=23t6kzSCt2YmMsqkNDZ9J38vQ1M/6lsjtbTCbTItChE=; b=ADyswW9PQbUW7bZC8hhZz8b+cA2vZZpmQYiPobh1tQ1BNWHEuTVhKPQDMik1Jx9k1lY/ZE GFbPfh4QPrzNCa0dipkyY2y5P1ugvFyNF6TEPHF5nv5tE8b48TVKdP+/jYG69jXI308N0a ln/OdVk0Je61DH1Hi+vVmLKtkguHZgaOnkKTI6EkLtPmoTx7wnSVcjhBdd/0pzpDHzyoRe uQ/m3G2cWv62nxIPE8eEYSKNWdrdrsihogX6pwBYUqcx1j3vwvgjgMHccduz0ZOWhurqyh v1fCSNIcim6VKT+EBQeYlw5QtagFHLYmpc92yHGW3Jr2PKf8MYfPiFgVwTIU9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690488778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=23t6kzSCt2YmMsqkNDZ9J38vQ1M/6lsjtbTCbTItChE=; b=DFcV+ZQ99yShVOdhHM9zw5N415IctaLO3mpFBZikA3MacndKSQFX5WDh1rnikLUOHXCQbq ZWT0xDMSciTrin9W16bFQd4oJAdSbR2i2oxdA2DoXCgJ8uXJvrWsE1/N0py6GOU0tnfQ3e s6x/GDN+UFsr/zN5UJW+SGY8Q9B8iWOYM6JcVcUHkP05LCpmiciuAi7/oyUdCzo7foX1cP /w3Eq0BdvHhhQCUnz/A85EOzB7DIh6ddR6/HYnfp+P5vDjDSLjwSHc2HwZcu+9PvRWGPHD Il55QKzdzG+W8qI+pROqeI3sgl6X5pTwiOTBUqoMTqvKcop2XRH3JhzG0F392A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690488778; a=rsa-sha256; cv=none; b=Ryck/iuehiJY3oTcbRZVbt5QU2Aawap/gs7rrnsZr6JHef3SW9D48fQH21Oy1mzOSlwpo7 tW/yFwBtaqytZgwMUzc3PVnenyKyfrVfeQz4qtH8DfNlQEeOF2gF79+KqRUNwEatEb2qJo UJnR8mSr2govLQG8/dyX1HRzgmOo5cHr3/P0oNpEGsvZpi5LVz0wFvcLt+013X6UTReh7c twdoP3XrwuIcDzSG8OTIsDapcnAdaD0PMpzVzaGny6zUHWKjoKvRDFql+WdpDl8caURQrb D/W2B3WbADTwvfDZdSUjm9/E5BdPtnq8IJMRS0ysqlU0lxRzgogspWuBbytenA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBhlY5y4jzNX6; Thu, 27 Jul 2023 20:12: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 36RKCvfG087673; Thu, 27 Jul 2023 20:12:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RKCvX3087672; Thu, 27 Jul 2023 20:12:57 GMT (envelope-from git) Date: Thu, 27 Jul 2023 20:12:57 GMT Message-Id: <202307272012.36RKCvX3087672@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: 640e5cb30405 - main - kmsan: Add a comment explaining why KMSAN doesn't shadow above KERNBASE List-Id: Commit messages for all branches 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: 640e5cb30405e98d3888b22bb040485e8bf3b446 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=640e5cb30405e98d3888b22bb040485e8bf3b446 commit 640e5cb30405e98d3888b22bb040485e8bf3b446 Author: Mark Johnston AuthorDate: 2023-07-15 18:04:55 +0000 Commit: Mark Johnston CommitDate: 2023-07-27 20:01:58 +0000 kmsan: Add a comment explaining why KMSAN doesn't shadow above KERNBASE Sponsored by: The FreeBSD Foundation --- sys/amd64/include/msan.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/amd64/include/msan.h b/sys/amd64/include/msan.h index 56460575ea7e..b62b3c243505 100644 --- a/sys/amd64/include/msan.h +++ b/sys/amd64/include/msan.h @@ -41,8 +41,9 @@ typedef uint32_t msan_orig_t; /* - * Our 32-bit origin cells encode a 2-bit type and 30-bit pointer. The pointer - * is compressed by making it a positive offset relative to KERNBASE. + * Our 32-bit origin cells encode a 2-bit type and 30-bit pointer to a kernel + * instruction. The pointer is compressed by making it a positive offset + * relative to KERNBASE. */ #define KMSAN_ORIG_TYPE_SHIFT 30u #define KMSAN_ORIG_PTR_MASK ((1u << KMSAN_ORIG_TYPE_SHIFT) - 1) @@ -76,6 +77,12 @@ kmsan_md_addr_to_orig(vm_offset_t addr) static inline bool 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. + */ return (addr < VM_MIN_KERNEL_ADDRESS || addr >= KERNBASE); } From nobody Thu Jul 27 21:53:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBkzr5JRlz4ppHm; Thu, 27 Jul 2023 21:53: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 4RBkzr28dQz4N0s; Thu, 27 Jul 2023 21:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+eWdIwnKTgJa0Ub55rMa+d6+9jSozXmW88/9pWiLMRI=; b=SwgdmhXI6kNq5AWM8IcneprPGeR/12HHdVX30HhKCtWsrjJEoUzVDjXckcdMYijwnNimPH xqt7hBQco/jGxxgowrNA3zqGKpZUxSbJMfgDXupLW1j0eAZjop9auNdsv6JqQf2D7DmOK3 HC7/6yNrvV/V8TuxPiUJubSR4aXcCzY0NHH1wt8OMaI1xpjhUuGraETTDu8PnjcV+ksNaw 0h/cMRpAII1poAF1LAIE+wUXJ27ac6fD4xzajjLsrSAM42SYO6v18w9a6r6TTa8gjutTaX d4OR68EyNEPGYX3We/AdW/3TMOtAjsTfndW2U4QeEmI5sGO7xUmyR1Ex3gyI5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+eWdIwnKTgJa0Ub55rMa+d6+9jSozXmW88/9pWiLMRI=; b=DezG6q14g3nE+pxkTTvp1NZo/YLylzsjNxLcRje3cGGfw6V4URtCLSWQghiO/AN7V+4kD/ 2+9g6mp2Z89bfL2jk/UakjmcAzi+BEVrP6flMGUl/bypNkRXYU6yoUFnQk55cSzGq7Tsl8 rHK2Bed8v+pM6vwl33Fk0MHVtDbM9ei5UDNiVJxf/ZM049UVuWbFubvaXpxDn8IscS7jGY 07wA4KNqhv4h0l60mpdNk+L3Vb7ufXM4605XjahzbBya52RKzjGnmg7u7K12VjcORGEaZe 3effC3B2BGy19SvNI67E6rLBQQv+/Mwd2ol+xf1XiePRaMqjsXUY0bIoPU+kKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690494824; a=rsa-sha256; cv=none; b=ts+UeMAnrdTJaWXAQXHYy4JNJXYYCTJ+BHvpqds573u7ru7lnxasYBhMek8coa1b1f0oj3 jmdSHcpFZZiF0cIngUqUWkivnCjj4tG+YQ8g/lrR8+VGY8nrc787IN4Zubg0/15bZuyRBW HnR8YsR8S67KUXS100YgrSHwUurxW1HzJkXttjG+m013x64u9t3VTftQA2NufCtW4rjVpI OiwGGoXWvxfuwov6R6pFKVrf4Pzc3/4eA3niSXbVRJLo8RILcJU7LHQnecmSNmW4oCk6u3 b2ZzT7Qwc3GNr/cFi0L8IFpdI3v69LS7qzUzXudtRrA+Spj4filVfD/cIuSEVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBkzr1F1GzR2V; Thu, 27 Jul 2023 21:53: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 36RLriFx052707; Thu, 27 Jul 2023 21:53:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RLriUW052706; Thu, 27 Jul 2023 21:53:44 GMT (envelope-from git) Date: Thu, 27 Jul 2023 21:53:44 GMT Message-Id: <202307272153.36RLriUW052706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: e30d990e1a6f - stable/13 - ixl: port ice's atomic API to ixl List-Id: Commit messages for all branches 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: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e30d990e1a6fbbed11bfbfa9b130d7a41f28ee8c Auto-Submitted: auto-generated The branch stable/13 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=e30d990e1a6fbbed11bfbfa9b130d7a41f28ee8c commit e30d990e1a6fbbed11bfbfa9b130d7a41f28ee8c Author: Piotr Kubaj AuthorDate: 2023-06-06 15:30:18 +0000 Commit: Eric Joyner CommitDate: 2023-07-27 21:48:34 +0000 ixl: port ice's atomic API to ixl Differential Revision: https://reviews.freebsd.org/D40532 Approved by: erj (cherry picked from commit b8f51b8c5423af0795429836a00f2a968e791f6e) --- sys/dev/ixl/if_ixl.c | 21 +++++----- sys/dev/ixl/ixl_pf.h | 34 +++++++++------- sys/dev/ixl/ixl_pf_iflib.c | 16 ++++---- sys/dev/ixl/ixl_pf_main.c | 98 ++++++++++++++++++++++++++++++++++++++-------- 4 files changed, 118 insertions(+), 51 deletions(-) diff --git a/sys/dev/ixl/if_ixl.c b/sys/dev/ixl/if_ixl.c index 985843d546fa..65f6a400569c 100644 --- a/sys/dev/ixl/if_ixl.c +++ b/sys/dev/ixl/if_ixl.c @@ -602,14 +602,14 @@ ixl_if_attach_pre(if_ctx_t ctx) if (((pf->hw.aq.fw_maj_ver == 4) && (pf->hw.aq.fw_min_ver < 3)) || (pf->hw.aq.fw_maj_ver < 4)) { i40e_aq_stop_lldp(hw, true, false, NULL); - pf->state |= IXL_PF_STATE_FW_LLDP_DISABLED; + ixl_set_state(&pf->state, IXL_STATE_FW_LLDP_DISABLED); } /* Try enabling Energy Efficient Ethernet (EEE) mode */ if (i40e_enable_eee(hw, true) == I40E_SUCCESS) - atomic_set_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + ixl_set_state(&pf->state, IXL_STATE_EEE_ENABLED); else - atomic_clear_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + ixl_clear_state(&pf->state, IXL_STATE_EEE_ENABLED); /* Get MAC addresses from hardware */ i40e_get_mac_addr(hw, hw->mac.addr); @@ -634,11 +634,11 @@ ixl_if_attach_pre(if_ctx_t ctx) /* Query device FW LLDP status */ if (i40e_get_fw_lldp_status(hw, &lldp_status) == I40E_SUCCESS) { if (lldp_status == I40E_GET_FW_LLDP_STATUS_DISABLED) { - atomic_set_32(&pf->state, - IXL_PF_STATE_FW_LLDP_DISABLED); + ixl_set_state(&pf->state, + IXL_STATE_FW_LLDP_DISABLED); } else { - atomic_clear_32(&pf->state, - IXL_PF_STATE_FW_LLDP_DISABLED); + ixl_clear_state(&pf->state, + IXL_STATE_FW_LLDP_DISABLED); } } @@ -777,7 +777,7 @@ ixl_if_attach_post(if_ctx_t ctx) * Driver may have been reloaded. Ensure that the link state * is consistent with current settings. */ - ixl_set_link(pf, (pf->state & IXL_PF_STATE_LINK_ACTIVE_ON_DOWN) != 0); + ixl_set_link(pf, ixl_test_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN)); hw->phy.get_link_info = true; i40e_get_link_status(hw, &pf->link_up); @@ -1037,8 +1037,7 @@ ixl_if_stop(if_ctx_t ctx) * e.g. on MTU change. */ if ((if_getflags(ifp) & IFF_UP) == 0 && - (atomic_load_acq_32(&pf->state) & - IXL_PF_STATE_LINK_ACTIVE_ON_DOWN) == 0) + !ixl_test_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN)) ixl_set_link(pf, false); } @@ -1419,7 +1418,7 @@ ixl_if_update_admin_status(if_ctx_t ctx) if (!i40e_check_asq_alive(&pf->hw)) return; - if (pf->state & IXL_PF_STATE_MDD_PENDING) + if (ixl_test_state(&pf->state, IXL_STATE_MDD_PENDING)) ixl_handle_mdd_event(pf); ixl_process_adminq(pf, &pending); diff --git a/sys/dev/ixl/ixl_pf.h b/sys/dev/ixl/ixl_pf.h index 888949245133..6a73f5acc838 100644 --- a/sys/dev/ixl/ixl_pf.h +++ b/sys/dev/ixl/ixl_pf.h @@ -76,26 +76,26 @@ enum ixl_i2c_access_method_t { }; /* Used in struct ixl_pf's state field */ -enum ixl_pf_state { - IXL_PF_STATE_RECOVERY_MODE = (1 << 0), - IXL_PF_STATE_RESETTING = (1 << 1), - IXL_PF_STATE_MDD_PENDING = (1 << 2), - IXL_PF_STATE_PF_RESET_REQ = (1 << 3), - IXL_PF_STATE_VF_RESET_REQ = (1 << 4), - IXL_PF_STATE_PF_CRIT_ERR = (1 << 5), - IXL_PF_STATE_CORE_RESET_REQ = (1 << 6), - IXL_PF_STATE_GLOB_RESET_REQ = (1 << 7), - IXL_PF_STATE_EMP_RESET_REQ = (1 << 8), - IXL_PF_STATE_FW_LLDP_DISABLED = (1 << 9), - IXL_PF_STATE_EEE_ENABLED = (1 << 10), - IXL_PF_STATE_LINK_ACTIVE_ON_DOWN = (1 << 11), +enum ixl_state { + IXL_STATE_RECOVERY_MODE = 0, + IXL_STATE_RESETTING = 1, + IXL_STATE_MDD_PENDING = 2, + IXL_STATE_PF_RESET_REQ = 3, + IXL_STATE_VF_RESET_REQ = 4, + IXL_STATE_PF_CRIT_ERR = 5, + IXL_STATE_CORE_RESET_REQ = 6, + IXL_STATE_GLOB_RESET_REQ = 7, + IXL_STATE_EMP_RESET_REQ = 8, + IXL_STATE_FW_LLDP_DISABLED = 9, + IXL_STATE_EEE_ENABLED = 10, + IXL_STATE_LINK_ACTIVE_ON_DOWN = 11, }; #define IXL_PF_IN_RECOVERY_MODE(pf) \ - ((atomic_load_acq_32(&pf->state) & IXL_PF_STATE_RECOVERY_MODE) != 0) + ixl_test_state(&pf->state, IXL_STATE_RECOVERY_MODE) #define IXL_PF_IS_RESETTING(pf) \ - ((atomic_load_acq_32(&pf->state) & IXL_PF_STATE_RESETTING) != 0) + ixl_test_state(&pf->state, IXL_STATE_RESETTING) struct ixl_vf { struct ixl_vsi vsi; @@ -284,6 +284,10 @@ struct ixl_pf { #define ixl_dbg_iov(pf, s, ...) ixl_debug_core((pf)->dev, (pf)->dbg_mask, IXL_DBG_IOV, s, ##__VA_ARGS__) /* PF-only function declarations */ +void ixl_set_state(volatile u32 *s, enum ixl_state bit); +void ixl_clear_state(volatile u32 *s, enum ixl_state bit); +bool ixl_test_state(volatile u32 *s, enum ixl_state bit); +u32 ixl_testandset_state(volatile u32 *s, enum ixl_state bit); int ixl_setup_interface(device_t, struct ixl_pf *); void ixl_print_nvm_cmd(device_t, struct i40e_nvm_access *); diff --git a/sys/dev/ixl/ixl_pf_iflib.c b/sys/dev/ixl/ixl_pf_iflib.c index 6ea20389c547..b70388bd6f6e 100644 --- a/sys/dev/ixl/ixl_pf_iflib.c +++ b/sys/dev/ixl/ixl_pf_iflib.c @@ -158,7 +158,7 @@ ixl_msix_adminq(void *arg) if (reg & I40E_PFINT_ICR0_MAL_DETECT_MASK) { mask &= ~I40E_PFINT_ICR0_ENA_MAL_DETECT_MASK; - atomic_set_32(&pf->state, IXL_PF_STATE_MDD_PENDING); + ixl_set_state(&pf->state, IXL_STATE_MDD_PENDING); do_task = TRUE; } @@ -185,7 +185,7 @@ ixl_msix_adminq(void *arg) } device_printf(dev, "Reset Requested! (%s)\n", reset_type); /* overload admin queue task to check reset progress */ - atomic_set_int(&pf->state, IXL_PF_STATE_RESETTING); + ixl_set_state(&pf->state, IXL_STATE_RESETTING); do_task = TRUE; } @@ -202,8 +202,8 @@ ixl_msix_adminq(void *arg) /* Checks against the conditions above */ if (reg & IXL_ICR0_CRIT_ERR_MASK) { mask &= ~IXL_ICR0_CRIT_ERR_MASK; - atomic_set_32(&pf->state, - IXL_PF_STATE_PF_RESET_REQ | IXL_PF_STATE_PF_CRIT_ERR); + ixl_set_state(&pf->state, + IXL_STATE_PF_RESET_REQ | IXL_STATE_PF_CRIT_ERR); do_task = TRUE; } @@ -1037,11 +1037,11 @@ ixl_rebuild_hw_structs_after_reset(struct ixl_pf *pf, bool is_up) /* Query device FW LLDP status */ if (i40e_get_fw_lldp_status(hw, &lldp_status) == I40E_SUCCESS) { if (lldp_status == I40E_GET_FW_LLDP_STATUS_DISABLED) { - atomic_set_32(&pf->state, - IXL_PF_STATE_FW_LLDP_DISABLED); + ixl_set_state(&pf->state, + IXL_STATE_FW_LLDP_DISABLED); } else { - atomic_clear_32(&pf->state, - IXL_PF_STATE_FW_LLDP_DISABLED); + ixl_clear_state(&pf->state, + IXL_STATE_FW_LLDP_DISABLED); } } diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c index 0b4e69a5ce37..5cf686c5b7cf 100644 --- a/sys/dev/ixl/ixl_pf_main.c +++ b/sys/dev/ixl/ixl_pf_main.c @@ -116,6 +116,71 @@ static char *ixl_fec_string[3] = { "None" }; +/* Functions for setting and checking driver state. Note the functions take + * bit positions, not bitmasks. The atomic_set_32 and atomic_clear_32 + * operations require bitmasks. This can easily lead to programming error, so + * we provide wrapper functions to avoid this. + */ + +/** + * ixl_set_state - Set the specified state + * @s: the state bitmap + * @bit: the state to set + * + * Atomically update the state bitmap with the specified bit set. + */ +inline void +ixl_set_state(volatile u32 *s, enum ixl_state bit) +{ + /* atomic_set_32 expects a bitmask */ + atomic_set_32(s, BIT(bit)); +} + +/** + * ixl_clear_state - Clear the specified state + * @s: the state bitmap + * @bit: the state to clear + * + * Atomically update the state bitmap with the specified bit cleared. + */ +inline void +ixl_clear_state(volatile u32 *s, enum ixl_state bit) +{ + /* atomic_clear_32 expects a bitmask */ + atomic_clear_32(s, BIT(bit)); +} + +/** + * ixl_test_state - Test the specified state + * @s: the state bitmap + * @bit: the bit to test + * + * Return true if the state is set, false otherwise. Use this only if the flow + * does not need to update the state. If you must update the state as well, + * prefer ixl_testandset_state. + */ +inline bool +ixl_test_state(volatile u32 *s, enum ixl_state bit) +{ + return !!(*s & BIT(bit)); +} + +/** + * ixl_testandset_state - Test and set the specified state + * @s: the state bitmap + * @bit: the bit to test + * + * Atomically update the state bitmap, setting the specified bit. Returns the + * previous value of the bit. + */ +inline u32 +ixl_testandset_state(volatile u32 *s, enum ixl_state bit) +{ + /* atomic_testandset_32 expects a bit position, as opposed to bitmask + expected by other atomic functions */ + return atomic_testandset_32(s, bit); +} + MALLOC_DEFINE(M_IXL, "ixl", "ixl driver allocations"); /* @@ -210,7 +275,7 @@ ixl_pf_reset(struct ixl_pf *pf) fw_mode = ixl_get_fw_mode(pf); ixl_dbg_info(pf, "%s: before PF reset FW mode: 0x%08x\n", __func__, fw_mode); if (fw_mode == IXL_FW_MODE_RECOVERY) { - atomic_set_32(&pf->state, IXL_PF_STATE_RECOVERY_MODE); + ixl_set_state(&pf->state, IXL_STATE_RECOVERY_MODE); /* Don't try to reset device if it's in recovery mode */ return (0); } @@ -224,7 +289,7 @@ ixl_pf_reset(struct ixl_pf *pf) fw_mode = ixl_get_fw_mode(pf); ixl_dbg_info(pf, "%s: after PF reset FW mode: 0x%08x\n", __func__, fw_mode); if (fw_mode == IXL_FW_MODE_RECOVERY) { - atomic_set_32(&pf->state, IXL_PF_STATE_RECOVERY_MODE); + ixl_set_state(&pf->state, IXL_STATE_RECOVERY_MODE); return (0); } @@ -387,7 +452,7 @@ retry: } /* Keep link active by default */ - atomic_set_32(&pf->state, IXL_PF_STATE_LINK_ACTIVE_ON_DOWN); + ixl_set_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN); /* Print a subset of the capability information. */ device_printf(dev, @@ -1869,7 +1934,7 @@ ixl_handle_mdd_event(struct ixl_pf *pf) ixl_handle_tx_mdd_event(pf); ixl_handle_rx_mdd_event(pf); - atomic_clear_32(&pf->state, IXL_PF_STATE_MDD_PENDING); + ixl_clear_state(&pf->state, IXL_STATE_MDD_PENDING); /* re-enable mdd interrupt cause */ reg = rd32(hw, I40E_PFINT_ICR0_ENA); @@ -1937,7 +2002,7 @@ ixl_handle_empr_reset(struct ixl_pf *pf) if (!IXL_PF_IN_RECOVERY_MODE(pf) && ixl_get_fw_mode(pf) == IXL_FW_MODE_RECOVERY) { - atomic_set_32(&pf->state, IXL_PF_STATE_RECOVERY_MODE); + ixl_set_state(&pf->state, IXL_STATE_RECOVERY_MODE); device_printf(pf->dev, "Firmware recovery mode detected. Limiting functionality. Refer to Intel(R) Ethernet Adapters and Devices User Guide for details on firmware recovery mode.\n"); pf->link_up = FALSE; @@ -1946,7 +2011,7 @@ ixl_handle_empr_reset(struct ixl_pf *pf) ixl_rebuild_hw_structs_after_reset(pf, is_up); - atomic_clear_32(&pf->state, IXL_PF_STATE_RESETTING); + ixl_clear_state(&pf->state, IXL_STATE_RESETTING); } void @@ -4464,7 +4529,7 @@ ixl_start_fw_lldp(struct ixl_pf *pf) } } - atomic_clear_32(&pf->state, IXL_PF_STATE_FW_LLDP_DISABLED); + ixl_clear_state(&pf->state, IXL_STATE_FW_LLDP_DISABLED); return (0); } @@ -4501,7 +4566,7 @@ ixl_stop_fw_lldp(struct ixl_pf *pf) } i40e_aq_set_dcb_parameters(hw, true, NULL); - atomic_set_32(&pf->state, IXL_PF_STATE_FW_LLDP_DISABLED); + ixl_set_state(&pf->state, IXL_STATE_FW_LLDP_DISABLED); return (0); } @@ -4511,7 +4576,7 @@ ixl_sysctl_fw_lldp(SYSCTL_HANDLER_ARGS) struct ixl_pf *pf = (struct ixl_pf *)arg1; int state, new_state, error = 0; - state = new_state = ((pf->state & IXL_PF_STATE_FW_LLDP_DISABLED) == 0); + state = new_state = !ixl_test_state(&pf->state, IXL_STATE_FW_LLDP_DISABLED); /* Read in new mode */ error = sysctl_handle_int(oidp, &new_state, 0, req); @@ -4537,7 +4602,7 @@ ixl_sysctl_eee_enable(SYSCTL_HANDLER_ARGS) enum i40e_status_code cmd_status; /* Init states' values */ - state = new_state = (!!(pf->state & IXL_PF_STATE_EEE_ENABLED)); + state = new_state = ixl_test_state(&pf->state, IXL_STATE_EEE_ENABLED); /* Get requested mode */ sysctl_handle_status = sysctl_handle_int(oidp, &new_state, 0, req); @@ -4554,9 +4619,9 @@ ixl_sysctl_eee_enable(SYSCTL_HANDLER_ARGS) /* Save new state or report error */ if (!cmd_status) { if (new_state == 0) - atomic_clear_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + ixl_clear_state(&pf->state, IXL_STATE_EEE_ENABLED); else - atomic_set_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + ixl_set_state(&pf->state, IXL_STATE_EEE_ENABLED); } else if (cmd_status == I40E_ERR_CONFIG) return (EPERM); else @@ -4571,17 +4636,16 @@ ixl_sysctl_set_link_active(SYSCTL_HANDLER_ARGS) struct ixl_pf *pf = (struct ixl_pf *)arg1; int error, state; - state = !!(atomic_load_acq_32(&pf->state) & - IXL_PF_STATE_LINK_ACTIVE_ON_DOWN); + state = ixl_test_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN); error = sysctl_handle_int(oidp, &state, 0, req); if ((error) || (req->newptr == NULL)) return (error); if (state == 0) - atomic_clear_32(&pf->state, IXL_PF_STATE_LINK_ACTIVE_ON_DOWN); + ixl_clear_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN); else - atomic_set_32(&pf->state, IXL_PF_STATE_LINK_ACTIVE_ON_DOWN); + ixl_set_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN); return (0); } @@ -4628,7 +4692,7 @@ ixl_sysctl_do_pf_reset(SYSCTL_HANDLER_ARGS) return (error); /* Initiate the PF reset later in the admin task */ - atomic_set_32(&pf->state, IXL_PF_STATE_PF_RESET_REQ); + ixl_set_state(&pf->state, IXL_STATE_PF_RESET_REQ); return (error); } From nobody Thu Jul 27 21:53:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBkzs41HDz4ppJ2; Thu, 27 Jul 2023 21:53: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 4RBkzs35hCz4MqP; Thu, 27 Jul 2023 21:53:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yay09+ZvyzV1NXRRm6lPeYVW1Q2gmgCcJYyCnU9VzF0=; b=XmeVGPOQFLjX6MOn6/K3sBh6y/rx3zDzTs6vtr/4yUDjJcoTFLzJpVe6iSS66yHTtUcY/E PPa+uPoDCSCjTDlJpb8wDh286NEOMw33K06LX5CC1YWXJs8gACGHSknzTtSPXKz7rNoxHG QtjlSdNa8EQisFmpisYo+cx4vVKpQxh4mQIn0B+uksvCaHfqizFZeeRLj+/Cy/ulHlOLW4 l6smvRgIzvOoQ2ygcS+DMRA2NyLTYdRaB4UNhp7FCoPVl6/0OYK0OLovOLIdPcRYW7NcHa ZvL5NTtAvuxkjJsVoXTItVJ98h0ahHC+M+E9PAVTCS5X1dD/39jIUOR5vU/m+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yay09+ZvyzV1NXRRm6lPeYVW1Q2gmgCcJYyCnU9VzF0=; b=wmExFMaPhioPJR07otZ0sv4zllxDCiTqn/GDvwKjIYzeEh8vJY/Z48/XEn7KmhQrphQ1lM qYXMHzjv5oSV5Ol7i+Ze7xrS28YLc+TvcXvQIBzzoj6mXERnHioR88OkNDaQBf9sX1aUUB ReOdhjH3v2Ms5Fg1UCKjm/QuriRZvbVUGk0B6Pb06ygeyvxrsKc7qFApQV5xMuO8tkjyA0 MybgcFBZTxPaReLFQVhC6bcRnvU/1hPzDE3gmHoVh1HZHRaLQVIsCiLSvkZidrEXEazx3X Aj2tqXsuDku9uhkVC+kH7LbukgLz2YZ7Bl2jAEY0Jb2YmZBip77ykCkZ01ZIMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690494825; a=rsa-sha256; cv=none; b=Ares2bV6x858rghfIKr2m+In61AV0dTSzJgX5Eq3Ag/DuYLRq2wDL04DHRC6JJrV6u24PB JuajNND8Mf7PuM68RC5gNuofNKRJGMdLz4ShZPJBcoCYetxQMRviQj/B7lbXhwyUWXDHDY vYax3hCCslKv0A8sQQrWYdmOYFSniZxCi0wKjFCrxRYYCCK6jC/41X01x5LoX+j5IrjZYM eFqO9YBcM37IQDqnE4ejKQ1/NodkZn5cY57/GdKi3Q0SmErNguXL8/2WztZ4QAvqww4ire ryBXtL5xDn+0lbVUA72yAnqO16X0ZvvY2KPfUaeyt0jc3CzUHMSX3g1LlIWL8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBkzs2CFGzR9j; Thu, 27 Jul 2023 21:53: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 36RLrjSR052726; Thu, 27 Jul 2023 21:53:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RLrj30052725; Thu, 27 Jul 2023 21:53:45 GMT (envelope-from git) Date: Thu, 27 Jul 2023 21:53:45 GMT Message-Id: <202307272153.36RLrj30052725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: 1f188b9af075 - stable/13 - ixl(4): Add link state polling List-Id: Commit messages for all branches 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: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1f188b9af0755ee1aeb7e1211f274b96952a10f1 Auto-Submitted: auto-generated The branch stable/13 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=1f188b9af0755ee1aeb7e1211f274b96952a10f1 commit 1f188b9af0755ee1aeb7e1211f274b96952a10f1 Author: Krzysztof Galazka AuthorDate: 2023-07-20 22:33:52 +0000 Commit: Eric Joyner CommitDate: 2023-07-27 21:49:13 +0000 ixl(4): Add link state polling In some cases driver may ask FW about link state before FW finishes configuration of a (Q)SFP+ transceiver. If first attempt of using Get Link Status AQC after loading driver or handling a reset fails, then re-try periodically for 5 seconds. Signed-off-by: Krzysztof Galazka Signed-off-by: Eric Joyner Tested by: jeffrey.e.pieper@intel.com Approved by: erj@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D40899 (cherry picked from commit ba2f531f816a6bc1ef5f2cba4a329ff7bdbec0f3) --- sys/dev/ixl/i40e_adminq_cmd.h | 2 +- sys/dev/ixl/if_ixl.c | 50 ++++++++++++++++++++++++++++++++++++------- sys/dev/ixl/ixl.h | 2 ++ sys/dev/ixl/ixl_debug.h | 2 ++ sys/dev/ixl/ixl_pf.h | 4 ++++ sys/dev/ixl/ixl_pf_iflib.c | 4 +--- sys/dev/ixl/ixl_pf_main.c | 30 ++++++++++++++++++++------ 7 files changed, 75 insertions(+), 19 deletions(-) diff --git a/sys/dev/ixl/i40e_adminq_cmd.h b/sys/dev/ixl/i40e_adminq_cmd.h index 564a076761d0..679e191412cd 100644 --- a/sys/dev/ixl/i40e_adminq_cmd.h +++ b/sys/dev/ixl/i40e_adminq_cmd.h @@ -44,7 +44,7 @@ #define I40E_FW_API_VERSION_MAJOR 0x0001 #define I40E_FW_API_VERSION_MINOR_X722 0x000C -#define I40E_FW_API_VERSION_MINOR_X710 0x000E +#define I40E_FW_API_VERSION_MINOR_X710 0x000F #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \ I40E_FW_API_VERSION_MINOR_X710 : \ diff --git a/sys/dev/ixl/if_ixl.c b/sys/dev/ixl/if_ixl.c index 65f6a400569c..a18dd4361bac 100644 --- a/sys/dev/ixl/if_ixl.c +++ b/sys/dev/ixl/if_ixl.c @@ -449,6 +449,29 @@ ixl_admin_timer(void *arg) { struct ixl_pf *pf = (struct ixl_pf *)arg; + if (ixl_test_state(&pf->state, IXL_STATE_LINK_POLLING)) { + struct i40e_hw *hw = &pf->hw; + sbintime_t stime; + enum i40e_status_code status; + + hw->phy.get_link_info = TRUE; + status = i40e_get_link_status(hw, &pf->link_up); + if (status == I40E_SUCCESS) { + ixl_clear_state(&pf->state, IXL_STATE_LINK_POLLING); + /* OS link info is updated in the admin task */ + } else { + device_printf(pf->dev, + "%s: i40e_get_link_status status %s, aq error %s\n", + __func__, i40e_stat_str(hw, status), + i40e_aq_str(hw, hw->aq.asq_last_status)); + stime = getsbinuptime(); + if (stime - pf->link_poll_start > IXL_PF_MAX_LINK_POLL) { + device_printf(pf->dev, "Polling link status failed\n"); + ixl_clear_state(&pf->state, IXL_STATE_LINK_POLLING); + } + } + } + /* Fire off the admin task */ iflib_admin_intr_deferred(pf->vsi.ctx); @@ -711,12 +734,6 @@ ixl_if_attach_post(if_ctx_t ctx) return (0); } - /* Determine link state */ - if (ixl_attach_get_link_status(pf)) { - error = EINVAL; - goto err; - } - error = ixl_switch_config(pf); if (error) { device_printf(dev, "Initial ixl_switch_config() failed: %d\n", @@ -745,6 +762,11 @@ ixl_if_attach_post(if_ctx_t ctx) device_printf(dev, "Allocating %d queues for PF LAN VSI; %d queues active\n", pf->qtag.num_allocated, pf->qtag.num_active); + /* Determine link state */ + error = ixl_attach_get_link_status(pf); + if (error == EINVAL) + goto err; + /* Limit PHY interrupts to link, autoneg, and modules failure */ status = i40e_aq_set_phy_int_mask(hw, IXL_DEFAULT_PHY_INT_MASK, NULL); @@ -780,8 +802,20 @@ ixl_if_attach_post(if_ctx_t ctx) ixl_set_link(pf, ixl_test_state(&pf->state, IXL_STATE_LINK_ACTIVE_ON_DOWN)); hw->phy.get_link_info = true; - i40e_get_link_status(hw, &pf->link_up); - ixl_update_link_status(pf); + status = i40e_get_link_status(hw, &pf->link_up); + if (status != I40E_SUCCESS) { + device_printf(dev, + "%s get link status, status: %s aq_err=%s\n", + __func__, i40e_stat_str(hw, status), + i40e_aq_str(hw, hw->aq.asq_last_status)); + /* + * Most probably FW has not finished configuring PHY. + * Retry periodically in a timer callback. + */ + ixl_set_state(&pf->state, IXL_STATE_LINK_POLLING); + pf->link_poll_start = getsbinuptime(); + } else + ixl_update_link_status(pf); #ifdef PCI_IOV ixl_initialize_sriov(pf); diff --git a/sys/dev/ixl/ixl.h b/sys/dev/ixl/ixl.h index 9b49520a8851..2f6fe6c959d9 100644 --- a/sys/dev/ixl/ixl.h +++ b/sys/dev/ixl/ixl.h @@ -301,6 +301,8 @@ /* For stats sysctl naming */ #define IXL_QUEUE_NAME_LEN 32 +#define IXL_PF_MAX_LINK_POLL SBT_1S * 5 + MALLOC_DECLARE(M_IXL); #define IXL_DEV_ERR(_dev, _format, ...) \ diff --git a/sys/dev/ixl/ixl_debug.h b/sys/dev/ixl/ixl_debug.h index 0d8c624d2df9..818ba8a1df83 100644 --- a/sys/dev/ixl/ixl_debug.h +++ b/sys/dev/ixl/ixl_debug.h @@ -101,6 +101,8 @@ enum ixl_dbg_mask { IXL_DBG_SWITCH_INFO = 0x00010000, IXL_DBG_I2C = 0x00020000, + IXL_DBG_LINK = 0x00100000, + IXL_DBG_ALL = 0xFFFFFFFF }; diff --git a/sys/dev/ixl/ixl_pf.h b/sys/dev/ixl/ixl_pf.h index 6a73f5acc838..90236ac144c8 100644 --- a/sys/dev/ixl/ixl_pf.h +++ b/sys/dev/ixl/ixl_pf.h @@ -89,6 +89,7 @@ enum ixl_state { IXL_STATE_FW_LLDP_DISABLED = 9, IXL_STATE_EEE_ENABLED = 10, IXL_STATE_LINK_ACTIVE_ON_DOWN = 11, + IXL_STATE_LINK_POLLING = 12, }; #define IXL_PF_IN_RECOVERY_MODE(pf) \ @@ -172,6 +173,8 @@ struct ixl_pf { int num_vfs; uint16_t veb_seid; int vc_debug_lvl; + + sbintime_t link_poll_start; }; /* @@ -282,6 +285,7 @@ struct ixl_pf { #define ixl_dbg_info(pf, s, ...) ixl_debug_core((pf)->dev, (pf)->dbg_mask, IXL_DBG_INFO, s, ##__VA_ARGS__) #define ixl_dbg_filter(pf, s, ...) ixl_debug_core((pf)->dev, (pf)->dbg_mask, IXL_DBG_FILTER, s, ##__VA_ARGS__) #define ixl_dbg_iov(pf, s, ...) ixl_debug_core((pf)->dev, (pf)->dbg_mask, IXL_DBG_IOV, s, ##__VA_ARGS__) +#define ixl_dbg_link(pf, s, ...) ixl_debug_core((pf)->dev, (pf)->dbg_mask, IXL_DBG_LINK, s, ##__VA_ARGS__) /* PF-only function declarations */ void ixl_set_state(volatile u32 *s, enum ixl_state bit); diff --git a/sys/dev/ixl/ixl_pf_iflib.c b/sys/dev/ixl/ixl_pf_iflib.c index b70388bd6f6e..326c10ca8bfe 100644 --- a/sys/dev/ixl/ixl_pf_iflib.c +++ b/sys/dev/ixl/ixl_pf_iflib.c @@ -1028,9 +1028,7 @@ ixl_rebuild_hw_structs_after_reset(struct ixl_pf *pf, bool is_up) i40e_aq_set_vsi_broadcast(&pf->hw, vsi->seid, TRUE, NULL); /* Determine link state */ - if (ixl_attach_get_link_status(pf)) { - error = EINVAL; - } + ixl_attach_get_link_status(pf); i40e_aq_set_dcb_parameters(hw, TRUE, NULL); diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c index 5cf686c5b7cf..23da241315e7 100644 --- a/sys/dev/ixl/ixl_pf_main.c +++ b/sys/dev/ixl/ixl_pf_main.c @@ -4656,22 +4656,38 @@ ixl_attach_get_link_status(struct ixl_pf *pf) { struct i40e_hw *hw = &pf->hw; device_t dev = pf->dev; - int error = 0; + enum i40e_status_code status; if (((hw->aq.fw_maj_ver == 4) && (hw->aq.fw_min_ver < 33)) || (hw->aq.fw_maj_ver < 4)) { i40e_msec_delay(75); - error = i40e_aq_set_link_restart_an(hw, TRUE, NULL); - if (error) { - device_printf(dev, "link restart failed, aq_err=%d\n", - pf->hw.aq.asq_last_status); - return error; + status = i40e_aq_set_link_restart_an(hw, TRUE, NULL); + if (status != I40E_SUCCESS) { + device_printf(dev, + "%s link restart failed status: %s, aq_err=%s\n", + __func__, i40e_stat_str(hw, status), + i40e_aq_str(hw, hw->aq.asq_last_status)); + return (EINVAL); } } /* Determine link state */ hw->phy.get_link_info = TRUE; - i40e_get_link_status(hw, &pf->link_up); + status = i40e_get_link_status(hw, &pf->link_up); + if (status != I40E_SUCCESS) { + device_printf(dev, + "%s get link status, status: %s aq_err=%s\n", + __func__, i40e_stat_str(hw, status), + i40e_aq_str(hw, hw->aq.asq_last_status)); + /* + * Most probably FW has not finished configuring PHY. + * Retry periodically in a timer callback. + */ + ixl_set_state(&pf->state, IXL_STATE_LINK_POLLING); + pf->link_poll_start = getsbinuptime(); + return (EAGAIN); + } + ixl_dbg_link(pf, "%s link_up: %d\n", __func__, pf->link_up); /* Flow Control mode not set by user, read current FW settings */ if (pf->fc == -1) From nobody Thu Jul 27 21:56:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBl2w0b1Zz4pqMK; Thu, 27 Jul 2023 21:56: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 4RBl2v6rW5z4Nqd; Thu, 27 Jul 2023 21:56:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6cFPTsYKMyatcbt2uPj/Hgg1bZvfI/IQ0nZnI4gZLM=; b=waHJYBQ2bXq0RekI0fcCZUNd95OBz3QWwkj91Dl+8Hnf1z92X5SCK1NKCJHCGlO3RzTUGQ svaC1vs3V59NAK/nI5Ru5u8shEW2RmLvjRgd6eZ3MUL2EEz+65khBr5ctd+n2mJJtDQb7I IFl5FKAA4ppAXpHzkYCi9AFnBj5gB7+MnGnA3LoNknGod5cDGLVQ+6KrlTJ2Xrjx3JkK7M 03VsghmuLPrZCm1WfZ0it2eVqV/+S5pfx/sUuTjcUKpJWmquySVuP3qVfmM00OgmyBVJfj HMLpyizF3KQ+wS2ufnVNRd4k51YG+2CwVHAtPl0EPnlvY3viwp0fZJveDR9+dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6cFPTsYKMyatcbt2uPj/Hgg1bZvfI/IQ0nZnI4gZLM=; b=p28Wkf3djkLcrPNHHKV0RfJNXbMYNGLn3o+rmpekogMggb4Jrn6vPb1RNL1HSbIol8xVPS xnWh3Ds58QTDt8PtiuRxi7v0XQsYowPc8kzqc5Ro1P6u58PP+JqSv3Hi5Ysp/3zHltiNtG 8nvhOTyxNBA6ydY27xl7F0QfalT4O/qwgO8bdzG4mkQ6uaQsKoDujMqsVZM+mDAZ2LPc04 mJkHQMsVL4Aw8iDZ2h9VH9KTWzRTXiFirUZ993woUlQr3LXFkFN2wLzGr4kHF3RvLGMhe8 SkydVGaOahZu55GWJ93yjWuMStU5izXbDjKxQpt1sxDqt9Nm4Fl8H8CYNv3HPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690494984; a=rsa-sha256; cv=none; b=PBYXbe3thMF6H/rTOMPuL/yp9Us8FTwyDgG4zYv1RPNOLiN0CIG74MMBp3Vn3Qt2ok/DcA /r8NfvY+mSKGlcfgHAFUK2eSrvfZXLFbV0/P/dj7Og2uf4J0jhw7EEzi6Uhg9SIxiwpySx 79mvZG1ROA/1SpzIqdjrNvSv4dzoPut5C0PFSmOaTykScrQ5QJXK0H206WvSwKMHaQr7n6 EZrs8XbGKJiXGxAFGVcmJOlRrKhIW+vaWuocNOAqlylYehaSNkonRuXMTiffhBEaoGeZm/ suxeCcHoUbLk+274PGs57z+RJ70MyqjFM1PsQ/4WFYXGl6WHMr0LHSbrUUfHyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBl2v4rbyzQc2; Thu, 27 Jul 2023 21:56: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 36RLuND9053224; Thu, 27 Jul 2023 21:56:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RLuNVp053223; Thu, 27 Jul 2023 21:56:23 GMT (envelope-from git) Date: Thu, 27 Jul 2023 21:56:23 GMT Message-Id: <202307272156.36RLuNVp053223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: da6620e49543 - main - mk: fix unnecessary library relinking with incremental builds List-Id: Commit messages for all branches 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: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da6620e49543a9e6e11aac7b29f370c8b31ee7e0 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=da6620e49543a9e6e11aac7b29f370c8b31ee7e0 commit da6620e49543a9e6e11aac7b29f370c8b31ee7e0 Author: Val Packett AuthorDate: 2023-07-27 21:55:16 +0000 Commit: Simon J. Gerraty CommitDate: 2023-07-27 21:55:16 +0000 mk: fix unnecessary library relinking with incremental builds Initial libs such as csu are always built (.PHONY), and their installation to WORLDTMP was causing all the subsequent libraries to be considered out-of-date even when in reality they were not. Use install -C more consistently everywhere to avoid unnecessarily updating the mtimes in WORLDTMP, fixing this problem. This cut down my no-change buildworld time from 30 to 15 seconds. Fixes: https://lists.freebsd.org/pipermail/freebsd-current/2016-May/061481.html TODO.1 Reviewed by: sjg Sponsored by: https://www.patreon.com/valpackett Differential Revision: https://reviews.freebsd.org/D39980 --- share/mk/bsd.files.mk | 2 +- share/mk/bsd.lib.mk | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index f611694fa3b4..4c3b9f248f2d 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -116,7 +116,7 @@ stage_as.${${_${group}DIR_${file}}:C,[/*],_,g}: ${file} installfiles-${group}: _${group}INS_${file} _${group}INS_${file}: ${file} installdirs-${_${group}DIR_${file}} - ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN_${file}} \ + ${INSTALL} -C ${${group}TAG_ARGS} -o ${${group}OWN_${file}} \ -g ${${group}GRP_${file}} -m ${${group}MODE_${file}} \ ${.ALLSRC:Ninstalldirs-*} ${${group}PREFIX_${file}}/${${group}NAME_${file}} .endfor # file in ${${group}} diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 4e653a7bcb20..6750e683da0e 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -444,6 +444,7 @@ _EXTRADEPEND: .if !target(install) +INSTALLFLAGS+= -C .if defined(PRECIOUSLIB) .if !defined(NO_FSCHG) SHLINSTALLFLAGS+= -fschg @@ -494,10 +495,10 @@ realinstall: _libinstall installpcfiles .ORDER: beforeinstall _libinstall _libinstall: .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no" - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}${_STATICLIB_SUFFIX}.a ${DESTDIR}${_LIBDIR}/ .if ${MK_PROFILE} != "no" - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}/ .endif .endif @@ -515,7 +516,7 @@ _libinstall: .endif .if defined(SHLIB_LINK) .if commands(${SHLIB_LINK:R}.ld) - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -S -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -S -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} ${SHLIB_LINK:R}.ld \ ${DESTDIR}${_LIBDIR}/${SHLIB_LINK} .for _SHLIB_LINK_LINK in ${SHLIB_LDSCRIPT_LINKS} From nobody Thu Jul 27 22:27:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBllB20Gjz4pKlS; Thu, 27 Jul 2023 22:27: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 4RBllB08HJz3Nks; Thu, 27 Jul 2023 22:27:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690496870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vwOoIfcuOBW+6u8szBnsju4CWGxCz8EbSD4d4kGEz3Y=; b=h88ku2AGMA29Xy1a5T887hqT9Q1Frec/PmWGPdviAvVek8+MgBjYL+z6wzIu7gMoHr2O6I yu5ptHU1Bcmc8CqKfpiRSrxHM8hXXuAdNYnCaQFY0GH83VRSr1RiN2f0X2zB+TALVQbkuy VeyCW9VHy5aJKROF1UCnv5/m+19d16lraDVCYFCDnwFww3dlE0fF3h+aG4m2VJoQlQimcr HHseL79J4Q4U+MTYL4s5btMQBXp3hpg6D1rIkgCfoapx0+TtOCHWSdoi46bHmSl+STP7g4 c/SEplrhQduVeWw9xkC+Xv+Q/MGmVjmYhIdqfWNv/5q8vGKD9RbXJp22Z61cVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690496870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vwOoIfcuOBW+6u8szBnsju4CWGxCz8EbSD4d4kGEz3Y=; b=s4K8nt4W7nThKTnTqO6GZaUcXfTif8jpRnev+TlIyyefidp4yu9zKt4o9sho8zbbYD4xkN PI3d5F/wOdg4CNGOaaxKocWi2t+U2+FDJ7/lr2BIDXMTpe4vaue4/UC52rJrj++MFq0lI7 y0UIhDjmi6VKYuyEIC25LsKsgUKeJ9taHU5wCZuvemSeFRPm8DlggL4xA54biX6OpIL3cJ SRm0+pv1icQhfrcIkY4zkUyNE9PBOesRPLq5fB1ybkaaV7TX2GRGwUgulHcAJCXBPwh+Dk XX1v7Me6WY0dgCiSHYyorIaVFhZOT579QxaxJ0QoVI6oBrL2MZFYnLsov/ancw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690496870; a=rsa-sha256; cv=none; b=qRV1UF7Fp23sWF7dQWN3hlo1AMNNOXfFO050n02jY/aPndup/kqyRjIJOmNKcF9+or7CvR iIkLbxEDZa8GzvMfMgIP41mERT4Zvots1HOZgSngD0mpxo/+rcFcMG8W/tjliKr3Eu4T6L sWkMIJ1ny77N2cQZoLNbQBPduEHYpNeX9YAxAw8sXv+DqOPG+TOz1mvvtzXdzdAOGoITQD athuMA+rgWIUJjU/ME9ljHxYi2XtmvXGVOQBLOPCrvO4+zazqUSQSdgvxVFJtZfEGnNArd 3nRpqx/q+lxS8uyraVQ40BOiRz+OE4x1DLukhx+L/ySgKP6QhY//wfDjU2+dXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBll96MFmzRxR; Thu, 27 Jul 2023 22:27: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 36RMRnj3003603; Thu, 27 Jul 2023 22:27:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RMRnEQ003602; Thu, 27 Jul 2023 22:27:49 GMT (envelope-from git) Date: Thu, 27 Jul 2023 22:27:49 GMT Message-Id: <202307272227.36RMRnEQ003602@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 831b1ff7913f - main - UFS/FFS: Migrate to modern uintXX_t from u_intXX_t. List-Id: Commit messages for all branches 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 831b1ff7913fb0b317a258a43dce5abefee03a31 Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=831b1ff7913fb0b317a258a43dce5abefee03a31 commit 831b1ff7913fb0b317a258a43dce5abefee03a31 Author: Kirk McKusick AuthorDate: 2023-07-27 22:26:01 +0000 Commit: Kirk McKusick CommitDate: 2023-07-27 22:27:36 +0000 UFS/FFS: Migrate to modern uintXX_t from u_intXX_t. As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. While here also migrate u_char to uint8_t. Where other kernel interfaces allow, migrate u_long to uint64_t. No functional changes intended. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation --- sys/ufs/ffs/ffs_alloc.c | 148 +++++++++++++++++++++++---------------------- sys/ufs/ffs/ffs_extern.h | 19 +++--- sys/ufs/ffs/ffs_inode.c | 10 +-- sys/ufs/ffs/ffs_rawread.c | 4 +- sys/ufs/ffs/ffs_snapshot.c | 10 +-- sys/ufs/ffs/ffs_softdep.c | 28 ++++----- sys/ufs/ffs/ffs_subr.c | 30 ++++----- sys/ufs/ffs/ffs_tables.c | 6 +- sys/ufs/ffs/ffs_vfsops.c | 25 ++++---- sys/ufs/ffs/ffs_vnops.c | 33 +++++----- sys/ufs/ffs/fs.h | 78 ++++++++++++------------ sys/ufs/ffs/softdep.h | 4 +- sys/ufs/ufs/dinode.h | 38 ++++++------ sys/ufs/ufs/dir.h | 28 ++++----- sys/ufs/ufs/dirhash.h | 2 +- sys/ufs/ufs/extattr.h | 2 +- sys/ufs/ufs/inode.h | 20 +++--- sys/ufs/ufs/quota.h | 46 +++++++------- sys/ufs/ufs/ufs_dirhash.c | 6 +- sys/ufs/ufs/ufs_gjournal.c | 6 +- sys/ufs/ufs/ufs_lookup.c | 19 +++--- sys/ufs/ufs/ufs_quota.c | 30 ++++----- sys/ufs/ufs/ufs_vfsops.c | 2 +- sys/ufs/ufs/ufs_vnops.c | 14 ++--- sys/ufs/ufs/ufsmount.h | 20 +++--- 25 files changed, 316 insertions(+), 312 deletions(-) diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 680e4685e44a..c5e2a706a128 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -103,10 +103,11 @@ __FBSDID("$FreeBSD$"); #include #include -typedef ufs2_daddr_t allocfcn_t(struct inode *ip, u_int cg, ufs2_daddr_t bpref, - int size, int rsize); +typedef ufs2_daddr_t allocfcn_t(struct inode *ip, uint64_t cg, + ufs2_daddr_t bpref, int size, int rsize); -static ufs2_daddr_t ffs_alloccg(struct inode *, u_int, ufs2_daddr_t, int, int); +static ufs2_daddr_t ffs_alloccg(struct inode *, uint64_t, ufs2_daddr_t, int, + int); static ufs2_daddr_t ffs_alloccgblk(struct inode *, struct buf *, ufs2_daddr_t, int); static void ffs_blkfree_cg(struct ufsmount *, struct fs *, @@ -115,13 +116,14 @@ static void ffs_blkfree_cg(struct ufsmount *, struct fs *, #ifdef INVARIANTS static int ffs_checkblk(struct inode *, ufs2_daddr_t, long); #endif -static ufs2_daddr_t ffs_clusteralloc(struct inode *, u_int, ufs2_daddr_t, int); +static ufs2_daddr_t ffs_clusteralloc(struct inode *, uint64_t, ufs2_daddr_t, + int); static ino_t ffs_dirpref(struct inode *); -static ufs2_daddr_t ffs_fragextend(struct inode *, u_int, ufs2_daddr_t, +static ufs2_daddr_t ffs_fragextend(struct inode *, uint64_t, ufs2_daddr_t, int, int); -static ufs2_daddr_t ffs_hashalloc - (struct inode *, u_int, ufs2_daddr_t, int, int, allocfcn_t *); -static ufs2_daddr_t ffs_nodealloccg(struct inode *, u_int, ufs2_daddr_t, int, +static ufs2_daddr_t ffs_hashalloc(struct inode *, uint64_t, ufs2_daddr_t, + int, int, allocfcn_t *); +static ufs2_daddr_t ffs_nodealloccg(struct inode *, uint64_t, ufs2_daddr_t, int, int); static ufs1_daddr_t ffs_mapsearch(struct fs *, struct cg *, ufs2_daddr_t, int); static int ffs_reallocblks_ufs1(struct vop_reallocblks_args *); @@ -159,7 +161,7 @@ ffs_alloc(struct inode *ip, struct fs *fs; struct ufsmount *ump; ufs2_daddr_t bno; - u_int cg, reclaimed; + uint64_t cg, reclaimed; int64_t delta; #ifdef QUOTA int error; @@ -170,7 +172,7 @@ ffs_alloc(struct inode *ip, fs = ump->um_fs; mtx_assert(UFS_MTX(ump), MA_OWNED); #ifdef INVARIANTS - if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { + if ((uint64_t)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("dev = %s, bsize = %ld, size = %d, fs = %s\n", devtoname(ump->um_dev), (long)fs->fs_bsize, size, fs->fs_fsmnt); @@ -263,7 +265,7 @@ ffs_realloccg(struct inode *ip, struct fs *fs; struct buf *bp; struct ufsmount *ump; - u_int cg, request, reclaimed; + uint64_t cg, request, reclaimed; int error, gbflags; ufs2_daddr_t bno; int64_t delta; @@ -281,8 +283,8 @@ ffs_realloccg(struct inode *ip, #ifdef INVARIANTS if (vp->v_mount->mnt_kern_flag & MNTK_SUSPENDED) panic("ffs_realloccg: allocation on suspended filesystem"); - if ((u_int)osize > fs->fs_bsize || fragoff(fs, osize) != 0 || - (u_int)nsize > fs->fs_bsize || fragoff(fs, nsize) != 0) { + if ((uint64_t)osize > fs->fs_bsize || fragoff(fs, osize) != 0 || + (uint64_t)nsize > fs->fs_bsize || fragoff(fs, nsize) != 0) { printf( "dev = %s, bsize = %ld, osize = %d, nsize = %d, fs = %s\n", devtoname(ump->um_dev), (long)fs->fs_bsize, osize, @@ -1117,7 +1119,7 @@ ffs_valloc(struct vnode *pvp, struct timespec ts; struct ufsmount *ump; ino_t ino, ipref; - u_int cg; + uint64_t cg; int error, reclaimed; *vpp = NULL; @@ -1173,8 +1175,8 @@ retry: panic("ffs_valloc: dup alloc"); } if (DIP(ip, i_blocks) && (fs->fs_flags & FS_UNCLEAN) == 0) { /* XXX */ - printf("free inode %s/%lu had %ld blocks\n", - fs->fs_fsmnt, (u_long)ino, (long)DIP(ip, i_blocks)); + printf("free inode %s/%ju had %ld blocks\n", + fs->fs_fsmnt, (intmax_t)ino, (long)DIP(ip, i_blocks)); DIP_SET(ip, i_blocks, 0); } ip->i_flags = 0; @@ -1242,9 +1244,9 @@ ffs_dirpref(struct inode *pip) struct fs *fs; int cg, prefcg, curcg, dirsize, cgsize; int depth, range, start, end, numdirs, power, numerator, denominator; - u_int avgifree, avgbfree, avgndir, curdirsize; - u_int minifree, minbfree, maxndir; - u_int maxcontigdirs; + uint64_t avgifree, avgbfree, avgndir, curdirsize; + uint64_t minifree, minbfree, maxndir; + uint64_t maxcontigdirs; mtx_assert(UFS_MTX(ITOUMP(pip)), MA_OWNED); fs = ITOFS(pip); @@ -1406,8 +1408,8 @@ ffs_blkpref_ufs1(struct inode *ip, ufs1_daddr_t *bap) { struct fs *fs; - u_int cg, inocg; - u_int avgbfree, startcg; + uint64_t cg, inocg; + uint64_t avgbfree, startcg; ufs2_daddr_t pref, prevbn; KASSERT(indx <= 0 || bap != NULL, ("need non-NULL bap")); @@ -1518,8 +1520,8 @@ ffs_blkpref_ufs2(struct inode *ip, ufs2_daddr_t *bap) { struct fs *fs; - u_int cg, inocg; - u_int avgbfree, startcg; + uint64_t cg, inocg; + uint64_t avgbfree, startcg; ufs2_daddr_t pref, prevbn; KASSERT(indx <= 0 || bap != NULL, ("need non-NULL bap")); @@ -1634,7 +1636,7 @@ ffs_blkpref_ufs2(struct inode *ip, /*VARARGS5*/ static ufs2_daddr_t ffs_hashalloc(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t pref, int size, /* Search size for data blocks, mode for inodes */ int rsize, /* Real allocated size. */ @@ -1642,7 +1644,7 @@ ffs_hashalloc(struct inode *ip, { struct fs *fs; ufs2_daddr_t result; - u_int i, icg = cg; + uint64_t i, icg = cg; mtx_assert(UFS_MTX(ITOUMP(ip)), MA_OWNED); #ifdef INVARIANTS @@ -1692,7 +1694,7 @@ ffs_hashalloc(struct inode *ip, */ static ufs2_daddr_t ffs_fragextend(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t bprev, int osize, int nsize) @@ -1705,7 +1707,7 @@ ffs_fragextend(struct inode *ip, long bno; int frags, bbase; int i, error; - u_int8_t *blksfree; + uint8_t *blksfree; ump = ITOUMP(ip); fs = ump->um_fs; @@ -1769,7 +1771,7 @@ fail: */ static ufs2_daddr_t ffs_alloccg(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t bpref, int size, int rsize) @@ -1781,7 +1783,7 @@ ffs_alloccg(struct inode *ip, ufs1_daddr_t bno; ufs2_daddr_t blkno; int i, allocsiz, error, frags; - u_int8_t *blksfree; + uint8_t *blksfree; ump = ITOUMP(ip); fs = ump->um_fs; @@ -1874,7 +1876,7 @@ ffs_alloccgblk(struct inode *ip, struct ufsmount *ump; ufs1_daddr_t bno; ufs2_daddr_t blkno; - u_int8_t *blksfree; + uint8_t *blksfree; int i, cgbpref; ump = ITOUMP(ip); @@ -1947,7 +1949,7 @@ gotit: */ static ufs2_daddr_t ffs_clusteralloc(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t bpref, int len) { @@ -1957,9 +1959,9 @@ ffs_clusteralloc(struct inode *ip, struct ufsmount *ump; int i, run, bit, map, got, error; ufs2_daddr_t bno; - u_char *mapp; + uint8_t *mapp; int32_t *lp; - u_int8_t *blksfree; + uint8_t *blksfree; ump = ITOUMP(ip); fs = ump->um_fs; @@ -2057,8 +2059,8 @@ ffs_clusteralloc(struct inode *ip, static inline struct buf * getinobuf(struct inode *ip, - u_int cg, - u_int32_t cginoblk, + uint64_t cg, + uint32_t cginoblk, int gbflags) { struct fs *fs; @@ -2090,7 +2092,7 @@ SYSCTL_INT(_vfs_ffs, OID_AUTO, doasyncinodeinit, CTLFLAG_RWTUN, */ static ufs2_daddr_t ffs_nodealloccg(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t ipref, int mode, int unused) @@ -2099,10 +2101,10 @@ ffs_nodealloccg(struct inode *ip, struct cg *cgp; struct buf *bp, *ibp; struct ufsmount *ump; - u_int8_t *inosused, *loc; + uint8_t *inosused, *loc; struct ufs2_dinode *dp2; int error, start, len, i; - u_int32_t old_initediblk; + uint32_t old_initediblk; ump = ITOUMP(ip); fs = ump->um_fs; @@ -2134,8 +2136,8 @@ restart: start = 0; loc = memcchr(&inosused[start], 0xff, len); if (loc == NULL) { - printf("cg = %d, irotor = %ld, fs = %s\n", - cg, (long)cgp->cg_irotor, fs->fs_fsmnt); + printf("cg = %ju, irotor = %ld, fs = %s\n", + (intmax_t)cg, (long)cgp->cg_irotor, fs->fs_fsmnt); panic("ffs_nodealloccg: map corrupted"); /* NOTREACHED */ } @@ -2259,8 +2261,8 @@ ffs_blkfree_cg(struct ufsmount *ump, daddr_t dbn; ufs1_daddr_t fragno, cgbno; int i, blk, frags, bbase, error; - u_int cg; - u_int8_t *blksfree; + uint64_t cg; + uint8_t *blksfree; struct cdev *dev; cg = dtog(fs, bno); @@ -2278,7 +2280,7 @@ ffs_blkfree_cg(struct ufsmount *ump, } else return; #ifdef INVARIANTS - if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0 || + if ((uint64_t)size > fs->fs_bsize || fragoff(fs, size) != 0 || fragnum(fs, bno) + numfrags(fs, size) > fs->fs_frag) { printf("dev=%s, bno = %jd, bsize = %ld, size = %ld, fs = %s\n", devtoname(dev), (intmax_t)bno, (long)fs->fs_bsize, @@ -2286,9 +2288,9 @@ ffs_blkfree_cg(struct ufsmount *ump, panic("ffs_blkfree_cg: bad size"); } #endif - if ((u_int)bno >= fs->fs_size) { - printf("bad block %jd, ino %lu\n", (intmax_t)bno, - (u_long)inum); + if ((uint64_t)bno >= fs->fs_size) { + printf("bad block %jd, ino %ju\n", (intmax_t)bno, + (intmax_t)inum); ffs_fserr(fs, inum, "bad block"); return; } @@ -2429,7 +2431,7 @@ struct ffs_blkfree_trim_params { static void ffs_blkfree_trim_completed(struct buf *); static void ffs_blkfree_trim_task(void *ctx, int pending __unused); static struct ffs_blkfree_trim_params *trim_lookup(struct ufsmount *, - struct vnode *, ufs2_daddr_t, long, ino_t, u_long, int); + struct vnode *, ufs2_daddr_t, long, ino_t, uint64_t, int); static void ffs_blkfree_sendtrim(struct ffs_blkfree_trim_params *); /* @@ -2482,7 +2484,7 @@ trim_lookup(struct ufsmount *ump, ufs2_daddr_t bno, long size, ino_t inum, - u_long key, + uint64_t key, int alloctype) { struct trimlist_hashhead *tphashhead; @@ -2571,13 +2573,13 @@ ffs_blkfree_sendtrim(struct ffs_blkfree_trim_params *tp) /* * Allocate a new key to use to identify a range of blocks. */ -u_long +uint64_t ffs_blkrelease_start(struct ufsmount *ump, struct vnode *devvp, ino_t inum) { static u_long masterkey; - u_long key; + uint64_t key; if (((ump->um_flags & UM_CANDELETE) == 0) || dotrimcons == 0) return (SINGLETON_KEY); @@ -2592,7 +2594,7 @@ ffs_blkrelease_start(struct ufsmount *ump, * Deallocate a key that has been used to identify a range of blocks. */ void -ffs_blkrelease_finish(struct ufsmount *ump, u_long key) +ffs_blkrelease_finish(struct ufsmount *ump, uint64_t key) { struct ffs_blkfree_trim_params *tp; @@ -2646,7 +2648,7 @@ ffs_blkfree(struct ufsmount *ump, ino_t inum, __enum_uint8(vtype) vtype, struct workhead *dephd, - u_long key) + uint64_t key) { struct ffs_blkfree_trim_params *tp, *ntp; struct trim_blkreq *blkelm; @@ -2754,15 +2756,15 @@ ffs_checkblk(struct inode *ip, struct buf *bp; ufs1_daddr_t cgbno; int i, error, frags, free; - u_int8_t *blksfree; + uint8_t *blksfree; fs = ITOFS(ip); - if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { + if ((uint64_t)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("bsize = %ld, size = %ld, fs = %s\n", (long)fs->fs_bsize, size, fs->fs_fsmnt); panic("ffs_checkblk: bad size"); } - if ((u_int)bno >= fs->fs_size) + if ((uint64_t)bno >= fs->fs_size) panic("ffs_checkblk: bad block %jd", (intmax_t)bno); error = ffs_getcg(fs, ITODEVVP(ip), dtog(fs, bno), 0, &bp, &cgp); if (error) @@ -2818,8 +2820,8 @@ ffs_freefile(struct ufsmount *ump, struct buf *bp; daddr_t dbn; int error; - u_int cg; - u_int8_t *inosused; + uint64_t cg; + uint8_t *inosused; struct cdev *dev; ino_t cgino; @@ -2895,8 +2897,8 @@ ffs_checkfreefile(struct fs *fs, struct cg *cgp; struct buf *bp; int ret, error; - u_int cg; - u_int8_t *inosused; + uint64_t cg; + uint8_t *inosused; cg = ino_to_cg(fs, ino); if ((devvp->v_type != VREG) && (devvp->v_type != VCHR)) @@ -2927,7 +2929,7 @@ ffs_mapsearch(struct fs *fs, ufs1_daddr_t bno; int start, len, loc, i; int blk, field, subfield, pos; - u_int8_t *blksfree; + uint8_t *blksfree; /* * find the fragment by searching through the free block @@ -2939,15 +2941,15 @@ ffs_mapsearch(struct fs *fs, start = cgp->cg_frotor / NBBY; blksfree = cg_blksfree(cgp); len = howmany(fs->fs_fpg, NBBY) - start; - loc = scanc((u_int)len, (u_char *)&blksfree[start], + loc = scanc((uint64_t)len, (uint8_t *)&blksfree[start], fragtbl[fs->fs_frag], - (u_char)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); + (uint8_t)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); if (loc == 0) { len = start + 1; start = 0; - loc = scanc((u_int)len, (u_char *)&blksfree[0], + loc = scanc((uint64_t)len, (uint8_t *)&blksfree[0], fragtbl[fs->fs_frag], - (u_char)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); + (uint8_t)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); if (loc == 0) { printf("start = %d, len = %d, fs = %s\n", start, len, fs->fs_fsmnt); @@ -2973,7 +2975,7 @@ ffs_mapsearch(struct fs *fs, subfield <<= 1; } } - printf("bno = %lu, fs = %s\n", (u_long)bno, fs->fs_fsmnt); + printf("bno = %ju, fs = %s\n", (intmax_t)bno, fs->fs_fsmnt); panic("ffs_alloccg: block not in map"); return (-1); } @@ -2993,7 +2995,7 @@ ffs_getmntstat(struct vnode *devvp) int ffs_getcg(struct fs *fs, struct vnode *devvp, - u_int cg, + uint64_t cg, int flags, struct buf **bpp, struct cg **cgpp) @@ -3021,11 +3023,11 @@ ffs_getcg(struct fs *fs, (bp->b_flags & B_CKHASH) != 0 && cgp->cg_ckhash != bp->b_ckhash) { sfs = ffs_getmntstat(devvp); - printf("UFS %s%s (%s) cylinder checksum failed: cg %u, cgp: " + printf("UFS %s%s (%s) cylinder checksum failed: cg %ju, cgp: " "0x%x != bp: 0x%jx\n", devvp->v_type == VCHR ? "" : "snapshot of ", sfs->f_mntfromname, sfs->f_mntonname, - cg, cgp->cg_ckhash, (uintmax_t)bp->b_ckhash); + (intmax_t)cg, cgp->cg_ckhash, (uintmax_t)bp->b_ckhash); bp->b_flags &= ~B_CKHASH; bp->b_flags |= B_INVAL | B_NOCACHE; brelse(bp); @@ -3037,11 +3039,11 @@ ffs_getcg(struct fs *fs, devvp->v_type == VCHR ? "" : "snapshot of ", sfs->f_mntfromname, sfs->f_mntonname); if (!cg_chkmagic(cgp)) - printf(" cg %u: bad magic number 0x%x should be 0x%x\n", - cg, cgp->cg_magic, CG_MAGIC); + printf(" cg %ju: bad magic number 0x%x should be " + "0x%x\n", (intmax_t)cg, cgp->cg_magic, CG_MAGIC); else - printf(": wrong cylinder group cg %u != cgx %u\n", cg, - cgp->cg_cgx); + printf(": wrong cylinder group cg %ju != cgx %u\n", + (intmax_t)cg, cgp->cg_cgx); bp->b_flags &= ~B_CKHASH; bp->b_flags |= B_INVAL | B_NOCACHE; brelse(bp); @@ -3219,7 +3221,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) struct pwd *pwd; ufs2_daddr_t blkno; long blkcnt, blksize; - u_long key; + uint64_t key; struct file *fp; cap_rights_t rights; int filetype, error; diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index 9e8eb7a74980..46f1a71ed585 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -62,14 +62,15 @@ int ffs_balloc_ufs1(struct vnode *a_vp, off_t a_startoffset, int a_size, int ffs_balloc_ufs2(struct vnode *a_vp, off_t a_startoffset, int a_size, struct ucred *a_cred, int a_flags, struct buf **a_bpp); void ffs_blkfree(struct ufsmount *, struct fs *, struct vnode *, - ufs2_daddr_t, long, ino_t, __enum_uint8(vtype), struct workhead *, u_long); + ufs2_daddr_t, long, ino_t, __enum_uint8(vtype), struct workhead *, + uint64_t); ufs2_daddr_t ffs_blkpref_ufs1(struct inode *, ufs_lbn_t, int, ufs1_daddr_t *); ufs2_daddr_t ffs_blkpref_ufs2(struct inode *, ufs_lbn_t, int, ufs2_daddr_t *); -void ffs_blkrelease_finish(struct ufsmount *, u_long); -u_long ffs_blkrelease_start(struct ufsmount *, struct vnode *, ino_t); +void ffs_blkrelease_finish(struct ufsmount *, uint64_t); +uint64_t ffs_blkrelease_start(struct ufsmount *, struct vnode *, ino_t); uint32_t ffs_calc_sbhash(struct fs *); int ffs_checkfreefile(struct fs *, struct vnode *, ino_t); -void ffs_clrblock(struct fs *, u_char *, ufs1_daddr_t); +void ffs_clrblock(struct fs *, uint8_t *, ufs1_daddr_t); void ffs_clusteracct(struct fs *, struct cg *, ufs1_daddr_t, int); void ffs_bdflush(struct bufobj *, struct buf *); int ffs_copyonwrite(struct vnode *, struct buf *); @@ -78,12 +79,12 @@ void ffs_fragacct(struct fs *, int, int32_t [], int); int ffs_freefile(struct ufsmount *, struct fs *, struct vnode *, ino_t, int, struct workhead *); void ffs_fserr(struct fs *, ino_t, char *); -int ffs_getcg(struct fs *, struct vnode *, u_int, int, struct buf **, +int ffs_getcg(struct fs *, struct vnode *, uint64_t, int, struct buf **, struct cg **); -int ffs_inotovp(struct mount *, ino_t, u_int64_t, int, struct vnode **, +int ffs_inotovp(struct mount *, ino_t, uint64_t, int, struct vnode **, int); -int ffs_isblock(struct fs *, u_char *, ufs1_daddr_t); -int ffs_isfreeblock(struct fs *, u_char *, ufs1_daddr_t); +int ffs_isblock(struct fs *, uint8_t *, ufs1_daddr_t); +int ffs_isfreeblock(struct fs *, uint8_t *, ufs1_daddr_t); void ffs_oldfscompat_write(struct fs *, struct ufsmount *); int ffs_own_mount(const struct mount *mp); int ffs_sbsearch(void *, struct fs **, int, struct malloc_type *, @@ -97,7 +98,7 @@ int ffs_sbget(void *, struct fs **, off_t, int, struct malloc_type *, int ffs_sbput(void *, struct fs *, off_t, int (*)(void *, off_t, void *, int)); int ffs_sbupdate(struct ufsmount *, int, int); -void ffs_setblock(struct fs *, u_char *, ufs1_daddr_t); +void ffs_setblock(struct fs *, uint8_t *, ufs1_daddr_t); int ffs_snapblkfree(struct fs *, struct vnode *, ufs2_daddr_t, long, ino_t, __enum_uint8(vtype), struct workhead *); void ffs_snapremove(struct vnode *vp); diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index e81606f7df17..d9b36741726a 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -250,7 +250,7 @@ ffs_truncate(struct vnode *vp, int needextclean, extblocks; int offset, size, level, nblocks; int i, error, allerror, indiroff, waitforupdate; - u_long key; + uint64_t key; off_t osize; ip = VTOI(vp); @@ -339,7 +339,7 @@ ffs_truncate(struct vnode *vp, if (length != 0) panic("ffs_truncate: partial truncate of symlink"); #endif - bzero(DIP(ip, i_shortlink), (u_int)ip->i_size); + bzero(DIP(ip, i_shortlink), (uint64_t)ip->i_size); ip->i_size = 0; DIP_SET(ip, i_size, 0); UFS_INODE_SET_FLAG(ip, IN_SIZEMOD | IN_CHANGE | IN_UPDATE); @@ -501,7 +501,7 @@ ffs_truncate(struct vnode *vp, size = blksize(fs, ip, lbn); if (vp->v_type != VDIR && offset != 0) bzero((char *)bp->b_data + offset, - (u_int)(size - offset)); + (uint64_t)(size - offset)); /* Kirk's code has reallocbuf(bp, size, 1) here */ allocbuf(bp, size); if (bp->b_bufsize == fs->fs_bsize) @@ -704,7 +704,7 @@ ffs_indirtrunc(struct inode *ip, struct ufsmount *ump; struct vnode *vp; caddr_t copy = NULL; - u_long key; + uint64_t key; int i, nblocks, error = 0, allerror = 0; ufs2_daddr_t nb, nlbn, last; ufs2_daddr_t blkcount, factor, blocksreleased = 0; @@ -747,7 +747,7 @@ ffs_indirtrunc(struct inode *ip, bap2 = (ufs2_daddr_t *)bp->b_data; if (lastbn != -1) { copy = malloc(fs->fs_bsize, M_TEMP, M_WAITOK); - bcopy((caddr_t)bp->b_data, copy, (u_int)fs->fs_bsize); + bcopy((caddr_t)bp->b_data, copy, (uint64_t)fs->fs_bsize); for (i = last + 1; i < NINDIR(fs); i++) if (I_IS_UFS1(ip)) bap1[i] = 0; diff --git a/sys/ufs/ffs/ffs_rawread.c b/sys/ufs/ffs/ffs_rawread.c index 2c1e6bf2b8d2..3def0784a15e 100644 --- a/sys/ufs/ffs/ffs_rawread.c +++ b/sys/ufs/ffs/ffs_rawread.c @@ -192,7 +192,7 @@ ffs_rawread_readahead(struct vnode *vp, struct buf *bp) { int error; - u_int iolen; + uint64_t iolen; off_t blockno; int blockoff; int bsize; @@ -264,7 +264,7 @@ ffs_rawread_main(struct vnode *vp, { int error, nerror; struct buf *bp, *nbp, *tbp; - u_int iolen; + uint64_t iolen; caddr_t udata; long resid; off_t offset; diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index ec459bb7c2d7..26eecfcc5875 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -376,7 +376,7 @@ restart: * touch up the few cylinder groups that changed during * the suspension period. */ - len = roundup2(howmany(fs->fs_ncg, NBBY), sizeof(int)); + len = roundup2(howmany(fs->fs_ncg, NBBY), sizeof(uint64_t)); space = malloc(len, M_DEVBUF, M_WAITOK | M_ZERO); UFS_LOCK(ump); fs->fs_active = space; @@ -467,7 +467,7 @@ restart: * Grab a copy of the superblock and its summary information. * We delay writing it until the suspension is released below. */ - copy_fs = malloc((u_long)fs->fs_bsize, M_UFSMNT, M_WAITOK); + copy_fs = malloc((uint64_t)fs->fs_bsize, M_UFSMNT, M_WAITOK); bcopy(fs, copy_fs, fs->fs_sbsize); copy_fs->fs_si = malloc(sizeof(struct fs_summary_info), M_UFSMNT, M_ZERO | M_WAITOK); @@ -480,7 +480,7 @@ restart: size = blkroundup(fs, fs->fs_cssize); if (fs->fs_contigsumsize > 0) size += fs->fs_ncg * sizeof(int32_t); - space = malloc((u_long)size, M_UFSMNT, M_WAITOK); + space = malloc((uint64_t)size, M_UFSMNT, M_WAITOK); copy_fs->fs_csp = space; bcopy(fs->fs_csp, copy_fs->fs_csp, fs->fs_cssize); space = (char *)space + fs->fs_cssize; @@ -493,7 +493,7 @@ restart: brelse(bp); goto resumefs; } - bcopy(bp->b_data, space, (u_int)len); + bcopy(bp->b_data, space, (uint64_t)len); space = (char *)space + len; bp->b_flags |= B_INVAL | B_NOCACHE; brelse(bp); @@ -829,7 +829,7 @@ resumefs: loc = blkoff(fs, fs->fs_sblockloc); copy_fs->fs_fmod = 0; bpfs = (struct fs *)&nbp->b_data[loc]; - bcopy((caddr_t)copy_fs, (caddr_t)bpfs, (u_int)fs->fs_sbsize); + bcopy((caddr_t)copy_fs, (caddr_t)bpfs, (uint64_t)fs->fs_sbsize); ffs_oldfscompat_write(bpfs, ump); bpfs->fs_ckhash = ffs_calc_sbhash(bpfs); bawrite(nbp); diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 424faa2a7ac5..2606c17f7295 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -831,7 +831,7 @@ static void cancel_allocdirect(struct allocdirectlst *, struct allocdirect *, struct freeblks *); static int check_inode_unwritten(struct inodedep *); static int free_inodedep(struct inodedep *); -static void freework_freeblock(struct freework *, u_long); +static void freework_freeblock(struct freework *, uint64_t); static void freework_enqueue(struct freework *); static int handle_workitem_freeblocks(struct freeblks *, int); static int handle_complete_freeblocks(struct freeblks *, int); @@ -846,7 +846,7 @@ static struct allocindir *newallocindir(struct inode *, int, ufs2_daddr_t, ufs2_daddr_t, ufs_lbn_t); static void handle_workitem_freefrag(struct freefrag *); static struct freefrag *newfreefrag(struct inode *, ufs2_daddr_t, long, - ufs_lbn_t, u_long); + ufs_lbn_t, uint64_t); static void allocdirect_merge(struct allocdirectlst *, struct allocdirect *, struct allocdirect *); static struct freefrag *allocindir_merge(struct allocindir *, @@ -1568,7 +1568,7 @@ worklist_speedup(struct mount *mp) static void softdep_send_speedup(struct ufsmount *ump, off_t shortage, - u_int flags) + uint64_t flags) { struct buf *bp; @@ -2586,7 +2586,7 @@ softdep_mount(struct vnode *devvp, struct ufsmount *ump; struct cg *cgp; struct buf *bp; - u_int cyl, i; + uint64_t cyl, i; int error; ump = VFSTOUFS(mp); @@ -2751,8 +2751,8 @@ softdep_unmount(struct mount *mp) #ifdef INVARIANTS for (int i = 0; i <= D_LAST; i++) { KASSERT(ums->sd_curdeps[i] == 0, - ("Unmount %s: Dep type %s != 0 (%ld)", ump->um_fs->fs_fsmnt, - TYPENAME(i), ums->sd_curdeps[i])); + ("Unmount %s: Dep type %s != 0 (%jd)", ump->um_fs->fs_fsmnt, + TYPENAME(i), (intmax_t)ums->sd_curdeps[i])); KASSERT(LIST_EMPTY(&ums->sd_alldeps[i]), ("Unmount %s: Dep type %s not empty (%p)", ump->um_fs->fs_fsmnt, @@ -5795,7 +5795,7 @@ newfreefrag(struct inode *ip, ufs2_daddr_t blkno, long size, ufs_lbn_t lbn, - u_long key) + uint64_t key) { struct freefrag *freefrag; struct ufsmount *ump; @@ -7954,7 +7954,7 @@ free_inodedep(struct inodedep *inodedep) * in memory immediately. */ static void -freework_freeblock(struct freework *freework, u_long key) +freework_freeblock(struct freework *freework, uint64_t key) { struct freeblks *freeblks; struct jnewblk *jnewblk; @@ -8118,7 +8118,7 @@ handle_workitem_freeblocks(struct freeblks *freeblks, int flags) struct allocindir *aip; struct ufsmount *ump; struct worklist *wk; - u_long key; + uint64_t key; KASSERT(LIST_EMPTY(&freeblks->fb_jblkdephd), ("handle_workitem_freeblocks: Journal entries not written.")); @@ -8306,7 +8306,7 @@ indir_trunc(struct freework *freework, ufs1_daddr_t *bap1; ufs2_daddr_t nb, nnb, *bap2; ufs_lbn_t lbnadd, nlbn; - u_long key; + uint64_t key; int nblocks, ufs1fmt, freedblocks; int goingaway, freedeps, needj, level, cnt, i, error; @@ -9924,7 +9924,7 @@ clear_unlinked_inodedep( struct inodedep *inodedep) * that is in the list. */ if (pino == 0) { - bcopy((caddr_t)fs, bp->b_data, (u_int)fs->fs_sbsize); + bcopy((caddr_t)fs, bp->b_data, (uint64_t)fs->fs_sbsize); bpfs = (struct fs *)bp->b_data; ffs_oldfscompat_write(bpfs, ump); softdep_setup_sbupdate(ump, bpfs, bp); @@ -9956,7 +9956,7 @@ clear_unlinked_inodedep( struct inodedep *inodedep) FREE_LOCK(ump); bp = getblk(ump->um_devvp, btodb(fs->fs_sblockloc), (int)fs->fs_sbsize, 0, 0, 0); - bcopy((caddr_t)fs, bp->b_data, (u_int)fs->fs_sbsize); + bcopy((caddr_t)fs, bp->b_data, (uint64_t)fs->fs_sbsize); bpfs = (struct fs *)bp->b_data; ffs_oldfscompat_write(bpfs, ump); softdep_setup_sbupdate(ump, bpfs, bp); @@ -14779,11 +14779,11 @@ worklist_print(struct worklist *wk, int verbose) if (!verbose) { db_printf("%s: %p state 0x%b\n", TYPENAME(wk->wk_type), wk, - (u_int)wk->wk_state, PRINT_SOFTDEP_FLAGS); + wk->wk_state, PRINT_SOFTDEP_FLAGS); return; } db_printf("worklist: %p type %s state 0x%b next %p\n ", wk, - TYPENAME(wk->wk_type), (u_int)wk->wk_state, PRINT_SOFTDEP_FLAGS, + TYPENAME(wk->wk_type), wk->wk_state, PRINT_SOFTDEP_FLAGS, LIST_NEXT(wk, wk_list)); db_print_ffs(VFSTOUFS(wk->wk_mp)); } diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 3959c3a7008b..6873bb5cf84b 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -200,7 +200,7 @@ ffs_sbget(void *devfd, struct fs **fsp, off_t sblock, int flags, blks = howmany(size, fs->fs_fsize); if (fs->fs_contigsumsize > 0) size += fs->fs_ncg * sizeof(int32_t); - size += fs->fs_ncg * sizeof(u_int8_t); + size += fs->fs_ncg * sizeof(uint8_t); if ((fs_si = UFS_MALLOC(sizeof(*fs_si), filltype, M_NOWAIT)) == NULL) { UFS_FREE(fs, filltype); return (ENOMEM); @@ -238,8 +238,8 @@ ffs_sbget(void *devfd, struct fs **fsp, off_t sblock, int flags, *lp++ = fs->fs_contigsumsize; space = (uint8_t *)lp; } - size = fs->fs_ncg * sizeof(u_int8_t); - fs->fs_contigdirs = (u_int8_t *)space; + size = fs->fs_ncg * sizeof(uint8_t); + fs->fs_contigdirs = (uint8_t *)space; bzero(fs->fs_contigdirs, size); *fsp = fs; return (0); @@ -366,8 +366,8 @@ readsuper(void *devfd, struct fs **fsp, off_t sblockloc, int flags, static int validate_sblock(struct fs *fs, int flags) { - u_long i, sectorsize; - u_int64_t maxfilesize, sizepb; + uint64_t i, sectorsize; + uint64_t maxfilesize, sizepb; int error, prtmsg, warnerr; char *wmsg; @@ -428,13 +428,13 @@ validate_sblock(struct fs *fs, int flags) /* Only need to validate these if reading in csum data */ if ((flags & UFS_NOCSUM) != 0) return (error); - FCHK((u_int64_t)fs->fs_ipg * fs->fs_ncg, >, + FCHK((uint64_t)fs->fs_ipg * fs->fs_ncg, >, (((int64_t)(1)) << 32) - INOPB(fs), %jd); FCHK(fs->fs_cstotal.cs_nifree, <, 0, %jd); FCHK(fs->fs_cstotal.cs_nifree, >, - (u_int64_t)fs->fs_ipg * fs->fs_ncg, %jd); + (uint64_t)fs->fs_ipg * fs->fs_ncg, %jd); FCHK(fs->fs_cstotal.cs_ndir, >, - ((u_int64_t)fs->fs_ipg * fs->fs_ncg) - + ((uint64_t)fs->fs_ipg * fs->fs_ncg) - fs->fs_cstotal.cs_nifree, %jd); FCHK(fs->fs_size, <, 8 * fs->fs_frag, %jd); FCHK(fs->fs_size, <=, ((int64_t)fs->fs_ncg - 1) * fs->fs_fpg, @@ -504,14 +504,14 @@ validate_sblock(struct fs *fs, int flags) FCHK(fs->fs_fpg, <, 3 * fs->fs_frag, %jd); FCHK(fs->fs_ncg, <, 1, %jd); FCHK(fs->fs_ipg, <, fs->fs_inopb, %jd); - FCHK((u_int64_t)fs->fs_ipg * fs->fs_ncg, >, + FCHK((uint64_t)fs->fs_ipg * fs->fs_ncg, >, (((int64_t)(1)) << 32) - INOPB(fs), %jd); FCHK(fs->fs_cstotal.cs_nifree, <, 0, %jd); - FCHK(fs->fs_cstotal.cs_nifree, >, (u_int64_t)fs->fs_ipg * fs->fs_ncg, + FCHK(fs->fs_cstotal.cs_nifree, >, (uint64_t)fs->fs_ipg * fs->fs_ncg, %jd); FCHK(fs->fs_cstotal.cs_ndir, <, 0, %jd); FCHK(fs->fs_cstotal.cs_ndir, >, - ((u_int64_t)fs->fs_ipg * fs->fs_ncg) - fs->fs_cstotal.cs_nifree, + ((uint64_t)fs->fs_ipg * fs->fs_ncg) - fs->fs_cstotal.cs_nifree, %jd); FCHK(fs->fs_sbsize, >, SBLOCKSIZE, %jd); FCHK(fs->fs_sbsize, <, (signed)sizeof(struct fs), %jd); @@ -944,7 +944,7 @@ ffs_isblock(struct fs *fs, unsigned char *cp, ufs1_daddr_t h) * check if a block is free */ int -ffs_isfreeblock(struct fs *fs, u_char *cp, ufs1_daddr_t h) +ffs_isfreeblock(struct fs *fs, uint8_t *cp, ufs1_daddr_t h) { switch ((int)fs->fs_frag) { @@ -969,7 +969,7 @@ ffs_isfreeblock(struct fs *fs, u_char *cp, ufs1_daddr_t h) * take a block out of the map */ void -ffs_clrblock(struct fs *fs, u_char *cp, ufs1_daddr_t h) +ffs_clrblock(struct fs *fs, uint8_t *cp, ufs1_daddr_t h) { switch ((int)fs->fs_frag) { @@ -1031,9 +1031,9 @@ ffs_clusteracct(struct fs *fs, struct cg *cgp, ufs1_daddr_t blkno, int cnt) { int32_t *sump; int32_t *lp; - u_char *freemapp, *mapp; + uint8_t *freemapp, *mapp; int i, start, end, forw, back, map; - u_int bit; + uint64_t bit; if (fs->fs_contigsumsize <= 0) return; diff --git a/sys/ufs/ffs/ffs_tables.c b/sys/ufs/ffs/ffs_tables.c index cb00db256e9b..2a91e292b461 100644 --- a/sys/ufs/ffs/ffs_tables.c +++ b/sys/ufs/ffs/ffs_tables.c @@ -62,7 +62,7 @@ int inside[9] = { * These tables are used by the scanc instruction on the VAX to * quickly find an appropriate fragment. */ -static u_char fragtbl124[256] = { +static uint8_t fragtbl124[256] = { 0x00, 0x16, 0x16, 0x2a, 0x16, 0x16, 0x26, 0x4e, 0x16, 0x16, 0x16, 0x3e, 0x2a, 0x3e, 0x4e, 0x8a, 0x16, 0x16, 0x16, 0x3e, 0x16, 0x16, 0x36, 0x5e, @@ -97,7 +97,7 @@ static u_char fragtbl124[256] = { 0x9e, 0x9e, 0x9e, 0xbe, 0xaa, 0xbe, 0xce, 0x8a, }; -static u_char fragtbl8[256] = { +static uint8_t fragtbl8[256] = { 0x00, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x04, 0x01, 0x01, 0x01, 0x03, 0x02, 0x03, 0x04, 0x08, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x03, 0x05, @@ -135,6 +135,6 @@ static u_char fragtbl8[256] = { /* * The actual fragtbl array. */ -u_char *fragtbl[MAXFRAG + 1] = { +uint8_t *fragtbl[MAXFRAG + 1] = { 0, fragtbl124, fragtbl124, 0, fragtbl124, 0, 0, 0, fragtbl8, }; diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 9b6ef22b8cd0..64236d4e98d9 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -759,7 +759,7 @@ ffs_reload(struct mount *mp, int flags) struct ufsmount *ump; ufs2_daddr_t sblockloc; int i, blks, error; - u_long size; + uint64_t size; int32_t *lp; ump = VFSTOUFS(mp); @@ -803,7 +803,7 @@ ffs_reload(struct mount *mp, int flags) newfs->fs_si = fs->fs_si; newfs->fs_ronly = fs->fs_ronly; sblockloc = fs->fs_sblockloc; - bcopy(newfs, fs, (u_int)fs->fs_sbsize); + bcopy(newfs, fs, (uint64_t)fs->fs_sbsize); brelse(bp); ump->um_bsize = fs->fs_bsize; ump->um_maxsymlinklen = fs->fs_maxsymlinklen; @@ -825,7 +825,7 @@ ffs_reload(struct mount *mp, int flags) blks = howmany(size, fs->fs_fsize); if (fs->fs_contigsumsize > 0) size += fs->fs_ncg * sizeof(int32_t); - size += fs->fs_ncg * sizeof(u_int8_t); + size += fs->fs_ncg * sizeof(uint8_t); free(fs->fs_csp, M_UFSMNT); space = malloc(size, M_UFSMNT, M_WAITOK); fs->fs_csp = space; @@ -837,7 +837,7 @@ ffs_reload(struct mount *mp, int flags) NOCRED, &bp); if (error) return (error); - bcopy(bp->b_data, space, (u_int)size); + bcopy(bp->b_data, space, (uint64_t)size); space = (char *)space + size; brelse(bp); } @@ -850,8 +850,8 @@ ffs_reload(struct mount *mp, int flags) *lp++ = fs->fs_contigsumsize; space = lp; } - size = fs->fs_ncg * sizeof(u_int8_t); - fs->fs_contigdirs = (u_int8_t *)space; + size = fs->fs_ncg * sizeof(uint8_t); + fs->fs_contigdirs = (uint8_t *)space; *** 1062 LINES SKIPPED *** From nobody Thu Jul 27 22:30:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBlpk3YxZz4pNXm for ; Thu, 27 Jul 2023 22:30:54 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 4RBlpj5Sdhz3Q8v for ; Thu, 27 Jul 2023 22:30:53 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3fd18b1d924so14948725e9.1 for ; Thu, 27 Jul 2023 15:30:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690497052; x=1691101852; 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=X1OBow9p9l+d9i/tYbj153WtCcub7O3HHm/XQnjNeXo=; b=RitnntHnYC/GQWuLkSi5HFCOf9yA+DtMaA2aJDraH4/WmdCogYTVO5mvvvF22f16Hr vfUTxxGLLAnAtY16H+sUxNxAVQwYF3jjWLU8+wsjLlNPFReUOj44qkQPTfq4Z/PXbJyC FrRGTa3JmeJrEcJ8Ru1dXWyH/Q6x7RIh+KtXZZmQbWCvfgxorIDDoyLuzHtc7VaoO1xY Gg30XCHz+hzAhJqNcLCKQQA/cuxPwXBFDM7AMTXvfnPLy3PrThnitPkHy8WekHmeapst Tsqf+WVRVHJMmezaVBFfyGrCfV1KeVVEMIzrj+s98k7iuG/sp4oJPEFFBEnJ+bEx8sDU rIDA== X-Gm-Message-State: ABy/qLb8XGYWEKcRJzW+tbUDKK+bzYC3T/kDongUH5nnbumQrcsacMKR I8FLbZ1WxO23EUqs+ged2Xba3w== X-Google-Smtp-Source: APBJJlFR7OEjB+fyHiv6W80WE6P+dpVdP5NQzh4Qn9CTpcc+phYdXNIpz5lHVNqVadDYl6URII7PnA== X-Received: by 2002:a05:6000:1d0:b0:317:5b32:b2c3 with SMTP id t16-20020a05600001d000b003175b32b2c3mr328244wrx.6.1690497051769; Thu, 27 Jul 2023 15:30:51 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id x7-20020adff647000000b00317731a6e07sm3142662wrp.62.2023.07.27.15.30.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Jul 2023 15:30:51 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 831b1ff7913f - main - UFS/FFS: Migrate to modern uintXX_t from u_intXX_t. From: Jessica Clarke In-Reply-To: <202307272227.36RMRnEQ003602@gitrepo.freebsd.org> Date: Thu, 27 Jul 2023 23:30:40 +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: <202307272227.36RMRnEQ003602@gitrepo.freebsd.org> To: Kirk McKusick X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4RBlpj5Sdhz3Q8v X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 27 Jul 2023, at 23:27, Kirk McKusick wrote: >=20 > The branch main has been updated by mckusick: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D831b1ff7913fb0b317a258a43dce5abe= fee03a31 >=20 > commit 831b1ff7913fb0b317a258a43dce5abefee03a31 > Author: Kirk McKusick > AuthorDate: 2023-07-27 22:26:01 +0000 > Commit: Kirk McKusick > CommitDate: 2023-07-27 22:27:36 +0000 >=20 > UFS/FFS: Migrate to modern uintXX_t from u_intXX_t. >=20 > As per = https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html > move to the modern uintXX_t. While here also migrate u_char to = uint8_t. > Where other kernel interfaces allow, migrate u_long to uint64_t. >=20 > No functional changes intended. >=20 > MFC-after: 1 week > Sponsored-by: The FreeBSD Foundation > --- > sys/ufs/ffs/ffs_alloc.c | 148 = +++++++++++++++++++++++---------------------- > sys/ufs/ffs/ffs_extern.h | 19 +++--- > sys/ufs/ffs/ffs_inode.c | 10 +-- > sys/ufs/ffs/ffs_rawread.c | 4 +- > sys/ufs/ffs/ffs_snapshot.c | 10 +-- > sys/ufs/ffs/ffs_softdep.c | 28 ++++----- > sys/ufs/ffs/ffs_subr.c | 30 ++++----- > sys/ufs/ffs/ffs_tables.c | 6 +- > sys/ufs/ffs/ffs_vfsops.c | 25 ++++---- > sys/ufs/ffs/ffs_vnops.c | 33 +++++----- > sys/ufs/ffs/fs.h | 78 ++++++++++++------------ > sys/ufs/ffs/softdep.h | 4 +- > sys/ufs/ufs/dinode.h | 38 ++++++------ > sys/ufs/ufs/dir.h | 28 ++++----- > sys/ufs/ufs/dirhash.h | 2 +- > sys/ufs/ufs/extattr.h | 2 +- > sys/ufs/ufs/inode.h | 20 +++--- > sys/ufs/ufs/quota.h | 46 +++++++------- > sys/ufs/ufs/ufs_dirhash.c | 6 +- > sys/ufs/ufs/ufs_gjournal.c | 6 +- > sys/ufs/ufs/ufs_lookup.c | 19 +++--- > sys/ufs/ufs/ufs_quota.c | 30 ++++----- > sys/ufs/ufs/ufs_vfsops.c | 2 +- > sys/ufs/ufs/ufs_vnops.c | 14 ++--- > sys/ufs/ufs/ufsmount.h | 20 +++--- > 25 files changed, 316 insertions(+), 312 deletions(-) >=20 > diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c > index 680e4685e44a..c5e2a706a128 100644 > --- a/sys/ufs/ffs/ffs_alloc.c > +++ b/sys/ufs/ffs/ffs_alloc.c > @@ -103,10 +103,11 @@ __FBSDID("$FreeBSD$"); > #include > #include >=20 > -typedef ufs2_daddr_t allocfcn_t(struct inode *ip, u_int cg, = ufs2_daddr_t bpref, > - int size, int rsize); > +typedef ufs2_daddr_t allocfcn_t(struct inode *ip, uint64_t cg, > + ufs2_daddr_t bpref, int size, int rsize); There are a lot of u_int=E2=80=99s being replaced with uint64_t in this = patch, which aren=E2=80=99t equivalent types. Is that intentional? Normally for = these patches they should be non-functional, especially when there=E2=80=99s = nothing calling out this difference in the commit message. Jess From nobody Thu Jul 27 22:33:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBlsf2Qf1z4pQSp; Thu, 27 Jul 2023 22:33:26 +0000 (UTC) (envelope-from yuri@aetern.org) Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) (using TLSv1.3 with cipher TLS_AES_256_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 4RBlsf0QPyz3h4H; Thu, 27 Jul 2023 22:33:25 +0000 (UTC) (envelope-from yuri@aetern.org) Authentication-Results: mx1.freebsd.org; none Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 6819B32003AC; Thu, 27 Jul 2023 18:33:24 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 27 Jul 2023 18:33:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aetern.org; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1690497203; x=1690583603; bh=4pC3lSdx7uAK/fhgGIiZa4p8AaXHEtEURK7 TmsfSr2U=; b=nrHYZkwZ8LRT4Zgs+61jU08HXzfjsAjYk+LHZUl9GWNU/jOiKgh qZzda2yBrNn0bNFZP2VHLibBwJoMIqGbBjg5Kk6fDOiCvuhcBHWjUiogiaCBKEZR 83kfnTCJjTKWOndHYY8GEUypIzJh66iecDWvJ1gK1x5jWw3xRoGZaGe95V2jSEd8 +8a+PiPCj3isKicqwzSv4Um85NwUeYDR1KPJcGknWxry7zVk6hi7UbwdJsSjVRDp 7kWKXPEtr1o+0mtQ/30Lr1ltbYM58tJ9ih3PEmCF4HfaF3jDB9LYCw8hOYcvBt2l 71szxSBmb6Pi5Uq2eaOLAVHhEvWs/vNazUw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1690497203; x= 1690583603; bh=4pC3lSdx7uAK/fhgGIiZa4p8AaXHEtEURK7TmsfSr2U=; b=Q kVa0Wukop9MF+7+u3A9U8bUPTgKqtIPbfzAYIX5JcW4+2XLEYzA8st5UC5M5lsyE 66k1RRJDuaBtbEogJNnaiEp3j6LhhgOTJKhZ6CQ5XOVokles0fy/OZkhfGasFZmt POFyZ58F5PwfYdnjQM0GOO6P5AhJDGgmJxWJAO2iCo4vlNkUxOSM0KS3ZNNVhGGV bwME3ZtXdBK6ocAHUIx6SXb8//5Vfr5tru7FAuW5e3W0sSo6ZU+bBu3+5K/AJFdb 8IdqZrVXOyZT7ItepuQABSaPEFIv/T/g4Cicpd2mr8cymOwwJuTm7iP9YsQ7fg7G q5RmUNt8A48Iz7/qb3U+w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrieehgddutdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepkfffgggfuffvfhfhjggtgfesthejre dttddvjeenucfhrhhomhepjghurhhiuceohihurhhisegrvghtvghrnhdrohhrgheqnecu ggftrfgrthhtvghrnhephefhkeefhfejffffgffhvddtheeileeftdegheekudetleeigf ettdehheeuveegnecuffhomhgrihhnpehfrhgvvggsshgurdhorhhgpdhprhgvrdhmkhen ucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeihuhhrih esrggvthgvrhhnrdhorhhg X-ME-Proxy: Feedback-ID: i0d79475b:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Jul 2023 18:33:22 -0400 (EDT) Message-ID: <782afb67-124c-1ab9-9b41-129d1b9a91f8@aetern.org> Date: Fri, 28 Jul 2023 00:33:19 +0200 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 264594efbe69 - main - Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats Content-Language: en-US To: Jessica Clarke , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202307270411.36R4BrmB097493@gitrepo.freebsd.org> From: Yuri In-Reply-To: <202307270411.36R4BrmB097493@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4RBlsf0QPyz3h4H X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:29838, ipnet:64.147.123.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated Jessica Clarke wrote: > The branch main has been updated by jrtc27: > > URL: https://cgit.FreeBSD.org/src/commit/?id=264594efbe699defbe2ac4e1d7a91fde3db45e8f > > commit 264594efbe699defbe2ac4e1d7a91fde3db45e8f > Author: Jessica Clarke > AuthorDate: 2023-07-27 04:10:43 +0000 > Commit: Jessica Clarke > CommitDate: 2023-07-27 04:10:43 +0000 > > Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats This seems to break the list-old-libs target for me (with or without WITHOUT_LIB32= in src.conf): $ make list-old-libs /bin/sh: -V: not found Reverting this commit makes it work again. > Reviewed by: brooks, jhb > Differential Revision: https://reviews.freebsd.org/D41180 > --- > Makefile.inc1 | 19 ++++++++++++------- > 1 file changed, 12 insertions(+), 7 deletions(-) > > diff --git a/Makefile.inc1 b/Makefile.inc1 > index 53699a454ff6..b3a33a928ee5 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -857,9 +857,12 @@ XCFLAGS+= --sysroot=${WORLDTMP} > XCFLAGS+= ${BFLAGS} > .endif > > -.if ${MK_LIB32} == "yes" > -_LIBCOMPATS+= 32 > +.include "share/mk/bsd.compat.pre.mk" > +.for LIBCOMPAT in ${_ALL_LIBCOMPATS} > +.if ${MK_LIB${LIBCOMPAT}} == "yes" > +_LIBCOMPATS+= ${LIBCOMPAT} > .endif > +.endfor > .include "Makefile.libcompat" > > # META_MODE normally ignores host file changes since every build updates > @@ -3255,8 +3258,9 @@ list-old-files: .PHONY > @cd ${.CURDIR}; \ > ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ > -V "OLD_FILES:ts\n" -V "OLD_FILES:Musr/share/*.gz:R:ts\n" \ > - -V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib32,:ts\n" \ > - -V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" | sort > + ${_ALL_libcompats:@v@-V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib$v,:ts\n"@} \ > + ${_ALL_libcompats:@v@-V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ > + sort > > delete-old-files: .PHONY > @echo ">>> Removing old files (only deletes safe to delete libs)" > @@ -3321,9 +3325,10 @@ list-old-libs: .PHONY > @cd ${.CURDIR}; \ > ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ > -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ > - -V "OLD_LIBS:Mlib/*:S,^lib,usr/lib32,:ts\n" \ > - -V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" \ > - -V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib32,:ts\n" | sort > + ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ > + ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ Looks like there is stray pipe symbol. > + ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib$v,:ts\n"@} | \ > + sort > > delete-old-libs: .PHONY > @echo ">>> Removing old libraries" From nobody Thu Jul 27 22:53:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmJn4fSvz4pgVh; Thu, 27 Jul 2023 22:53: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 4RBmJn45sZz3nvs; Thu, 27 Jul 2023 22:53:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690498409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C0g5JgffWbPtBwjD61F3/QvdFYM+1gYCDnmYWdu59aY=; b=W0BuUAjJ6ukdOqX5NxhDJE1I1UIXYLz1xIe6aDGEwl72gD52W2mKEiOLEvVfzIXUwQczBk i4nRO1R+eET2mfrT/1++AMk4R5V5rMSPFIC0iCZIM/dpoCXj3mVN90FOnLOGV9VD4yXdYg tMJE8OORCVz4wUfM3k64vD5I6foVEEXKgB7LVjcZXRrIc67CdPFrBVT9OLMczp0pZUbTw+ ZpQEPr7bqrh6N558DLbkGr7YsXy9BMFhG9aHeJ+kpJVOu4DSOKXiTNlD+8xLY5TGgRBQnq pGc4U37l6XFAdrLq1q01d5bLFrOnQyx51PVCDR2xmZbmC8+Fft/BAPRdiA5dIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690498409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C0g5JgffWbPtBwjD61F3/QvdFYM+1gYCDnmYWdu59aY=; b=pua/pf1UClP1gSspiq+HWHJMjDp7B4zbvf6gigRr6cs/o/hHIJQDYrCIJsXlwAdJimwvPt anfaLzdowTVhe3OnBdNsJ76GFZQ6ard8otEW2OZB8pePsvGNHGDKEaaOqeYGg1NMJ94Rzu nSa3ENvipVCOCEXaESROS3VYrQz75E2AvA8fAKENInMQD5xycJVzxihOrXlJ/FzcwYdpPx WizesE9YopVDRqTlkID801F+tuFQ7XAV84C4wAlC/TUpffh1L14GnZ/zVe1HTLoY7zp+Lh Kykc/k5ZzEdfWP1PhmyHh43F3TpD4RhF+V4LjZlpwR7kW1PaQQsXrTgR4iORBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690498409; a=rsa-sha256; cv=none; b=v+bHRfUjXFDnZKdlVWNTKpN6506w91XIGb07c7WnucRwciF+ZSz7yrnKdSvhtPa4kKJSqf RbY+AM2L6fScCJUe8eWW+nF0w/9cjNF+vxqyouqFP2559enuHEqPagLvHmBnPj9OKVCz8i 4Daig0SPwhUKGO/7OAbKuma+2qVIUxzkrbTApxoYAVpMjpFD9LZKsc6jMdoGROyHUV+B6X EXF8hjY9jfFnk0yjqpoE4fTRWgELpMHT+rOoT3dDh74SQpYIU8WF9kxo2pin0FmI+i2nGr z4eOesXMqg+WL3VaqYysWpWSKZvxERQkorcLiQTvo2Siw878u57aPrC3FZRMSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBmJn35ZjzSHh; Thu, 27 Jul 2023 22:53: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 36RMrTAP051517; Thu, 27 Jul 2023 22:53:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RMrTt4051516; Thu, 27 Jul 2023 22:53:29 GMT (envelope-from git) Date: Thu, 27 Jul 2023 22:53:29 GMT Message-Id: <202307272253.36RMrTt4051516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eric Joyner Subject: git: 04d4e34538cf - main - iflib: Fix panic during driver reload stress test List-Id: Commit messages for all branches 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: erj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04d4e34538cf8f8ac99b5aa1c6c50b626d976dfd Auto-Submitted: auto-generated The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=04d4e34538cf8f8ac99b5aa1c6c50b626d976dfd commit 04d4e34538cf8f8ac99b5aa1c6c50b626d976dfd Author: Przemyslaw Lewandowski AuthorDate: 2023-07-27 22:47:12 +0000 Commit: Eric Joyner CommitDate: 2023-07-27 22:47:12 +0000 iflib: Fix panic during driver reload stress test During a driver reload stress test, after 50-300 reloads a panic occurs. After adding sleeps in between loading and unloading the driver, the issue does not occur. It's possible that loading/unloading too fast may cause the gt_taskqueue pointer to be freed earlier than expected; checking for a null pointer first fixes it. Signed-off-by: Eric Joyner Reviewed by: erj@ Tested by: jeffrey.e.pieper@intel.com MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D39457 --- sys/net/iflib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 9f433481afda..4dd6349f6be1 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -1650,7 +1650,8 @@ iflib_fast_intr_ctx(void *arg) return (result); } - GROUPTASK_ENQUEUE(gtask); + if (gtask->gt_taskqueue != NULL) + GROUPTASK_ENQUEUE(gtask); return (FILTER_HANDLED); } From nobody Thu Jul 27 22:58:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmQT4yCqz4pkkw; Thu, 27 Jul 2023 22:58: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 4RBmQT431Rz3q0P; Thu, 27 Jul 2023 22:58:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690498705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EKP4ETi29Rd41sfzbtosA2iAruV+tR2mkB5AI6hf9d0=; b=SzPjnuJhqA1/QTCyyyFfh2/jmqTBVpLrOv96Ruy7d/V1Q/zkl78g7vKY0cXs/HC0rWfEh1 O1KxiIedzEZtoPvKxN0ahgmDrbzn+mYFa3tkp3+YacWEDKVJ3w+KeZjbl2MvfMsx5yZR7W k4kvJ6emwrChR1E3zvngNmeE0cq06ZGDiB9GXV702nChFnkTaVJHHqr0f5XjLfXzniBNUf qnRlsEZz+ehj1TmasVLVC7PeKVts35f9siYKfFBKz/CVc++m6sN+VyqMwzH6LBKtJRV7GP ADQdA5hRy7eSP6ks6pwCzWfm2RCpApIrqcDkjPxabj7+Z3edn2zLXyBAgrF+7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690498705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EKP4ETi29Rd41sfzbtosA2iAruV+tR2mkB5AI6hf9d0=; b=m0rDAZQI1ihUNFVc8w4lErXTQAwBXY+Q6T5k5xc5cyvTTEhrPFGIsB4aej9SafjxjKILw/ Fzv+pkOXSGc4CHpqCO3h3Wxhm8ZH+lC0DRyj/Fbb5Fw776bJw/uo6YHVPwnl98dfIL38zR lGfwJaaSGQGeypyVh42XQmJSoCaistXjsfZcAiEEX4GBgS3Xaap51P4mQlfPnXSmWZPdtT er3d5TBQTwVktwSd3XkdC7qwL/cmD9aRdzRYZBGNPpToQ3SWKyFt2P9QOqOJz7dBiH7Cy/ aS5xgQ+BbzaQwmEBZSyb4tUZAJZYuWzLerMV79E3yBCUzbSBtXTKxTggSyltnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690498705; a=rsa-sha256; cv=none; b=Z2rQ0TlIvs+FAC6K3XLmC/eIRD0ySVCK3ZA+oLg+u9iROUnfbPwtU6k7pLVF9tbW5lUyC1 55UTyRKpI9VrDklLEjGvh6NEZ+1oTEpwCsIbKCtphGhCv78l+X8TJFjQCykpSIoxX/drn5 yc1IJbcND+B35ukM2auYfhpaRDaMgstXCq39h4bDCMKlvf6JVzlXqKuVft+E87u7zi8Yhi ncjhkaaJTBPeD5dOkbcyiM5kd+xNfoxf4UeIsbRlJLizHP4jBpysNlMHGMxNZjJqF9W/mk 9v5UfK/xDOGAMRanPNl2xvsc+3Tb32kmQbQTbsAWFUMzkWsm0uszxQKMRcqckQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBmQT31Z8zSfs; Thu, 27 Jul 2023 22:58: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 36RMwP8T052296; Thu, 27 Jul 2023 22:58:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RMwPnG052295; Thu, 27 Jul 2023 22:58:25 GMT (envelope-from git) Date: Thu, 27 Jul 2023 22:58:25 GMT Message-Id: <202307272258.36RMwPnG052295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: cbcab907f8ad - main - e1000: Corrections for lem(4)/em(4) txcsum 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cbcab907f8ad1a4ac38dbc574c747ac2901faa54 Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=cbcab907f8ad1a4ac38dbc574c747ac2901faa54 commit cbcab907f8ad1a4ac38dbc574c747ac2901faa54 Author: Kevin Bowling AuthorDate: 2023-07-27 22:50:32 +0000 Commit: Kevin Bowling CommitDate: 2023-07-27 22:58:05 +0000 e1000: Corrections for lem(4)/em(4) txcsum offload Explicitly set ipcss/ipcse/ipcso for IPv6 per intel SDM as indicated in inline comments. Fix and consolidate 82543/82547 hwcsum exemption. While here rearrange and expand some commentary. --- sys/dev/e1000/em_txrx.c | 37 +++++++++++++++++++++++-------------- sys/dev/e1000/if_em.c | 11 ++++------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index 8b1d2817490f..0e433f388ac5 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -186,7 +186,7 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, TXD->tcp_seg_setup.fields.hdr_len = hdr_len; /* - * 8254x SDM4.0 page 45, and PCIe GbE SDM2.5 page 63 + * "PCI/PCI-X SDM 4.0" page 45, and "PCIe GbE SDM 2.5" page 63 * - Set up basic TUCMDs * - Enable IP bit on 82544 * - For others IP bit on indicates IPv4, while off indicates IPv6 @@ -212,10 +212,6 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, return (cur); } -#define TSO_WORKAROUND 4 -#define DONT_FORCE_CTX 1 - - /********************************************************************* * The offload context is protocol specific (TCP/UDP) and thus * only needs to be set when the protocol changes. The occasion @@ -232,6 +228,7 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, * in turn greatly slow down performance to send small sized * frames. **********************************************************************/ +#define DONT_FORCE_CTX 1 static int em_transmit_checksum_setup(struct e1000_softc *sc, if_pkt_info_t pi, @@ -271,20 +268,30 @@ em_transmit_checksum_setup(struct e1000_softc *sc, if_pkt_info_t pi, } TXD = (struct e1000_context_desc *)&txr->tx_base[cur]; + /* + * ipcss - Start offset for header checksum calculation. + * ipcse - End offset for header checksum calculation. + * ipcso - Offset of place to put the checksum. + * + * We set ipcsX values regardless of IP version to work around HW issues + * and ipcse must be 0 for IPv6 per "PCIe GbE SDM 2.5" page 61. + * IXSM controls whether it's inserted. + */ + TXD->lower_setup.ip_fields.ipcss = pi->ipi_ehdrlen; + TXD->lower_setup.ip_fields.ipcso = pi->ipi_ehdrlen + + offsetof(struct ip, ip_sum); if (csum_flags & CSUM_IP) { *txd_upper |= E1000_TXD_POPTS_IXSM << 8; - /* - * Start offset for header checksum calculation. - * End offset for header checksum calculation. - * Offset of place to put the checksum. - */ - TXD->lower_setup.ip_fields.ipcss = pi->ipi_ehdrlen; TXD->lower_setup.ip_fields.ipcse = htole16(hdr_len); - TXD->lower_setup.ip_fields.ipcso = pi->ipi_ehdrlen + - offsetof(struct ip, ip_sum); cmd |= E1000_TXD_CMD_IP; - } + } else if (csum_flags & (CSUM_IP6_TCP | CSUM_IP6_UDP)) + TXD->lower_setup.ip_fields.ipcse = htole16(0); + /* + * tucss - Start offset for payload checksum calculation. + * tucse - End offset for payload checksum calculation. + * tucso - Offset of place to put the checksum. + */ if (csum_flags & (CSUM_TCP | CSUM_UDP | CSUM_IP6_TCP | CSUM_IP6_UDP)) { uint8_t tucso; @@ -320,6 +327,8 @@ em_transmit_checksum_setup(struct e1000_softc *sc, if_pkt_info_t pi, return (cur); } +#define TSO_WORKAROUND 4 /* TSO sentinel descriptor */ + static int em_isc_txd_encap(void *arg, if_pkt_info_t pi) { diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 0da1f0a2dc67..32d8c3282e33 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -948,15 +948,13 @@ em_if_attach_pre(if_ctx_t ctx) scctx->isc_tx_csum_flags = CSUM_TCP | CSUM_UDP | CSUM_IP_TSO | CSUM_IP6_TCP | CSUM_IP6_UDP; - /* 8254x SDM4.0 page 33 - FDX requirement on these chips */ - if (hw->mac.type == e1000_82547 || hw->mac.type == e1000_82547_rev_2) + /* "PCI/PCI-X SDM 4.0" page 33 (b) - FDX requirement on these chips */ + if (hw->mac.type < e1000_82543 || hw->mac.type == e1000_82547 || + hw->mac.type == e1000_82547_rev_2) scctx->isc_capenable &= ~(IFCAP_HWCSUM|IFCAP_VLAN_HWCSUM); - - if (hw->mac.type < e1000_82543) - scctx->isc_capabilities &= ~(IFCAP_HWCSUM|IFCAP_VLAN_HWCSUM); /* 82541ER doesn't do HW tagging */ if (hw->device_id == E1000_DEV_ID_82541ER || hw->device_id == E1000_DEV_ID_82541ER_LOM) - scctx->isc_capabilities &= ~IFCAP_VLAN_HWTAGGING; + scctx->isc_capenable &= ~IFCAP_VLAN_HWTAGGING; /* INTx only */ scctx->isc_msix_bar = 0; } @@ -1352,7 +1350,6 @@ em_if_init(if_ctx_t ctx) E1000_RAR_ENTRIES - 1); } - /* Initialize the hardware */ em_reset(ctx); em_if_update_admin_status(ctx); From nobody Thu Jul 27 22:59:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmRT2H2Vz4pl4R for ; Thu, 27 Jul 2023 22:59:17 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) (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 4RBmRT0ZyDz3qnk for ; Thu, 27 Jul 2023 22:59:17 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-686efb9ee0cso1495458b3a.3 for ; Thu, 27 Jul 2023 15:59:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; t=1690498756; x=1691103556; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ldb/QnSI+bSoSbMdYncSNjCSTHJnMvuqY5H9h5s2JW0=; b=Bv13tWenEI4uOVHRPDNAsqDonD+0ZNTvb3HjBdiv3YeZqeR6Q3dk+O6mQIHmu+hGRm f2CnxI5ijyYKWY3OAajYxfOc0c93zY38hUer6O4aMI/6Jt6A19pas/5lTZM+zJk9s4ye 6pFDqckZYOBzAfvgBTc9HHfQutmJupu8JD/HQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690498756; x=1691103556; h=content-transfer-encoding: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=ldb/QnSI+bSoSbMdYncSNjCSTHJnMvuqY5H9h5s2JW0=; b=LoNxK9aPa2zyG/0yAizStSNVDcHnHc+Rdhn26UuBPBkTN/5pKULgrNCpjfcFVHr4Xd 4U7aYewixvQHS+26B0ti9RO5vD5nzHBpNre8CeVNr65+bcd8+u5VxzcnNk6LmFRkIhj+ H9b/ioxJ3cs5qEurqP1W66fxM1JRayWnRP7CnkckVP0+Z1r/8rEnY13BjQifSfcw8EAH nKpk7RNnuqah81qF0rzoscgoppClxxu4vVz6uiap6HX4Re4uKsLAbwrabqsgadObqAfX jlpzsgg/EaXo3fS5qcM1ZW9XWhO2b2UZtUj9/R8va7ajkADAUcUOtHE5HlpqT68Oly6T ujDA== X-Gm-Message-State: ABy/qLYzvjinxIMY/ueXH069O6cqukTVco22PrS/U2CUjFMja/P8TAYK VjYswV/OVkT27VIzeS/CzvUdIwFo/y05Z5qlUWKYPg== X-Google-Smtp-Source: APBJJlHGLpfBUna1YBZIqOQQpEr9PxtvfJubn7RpJkY8CqHD+aj8tBURle1OuDxxd2/aymhjAY7iaW9c6sJiaISqk50= X-Received: by 2002:a17:902:a703:b0:1b8:53b5:8518 with SMTP id w3-20020a170902a70300b001b853b58518mr547493plq.63.1690498755599; Thu, 27 Jul 2023 15:59:15 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202307272258.36RMwPnG052295@gitrepo.freebsd.org> In-Reply-To: <202307272258.36RMwPnG052295@gitrepo.freebsd.org> From: Kevin Bowling Date: Thu, 27 Jul 2023 15:59:04 -0700 Message-ID: Subject: Re: git: cbcab907f8ad - main - e1000: Corrections for lem(4)/em(4) txcsum offload To: Kevin Bowling Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4RBmRT0ZyDz3qnk X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated MFC after: 1 week On Thu, Jul 27, 2023 at 3:58=E2=80=AFPM Kevin Bowling wrote: > > The branch main has been updated by kbowling: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dcbcab907f8ad1a4ac38dbc574c= 747ac2901faa54 > > commit cbcab907f8ad1a4ac38dbc574c747ac2901faa54 > Author: Kevin Bowling > AuthorDate: 2023-07-27 22:50:32 +0000 > Commit: Kevin Bowling > CommitDate: 2023-07-27 22:58:05 +0000 > > e1000: Corrections for lem(4)/em(4) txcsum offload > > Explicitly set ipcss/ipcse/ipcso for IPv6 per intel SDM as indicated = in > inline comments. > > Fix and consolidate 82543/82547 hwcsum exemption. > > While here rearrange and expand some commentary. > --- > sys/dev/e1000/em_txrx.c | 37 +++++++++++++++++++++++-------------- > sys/dev/e1000/if_em.c | 11 ++++------- > 2 files changed, 27 insertions(+), 21 deletions(-) > > diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c > index 8b1d2817490f..0e433f388ac5 100644 > --- a/sys/dev/e1000/em_txrx.c > +++ b/sys/dev/e1000/em_txrx.c > @@ -186,7 +186,7 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi= , uint32_t *txd_upper, > TXD->tcp_seg_setup.fields.hdr_len =3D hdr_len; > > /* > - * 8254x SDM4.0 page 45, and PCIe GbE SDM2.5 page 63 > + * "PCI/PCI-X SDM 4.0" page 45, and "PCIe GbE SDM 2.5" page 63 > * - Set up basic TUCMDs > * - Enable IP bit on 82544 > * - For others IP bit on indicates IPv4, while off indicates IPv= 6 > @@ -212,10 +212,6 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t p= i, uint32_t *txd_upper, > return (cur); > } > > -#define TSO_WORKAROUND 4 > -#define DONT_FORCE_CTX 1 > - > - > /********************************************************************* > * The offload context is protocol specific (TCP/UDP) and thus > * only needs to be set when the protocol changes. The occasion > @@ -232,6 +228,7 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi= , uint32_t *txd_upper, > * in turn greatly slow down performance to send small sized > * frames. > **********************************************************************/ > +#define DONT_FORCE_CTX 1 > > static int > em_transmit_checksum_setup(struct e1000_softc *sc, if_pkt_info_t pi, > @@ -271,20 +268,30 @@ em_transmit_checksum_setup(struct e1000_softc *sc, = if_pkt_info_t pi, > } > > TXD =3D (struct e1000_context_desc *)&txr->tx_base[cur]; > + /* > + * ipcss - Start offset for header checksum calculation. > + * ipcse - End offset for header checksum calculation. > + * ipcso - Offset of place to put the checksum. > + * > + * We set ipcsX values regardless of IP version to work around HW= issues > + * and ipcse must be 0 for IPv6 per "PCIe GbE SDM 2.5" page 61. > + * IXSM controls whether it's inserted. > + */ > + TXD->lower_setup.ip_fields.ipcss =3D pi->ipi_ehdrlen; > + TXD->lower_setup.ip_fields.ipcso =3D pi->ipi_ehdrlen + > + offsetof(struct ip, ip_sum); > if (csum_flags & CSUM_IP) { > *txd_upper |=3D E1000_TXD_POPTS_IXSM << 8; > - /* > - * Start offset for header checksum calculation. > - * End offset for header checksum calculation. > - * Offset of place to put the checksum. > - */ > - TXD->lower_setup.ip_fields.ipcss =3D pi->ipi_ehdrlen; > TXD->lower_setup.ip_fields.ipcse =3D htole16(hdr_len); > - TXD->lower_setup.ip_fields.ipcso =3D pi->ipi_ehdrlen + > - offsetof(struct ip, ip_sum); > cmd |=3D E1000_TXD_CMD_IP; > - } > + } else if (csum_flags & (CSUM_IP6_TCP | CSUM_IP6_UDP)) > + TXD->lower_setup.ip_fields.ipcse =3D htole16(0); > > + /* > + * tucss - Start offset for payload checksum calculation. > + * tucse - End offset for payload checksum calculation. > + * tucso - Offset of place to put the checksum. > + */ > if (csum_flags & (CSUM_TCP | CSUM_UDP | CSUM_IP6_TCP | CSUM_IP6_U= DP)) { > uint8_t tucso; > > @@ -320,6 +327,8 @@ em_transmit_checksum_setup(struct e1000_softc *sc, if= _pkt_info_t pi, > return (cur); > } > > +#define TSO_WORKAROUND 4 /* TSO sentinel descriptor */ > + > static int > em_isc_txd_encap(void *arg, if_pkt_info_t pi) > { > diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c > index 0da1f0a2dc67..32d8c3282e33 100644 > --- a/sys/dev/e1000/if_em.c > +++ b/sys/dev/e1000/if_em.c > @@ -948,15 +948,13 @@ em_if_attach_pre(if_ctx_t ctx) > scctx->isc_tx_csum_flags =3D CSUM_TCP | CSUM_UDP | CSUM_I= P_TSO | > CSUM_IP6_TCP | CSUM_IP6_UDP; > > - /* 8254x SDM4.0 page 33 - FDX requirement on these chips = */ > - if (hw->mac.type =3D=3D e1000_82547 || hw->mac.type =3D= =3D e1000_82547_rev_2) > + /* "PCI/PCI-X SDM 4.0" page 33 (b) - FDX requirement on t= hese chips */ > + if (hw->mac.type < e1000_82543 || hw->mac.type =3D=3D e10= 00_82547 || > + hw->mac.type =3D=3D e1000_82547_rev_2) > scctx->isc_capenable &=3D ~(IFCAP_HWCSUM|IFCAP_VL= AN_HWCSUM); > - > - if (hw->mac.type < e1000_82543) > - scctx->isc_capabilities &=3D ~(IFCAP_HWCSUM|IFCAP= _VLAN_HWCSUM); > /* 82541ER doesn't do HW tagging */ > if (hw->device_id =3D=3D E1000_DEV_ID_82541ER || hw->devi= ce_id =3D=3D E1000_DEV_ID_82541ER_LOM) > - scctx->isc_capabilities &=3D ~IFCAP_VLAN_HWTAGGIN= G; > + scctx->isc_capenable &=3D ~IFCAP_VLAN_HWTAGGING; > /* INTx only */ > scctx->isc_msix_bar =3D 0; > } > @@ -1352,7 +1350,6 @@ em_if_init(if_ctx_t ctx) > E1000_RAR_ENTRIES - 1); > } > > - > /* Initialize the hardware */ > em_reset(ctx); > em_if_update_admin_status(ctx); > From nobody Thu Jul 27 23:02:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmW85cYbz4pnHg for ; Thu, 27 Jul 2023 23:02:28 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RBmW82GG6z3tRT for ; Thu, 27 Jul 2023 23:02:28 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3fbc59de009so15404625e9.3 for ; Thu, 27 Jul 2023 16:02:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690498946; x=1691103746; 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=kw/woHlSWkPqlrPe9nIT//XpLElX0uOCCAiUddTrZIE=; b=IoyEFZZ57aVzrMyHAKDIyatKnH2cCajigooSzh4oarxb0DuIfBa3EyTKVEIBkl11bs AOEhenZx0iTckiN50HKiC7/wjlM4yLjN+X3Y1z0sbDuEKgCqMa6I33NCOaiKaMGiWgEM mTU/ahb4SOI7m38mkY+ck9eOXkctOG18tShv/lga+k3xEUfXWQW+yonKToP3h/MCE4Hf QHym1ilBp4ZoPDBnQeYaokCtFBoOtNVyC6ZCEVZmmQ+j6p4yLRwHqPyMCSuaebHjAFLL /EBLzw17WJq2I6haZavg4sEA7mEWfy60LpAOA4SKtvbsnD12ui22cIM1vp+VMMf4pnBe xAcg== X-Gm-Message-State: ABy/qLaa6MY5ggBByslBTIzPbQqN1UIzjdxHCbZzFfLIIopVTFW8GUWH H6gJZQARWzNEkqKmVbSENWIKbA== X-Google-Smtp-Source: APBJJlHgJltdhqWfh3223pLTu2thue6ABgvM0ZAaryCzPQQ3yCavId8DYfRuyQewwcpKv2fLAPDxzQ== X-Received: by 2002:a7b:cc17:0:b0:3f8:f1db:d206 with SMTP id f23-20020a7bcc17000000b003f8f1dbd206mr299972wmh.25.1690498945945; Thu, 27 Jul 2023 16:02:25 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id d4-20020adfe884000000b003144b95e1ecsm3195715wrm.93.2023.07.27.16.02.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Jul 2023 16:02:25 -0700 (PDT) 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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 264594efbe69 - main - Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats From: Jessica Clarke In-Reply-To: <782afb67-124c-1ab9-9b41-129d1b9a91f8@aetern.org> Date: Fri, 28 Jul 2023 00:02:14 +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: <49A99144-4922-4A25-A0A5-5F0ACF97E436@freebsd.org> References: <202307270411.36R4BrmB097493@gitrepo.freebsd.org> <782afb67-124c-1ab9-9b41-129d1b9a91f8@aetern.org> To: Yuri X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4RBmW82GG6z3tRT X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 27 Jul 2023, at 23:33, Yuri wrote: >=20 > Jessica Clarke wrote: >> The branch main has been updated by jrtc27: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D264594efbe699defbe2ac4e1d7a91fde= 3db45e8f >>=20 >> commit 264594efbe699defbe2ac4e1d7a91fde3db45e8f >> Author: Jessica Clarke >> AuthorDate: 2023-07-27 04:10:43 +0000 >> Commit: Jessica Clarke >> CommitDate: 2023-07-27 04:10:43 +0000 >>=20 >> Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* = libcompats >=20 > This seems to break the list-old-libs target for me (with or without > WITHOUT_LIB32=3D in src.conf): >=20 > $ make list-old-libs > /bin/sh: -V: not found >=20 > Reverting this commit makes it work again. >=20 >> Reviewed by: brooks, jhb >> Differential Revision: https://reviews.freebsd.org/D41180 >> --- >> Makefile.inc1 | 19 ++++++++++++------- >> 1 file changed, 12 insertions(+), 7 deletions(-) >>=20 >> diff --git a/Makefile.inc1 b/Makefile.inc1 >> index 53699a454ff6..b3a33a928ee5 100644 >> --- a/Makefile.inc1 >> +++ b/Makefile.inc1 >> @@ -857,9 +857,12 @@ XCFLAGS+=3D --sysroot=3D${WORLDTMP} >> XCFLAGS+=3D ${BFLAGS} >> .endif >>=20 >> -.if ${MK_LIB32} =3D=3D "yes" >> -_LIBCOMPATS+=3D 32 >> +.include "share/mk/bsd.compat.pre.mk" >> +.for LIBCOMPAT in ${_ALL_LIBCOMPATS} >> +.if ${MK_LIB${LIBCOMPAT}} =3D=3D "yes" >> +_LIBCOMPATS+=3D ${LIBCOMPAT} >> .endif >> +.endfor >> .include "Makefile.libcompat" >>=20 >> # META_MODE normally ignores host file changes since every build = updates >> @@ -3255,8 +3258,9 @@ list-old-files: .PHONY >> @cd ${.CURDIR}; \ >> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >> -V "OLD_FILES:ts\n" -V "OLD_FILES:Musr/share/*.gz:R:ts\n" \ >> - -V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib32,:ts\n" \ >> - -V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" | sort >> + ${_ALL_libcompats:@v@-V = "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib$v,:ts\n"@} \ >> + ${_ALL_libcompats:@v@-V = "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >> + sort >>=20 >> delete-old-files: .PHONY >> @echo ">>> Removing old files (only deletes safe to delete libs)" >> @@ -3321,9 +3325,10 @@ list-old-libs: .PHONY >> @cd ${.CURDIR}; \ >> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >> -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ >> - -V "OLD_LIBS:Mlib/*:S,^lib,usr/lib32,:ts\n" \ >> - -V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" \ >> - -V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib32,:ts\n" | = sort >> + ${_ALL_libcompats:@v@-V = "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ >> + ${_ALL_libcompats:@v@-V = "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >=20 > Looks like there is stray pipe symbol. Oops, copy paste strikes again. Does deleting the pipe symbol, i.e. the following patch, also fix things for you, rather than reverting the commit? > diff --git a/Makefile.inc1 b/Makefile.inc1 > index af7d5b8ad0c5..2e965b603d78 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -3368,7 +3368,7 @@ list-old-libs: .PHONY > ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ > -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ > ${_ALL_libcompats:@v@-V = "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ > - ${_ALL_libcompats:@v@-V = "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ > + ${_ALL_libcompats:@v@-V = "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} \ > ${_ALL_libcompats:@v@-V = "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib$v,:ts\n"@} | \ > sort > =20 Thanks for the report. Jess= From nobody Thu Jul 27 23:12:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmlJ15Ptz4pv4b; Thu, 27 Jul 2023 23:13:00 +0000 (UTC) (envelope-from yuri@aetern.org) Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.3 with cipher TLS_AES_256_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 4RBmlH3CRlz41np; Thu, 27 Jul 2023 23:12:59 +0000 (UTC) (envelope-from yuri@aetern.org) Authentication-Results: mx1.freebsd.org; none Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 20D353200063; Thu, 27 Jul 2023 19:12:57 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Thu, 27 Jul 2023 19:12:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aetern.org; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1690499576; x=1690585976; bh=ahKEjpUNoVQdmW6QHGFrXjhXnL7QTcYOyek C7koX5QI=; b=tL5I+UPS/2/n6jOvKDM5j1v8DriXZj51heqUf8pKdXIlFJVN3dZ OQaRyRJiVzAYIUb52xU3S6GYUonHMmSFI/VuCuz7fyWAaT99HOEoNZ7LdqByapB3 h1EykC0dG3w++ditSvYGOVfrPhwzDdB2NhK49ycjeNTjLZWh0CWIvd9ZFqsaJRdq zzn5eZ58TrvdGiRU13wqo2bkGWZgN8w29TRuk/6mWLabtdcUkUq2eZwgCVR6hBCL nnzA+RewClSZhFEvJf4vno5FWEubcMP3BwFnDtsXITJCNYnJphi72LlR1b/b95s4 0j3QWvu9rxBCJCZA0qlkA5mInE9qHj+Q/Dw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1690499576; x=1690585976; bh=ahKEjpUNoVQdmW6QHGFrXjhXnL7QTcYOyek C7koX5QI=; b=OXgePFS9GXk+VuxQIpa+F4zSJ34miQr9AEkgkvI9PKxUwEbROaR c9TfeQ1Bz9C7iLEccrRUKcRVUgm6OJjmadO/8r7ZlB0T7tUsxfbBvuuKjIo9EwqK v1LimyOzUFf91jO1ZCJYvXQtnzN0Fg9DVS7PuS3l8bmhcjBCGK4VtuAmEQHlPZtt TNJSUGAFPEA7EO6qrn9e9KVvwr2WtBFVMz+VdUppjRHKetlzSPeY/6cwgBMdHnD8 KjaANjiV1WRAGAk7GTKcK7YJFIujqPpQf7Bx7E5rUrHUudbFhr4a8URAcklz3Ddr 9P5T+yJnQj0q5mr6eLrEYMLgEVQcTDlBnPQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrieehgddukecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtje ertddtvdejnecuhfhrohhmpegjuhhrihcuoeihuhhrihesrggvthgvrhhnrdhorhhgqeen ucggtffrrghtthgvrhhnpeekhfffgfetieelgeejvdetgeeuvedtieeuffffffelgeffud euleduheefjeejleenucffohhmrghinhepfhhrvggvsghsugdrohhrghdpphhrvgdrmhhk necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhephihurh hisegrvghtvghrnhdrohhrgh X-ME-Proxy: Feedback-ID: i0d79475b:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Jul 2023 19:12:55 -0400 (EDT) Message-ID: Date: Fri, 28 Jul 2023 01:12:52 +0200 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 264594efbe69 - main - Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats Content-Language: en-US To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202307270411.36R4BrmB097493@gitrepo.freebsd.org> <782afb67-124c-1ab9-9b41-129d1b9a91f8@aetern.org> <49A99144-4922-4A25-A0A5-5F0ACF97E436@freebsd.org> From: Yuri In-Reply-To: <49A99144-4922-4A25-A0A5-5F0ACF97E436@freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4RBmlH3CRlz41np X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:29838, ipnet:64.147.123.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated Jessica Clarke wrote: > On 27 Jul 2023, at 23:33, Yuri wrote: >> >> Jessica Clarke wrote: >>> The branch main has been updated by jrtc27: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=264594efbe699defbe2ac4e1d7a91fde3db45e8f >>> >>> commit 264594efbe699defbe2ac4e1d7a91fde3db45e8f >>> Author: Jessica Clarke >>> AuthorDate: 2023-07-27 04:10:43 +0000 >>> Commit: Jessica Clarke >>> CommitDate: 2023-07-27 04:10:43 +0000 >>> >>> Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats >> >> This seems to break the list-old-libs target for me (with or without >> WITHOUT_LIB32= in src.conf): >> >> $ make list-old-libs >> /bin/sh: -V: not found >> >> Reverting this commit makes it work again. >> >>> Reviewed by: brooks, jhb >>> Differential Revision: https://reviews.freebsd.org/D41180 >>> --- >>> Makefile.inc1 | 19 ++++++++++++------- >>> 1 file changed, 12 insertions(+), 7 deletions(-) >>> >>> diff --git a/Makefile.inc1 b/Makefile.inc1 >>> index 53699a454ff6..b3a33a928ee5 100644 >>> --- a/Makefile.inc1 >>> +++ b/Makefile.inc1 >>> @@ -857,9 +857,12 @@ XCFLAGS+= --sysroot=${WORLDTMP} >>> XCFLAGS+= ${BFLAGS} >>> .endif >>> >>> -.if ${MK_LIB32} == "yes" >>> -_LIBCOMPATS+= 32 >>> +.include "share/mk/bsd.compat.pre.mk" >>> +.for LIBCOMPAT in ${_ALL_LIBCOMPATS} >>> +.if ${MK_LIB${LIBCOMPAT}} == "yes" >>> +_LIBCOMPATS+= ${LIBCOMPAT} >>> .endif >>> +.endfor >>> .include "Makefile.libcompat" >>> >>> # META_MODE normally ignores host file changes since every build updates >>> @@ -3255,8 +3258,9 @@ list-old-files: .PHONY >>> @cd ${.CURDIR}; \ >>> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >>> -V "OLD_FILES:ts\n" -V "OLD_FILES:Musr/share/*.gz:R:ts\n" \ >>> - -V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib32,:ts\n" \ >>> - -V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" | sort >>> + ${_ALL_libcompats:@v@-V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib$v,:ts\n"@} \ >>> + ${_ALL_libcompats:@v@-V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >>> + sort >>> >>> delete-old-files: .PHONY >>> @echo ">>> Removing old files (only deletes safe to delete libs)" >>> @@ -3321,9 +3325,10 @@ list-old-libs: .PHONY >>> @cd ${.CURDIR}; \ >>> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >>> -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ >>> - -V "OLD_LIBS:Mlib/*:S,^lib,usr/lib32,:ts\n" \ >>> - -V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" \ >>> - -V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib32,:ts\n" | sort >>> + ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ >>> + ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >> >> Looks like there is stray pipe symbol. > > Oops, copy paste strikes again. Does deleting the pipe symbol, i.e. the > following patch, also fix things for you, rather than reverting the > commit? Yes, delete-old-libs now properly does its job of removing lib32 contents. >> diff --git a/Makefile.inc1 b/Makefile.inc1 >> index af7d5b8ad0c5..2e965b603d78 100644 >> --- a/Makefile.inc1 >> +++ b/Makefile.inc1 >> @@ -3368,7 +3368,7 @@ list-old-libs: .PHONY >> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >> -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ >> ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ >> - ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >> + ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} \ >> ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib$v,:ts\n"@} | \ >> sort >> > > > Thanks for the report. > > Jess From nobody Thu Jul 27 23:14:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmnD4XVgz4pvxX; Thu, 27 Jul 2023 23:14: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 4RBmnD2bHtz42MK; Thu, 27 Jul 2023 23:14:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690499680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0SyFNpliF6Ue8livYjhF5wb3ZZpuX2I21kKcidLeM0=; b=ynhF9INHAmJqiu32SjevUC4w9ir603g0WDldZekKzDZGrTIcG/uDCMCuDw7Z34HhzhjH6O A903WTHtkJLuVjX6naE5v+SqpNXcX+EMaeS+SgLG8zepSLZH6cZoDwj0r8iwNi0x+0Yr2R U9nfdN6m9j/dwm6GNxypM+QaTUv6ZJ0xrDvH0bDwdxFIA4EKZqK+mBXm30NdEQgW720m8R TwAdVEMSgZz1CNasPn9BVP3PyZUOe2CM0Vq8bwuAyqqR9G+7K5aqBg89Ev/M7V4+4RXapV lTJ8CcxSJLWiz8Ocx134W8oLhRq5hTKPQv3XSTZ7x+Th30YjQ0STOJqK0pJi7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690499680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0SyFNpliF6Ue8livYjhF5wb3ZZpuX2I21kKcidLeM0=; b=C7FnZTQjhv0jGf7vCBRlVf7NICjJT3SPWPDZnya44x4ETOf2VrmNO2rm+vt/4ppoSueoRX yGqHVGYpdzL5g7Qyr96K6XVpk4lXaY6PAHHj/47yOf2DSwNLOdhz/RzEw7/LEwRyukA8st eqJ7IZ2Ne/xa+eOyBnqwKxsVC6P6qH+pMfAVeEkek85SQd/rjuC9IUOz6uQBoJ2Vr0ft+Z +VGW/c5UHhewQvkFBYOn5XQlKJI9o1uCshy3VWeNkFJ15vjT/qKzSHBQWETqfJEqydXAS2 EeA+Mbom1ANBJz91UGgpAC1w+bkVfat5KxSe5EGrwlmyox/1XRq1Fsd07MaHww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690499680; a=rsa-sha256; cv=none; b=uXc2ImR/tlmi4D0+/jHxpkhM8MxxCVkNfTNUCEsnqdQ1+M5fuT61oMSCc2SQxsVASc+76q G4H238yjZJNOis+YLeB98ud4gGBBQeB/S5aICiF3M5q9cwpaMtpmG0THU1WzHjGVtq57Md wYrrnCqCESJ3m308/f6ppIagFi6j7IGZEvpFYS1GiW59Ke1aB0fnwK5DJLLR49rnF3nD6R Ym0/MFCsmcG4zpjbco9ta+kgUB/1AgoLBtdUDv4KyAl85Wwz7F/AwsnXibb3Jk6d5zctvU f6Wh4ec6SHIv7WYfa4057N/VONMn93HCdOd/pSD/zesVc5PIPrL75lPVTmZSaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBmnD08bxzT8Q; Thu, 27 Jul 2023 23:14: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 36RNEdBn086350; Thu, 27 Jul 2023 23:14:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RNEdI2086349; Thu, 27 Jul 2023 23:14:39 GMT (envelope-from git) Date: Thu, 27 Jul 2023 23:14:39 GMT Message-Id: <202307272314.36RNEdI2086349@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 9f81119276db - main - Makefile.inc1: Fix list-old-libs by deleting stray pipe List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f81119276db285cfc8dc1f1e044800997ef0b94 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=9f81119276db285cfc8dc1f1e044800997ef0b94 commit 9f81119276db285cfc8dc1f1e044800997ef0b94 Author: Jessica Clarke AuthorDate: 2023-07-27 23:14:19 +0000 Commit: Jessica Clarke CommitDate: 2023-07-27 23:14:19 +0000 Makefile.inc1: Fix list-old-libs by deleting stray pipe Reported by: Yuri Fixes: 264594efbe69 ("Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats") --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index af7d5b8ad0c5..2e965b603d78 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3368,7 +3368,7 @@ list-old-libs: .PHONY ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ - ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ + ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} \ ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib$v,:ts\n"@} | \ sort From nobody Thu Jul 27 23:15:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBmpB3Xg3z4pw3j for ; Thu, 27 Jul 2023 23:15:30 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 4RBmp94sdmz42ft for ; Thu, 27 Jul 2023 23:15:29 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3fbc77e76abso15558415e9.1 for ; Thu, 27 Jul 2023 16:15:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690499728; x=1691104528; 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=7ccH66BV4v2YQ4oUBKAGUpvetAPImYZwgVB4J0vivzM=; b=JQXLECfHWH/Cl6Lkw2wR8IRBLavrpMvJGrvUGtkYIyfD/hHCwIDM6x5ot7nug0UWM1 8I+tg1dddwk9CSKd44v2HuHSR37ywmmGRjZTmWwmME9G5FS76NPfQESdBVSADJXDlNF+ E8dZ8FTL/D2oh4mnmpU3guRjpmxQQssS1+LAtQZs//nJITuWFUMkNbJUO2cOdboe9BPg hQsue1cVbG70W0m2jJtSl7e42qIecwqHis8xxXnZARzhaBm/VsWs1mmbTH02JV86ulz5 zWs00Jxlj1hNAwRas+uO0N1Mf6pJ4OiBtT4j32cmluSrzFukoe72igKRkhjUdGmGYvE/ pyDg== X-Gm-Message-State: ABy/qLaayCgC5WSGq0iVA0KZptD7DS/Ac9TUF+9m2G7SvI4TZgtmfKEI Pq0xwYrzmFuE7ng0etlbZyiRQw== X-Google-Smtp-Source: APBJJlFZnIrnb85DbXlolEcXqSZ9ISBNpMmCwvJ2f/1KXF4WPpp7g+KM77XVqaL1FubdKdLlUiXTJA== X-Received: by 2002:adf:f291:0:b0:317:636b:fcb1 with SMTP id k17-20020adff291000000b00317636bfcb1mr368348wro.27.1690499727551; Thu, 27 Jul 2023 16:15:27 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id z7-20020a5d4407000000b0031766e99429sm3176933wrq.115.2023.07.27.16.15.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Jul 2023 16:15:27 -0700 (PDT) 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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 264594efbe69 - main - Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats From: Jessica Clarke X-Priority: 5 In-Reply-To: Date: Fri, 28 Jul 2023 00:15:16 +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: <202307270411.36R4BrmB097493@gitrepo.freebsd.org> <782afb67-124c-1ab9-9b41-129d1b9a91f8@aetern.org> <49A99144-4922-4A25-A0A5-5F0ACF97E436@freebsd.org> To: Yuri X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4RBmp94sdmz42ft X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 28 Jul 2023, at 00:12, Yuri wrote: >=20 > Jessica Clarke wrote: >> On 27 Jul 2023, at 23:33, Yuri wrote: >>>=20 >>> Jessica Clarke wrote: >>>> The branch main has been updated by jrtc27: >>>>=20 >>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D264594efbe699defbe2ac4e1d7a91fde= 3db45e8f >>>>=20 >>>> commit 264594efbe699defbe2ac4e1d7a91fde3db45e8f >>>> Author: Jessica Clarke >>>> AuthorDate: 2023-07-27 04:10:43 +0000 >>>> Commit: Jessica Clarke >>>> CommitDate: 2023-07-27 04:10:43 +0000 >>>>=20 >>>> Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* = libcompats >>>=20 >>> This seems to break the list-old-libs target for me (with or without >>> WITHOUT_LIB32=3D in src.conf): >>>=20 >>> $ make list-old-libs >>> /bin/sh: -V: not found >>>=20 >>> Reverting this commit makes it work again. >>>=20 >>>> Reviewed by: brooks, jhb >>>> Differential Revision: https://reviews.freebsd.org/D41180 >>>> --- >>>> Makefile.inc1 | 19 ++++++++++++------- >>>> 1 file changed, 12 insertions(+), 7 deletions(-) >>>>=20 >>>> diff --git a/Makefile.inc1 b/Makefile.inc1 >>>> index 53699a454ff6..b3a33a928ee5 100644 >>>> --- a/Makefile.inc1 >>>> +++ b/Makefile.inc1 >>>> @@ -857,9 +857,12 @@ XCFLAGS+=3D --sysroot=3D${WORLDTMP} >>>> XCFLAGS+=3D ${BFLAGS} >>>> .endif >>>>=20 >>>> -.if ${MK_LIB32} =3D=3D "yes" >>>> -_LIBCOMPATS+=3D 32 >>>> +.include "share/mk/bsd.compat.pre.mk" >>>> +.for LIBCOMPAT in ${_ALL_LIBCOMPATS} >>>> +.if ${MK_LIB${LIBCOMPAT}} =3D=3D "yes" >>>> +_LIBCOMPATS+=3D ${LIBCOMPAT} >>>> .endif >>>> +.endfor >>>> .include "Makefile.libcompat" >>>>=20 >>>> # META_MODE normally ignores host file changes since every build = updates >>>> @@ -3255,8 +3258,9 @@ list-old-files: .PHONY >>>> @cd ${.CURDIR}; \ >>>> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >>>> -V "OLD_FILES:ts\n" -V "OLD_FILES:Musr/share/*.gz:R:ts\n" \ >>>> - -V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib32,:ts\n" \ >>>> - -V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" | sort >>>> + ${_ALL_libcompats:@v@-V = "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib$v,:ts\n"@} \ >>>> + ${_ALL_libcompats:@v@-V = "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >>>> + sort >>>>=20 >>>> delete-old-files: .PHONY >>>> @echo ">>> Removing old files (only deletes safe to delete libs)" >>>> @@ -3321,9 +3325,10 @@ list-old-libs: .PHONY >>>> @cd ${.CURDIR}; \ >>>> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \ >>>> -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \ >>>> - -V "OLD_LIBS:Mlib/*:S,^lib,usr/lib32,:ts\n" \ >>>> - -V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" \ >>>> - -V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib32,:ts\n" | = sort >>>> + ${_ALL_libcompats:@v@-V = "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \ >>>> + ${_ALL_libcompats:@v@-V = "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \ >>>=20 >>> Looks like there is stray pipe symbol. >>=20 >> Oops, copy paste strikes again. Does deleting the pipe symbol, i.e. = the >> following patch, also fix things for you, rather than reverting the >> commit? >=20 > Yes, delete-old-libs now properly does its job of removing lib32 = contents. Thanks for confirming; fix now pushed. Jess From nobody Fri Jul 28 00:17:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBpBD2GcFz4pgWp; Fri, 28 Jul 2023 00:17:56 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oi1-x233.google.com (mail-oi1-x233.google.com [IPv6:2607:f8b0:4864:20::233]) (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 4RBpB93YTpz4Q05; Fri, 28 Jul 2023 00:17:53 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=WEAm+Oxk; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2607:f8b0:4864:20::233 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oi1-x233.google.com with SMTP id 5614622812f47-3a3df1ee4a3so1073766b6e.3; Thu, 27 Jul 2023 17:17:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690503472; x=1691108272; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DJGXMP3oorebjcVFxGyIBHnZe4FEaK/sGm/zwbAaG7Y=; b=WEAm+OxkkVsuQilISykP9Wb0omJSZyPi/kMRYAIf7GBnhw3NdJ+rLd6wcXQFBHk3cy eiuosEfAUo5HB9v+tSoc0zKou7z0iFA/xpaUTqT8bNBhALI4MhQ6m8Ipk4MSWQmMdf4b iDWV6OVsMtv6b2I7aiMzl3bwQwg6bRE6zIMWYvXd6WT990m4y+AGdlqkSYGgFZDAcX9t +45fsW5jPEoFbAkYccdVnAYi5bEKtiEW4/fgRUKaESEkUdesC/j4Bqb9wsOmPkzWnCBn csGaUT1WNP6KrZ8f4gbxNVaftQZXaD3CUFOZk6KSWv5MncEO4qYvOEH8uEU/c+Em/89f saKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690503472; x=1691108272; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DJGXMP3oorebjcVFxGyIBHnZe4FEaK/sGm/zwbAaG7Y=; b=Retdjkcz15DFBtDr6NrqBOkTXZCit3j2K1ni0RCHeH10Eyv8ZuzNJBPjQWhGpOvyiO Zjxe3Qgfi//Ms8q4oSdV4Tfsnp8sL5AeE2R5nUJaDuOS7AQRuzh8p5XeYw1nX5jcMuEQ l2a0El3lYY/3L+Ve2546eMCByPUQmQpm47pNkAjzWHJIn0W05vp8RY30ifNKbqgQmo6i +6qRZpJJBpT1OEV1auJ2ESoh2LdTvqahQujMqeVm9gIGjlKGlNPtUU5BFl5Reqrfb3mt W+rZ8MpAEgDPW94n16m19sAD3tBnsfc5+pi+cehLL+2zhSlKaT23nGw16FnlzGc18E+g tJ2w== X-Gm-Message-State: ABy/qLbcQOfcRqe26LPKHm/+AxcYptCZ8pyo1J+FpqfOc3wqEG8iJ9rI uH6vGOeaY7n+6Y/+r9Sdbm711yzA1ybe70XDGgn2NJwB X-Google-Smtp-Source: APBJJlHJN6IhEIxNYGCZ0pjaNLwhKOf64nbZSq++sN5So5PoFjWHqZJ3CyEHVuLlP+hvlbf52dXx5Bg8tRprKMtXGXc= X-Received: by 2002:a05:6808:1b2b:b0:3a1:cbea:3bf2 with SMTP id bx43-20020a0568081b2b00b003a1cbea3bf2mr999395oib.11.1690503471921; Thu, 27 Jul 2023 17:17:51 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Received: by 2002:ac9:6106:0:b0:4e1:6042:cdc9 with HTTP; Thu, 27 Jul 2023 17:17:51 -0700 (PDT) In-Reply-To: <202307242203.36OM3IwQ009522@gitrepo.freebsd.org> References: <202307242203.36OM3IwQ009522@gitrepo.freebsd.org> From: Mateusz Guzik Date: Fri, 28 Jul 2023 02:17:51 +0200 Message-ID: Subject: Re: git: 5b353925ff61 - main - vnode read(2)/write(2): acquire rangelock regardless of do_vn_io_fault() To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-3.65 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.991]; NEURAL_HAM_SHORT(-0.99)[-0.989]; NEURAL_HAM_LONG(-0.67)[-0.668]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::233:from]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4RBpB93YTpz4Q05 X-Spamd-Bar: --- On 7/25/23, Konstantin Belousov wrote: > The branch main has been updated by kib: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=5b353925ff61b9ddb97bb453ba75278b578ed7d9 > > commit 5b353925ff61b9ddb97bb453ba75278b578ed7d9 > Author: Konstantin Belousov > AuthorDate: 2023-07-23 15:55:50 +0000 > Commit: Konstantin Belousov > CommitDate: 2023-07-24 22:02:59 +0000 > > vnode read(2)/write(2): acquire rangelock regardless of > do_vn_io_fault() > > To ensure atomicity of reads against parallel writes and truncates, > vnode lock was not enough at least since introduction of vn_io_fault(). > That code only take rangelock when it was possible that vn_read() and > vn_write() could drop the vnode lock. > > At least since the introduction of VOP_READ_PGCACHE() which generally > does not lock the vnode at all, rangelocks become required even > for filesystems that do not need vn_io_fault() workaround. For > instance, tmpfs. > Is there a bug with pgcache reads disabled (as in when the vnode lock is held for reads?) Note this patch adds 2 lock trips which were previously not present, which has to slow things down single-threaded, but I did not bother measuring that part. As this adds to vnode-wide *lock* acquires this has to very negatively affect scalability. This time around I ran: ./readseek3_processes -t 10 (10 workers reading from *disjoint* offsets from the same vnode. this in principle can scale perfectly) I observed a 90% drop in performance: before: total:25723459 ops/s after: total:2455794 ops/s Going to an unpatched kernel and disabling pgcache reads instead: disabled: total:6522480 ops/s or about 2.6x of performance of the current kernel In other words I think the thing to do here is to revert the patch and instead flip pgcache reads to off by default until a better fix can be implemented. > PR: 272678 > Analyzed and reviewed by: Andrew Gierth > > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Differential revision: https://reviews.freebsd.org/D41158 > --- > sys/kern/vfs_vnops.c | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c > index 83e95731d7c4..306840ff0357 100644 > --- a/sys/kern/vfs_vnops.c > +++ b/sys/kern/vfs_vnops.c > @@ -1443,6 +1443,7 @@ vn_io_fault(struct file *fp, struct uio *uio, struct > ucred *active_cred, > void *rl_cookie; > struct vn_io_fault_args args; > int error; > + bool rl_locked; > > doio = uio->uio_rw == UIO_READ ? vn_read : vn_write; > vp = fp->f_vnode; > @@ -1465,12 +1466,7 @@ vn_io_fault(struct file *fp, struct uio *uio, struct > ucred *active_cred, > } > > foffset_lock_uio(fp, uio, flags); > - if (do_vn_io_fault(vp, uio)) { > - args.kind = VN_IO_FAULT_FOP; > - args.args.fop_args.fp = fp; > - args.args.fop_args.doio = doio; > - args.cred = active_cred; > - args.flags = flags | FOF_OFFSET; > + if (vp->v_type == VREG) { > if (uio->uio_rw == UIO_READ) { > rl_cookie = vn_rangelock_rlock(vp, uio->uio_offset, > uio->uio_offset + uio->uio_resid); > @@ -1482,11 +1478,22 @@ vn_io_fault(struct file *fp, struct uio *uio, struct > ucred *active_cred, > rl_cookie = vn_rangelock_wlock(vp, uio->uio_offset, > uio->uio_offset + uio->uio_resid); > } > + rl_locked = true; > + } else { > + rl_locked = false; > + } > + if (do_vn_io_fault(vp, uio)) { > + args.kind = VN_IO_FAULT_FOP; > + args.args.fop_args.fp = fp; > + args.args.fop_args.doio = doio; > + args.cred = active_cred; > + args.flags = flags | FOF_OFFSET; > error = vn_io_fault1(vp, uio, &args, td); > - vn_rangelock_unlock(vp, rl_cookie); > } else { > error = doio(fp, uio, active_cred, flags | FOF_OFFSET, td); > } > + if (rl_locked) > + vn_rangelock_unlock(vp, rl_cookie); > foffset_unlock_uio(fp, uio, flags); > return (error); > } > -- Mateusz Guzik From nobody Fri Jul 28 01:26:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBqjG5F6Vz4pTlM; Fri, 28 Jul 2023 01:26: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 4RBqjG4pylz3rQH; Fri, 28 Jul 2023 01:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690507586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7EbIHfDscbl6oxtlWWmgLNQqFQ/cPXRd7SWZBGdxo4=; b=g+SDNcmLydbB4ehtof+Uv3zM4v53jedNxCNtXpDX9JkU/yGTqe+B7Md7XJYyOGSrloWuhA IRF/CEvWOFYsusoTBcY2k+doX9ts7Hln0HAVZmveiMJ/fWSns9FeCgCSRB0gaezeGF7sWc IHXgZBO8ecHS1Q+sE1YfrZzcvt0PiF9+MsalqcS3sIxLCYQO+vxTkZIAHxeztb8FTLMZWS v6XBSBEa8M+hUF7272QcQEjC/c9wmZTzSpSeVqzyXKxX6u2JFiU+ZQkSja2G47ZFrY8Veq fm+2WupfU5ue0YTRXMc1vnHwa24r8KG4bwH0nhBfIGGw7uuLsXXhO5zAxY+5wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690507586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7EbIHfDscbl6oxtlWWmgLNQqFQ/cPXRd7SWZBGdxo4=; b=alXtJdfeSJ0k3W9zIbKToRer+JAXpHkylUETdNTfVFdcqsP8VRG4aTq7fWr/1S3u3+M+mG A5y+vydzgDWOAMaBSHNzOR1xB1JCSzf3q455KPVfTQbGFbaRkMP4GU0WMi1bGM4Llg0fz4 aW4AYUyBuKNQKMCU+eCtsy2Q1GSvn0YcnI0eCm/xMv8KI3a3WMs1ap3LwzGSUcnhvdQEbD S9SRKO2pTRnAsicU4OyIHGtnAa6errFjY01oPPxpSIA8E1ZqmAvnBibFxIr3yeNdxk0Z9n a8L1yC0bUOk+7dENlnEwtREb3dUtwXsvspLm5/N/aGBftLNi2u43gjJJkzFXNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690507586; a=rsa-sha256; cv=none; b=W/vHgGRMgRZYQLTqBZen3Lr6o2KJmg8AzHyevGSdvnx4Jjhz+3cYNg7awBL7QqHabCicjC mx3v3GdvXLhybFDa3KDLDU6mTIZEm738IWnZJOcwhHccLfVa62II/9ucxV5S71on+v0c2r YivHRgab7pHfphidKk+xOtZOroYNUjsAfPPMULJkGoWulVXGgA6erqFn31j0uLUfryMc24 Rr165WPDQUE9RfgzO2jLvvG6BjX7m3388CCKDrBhSLrEr8b5B0q7+6HWa8puL1NoeI1G0q rWXhnNITW6FUdEfSwsiod5Hpl6X/oUysYW1wwgv+ZqB11Hy99DmNXRHfCxIIdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBqjG3txVzXW3; Fri, 28 Jul 2023 01:26: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 36S1QQv0000541; Fri, 28 Jul 2023 01:26:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S1QQJD000540; Fri, 28 Jul 2023 01:26:26 GMT (envelope-from git) Date: Fri, 28 Jul 2023 01:26:26 GMT Message-Id: <202307280126.36S1QQJD000540@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: e3e7512e715c - stable/13 - thr_mutex.c: style List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e3e7512e715c8ff13e1f19008ac9443c1b578db2 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e3e7512e715c8ff13e1f19008ac9443c1b578db2 commit e3e7512e715c8ff13e1f19008ac9443c1b578db2 Author: Konstantin Belousov AuthorDate: 2023-07-22 17:59:26 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-28 01:14:01 +0000 thr_mutex.c: style (cherry picked from commit 0a5c29a6ee0a4c2732977d6d832e7193dbddaf26) --- lib/libthr/thread/thr_mutex.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c index 40e0b7382f95..8d64d26c12ab 100644 --- a/lib/libthr/thread/thr_mutex.c +++ b/lib/libthr/thread/thr_mutex.c @@ -291,8 +291,8 @@ mutex_init(pthread_mutex_t *mutex, if (error != 0) return (error); } - if ((pmutex = (pthread_mutex_t) - calloc_cb(1, sizeof(struct pthread_mutex))) == NULL) + if ((pmutex = (pthread_mutex_t)calloc_cb(1, + sizeof(struct pthread_mutex))) == NULL) return (ENOMEM); mutex_init_body(pmutex, attr); *mutex = pmutex; From nobody Fri Jul 28 01:26:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBqjH6x7vz4pTht; Fri, 28 Jul 2023 01:26: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 4RBqjH5l5Cz3rSp; Fri, 28 Jul 2023 01:26:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690507587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X98//q5kc1OgxfSIp65yBlOfxpI/04oKEvlRfBHf2fk=; b=ZZfnrg5JSUeiDSNsc3sxmZWwosJjHL51v7SVYiYl2t1osQ1j91MYJD6LD34KJmhA9eTKBU ULlZFRdfG6UksUR7b+s0VPzF8U4AcF9TRA6LzcU/3ApGWZM7FvheVKjjqJV70qgUZlGvLl RqSeSe+LKhCD4aAJhpBSAelBo5pXEqlIBc31ByggZoIQOlddJv71NWwgn+5yLu/YFLO30m EHXTAUUGYbl0KdOsWuSGtSYNQQ9I6ur1IgLvXRFD6NP9J4T1EB4N8WW/+KdqU9eB4I5IiB nGzE3Z7WPJBBbbr4RjVo6V73qxqcL5Jd26u+cvzSIeDUdBzEAzHNtEfEO4Q3ZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690507587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X98//q5kc1OgxfSIp65yBlOfxpI/04oKEvlRfBHf2fk=; b=TahCA3dqNWmo18rYsINvNyWXUhxgjweIf7V2uNlFfRizucLfF0Sq6UPFg58a6qhR1+QdFN ToHJU4ouT9VCayQ0uD3152UZGRx+67tJuatzSYuGyPyv6fL0Iae/jfz0lrbag/84cX0u1Y n33HesIcX8X/nQ1/N6K8Cvb1qYQSjuLTx+JgmI24dczxBBPZzRvHRmJTvlcopLpX2Bgwp4 kNRYcx3fLx0o8mMaHdbdLaH+92ltrmygp2W30J+ypzMEQlshS6Doh4iQTEmCYGCQ161KCs GkLYxeVJQiUAqgM6E0HMhY53MTl7CsCbcfOQE/oRJR16vU/5VEOjbCpocPQ14g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690507587; a=rsa-sha256; cv=none; b=Z2j0J9u9z0vJIiOY8jjtRGfOqD4zm2rEPKpU/6M+VE761ajEJ9btH9/X242+51bAodUmqq 4loov6k6QV2Q5xMHWBMGQ1CDEqmGup1ATJlYHx6KDrvhL9xx4ZxvtZxit1T/OcgEcmbnvp 6WYa9WCFKrbRLAYX4fg/DiJTaqe7W90X52m6kcktWhGFkVSB5EIqLiI1atEK86xvc/wN4Y NUoZMaDhCt1vQ+Jd5Bq1Koul7AwZQjAqDLy9tHQND+r5BlFu7dphl0M6C3PkO9+Cr777PL u+ZoDKjc1OXSb9gQ0+BIMJgmLRa+Z51T3fEPmw2aaQdVV/CXEtX8eQeb0IzIBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBqjH4Z9DzXcr; Fri, 28 Jul 2023 01:26: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 36S1QRo1000567; Fri, 28 Jul 2023 01:26:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S1QRTM000566; Fri, 28 Jul 2023 01:26:27 GMT (envelope-from git) Date: Fri, 28 Jul 2023 01:26:27 GMT Message-Id: <202307280126.36S1QRTM000566@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: 7b335e9f690e - stable/13 - ip output: ensure that mbufs are mapped if ipsec is enabled List-Id: Commit messages for all branches 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7b335e9f690e77841e3eb7dbf3403429b10fe222 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7b335e9f690e77841e3eb7dbf3403429b10fe222 commit 7b335e9f690e77841e3eb7dbf3403429b10fe222 Author: Konstantin Belousov AuthorDate: 2023-07-20 12:08:24 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-28 01:14:01 +0000 ip output: ensure that mbufs are mapped if ipsec is enabled PR: 272616 (cherry picked from commit bc310a95c58a3c570ed7e5103371453881e36ba1) --- sys/netinet/ip_output.c | 6 ++++++ sys/netinet6/ip6_output.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 60aac79886c3..9b8e3b3eff7f 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -677,6 +677,12 @@ again: sendit: #if defined(IPSEC) || defined(IPSEC_SUPPORT) if (IPSEC_ENABLED(ipv4)) { + m = mb_unmapped_to_ext(m); + if (m == NULL) { + IPSTAT_INC(ips_odropped); + error = ENOBUFS; + goto bad; + } if ((error = IPSEC_OUTPUT(ipv4, m, inp)) != 0) { if (error == EINPROGRESS) error = 0; diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index f455c5ccbea2..88d7b2153991 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -461,6 +461,12 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, * XXX: need scope argument. */ if (IPSEC_ENABLED(ipv6)) { + m = mb_unmapped_to_ext(m); + if (m == NULL) { + IP6STAT_INC(ip6s_odropped); + error = ENOBUFS; + goto bad; + } if ((error = IPSEC_OUTPUT(ipv6, m, inp)) != 0) { if (error == EINPROGRESS) error = 0; From nobody Fri Jul 28 03:04:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBstP5twnz4q0Zk for ; Fri, 28 Jul 2023 03:04:29 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (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 4RBstP4LjZz3JGN for ; Fri, 28 Jul 2023 03:04:29 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-51de9c2bc77so2048795a12.3 for ; Thu, 27 Jul 2023 20:04:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20221208.gappssmtp.com; s=20221208; t=1690513467; x=1691118267; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QhnKoQrY2f9in1ckieogr5Na42UVSRI3qHh6ZYWjjVs=; b=anD6Uq9LLAPgdeiAduaPwa07gUUvBbe6+lOBhtGhIHLlYljxWKPRd8epErHFDAyFfD YU8vhFvKrQLLg5d6zjXCPHmNRgjrIWfEkNgaOS/KaY1IdUYvUOdZrteWct2udqv267v5 mN5UuwQ1L450615xP2sM/Xm+tH3UJJvhhmLcASIVQv/qZS3h08otm7wMkqRp1RmXBXBz d07tIdbDmYzUCQ6E2+E/pQC2KkYuxngrqaEJeD3MeMQEZRgHrOzBzmcMbnaZZ6ErIJZ+ Ouc4FKigdYpcauDeL1jUMnFaj6FKZUcQUxQ7+5lQ3NTrVY+tpiwr3RfqKhSfVxxZwc2p tdqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690513467; x=1691118267; 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=QhnKoQrY2f9in1ckieogr5Na42UVSRI3qHh6ZYWjjVs=; b=WiN1yO6NSHU3VlPHgP9Is4pjo3VMA4nL0zNDQiRNimHVNmOZ9o2O3Tm03KCsV7CoVi y6DHt8Dgml/Jn0iYTZ0EL0kfzX/CdfZ5CmwJoxFng4dyuMFurFnlIe16i1bFg08e/bVb m/b8mQqCDW/UMzRqi1ECM5bs1nA+xBq7P5LpgDSub/8xyvIiWFNhtNwIUM4/brsM3Sik wFw3bUzYU137lM3G6ySc9kBZnnBbL7yy+4M6JYV6fD5O+OqpbuiAstSO0mOVfU/vIUkN dCbBEoe8fnuF8AJS4WMqNfEKRJxnNqQZ2YKV1BwAAOwhGDl50nPWbCJ5lhUYyd3EZudx ct6g== X-Gm-Message-State: ABy/qLabiOAXD28GMXakQlWP8sbogqr3awWbuLSruotwN6y4IhvqV56S SiajDq8Q8XNYXtKK2xekfDG7ZkHnp9fWHybpSWkKYg== X-Google-Smtp-Source: APBJJlGzSSqEtEOMZqVK8BXE5fjZslBNxM/Dv/bOHK5m2Uerti3XFsrKP4cYhLQTRxqbIG6XoXzTf3fStGMU2nFwfP0= X-Received: by 2002:aa7:ca59:0:b0:522:3081:ddba with SMTP id j25-20020aa7ca59000000b005223081ddbamr625206edt.15.1690513466385; Thu, 27 Jul 2023 20:04: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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> In-Reply-To: <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> From: Warner Losh Date: Thu, 27 Jul 2023 21:04:15 -0600 Message-ID: Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) To: Renato Botelho Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000a6fb7f0601835612" X-Rspamd-Queue-Id: 4RBstP4LjZz3JGN X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --000000000000a6fb7f0601835612 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jul 27, 2023 at 5:48=E2=80=AFAM Renato Botelho = wrote: > On 07/07/23 02:10, Warner Losh wrote: > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D971bac5ace7a3c2262349fa2808188a= 11a5ffeed > > > > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed > > Author: Michael > > AuthorDate: 2023-07-07 02:32:45 +0000 > > Commit: Warner Losh > > CommitDate: 2023-07-07 05:10:18 +0000 > > > > kbd: consolidate kb interfaces (phase one) > > > > Refactor to eliminate duplicated rate and delay tables, with minor > style > > tweaks for changed lines. Remove an obsolete comment about needin= g > to > > convert from microseconds to ticks (that's done elsewhere). Remove > > traiing whitespace in kbdcontrol.c. > > > > Except for the new warning, no change in behavior > > > > Sponsored by: DSS GmbH > > Reviewed by: imp [minor style tweaks as well] > > Pull Request: https://github.com/freebsd/pull/683 > > Differential Revision: https://reviews.freebsd.org/D38818 > > --- > > sys/dev/adb/adb_kbd.c | 12 ++------- > > sys/dev/atkbdc/atkbd.c | 18 +++++--------- > > sys/dev/gpio/gpiokeys.c | 10 ++------ > > sys/dev/hid/hkbd.c | 10 ++------ > > sys/dev/kbdmux/kbdmux.c | 23 +++++------------ > > sys/dev/usb/input/ukbd.c | 10 ++------ > > sys/dev/vkbd/vkbd.c | 18 +++++--------- > > sys/sys/kbio.h | 7 ++++++ > > usr.sbin/kbdcontrol/kbdcontrol.c | 53 > +++++++++++++++++++++------------------- > > 9 files changed, 61 insertions(+), 100 deletions(-) > > After this change I started seeing following error building kbdcontrol: > > Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > static const int ndelays =3D nitems(kbdelays); > ^~~~~~~~ > ndelays > /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems' > #define nitems(x) (sizeof((x)) / sizeof((x)[0])) > ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays =3D nitems(kbdelays); > ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > static const int ndelays =3D nitems(kbdelays); > ^~~~~~~~ > ndelays > /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems' > #define nitems(x) (sizeof((x)) / sizeof((x)[0])) > ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays =3D nitems(kbdelays); > ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted > value is not an array, pointer, or vector > static const int ndelays =3D nitems(kbdelays); > ^~~~~~~~~~~~~~~~ > /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems' > #define nitems(x) (sizeof((x)) / sizeof((x)[0])) > ~~~^~ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > undeclared identifier 'kbrates' > static const int nrepeats =3D nitems(kbrates); > ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > undeclared identifier 'kbrates' > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > if (delay <=3D kbdelays[n]) > ^~~~~~~~ > ndelays > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays =3D nitems(kbdelays); > ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted > value is not an array, pointer, or vector > if (delay <=3D kbdelays[n]) > ~~~~~~~~^~ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of > undeclared identifier 'kbrates' > if (repeat <=3D kbrates[n]) > ^ > 8 errors generated. > *** Error code 1 > I haven't seen this. How do I recreate this? Does this happen on a clean build? Warner --000000000000a6fb7f0601835612 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Jul 27, 2023 at 5:48=E2=80=AF= AM Renato Botelho <garga@freebsd.or= g> wrote:
On 07/07/23 02:10, Warner Losh wrote:
> The branch main has been updated by imp:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3D971bac5ace7a3c2262349fa2808188a11a5ffeed<= /a>
>
> commit 971bac5ace7a3c2262349fa2808188a11a5ffeed
> Author:=C2=A0 =C2=A0 =C2=A0Michael <
git@paepcke.de>
> AuthorDate: 2023-07-07 02:32:45 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2023-07-07 05:10:18 +0000
>
>=C2=A0 =C2=A0 =C2=A0 kbd: consolidate kb interfaces (phase one)
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Refactor to eliminate duplicated rate and delay ta= bles, with minor style
>=C2=A0 =C2=A0 =C2=A0 tweaks for changed lines.=C2=A0 Remove an obsolete= comment about needing to
>=C2=A0 =C2=A0 =C2=A0 convert from microseconds to ticks (that's don= e elsewhere). Remove
>=C2=A0 =C2=A0 =C2=A0 traiing whitespace in kbdcontrol.c.
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Except for the new warning, no change in behavior<= br> >=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0DSS GmbH
>=C2=A0 =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 imp [minor style tweaks as well]
>=C2=A0 =C2=A0 =C2=A0 Pull Request:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0https://github.com/freebsd/pull/683
>=C2=A0 =C2=A0 =C2=A0 Differential Revision:=C2=A0 https://revi= ews.freebsd.org/D38818
> ---
>=C2=A0 =C2=A0sys/dev/adb/adb_kbd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 | 12 ++-------
>=C2=A0 =C2=A0sys/dev/atkbdc/atkbd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0| 18 +++++---------
>=C2=A0 =C2=A0sys/dev/gpio/gpiokeys.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = | 10 ++------
>=C2=A0 =C2=A0sys/dev/hid/hkbd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0| 10 ++------
>=C2=A0 =C2=A0sys/dev/kbdmux/kbdmux.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = | 23 +++++------------
>=C2=A0 =C2=A0sys/dev/usb/input/ukbd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= | 10 ++------
>=C2=A0 =C2=A0sys/dev/vkbd/vkbd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | 18 +++++---------
>=C2=A0 =C2=A0sys/sys/kbio.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 7 ++++++
>=C2=A0 =C2=A0usr.sbin/kbdcontrol/kbdcontrol.c | 53 ++++++++++++++++++++= +-------------------
>=C2=A0 =C2=A09 files changed, 61 insertions(+), 100 deletions(-)

After this change I started seeing following error building kbdcontrol:

Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of
undeclared identifier 'kbdelays'; did you mean 'ndelays'? static const int ndelays =3D nitems(kbdelays);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ndelays
/usr/include/sys/param.h:324:28: note: expanded from macro 'nitems'=
#define nitems(x)=C2=A0 =C2=A0 =C2=A0 =C2=A0(sizeof((x)) / sizeof((x)[0]))<= br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' declared here
static const int ndelays =3D nitems(kbdelays);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of
undeclared identifier 'kbdelays'; did you mean 'ndelays'? static const int ndelays =3D nitems(kbdelays);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ndelays
/usr/include/sys/param.h:324:42: note: expanded from macro 'nitems'=
#define nitems(x)=C2=A0 =C2=A0 =C2=A0 =C2=A0(sizeof((x)) / sizeof((x)[0]))<= br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 ^
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' declared here
static const int ndelays =3D nitems(kbdelays);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted
value is not an array, pointer, or vector
static const int ndelays =3D nitems(kbdelays);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~
/usr/include/sys/param.h:324:44: note: expanded from macro 'nitems'=
#define nitems(x)=C2=A0 =C2=A0 =C2=A0 =C2=A0(sizeof((x)) / sizeof((x)[0]))<= br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0~~~^~
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of
undeclared identifier 'kbrates'
static const int nrepeats =3D nitems(kbrates);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of
undeclared identifier 'kbrates'
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of
undeclared identifier 'kbdelays'; did you mean 'ndelays'? =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0if (delay <=3D kbdelays[n])
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ndelays
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' declared here
static const int ndelays =3D nitems(kbdelays);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted
value is not an array, pointer, or vector
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0if (delay <=3D kbdelays[n])
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ~~~~~~~~^~
/usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of
undeclared identifier 'kbrates'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0if (repeat <=3D kbrates[n])
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
8 errors generated.
*** Error code 1

I haven't seen thi= s. How do I recreate this? Does this happen on a clean build?

Warner
--000000000000a6fb7f0601835612-- From nobody Fri Jul 28 04:09:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBvK151tyz4phRM; Fri, 28 Jul 2023 04:09: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 4RBvK14XYKz3xth; Fri, 28 Jul 2023 04:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690517349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iKPqwtyyp83VmOqhuyr94+C9D9Zu71r/+0Ty4PgbGUM=; b=mlqFibrfT6ffYRupLhpDKVtZZ5TENbYz0RjhMEQ3NdQxvPvpE1aVH/j9ffVSTRYaSB43ek irP+7Tas7dr2PwjA5R0XifOxcsJJ6xWB0pFr7Yr4AL79zAZxbDfRk7HvZ+69UED2SbavIT u/o83PiD57DRtOy+LmTrN/SGFNQeLJ+QBarwqOF4P82qXvpJI/GBIz/iLdKxhzbHCKEsh7 sjeH4Wb7rHENFrx8lnRIMo0BldQidIn3bADdeYG0bm9lCvc9sEHGgvtU/wlsUwxZ/mDLfv dUui8ybm8m+uO41c9g3HN25n/fcfMIcot3Hn7hsZReDlH+jSCnQ+g16g/jU46A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690517349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iKPqwtyyp83VmOqhuyr94+C9D9Zu71r/+0Ty4PgbGUM=; b=dT/yKFzGhBGYoVAy5kOCCnd8aOSCFeaYds6Fm4xdFv9zaKgZnjiOXLubxHxt3o1c3DRfTW 5he6w9a3oWc242MzcSxjacu5cwR/klRqD88n4CW3+rOFAOrdx8adNM1uketzV2XSP3UD/M HybeBnsLU8RBmd4nBNnvqVTN42KH3vI1HfTvFxKXRUoLDNGsERRvfdl1O93azjGP6Re0Ra 2iVHOW/VPDcwwPzIRf7qayGwHIjcMpnedhep16W1ekhAkJRImaTsoo9yjxvtWUPX+tPL+S seCo8E0yb6zuT372Eg7nXFSbbbfvJOiUAWoNHA41ztZ9SqmjPzaBrj2J+fVfcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690517349; a=rsa-sha256; cv=none; b=YWI6GrVm1IUlf6QGezk1mtNp9wPVVKBxTn8K/3EikDsHMX4l4JB6US6ogP6FX14r2Di3BU ljbFwqEUwCV7KMF5PgFQzx78iDpKMZZ8bJKcGm/0E9kkxk6ib2cKODEdnj9V6jTz2UYpBL oroMASRQcorX+x8RZi81xrYIRPzK5am4x/kXQVqL9zoWaDoTmQ2yGBNHuDL1QWXrOw9TWe 1XQ1dWg6T3Re4hPZVOsfL8Pqm2PZc2KzpzzbEBfI4BumxxFq4w+LTBYrIJRfrh/Idirj26 PkXL5fjqjSEgi/85Fmim78qBoZ+sFwAdI5AUWS0H1y8Ix2sjRC3oalESaiQfbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBvK13LSBzcXl; Fri, 28 Jul 2023 04:09: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 36S499S8067328; Fri, 28 Jul 2023 04:09:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S499H5067327; Fri, 28 Jul 2023 04:09:09 GMT (envelope-from git) Date: Fri, 28 Jul 2023 04:09:09 GMT Message-Id: <202307280409.36S499H5067327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 8a6ab0f71f18 - main - Pre-quote macros passed to .incbin to avoid unwanted substitution List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8a6ab0f71f1857037233fae19991b972b430d83c Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=8a6ab0f71f1857037233fae19991b972b430d83c commit 8a6ab0f71f1857037233fae19991b972b430d83c Author: Jessica Clarke AuthorDate: 2023-07-28 04:08:43 +0000 Commit: Jessica Clarke CommitDate: 2023-07-28 04:08:43 +0000 Pre-quote macros passed to .incbin to avoid unwanted substitution Currently for the MFS, firmware and VDSO template assembly files we pass the path to include with .incbin unquoted and use __XSTRING within the assembly file to stringify it. However, __XSTRING doesn't just perform a single level of expansion, it performs the normal full expansion of the macro, and so if the path itself happens to tokenise to something that includes a defined macro in it that will itself be substituted. For example, with #define MACRO 1, a path like /path/containing/MACRO/in/it will expand to /path/containing/1/in/it and then, when stringified, end up as "/path/containing/1/in/it", not the intended string. Normally, macros have names that start or end witih underscores and are unlikely to appear in a tokenised path (even if technically they could), but now that we've switched to GNU C as of commit ec41a96daaa6 ("sys: Switch the kernel's C standard from C99 to GNU99.") there are a few new macros defined which don't start or end with underscores: unix, which is always defined to 1, and i386, which is defined to 1 on i386. The former probably doesn't appear in user paths in practice, but the latter has been seen to and is likely quite common in the wild. Fix this by defining the macro pre-quoted instead of using __XSTRING. Note that technically we don't need to do this for vdso_wrap.S today as all the paths passed to it are safe file names with no user-controlled prefix but we should do it anyway for consistency and robustness against future changes. This allows make tinderbox to pass when built with source and object directories inside ~/path-with-unix, which would otherwise expand to ~/path-with-1 and break. PR: 272744 Fixes: ec41a96daaa6 ("sys: Switch the kernel's C standard from C99 to GNU99.") --- sys/conf/kern.post.mk | 2 +- sys/conf/kern.pre.mk | 2 +- sys/conf/kmod.mk | 2 +- sys/dev/md/embedfs.S | 2 +- sys/kern/firmw.S | 2 +- sys/tools/amd64_ia32_vdso.sh | 2 +- sys/tools/amd64_vdso.sh | 2 +- sys/tools/vdso_wrap.S | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index 45df83e2d16b..5a9ac7ad2ed3 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -466,7 +466,7 @@ vnode_if_typedef.h: .if ${MFS_IMAGE:Uno} != "no" .if empty(MD_ROOT_SIZE_CONFIGURED) embedfs_${MFS_IMAGE:T:R}.o: ${MFS_IMAGE} $S/dev/md/embedfs.S - ${CC} ${CFLAGS} ${ACFLAGS} -DMFS_IMAGE="${MFS_IMAGE}" -c \ + ${CC} ${CFLAGS} ${ACFLAGS} -DMFS_IMAGE=\""${MFS_IMAGE}"\" -c \ $S/dev/md/embedfs.S -o ${.TARGET} .endif .endif diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 8314f4489ca8..33b7120144b8 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -200,7 +200,7 @@ NORMAL_M= ${AWK} -f $S/tools/makeobjops.awk ${.IMPSRC} -c ; \ NORMAL_FW= uudecode -o ${.TARGET} ${.ALLSRC} NORMAL_FWO= ${CC:N${CCACHE_BIN}} -c ${ASM_CFLAGS} ${WERROR} -o ${.TARGET} \ - $S/kern/firmw.S -DFIRMW_FILE="${.ALLSRC:M*.fw}" \ + $S/kern/firmw.S -DFIRMW_FILE=\""${.ALLSRC:M*.fw}"\" \ -DFIRMW_SYMBOL="${.ALLSRC:M*.fw:C/[-.\/]/_/g}" # for ZSTD in the kernel (include zstd/lib/freebsd before other CFLAGS) diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index be571c2bcf10..e706b73c3d32 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -210,7 +210,7 @@ ${_firmw:C/\:.*$/.fwo/:T}: ${_firmw:C/\:.*$//} ${SYSDIR}/kern/firmw.S @${ECHO} ${_firmw:C/\:.*$//} ${.ALLSRC:M*${_firmw:C/\:.*$//}} ${CC:N${CCACHE_BIN}} -c -x assembler-with-cpp -DLOCORE \ ${CFLAGS} ${WERROR} \ - -DFIRMW_FILE="${.ALLSRC:M*${_firmw:C/\:.*$//}}" \ + -DFIRMW_FILE=\""${.ALLSRC:M*${_firmw:C/\:.*$//}}"\" \ -DFIRMW_SYMBOL="${_firmw:C/\:.*$//:C/[-.\/@]/_/g}" \ ${SYSDIR}/kern/firmw.S -o ${.TARGET} diff --git a/sys/dev/md/embedfs.S b/sys/dev/md/embedfs.S index f7574631a0c6..94b21e51f86e 100644 --- a/sys/dev/md/embedfs.S +++ b/sys/dev/md/embedfs.S @@ -38,7 +38,7 @@ .globl mfs_root .type mfs_root, %object mfs_root: - .incbin __XSTRING(MFS_IMAGE) + .incbin MFS_IMAGE .size mfs_root, . - mfs_root .globl mfs_root_end .type mfs_root_end, %object diff --git a/sys/kern/firmw.S b/sys/kern/firmw.S index 7a4ca1e45808..64d614684df6 100644 --- a/sys/kern/firmw.S +++ b/sys/kern/firmw.S @@ -41,7 +41,7 @@ .globl FIRMW_START(FIRMW_SYMBOL) .type FIRMW_START(FIRMW_SYMBOL), %object FIRMW_START(FIRMW_SYMBOL): - .incbin __XSTRING(FIRMW_FILE) + .incbin FIRMW_FILE .size FIRMW_START(FIRMW_SYMBOL), . - FIRMW_START(FIRMW_SYMBOL) .globl FIRMW_END(FIRMW_SYMBOL) .type FIRMW_END(FIRMW_SYMBOL), %object diff --git a/sys/tools/amd64_ia32_vdso.sh b/sys/tools/amd64_ia32_vdso.sh index e64c964219c3..59923749042f 100644 --- a/sys/tools/amd64_ia32_vdso.sh +++ b/sys/tools/amd64_ia32_vdso.sh @@ -55,7 +55,7 @@ fi ${CC} ${DEBUG} -x assembler-with-cpp -DLOCORE -fPIC -nostdinc -c \ -o elf-vdso32.so.o -I. -I"${S}" -include opt_global.h \ - -DVDSO_NAME=elf_vdso32_so_1 -DVDSO_FILE=elf-vdso32.so.1 \ + -DVDSO_NAME=elf_vdso32_so_1 -DVDSO_FILE=\"elf-vdso32.so.1\" \ "${S}"/tools/vdso_wrap.S ${NM} -D elf-vdso32.so.1 | ${AWK} \ diff --git a/sys/tools/amd64_vdso.sh b/sys/tools/amd64_vdso.sh index 1a0203e3e0a4..aec0694ebdb1 100644 --- a/sys/tools/amd64_vdso.sh +++ b/sys/tools/amd64_vdso.sh @@ -64,7 +64,7 @@ fi ${CC} ${DEBUG} -x assembler-with-cpp -DLOCORE -fPIC -nostdinc -c \ -o elf-vdso.so.o -I. -I"${S}" -include opt_global.h \ - -DVDSO_NAME=elf_vdso_so_1 -DVDSO_FILE=elf-vdso.so.1 \ + -DVDSO_NAME=elf_vdso_so_1 -DVDSO_FILE=\"elf-vdso.so.1\" \ "${S}"/tools/vdso_wrap.S ${NM} -D elf-vdso.so.1 | \ diff --git a/sys/tools/vdso_wrap.S b/sys/tools/vdso_wrap.S index 807dcf9c06f4..5a815fd6f499 100644 --- a/sys/tools/vdso_wrap.S +++ b/sys/tools/vdso_wrap.S @@ -39,7 +39,7 @@ .type VDSO_BLOB_START(VDSO_NAME), %object .size VDSO_BLOB_START(VDSO_NAME), 0 VDSO_BLOB_START(VDSO_NAME): - .incbin __XSTRING(VDSO_FILE) + .incbin VDSO_FILE .globl VDSO_BLOB_END(VDSO_NAME) .type VDSO_BLOB_END(VDSO_NAME), %object .size VDSO_BLOB_END(VDSO_NAME), 0 From nobody Fri Jul 28 04:31:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBvpy6pWmz4p21S; Fri, 28 Jul 2023 04:31: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 4RBvpp73pPz47Ms; Fri, 28 Jul 2023 04: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=1690518691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kKWXMUYAlyj3QZVllKt/imhCOvfGxMrASmNuNFO5l00=; b=eBom6VkMyOl6/8h6ssDV9ZX1wQUOy/aSLAiKczOuTSMf6DYiNnIVG9o5p0QVdtQ9DKL+OO AXXuo7QBKWRpSPXYN8YldCGdTMFVTPDA/bdQE9SWnAd1WiYV8Qr/+ssOm/iGX1djA03JaZ mesmBgwfj3UUIkXetAz2DmH6/y/5547xvXfzkasV/TCik8k8RAOdTSk3IkX6TDTzaujyK9 vc0NetyKr30C+KfHi8n+0Giuq0VIYpHC3TjI64EUdHhcQK1V9S/58swPLZAneaXPgjZi28 J1aTXAmF6xgwHkXDz6xDgAL0LCedGIUpbnItUV9hvqtG2Q9RFNwJdKiBpHYAaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690518691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kKWXMUYAlyj3QZVllKt/imhCOvfGxMrASmNuNFO5l00=; b=NrOg36BtYgF+cfpqyDsQNIpSkGvJm4Na1I4DkZ7+7Vsum4EfAs8td16AWiyDtc6PPDJsTa lVs64QDgGrYKj7zzFXl8BnU1XfHmV4M/GwODCyF+7yd+zLtrgWT5d+7QEhdLSpFLinkH3H Nmh63a1FA2CjK+mXYw59vgDgW4BWqNUNh1OtnZCMPIoH3nANWBMN7MI+q2jOPsa0SlGpT5 LsOM23AVMNphyEQV2bmhDqVRchXNEQak4yUODzGHYkJOlkbqI00B5X5pOug5T1A8kJVI5B Lo/cuJG2NgzLFYeFS1Pa+PBt5QNq9QmjrXZSLhBKHX86Nn5odXobq8QHUoUEhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690518691; a=rsa-sha256; cv=none; b=b93MR2nok9/70ulAt/R9InocjBlltsZKIurX63f2RbsSDfrke3ijilbNAXzJn/gpePvw32 fJoGY3yieBPyFoc1BQ75gsNk0Ub+0L2ErE5faZenYkuM//17N5FEwzgbmYBj9LlJurH4Pp kKjCfw7UA8dlF2T8Wt782zhL6oCHT6VdMRfSm1EJUNbW65e4i3IYyyjILeDJzQ5zmmjz/l ycEeAWdPXvgXlp3xNvUs6YXBRfqO2Ob8i6+dFeLwWgQkQHycS8kGWDLfl2hTAvZ5A0Onm2 3rAk1QciyqrmNpuvYxB1D1Z1TFcAlFBO8xv4fRaSguIzoRZw/nDWPyAdoWW2SQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBvpp5gFJzcr6; Fri, 28 Jul 2023 04: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 36S4VU0V012108; Fri, 28 Jul 2023 04: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 36S4VU1b012107; Fri, 28 Jul 2023 04:31:30 GMT (envelope-from git) Date: Fri, 28 Jul 2023 04:31:30 GMT Message-Id: <202307280431.36S4VU1b012107@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: 98d03dca9ac8 - main - universe: Demote armv6 to an extra architecture. List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98d03dca9ac8e3eb5857c72768e200e2bb0c3800 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=98d03dca9ac8e3eb5857c72768e200e2bb0c3800 commit 98d03dca9ac8e3eb5857c72768e200e2bb0c3800 Author: Warner Losh AuthorDate: 2023-07-28 04:21:44 +0000 Commit: Warner Losh CommitDate: 2023-07-28 04:30:41 +0000 universe: Demote armv6 to an extra architecture. Per discussions over how to lighten the load of armv6, move it to an extra arch. You can still build TARGET_ARCH=armv6 if you desire, but it won't be built as part of 'make universe' without -DEXTRA_TARGETS. Sponsored by: Netflix --- Makefile | 3 +++ share/mk/sys.machine.mk | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 699f003bf7df..36aa23db1f53 100644 --- a/Makefile +++ b/Makefile @@ -536,6 +536,9 @@ worlds: .PHONY # Don't build rarely used, semi-supported architectures unless requested. # .if defined(EXTRA_TARGETS) +# armv6's importance has waned enough to make building it the exception rather +# than the rule. +EXTRA_ARCHES_arm= armv6 # powerpcspe excluded from main list until clang fixed EXTRA_ARCHES_powerpc= powerpcspe .endif diff --git a/share/mk/sys.machine.mk b/share/mk/sys.machine.mk index 445aaa4b62fd..716dd17d5cce 100644 --- a/share/mk/sys.machine.mk +++ b/share/mk/sys.machine.mk @@ -6,7 +6,7 @@ TARGET_MACHINE_LIST?= amd64 arm arm64 i386 powerpc riscv MACHINE_ARCH_host?= ${_HOST_ARCH} -MACHINE_ARCH_LIST_arm?= armv6 armv7 +MACHINE_ARCH_LIST_arm?= armv7 ${EXTRA_ARCHES_arm} MACHINE_ARCH_LIST_arm64?= aarch64 MACHINE_ARCH_LIST_powerpc?= powerpc powerpc64 powerpc64le ${EXTRA_ARCHES_powerpc} MACHINE_ARCH_LIST_riscv?= riscv64 From nobody Fri Jul 28 04:31:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBvpy6jFMz4p2K0; Fri, 28 Jul 2023 04:31: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 4RBvpn5rRFz47BM; Fri, 28 Jul 2023 04: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=1690518689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jk+NS8IIEvK0446WzLubOqTR9+eTWwFLTP42wFBdxK0=; b=uoButdqPD3EuAql2n2MqvErv4Mt/JmJ7TpNPJ90ydFKMGFwqf4/4dB0+o12n3IIm+mYkDy ujRTdMjCBzc/ZuGawOI5DfrHk9K+AkVDsIBiL936tnMtgfp7knYf9v7f59BbHVE3cWRFlK TLSZzjM6UbRLE8Ar0EUbdRQlFCeupr0gGLGQ4BYPNmHhzLISpAuXq3F6iCqfGUcZqDl/LF bA+KMBxUacG4hI0+AnlLLvMEXSGiFYYeBn+tpH++eLdsUXhrG/K/2CNpjGZZKLzB0m3MRh YUcDyBNAOJoOFIbNh6TpazO4F3lsnrSMSAB4STNbI38BccfQEX5W38p0h/WzUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690518689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jk+NS8IIEvK0446WzLubOqTR9+eTWwFLTP42wFBdxK0=; b=DPYp1550i5lVQ5MWv9ue+wZML+mYn9mbM6ltXcL9Z4LB6PefA9W9MiCsnsNq0z7y47Lnl1 Zg8Q8s+iVN4zpDF1OtLP8pC4Ufgg/sau/NG9FjwNPWn+Cw3wn/qZo6EJk+tVTVbb2GlKIW 9VuHmzprXTtFgEgIPOx1GiDUqPbg3eUFZfNGvhl+B2ntAJpyE0o6NWLWKTSkM4E7KmqZyS V8Cno8VEBbGBROWbFt/cUOBuS3yfQgkmpZ4+L1wFYs7JB8JwHavWuvDv7e3KB1f//jrfV4 ii10NXiB6VkqIrvYYw/4TMkz7+Xx5epGm5L+NWYVr2C64P69dRjLuTU3VQw/Xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690518689; a=rsa-sha256; cv=none; b=uPdoa7MtrcjLXJsD2sy5EBgSyeNr3OAIINLCwAooBqEZ5qFE++Xap6AIRxgLzhKafqNEJm XzWG0O0kS3kq1aVV3KUhbpAMc9y7Rie7RX8rVL+nzggms2YuXczoPUI8s9cUF348eglF20 Xr9oHDwxdjzZiS6Ul6/G8gmkyuMzpZbntPuCf1gLsRVjqJ8yFQP3RXR1vyQ4M7RE+gHa3Y EGzaE28wH7Cgq5bVYigjkz7LH/Z97X+uo/TbjtdWvtUnw+p1FnheHPQ2MefQG6Fv62VS3q foWcWUNl3V3V+W55eKzM3itzvqXmSoMmsipiEahCIcG9NBu6NYnkjWv36lZeYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBvpn4mF8zcsc; Fri, 28 Jul 2023 04: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 36S4VTG0012089; Fri, 28 Jul 2023 04: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 36S4VTuV012088; Fri, 28 Jul 2023 04:31:29 GMT (envelope-from git) Date: Fri, 28 Jul 2023 04:31:29 GMT Message-Id: <202307280431.36S4VTuV012088@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: 7872131605f6 - main - cam: Fail 2/0 asc/ascq return 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: 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7872131605f65d3e1cc651ba7113a9214013787a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7872131605f65d3e1cc651ba7113a9214013787a commit 7872131605f65d3e1cc651ba7113a9214013787a Author: Warner Losh AuthorDate: 2023-07-27 22:05:29 +0000 Commit: Warner Losh CommitDate: 2023-07-28 04:28:01 +0000 cam: Fail 2/0 asc/ascq return code This asc/ascq code 2/0 ("No seek complete") is a fatal error on modern drives indicating a sensor failure. One of our vendors noticed we retried 2/0 so many times in their failure analysis and asked why (no other OS else does). They've indicated that this failures means the track couldn't be located (something that's not going to change, except if the environment changes significantly, which won't happen on a timescale useful to retries). Sponsored by: Netflix --- sys/cam/scsi/scsi_all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index d7b0a208c10d..e0079dd8ff88 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -1082,7 +1082,7 @@ static struct asc_table_entry asc_table[] = { { SST(0x01, 0x00, SS_RDEF, "No index/sector signal") }, /* D WRO BK */ - { SST(0x02, 0x00, SS_RDEF, + { SST(0x02, 0x00, SS_FATAL | EIO, "No seek complete") }, /* DTL W O BK */ { SST(0x03, 0x00, SS_RDEF, From nobody Fri Jul 28 07:57:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC0P21V9Gz4ppb3; Fri, 28 Jul 2023 07:57: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 4RC0P20yYCz4JN5; Fri, 28 Jul 2023 07:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690531078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KU+GhgTbq127zgxrltMnbh7PhFgfoO9WAzHVd7DNtVk=; b=mN526FtR3I88yEONY3SssUeRqIbcthxHUuvaNOgkitJzanRZB7WREA2pRTp+ARkM+auzW9 iOG+x5flba1CuxaIYrrth3ckETOj+0teYYtQu6R6E7x/eUIMUwg+VIQXYu4Qxnr+4pkh2y nw9v8IcfQfxfcbz2MuCdVEr3hMasud+XNcQFLlYwgCJWr/zItLng1Xye5h0JXEx2AkZLMU AaSc6XkRDT5CXNDJSEk2q7QBEt62K22v8hGfF7Ba1BtKs2mLr3pTK+CsBpeEmBKM1zKIJR jHCiAt7wDhPsouJxv6cRXyhVCE/WVFPMGygDGl/fmTatbi8l7kPTSP3sNCAioQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690531078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KU+GhgTbq127zgxrltMnbh7PhFgfoO9WAzHVd7DNtVk=; b=b4jamHzkMx+iJL3PvN8Lx5hIZ1wP4CDA9MNL3rqUucSlEffbPs2h4XVVfjxNeqR/FmzDSo 9Jn9P0g9HtodzHl1mAOx4AgA/UwUn50BhupueQAkylk8wlYNIre46Yc3F0NOHF8wAW3mJl mjsqv1c6JBB9L3fTetbASTklpw82k8cLFoBeUDPv3IL5W/ThXHAF+h1TtxYNuoRNLzSvyf vI628dDBiWh6EnMHa8pGVM4z0hiMRVu+QdW0XMurugWukuApkJGZDOsoVMW8wo32kc1KGF esNYIZmWwJUIveO2zBfDOF3uN9cpyAzjkZoRAXH90Pk4FTFBf1pRldm8xzQZhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690531078; a=rsa-sha256; cv=none; b=BGBCofL4TFIfoRVdg2CcDxV+vxG71529G3JN4E8uEVTfKFGl6ONcF22cRlSlUrm7xwHOQY TrStY+Z35roAadQmpuGGp2iMelimQBVuW56FVfTmrrBdKHH5LnaXq5hXP7+fpKbZlxTOZz XyCTuht78cmnhlyIosZLYIV4Cko1zRHJsX0HRS/63+hPYh1r/MnQ6AA+FWOy+HYQ3K62LH 4rb88wGdSCh7oSPiunYM5IEb4TcV4fF2n9ByFFdiFm8/wiP4CpFrf/dGj0+eMVtZeOkhDV e9RAAU+kuyhrFRlI7r4MhHBKTs855I6/74BQQkpeHCF2bmMeM3c8/Yw86FJxXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC0P202nyzjwn; Fri, 28 Jul 2023 07:57: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 36S7vvSF046634; Fri, 28 Jul 2023 07:57:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S7vvlK046633; Fri, 28 Jul 2023 07:57:57 GMT (envelope-from git) Date: Fri, 28 Jul 2023 07:57:57 GMT Message-Id: <202307280757.36S7vvlK046633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Graham Perrin Subject: git: e583c798d935 - stable/13 - gpart(8): slices are out of context for GPT List-Id: Commit messages for all branches 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: grahamperrin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e583c798d93502752bd8d72da62beca5b3e342e4 Auto-Submitted: auto-generated The branch stable/13 has been updated by grahamperrin: URL: https://cgit.FreeBSD.org/src/commit/?id=e583c798d93502752bd8d72da62beca5b3e342e4 commit e583c798d93502752bd8d72da62beca5b3e342e4 Author: Graham Perrin AuthorDate: 2023-07-07 22:05:46 +0000 Commit: Graham Perrin CommitDate: 2023-07-28 07:53:36 +0000 gpart(8): slices are out of context for GPT Correct the GPT example. Creation of a partition leaves free the rest of the device (not the slice). Approved-by: imp Fixes: ae1b731b5df0 Rewrite the GPT and MBR examples. For GPT, ensure that the boot partition is large enough for gptzfsboot, which has doubled in size since 10. MFC after: 1 week Pull-request: https://github.com/freebsd/freebsd-src/pull/795 (cherry picked from commit 3541d90836c0dde9734ea776f2b2b6c4ed8fd7f4) --- lib/geom/part/gpart.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index ffb048e9abf5..832f53d1bfc6 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 26, 2022 +.Dd July 7, 2023 .Dt GPART 8 .Os .Sh NAME @@ -1396,7 +1396,7 @@ sizes of up to 256 kB. .Pp Finally, we create and format an 8 GB .Cm freebsd-ufs -partition for the root filesystem, leaving the rest of the slice free +partition for the root filesystem, leaving the rest of the device free for additional filesystems: .Bd -literal -offset indent /sbin/gpart add -s 8G -t freebsd-ufs ada0 From nobody Fri Jul 28 08:17:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC0ql1PQWz4q72T; Fri, 28 Jul 2023 08:17: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 4RC0ql0yW8z3C9M; Fri, 28 Jul 2023 08:17:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690532259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JSs1Tq/icdMImEvAlx2oB52nrgTP5h2iozFAQFNR1Ms=; b=Xg5FWq/huIrTtOWU+y/NsADax2bUdoRbdL2o30RoBujilcmEB3TGR4+NW2MJ5RbziL6Bwa ykILdBdfOHjnpnZlwvxb96kMXmr1dEkcQyXcr8xEYVIyK+LR/WfUlgPHrDwBCAtOasJuqX kderAGbRiPB5zspFQKnr/A9XH29NMiPYhMgdFEQZycUB0f4VwpSiHVBqLNdj77m5dddKgi 3uxlFwX3L/4T4Dd+khJI7MLhx0VMyZS5H8AzeoCWaTxPewve30KEvjxDJcmjraKS22A5JJ hLWsEvaI+nGDTlG6Pp8GM2gQYb+KJiuHhkrDgdjg/b4NVz8SH8sD/IBEcYxvzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690532259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JSs1Tq/icdMImEvAlx2oB52nrgTP5h2iozFAQFNR1Ms=; b=xRZrR+yV05Nnd8DfkAhpS2Qgfq6pCjh1qjGbrNrGiXQTHjQR/s1PKnapnL+LYlc3cR0JU6 Kw1Z11NNAYBcxZ8ZNvEx8SQGFG71RDMz5Rf0tJgVSeidnQBY7XtPzgo0mHgDmrkMHTQ2HY z0NB/TDuSXzV4XAlnf5HlYikIK8066+OloTXscN+9T0ZnxMCJFhYGzZ+A6tfUQE7ldWqFw jxIEURTm1i3BPtTIP522l/8lK6t9pa4oVeDofsujKgXFThRQf/8mh+Qm0oBjU/GYUnC141 9ihSiQYUE/EdYX0Rdduq8h+VT04gRAtlr7aeCeq/3su5ml30LeBmPfwQ9f6x+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690532259; a=rsa-sha256; cv=none; b=Em/ZNiEYk4OFRVuzXoXhBGSBEfDa2LtBhJvG8hPvp+kfN5G1IfvR+gsiu8tfcOAZpIWaT1 6SQt2bghWcHyOd+E5JHv1tjJDhjjAJkKHNnLsUQdNCcTuxp/FH9ZkGFbyv3VUrbURPZ3OX reGge6G6HlHdWNCvxYcNZW0swTxydNhC0Ac1OhQ0kqPGPx6PDnlUX2cb3oIy86wuxYGZJc Le1NbSnxhE6KO/E2g9dGsHHTuB3P4PgbTGzGxleNK3pL/eANZd6In0rs/sLfHbjIp5oRNu n4SGrh9QUJcdfxYaLDxudcOPFsc4eUBMWk0lLo0v5V7bqapzQj6krq2ja1hSeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC0ql02HRzkPR; Fri, 28 Jul 2023 08:17: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 36S8Hc14080636; Fri, 28 Jul 2023 08:17:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S8Hc92080635; Fri, 28 Jul 2023 08:17:38 GMT (envelope-from git) Date: Fri, 28 Jul 2023 08:17:38 GMT Message-Id: <202307280817.36S8Hc92080635@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Graham Perrin Subject: git: 542497245dca - stable/13 - hwpmc(4): instead of manual edition, use sysrc(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: 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: grahamperrin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 542497245dca46237700a34aeab9e0de40fea6a6 Auto-Submitted: auto-generated The branch stable/13 has been updated by grahamperrin: URL: https://cgit.FreeBSD.org/src/commit/?id=542497245dca46237700a34aeab9e0de40fea6a6 commit 542497245dca46237700a34aeab9e0de40fea6a6 Author: Graham Perrin AuthorDate: 2023-07-08 06:24:18 +0000 Commit: Graham Perrin CommitDate: 2023-07-28 08:14:49 +0000 hwpmc(4): instead of manual edition, use sysrc(8) Exemplifying safe use of sysrc(8) has become commonplace in documentation such as the FreeBSD Handbook. Encourage its use. Consistency: 'the driver' (not 'this driver'). Co-authored-by: Mina Galić Reviewed-by: imp, Mina Galić Approved by: imp MFC after: 3 days Pull-request: https://github.com/freebsd/freebsd-src/pull/785 (cherry picked from commit 666c54d12ec941e1fa3741f28ba19223ec4d2c81) --- share/man/man4/hwpmc.4 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/share/man/man4/hwpmc.4 b/share/man/man4/hwpmc.4 index bf9cb5e9e5e3..a15ca1451628 100644 --- a/share/man/man4/hwpmc.4 +++ b/share/man/man4/hwpmc.4 @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 16, 2023 +.Dd July 8, 2023 .Dt HWPMC 4 .Os .Sh NAME @@ -47,14 +47,12 @@ Additionally, for i386 systems: .Cd "device apic" .Ed .Pp -To load the driver as a module at boot time, place the -following line in -.Xr rc.conf 5 : +To load the driver as a module at boot time: .Bd -literal -offset indent -kld_list="${kld_list} hwpmc" +sysrc kld_list+=hwpmc .Ed .Pp -Alternatively, to compile this driver into the kernel: +Alternatively, to compile the driver into the kernel: .Bd -ragged -offset indent .Cd "device hwpmc" .Ed From nobody Fri Jul 28 08:54:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC1fJ1xWlz4pSCw; Fri, 28 Jul 2023 08:54: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 4RC1fJ1W39z3hYw; Fri, 28 Jul 2023 08:54:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690534472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PKMb4ogc0QAhz3CWEKeV/iX2YBCIYismLKisZN8Y248=; b=SCcScEpMw501dqBtYcnLTYE01szX58PJaNLxjFd0YR3KDmnuwCzfiMnFwf+yGXOfAZihTZ gTjbhnTJV6i8KbXUniFJKZce+H0B8XAgYTrHxAYyyf+U3QAprzx+X8hujgZmpOvBlzpCBP n1H+iRO5fBjjZfDuoplMN7OxSsQEn/G0tJ81jyNVtQD1ODI8Mnvv1qR7PlfPXm6gtKpPZ7 55Dv3YCBm4gJH92VG55aEDNRUTiZIVZa8SIYtMD0daK874MyqQYHv+1XCLg/WSmQxEIwfb +VmAcOxRVXwvDduBY6SfdHMhKVc5sv1zk43HAYN7K+U1x/i1F9dxCXotdyt+BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690534472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PKMb4ogc0QAhz3CWEKeV/iX2YBCIYismLKisZN8Y248=; b=hCiDETpDrfjaeDeIMw2u45x7ZlDrCYqJVQmC49WW/mynf7SxgBpab1/V4zhEbRfNqGiSeC 0JjxmYEE8llL58q0GNZDYIvoLZWgUS+YDPsdh23oTxGxOy8ueHh/34gJ/BAI8OXwOddGx0 bUUFGdylQwhwP+gSMM5BQwb9qSi/rIn11N2WTajZlrQOFhBdxuhTPHr03XpMO4ufKE/QRO 3aYkHs0QQ+huWS3fxlNmAgmflDhYMhgl2DeA+U/yXjPpk9VhmwuJlfxRmJqDfo9L+mUNrd bq2mxD5w6fDy9yADnSyfIiDkXAr3ifck2D9wQKc6aeYqIIIQ09l6MmIbFFBfAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690534472; a=rsa-sha256; cv=none; b=v8NVQGL+MY4C0O6a92myH1ILedB7SWnSaJw+C4xm/dPSSpUyfApQjlxfGpyl2u4diuJohX I8q/7g6UFL+a7IJ3FfIDG+/uB/QajzaMLDWPPJPI1HFgHX4HkROUW23yr6AMHLEWSfTWPi pwiVg0nvMe6FNh36SjOtq7We5TSxihfewuDY3dRcYVqtQNJkyQa27ohUq6O6j0svf2zX9f 3bPJp7pKCzEyEQWD5jduUsevmAVJzOLXuqFAii+0LhR1exaVUnHP0ykyF3VCcRHW1y3eYg JaHGr10P9DprGeE+CSBmlthT0PIOJRCTcgyUAr+wMLF3EravExaBynn4bk0IuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC1fJ0TdNzlYM; Fri, 28 Jul 2023 08:54: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 36S8sVTj045762; Fri, 28 Jul 2023 08:54:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S8sVcV045761; Fri, 28 Jul 2023 08:54:31 GMT (envelope-from git) Date: Fri, 28 Jul 2023 08:54:31 GMT Message-Id: <202307280854.36S8sVcV045761@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 03eab865aaba - main - man: Link _Fork(2) man page List-Id: Commit messages for all branches 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: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03eab865aabab1e6737ad0fd1537f7d0a8c3ee02 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=03eab865aabab1e6737ad0fd1537f7d0a8c3ee02 commit 03eab865aabab1e6737ad0fd1537f7d0a8c3ee02 Author: Dmitry Chagin AuthorDate: 2023-07-28 08:54:20 +0000 Commit: Dmitry Chagin CommitDate: 2023-07-28 08:54:20 +0000 man: Link _Fork(2) man page Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D41221 MFC after: 1 week --- lib/libc/sys/Makefile.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index 86b3d296f561..82250f82f405 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -407,6 +407,7 @@ MLINKS+=ffclock.2 ffclock_getcounter.2 \ ffclock.2 ffclock_setestimate.2 MLINKS+=fhlink.2 fhlinkat.2 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 +MLINKS+=fork.2 _Fork.2 MLINKS+=fsync.2 fdatasync.2 MLINKS+=getdirentries.2 getdents.2 MLINKS+=getfh.2 lgetfh.2 \ From nobody Fri Jul 28 08:55:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC1gm5zLfz4pTFr; Fri, 28 Jul 2023 08:55: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 4RC1gm5JVQz3jCs; Fri, 28 Jul 2023 08:55:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690534548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZBwd/tx76bxU8nRruhjA0Ly2KqBaamdLkhCl+ZZ2h00=; b=eDPQSiJHZIKBHurG8urmXV4OoCbiIjCABrD2PdJrsLAeIfRBa83zYifWipa9UL3lv89LV+ HriHmDJTDYxkPEs1GTzb1rqzCs5ArqkTRvHgp97rZuXTORsFVSdZROwScIFQRq9UEfXGUV ESvCe+hqQNpKd3FB3iQJgCrm+SHQaQmhtSEYRVK0DZmBn0DVh9LZb/6SepCePBkGsFAGvM LXyOq9LomeVjwLnNsE8T0XDI2/34tjzqiUSCB+02pSHyOYvb4xz7aAtMsotdZnrTC3iyy1 3uGGpWq/fG7GUPf+NDRjghsRlTmVPVnwfMeGOyCFXDtB0qkMEzLMkwJgiitn9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690534548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZBwd/tx76bxU8nRruhjA0Ly2KqBaamdLkhCl+ZZ2h00=; b=mdQsUsHFPKqMFHZWPGSEKqhxyRAdpLtpDLj3snwypcF8lAT9rsS67Y3T40NjNgBOY/h9c7 cRRcCxVkksb07hymqIJbXBLSHP199JIQye+zuQ06i84xo7Q9zCCY1kRuawcPqK7EIKhwvr PHF4a3aAi9IzXtx5lLikM5lyuddGLsL+dOaUk3KkgNTxGrQCu4Bg+xktI71ERi6JGmOlbf rg2M9DmCRrSyi6h2kqJsP5lwdkPY1A9tct0dJi8Jv5qkb0W1DU/DdEoG+O1qsJ3iFPGwxq J4DgPWJwHE2P084xlQdEixyhurNuZKBb3LojyBbJ5IAHJZu5Q3Q7y10dpqg+XA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690534548; a=rsa-sha256; cv=none; b=Ku3OnwbeRYCgarAFNt7zjrVYVawWvZU0ZWv7TdtRvSRSv2gWtd16ANKNKdkk5wh2/1W1S0 WEiw0IZ39qKsP33HA2t9J2X+ILlMr7IAoyZVhJyuuIPIgZAcub2eRadTEd8usjcpry5vs8 7F1MdKssOIJWo87mmqRWINXT7eYLa1fzT/R4YLgAKj7N4s8fWmj4h/tnqyqjmsmI0YyBMq wtTLaN+b9onlqad7wrQqNL7S3uFU6E3DZ7HvtA8mLolZSyNKNSQSPMLhRv0w5v30KnD+IL 7Q5f/no80WaoS0P1VpaM/2Xx0ctDd+b8wqSCXQzLEzlSYJ8eG6zkTwXyXNCcwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC1gm4PgRzlYN; Fri, 28 Jul 2023 08:55: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 36S8tm3p046097; Fri, 28 Jul 2023 08:55:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S8tmGe046096; Fri, 28 Jul 2023 08:55:48 GMT (envelope-from git) Date: Fri, 28 Jul 2023 08:55:48 GMT Message-Id: <202307280855.36S8tmGe046096@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 5440e7017a98 - main - i386: Don't use static DPCPU and VNET defines in i386 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: 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: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5440e7017a985276d4a46d482a76128e5b739f56 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=5440e7017a985276d4a46d482a76128e5b739f56 commit 5440e7017a985276d4a46d482a76128e5b739f56 Author: Dmitry Chagin AuthorDate: 2023-07-28 08:55:31 +0000 Commit: Dmitry Chagin CommitDate: 2023-07-28 08:55:31 +0000 i386: Don't use static DPCPU and VNET defines in i386 modules As of c84617e8 a similar to 4802a2cb and b6ea4c5a fix should be applied to i386 too. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41195 --- sys/net/vnet.h | 2 +- sys/sys/pcpu.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/vnet.h b/sys/net/vnet.h index 7eb68ef7410f..0c40c9445aa1 100644 --- a/sys/net/vnet.h +++ b/sys/net/vnet.h @@ -281,7 +281,7 @@ extern struct sx vnet_sxlock; #define VNET_DEFINE(t, n) \ struct _hack; t VNET_NAME(n) __section(VNET_SETNAME) __used #if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv) \ - || defined(__powerpc64__)) + || defined(__powerpc64__) || defined(__i386__)) /* * As with DPCPU_DEFINE_STATIC we are unable to mark this data as static * in modules on some architectures. diff --git a/sys/sys/pcpu.h b/sys/sys/pcpu.h index 9ac4144d3267..070506ca8711 100644 --- a/sys/sys/pcpu.h +++ b/sys/sys/pcpu.h @@ -86,7 +86,7 @@ extern uintptr_t dpcpu_off[]; #define DPCPU_DEFINE(t, n) \ struct _hack; t DPCPU_NAME(n) __section(DPCPU_SETNAME) __used #if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv) \ - || defined(__powerpc64__)) + || defined(__powerpc64__) || defined(__i386__)) /* * On some architectures the compiler will use PC-relative load to * find the address of DPCPU data with the static keyword. We then From nobody Fri Jul 28 08:57:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC1jh0zRtz4pVK7; Fri, 28 Jul 2023 08:57: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 4RC1jY4CQ5z3jsD; Fri, 28 Jul 2023 08:57:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690534641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kb5n6JDZJledVjCo7LzCIR3x+PE0ozUdezo4AdrO10o=; b=I10Yw+XzHGb0q57CQwuvan2GpG7QiZmnLEiLN+YR386oIsA5rNxJgm0eEIf8oofDhvH4wR dya46pf0jO49gdOKspmZxiQaVeH/FVL3kHWxqSNF+i/kG0tOHCqhpLzXI4Ve+OFwahj4OA R5NBhfcopouR5kAQKqsSmtIlYdO2fuTfVF38ujXVn+SZfjkO2nMnuSZQKkLudTR/ULRW6T b6SFH4weka4jxGlCzC9g25dXp5LpGj0XD8OlWOCZ7UMeO+7sjg66D3KxZmR9FKJpeaKn6B 8gvZpkAzDmbWV0hXqdvCrLBhCzdymhcnyLqifvqMpCtBWlURxak7uzgZGKv/uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690534641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kb5n6JDZJledVjCo7LzCIR3x+PE0ozUdezo4AdrO10o=; b=P7hthjE5lhivyGtZsRICedvZEAzWeqhU5VYlLJgbViBuUwIgkSaw0EDGfTycgPThCiKCKJ dUkjhHoTKLTzsMnvBH9UoUNxZAbq2fxV8K6Ge46OqRdTO+RepMg12bd0CM399IRFQ0lqoG CRJTIdtSsFezjJyHE1TGFE2tx7GR98p/Z6BrIA1IaGCMd4Os9STzWnFQu+jh7a22qt13bq wJmupDyS6xjuzHCLL0JHNiwR4CCoYS9J45F1oz0oqckSOvHXYOs8RNwcPxfUs6j/VOTm9G Up6Im0lfIA0kpCzKq/OKZKzojKrGcX4Iwb+xCmmpKTrhBvwjPzbVTy6nE3GqIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690534641; a=rsa-sha256; cv=none; b=d6MIJH2JHd8bGLDy9fbIno/gPl0xQBt6g1YLdQukc8jok3RS4wQYv4OfMoDozfLTJ4dIeA tuT9zu+VzpiH1xcFdVw0aYhIPmlld1cqM8cGgjZHg8Wg6OqsudW++UI5ex+FFjtst5xHNP KDxjv8PgBQzzuJVrL5rCTK2zMC6ErZdZE0OenQRagp7I1frojMTu5KRY49bsL4ZRWTTfDI TnR+r7oD7w1BzrERHXC07ybfCWW7irU4fkC3i0Unu4Dx7fi9rmrhLax8EC/8/iPyUpAehv Szm/2rFMuMe1uDGw9B3iIgATK6r/ev/Z9gMqUsLq9pU0fdrBuS+9y5YPIxG6uQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC1jY2W62zlKL; Fri, 28 Jul 2023 08:57: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 36S8vKXG046388; Fri, 28 Jul 2023 08:57:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S8vK73046387; Fri, 28 Jul 2023 08:57:20 GMT (envelope-from git) Date: Fri, 28 Jul 2023 08:57:20 GMT Message-Id: <202307280857.36S8vK73046387@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 4281dab8bc11 - main - linux(4): Add elf_hwcap2 to x86 List-Id: Commit messages for all branches 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: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4281dab8bc11b3b2f3b58be5e0f67806329bddae Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=4281dab8bc11b3b2f3b58be5e0f67806329bddae commit 4281dab8bc11b3b2f3b58be5e0f67806329bddae Author: Dmitry Chagin AuthorDate: 2023-07-28 08:56:59 +0000 Commit: Dmitry Chagin CommitDate: 2023-07-28 08:56:59 +0000 linux(4): Add elf_hwcap2 to x86 On x86 Linux via AT_HWCAP2 the user controlled (by tunables) processor capabilities are exposed. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41165 MFC after: 2 weeks --- sys/amd64/linux/linux_sysvec.c | 2 +- sys/amd64/linux32/linux32_sysvec.c | 2 +- sys/i386/linux/linux.h | 2 +- sys/i386/linux/linux_sysvec.c | 1 + sys/x86/linux/linux_x86.c | 18 +++++++++++++++++- sys/x86/linux/linux_x86.h | 6 ++++++ 6 files changed, 27 insertions(+), 4 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index ba4aff6f0c15..0f67282419b9 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -233,7 +233,7 @@ linux64_arch_copyout_auxargs(struct image_params *imgp, Elf_Auxinfo **pos) AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO_EHDR, linux_vdso_base); AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP, cpu_feature); - AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, 0); + AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, linux_x86_elf_hwcap2()); AUXARGS_ENTRY((*pos), LINUX_AT_PLATFORM, PTROUT(linux_platform)); } diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index e51ae68a229d..42161c029409 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -146,7 +146,7 @@ linux32_arch_copyout_auxargs(struct image_params *imgp, Elf_Auxinfo **pos) AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO, __kernel_vsyscall); AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO_EHDR, linux_vdso_base); AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP, cpu_feature); - AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, 0); + AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, linux_x86_elf_hwcap2()); AUXARGS_ENTRY((*pos), LINUX_AT_PLATFORM, PTROUT(linux_platform)); } diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 94c5e67cf3e7..58c152f4a039 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -94,7 +94,7 @@ typedef struct { /* * Miscellaneous */ -#define LINUX_AT_COUNT 21 /* Count of used aux entry types. +#define LINUX_AT_COUNT 22 /* Count of used aux entry types. * Keep this synchronized with * linux_copyout_auxargs() code. */ diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index ab6eaa97075d..e226151764f7 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -145,6 +145,7 @@ linux32_arch_copyout_auxargs(struct image_params *imgp, Elf_Auxinfo **pos) AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO_EHDR, linux_vdso_base); AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO, __kernel_vsyscall); AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP, cpu_feature); + AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, linux_x86_elf_hwcap2()); AUXARGS_ENTRY((*pos), LINUX_AT_PLATFORM, PTROUT(linux_platform)); } diff --git a/sys/x86/linux/linux_x86.c b/sys/x86/linux/linux_x86.c index 34ae66ec4954..c72102d9f426 100644 --- a/sys/x86/linux/linux_x86.c +++ b/sys/x86/linux/linux_x86.c @@ -31,7 +31,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include +#include #include @@ -96,4 +98,18 @@ bsd_to_linux_trapcode(int code) return (code < nitems(_bsd_to_linux_trapcode) ? _bsd_to_linux_trapcode[code] : LINUX_T_UNKNOWN); -} \ No newline at end of file +} + +u_int +linux_x86_elf_hwcap2(void) +{ + static u_int elf_hwcap2 = 0; + static bool elf_hwcap2_valid = false; + + if (!elf_hwcap2_valid) { + if ((cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0) + elf_hwcap2 |= LINUX_HWCAP2_FSGSBASE; + elf_hwcap2_valid = true; + } + return (elf_hwcap2); +} diff --git a/sys/x86/linux/linux_x86.h b/sys/x86/linux/linux_x86.h index 2763b60f1649..5ce0852d9a18 100644 --- a/sys/x86/linux/linux_x86.h +++ b/sys/x86/linux/linux_x86.h @@ -32,10 +32,16 @@ #define LINUX_VDSO_CPU_RDPID 1 #define LINUX_VDSO_CPU_RDTSCP 2 +/* More machine dependent hints about processor capabilities. */ +#define LINUX_HWCAP2_RING3MWAIT 0x00000001 +#define LINUX_HWCAP2_FSGSBASE 0x00000002 + int linux_vdso_tsc_selector_idx(void); int linux_vdso_cpu_selector_idx(void); int linux_translate_traps(int, int); int bsd_to_linux_trapcode(int); +u_int linux_x86_elf_hwcap2(void); + #endif /* _X86_INCLUDE_LINUX_LINUX_X86_H_ */ From nobody Fri Jul 28 09:10:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC2152FFQz4pcN6; Fri, 28 Jul 2023 09:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RC2151bckz3mrW; Fri, 28 Jul 2023 09:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690535449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdJqXALNKuwhTSjXmGcORWidFV3qVk5dhWv6V5QhrTg=; b=JeIK347BzHkRNU7s4Xwx5F33/TTns1liiAN+N+nhBWNy7Jrcua4Ep3fg5iRd64DueeMX55 vFXQA1/BagaIw+q4oA5Jn5zWfndNvmkaeNwz/yqVA3O7CJYfz77OWt7ynXKjikqJD97/P7 TExrdsyDoHoO/FJ/UiFhlJ52QCvmlDBcPCgtyWXd4aa9oTLA93nPlSoEFJddECav917nYU X74liqDFAMTtDEvOciuxAIcLxppyL8JCzP+LrUeegpD0vOvZwVTf3W8HIvbBdwxZKLrTTm /Axt32B7gnKUK6E0TRvwSUOGJbDnyYcnGBrkxyZd4dIdMo4pSoWHU20EfNdMgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690535449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdJqXALNKuwhTSjXmGcORWidFV3qVk5dhWv6V5QhrTg=; b=o+lk60myJ3lvFUQLBAAUfzS0ysjsmQExkVD93NbBR8vzXx73862V7fS0p9T/QScW0h7atk IS7rC3sQzdfW78hDwz0U2YY/6UtUdwdKVyXl19vD8V4TUX2bUIJKtXXOCbzsMjTCkAgNl5 +5tfqrNBxLAzKa2XCEISpVoUDyvE09qvuxBiWaSsajimvdD7sdOSV9NgxHngwYX/5O+Jhr 44TNJyUdYOGTBL/QUx3Rkd0jTQMw2qASa8aCgV7JeDbwbBe4BKjOJsYOppnVELKGnPBlzC bnT616vhJSS75LxAry8mb5uOhjaeKP82mhVoPWuGiOhLYdSou+CuyOVcDMFyzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690535449; a=rsa-sha256; cv=none; b=pzQVZ4JAWjbjRHKrNCuC0q/D0i4d6m7m3BkMyyus3aVJ+IQu122YDemsdyxWokawgIt0xA xSDFmKUV0TpbXibUhSVUcMFyl6uNct1eiDyY0l4+SFV3yO4gUnijpM+5OUYPv7WMYXlliz ElkXMssvwr+/H70N3N2mTbuN03teS2obb/MKquPBP+BLDpAA0vSi8/KHHEVgDD8OYuqTza PPzhjOIhP+9nDZganOpfOjCSAhxyvHiCoUecmQ25GPPllHv1vlaU14y02bUC9bbHnps1jO TSPp/ykGSEGnwujSvbfdqLvOC3VYSbHzAWo082vQNK2UJHJ+U/uPbY9g+3ICUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC2150ZcNzlNs; Fri, 28 Jul 2023 09:10: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 36S9Am92073019; Fri, 28 Jul 2023 09:10:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S9Am5C073018; Fri, 28 Jul 2023 09:10:48 GMT (envelope-from git) Date: Fri, 28 Jul 2023 09:10:48 GMT Message-Id: <202307280910.36S9Am5C073018@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: df1ea5887326 - main - tests: Test libexecinfo backtrace call througth signal trampoline List-Id: Commit messages for all branches 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: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df1ea5887326103f0cc1445ab42fce528b474030 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=df1ea5887326103f0cc1445ab42fce528b474030 commit df1ea5887326103f0cc1445ab42fce528b474030 Author: Dmitry Chagin AuthorDate: 2023-07-28 09:10:27 +0000 Commit: Dmitry Chagin CommitDate: 2023-07-28 09:10:27 +0000 tests: Test libexecinfo backtrace call througth signal trampoline It should fails on Aarch64 until https://reviews.llvm.org/D155066 is not merged. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41129 --- lib/libexecinfo/tests/Makefile | 3 ++ lib/libexecinfo/tests/sigtramp_test.c | 75 +++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/lib/libexecinfo/tests/Makefile b/lib/libexecinfo/tests/Makefile index da34964c5005..7b90029fe354 100644 --- a/lib/libexecinfo/tests/Makefile +++ b/lib/libexecinfo/tests/Makefile @@ -14,7 +14,10 @@ STRIP= # so that doesn't seem useful. NETBSD_ATF_TESTS_C+= backtrace_test +ATF_TESTS_C+= sigtramp_test + LIBADD.backtrace_test+= execinfo +LIBADD.sigtramp_test+= execinfo .include diff --git a/lib/libexecinfo/tests/sigtramp_test.c b/lib/libexecinfo/tests/sigtramp_test.c new file mode 100644 index 000000000000..cd3b3cc418de --- /dev/null +++ b/lib/libexecinfo/tests/sigtramp_test.c @@ -0,0 +1,75 @@ +/*- + * Copyright (c) 2023 Dmitry Chagin + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#include +#include +#include +#include +#include + +#include + +#define BT_FUNCTIONS 10 + +void handler(int); + +__noinline void +handler(int signum __unused) +{ + void *addresses[BT_FUNCTIONS]; + char **symbols; + size_t n, i, match; + + n = backtrace(addresses, nitems(addresses)); + ATF_REQUIRE(n > 1); + symbols = backtrace_symbols(addresses, n); + ATF_REQUIRE(symbols != NULL); + + match = -1; + for (i = 0; i < n; i++) { + printf("%zu: %p, %s\n", i, addresses[i], symbols[i]); + if (strstr(symbols[i], " 0); + printf("match at %zu, symbols %zu\n", match, n); + +} + +ATF_TC_WITHOUT_HEAD(test_backtrace_sigtramp); +ATF_TC_BODY(test_backtrace_sigtramp, tc) +{ + struct sigaction act; + pid_t child; + int status; + + memset(&act, 0, sizeof(act)); + act.sa_handler = handler; + sigemptyset(&act.sa_mask); + sigaction(SIGUSR1, &act, NULL); + + child = fork(); + ATF_REQUIRE(child != -1); + + if (child == 0) { + kill(getppid(), SIGUSR1); + _exit(0); + } else + wait(&status); +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, test_backtrace_sigtramp); + + return (atf_no_error()); +} From nobody Fri Jul 28 09:44:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC2m15FBXz4p7Lc; Fri, 28 Jul 2023 09:44: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 4RC2m14qKMz41lV; Fri, 28 Jul 2023 09:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690537473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2mgp8o1zBJwPfLw8rJItC3aQvy3mzv6oS1LrZB/jGxM=; b=I7R404pf2Fv9RFrUS3RPwDfxoMmRPFtcIi4Sm90IwIyXyWY/py0II8sOxq4TxI4WRf9w08 gomhksGI7scrCi+EPFHtmRPAXhYS4S1tW3TcGqQ5NPNnQHp6q+OWacAp6J1UBGfxk+L8Ex D42992RYLOulIXHZEbbXQyn4q1IIpanli2IZ5rXa/QGEskLEEODp1h/dbM29RWgWTWkbuQ U32rb5L/PD7Oyht1CudmIKxrG+0jUeiUTGnl3RUmjeYPoi+z3Crgr6ixckY96qtb/BY7i6 ewyth4y0AQGkNBAyL2EPnDjZbd28l3oCm1F1soKtPi8fRLIpw6MLPWCveKUy4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690537473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2mgp8o1zBJwPfLw8rJItC3aQvy3mzv6oS1LrZB/jGxM=; b=TM6XfIghn5BdRrCA8AcbSUpqIvdUenPb0EWtB81Y4r33LbP5lCpetd93zxCHRlFAHzEPXO U8yC4mOdbKaxCnDtn015ERgTmIfca3OHv0IsTSUflUXwG9bajOngygxo0lKincIk5Xp4i2 H7QGHrz+qLCdWITXBgDTiXE2UlMAh2rtC+Sp9BXrI7qbus6tWF/OqCeM2L3QYk8ODdx3tb SQZWboQ0Cyv2H4NgnnyCpL+EqQeFzUMa1+d7BdNTK5WerLKdpkwQDnlErXyqxOkxMT4joo N39JkJCz+XUViZmbwlW9A87kmKUuitefwXVR2lewHCkeLWwCjw71fftSRebCLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690537473; a=rsa-sha256; cv=none; b=nGkh4u5q3sZ/i25IMXEMyM6pUsgp6AJMBL9tlz+2NX0Mx5B8fVNwOQQRhAVzcmH8L3UHAX CO4ufsLLd2eO9KSKuYIRX9tnDwrFEqCeLA7trbzBR6wLXpPffW7XseHSmui8SbshEokK+o Gw4+XP2AIyRW5OtVpj+oBRYlazKKE4jJWBL9g6iaQNh+HXqtPkq+x1TkrURr+k8fnsTxYN 4frriXBghSLmvl61N4vb56ceSTz+yk5hDbxV6pq7HA09gEi0Athn4LdQbFI8kdbZwZxDvL ARYZmYE2JkeH+KlvePSwUT9Vu3Rjz7YHAIQqy31PlUbBUuO7QBE7YQRUa0UnBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC2m13tXKzmmd; Fri, 28 Jul 2023 09:44: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 36S9iXVu029494; Fri, 28 Jul 2023 09:44:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36S9iXnJ029493; Fri, 28 Jul 2023 09:44:33 GMT (envelope-from git) Date: Fri, 28 Jul 2023 09:44:33 GMT Message-Id: <202307280944.36S9iXnJ029493@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: 680ad06f90bf - main - mroute: avoid calling if_allmulti with the lock held List-Id: Commit messages for all branches 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: 680ad06f90bf3c9728e1352475915547665b0b96 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=680ad06f90bf3c9728e1352475915547665b0b96 commit 680ad06f90bf3c9728e1352475915547665b0b96 Author: Kristof Provost AuthorDate: 2023-07-27 06:03:25 +0000 Commit: Kristof Provost CommitDate: 2023-07-28 09:32:39 +0000 mroute: avoid calling if_allmulti with the lock held Avoid locking issues when if_allmulti() calls the driver's if_ioctl, because that may acquire sleepable locks (while we hold a non-sleepable rwlock). Fortunately there's no pressing need to hold the mroute lock while we do this, so we can postpone the call slightly, until after we've released the lock. This avoids the following WITNESS warning (with iflib drivers): lock order reversal: (sleepable after non-sleepable) 1st 0xffffffff82f64960 IPv4 multicast forwarding (IPv4 multicast forwarding, rw) @ /usr/src/sys/netinet/ip_mroute.c:1050 2nd 0xfffff8000480f180 iflib ctx lock (iflib ctx lock, sx) @ /usr/src/sys/net/iflib.c:4525 lock order IPv4 multicast forwarding -> iflib ctx lock attempted at: #0 0xffffffff80bbd6ce at witness_checkorder+0xbbe #1 0xffffffff80b56d10 at _sx_xlock+0x60 #2 0xffffffff80c9ce5c at iflib_if_ioctl+0x2dc #3 0xffffffff80c7c395 at if_setflag+0xe5 #4 0xffffffff82f60a0e at del_vif_locked+0x9e #5 0xffffffff82f5f0d5 at X_ip_mrouter_set+0x265 #6 0xffffffff80bfd402 at sosetopt+0xc2 #7 0xffffffff80c02105 at kern_setsockopt+0xa5 #8 0xffffffff80c02054 at sys_setsockopt+0x24 #9 0xffffffff81046be8 at amd64_syscall+0x138 #10 0xffffffff8101930b at fast_syscall_common+0xf8 See also: https://redmine.pfsense.org/issues/12079 Reviewed by: mjg Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D41209 --- sys/netinet/ip_mroute.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index ac5e1c5f09c6..124a8cd394cb 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -317,7 +317,7 @@ static void bw_upcalls_send(void); static int del_bw_upcall(struct bw_upcall *); static int del_mfc(struct mfcctl2 *); static int del_vif(vifi_t); -static int del_vif_locked(vifi_t, struct ifnet **); +static int del_vif_locked(vifi_t, struct ifnet **, struct ifnet **); static void expire_bw_upcalls_send(void *); static void expire_mfc(struct mfc *); static void expire_upcalls(void *); @@ -618,7 +618,7 @@ if_detached_event(void *arg __unused, struct ifnet *ifp) { vifi_t vifi; u_long i, vifi_cnt = 0; - struct ifnet *free_ptr; + struct ifnet *free_ptr, *multi_leave; MRW_WLOCK(); @@ -635,6 +635,7 @@ if_detached_event(void *arg __unused, struct ifnet *ifp) * 3. Expire any matching multicast forwarding cache entries. * 4. Free vif state. This should disable ALLMULTI on the interface. */ +restart: for (vifi = 0; vifi < V_numvifs; vifi++) { if (V_viftable[vifi].v_ifp != ifp) continue; @@ -647,9 +648,15 @@ if_detached_event(void *arg __unused, struct ifnet *ifp) } } } - del_vif_locked(vifi, &free_ptr); + del_vif_locked(vifi, &multi_leave, &free_ptr); if (free_ptr != NULL) vifi_cnt++; + if (multi_leave) { + MRW_WUNLOCK(); + if_allmulti(multi_leave, 0); + MRW_WLOCK(); + goto restart; + } } MRW_WUNLOCK(); @@ -998,11 +1005,12 @@ add_vif(struct vifctl *vifcp) * Delete a vif from the vif table */ static int -del_vif_locked(vifi_t vifi, struct ifnet **ifp_free) +del_vif_locked(vifi_t vifi, struct ifnet **ifp_multi_leave, struct ifnet **ifp_free) { struct vif *vifp; *ifp_free = NULL; + *ifp_multi_leave = NULL; MRW_WLOCK_ASSERT(); @@ -1015,7 +1023,7 @@ del_vif_locked(vifi_t vifi, struct ifnet **ifp_free) } if (!(vifp->v_flags & (VIFF_TUNNEL | VIFF_REGISTER))) - if_allmulti(vifp->v_ifp, 0); + *ifp_multi_leave = vifp->v_ifp; if (vifp->v_flags & VIFF_REGISTER) { V_reg_vif_num = VIFI_INVALID; @@ -1045,14 +1053,17 @@ static int del_vif(vifi_t vifi) { int cc; - struct ifnet *free_ptr; + struct ifnet *free_ptr, *multi_leave; MRW_WLOCK(); - cc = del_vif_locked(vifi, &free_ptr); + cc = del_vif_locked(vifi, &multi_leave, &free_ptr); MRW_WUNLOCK(); - if (free_ptr) + if (multi_leave) + if_allmulti(multi_leave, 0); + if (free_ptr) { if_free(free_ptr); + } return cc; } From nobody Fri Jul 28 11:09:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC4fb4cZYz4p79w; Fri, 28 Jul 2023 11:09:59 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.3 with cipher TLS_AES_256_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 4RC4fZ3cm1z3NFd; Fri, 28 Jul 2023 11:09:58 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of dchagin@heemeyer.club has no SPF policy when checking 195.93.173.158) smtp.mailfrom=dchagin@heemeyer.club; dmarc=none Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.2/8.16.1) with ESMTP id 36SB9ohU000826; Fri, 28 Jul 2023 14:09:50 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.2/8.16.1/Submit) id 36SB9oWC000825; Fri, 28 Jul 2023 14:09:50 +0300 (MSK) (envelope-from dchagin) Date: Fri, 28 Jul 2023 14:09:50 +0300 From: Dmitry Chagin To: Jessica Clarke Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 87177389b75d - main - bsd.lib.mk: Automatically generate libcompat TAGS Message-ID: References: <202307270411.36R4BwXG097599@gitrepo.freebsd.org> List-Id: Commit messages for all branches 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=us-ascii Content-Disposition: inline In-Reply-To: <202307270411.36R4BwXG097599@gitrepo.freebsd.org> X-Spamd-Result: default: False [-1.80 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; AUTH_NA(1.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; FORGED_SENDER(0.30)[dchagin@freebsd.org,dchagin@heemeyer.club]; MIME_GOOD(-0.10)[text/plain]; BLOCKLISTDE_FAIL(0.00)[195.93.173.158:server fail]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; R_DKIM_NA(0.00)[]; R_SPF_NA(0.00)[no SPF record]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FREEFALL_USER(0.00)[dchagin]; ARC_NA(0.00)[]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[dchagin@freebsd.org,dchagin@heemeyer.club] X-Rspamd-Queue-Id: 4RC4fZ3cm1z3NFd X-Spamd-Bar: - On Thu, Jul 27, 2023 at 04:11:58AM +0000, Jessica Clarke wrote: > The branch main has been updated by jrtc27: > > URL: https://cgit.FreeBSD.org/src/commit/?id=87177389b75d93618faa9a64ec29c16b53f09129 > > commit 87177389b75d93618faa9a64ec29c16b53f09129 > Author: Jessica Clarke > AuthorDate: 2023-07-27 04:10:46 +0000 > Commit: Jessica Clarke > CommitDate: 2023-07-27 04:10:46 +0000 > > bsd.lib.mk: Automatically generate libcompat TAGS > > Note that the pattern for matching is made slightly more specific, so as > to permit libcompats where one is a prefix of another (e.g. CheriBSD has > lib64 and lib64c). > > Reviewed by: brooks, jhb, emaste > Differential Revision: https://reviews.freebsd.org/D41185 > --- > share/mk/bsd.lib.mk | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk > index a58114af43c4..4e653a7bcb20 100644 > --- a/share/mk/bsd.lib.mk > +++ b/share/mk/bsd.lib.mk > @@ -5,6 +5,7 @@ > .include > .include > .include > +.include > Hi, Jess, it seems bsd.compat.pre.mk is not installed during install dchagin@mordor:~/wait/vm/tst/dso % make make: "/usr/share/mk/bsd.lib.mk" line 8: Could not find bsd.compat.pre.mk make: Fatal errors encountered -- cannot continue make: stopped in /home/dchagin/wait/vm/tst/dso > ____: > > @@ -64,9 +65,11 @@ CTFFLAGS+= -g > STRIP?= -s > .endif > > -.if ${SHLIBDIR:M*lib32*} > -TAGS+= lib32 > +.for _libcompat in ${_ALL_libcompats} > +.if ${SHLIBDIR:M*/lib${_libcompat}} || ${SHLIBDIR:M*/lib${_libcompat}/*} > +TAGS+= lib${_libcompat} > .endif > +.endfor > > .if defined(NO_ROOT) > .if !defined(TAGS) || ! ${TAGS:Mpackage=*} From nobody Fri Jul 28 11:44:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5QG3bCzz4pf9T; Fri, 28 Jul 2023 11:44:22 +0000 (UTC) (envelope-from garga@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 4RC5QF75n5z3rt8; Fri, 28 Jul 2023 11:44:21 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690544662; 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=jiPCWyYiCDS3aYdYpt6NXtxewLodB4Eb8PjHCAzFgdo=; b=wfPCnWJ1TUOfE0BvQee7Z8+77cut6xx+sp0Rf4jygwqsF3jk7YWsNbXmrGtdW1jPIXhvIy V9PSr9cQLnbEbbWLlniP1XsBLT83ZvcYVi/jYC/nY44lMPzNerfAPeBNwNmlCmXi/L6RUI +ZCXvcMjR7KCcOaFAqcO9ikgMsifDafLKay5LkNTRPYviujirE553ugmXD1SfI3EJbM+v0 e24nZ+V1lVa9iO4vy27IVXEttD5x87x306LODKIcDRkoSUt1WO22KIXu/hJDCQA5Dr51JD ql3gdHv5wYH3fVJiBZjPoAgpW+djzoeChhS3ABxi9b+jWG4rL8XXNHgxZgyGqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690544662; 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=jiPCWyYiCDS3aYdYpt6NXtxewLodB4Eb8PjHCAzFgdo=; b=d94F/sMoQfWm85lRFtYk1wp6JX4S0u5P+6BVNwFPJ9pd2u0RYrOzvEeNxB1Vr/og4mSZb/ Jv1oeqNZ9fSD5UAAvBE+s2nD5odT0IGlqCDEy+0p4uoI2LV5VKT+TXYrInqlYz5F/aJCVi h+IjkvsmOhM43q6A60pqgy/yKAjHyVGJkFk9nb+00wKDldZBoXdcARUrwMZMGK2/1XlM2R fjfOINTKamE/qVFP5aOaZHk7fk2uhrD+e6hyQPGFGi7iO78zJZC1lHkrD995KvT//5KZq8 3RguKaRJaZr8y+Ev5Lgvw98sylJ5TOXQLFl9ZcCVp0BconcgsOSOjfMadDxDDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690544662; a=rsa-sha256; cv=none; b=BB55r3+tWV0+kY5WhBlKGt/9Ueo6/695Xriuj5dkMhcKQHmm9dDzNl71iS/V/zQR7Urgk0 Jj4AEdDQbnrFh+zRfvyHxFO2Zk3+d9AHVtHUa7GVq8rsnCNrjSGpSKJRoGdPEaaqNdxUxI /Sz7d+IkjGfvxA+7I9pMHYjImmlGzJd+vRVg2v0ywS0UrFqaH34l7k5k692fLlm1eNv4Wp jpxeIU0x4DDnE2H6XweyjXLccLlZXwVr2J+P0hlCqsbdCzxxpQ1htw+YPjaLrjTj0BCixW DSAzEEEactyWRu69qihWJe3yqpGaxt9NE9oyRWKLMRQbVcpc5Q7iF8UYbM7Acw== Received: from [172.21.4.170] (dynamic-177-53-82-16.telecominternet.net.br [177.53.82.16]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RC5QF0fdgz13HR; Fri, 28 Jul 2023 11:44:20 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <8c6abf32-40cf-db61-11d8-5f88dcb0d7a0@FreeBSD.org> Date: Fri, 28 Jul 2023 08:44:19 -0300 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) Content-Language: en-US To: Warner Losh Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> From: Renato Botelho In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 28/07/23 00:04, Warner Losh wrote: > > > On Thu, Jul 27, 2023 at 5:48 AM Renato Botelho > wrote: > > On 07/07/23 02:10, Warner Losh wrote: > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=971bac5ace7a3c2262349fa2808188a11a5ffeed > > > > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed > > Author:     Michael > > > AuthorDate: 2023-07-07 02:32:45 +0000 > > Commit:     Warner Losh > > CommitDate: 2023-07-07 05:10:18 +0000 > > > >      kbd: consolidate kb interfaces (phase one) > > > >      Refactor to eliminate duplicated rate and delay tables, with > minor style > >      tweaks for changed lines.  Remove an obsolete comment about > needing to > >      convert from microseconds to ticks (that's done elsewhere). > Remove > >      traiing whitespace in kbdcontrol.c. > > > >      Except for the new warning, no change in behavior > > > >      Sponsored by:           DSS GmbH > >      Reviewed by:            imp [minor style tweaks as well] > >      Pull Request: https://github.com/freebsd/pull/683 > > >      Differential Revision: https://reviews.freebsd.org/D38818 > > > --- > >   sys/dev/adb/adb_kbd.c            | 12 ++------- > >   sys/dev/atkbdc/atkbd.c           | 18 +++++--------- > >   sys/dev/gpio/gpiokeys.c          | 10 ++------ > >   sys/dev/hid/hkbd.c               | 10 ++------ > >   sys/dev/kbdmux/kbdmux.c          | 23 +++++------------ > >   sys/dev/usb/input/ukbd.c         | 10 ++------ > >   sys/dev/vkbd/vkbd.c              | 18 +++++--------- > >   sys/sys/kbio.h                   |  7 ++++++ > >   usr.sbin/kbdcontrol/kbdcontrol.c | 53 > +++++++++++++++++++++------------------- > >   9 files changed, 61 insertions(+), 100 deletions(-) > > After this change I started seeing following error building kbdcontrol: > > Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > static const int ndelays = nitems(kbdelays); >                                    ^~~~~~~~ >                                    ndelays > /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems' > #define nitems(x)       (sizeof((x)) / sizeof((x)[0])) >                                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays = nitems(kbdelays); >                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > static const int ndelays = nitems(kbdelays); >                                    ^~~~~~~~ >                                    ndelays > /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems' > #define nitems(x)       (sizeof((x)) / sizeof((x)[0])) >                                                 ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays = nitems(kbdelays); >                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted > value is not an array, pointer, or vector > static const int ndelays = nitems(kbdelays); >                             ^~~~~~~~~~~~~~~~ > /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems' > #define nitems(x)       (sizeof((x)) / sizeof((x)[0])) >                                                ~~~^~ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > undeclared identifier 'kbrates' > static const int nrepeats = nitems(kbrates); >                                     ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > undeclared identifier 'kbrates' > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? >                          if (delay <= kbdelays[n]) >                                       ^~~~~~~~ >                                       ndelays > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays = nitems(kbdelays); >                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted > value is not an array, pointer, or vector >                          if (delay <= kbdelays[n]) >                                       ~~~~~~~~^~ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of > undeclared identifier 'kbrates' >                          if (repeat <= kbrates[n]) >                                        ^ > 8 errors generated. > *** Error code 1 > > > I haven't seen this. How do I recreate this? Does this happen on a clean > build? I completely removed /usr/obj, went to /usr/src/usr.sbin/kbdcontrol and tried to build it with and without META_MODE. It failed on both. Running system is 14.0-CURRENT #0 main-2f11df633: Wed Apr 5 -- Renato Botelho From nobody Fri Jul 28 12:07:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xW4sQBz4pyRb; Fri, 28 Jul 2023 12:07: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 4RC5xW397mz42ZW; Fri, 28 Jul 2023 12:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I08XhyU0mBN3ign3V3k4/ZZeXp3xFVM5tLrnRpIFrZo=; b=rqIXn8oF/yh37artWTr+lvnv3oizCPXT16eI3cwdFj3spYRRWGDmtGjMFZeCsYRWLnKJSD p4BAThKoPxvy1S4ua4Q/JXxhM96n5tZQY/XCw6c4ESSpNUf6StwaNzn+fXXLyGmNitWPGT Df6s0NFOc8jF92Lrv84OBt0CTcZsCKodtAiI42rSrYoJW1tCmvQ4aOT94gdKBnw74kRhLu SZV0Lvu3awTPwHQofU7RttxsTofbpYexcbqJyXgL1F1chlXV+pccyxNYcOl93QXkTq5/Mt 21YYVPmET585mkRozh8hTxxrT7tH7/LQQm+miVhNQdTcw0EMEbnXj8R+GaD19g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I08XhyU0mBN3ign3V3k4/ZZeXp3xFVM5tLrnRpIFrZo=; b=DkofyF/UkKJgybv1d+H1N0GqbsqhH1SczbQHXAxvXOKAaZzOiUM9CyaD8EHvma8wJnHU7L FLfyOjdZPwVGqaaYUbhay2ziyOWWA3b+TrgO4kYqcZrEypzU5SsIyecZhZgwDWpmG8V/Kq C+xnVV/n6M2VnFYV+LIVAvd7xVw0tvRKLCg6b9hpq/bHokXU3hnDsgyx3o8dDqB2lWsvpQ 9/NGsRUrf86h6kXU899ouMNeAyePFxjG/wj99F+mRLcHXk7ZbuwqLtEU8Ok1m4GeCwKpJQ Bry34y8kAgtM+bZdqXg5Vud7zr0pVFKJ3+ARUyCRU4fIf3kJNCCN7xN2/tG5XQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546079; a=rsa-sha256; cv=none; b=eqRE1keGMJFqCtokm1LFd2knV0cXYTqHPFLXb2d9wezsJgRU9DZoruQKEzzbuudqpAsBcH hexfGX9mdYbpqzt9avtsuPBZHn91ob7RlLbW9Q/yZqeyOgV3OKGIJ8MhjMSenbKO2SpUA4 2dYYsd3+V6bg59M0Gr8X+GXpsP+Sir1Sc4ILa9sNRAPYDTlJBsI9FfuqcAEb0axge2aLWD Q6ZQeMsbLEb/uN1ZjO4WNEma51XPtZ1MupTs6znWOYUlEF83CBbHipnBnOv7Jjclaz3etf Hu+20vhJz/KpkOOIc74gBZUBu+Oj0xiP9V7djNN9y3PRUnlly5xsXw1wwokf1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xW2BgDzqxM; Fri, 28 Jul 2023 12:07: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 36SC7xAU062015; Fri, 28 Jul 2023 12:07:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC7xNU062014; Fri, 28 Jul 2023 12:07:59 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:07:59 GMT Message-Id: <202307281207.36SC7xNU062014@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: 6fd44e5f5309 - main - arm64: Update the ID_AA64DFR0_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 6fd44e5f530935a26f58637594ac22719324fb12 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6fd44e5f530935a26f58637594ac22719324fb12 commit 6fd44e5f530935a26f58637594ac22719324fb12 Author: Andrew Turner AuthorDate: 2023-03-13 09:17:32 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:01 +0000 arm64: Update the ID_AA64DFR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40887 --- sys/arm64/arm64/identcpu.c | 44 ++++++++++++++++++++++++++++++++++++++------ sys/arm64/include/armreg.h | 44 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 76 insertions(+), 12 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index bbb3e2d1484b..fc75eec05129 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -365,6 +365,28 @@ static const struct mrs_field id_aa64afr1_fields[] = { /* ID_AA64DFR0_EL1 */ +static const struct mrs_field_value id_aa64dfr0_hpmn0[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, HPMN0, CONSTR, DEFINED), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64dfr0_brbe[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, BRBE, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64DFR0_BRBE_EL3, "BRBE EL3"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64dfr0_mtpmu[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, MTPMU, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64DFR0_MTPMU_NONE_MT_RES0, "MTPMU res0"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64dfr0_tracebuffer[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, TraceBuffer, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64dfr0_tracefilt[] = { MRS_FIELD_VALUE(ID_AA64DFR0_TraceFilt_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_TraceFilt_8_4, "Trace v8.4"), @@ -380,7 +402,9 @@ static const struct mrs_field_value id_aa64dfr0_doublelock[] = { static const struct mrs_field_value id_aa64dfr0_pmsver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE, "SPE"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_8_3, "SPE v8.3"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_1_1, "SPEv1p1"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_1_2, "SPEv1p2"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_1_3, "SPEv1p3"), MRS_FIELD_VALUE_END, }; @@ -402,9 +426,11 @@ static const struct mrs_field_value id_aa64dfr0_brps[] = { static const struct mrs_field_value id_aa64dfr0_pmuver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3, "PMUv3"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_1, "PMUv3 v8.1"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_4, "PMUv3 v8.4"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_5, "PMUv3 v8.5"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_1, "PMUv3p1"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_4, "PMUv3p4"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_5, "PMUv3p5"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_7, "PMUv3p7"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_8, "PMUv3p8"), MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_IMPL, "IMPL PMU"), MRS_FIELD_VALUE_END, }; @@ -418,12 +444,18 @@ static const struct mrs_field_value id_aa64dfr0_tracever[] = { static const struct mrs_field_value id_aa64dfr0_debugver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8, "Debugv8"), MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_VHE, "Debugv8_VHE"), - MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_2, "Debugv8.2"), - MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_4, "Debugv8.4"), + MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_2, "Debugv8p2"), + MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_4, "Debugv8p4"), + MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_8, "Debugv8p8"), MRS_FIELD_VALUE_END, }; static const struct mrs_field id_aa64dfr0_fields[] = { + MRS_FIELD(ID_AA64DFR0, HPMN0, false, MRS_EXACT, id_aa64dfr0_hpmn0), + MRS_FIELD(ID_AA64DFR0, BRBE, false, MRS_EXACT, id_aa64dfr0_brbe), + MRS_FIELD(ID_AA64DFR0, MTPMU, true, MRS_EXACT, id_aa64dfr0_mtpmu), + MRS_FIELD(ID_AA64DFR0, TraceBuffer, false, MRS_EXACT, + id_aa64dfr0_tracebuffer), MRS_FIELD(ID_AA64DFR0, TraceFilt, false, MRS_EXACT, id_aa64dfr0_tracefilt), MRS_FIELD(ID_AA64DFR0, DoubleLock, false, MRS_EXACT, diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index f20b7a8c710e..15346bcce8ab 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -473,11 +473,11 @@ /* ID_AA64DFR0_EL1 */ #define ID_AA64DFR0_EL1 MRS_REG(ID_AA64DFR0_EL1) -#define ID_AA64DFR0_EL1_op0 0x3 -#define ID_AA64DFR0_EL1_op1 0x0 -#define ID_AA64DFR0_EL1_CRn 0x0 -#define ID_AA64DFR0_EL1_CRm 0x5 -#define ID_AA64DFR0_EL1_op2 0x0 +#define ID_AA64DFR0_EL1_op0 3 +#define ID_AA64DFR0_EL1_op1 0 +#define ID_AA64DFR0_EL1_CRn 0 +#define ID_AA64DFR0_EL1_CRm 5 +#define ID_AA64DFR0_EL1_op2 0 #define ID_AA64DFR0_DebugVer_SHIFT 0 #define ID_AA64DFR0_DebugVer_MASK (UL(0xf) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_DebugVer_VAL(x) ((x) & ID_AA64DFR0_DebugVer_MASK) @@ -485,6 +485,7 @@ #define ID_AA64DFR0_DebugVer_8_VHE (UL(0x7) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_DebugVer_8_2 (UL(0x8) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_DebugVer_8_4 (UL(0x9) << ID_AA64DFR0_DebugVer_SHIFT) +#define ID_AA64DFR0_DebugVer_8_8 (UL(0xa) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_TraceVer_SHIFT 4 #define ID_AA64DFR0_TraceVer_MASK (UL(0xf) << ID_AA64DFR0_TraceVer_SHIFT) #define ID_AA64DFR0_TraceVer_VAL(x) ((x) & ID_AA64DFR0_TraceVer_MASK) @@ -498,11 +499,18 @@ #define ID_AA64DFR0_PMUVer_3_1 (UL(0x4) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_PMUVer_3_4 (UL(0x5) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_PMUVer_3_5 (UL(0x6) << ID_AA64DFR0_PMUVer_SHIFT) +#define ID_AA64DFR0_PMUVer_3_7 (UL(0x7) << ID_AA64DFR0_PMUVer_SHIFT) +#define ID_AA64DFR0_PMUVer_3_8 (UL(0x8) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_PMUVer_IMPL (UL(0xf) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_BRPs_SHIFT 12 #define ID_AA64DFR0_BRPs_MASK (UL(0xf) << ID_AA64DFR0_BRPs_SHIFT) #define ID_AA64DFR0_BRPs_VAL(x) \ ((((x) >> ID_AA64DFR0_BRPs_SHIFT) & 0xf) + 1) +#define ID_AA64DFR0_PMSS_SHIFT 16 +#define ID_AA64DFR0_PMSS_MASK (UL(0xf) << ID_AA64DFR0_PMSS_SHIFT) +#define ID_AA64DFR0_PMSS_VAL(x) ((x) & ID_AA64DFR0_PMSS_MASK) +#define ID_AA64DFR0_PMSS_NONE (UL(0x0) << ID_AA64DFR0_PMSS_SHIFT) +#define ID_AA64DFR0_PMSS_IMPL (UL(0x1) << ID_AA64DFR0_PMSS_SHIFT) #define ID_AA64DFR0_WRPs_SHIFT 20 #define ID_AA64DFR0_WRPs_MASK (UL(0xf) << ID_AA64DFR0_WRPs_SHIFT) #define ID_AA64DFR0_WRPs_VAL(x) \ @@ -516,7 +524,9 @@ #define ID_AA64DFR0_PMSVer_VAL(x) ((x) & ID_AA64DFR0_PMSVer_MASK) #define ID_AA64DFR0_PMSVer_NONE (UL(0x0) << ID_AA64DFR0_PMSVer_SHIFT) #define ID_AA64DFR0_PMSVer_SPE (UL(0x1) << ID_AA64DFR0_PMSVer_SHIFT) -#define ID_AA64DFR0_PMSVer_SPE_8_3 (UL(0x2) << ID_AA64DFR0_PMSVer_SHIFT) +#define ID_AA64DFR0_PMSVer_SPE_1_1 (UL(0x2) << ID_AA64DFR0_PMSVer_SHIFT) +#define ID_AA64DFR0_PMSVer_SPE_1_2 (UL(0x3) << ID_AA64DFR0_PMSVer_SHIFT) +#define ID_AA64DFR0_PMSVer_SPE_1_3 (UL(0x4) << ID_AA64DFR0_PMSVer_SHIFT) #define ID_AA64DFR0_DoubleLock_SHIFT 36 #define ID_AA64DFR0_DoubleLock_MASK (UL(0xf) << ID_AA64DFR0_DoubleLock_SHIFT) #define ID_AA64DFR0_DoubleLock_VAL(x) ((x) & ID_AA64DFR0_DoubleLock_MASK) @@ -527,6 +537,28 @@ #define ID_AA64DFR0_TraceFilt_VAL(x) ((x) & ID_AA64DFR0_TraceFilt_MASK) #define ID_AA64DFR0_TraceFilt_NONE (UL(0x0) << ID_AA64DFR0_TraceFilt_SHIFT) #define ID_AA64DFR0_TraceFilt_8_4 (UL(0x1) << ID_AA64DFR0_TraceFilt_SHIFT) +#define ID_AA64DFR0_TraceBuffer_SHIFT 44 +#define ID_AA64DFR0_TraceBuffer_MASK (UL(0xf) << ID_AA64DFR0_TraceBuffer_SHIFT) +#define ID_AA64DFR0_TraceBuffer_VAL(x) ((x) & ID_AA64DFR0_TraceBuffer_MASK) +#define ID_AA64DFR0_TraceBuffer_NONE (UL(0x0) << ID_AA64DFR0_TraceBuffer_SHIFT) +#define ID_AA64DFR0_TraceBuffer_IMPL (UL(0x1) << ID_AA64DFR0_TraceBuffer_SHIFT) +#define ID_AA64DFR0_MTPMU_SHIFT 48 +#define ID_AA64DFR0_MTPMU_MASK (UL(0xf) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_MTPMU_VAL(x) ((x) & ID_AA64DFR0_MTPMU_MASK) +#define ID_AA64DFR0_MTPMU_NONE (UL(0x0) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_MTPMU_IMPL (UL(0x1) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_MTPMU_NONE_MT_RES0 (UL(0xf) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_BRBE_SHIFT 52 +#define ID_AA64DFR0_BRBE_MASK (UL(0xf) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_BRBE_VAL(x) ((x) & ID_AA64DFR0_BRBE_MASK) +#define ID_AA64DFR0_BRBE_NONE (UL(0x0) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_BRBE_IMPL (UL(0x1) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_BRBE_EL3 (UL(0x2) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_HPMN0_SHIFT 60 +#define ID_AA64DFR0_HPMN0_MASK (UL(0xf) << ID_AA64DFR0_HPMN0_SHIFT) +#define ID_AA64DFR0_HPMN0_VAL(x) ((x) & ID_AA64DFR0_HPMN0_MASK) +#define ID_AA64DFR0_HPMN0_CONSTR (UL(0x0) << ID_AA64DFR0_HPMN0_SHIFT) +#define ID_AA64DFR0_HPMN0_DEFINED (UL(0x1) << ID_AA64DFR0_HPMN0_SHIFT) /* ID_AA64DFR1_EL1 */ #define ID_AA64DFR1_EL1 MRS_REG(ID_AA64DFR1_EL1) From nobody Fri Jul 28 12:08:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xX6FlCz4pyPt; Fri, 28 Jul 2023 12:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RC5xX5q68z42X5; Fri, 28 Jul 2023 12:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XpXtftRSANknJ4UK9y4HrUDZ+vON4SuMFJm4oowoCQs=; b=pILrDj1ONvWGXu83BCd2PrnDzf0CXyzB1sbgzKPCZ63rwnWS9FLDfEttHfWr3tayrbgtzQ 2IWkzmprqug/18UVmgPSRcmp4xiU8UBbWKl8uS4YZUG3k/uyDwSm0RNZrquZdExspOYR+B dusP1TqTxhCdgsPOYBL44Ch4Zz2Y5gRoYV+HJFcUbkUClcqKmP/3ImhTDB413SnINFgJnF 5RaU/QB1idoRbVKs8B1c3V7hl4LMMSIk4K2fF0cmC8ygkRCWwUI1URZa3M8szefGyMWCTV 0/MsL2Z0DVAnKnsSPOp1g+bSYQrpQev8ecS1HunJ8lKncxw2euqExPsZhuozFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XpXtftRSANknJ4UK9y4HrUDZ+vON4SuMFJm4oowoCQs=; b=Aixm2qDPqFq9Af7RWVOKFIJIrgbLIpzyubnQjNxNFnlrO2HUSMhrl/AZIeVV/iGyXx6Xqr qgp5+sWQxhqZ0c53Of7huE2VKwQXqrNobNxXgGvmYrimiy8y0d50tvY5tg0XMnnnz6KoLB 1F58j+fJwPptMil6EJL8Jt06GNTQF9A3tSiYJ4/2apGA7WW8SbtWLD0qBsIFxWY8NSsuIR 4liV3ne86ZMbMF23oELGmdWyt/kIJpUP/QlGt4Cl6inanN0EzNcKDOb66R0pf4gm+cCsEp Wj2xKNSUR+KXHj57KWDBJIPZKf/i209yzBRB9ztXX2qO5UVWOTTQPZbdzKaG/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546080; a=rsa-sha256; cv=none; b=gdEV1D1LomX54GOboHuabZBHMKep7/wXt+mdcZtfX9W3f3VJRzbkKAeDMnmWvvk5qK86hS i5wNdc6VUGXooZHNV+XyDsntBWoOaKv6iyXioburh8ibslPwd0xlb33dCZOQf1+qX7On7I YUVIBiZJ4FDBX2zx16vq28jy5j+ifvnx6G5MFQv8SPeYYlrFIjbP7g5PDKqSSALHCEwUVC +n/BC2f7YvJ8uBRAdBl38bDp+AbC/RIuPah+2Bt7BI0TYJlXUXSkn9xQ6hfZrJJvAz/Pk3 u6uVGKyIxVBAsxnryZwWaoIJ9SpLJqvmnkLf9shsQbp9z83wOyi4D/OxZEpZcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xX33Svzqcs; Fri, 28 Jul 2023 12:08: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 36SC80Sp062046; Fri, 28 Jul 2023 12:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC801n062043; Fri, 28 Jul 2023 12:08:00 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:00 GMT Message-Id: <202307281208.36SC801n062043@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: 4182f58172b5 - main - arm64: Update the ID_AA64ISAR0_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 4182f58172b56f71bfaf2450a0e9cb8b4397bf0a Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4182f58172b56f71bfaf2450a0e9cb8b4397bf0a commit 4182f58172b56f71bfaf2450a0e9cb8b4397bf0a Author: Andrew Turner AuthorDate: 2023-07-06 09:19:21 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:01 +0000 arm64: Update the ID_AA64ISAR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40888 --- sys/arm64/arm64/identcpu.c | 6 ++++++ sys/arm64/include/armreg.h | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index fc75eec05129..af5914034db4 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -572,6 +572,11 @@ static const struct mrs_field_hwcap id_aa64isar0_rdm_caps[] = { MRS_HWCAP_END }; +static const struct mrs_field_value id_aa64isar0_tme[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, TME, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64isar0_atomic[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, Atomic, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -644,6 +649,7 @@ static const struct mrs_field id_aa64isar0_fields[] = { id_aa64isar0_sha3_caps), MRS_FIELD_HWCAP(ID_AA64ISAR0, RDM, false, MRS_LOWER, id_aa64isar0_rdm, id_aa64isar0_rdm_caps), + MRS_FIELD(ID_AA64ISAR0, TME, false, MRS_EXACT, id_aa64isar0_tme), MRS_FIELD_HWCAP(ID_AA64ISAR0, Atomic, false, MRS_LOWER, id_aa64isar0_atomic, id_aa64isar0_atomic_caps), MRS_FIELD_HWCAP(ID_AA64ISAR0, CRC32, false, MRS_LOWER, diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 15346bcce8ab..3610a59834b1 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -570,11 +570,11 @@ /* ID_AA64ISAR0_EL1 */ #define ID_AA64ISAR0_EL1 MRS_REG(ID_AA64ISAR0_EL1) -#define ID_AA64ISAR0_EL1_op0 0x3 -#define ID_AA64ISAR0_EL1_op1 0x0 -#define ID_AA64ISAR0_EL1_CRn 0x0 -#define ID_AA64ISAR0_EL1_CRm 0x6 -#define ID_AA64ISAR0_EL1_op2 0x0 +#define ID_AA64ISAR0_EL1_op0 3 +#define ID_AA64ISAR0_EL1_op1 0 +#define ID_AA64ISAR0_EL1_CRn 0 +#define ID_AA64ISAR0_EL1_CRm 6 +#define ID_AA64ISAR0_EL1_op2 0 #define ID_AA64ISAR0_AES_SHIFT 4 #define ID_AA64ISAR0_AES_MASK (UL(0xf) << ID_AA64ISAR0_AES_SHIFT) #define ID_AA64ISAR0_AES_VAL(x) ((x) & ID_AA64ISAR0_AES_MASK) @@ -602,6 +602,10 @@ #define ID_AA64ISAR0_Atomic_VAL(x) ((x) & ID_AA64ISAR0_Atomic_MASK) #define ID_AA64ISAR0_Atomic_NONE (UL(0x0) << ID_AA64ISAR0_Atomic_SHIFT) #define ID_AA64ISAR0_Atomic_IMPL (UL(0x2) << ID_AA64ISAR0_Atomic_SHIFT) +#define ID_AA64ISAR0_TME_SHIFT 24 +#define ID_AA64ISAR0_TME_MASK (UL(0xf) << ID_AA64ISAR0_TME_SHIFT) +#define ID_AA64ISAR0_TME_NONE (UL(0x0) << ID_AA64ISAR0_TME_SHIFT) +#define ID_AA64ISAR0_TME_IMPL (UL(0x1) << ID_AA64ISAR0_TME_SHIFT) #define ID_AA64ISAR0_RDM_SHIFT 28 #define ID_AA64ISAR0_RDM_MASK (UL(0xf) << ID_AA64ISAR0_RDM_SHIFT) #define ID_AA64ISAR0_RDM_VAL(x) ((x) & ID_AA64ISAR0_RDM_MASK) From nobody Fri Jul 28 12:08:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xY6j7qz4pyQ2; Fri, 28 Jul 2023 12:08: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 4RC5xY56F0z42dC; Fri, 28 Jul 2023 12:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x7a35wjof0+ZW72xVOMECIsTGb7J7oROyK+W3PpcyBo=; b=VCjTUsaLKGIrpDF8iD0W0IM9X2t8WAxsYyWpRM/z34Vb1GsphXn2yqmGPwPxCERDXkneCE xYXdhZxB3f4j4PELVwmpIn0Pu8+bVcI76RROQh9fzHNT3Yhr2DfpNTF2uszYyc/oVIfhAE li7ZgznNNXBj1nKuvNK5QJJ54hlOGengo3I2V39fQTy0xts9mF+B1xTAzSxIgsDiZKKfvd gI9MhJAaFDiYYzyU9Reeidce4t4dCU70OUGe5jXAnAObN39RWDkhkrRsWKBjHJh09dKXay wuxfqur6JgZWlMXPrTa1qpvnoqIFeW/ZHNliSpv4mGe2jiqTSwwYy3BewjQ2HQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x7a35wjof0+ZW72xVOMECIsTGb7J7oROyK+W3PpcyBo=; b=xYh/bSf6PSO1kB6JeRrI5qzE8HFlFm9eKM9xikX/7f1aRPD/zIpNwMT2d+7Nco+APU9qaO JM/sfaPhd2pmGVRSz+hUHZnvZ37WjZC2XfiM6qXmufWJXFUikByR3igRJtCkXkujKJujxU fMVzV4/w1HEr4Teky1L5M03BrNGEmzvIdJT+Y4Q41rFxdEcbTf+rcx5ouh4ESu8cj16AxI dS8SQ6Q9k8DJfPdSaP7cEfCni9a6Y6SMqtCbbzQwGZ+nGIOO2QxWe9UFRWqP2PzDtShgv+ cOw5q4Wdjt6SVYpq3xko1HnhR7ZISmnG+7DelugwEhsrADeITHydcgFd9Q6G8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546081; a=rsa-sha256; cv=none; b=nZW/9zslDRjd4HDd698TUJZlOm3X4LN+TB/NNUXQcueAwUno+H9c0yHxW9ua3jKqxDIIvA KufT7cpCzb9KFhnSIx8u1ROaYQ5tt15YulHPnWWQsT3oqaIonYbo8F77tS6TVcg4rHgTQ9 rfox3g7Ufb1g9gRlJ9L4+KOU50oswxUp2FTPtNAOTUgBJZNoynN6F88SjfrB4EAhXKNpnv FkcOxvjVO+IEKv1ot9blloElqI2FtbUiq/VM93Bvh2uNBNsDhIH2bgOYHtqGOdkTnefKK6 jBETmratXbiFBiofHeSQZoSYICX5QXQMfjokockv7Qg3+OL0i5K7e2qYwx5/lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xY3zWFzqr4; Fri, 28 Jul 2023 12:08: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 36SC81qg062066; Fri, 28 Jul 2023 12:08:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC81pa062065; Fri, 28 Jul 2023 12:08:01 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:01 GMT Message-Id: <202307281208.36SC81pa062065@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: de01309926e2 - main - arm64: Update the ID_AA64ISAR1_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: de01309926e21e1cff196b6b23cff6c52064aa0e Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=de01309926e21e1cff196b6b23cff6c52064aa0e commit de01309926e21e1cff196b6b23cff6c52064aa0e Author: Andrew Turner AuthorDate: 2023-07-06 10:01:11 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:01 +0000 arm64: Update the ID_AA64ISAR1_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40889 --- sys/arm64/arm64/identcpu.c | 15 +++++++++++++++ sys/arm64/include/armreg.h | 23 ++++++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index af5914034db4..48c5cf44a9b5 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -665,6 +665,18 @@ static const struct mrs_field id_aa64isar0_fields[] = { /* ID_AA64ISAR1_EL1 */ +static const struct mrs_field_value id_aa64isar1_ls64[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, LS64, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64ISAR1_LS64_V, "LS64v"), + MRS_FIELD_VALUE(ID_AA64ISAR1_LS64_ACCDATA, "LS64+ACCDATA"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64isar1_xs[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, XS, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64isar1_i8mm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, I8MM, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -687,6 +699,7 @@ static const struct mrs_field_hwcap id_aa64isar1_dgh_caps[] = { static const struct mrs_field_value id_aa64isar1_bf16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, BF16, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64ISAR1_BF16_EBF, "EBF16"), MRS_FIELD_VALUE_END, }; @@ -820,6 +833,8 @@ static const struct mrs_field_hwcap id_aa64isar1_dpb_caps[] = { }; static const struct mrs_field id_aa64isar1_fields[] = { + MRS_FIELD(ID_AA64ISAR1, LS64, false, MRS_EXACT, id_aa64isar1_ls64), + MRS_FIELD(ID_AA64ISAR1, XS, false, MRS_EXACT, id_aa64isar1_xs), MRS_FIELD_HWCAP(ID_AA64ISAR1, I8MM, false, MRS_LOWER, id_aa64isar1_i8mm, id_aa64isar1_i8mm_caps), MRS_FIELD_HWCAP(ID_AA64ISAR1, DGH, false, MRS_LOWER, id_aa64isar1_dgh, diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 3610a59834b1..6ada3649042f 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -656,11 +656,11 @@ /* ID_AA64ISAR1_EL1 */ #define ID_AA64ISAR1_EL1 MRS_REG(ID_AA64ISAR1_EL1) -#define ID_AA64ISAR1_EL1_op0 0x3 -#define ID_AA64ISAR1_EL1_op1 0x0 -#define ID_AA64ISAR1_EL1_CRn 0x0 -#define ID_AA64ISAR1_EL1_CRm 0x6 -#define ID_AA64ISAR1_EL1_op2 0x1 +#define ID_AA64ISAR1_EL1_op0 3 +#define ID_AA64ISAR1_EL1_op1 0 +#define ID_AA64ISAR1_EL1_CRn 0 +#define ID_AA64ISAR1_EL1_CRm 6 +#define ID_AA64ISAR1_EL1_op2 1 #define ID_AA64ISAR1_DPB_SHIFT 0 #define ID_AA64ISAR1_DPB_MASK (UL(0xf) << ID_AA64ISAR1_DPB_SHIFT) #define ID_AA64ISAR1_DPB_VAL(x) ((x) & ID_AA64ISAR1_DPB_MASK) @@ -731,6 +731,7 @@ #define ID_AA64ISAR1_BF16_VAL(x) ((x) & ID_AA64ISAR1_BF16_MASK) #define ID_AA64ISAR1_BF16_NONE (UL(0x0) << ID_AA64ISAR1_BF16_SHIFT) #define ID_AA64ISAR1_BF16_IMPL (UL(0x1) << ID_AA64ISAR1_BF16_SHIFT) +#define ID_AA64ISAR1_BF16_EBF (UL(0x2) << ID_AA64ISAR1_BF16_SHIFT) #define ID_AA64ISAR1_DGH_SHIFT 48 #define ID_AA64ISAR1_DGH_MASK (UL(0xf) << ID_AA64ISAR1_DGH_SHIFT) #define ID_AA64ISAR1_DGH_VAL(x) ((x) & ID_AA64ISAR1_DGH_MASK) @@ -741,6 +742,18 @@ #define ID_AA64ISAR1_I8MM_VAL(x) ((x) & ID_AA64ISAR1_I8MM_MASK) #define ID_AA64ISAR1_I8MM_NONE (UL(0x0) << ID_AA64ISAR1_I8MM_SHIFT) #define ID_AA64ISAR1_I8MM_IMPL (UL(0x1) << ID_AA64ISAR1_I8MM_SHIFT) +#define ID_AA64ISAR1_XS_SHIFT 56 +#define ID_AA64ISAR1_XS_MASK (UL(0xf) << ID_AA64ISAR1_XS_SHIFT) +#define ID_AA64ISAR1_XS_VAL(x) ((x) & ID_AA64ISAR1_XS_MASK) +#define ID_AA64ISAR1_XS_NONE (UL(0x0) << ID_AA64ISAR1_XS_SHIFT) +#define ID_AA64ISAR1_XS_IMPL (UL(0x1) << ID_AA64ISAR1_XS_SHIFT) +#define ID_AA64ISAR1_LS64_SHIFT 60 +#define ID_AA64ISAR1_LS64_MASK (UL(0xf) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_VAL(x) ((x) & ID_AA64ISAR1_LS64_MASK) +#define ID_AA64ISAR1_LS64_NONE (UL(0x0) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_IMPL (UL(0x1) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_V (UL(0x2) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_ACCDATA (UL(0x3) << ID_AA64ISAR1_LS64_SHIFT) /* ID_AA64ISAR2_EL1 */ #define ID_AA64ISAR2_EL1 MRS_REG(ID_AA64ISAR2_EL1) From nobody Fri Jul 28 12:08:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xZ6qG3z4pyQ9; Fri, 28 Jul 2023 12: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 4RC5xZ5ZkLz42jv; Fri, 28 Jul 2023 12: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=1690546082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jlxz5dl5RyyjRksqhu5YzDuxNOjo9Gp0PKcoxv1yvGs=; b=b981CKxD4LPzsvGbpitO7iGC6fe6qYrsNueKRSBASEXvwDtL1AttYn6uS17gUsJSBBj4dl ZuEY2LXwspkt79+yM5tsNPVCBwlBkniESEx6N0pnsTSEBT/VtD4Fpi4lg8REcz1rFmZ0zn MmjYGwDUjUitVk3eymH/Thfd3bOzmhPzE4WsDwyZcVdq5wz17g8LdES6lS94u+ilvJND0F fQETw26q1ydlo+nXflB+gRh4pR4XAKK8snQdTaaaDD3wwNq288IekYO4hhtlGe4kGDLPnZ qDpwGcxGys4h32D9bXSlSPVgHg5MmOWt0aFEwVN+aFtsSj44GqZ7MrRw+nGQUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jlxz5dl5RyyjRksqhu5YzDuxNOjo9Gp0PKcoxv1yvGs=; b=GiZit3j4odJE0o7yY/FIyZNdEKqxQaQIA3hUvdJuzVza5UPWKPe13WUu2j4R5QCSOxVebs bIYBeyBsIKRDIs2H4Ai/lyPhfqgx3KFryd4SQQJc1124QdzEwb+g6EPr8O5viL7rCulS/2 GSIU/uhVdMBSWHkctTQshElZrcCg3tFgG0QkKzbAGf8LXntZqE9iwXabqcQ0mNj3vxYAJF PgxOz7Awbayo+0ZQZtCugo1fPofIjAc991JoVGeonjmqVirdowyHVy1sEO/voTdf5ht6k/ +wEliTPgLT7cQ/1kp9ih1edhimIUevrVKQr3QIeaJwvp6fzAe/76RUzsH9vztQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546082; a=rsa-sha256; cv=none; b=hpwM0PUwYBE6AbhbJJsHga9FYP+cuSKESGgo/FfDy26M2hQFFXUm4LQkaDx3m2ez/kRItT orWjsOQxPWGEmctC+/YLOtPyqSpeV+i0bsUTDJ3XgBze0MJ7/8lKGQLJO0eDKElcufEJN2 EZL34u0esmivmQ6G63qAobA4ywbI3eymBXWXFD3uUX6V4Rb+6k6iduEK6dyx3FIji+H98F fffeujdK1IWD1zx4nxVothqcvD/rzBw+GNPOrb0+FcRmelH5xlijX0Jv1fQOns4x0x+FXt gf8nxnXky+EXKTldiSkkDRjL+5IByeEs5pIfQx692h1UMwxlGGAllOZGccFTvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xZ4h4Tzqq7; Fri, 28 Jul 2023 12: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 36SC82jv062085; Fri, 28 Jul 2023 12: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 36SC82cb062084; Fri, 28 Jul 2023 12:08:02 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:02 GMT Message-Id: <202307281208.36SC82cb062084@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: b21402d05875 - main - arm64: Update the ID_AA64MMFR0_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: b21402d058755f4b33a82fa8024fbf4501f5a218 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b21402d058755f4b33a82fa8024fbf4501f5a218 commit b21402d058755f4b33a82fa8024fbf4501f5a218 Author: Andrew Turner AuthorDate: 2023-07-06 12:34:28 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:01 +0000 arm64: Update the ID_AA64MMFR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40890 --- sys/arm64/arm64/identcpu.c | 19 ++++++++++++++++++- sys/arm64/include/armreg.h | 35 +++++++++++++++++++++++++---------- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 48c5cf44a9b5..1908dc4e21bc 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -935,6 +935,17 @@ static const struct mrs_field id_aa64isar2_fields[] = { /* ID_AA64MMFR0_EL1 */ +static const struct mrs_field_value id_aa64mmfr0_ecv[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, ECV, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64MMFR0_ECV_CNTHCTL, "ECV+CNTHCTL"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr0_fgt[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, FGT, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64mmfr0_exs[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, ExS, ALL, IMPL), MRS_FIELD_VALUE_END, @@ -944,6 +955,7 @@ static const struct mrs_field_value id_aa64mmfr0_tgran4_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_TGran4, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_NONE, "No S2 TGran4"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_IMPL, "S2 TGran4"), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_LPA2, "S2 TGran4+LPA2"), MRS_FIELD_VALUE_END, }; @@ -958,11 +970,13 @@ static const struct mrs_field_value id_aa64mmfr0_tgran16_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_TGran16, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_NONE, "No S2 TGran16"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_IMPL, "S2 TGran16"), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_LPA2, "S2 TGran16+LPA2"), MRS_FIELD_VALUE_END, }; static const struct mrs_field_value id_aa64mmfr0_tgran4[] = { - MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran4,NONE, IMPL), + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran4, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_LPA2, "TGran4+LPA2"), MRS_FIELD_VALUE_END, }; @@ -973,6 +987,7 @@ static const struct mrs_field_value id_aa64mmfr0_tgran64[] = { static const struct mrs_field_value id_aa64mmfr0_tgran16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran16, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_LPA2, "TGran16+LPA2"), MRS_FIELD_VALUE_END, }; @@ -1009,6 +1024,8 @@ static const struct mrs_field_value id_aa64mmfr0_parange[] = { }; static const struct mrs_field id_aa64mmfr0_fields[] = { + MRS_FIELD(ID_AA64MMFR0, ECV, false, MRS_EXACT, id_aa64mmfr0_ecv), + MRS_FIELD(ID_AA64MMFR0, FGT, false, MRS_EXACT, id_aa64mmfr0_fgt), MRS_FIELD(ID_AA64MMFR0, ExS, false, MRS_EXACT, id_aa64mmfr0_exs), MRS_FIELD(ID_AA64MMFR0, TGran4_2, false, MRS_EXACT, id_aa64mmfr0_tgran4_2), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 6ada3649042f..189344a9bc1e 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -804,11 +804,11 @@ /* ID_AA64MMFR0_EL1 */ #define ID_AA64MMFR0_EL1 MRS_REG(ID_AA64MMFR0_EL1) -#define ID_AA64MMFR0_EL1_op0 0x3 -#define ID_AA64MMFR0_EL1_op1 0x0 -#define ID_AA64MMFR0_EL1_CRn 0x0 -#define ID_AA64MMFR0_EL1_CRm 0x7 -#define ID_AA64MMFR0_EL1_op2 0x0 +#define ID_AA64MMFR0_EL1_op0 3 +#define ID_AA64MMFR0_EL1_op1 0 +#define ID_AA64MMFR0_EL1_CRn 0 +#define ID_AA64MMFR0_EL1_CRm 7 +#define ID_AA64MMFR0_EL1_op2 0 #define ID_AA64MMFR0_PARange_SHIFT 0 #define ID_AA64MMFR0_PARange_MASK (UL(0xf) << ID_AA64MMFR0_PARange_SHIFT) #define ID_AA64MMFR0_PARange_VAL(x) ((x) & ID_AA64MMFR0_PARange_MASK) @@ -844,6 +844,7 @@ #define ID_AA64MMFR0_TGran16_VAL(x) ((x) & ID_AA64MMFR0_TGran16_MASK) #define ID_AA64MMFR0_TGran16_NONE (UL(0x0) << ID_AA64MMFR0_TGran16_SHIFT) #define ID_AA64MMFR0_TGran16_IMPL (UL(0x1) << ID_AA64MMFR0_TGran16_SHIFT) +#define ID_AA64MMFR0_TGran16_LPA2 (UL(0x2) << ID_AA64MMFR0_TGran16_SHIFT) #define ID_AA64MMFR0_TGran64_SHIFT 24 #define ID_AA64MMFR0_TGran64_MASK (UL(0xf) << ID_AA64MMFR0_TGran64_SHIFT) #define ID_AA64MMFR0_TGran64_VAL(x) ((x) & ID_AA64MMFR0_TGran64_MASK) @@ -853,6 +854,7 @@ #define ID_AA64MMFR0_TGran4_MASK (UL(0xf) << ID_AA64MMFR0_TGran4_SHIFT) #define ID_AA64MMFR0_TGran4_VAL(x) ((x) & ID_AA64MMFR0_TGran4_MASK) #define ID_AA64MMFR0_TGran4_IMPL (UL(0x0) << ID_AA64MMFR0_TGran4_SHIFT) +#define ID_AA64MMFR0_TGran4_LPA2 (UL(0x1) << ID_AA64MMFR0_TGran4_SHIFT) #define ID_AA64MMFR0_TGran4_NONE (UL(0xf) << ID_AA64MMFR0_TGran4_SHIFT) #define ID_AA64MMFR0_TGran16_2_SHIFT 32 #define ID_AA64MMFR0_TGran16_2_MASK (UL(0xf) << ID_AA64MMFR0_TGran16_2_SHIFT) @@ -860,6 +862,7 @@ #define ID_AA64MMFR0_TGran16_2_TGran16 (UL(0x0) << ID_AA64MMFR0_TGran16_2_SHIFT) #define ID_AA64MMFR0_TGran16_2_NONE (UL(0x1) << ID_AA64MMFR0_TGran16_2_SHIFT) #define ID_AA64MMFR0_TGran16_2_IMPL (UL(0x2) << ID_AA64MMFR0_TGran16_2_SHIFT) +#define ID_AA64MMFR0_TGran16_2_LPA2 (UL(0x3) << ID_AA64MMFR0_TGran16_2_SHIFT) #define ID_AA64MMFR0_TGran64_2_SHIFT 36 #define ID_AA64MMFR0_TGran64_2_MASK (UL(0xf) << ID_AA64MMFR0_TGran64_2_SHIFT) #define ID_AA64MMFR0_TGran64_2_VAL(x) ((x) & ID_AA64MMFR0_TGran64_2_MASK) @@ -872,19 +875,31 @@ #define ID_AA64MMFR0_TGran4_2_TGran4 (UL(0x0) << ID_AA64MMFR0_TGran4_2_SHIFT) #define ID_AA64MMFR0_TGran4_2_NONE (UL(0x1) << ID_AA64MMFR0_TGran4_2_SHIFT) #define ID_AA64MMFR0_TGran4_2_IMPL (UL(0x2) << ID_AA64MMFR0_TGran4_2_SHIFT) +#define ID_AA64MMFR0_TGran4_2_LPA2 (UL(0x3) << ID_AA64MMFR0_TGran4_2_SHIFT) #define ID_AA64MMFR0_ExS_SHIFT 44 #define ID_AA64MMFR0_ExS_MASK (UL(0xf) << ID_AA64MMFR0_ExS_SHIFT) #define ID_AA64MMFR0_ExS_VAL(x) ((x) & ID_AA64MMFR0_ExS_MASK) #define ID_AA64MMFR0_ExS_ALL (UL(0x0) << ID_AA64MMFR0_ExS_SHIFT) #define ID_AA64MMFR0_ExS_IMPL (UL(0x1) << ID_AA64MMFR0_ExS_SHIFT) +#define ID_AA64MMFR0_FGT_SHIFT 56 +#define ID_AA64MMFR0_FGT_MASK (UL(0xf) << ID_AA64MMFR0_FGT_SHIFT) +#define ID_AA64MMFR0_FGT_VAL(x) ((x) & ID_AA64MMFR0_FGT_MASK) +#define ID_AA64MMFR0_FGT_NONE (UL(0x0) << ID_AA64MMFR0_FGT_SHIFT) +#define ID_AA64MMFR0_FGT_IMPL (UL(0x1) << ID_AA64MMFR0_FGT_SHIFT) +#define ID_AA64MMFR0_ECV_SHIFT 60 +#define ID_AA64MMFR0_ECV_MASK (UL(0xf) << ID_AA64MMFR0_ECV_SHIFT) +#define ID_AA64MMFR0_ECV_VAL(x) ((x) & ID_AA64MMFR0_ECV_MASK) +#define ID_AA64MMFR0_ECV_NONE (UL(0x0) << ID_AA64MMFR0_ECV_SHIFT) +#define ID_AA64MMFR0_ECV_IMPL (UL(0x1) << ID_AA64MMFR0_ECV_SHIFT) +#define ID_AA64MMFR0_ECV_CNTHCTL (UL(0x2) << ID_AA64MMFR0_ECV_SHIFT) /* ID_AA64MMFR1_EL1 */ #define ID_AA64MMFR1_EL1 MRS_REG(ID_AA64MMFR1_EL1) -#define ID_AA64MMFR1_EL1_op0 0x3 -#define ID_AA64MMFR1_EL1_op1 0x0 -#define ID_AA64MMFR1_EL1_CRn 0x0 -#define ID_AA64MMFR1_EL1_CRm 0x7 -#define ID_AA64MMFR1_EL1_op2 0x1 +#define ID_AA64MMFR1_EL1_op0 3 +#define ID_AA64MMFR1_EL1_op1 0 +#define ID_AA64MMFR1_EL1_CRn 0 +#define ID_AA64MMFR1_EL1_CRm 7 +#define ID_AA64MMFR1_EL1_op2 1 #define ID_AA64MMFR1_HAFDBS_SHIFT 0 #define ID_AA64MMFR1_HAFDBS_MASK (UL(0xf) << ID_AA64MMFR1_HAFDBS_SHIFT) #define ID_AA64MMFR1_HAFDBS_VAL(x) ((x) & ID_AA64MMFR1_HAFDBS_MASK) From nobody Fri Jul 28 12:08:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xb72Cdz4pyQC; Fri, 28 Jul 2023 12:08: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 4RC5xb6Krlz42cR; Fri, 28 Jul 2023 12:08:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l2nthWT7p9IlcTT4cTxuVmqp5YVQ913TPTq9rnSbCkw=; b=S12KLLe4h3nRlThybq9hl/+DuioNEAOvV/Vb2eVTZhGRvlhE8AZf+IXXqYacdATaWZ3yR4 sqFvpTZYS+D1Igw58w5WLJORE142D9zbyc+b+FH4kshnRoX66SsSUmXONNOwb4YrXxprgx wwgdtbQVnk+bqqXHOH/DyCrgDrI1yewq++jIOENMpVy+yQ5OZoUI5Ii7JArR4eJ5FmTY8F 5fDPLGDytVJNZrAXtneZ2fgOLXG81+ibfej//Oow5T1sADRQMrivccUNFvjCJbmJkr9/lC 5w9Z9CfpR7TIPTJ8lZkYjxgFFNHSWICn/eiX0BkiV6fVTXbtfhEOYyeKzjC4BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l2nthWT7p9IlcTT4cTxuVmqp5YVQ913TPTq9rnSbCkw=; b=KjPEt+ThiezsEk1a7CxPLNncsJw5kLMBm1sPWDCwilvoh9/PcjHIFgrn2YmX2cliau1S9s 6gcXGK60tCjBOhjn7NkU3o2PQv6DQpkhQ/jOTGTOZ0l3nkeSwPEsOLM4PKNp7YqFlwfIAl oTPvCvibCcHpL/EDH8OpY9LzTTshMeUsD3XVP0trjqete2rQtdyUswX41l9Z0mz5RhC20n pAsZA2G23xLJ+w7JtlRNDwfVwaPzt6Dwjc9XFEDNN1cq7UnM7KZ0Q+A4Klbw/UwfBQCKpX 1VBCm/8qRxU9k6JKk1ApDpjjMbC9i0dKlrJDCe0TP3+MlTw+nyh9p8fareHWWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546083; a=rsa-sha256; cv=none; b=FU9cFJWWa1RFEDcZCHBHfa+N41xQmMDW0Mw4cugbzxHuaud7Xpw8nCkn+1RThrQR7JdR9B GmKKD2PohUNHIpgzR1OtFCC1AF3lPh6E2ObwFU6mgXJgXMMirfxZKXBpnjpmrHtvVQ5sCR chh2EZs0PkyWk4r+Xvuoev3imuwIQIFFm0Svf/Ic+8jMVsqQpBURrz3DuMmworJLf8dt6Y GpSaqQNzO3liqCjToZQfzO8w47SSTfwb5V9JrEIZPc4QszFBrSgRVizRIAXshVRBYoBluR 6h9lBbRlQuDWr5e2QB6seSG9qrZ/ZKf87PtFudcrQAzfLIJZzjXtQJ4I5pDy3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xb5RQVzqZQ; Fri, 28 Jul 2023 12:08: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 36SC83Vv062112; Fri, 28 Jul 2023 12:08:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC83SG062111; Fri, 28 Jul 2023 12:08:03 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:03 GMT Message-Id: <202307281208.36SC83SG062111@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: 284f91de8b43 - main - arm64: Update the ID_AA64MMFR1_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 284f91de8b43a5d66fbd484d6cb5ab2d86e822d1 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=284f91de8b43a5d66fbd484d6cb5ab2d86e822d1 commit 284f91de8b43a5d66fbd484d6cb5ab2d86e822d1 Author: Andrew Turner AuthorDate: 2023-07-06 13:11:29 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:01 +0000 arm64: Update the ID_AA64MMFR1_EL1 fields Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40891 --- sys/arm64/arm64/identcpu.c | 43 +++++++++++++++++++++++++++++++++++++++++++ sys/arm64/include/armreg.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 1908dc4e21bc..7117e48ee061 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1051,6 +1051,41 @@ static const struct mrs_field id_aa64mmfr0_fields[] = { /* ID_AA64MMFR1_EL1 */ +static const struct mrs_field_value id_aa64mmfr1_cmovw[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, CMOVW, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_tidcp1[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, TIDCP1, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_ntlbpa[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, nTLBPA, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_afp[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, AFP, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_hcx[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, HCX, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_ets[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, ETS, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_twed[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, TWED, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64mmfr1_xnx[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, XNX, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -1064,6 +1099,7 @@ static const struct mrs_field_value id_aa64mmfr1_specsei[] = { static const struct mrs_field_value id_aa64mmfr1_pan[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, PAN, NONE, IMPL), MRS_FIELD_VALUE(ID_AA64MMFR1_PAN_ATS1E1, "PAN+ATS1E1"), + MRS_FIELD_VALUE(ID_AA64MMFR1_PAN_EPAN, "EPAN"), MRS_FIELD_VALUE_END, }; @@ -1098,6 +1134,13 @@ static const struct mrs_field_value id_aa64mmfr1_hafdbs[] = { }; static const struct mrs_field id_aa64mmfr1_fields[] = { + MRS_FIELD(ID_AA64MMFR1, CMOVW, false, MRS_EXACT, id_aa64mmfr1_cmovw), + MRS_FIELD(ID_AA64MMFR1, TIDCP1, false, MRS_EXACT, id_aa64mmfr1_tidcp1), + MRS_FIELD(ID_AA64MMFR1, nTLBPA, false, MRS_EXACT, id_aa64mmfr1_ntlbpa), + MRS_FIELD(ID_AA64MMFR1, AFP, false, MRS_EXACT, id_aa64mmfr1_afp), + MRS_FIELD(ID_AA64MMFR1, HCX, false, MRS_EXACT, id_aa64mmfr1_hcx), + MRS_FIELD(ID_AA64MMFR1, ETS, false, MRS_EXACT, id_aa64mmfr1_ets), + MRS_FIELD(ID_AA64MMFR1, TWED, false, MRS_EXACT, id_aa64mmfr1_twed), MRS_FIELD(ID_AA64MMFR1, XNX, false, MRS_EXACT, id_aa64mmfr1_xnx), MRS_FIELD(ID_AA64MMFR1, SpecSEI, false, MRS_EXACT, id_aa64mmfr1_specsei), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 189344a9bc1e..3ef6e6a3f5e3 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -933,6 +933,7 @@ #define ID_AA64MMFR1_PAN_NONE (UL(0x0) << ID_AA64MMFR1_PAN_SHIFT) #define ID_AA64MMFR1_PAN_IMPL (UL(0x1) << ID_AA64MMFR1_PAN_SHIFT) #define ID_AA64MMFR1_PAN_ATS1E1 (UL(0x2) << ID_AA64MMFR1_PAN_SHIFT) +#define ID_AA64MMFR1_PAN_EPAN (UL(0x2) << ID_AA64MMFR1_PAN_SHIFT) #define ID_AA64MMFR1_SpecSEI_SHIFT 24 #define ID_AA64MMFR1_SpecSEI_MASK (UL(0xf) << ID_AA64MMFR1_SpecSEI_SHIFT) #define ID_AA64MMFR1_SpecSEI_VAL(x) ((x) & ID_AA64MMFR1_SpecSEI_MASK) @@ -943,6 +944,41 @@ #define ID_AA64MMFR1_XNX_VAL(x) ((x) & ID_AA64MMFR1_XNX_MASK) #define ID_AA64MMFR1_XNX_NONE (UL(0x0) << ID_AA64MMFR1_XNX_SHIFT) #define ID_AA64MMFR1_XNX_IMPL (UL(0x1) << ID_AA64MMFR1_XNX_SHIFT) +#define ID_AA64MMFR1_TWED_SHIFT 32 +#define ID_AA64MMFR1_TWED_MASK (UL(0xf) << ID_AA64MMFR1_TWED_SHIFT) +#define ID_AA64MMFR1_TWED_VAL(x) ((x) & ID_AA64MMFR1_TWED_MASK) +#define ID_AA64MMFR1_TWED_NONE (UL(0x0) << ID_AA64MMFR1_TWED_SHIFT) +#define ID_AA64MMFR1_TWED_IMPL (UL(0x1) << ID_AA64MMFR1_TWED_SHIFT) +#define ID_AA64MMFR1_ETS_SHIFT 36 +#define ID_AA64MMFR1_ETS_MASK (UL(0xf) << ID_AA64MMFR1_ETS_SHIFT) +#define ID_AA64MMFR1_ETS_VAL(x) ((x) & ID_AA64MMFR1_ETS_MASK) +#define ID_AA64MMFR1_ETS_NONE (UL(0x0) << ID_AA64MMFR1_ETS_SHIFT) +#define ID_AA64MMFR1_ETS_IMPL (UL(0x1) << ID_AA64MMFR1_ETS_SHIFT) +#define ID_AA64MMFR1_HCX_SHIFT 40 +#define ID_AA64MMFR1_HCX_MASK (UL(0xf) << ID_AA64MMFR1_HCX_SHIFT) +#define ID_AA64MMFR1_HCX_VAL(x) ((x) & ID_AA64MMFR1_HCX_MASK) +#define ID_AA64MMFR1_HCX_NONE (UL(0x0) << ID_AA64MMFR1_HCX_SHIFT) +#define ID_AA64MMFR1_HCX_IMPL (UL(0x1) << ID_AA64MMFR1_HCX_SHIFT) +#define ID_AA64MMFR1_AFP_SHIFT 44 +#define ID_AA64MMFR1_AFP_MASK (UL(0xf) << ID_AA64MMFR1_AFP_SHIFT) +#define ID_AA64MMFR1_AFP_VAL(x) ((x) & ID_AA64MMFR1_AFP_MASK) +#define ID_AA64MMFR1_AFP_NONE (UL(0x0) << ID_AA64MMFR1_AFP_SHIFT) +#define ID_AA64MMFR1_AFP_IMPL (UL(0x1) << ID_AA64MMFR1_AFP_SHIFT) +#define ID_AA64MMFR1_nTLBPA_SHIFT 48 +#define ID_AA64MMFR1_nTLBPA_MASK (UL(0xf) << ID_AA64MMFR1_nTLBPA_SHIFT) +#define ID_AA64MMFR1_nTLBPA_VAL(x) ((x) & ID_AA64MMFR1_nTLBPA_MASK) +#define ID_AA64MMFR1_nTLBPA_NONE (UL(0x0) << ID_AA64MMFR1_nTLBPA_SHIFT) +#define ID_AA64MMFR1_nTLBPA_IMPL (UL(0x1) << ID_AA64MMFR1_nTLBPA_SHIFT) +#define ID_AA64MMFR1_TIDCP1_SHIFT 52 +#define ID_AA64MMFR1_TIDCP1_MASK (UL(0xf) << ID_AA64MMFR1_TIDCP1_SHIFT) +#define ID_AA64MMFR1_TIDCP1_VAL(x) ((x) & ID_AA64MMFR1_TIDCP1_MASK) +#define ID_AA64MMFR1_TIDCP1_NONE (UL(0x0) << ID_AA64MMFR1_TIDCP1_SHIFT) +#define ID_AA64MMFR1_TIDCP1_IMPL (UL(0x1) << ID_AA64MMFR1_TIDCP1_SHIFT) +#define ID_AA64MMFR1_CMOVW_SHIFT 56 +#define ID_AA64MMFR1_CMOVW_MASK (UL(0xf) << ID_AA64MMFR1_CMOVW_SHIFT) +#define ID_AA64MMFR1_CMOVW_VAL(x) ((x) & ID_AA64MMFR1_CMOVW_MASK) +#define ID_AA64MMFR1_CMOVW_NONE (UL(0x0) << ID_AA64MMFR1_CMOVW_SHIFT) +#define ID_AA64MMFR1_CMOVW_IMPL (UL(0x1) << ID_AA64MMFR1_CMOVW_SHIFT) /* ID_AA64MMFR2_EL1 */ #define ID_AA64MMFR2_EL1 MRS_REG(ID_AA64MMFR2_EL1) From nobody Fri Jul 28 12:08:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xs5Mbvz4pyHW; Fri, 28 Jul 2023 12:08: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 4RC5xf3Zhlz42Yn; Fri, 28 Jul 2023 12:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0qwXL/+5Y6Tl0brpvCfK+D681Yig/FH58ZfkbWWsbc=; b=KIJLt14X/jFth8hwDF+EwqNqqJhkHnnLwUmmRBa3CT8TuN9n6s8mj9BtVqgjuEzHuDuokd qIhitPnz2DfUM8ubUD38OHoBvnhrj/jBuNVkggAAp6fkYeTOgBVYZNr7dXapyVPsqM1mcB f+jnzdtYa64N/WAXll3ClkOLfXGOgR87qbOWDmhTjGtl1/WBkv42KVyx3AsXNl3o+Gn+up 3q8kL3Jzes8YGyj01hDqbuEMogdAUDAYNOSgIS65eQL9cDsXHD9mxv425o/+PZ7U4OH/tk WETm9XL57Yb/LTjtHLnVAcEGQ9uSUVeRk1ayOzmeuoHr9OYj/0BpYkliSjVcgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0qwXL/+5Y6Tl0brpvCfK+D681Yig/FH58ZfkbWWsbc=; b=N4NKzVC8r+iu0WtIPRYCSr5zNVsBMldIolsnvb13XQpGUYBlLoFT+EfKlSAmnmSFoHeqGM NkonzcaFD0rCeUTY58zcpEXXQg1o8PJj7eHWAEQlslcwAz6bzdHDw/6yHNr4MjWFDdOj7M qBWsLXiQM8DRnUetEpdgpi/ZeMsUIDVqXotLYxSje28/+ERbM7bzONtGcgEX+vAL0QDEPV eOB3C+E0uZVjHI4559Jd9um5Gj+ymrtDiqXVyD61+FOMWquJpdIfAmRrKqhDCJ9atD2ZZb bE9/kLj9EZgs52Ma0e5NnmHUUeJue0CUMrayiqdtg5JpH+L/dYru2XJRFBCf8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546086; a=rsa-sha256; cv=none; b=XDSBmNNeOuyFn3MvJzZm7PScuH6yxGJApGcYecmRaVDxqfRSh8s1N33qVuqVqPTEruv8WC yNlRkCycM6ymjFym6/4GphQ1zwLFVPgzWiP/IjdJfpoc5+7kAezGm11mJ4LjPlXz1B+y/s yx475khirM0U0m/tFrW1l7N+p7PGBfWasY+CgJu5HOsYqilDKdYq4d9aNWareBpIHH1F93 KCY0Ga1NRhbKPWUS3/qfAAJy+Z+KDdjYVBBwlniJ1HU80obTgp/P8widGC6CEGHUqxnqbj N3u0kHzR8ReQrEPZtXDSz8DpjbitNx6/r3dXrYBw4rKChFHWYjlmeJUQUhr0nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xf22kYzqfJ; Fri, 28 Jul 2023 12:08: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 36SC853j062154; Fri, 28 Jul 2023 12:08:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC85hG062153; Fri, 28 Jul 2023 12:08:05 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:05 GMT Message-Id: <202307281208.36SC85hG062153@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: c65679143f82 - main - arm64: Decode the ID_AA64MMFR3_EL1 register List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: c65679143f82e28b3aa078f16311350c31a33776 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c65679143f82e28b3aa078f16311350c31a33776 commit c65679143f82e28b3aa078f16311350c31a33776 Author: Andrew Turner AuthorDate: 2023-07-06 13:28:23 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:02 +0000 arm64: Decode the ID_AA64MMFR3_EL1 register Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40893 --- sys/arm64/arm64/identcpu.c | 39 +++++++++++++++++++++++++++++++++++++++ sys/arm64/include/armreg.h | 28 ++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 7117e48ee061..047bb07dc337 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -139,6 +139,7 @@ struct cpu_desc { uint64_t id_aa64mmfr0; uint64_t id_aa64mmfr1; uint64_t id_aa64mmfr2; + uint64_t id_aa64mmfr3; uint64_t id_aa64pfr0; uint64_t id_aa64pfr1; uint64_t id_aa64zfr0; @@ -1265,6 +1266,37 @@ static const struct mrs_field id_aa64mmfr2_fields[] = { }; +/* ID_AA64MMFR2_EL1 */ +static const struct mrs_field_value id_aa64mmfr3_spec_fpacc[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR3, Spec_FPACC, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr3_mec[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR3, MEC, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr3_sctlrx[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR3, SCTLRX, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr3_tcrx[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR3, TCRX, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field id_aa64mmfr3_fields[] = { + MRS_FIELD(ID_AA64MMFR3, Spec_FPACC, false, MRS_EXACT, + id_aa64mmfr3_spec_fpacc), + MRS_FIELD(ID_AA64MMFR3, MEC, false, MRS_EXACT, id_aa64mmfr3_mec), + MRS_FIELD(ID_AA64MMFR3, SCTLRX, false, MRS_EXACT, id_aa64mmfr3_sctlrx), + MRS_FIELD(ID_AA64MMFR3, TCRX, false, MRS_EXACT, id_aa64mmfr3_tcrx), + MRS_FIELD_END, +}; + + /* ID_AA64PFR0_EL1 */ static const struct mrs_field_value id_aa64pfr0_csv3[] = { MRS_FIELD_VALUE(ID_AA64PFR0_CSV3_NONE, ""), @@ -1745,6 +1777,7 @@ static const struct mrs_user_reg user_regs[] = { USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0), USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1), USER_REG(ID_AA64MMFR2_EL1, id_aa64mmfr2), + USER_REG(ID_AA64MMFR3_EL1, id_aa64mmfr3), USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0), USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1), @@ -2471,6 +2504,11 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc, print_id_register(sb, "Memory Model Features 2", desc->id_aa64mmfr2, id_aa64mmfr2_fields); + /* AArch64 Memory Model Feature Register 3 */ + if (SHOULD_PRINT_REG(id_aa64mmfr3)) + print_id_register(sb, "Memory Model Features 3", + desc->id_aa64mmfr3, id_aa64mmfr3_fields); + /* AArch64 Debug Feature Register 0 */ if (SHOULD_PRINT_REG(id_aa64dfr0)) print_id_register(sb, "Debug Features 0", @@ -2585,6 +2623,7 @@ identify_cpu(u_int cpu) desc->id_aa64mmfr0 = READ_SPECIALREG(id_aa64mmfr0_el1); desc->id_aa64mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); desc->id_aa64mmfr2 = READ_SPECIALREG(id_aa64mmfr2_el1); + desc->id_aa64mmfr3 = READ_SPECIALREG(id_aa64mmfr3_el1); desc->id_aa64pfr0 = READ_SPECIALREG(id_aa64pfr0_el1); desc->id_aa64pfr1 = READ_SPECIALREG(id_aa64pfr1_el1); diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 713e7b38a6a0..3adb7ad7325d 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1066,6 +1066,34 @@ #define ID_AA64MMFR2_E0PD_NONE (UL(0x0) << ID_AA64MMFR2_E0PD_SHIFT) #define ID_AA64MMFR2_E0PD_IMPL (UL(0x1) << ID_AA64MMFR2_E0PD_SHIFT) +/* ID_AA64MMFR3_EL1 */ +#define ID_AA64MMFR3_EL1 MRS_REG(ID_AA64MMFR3_EL1) +#define ID_AA64MMFR3_EL1_op0 3 +#define ID_AA64MMFR3_EL1_op1 0 +#define ID_AA64MMFR3_EL1_CRn 0 +#define ID_AA64MMFR3_EL1_CRm 7 +#define ID_AA64MMFR3_EL1_op2 3 +#define ID_AA64MMFR3_TCRX_SHIFT 0 +#define ID_AA64MMFR3_TCRX_MASK (UL(0xf) << ID_AA64MMFR3_TCRX_SHIFT) +#define ID_AA64MMFR3_TCRX_VAL(x) ((x) & ID_AA64MMFR3_TCRX_MASK) +#define ID_AA64MMFR3_TCRX_NONE (UL(0x0) << ID_AA64MMFR3_TCRX_SHIFT) +#define ID_AA64MMFR3_TCRX_IMPL (UL(0x1) << ID_AA64MMFR3_TCRX_SHIFT) +#define ID_AA64MMFR3_SCTLRX_SHIFT 4 +#define ID_AA64MMFR3_SCTLRX_MASK (UL(0xf) << ID_AA64MMFR3_SCTLRX_SHIFT) +#define ID_AA64MMFR3_SCTLRX_VAL(x) ((x) & ID_AA64MMFR3_SCTLRX_MASK) +#define ID_AA64MMFR3_SCTLRX_NONE (UL(0x0) << ID_AA64MMFR3_SCTLRX_SHIFT) +#define ID_AA64MMFR3_SCTLRX_IMPL (UL(0x1) << ID_AA64MMFR3_SCTLRX_SHIFT) +#define ID_AA64MMFR3_MEC_SHIFT 28 +#define ID_AA64MMFR3_MEC_MASK (UL(0xf) << ID_AA64MMFR3_MEC_SHIFT) +#define ID_AA64MMFR3_MEC_VAL(x) ((x) & ID_AA64MMFR3_MEC_MASK) +#define ID_AA64MMFR3_MEC_NONE (UL(0x0) << ID_AA64MMFR3_MEC_SHIFT) +#define ID_AA64MMFR3_MEC_IMPL (UL(0x1) << ID_AA64MMFR3_MEC_SHIFT) +#define ID_AA64MMFR3_Spec_FPACC_SHIFT 60 +#define ID_AA64MMFR3_Spec_FPACC_MASK (UL(0xf) << ID_AA64MMFR3_Spec_FPACC_SHIFT) +#define ID_AA64MMFR3_Spec_FPACC_VAL(x) ((x) & ID_AA64MMFR3_Spec_FPACC_MASK) +#define ID_AA64MMFR3_Spec_FPACC_NONE (UL(0x0) << ID_AA64MMFR3_Spec_FPACC_SHIFT) +#define ID_AA64MMFR3_Spec_FPACC_IMPL (UL(0x1) << ID_AA64MMFR3_Spec_FPACC_SHIFT) + /* ID_AA64PFR0_EL1 */ #define ID_AA64PFR0_EL1 MRS_REG(ID_AA64PFR0_EL1) #define ID_AA64PFR0_EL1_op0 0x3 From nobody Fri Jul 28 12:08:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xt0wdRz4pyVS; Fri, 28 Jul 2023 12:08: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 4RC5xj566Qz42sr; Fri, 28 Jul 2023 12:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=coJFi+6xdZi+e738aHn4YR9P3o9z0tDU2AvKFLHu5tc=; b=EeYvwA1GguZeSPYgzaoEWvgC5CEMB/e7+UL7IQiGMLm05oJ4FuZapqNKUDm9XmMHkauPkc D+XfK2whIAldEaUwOOZNDLFxYsNJdfj88Ov0E19fgq7Fo1hyocD2aU78oBFzM5ZNB0zTqv PahkhgC3TOwbi2nFtm2gfkFm23kO9YFR6TuWMPpPT9om/H3QaK1AVD/113EALaaS8Aw5Ya saeAaIhSbkR3mpOYZ+rZFfB2bz4Wad1CHNn+xadR0fton8+sRhmvhlXiU6fWiaWufaVMk7 pqSwD+MOMZk9Ue08LWdlMRuvh7YatDGbcrEnn6iUVYdcj2xPaxqPoDcpPC3Lew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=coJFi+6xdZi+e738aHn4YR9P3o9z0tDU2AvKFLHu5tc=; b=nEbU7JrY7x/2ftp8UKjOo56bFlJW6fbsduCaM+lc5LhpmM+HYfoeW383cwJrSzeJE4rVSn IZlpP1ekZAG3Yxgs/bWyDNz5+MqhBqrznZrCJF3VAzUVnsmuRrdP7Tywp/oBowSbR+cBiS h4A7zHQpLzyJKVSRG83P6WNACSpUUPtHbJID4ZoyK7M4oiieVY6353NdKAWl0ALfEbUUOh BhKWfGQHGaSFs7w4RQW2JgMmd4qQ2Koh2Jwia+CQEcLUaoKwzIh+T1Mw7CugKqar4x98st qJHR3/+LeptdBZYngv6/XLo9vEGUo8US2n+9fzS03sZD+w4V2VRc8C/5o4ijNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546089; a=rsa-sha256; cv=none; b=VY/pGEGe9zL5fkASGOnhS0YtckE6ZFYT/pH/5cfZntz6UAsJJDd2iya6eXRBAKUeGVdKw+ aCGP0TPT+CeyjHWwKMv2cGujiUCE9pCTraWvigb3Vh1KkNMA88HMulgvUXo1/pix4POeCt krzR3IXzQl8h1vvvpyimQwEFhsMzdIgDSqe2RdUv/mk5fE7joH6MLSvKyvRtCce9gr3AwE 1Zy6Q2SEhGe8W6k1ar8P0z5AuO3pbFJ+1FqT1ZOct3ppYnmGlNPtF3o2qpkdhwIqhpfPR3 AsfDKxRsy49hSOMQDH/WimLz7QgAsNp4BaxOdvmSU1I7kupAVDGc9nSP4lYPXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xj2vhBzqZS; Fri, 28 Jul 2023 12:08: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 36SC89KX062222; Fri, 28 Jul 2023 12:08:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC89Uq062221; Fri, 28 Jul 2023 12:08:09 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:09 GMT Message-Id: <202307281208.36SC89Uq062221@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: 8c111e5b3758 - main - arm64: Update the ID_AA64PFR1_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 8c111e5b375897bc298b8cdb3095f3c0e29c2307 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8c111e5b375897bc298b8cdb3095f3c0e29c2307 commit 8c111e5b375897bc298b8cdb3095f3c0e29c2307 Author: Andrew Turner AuthorDate: 2023-07-06 14:40:01 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:02 +0000 arm64: Update the ID_AA64PFR1_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40896 --- sys/arm64/arm64/identcpu.c | 51 ++++++++++++++++++++++++++++++++++++++++++++-- sys/arm64/include/armreg.h | 46 +++++++++++++++++++++++++++++++++-------- 2 files changed, 86 insertions(+), 11 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 91ba6beb63a4..578c2b629397 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1453,10 +1453,47 @@ static const struct mrs_field id_aa64pfr0_fields[] = { /* ID_AA64PFR1_EL1 */ +static const struct mrs_field_value id_aa64pfr1_nmi[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR1, NMI, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_csv2_frac[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_CSV2_frac_p0, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_CSV2_frac_p1, "CSV2 p1"), + MRS_FIELD_VALUE(ID_AA64PFR1_CSV2_frac_p2, "CSV2 p2"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_rndr_trap[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR1, RNDR_trap, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_sme[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_SME_NONE, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_SME_SME, "SME"), + MRS_FIELD_VALUE(ID_AA64PFR1_SME_SME2, "SME2"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_mpam_frac[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_MPAM_frac_p0, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_MPAM_frac_p1, "MPAM p1"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_ras_frac[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_RAS_frac_p0, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_RAS_frac_p1, "RAS p1"), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64pfr1_mte[] = { MRS_FIELD_VALUE(ID_AA64PFR1_MTE_NONE, ""), - MRS_FIELD_VALUE(ID_AA64PFR1_MTE_IMPL_EL0, "MTE EL0"), - MRS_FIELD_VALUE(ID_AA64PFR1_MTE_IMPL, "MTE"), + MRS_FIELD_VALUE(ID_AA64PFR1_MTE_MTE, "MTE"), + MRS_FIELD_VALUE(ID_AA64PFR1_MTE_MTE2, "MTE2"), + MRS_FIELD_VALUE(ID_AA64PFR1_MTE_MTE3, "MTE3"), MRS_FIELD_VALUE_END, }; @@ -1487,6 +1524,16 @@ static const struct mrs_field_hwcap id_aa64pfr1_bt_caps[] = { #endif static const struct mrs_field id_aa64pfr1_fields[] = { + MRS_FIELD(ID_AA64PFR1, NMI, false, MRS_EXACT, id_aa64pfr1_nmi), + MRS_FIELD(ID_AA64PFR1, CSV2_frac, false, MRS_EXACT, + id_aa64pfr1_csv2_frac), + MRS_FIELD(ID_AA64PFR1, RNDR_trap, false, MRS_EXACT, + id_aa64pfr1_rndr_trap), + MRS_FIELD(ID_AA64PFR1, SME, false, MRS_EXACT, id_aa64pfr1_sme), + MRS_FIELD(ID_AA64PFR1, MPAM_frac, false, MRS_EXACT, + id_aa64pfr1_mpam_frac), + MRS_FIELD(ID_AA64PFR1, RAS_frac, false, MRS_EXACT, + id_aa64pfr1_ras_frac), MRS_FIELD(ID_AA64PFR1, MTE, false, MRS_EXACT, id_aa64pfr1_mte), MRS_FIELD_HWCAP(ID_AA64PFR1, SSBS, false, MRS_LOWER, id_aa64pfr1_ssbs, id_aa64pfr1_ssbs_caps), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index f39fcfde0eaa..7624adf9eee4 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1202,11 +1202,11 @@ /* ID_AA64PFR1_EL1 */ #define ID_AA64PFR1_EL1 MRS_REG(ID_AA64PFR1_EL1) -#define ID_AA64PFR1_EL1_op0 0x3 -#define ID_AA64PFR1_EL1_op1 0x0 -#define ID_AA64PFR1_EL1_CRn 0x0 -#define ID_AA64PFR1_EL1_CRm 0x4 -#define ID_AA64PFR1_EL1_op2 0x1 +#define ID_AA64PFR1_EL1_op0 3 +#define ID_AA64PFR1_EL1_op1 0 +#define ID_AA64PFR1_EL1_CRn 0 +#define ID_AA64PFR1_EL1_CRm 4 +#define ID_AA64PFR1_EL1_op2 1 #define ID_AA64PFR1_BT_SHIFT 0 #define ID_AA64PFR1_BT_MASK (UL(0xf) << ID_AA64PFR1_BT_SHIFT) #define ID_AA64PFR1_BT_VAL(x) ((x) & ID_AA64PFR1_BT_MASK) @@ -1222,13 +1222,41 @@ #define ID_AA64PFR1_MTE_MASK (UL(0xf) << ID_AA64PFR1_MTE_SHIFT) #define ID_AA64PFR1_MTE_VAL(x) ((x) & ID_AA64PFR1_MTE_MASK) #define ID_AA64PFR1_MTE_NONE (UL(0x0) << ID_AA64PFR1_MTE_SHIFT) -#define ID_AA64PFR1_MTE_IMPL_EL0 (UL(0x1) << ID_AA64PFR1_MTE_SHIFT) -#define ID_AA64PFR1_MTE_IMPL (UL(0x2) << ID_AA64PFR1_MTE_SHIFT) +#define ID_AA64PFR1_MTE_MTE (UL(0x1) << ID_AA64PFR1_MTE_SHIFT) +#define ID_AA64PFR1_MTE_MTE2 (UL(0x2) << ID_AA64PFR1_MTE_SHIFT) +#define ID_AA64PFR1_MTE_MTE3 (UL(0x3) << ID_AA64PFR1_MTE_SHIFT) #define ID_AA64PFR1_RAS_frac_SHIFT 12 #define ID_AA64PFR1_RAS_frac_MASK (UL(0xf) << ID_AA64PFR1_RAS_frac_SHIFT) #define ID_AA64PFR1_RAS_frac_VAL(x) ((x) & ID_AA64PFR1_RAS_frac_MASK) -#define ID_AA64PFR1_RAS_frac_V1 (UL(0x0) << ID_AA64PFR1_RAS_frac_SHIFT) -#define ID_AA64PFR1_RAS_frac_V2 (UL(0x1) << ID_AA64PFR1_RAS_frac_SHIFT) +#define ID_AA64PFR1_RAS_frac_p0 (UL(0x0) << ID_AA64PFR1_RAS_frac_SHIFT) +#define ID_AA64PFR1_RAS_frac_p1 (UL(0x1) << ID_AA64PFR1_RAS_frac_SHIFT) +#define ID_AA64PFR1_MPAM_frac_SHIFT 16 +#define ID_AA64PFR1_MPAM_frac_MASK (UL(0xf) << ID_AA64PFR1_MPAM_frac_SHIFT) +#define ID_AA64PFR1_MPAM_frac_VAL(x) ((x) & ID_AA64PFR1_MPAM_frac_MASK) +#define ID_AA64PFR1_MPAM_frac_p0 (UL(0x0) << ID_AA64PFR1_MPAM_frac_SHIFT) +#define ID_AA64PFR1_MPAM_frac_p1 (UL(0x1) << ID_AA64PFR1_MPAM_frac_SHIFT) +#define ID_AA64PFR1_SME_SHIFT 24 +#define ID_AA64PFR1_SME_MASK (UL(0xf) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_SME_VAL(x) ((x) & ID_AA64PFR1_SME_MASK) +#define ID_AA64PFR1_SME_NONE (UL(0x0) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_SME_SME (UL(0x1) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_SME_SME2 (UL(0x2) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_RNDR_trap_SHIFT 28 +#define ID_AA64PFR1_RNDR_trap_MASK (UL(0xf) << ID_AA64PFR1_RNDR_trap_SHIFT) +#define ID_AA64PFR1_RNDR_trap_VAL(x) ((x) & ID_AA64PFR1_RNDR_trap_MASK) +#define ID_AA64PFR1_RNDR_trap_NONE (UL(0x0) << ID_AA64PFR1_RNDR_trap_SHIFT) +#define ID_AA64PFR1_RNDR_trap_IMPL (UL(0x1) << ID_AA64PFR1_RNDR_trap_SHIFT) +#define ID_AA64PFR1_CSV2_frac_SHIFT 32 +#define ID_AA64PFR1_CSV2_frac_MASK (UL(0xf) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_CSV2_frac_VAL(x) ((x) & ID_AA64PFR1_CSV2_frac_MASK) +#define ID_AA64PFR1_CSV2_frac_p0 (UL(0x0) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_CSV2_frac_p1 (UL(0x1) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_CSV2_frac_p2 (UL(0x2) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_NMI_SHIFT 36 +#define ID_AA64PFR1_NMI_MASK (UL(0xf) << ID_AA64PFR1_NMI_SHIFT) +#define ID_AA64PFR1_NMI_VAL(x) ((x) & ID_AA64PFR1_NMI_MASK) +#define ID_AA64PFR1_NMI_NONE (UL(0x0) << ID_AA64PFR1_NMI_SHIFT) +#define ID_AA64PFR1_NMI_IMPL (UL(0x1) << ID_AA64PFR1_NMI_SHIFT) /* ID_AA64ZFR0_EL1 */ #define ID_AA64ZFR0_EL1 MRS_REG(ID_AA64ZFR0_EL1) From nobody Fri Jul 28 12:08:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xt0H87z4pyY1; Fri, 28 Jul 2023 12:08: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 4RC5xh3HWFz42Yw; Fri, 28 Jul 2023 12:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qn0Dx1bJD6NwomHePW32t654YPVd3sxwJTCtgYMDJ+o=; b=aYZgfjkUKE7PwXuuIVwpOXV7mPRtYeQqE70/7RzRnOqIbsbFt/JMfLAd6dVxMbkz08b1MZ FqFOjWDqMRyP3dUFv/RWZH7NvBlHwGBr78sC01zLLQvNMC51axbLZET9kc7z24HMSxh8i7 TGUG1qtjGr+AGMX18/mYDMqnHONHncZ6oJcuwqG+Ik4AT63YjlkkjGJVvVU7udujooKBRa I26HC+kK2Q8azAfQ/p+lwCXe/9M5nKbBrL9CvnqCnA1vH7OdZ8+iQXzzEepiaUSQ0gZ9Og G5ndavzmRt3NOirtWWIBKFVeFcb5wGYwtJmVuZjYDnB3pMLP/8HN/I/p70l65g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qn0Dx1bJD6NwomHePW32t654YPVd3sxwJTCtgYMDJ+o=; b=gOEHZ57X33OUXAegZzuKukb6LtRSsWZaPSKFJVZSuBjsFMIT6zgC6MTJYt6HHAYXOIuxMf ZRZWBFrK8vHjfwU+aprBEfzCoyW244ftjBjlwagLK7mOdFttvGfQ9s0lvf8x2YaUnfZc09 O9ElYbkZx3CYCsiGq98zSiNbb6a99nQYtjqW8v7KBVtWxBuD8+EbCKQZXWy7iaMkLyOc6O dVkUnZIRWS84Kilb+WNfrUqaT7VWkxf7vtfax/SL/aKNJC2iIjPy7oi1U3GV24pm969Buf uOkdKjC0CzG6GACdZl+AhXzLF/zTrk58h4brzVqcghUUT5r6MVAjMyObmIWkoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546088; a=rsa-sha256; cv=none; b=xt9NRAsg56KJA+igv3/L02bu829xjq2/SU+1Av9bmwH7S64ckiCjkfbNVCo65SVeqKKUDA oAo5OVgUtvY0mUzN/jQCF8NF4Jvtou6QUkGSLTPEPZvaFO7r1IBuOwCtPf+CdJFaYJMDGC IA0P1dBMgywqxfGs4Tjt6Pkbk/YvNiv46NmIgW8mKkD6gHxW35dBYtO50iRbA/R0RsuUkY cS++0wZJeHYo7X9+A1kqIXwy4E4eFU3v4Zt7zPxtyDI8jLzXQashF9dQ5IeLjegdtoNJgd tSmGpn0bQRHIxs7Gcqs6aEySnjIkYpyOKgt7zFTZoBtI6HV2Nhiii7ryDwOFnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xh26Y8zqZR; Fri, 28 Jul 2023 12:08: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 36SC88eX062193; Fri, 28 Jul 2023 12:08:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC88uD062192; Fri, 28 Jul 2023 12:08:08 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:08 GMT Message-Id: <202307281208.36SC88uD062192@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: 0766dde9b558 - main - arm64: Update the ID_AA64PFR0_EL1 fields List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 0766dde9b5587d04c634eda1ab4666203d32a271 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0766dde9b5587d04c634eda1ab4666203d32a271 commit 0766dde9b5587d04c634eda1ab4666203d32a271 Author: Andrew Turner AuthorDate: 2023-07-06 14:02:35 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:02 +0000 arm64: Update the ID_AA64PFR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40895 --- sys/arm64/arm64/identcpu.c | 10 +++++++++- sys/arm64/include/armreg.h | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index dabec74f5a19..91ba6beb63a4 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1314,7 +1314,13 @@ static const struct mrs_field_value id_aa64pfr0_csv3[] = { static const struct mrs_field_value id_aa64pfr0_csv2[] = { MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_ISOLATED, "CSV2"), - MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_SCXTNUM, "SCXTNUM"), + MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_SCXTNUM, "CSV2_2"), + MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_3, "CSV2_3"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr0_rme[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, RME, NONE, IMPL), MRS_FIELD_VALUE_END, }; @@ -1332,6 +1338,7 @@ static const struct mrs_field_hwcap id_aa64pfr0_dit_caps[] = { static const struct mrs_field_value id_aa64pfr0_amu[] = { MRS_FIELD_VALUE(ID_AA64PFR0_AMU_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_AMU_V1, "AMUv1"), + MRS_FIELD_VALUE(ID_AA64PFR0_AMU_V1_1, "AMUv1p1"), MRS_FIELD_VALUE_END, }; @@ -1424,6 +1431,7 @@ static const struct mrs_field_value id_aa64pfr0_el0[] = { static const struct mrs_field id_aa64pfr0_fields[] = { MRS_FIELD(ID_AA64PFR0, CSV3, false, MRS_EXACT, id_aa64pfr0_csv3), MRS_FIELD(ID_AA64PFR0, CSV2, false, MRS_EXACT, id_aa64pfr0_csv2), + MRS_FIELD(ID_AA64PFR0, RME, false, MRS_EXACT, id_aa64pfr0_rme), MRS_FIELD_HWCAP(ID_AA64PFR0, DIT, false, MRS_LOWER, id_aa64pfr0_dit, id_aa64pfr0_dit_caps), MRS_FIELD(ID_AA64PFR0, AMU, false, MRS_EXACT, id_aa64pfr0_amu), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 47499f258534..f39fcfde0eaa 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1104,11 +1104,11 @@ /* ID_AA64PFR0_EL1 */ #define ID_AA64PFR0_EL1 MRS_REG(ID_AA64PFR0_EL1) -#define ID_AA64PFR0_EL1_op0 0x3 -#define ID_AA64PFR0_EL1_op1 0x0 -#define ID_AA64PFR0_EL1_CRn 0x0 -#define ID_AA64PFR0_EL1_CRm 0x4 -#define ID_AA64PFR0_EL1_op2 0x0 +#define ID_AA64PFR0_EL1_op0 3 +#define ID_AA64PFR0_EL1_op1 0 +#define ID_AA64PFR0_EL1_CRn 0 +#define ID_AA64PFR0_EL1_CRm 4 +#define ID_AA64PFR0_EL1_op2 0 #define ID_AA64PFR0_EL0_SHIFT 0 #define ID_AA64PFR0_EL0_MASK (UL(0xf) << ID_AA64PFR0_EL0_SHIFT) #define ID_AA64PFR0_EL0_VAL(x) ((x) & ID_AA64PFR0_EL0_MASK) @@ -1176,17 +1176,24 @@ #define ID_AA64PFR0_AMU_VAL(x) ((x) & ID_AA64PFR0_AMU_MASK) #define ID_AA64PFR0_AMU_NONE (UL(0x0) << ID_AA64PFR0_AMU_SHIFT) #define ID_AA64PFR0_AMU_V1 (UL(0x1) << ID_AA64PFR0_AMU_SHIFT) +#define ID_AA64PFR0_AMU_V1_1 (UL(0x2) << ID_AA64PFR0_AMU_SHIFT) #define ID_AA64PFR0_DIT_SHIFT 48 #define ID_AA64PFR0_DIT_MASK (UL(0xf) << ID_AA64PFR0_DIT_SHIFT) #define ID_AA64PFR0_DIT_VAL(x) ((x) & ID_AA64PFR0_DIT_MASK) #define ID_AA64PFR0_DIT_NONE (UL(0x0) << ID_AA64PFR0_DIT_SHIFT) #define ID_AA64PFR0_DIT_PSTATE (UL(0x1) << ID_AA64PFR0_DIT_SHIFT) +#define ID_AA64PFR0_RME_SHIFT 52 +#define ID_AA64PFR0_RME_MASK (UL(0xf) << ID_AA64PFR0_RME_SHIFT) +#define ID_AA64PFR0_RME_VAL(x) ((x) & ID_AA64PFR0_RME_MASK) +#define ID_AA64PFR0_RME_NONE (UL(0x0) << ID_AA64PFR0_RME_SHIFT) +#define ID_AA64PFR0_RME_IMPL (UL(0x1) << ID_AA64PFR0_RME_SHIFT) #define ID_AA64PFR0_CSV2_SHIFT 56 #define ID_AA64PFR0_CSV2_MASK (UL(0xf) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV2_VAL(x) ((x) & ID_AA64PFR0_CSV2_MASK) #define ID_AA64PFR0_CSV2_NONE (UL(0x0) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV2_ISOLATED (UL(0x1) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV2_SCXTNUM (UL(0x2) << ID_AA64PFR0_CSV2_SHIFT) +#define ID_AA64PFR0_CSV2_3 (UL(0x3) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV3_SHIFT 60 #define ID_AA64PFR0_CSV3_MASK (UL(0xf) << ID_AA64PFR0_CSV3_SHIFT) #define ID_AA64PFR0_CSV3_VAL(x) ((x) & ID_AA64PFR0_CSV3_MASK) From nobody Fri Jul 28 12:08:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xt1Zntz4pyKq; Fri, 28 Jul 2023 12:08: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 4RC5xk5Sf7z42qX; Fri, 28 Jul 2023 12:08:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LPcDOgaV5QmY03q9qfTBI0k15zQUujwP3GsGiAbbQYs=; b=K239YY2oAlJFfjzSwB5WYt+bMu/kDZ86EWCFmhvYoHQ0DQNd/FWPx71e4maUj894Ienk2F AkW6n+3ovn/PbECshHxcxoWoN6Gn6eHJ5/2VUYbApzASkapE+fv5nQGUHcbj4faxYsUqwn +ZZeJsb295b1RxT+sMg5BFv0wCuyVyVqRn8ylJ+9bOuKHSfupQwDQPr5PavnDopLPUYyVs i/Tr86QNwUbitTyVd2vhD/lqeHkNIFOOZk7AsYzESrgZSG2x63ih+3tUedJ75zTuXel2WI yFcaaHV1bt/WE8429jSPu1ynnkm8roivUB8aC8kkzZlLgCljuZIabfFQ5lAO9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LPcDOgaV5QmY03q9qfTBI0k15zQUujwP3GsGiAbbQYs=; b=GCLWj1fXa54RdGT/MqyXtwOfSdO+yEZQ/Bwxiah07jXOaL7XjfoMNNK0RagD2tfo71qpyo jO2tY4xSi8uh6CItRTqjZ8yYbkML6tiUGs9EL0a0LN6TR+Lh8Bi8m4TTkXouh187pOpRKe Do8BcqsjreQfX3CaI0nTk6OlS6h4mh3zkg42/M7P7Uv65dntUl8wTHcj2RpNbmH0dlTfWP 1JPtK1PA6zwCbiacfaakjvrRu9vdxpXI9ks+UU5pmm9kJtnhkCwYLs+e1K/F1cvsY69/gn bSEgsX/H/Yna23YrJUG1uqyXZxTje4JV1u7/7UV8VV9A12V/0dNAx2tBOqscEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546090; a=rsa-sha256; cv=none; b=eAse0QdpX47+77PR4YRf8aA6gAGvSl+Hmgih5tYLSHe8+PKawHMkuC8pGW9ZSIW57zjD2G 1BYX2rTdESunHc/C0iA/8xrsI5AWuQyHjC8Ro03radK9CWzY5WbCkTh/IPYez4NVUTnxjN EaiBEtjJA8JBo0KAr8X3KverFjl9EE3TBCy+thScq+/sbec7LrgYZOCErxMEUosraP3Zoi ffRHxR4TBzNmb8B9zjRJ7ohCbc8FrfFMqktaujZadfKK1vQjXndrG26Vb1nnFIzVSGftJU KJtlSWFq/Y7zQP31ju8yJWgqcE9gCsgfvRRxmCMiWT3tBzwhDf9R/Y0L0h6x4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xk3zbHzqWS; Fri, 28 Jul 2023 12:08: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 36SC8A7i062241; Fri, 28 Jul 2023 12:08:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC8Aww062240; Fri, 28 Jul 2023 12:08:10 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:10 GMT Message-Id: <202307281208.36SC8Aww062240@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: 53e1af5a1094 - main - arm64: Decode the ID_AA64PFR2_EL1 register List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 53e1af5a1094ec37412bc33b739de72ed723c428 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=53e1af5a1094ec37412bc33b739de72ed723c428 commit 53e1af5a1094ec37412bc33b739de72ed723c428 Author: Andrew Turner AuthorDate: 2023-07-06 14:48:42 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:02 +0000 arm64: Decode the ID_AA64PFR2_EL1 register No fields have been defined, but it has been documented in the Architecture Reference Manual. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40897 --- sys/arm64/arm64/identcpu.c | 14 ++++++++++++++ sys/arm64/include/armreg.h | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 578c2b629397..2347d27c69e1 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -143,6 +143,7 @@ struct cpu_desc { uint64_t id_aa64mmfr4; uint64_t id_aa64pfr0; uint64_t id_aa64pfr1; + uint64_t id_aa64pfr2; uint64_t id_aa64zfr0; uint64_t ctr; #ifdef COMPAT_FREEBSD32 @@ -1542,6 +1543,12 @@ static const struct mrs_field id_aa64pfr1_fields[] = { }; +/* ID_AA64PFR2_EL1 */ +static const struct mrs_field id_aa64pfr2_fields[] = { + MRS_FIELD_END, +}; + + /* ID_AA64ZFR0_EL1 */ static const struct mrs_field_value id_aa64zfr0_f64mm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ZFR0, F64MM, NONE, IMPL), @@ -1844,6 +1851,7 @@ static const struct mrs_user_reg user_regs[] = { USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0), USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1), + USER_REG(ID_AA64PFR2_EL1, id_aa64pfr2), USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0), @@ -2552,6 +2560,11 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc, print_id_register(sb, "Processor Features 1", desc->id_aa64pfr1, id_aa64pfr1_fields); + /* AArch64 Processor Feature Register 2 */ + if (SHOULD_PRINT_REG(id_aa64pfr2)) + print_id_register(sb, "Processor Features 2", + desc->id_aa64pfr2, id_aa64pfr2_fields); + /* AArch64 Memory Model Feature Register 0 */ if (SHOULD_PRINT_REG(id_aa64mmfr0)) print_id_register(sb, "Memory Model Features 0", @@ -2695,6 +2708,7 @@ identify_cpu(u_int cpu) desc->id_aa64mmfr4 = READ_SPECIALREG(id_aa64mmfr4_el1); desc->id_aa64pfr0 = READ_SPECIALREG(id_aa64pfr0_el1); desc->id_aa64pfr1 = READ_SPECIALREG(id_aa64pfr1_el1); + desc->id_aa64pfr2 = READ_SPECIALREG(id_aa64pfr2_el1); /* * ID_AA64ZFR0_EL1 is only valid when at least one of: diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 7624adf9eee4..92a62c8d2b53 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1258,6 +1258,14 @@ #define ID_AA64PFR1_NMI_NONE (UL(0x0) << ID_AA64PFR1_NMI_SHIFT) #define ID_AA64PFR1_NMI_IMPL (UL(0x1) << ID_AA64PFR1_NMI_SHIFT) +/* ID_AA64PFR2_EL1 */ +#define ID_AA64PFR2_EL1 MRS_REG(ID_AA64PFR2_EL1) +#define ID_AA64PFR2_EL1_op0 3 +#define ID_AA64PFR2_EL1_op1 0 +#define ID_AA64PFR2_EL1_CRn 0 +#define ID_AA64PFR2_EL1_CRm 4 +#define ID_AA64PFR2_EL1_op2 2 + /* ID_AA64ZFR0_EL1 */ #define ID_AA64ZFR0_EL1 MRS_REG(ID_AA64ZFR0_EL1) #define ID_AA64ZFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64ZFR0_EL1) From nobody Fri Jul 28 12:08:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xt0Gq4z4pyY0; Fri, 28 Jul 2023 12: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 4RC5xd2KN7z42Yc; Fri, 28 Jul 2023 12:08:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/VQZUwQagZFfsnizIj1Y3aB/9k8qqJdKzK6mi4CAbmw=; b=o1wmXq6u4AXzas0RSTnX3cfXJIqvCgHR1d7WCLQLpiz6I3cAdx7CadSJaerdarODNzevSw vzpVcKvmEjcCiC9Yc+4As5SfYK4fkfT0lWujaJpzxilJfQ/m8CeZE0QW3cX9J+notsp5b8 Dv5ZZ6EzxQU74jmsuFFjtkdnIBIgxGvCTqIR8MosVLG7Fu5DhqkVownfeh83hqSlUt34IR Ir/30baVRT7Tg4Vr8gyBuXAn0LpplOtv0wSA3tqlJ5tXWOVb1blH67bDT5j3zjbo0iejoo aWQACJMSJ1PtfYyNHCsKDyr3w+fUEBO45CI2b+3UeAqXAX6YGz3EozBuKbrC3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/VQZUwQagZFfsnizIj1Y3aB/9k8qqJdKzK6mi4CAbmw=; b=QtsacGF3o64h+Q3dKTO3uQpeqPN2LQaBOyXqS/Wqa0i5DajOvhCn32fAs789du7oy3jcnx XurbAPihc0vFktDfeHtdFEA2JH/PX1UcnnZ1kOpa+wrKDlhJQtejrHZXvdZ8zi1Uy8R3cW pmIL7wchXxS+OdSi7WqO16Ns3MjyZw/YchoJWoYhCKkf8QKsWLh3ltxq8aNQ0y6T8Amgel sMGwQEWmavzxoR6adgsyq1uve2j9BqzzoZ4hAfJDR6AosEYR4ojnidq3elcWDO9+zqCfdK Tn8PprKAcdQO+XUljyv86FG9mmSeqyqWk8D8gKecqsbcyiD/EZuW7J0FoiT8SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546085; a=rsa-sha256; cv=none; b=mNVP7vEoIsdoknOrt9MX+2ksbfEIpV578qJJdD0xwrZYfnosdZwAyXo+CUjTxh4d9LYNAs MpQoJLSqAWiwJtD2YsM0DKPrQwczRIrLJaMhnkn60rJEO5eLThzstMs1El7KHGCB7mMbOt T72GWeSBlHrKO+Drp9fL8vh1D1dmGBwxzYYqr6tCyLjHpTz8vtLbRg+AVkHNglQrCOVY+O wOOL7mR8qpHv1AMX8SxRzeHg+Ao9M6fRhkbDKUaMYbcMLqY5Nv5cLU5VZZS/vlr0VILKUU bEx8q/ZCnyWFOSUQ7YUAZCY991O0HRTyNSTx/CHBPUDiyWN7ZlV8CQXdZdStsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xc6Zyczqr5; Fri, 28 Jul 2023 12:08: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 36SC8419062131; Fri, 28 Jul 2023 12:08:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC84eH062130; Fri, 28 Jul 2023 12:08:04 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:04 GMT Message-Id: <202307281208.36SC84eH062130@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: 2134cfe793d6 - main - arm64: Don't use hex for ID_AA64MMFR2_EL1_op/CR* List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 2134cfe793d67e3bc6ec0713862168452f4ad8f0 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2134cfe793d67e3bc6ec0713862168452f4ad8f0 commit 2134cfe793d67e3bc6ec0713862168452f4ad8f0 Author: Andrew Turner AuthorDate: 2023-07-06 13:15:12 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:02 +0000 arm64: Don't use hex for ID_AA64MMFR2_EL1_op/CR* It breaks a future macro that creates the alternative register name for old compilers. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40892 --- sys/arm64/include/armreg.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 3ef6e6a3f5e3..713e7b38a6a0 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -982,11 +982,11 @@ /* ID_AA64MMFR2_EL1 */ #define ID_AA64MMFR2_EL1 MRS_REG(ID_AA64MMFR2_EL1) -#define ID_AA64MMFR2_EL1_op0 0x3 -#define ID_AA64MMFR2_EL1_op1 0x0 -#define ID_AA64MMFR2_EL1_CRn 0x0 -#define ID_AA64MMFR2_EL1_CRm 0x7 -#define ID_AA64MMFR2_EL1_op2 0x2 +#define ID_AA64MMFR2_EL1_op0 3 +#define ID_AA64MMFR2_EL1_op1 0 +#define ID_AA64MMFR2_EL1_CRn 0 +#define ID_AA64MMFR2_EL1_CRm 7 +#define ID_AA64MMFR2_EL1_op2 2 #define ID_AA64MMFR2_CnP_SHIFT 0 #define ID_AA64MMFR2_CnP_MASK (UL(0xf) << ID_AA64MMFR2_CnP_SHIFT) #define ID_AA64MMFR2_CnP_VAL(x) ((x) & ID_AA64MMFR2_CnP_MASK) From nobody Fri Jul 28 12:08:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC5xt0H7Lz4pyS8; Fri, 28 Jul 2023 12: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 4RC5xg4gQWz42wD; Fri, 28 Jul 2023 12:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3eI8jUsC+7WM9uuSIYjNLUCN4AUIAMS5a3uxV3CWPrA=; b=a3rjDuwfEW5oyRYxrEKT7n/BTwpPzLt5fhmqTl7xlOILHJhEgOm2syaGh2LcceqbAJPpjm ehmTPI34ZYcNV7bk+uKcXfEeOididdDgD7cAN1Nrk5nsuHfvCnekv9paxKexpS6Kl+b53Y WEqAt8kKOmdW7owCSTvt3n16cNDa+CQLh0UiuKSDkUDw2KISQ78nunk5keuAbEgJiJmJZ0 0/O+bF426sQYYHYeMJxy4Q6k/K8+X0vtKHz1M0QOsU24vGHXCT0utigDQaJU/AcYFKAkJ0 DUNmK755rcZZfJgsMlIXQ0Uqkq/AH8DpLrOrGmc0Qhok0cMiN9mqVYWCN/uKfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690546087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3eI8jUsC+7WM9uuSIYjNLUCN4AUIAMS5a3uxV3CWPrA=; b=SDvfOTDw8ciAY0/vu6ADkXE+y3MlsyO9OFsp/+ujJ4eQv3bTWNaoqO7U9VgbWl7o6m2yoR EWOh0pCmv+SvbDDNX1z0cay/FulnxcCe9PtBKGDOw2enHZLpaILvwNmK6gs/r6JQWGdgRD Pb5iYGZdRM7IZCL8sx15uxwCvFw8AX5ZffxBrrQ3dVg8nV/wleFsAFGG0wSVj+aChqjRHe 67i6wW0mSMDM22G8oej1GS76gHU+ISmQMyIMhhEgxawu52N4cwVHjEwqcBMNXkdLEPjRXc I5vtpUeDBtm5ZPNHZFZvOD/GPJDr/O65CRXPDW82Bo0XzDntmiQLmhUDAO27Iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690546087; a=rsa-sha256; cv=none; b=XQX4NWwaqJ2EeAcFJfOIklri5f+1eSZBFgXGp3N8H+hQShoGd5hd5t5qEzQ9LkWeKVMuPA oT9HfnPHOEaHd8kFow3GGQl/WvKDVpflgOCk6awm1p3jP88qDYR3+9rGCz27GFG7ucG6SE hpVmbDpBdKwUcCzW1lkMkrCl3FJnp+DPGnt7VEtRBDu88BYhnfQUYYTWLlyC394K2BH+G4 GPcxFdv24xwJO4ssV1g4CSKxqqMdlOx36334MOInYLPT2YD5/kQwANefx1Ciss2LMsI//j q6MUWP/IwRuS/d6nJSYvrdiiJQj5v3q0HDou5Uc2bUTlkdWdjG7WmM+qtEGQsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC5xg2zDvzqr6; Fri, 28 Jul 2023 12:08: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 36SC87fo062173; Fri, 28 Jul 2023 12:08:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SC87iI062172; Fri, 28 Jul 2023 12:08:07 GMT (envelope-from git) Date: Fri, 28 Jul 2023 12:08:07 GMT Message-Id: <202307281208.36SC87iI062172@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: 22235b631ba2 - main - arm64: Decode the ID_AA64MMFR4_EL1 register List-Id: Commit messages for all branches 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/main X-Git-Reftype: branch X-Git-Commit: 22235b631ba27d71090aa8f0d2794395feddbbe6 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=22235b631ba27d71090aa8f0d2794395feddbbe6 commit 22235b631ba27d71090aa8f0d2794395feddbbe6 Author: Andrew Turner AuthorDate: 2023-07-06 13:51:52 +0000 Commit: Andrew Turner CommitDate: 2023-07-28 11:53:02 +0000 arm64: Decode the ID_AA64MMFR4_EL1 register No fields have been defined, but it has been documented in the Architecture Reference Manual. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40894 --- sys/arm64/arm64/identcpu.c | 14 ++++++++++++++ sys/arm64/include/armreg.h | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 047bb07dc337..dabec74f5a19 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -140,6 +140,7 @@ struct cpu_desc { uint64_t id_aa64mmfr1; uint64_t id_aa64mmfr2; uint64_t id_aa64mmfr3; + uint64_t id_aa64mmfr4; uint64_t id_aa64pfr0; uint64_t id_aa64pfr1; uint64_t id_aa64zfr0; @@ -1297,6 +1298,12 @@ static const struct mrs_field id_aa64mmfr3_fields[] = { }; +/* ID_AA64MMFR4_EL1 */ +static const struct mrs_field id_aa64mmfr4_fields[] = { + MRS_FIELD_END, +}; + + /* ID_AA64PFR0_EL1 */ static const struct mrs_field_value id_aa64pfr0_csv3[] = { MRS_FIELD_VALUE(ID_AA64PFR0_CSV3_NONE, ""), @@ -1778,6 +1785,7 @@ static const struct mrs_user_reg user_regs[] = { USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1), USER_REG(ID_AA64MMFR2_EL1, id_aa64mmfr2), USER_REG(ID_AA64MMFR3_EL1, id_aa64mmfr3), + USER_REG(ID_AA64MMFR4_EL1, id_aa64mmfr4), USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0), USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1), @@ -2509,6 +2517,11 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc, print_id_register(sb, "Memory Model Features 3", desc->id_aa64mmfr3, id_aa64mmfr3_fields); + /* AArch64 Memory Model Feature Register 4 */ + if (SHOULD_PRINT_REG(id_aa64mmfr4)) + print_id_register(sb, "Memory Model Features 4", + desc->id_aa64mmfr4, id_aa64mmfr4_fields); + /* AArch64 Debug Feature Register 0 */ if (SHOULD_PRINT_REG(id_aa64dfr0)) print_id_register(sb, "Debug Features 0", @@ -2624,6 +2637,7 @@ identify_cpu(u_int cpu) desc->id_aa64mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); desc->id_aa64mmfr2 = READ_SPECIALREG(id_aa64mmfr2_el1); desc->id_aa64mmfr3 = READ_SPECIALREG(id_aa64mmfr3_el1); + desc->id_aa64mmfr4 = READ_SPECIALREG(id_aa64mmfr4_el1); desc->id_aa64pfr0 = READ_SPECIALREG(id_aa64pfr0_el1); desc->id_aa64pfr1 = READ_SPECIALREG(id_aa64pfr1_el1); diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 3adb7ad7325d..47499f258534 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1094,6 +1094,14 @@ #define ID_AA64MMFR3_Spec_FPACC_NONE (UL(0x0) << ID_AA64MMFR3_Spec_FPACC_SHIFT) #define ID_AA64MMFR3_Spec_FPACC_IMPL (UL(0x1) << ID_AA64MMFR3_Spec_FPACC_SHIFT) +/* ID_AA64MMFR4_EL1 */ +#define ID_AA64MMFR4_EL1 MRS_REG(ID_AA64MMFR4_EL1) +#define ID_AA64MMFR4_EL1_op0 3 +#define ID_AA64MMFR4_EL1_op1 0 +#define ID_AA64MMFR4_EL1_CRn 0 +#define ID_AA64MMFR4_EL1_CRm 7 +#define ID_AA64MMFR4_EL1_op2 4 + /* ID_AA64PFR0_EL1 */ #define ID_AA64PFR0_EL1 MRS_REG(ID_AA64PFR0_EL1) #define ID_AA64PFR0_EL1_op0 0x3 From nobody Fri Jul 28 13:35:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC7t95cNPz4qC7B; Fri, 28 Jul 2023 13:35: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 4RC7t9568sz4kyt; Fri, 28 Jul 2023 13:35:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690551313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FdAjyK2tValCKj0oBKzAc4mTGP/aLY+jTgnw5w1M2Xw=; b=mlRczk4L8P8uZ2iRZUkA8h/PoZjWRz09zQwG31SV3zFiL1pltLdPzyim9EVe8Ndzw6PbeV i/fhDYmm/8EDMK0FAEvgHdSj0SLI4247x+ywFSxSoWb6P1gngrCsJeocEckHcs+O1zuk3X KEcBsFoVHfetQDtsSyJf9PNTx859bnLGfUvdh0Rb4dNhJN9Of64Rck0QKMjC+w2GZaXBYl MNhId5064Xh35ewc7dlfEhhoJgCblAXdSgcquEHFcGZyClwLjVDfILUucfC06ORWUCzsdp VgosE+6DCl910OYVnVyx/ylOmpbDO2gsM6yhaOGdlMRsgiWxpEpoJ73l1XTP6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690551313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FdAjyK2tValCKj0oBKzAc4mTGP/aLY+jTgnw5w1M2Xw=; b=Nw+HkYynauIDFNNL2otuZqhfceAaCR4zWL4APjj9cSEoG9U4jWLfJHD1ZmfvEvy8rWkijD QSftjkr53YXkx+6yBUw2XoAeDDAeK/JO71JNyCz8DWzwmm8UFQ0xmE/Bq5+TfequWTHHlB AAdyfw7+Lb0i11MdyJzc2nhNnCtT/C3sZypElodWrrH5C3rhHcItz4yN1ZhQ54Z85s8A8W 3rLT/L+jXsomkbbHPcq9xHXwkdq9dGdATakpNjdzVmbu6oOpF3KB5KzwGJgJc94crzQ5e1 zfRA/swJb2VxMvfjC5N3t0mekvm8r48NQ2lsR6Eb72nLnwDza8oAJT1L5PjWNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690551313; a=rsa-sha256; cv=none; b=HwyFCi/tlV8veY0RYL1i5GaaRT4VZd1v4h7hzd4wk3K5HKRRCRX/IU6etqK+JCo03i2qle d4SqluTws8bs9oDXOEo0pOtCyn8Fnyu3pL+SX0b+xFSU84tsiEOfkPrmZGYrp12ZzZq551 7XX6Blv29YC4dBWKlk+zsDH+pXykDxriAKpvF3fw0mPh7XwV7YQWwDIBftoqXfRyvNHtf3 TKHTGqz+iZFdCFunsTSUUUH9ktVS8R9Rg3LWE37qQPvdRo7EKdgNhI09ABttaRr4bhFAqy gRVZet25t1R6uENsYFL0KWbZUaF+H23K8tNKvRg4TH7VZ250IvItulDKxOs45g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RC7t94B6xzspP; Fri, 28 Jul 2023 13:35: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 36SDZDWC010073; Fri, 28 Jul 2023 13:35:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SDZD3W010072; Fri, 28 Jul 2023 13:35:13 GMT (envelope-from git) Date: Fri, 28 Jul 2023 13:35:13 GMT Message-Id: <202307281335.36SDZD3W010072@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: dd24d475d514 - main - arm64: Add constants for decoding ISS fields for WF* exceptions List-Id: Commit messages for all branches 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: dd24d475d514bba755111c5eecfef1d362b9d68c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=dd24d475d514bba755111c5eecfef1d362b9d68c commit dd24d475d514bba755111c5eecfef1d362b9d68c Author: Mark Johnston AuthorDate: 2023-07-28 13:32:45 +0000 Commit: Mark Johnston CommitDate: 2023-07-28 13:34:38 +0000 arm64: Add constants for decoding ISS fields for WF* exceptions WFI and WFIT trap to EL2 when executed in a vmm guest. (Currently WFE/WFET are not configured to trap.) We only handle WFI at the moment, so these constants are useful when handling the exception. Reviewed by: andrew MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41199 --- sys/arm64/include/armreg.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 92a62c8d2b53..df1b51fb1875 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -316,6 +316,26 @@ #define ISS_INSN_S1PTW (0x01 << 7) #define ISS_INSN_IFSC_MASK (0x1f << 0) +#define ISS_WFx_TI_SHIFT 0 +#define ISS_WFx_TI_MASK (0x03 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFI (0x00 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFE (0x01 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFIT (0x02 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFET (0x03 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_RV_SHIFT 2 +#define ISS_WFx_RV_MASK (0x01 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RV_INVALID (0x00 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RV_VALID (0x01 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RN_SHIFT 5 +#define ISS_WFx_RN_MASK (0x1f << ISS_WFx_RN_SHIFT) +#define ISS_WFx_RN(x) (((x) & ISS_WFx_RN_MASK) >> ISS_WFx_RN_SHIFT) +#define ISS_WFx_COND_SHIFT 20 +#define ISS_WFx_COND_MASK (0x0f << ISS_WFx_COND_SHIFT) +#define ISS_WFx_CV_SHIFT 24 +#define ISS_WFx_CV_MASK (0x01 << ISS_WFx_CV_SHIFT) +#define ISS_WFx_CV_INVALID (0x00 << ISS_WFx_CV_SHIFT) +#define ISS_WFx_CV_VALID (0x01 << ISS_WFx_CV_SHIFT) + #define ISS_MSR_DIR_SHIFT 0 #define ISS_MSR_DIR (0x01 << ISS_MSR_DIR_SHIFT) #define ISS_MSR_Rt_SHIFT 5 From nobody Fri Jul 28 13:37:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RC7wX6S0hz4qDVL; Fri, 28 Jul 2023 13:37:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RC7wX3cCcz3CNV; Fri, 28 Jul 2023 13:37:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.17.1/8.17.1) with ESMTPS id 36SDb7u4021659 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 28 Jul 2023 16:37:10 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 36SDb7u4021659 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 36SDb7Pa021658; Fri, 28 Jul 2023 16:37:07 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 28 Jul 2023 16:37:07 +0300 From: Konstantin Belousov To: Mateusz Guzik Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 5b353925ff61 - main - vnode read(2)/write(2): acquire rangelock regardless of do_vn_io_fault() Message-ID: References: <202307242203.36OM3IwQ009522@gitrepo.freebsd.org> List-Id: Commit messages for all branches 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=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4RC7wX3cCcz3CNV X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Fri, Jul 28, 2023 at 02:17:51AM +0200, Mateusz Guzik wrote: > On 7/25/23, Konstantin Belousov wrote: > > The branch main has been updated by kib: > > > > URL: > > https://cgit.FreeBSD.org/src/commit/?id=5b353925ff61b9ddb97bb453ba75278b578ed7d9 > > > > commit 5b353925ff61b9ddb97bb453ba75278b578ed7d9 > > Author: Konstantin Belousov > > AuthorDate: 2023-07-23 15:55:50 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2023-07-24 22:02:59 +0000 > > > > vnode read(2)/write(2): acquire rangelock regardless of > > do_vn_io_fault() > > > > To ensure atomicity of reads against parallel writes and truncates, > > vnode lock was not enough at least since introduction of vn_io_fault(). > > That code only take rangelock when it was possible that vn_read() and > > vn_write() could drop the vnode lock. > > > > At least since the introduction of VOP_READ_PGCACHE() which generally > > does not lock the vnode at all, rangelocks become required even > > for filesystems that do not need vn_io_fault() workaround. For > > instance, tmpfs. > > > > Is there a bug with pgcache reads disabled (as in when the vnode lock > is held for reads?) > > Note this patch adds 2 lock trips which were previously not present, > which has to slow things down single-threaded, but I did not bother > measuring that part. > > As this adds to vnode-wide *lock* acquires this has to very negatively > affect scalability. > > This time around I ran: ./readseek3_processes -t 10 (10 workers > reading from *disjoint* offsets from the same vnode. this in principle > can scale perfectly) > > I observed a 90% drop in performance: > before: total:25723459 ops/s > after: total:2455794 ops/s > > Going to an unpatched kernel and disabling pgcache reads instead: > disabled: total:6522480 ops/s > > or about 2.6x of performance of the current kernel > > In other words I think the thing to do here is to revert the patch and > instead flip pgcache reads to off by default until a better fix can be > implemented. The rangelock purpose is to ensure atomicity of reads in presence of writes. In other words, taking the rangelock there is architecturally right. Also, it fixes issues with truncation that are not fixable with the vnode lock on tmpfs vnodes anyway. That said, disabling pgcache vop on tmpfs means that the regular read vop is always used, which takes the vnode lock around reads. So I doubt that the changed disposition would gain much in your test. The proper future fix would be to improve scalability of the rangelocks, whose naive stop-gap implementation I did initially in time of current-7 or -8 was not changed at all. BTW, it seems that file offset locks are no longer needed, but I need to recheck it. This should shave off four atomics on read and write path. From nobody Fri Jul 28 16:43:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCD3M6qCWz4pF38; Fri, 28 Jul 2023 16:43: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 4RCD3M650Bz3q7Z; Fri, 28 Jul 2023 16:43:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690562607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=It2VEol8jKPssxVXqAq7SK/bPNfLlDRt1SV2y1x4uUg=; b=Ljx6meRx5CE86JiKZCS1BRw/hVnpRIvDR+M/iSEwtpsLKYEepkwXqJGS6WIFeIt13ssI/g kqMiLjmr4m1xpnBXaBIBMY2YK5/IjFYf4S50oTVjH7KD1PNx7KvylxakSZCoj813JI7gcr ouavN0Tvk28OoRngWCZ28ciVT9BdY5gvzsB0zbbY0AhjgnMQT8WWaBGUzqEKI2x5cRYrNk ad7WSZQD+tAZh4LxHOgOKt6ts2oGY6YGfu+MnN3XiU34YrCLfYbvmijwkPJguo4nvyTKQw OD2KvELzBkmajHuoEl1t6pzuX00UpSXSxtohWcezzzj0pkEE3GtQWbCjQ5PV9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690562607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=It2VEol8jKPssxVXqAq7SK/bPNfLlDRt1SV2y1x4uUg=; b=a/ZNPSvaU5rYYSnF0WIKLR/JV01L9GL6rjbX0gPIgG1DJs9pwsz6hDYwnMLsAJLeXeVgOg QIKxBzQ/Fm3Pf9MtzxK4eZ4JqYqOiweHQGMcoyfmYZqusCqlgUZhdmy+DKDHX4Wzcu4H08 z/vWs96S/KORkqYyuLS9+g5oURo4zbh23y2a8ZXZIaU7duGzKeM7BhGj3EWIEqMK4WIMVf VGFWyLtU+1GxfokpwvR9o2B57Nw7gIbSey74oQk29lOQy58uFOtA3FbhkEAZwaLwpgXU7o ip9mk4EUHUQ8mz61NkEKCX5VHkN7eFv0+nWTXoIF6jHQcrN9SrD8DvBfhu4lXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690562607; a=rsa-sha256; cv=none; b=lcIwzrI/ldcXMeZsKW9TgY+HpdKk8wXwuyvnY2IIPZXhlW2zxVvvMo96mnw6WjUM2JGRTq KhGo++W99NFlf945y1CCoTzBzXed72Tv/t5aaxZ34L+qnGvuWoCFN+e9Gxre48UUOcUN7I eh6BTZ/yh2sBuH2dx54tnL5olRAs+388WpWnMI57qzhjRiNJwn5p5kdQ3UjympVwpX+IkX T0WlwiKMsavUCquBsBHbairMBvvgjdWQu1SRusdQpvg2mQMXThAdPMArrWkJanGNKAMG4K VKrLdIHYWCGWQm2cv829uKMLyxEdIhBXU/eO1MY18+s1MXnwtpkPHxSUIJ3f+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 4RCD3M583Fzy4j; Fri, 28 Jul 2023 16:43: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 36SGhRo6025306; Fri, 28 Jul 2023 16:43:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SGhR9N025305; Fri, 28 Jul 2023 16:43:27 GMT (envelope-from git) Date: Fri, 28 Jul 2023 16:43:27 GMT Message-Id: <202307281643.36SGhR9N025305@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 2d2bcba7ba70 - main - Every path in a radix trie ends with a leaf or a NULL. By replacing NULL (non-leaf) pointers with NULL leaves, there is a NULL test removed from every iteration of an index-based search loop. List-Id: Commit messages for all branches 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: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d2bcba7ba70141388729ed49674b36fd01146c5 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=2d2bcba7ba70141388729ed49674b36fd01146c5 commit 2d2bcba7ba70141388729ed49674b36fd01146c5 Author: Doug Moore AuthorDate: 2023-07-28 16:39:52 +0000 Commit: Doug Moore CommitDate: 2023-07-28 16:39:52 +0000 Every path in a radix trie ends with a leaf or a NULL. By replacing NULL (non-leaf) pointers with NULL leaves, there is a NULL test removed from every iteration of an index-based search loop. This speeds up radix trie searches by few percent. If there are any radix tries that are not initialized with the init() function, but instead depend on zeroing everything being proper initialization, this will break those tries. Reviewed by: alc, kib Tested by: pho (as part of a larger change) Differential Revision: https://reviews.freebsd.org/D41171 --- sys/kern/subr_pctrie.c | 175 ++++++++++++++++++------------------- sys/sys/_pctrie.h | 7 +- sys/sys/pctrie.h | 14 ++- sys/vm/_vm_radix.h | 7 +- sys/vm/vm_radix.c | 231 +++++++++++++++++++++++++------------------------ sys/vm/vm_radix.h | 14 ++- 6 files changed, 235 insertions(+), 213 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index 4cd7f4b085ba..6d45d9762a78 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -79,9 +79,8 @@ typedef uint32_t pn_popmap_t; _Static_assert(sizeof(pn_popmap_t) <= sizeof(int), "pn_popmap_t too wide"); -/* Flag bits stored in node pointers. */ -#define PCTRIE_ISLEAF 0x1 -#define PCTRIE_FLAGS 0x1 +/* Set of all flag bits stored in node pointers. */ +#define PCTRIE_FLAGS (PCTRIE_ISLEAF) #define PCTRIE_PAD PCTRIE_FLAGS /* Returns one unit associated with specified level. */ @@ -140,7 +139,7 @@ pctrie_node_get(struct pctrie *ptree, pctrie_alloc_t allocfn, uint64_t index, */ if (node->pn_popmap != 0) { pctrie_node_store(&node->pn_child[ffs(node->pn_popmap) - 1], - NULL, PCTRIE_UNSERIALIZED); + PCTRIE_NULL, PCTRIE_UNSERIALIZED); node->pn_popmap = 0; } node->pn_owner = pctrie_trimkey(index, clevel + 1); @@ -165,7 +164,8 @@ pctrie_node_put(struct pctrie *ptree, struct pctrie_node *node, if ((node->pn_popmap & (1 << slot)) != 0) continue; KASSERT(smr_unserialized_load(&node->pn_child[slot], true) == - NULL, ("pctrie_node_put: node %p has a child", node)); + PCTRIE_NULL, + ("pctrie_node_put: node %p has a child", node)); } #endif freefn(ptree, node); @@ -320,12 +320,13 @@ pctrie_reclaim_allnodes_int(struct pctrie *ptree, struct pctrie_node *node, slot = ffs(node->pn_popmap) - 1; child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_UNSERIALIZED); - KASSERT(child != NULL, ("%s: bad popmap slot %d in node %p", + KASSERT(child != PCTRIE_NULL, + ("%s: bad popmap slot %d in node %p", __func__, slot, node)); if (!pctrie_isleaf(child)) pctrie_reclaim_allnodes_int(ptree, child, freefn); node->pn_popmap ^= 1 << slot; - pctrie_node_store(&node->pn_child[slot], NULL, + pctrie_node_store(&node->pn_child[slot], PCTRIE_NULL, PCTRIE_UNSERIALIZED); } pctrie_node_put(ptree, node, freefn); @@ -341,7 +342,9 @@ pctrie_zone_init(void *mem, int size __unused, int flags __unused) node = mem; node->pn_popmap = 0; - memset(node->pn_child, 0, sizeof(node->pn_child)); + for (int i = 0; i < nitems(node->pn_child); i++) + pctrie_node_store(&node->pn_child[i], PCTRIE_NULL, + PCTRIE_UNSERIALIZED); return (0); } @@ -360,7 +363,7 @@ int pctrie_insert(struct pctrie *ptree, uint64_t *val, pctrie_alloc_t allocfn) { uint64_t index, newind; - struct pctrie_node *leaf, *node, *tmp; + struct pctrie_node *leaf, *node, *parent; smr_pctnode_t *parentp; int slot; uint16_t clev; @@ -373,29 +376,32 @@ pctrie_insert(struct pctrie *ptree, uint64_t *val, pctrie_alloc_t allocfn) * will never be used. */ node = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); - if (node == NULL) { - ptree->pt_root = (uintptr_t)leaf; - return (0); - } - for (parentp = (smr_pctnode_t *)&ptree->pt_root;; node = tmp) { + parent = NULL; + for (;;) { if (pctrie_isleaf(node)) { + if (node == PCTRIE_NULL) { + if (parent == NULL) + ptree->pt_root = leaf; + else + pctrie_addnode(parent, index, + parent->pn_clev, leaf, + PCTRIE_LOCKED); + return (0); + } newind = *pctrie_toval(node); if (newind == index) panic("%s: key %jx is already present", __func__, (uintmax_t)index); break; - } else if (pctrie_keybarr(node, index)) { + } + if (pctrie_keybarr(node, index)) { newind = node->pn_owner; break; } slot = pctrie_slot(index, node->pn_clev); - parentp = &node->pn_child[slot]; - tmp = pctrie_node_load(parentp, NULL, PCTRIE_LOCKED); - if (tmp == NULL) { - pctrie_addnode(node, index, node->pn_clev, leaf, - PCTRIE_LOCKED); - return (0); - } + parent = node; + node = pctrie_node_load(&node->pn_child[slot], NULL, + PCTRIE_LOCKED); } /* @@ -403,15 +409,17 @@ pctrie_insert(struct pctrie *ptree, uint64_t *val, pctrie_alloc_t allocfn) * Setup the new intermediate node and add the 2 children: the * new object and the older edge or object. */ + parentp = (parent != NULL) ? &parent->pn_child[slot]: + (smr_pctnode_t *)&ptree->pt_root; clev = pctrie_keydiff(newind, index); - tmp = pctrie_node_get(ptree, allocfn, index, clev); - if (tmp == NULL) + parent = pctrie_node_get(ptree, allocfn, index, clev); + if (parent == NULL) return (ENOMEM); /* These writes are not yet visible due to ordering. */ - pctrie_addnode(tmp, index, clev, leaf, PCTRIE_UNSERIALIZED); - pctrie_addnode(tmp, newind, clev, node, PCTRIE_UNSERIALIZED); + pctrie_addnode(parent, index, clev, leaf, PCTRIE_UNSERIALIZED); + pctrie_addnode(parent, newind, clev, node, PCTRIE_UNSERIALIZED); /* Synchronize to make the above visible. */ - pctrie_node_store(parentp, tmp, PCTRIE_LOCKED); + pctrie_node_store(parentp, parent, PCTRIE_LOCKED); return (0); } @@ -428,10 +436,9 @@ _pctrie_lookup(struct pctrie *ptree, uint64_t index, smr_t smr, int slot; node = pctrie_root_load(ptree, smr, access); - while (node != NULL) { + for (;;) { if (pctrie_isleaf(node)) { - m = pctrie_toval(node); - if (*m == index) + if ((m = pctrie_toval(node)) != NULL && *m == index) return (m); break; } @@ -499,10 +506,9 @@ pctrie_lookup_ge(struct pctrie *ptree, uint64_t index) */ node = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); succ = NULL; - while (node != NULL) { + for (;;) { if (pctrie_isleaf(node)) { - m = pctrie_toval(node); - if (*m >= index) + if ((m = pctrie_toval(node)) != NULL && *m >= index) return (m); break; } @@ -580,10 +586,9 @@ pctrie_lookup_le(struct pctrie *ptree, uint64_t index) */ node = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); pred = NULL; - while (node != NULL) { + for (;;) { if (pctrie_isleaf(node)) { - m = pctrie_toval(node); - if (*m <= index) + if ((m = pctrie_toval(node)) != NULL && *m <= index) return (m); break; } @@ -626,66 +631,54 @@ pctrie_lookup_le(struct pctrie *ptree, uint64_t index) void pctrie_remove(struct pctrie *ptree, uint64_t index, pctrie_free_t freefn) { - struct pctrie_node *node, *parent, *tmp; + struct pctrie_node *child, *node, *parent; uint64_t *m; int slot; - node = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); - if (pctrie_isleaf(node)) { - m = pctrie_toval(node); - if (*m != index) - panic("%s: invalid key found", __func__); - pctrie_root_store(ptree, NULL, PCTRIE_LOCKED); - return; - } - parent = NULL; + node = NULL; + child = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); for (;;) { - if (node == NULL) - panic("pctrie_remove: impossible to locate the key"); - slot = pctrie_slot(index, node->pn_clev); - tmp = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - if (pctrie_isleaf(tmp)) { - m = pctrie_toval(tmp); - if (*m != index) - panic("%s: invalid key found", __func__); - KASSERT((node->pn_popmap & (1 << slot)) != 0, - ("%s: bad popmap slot %d in node %p", - __func__, slot, node)); - node->pn_popmap ^= 1 << slot; - pctrie_node_store(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - if (!powerof2(node->pn_popmap)) - break; - KASSERT(node->pn_popmap != 0, - ("%s: bad popmap all zeroes", __func__)); - slot = ffs(node->pn_popmap) - 1; - tmp = pctrie_node_load(&node->pn_child[slot], - NULL, PCTRIE_LOCKED); - KASSERT(tmp != NULL, - ("%s: bad popmap slot %d in node %p", - __func__, slot, node)); - if (parent == NULL) - pctrie_root_store(ptree, tmp, PCTRIE_LOCKED); - else { - slot = pctrie_slot(index, parent->pn_clev); - KASSERT(pctrie_node_load( - &parent->pn_child[slot], NULL, - PCTRIE_LOCKED) == node, - ("%s: invalid child value", __func__)); - pctrie_node_store(&parent->pn_child[slot], tmp, - PCTRIE_LOCKED); - } - /* - * The child is still valid and we can not zero the - * pointer until all SMR references are gone. - */ - pctrie_node_put(ptree, node, freefn); + if (pctrie_isleaf(child)) break; - } parent = node; - node = tmp; + node = child; + slot = pctrie_slot(index, node->pn_clev); + child = pctrie_node_load(&node->pn_child[slot], NULL, + PCTRIE_LOCKED); + } + if ((m = pctrie_toval(child)) == NULL || *m != index) + panic("%s: key not found", __func__); + if (node == NULL) { + pctrie_root_store(ptree, PCTRIE_NULL, PCTRIE_LOCKED); + return; + } + KASSERT((node->pn_popmap & (1 << slot)) != 0, + ("%s: bad popmap slot %d in node %p", + __func__, slot, node)); + node->pn_popmap ^= 1 << slot; + pctrie_node_store(&node->pn_child[slot], PCTRIE_NULL, PCTRIE_LOCKED); + if (!powerof2(node->pn_popmap)) + return; + KASSERT(node->pn_popmap != 0, ("%s: bad popmap all zeroes", __func__)); + slot = ffs(node->pn_popmap) - 1; + child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); + KASSERT(child != PCTRIE_NULL, + ("%s: bad popmap slot %d in node %p", __func__, slot, node)); + if (parent == NULL) + pctrie_root_store(ptree, child, PCTRIE_LOCKED); + else { + slot = pctrie_slot(index, parent->pn_clev); + KASSERT(node == + pctrie_node_load(&parent->pn_child[slot], NULL, + PCTRIE_LOCKED), ("%s: invalid child value", __func__)); + pctrie_node_store(&parent->pn_child[slot], child, + PCTRIE_LOCKED); } + /* + * The child is still valid and we can not zero the + * pointer until all SMR references are gone. + */ + pctrie_node_put(ptree, node, freefn); } /* @@ -699,9 +692,9 @@ pctrie_reclaim_allnodes(struct pctrie *ptree, pctrie_free_t freefn) struct pctrie_node *root; root = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); - if (root == NULL) + if (root == PCTRIE_NULL) return; - pctrie_root_store(ptree, NULL, PCTRIE_UNSERIALIZED); + pctrie_root_store(ptree, PCTRIE_NULL, PCTRIE_UNSERIALIZED); if (!pctrie_isleaf(root)) pctrie_reclaim_allnodes_int(ptree, root, freefn); } diff --git a/sys/sys/_pctrie.h b/sys/sys/_pctrie.h index b7947889e176..bc2f6a781066 100644 --- a/sys/sys/_pctrie.h +++ b/sys/sys/_pctrie.h @@ -33,11 +33,16 @@ #ifndef __SYS_PCTRIE_H_ #define __SYS_PCTRIE_H_ +/* + * Radix tree node. + */ +struct pctrie_node; + /* * Radix tree root. */ struct pctrie { - uintptr_t pt_root; + struct pctrie_node *pt_root; }; #endif /* !__SYS_PCTRIE_H_ */ diff --git a/sys/sys/pctrie.h b/sys/sys/pctrie.h index 1968cb521fd6..687236cdd872 100644 --- a/sys/sys/pctrie.h +++ b/sys/sys/pctrie.h @@ -135,18 +135,24 @@ void pctrie_remove(struct pctrie *ptree, uint64_t key, size_t pctrie_node_size(void); int pctrie_zone_init(void *mem, int size, int flags); +/* + * Each search path in the trie terminates at a leaf, which is a pointer to a + * value marked with a set 1-bit. A leaf may be associated with a null pointer + * to indicate no value there. + */ +#define PCTRIE_ISLEAF 0x1 +#define PCTRIE_NULL (struct pctrie_node *)PCTRIE_ISLEAF + static __inline void pctrie_init(struct pctrie *ptree) { - - ptree->pt_root = 0; + ptree->pt_root = PCTRIE_NULL; } static __inline bool pctrie_is_empty(struct pctrie *ptree) { - - return (ptree->pt_root == 0); + return (ptree->pt_root == PCTRIE_NULL); } /* diff --git a/sys/vm/_vm_radix.h b/sys/vm/_vm_radix.h index 77e364d1d238..26f112ee3ee8 100644 --- a/sys/vm/_vm_radix.h +++ b/sys/vm/_vm_radix.h @@ -33,11 +33,16 @@ #ifndef __VM_RADIX_H_ #define __VM_RADIX_H_ +/* + * Radix tree node. + */ +struct vm_radix_node; + /* * Radix tree root. */ struct vm_radix { - uintptr_t rt_root; + struct vm_radix_node *rt_root; }; #endif /* !__VM_RADIX_H_ */ diff --git a/sys/vm/vm_radix.c b/sys/vm/vm_radix.c index 6504d5031460..3c4ea9568108 100644 --- a/sys/vm/vm_radix.c +++ b/sys/vm/vm_radix.c @@ -103,9 +103,8 @@ typedef uint32_t rn_popmap_t; _Static_assert(sizeof(rn_popmap_t) <= sizeof(int), "rn_popmap_t too wide"); -/* Flag bits stored in node pointers. */ -#define VM_RADIX_ISLEAF 0x1 -#define VM_RADIX_FLAGS 0x1 +/* Set of all flag bits stored in node pointers. */ +#define VM_RADIX_FLAGS (VM_RADIX_ISLEAF) #define VM_RADIX_PAD VM_RADIX_FLAGS /* Returns one unit associated with specified level. */ @@ -165,7 +164,7 @@ vm_radix_node_get(vm_pindex_t index, uint16_t clevel) */ if (rnode->rn_popmap != 0) { vm_radix_node_store(&rnode->rn_child[ffs(rnode->rn_popmap) - 1], - NULL, UNSERIALIZED); + VM_RADIX_NULL, UNSERIALIZED); rnode->rn_popmap = 0; } rnode->rn_owner = vm_radix_trimkey(index, clevel + 1); @@ -189,7 +188,8 @@ vm_radix_node_put(struct vm_radix_node *rnode) if ((rnode->rn_popmap & (1 << slot)) != 0) continue; KASSERT(smr_unserialized_load(&rnode->rn_child[slot], true) == - NULL, ("vm_radix_node_put: rnode %p has a child", rnode)); + VM_RADIX_NULL, + ("vm_radix_node_put: rnode %p has a child", rnode)); } #endif uma_zfree_smr(vm_radix_node_zone, rnode); @@ -344,17 +344,34 @@ vm_radix_reclaim_allnodes_int(struct vm_radix_node *rnode) slot = ffs(rnode->rn_popmap) - 1; child = vm_radix_node_load(&rnode->rn_child[slot], UNSERIALIZED); - KASSERT(child != NULL, ("%s: bad popmap slot %d in rnode %p", + KASSERT(child != VM_RADIX_NULL, + ("%s: bad popmap slot %d in rnode %p", __func__, slot, rnode)); if (!vm_radix_isleaf(child)) vm_radix_reclaim_allnodes_int(child); rnode->rn_popmap ^= 1 << slot; - vm_radix_node_store(&rnode->rn_child[slot], NULL, + vm_radix_node_store(&rnode->rn_child[slot], VM_RADIX_NULL, UNSERIALIZED); } vm_radix_node_put(rnode); } +/* + * radix node zone initializer. + */ +static int +vm_radix_zone_init(void *mem, int size, int flags) +{ + struct vm_radix_node *rnode; + + rnode = mem; + rnode->rn_popmap = 0; + for (int i = 0; i < nitems(rnode->rn_child); i++) + vm_radix_node_store(&rnode->rn_child[i], VM_RADIX_NULL, + UNSERIALIZED); + return (0); +} + #ifndef UMA_MD_SMALL_ALLOC void vm_radix_reserve_kva(void); /* @@ -387,8 +404,8 @@ vm_radix_zinit(void) { vm_radix_node_zone = uma_zcreate("RADIX NODE", - sizeof(struct vm_radix_node), NULL, NULL, NULL, NULL, - VM_RADIX_PAD, UMA_ZONE_VM | UMA_ZONE_SMR | UMA_ZONE_ZINIT); + sizeof(struct vm_radix_node), NULL, NULL, vm_radix_zone_init, NULL, + VM_RADIX_PAD, UMA_ZONE_VM | UMA_ZONE_SMR); vm_radix_smr = uma_zone_get_smr(vm_radix_node_zone); } @@ -400,7 +417,7 @@ int vm_radix_insert(struct vm_radix *rtree, vm_page_t page) { vm_pindex_t index, newind; - struct vm_radix_node *leaf, *rnode, *tmp; + struct vm_radix_node *leaf, *parent, *rnode; smrnode_t *parentp; int slot; uint16_t clev; @@ -413,29 +430,30 @@ vm_radix_insert(struct vm_radix *rtree, vm_page_t page) * will never be used. */ rnode = vm_radix_root_load(rtree, LOCKED); - if (rnode == NULL) { - rtree->rt_root = (uintptr_t)leaf; - return (0); - } - for (parentp = (smrnode_t *)&rtree->rt_root;; rnode = tmp) { + parent = NULL; + for (;;) { if (vm_radix_isleaf(rnode)) { + if (rnode == VM_RADIX_NULL) { + if (parent == NULL) + rtree->rt_root = leaf; + else + vm_radix_addnode(parent, index, + parent->rn_clev, leaf, LOCKED); + return (0); + } newind = vm_radix_topage(rnode)->pindex; if (newind == index) panic("%s: key %jx is already present", __func__, (uintmax_t)index); break; - } else if (vm_radix_keybarr(rnode, index)) { + } + if (vm_radix_keybarr(rnode, index)) { newind = rnode->rn_owner; break; } slot = vm_radix_slot(index, rnode->rn_clev); - parentp = &rnode->rn_child[slot]; - tmp = vm_radix_node_load(parentp, LOCKED); - if (tmp == NULL) { - vm_radix_addnode(rnode, index, rnode->rn_clev, leaf, - LOCKED); - return (0); - } + parent = rnode; + rnode = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); } /* @@ -443,15 +461,17 @@ vm_radix_insert(struct vm_radix *rtree, vm_page_t page) * Setup the new intermediate node and add the 2 children: the * new object and the older edge or object. */ + parentp = (parent != NULL) ? &parent->rn_child[slot]: + (smrnode_t *)&rtree->rt_root; clev = vm_radix_keydiff(newind, index); - tmp = vm_radix_node_get(index, clev); - if (tmp == NULL) + parent = vm_radix_node_get(index, clev); + if (parent == NULL) return (ENOMEM); /* These writes are not yet visible due to ordering. */ - vm_radix_addnode(tmp, index, clev, leaf, UNSERIALIZED); - vm_radix_addnode(tmp, newind, clev, rnode, UNSERIALIZED); + vm_radix_addnode(parent, index, clev, leaf, UNSERIALIZED); + vm_radix_addnode(parent, newind, clev, rnode, UNSERIALIZED); /* Serializing write to make the above visible. */ - vm_radix_node_store(parentp, tmp, LOCKED); + vm_radix_node_store(parentp, parent, LOCKED); return (0); } @@ -468,10 +488,10 @@ _vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index, int slot; rnode = vm_radix_root_load(rtree, access); - while (rnode != NULL) { + for (;;) { if (vm_radix_isleaf(rnode)) { - m = vm_radix_topage(rnode); - if (m->pindex == index) + if ((m = vm_radix_topage(rnode)) != NULL && + m->pindex == index) return (m); break; } @@ -540,10 +560,10 @@ vm_radix_lookup_ge(struct vm_radix *rtree, vm_pindex_t index) */ rnode = vm_radix_root_load(rtree, LOCKED); succ = NULL; - while (rnode != NULL) { + for (;;) { if (vm_radix_isleaf(rnode)) { - m = vm_radix_topage(rnode); - if (m->pindex >= index) + if ((m = vm_radix_topage(rnode)) != NULL && + m->pindex >= index) return (m); break; } @@ -619,10 +639,10 @@ vm_radix_lookup_le(struct vm_radix *rtree, vm_pindex_t index) */ rnode = vm_radix_root_load(rtree, LOCKED); pred = NULL; - while (rnode != NULL) { + for (;;) { if (vm_radix_isleaf(rnode)) { - m = vm_radix_topage(rnode); - if (m->pindex <= index) + if ((m = vm_radix_topage(rnode)) != NULL && + m->pindex <= index) return (m); break; } @@ -662,63 +682,52 @@ vm_radix_lookup_le(struct vm_radix *rtree, vm_pindex_t index) vm_page_t vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index) { - struct vm_radix_node *rnode, *parent, *tmp; + struct vm_radix_node *child, *parent, *rnode; vm_page_t m; int slot; - rnode = vm_radix_root_load(rtree, LOCKED); - if (vm_radix_isleaf(rnode)) { - m = vm_radix_topage(rnode); - if (m->pindex != index) - return (NULL); - vm_radix_root_store(rtree, NULL, LOCKED); - return (m); - } - parent = NULL; + rnode = NULL; + child = vm_radix_root_load(rtree, LOCKED); for (;;) { - if (rnode == NULL) - return (NULL); - slot = vm_radix_slot(index, rnode->rn_clev); - tmp = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); - if (vm_radix_isleaf(tmp)) { - m = vm_radix_topage(tmp); - if (m->pindex != index) - return (NULL); - KASSERT((rnode->rn_popmap & (1 << slot)) != 0, - ("%s: bad popmap slot %d in rnode %p", - __func__, slot, rnode)); - rnode->rn_popmap ^= 1 << slot; - vm_radix_node_store( - &rnode->rn_child[slot], NULL, LOCKED); - if (!powerof2(rnode->rn_popmap)) - return (m); - KASSERT(rnode->rn_popmap != 0, - ("%s: bad popmap all zeroes", __func__)); - slot = ffs(rnode->rn_popmap) - 1; - tmp = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); - KASSERT(tmp != NULL, - ("%s: bad popmap slot %d in rnode %p", - __func__, slot, rnode)); - if (parent == NULL) - vm_radix_root_store(rtree, tmp, LOCKED); - else { - slot = vm_radix_slot(index, parent->rn_clev); - KASSERT(vm_radix_node_load( - &parent->rn_child[slot], LOCKED) == rnode, - ("%s: invalid child value", __func__)); - vm_radix_node_store(&parent->rn_child[slot], - tmp, LOCKED); - } - /* - * The child is still valid and we can not zero the - * pointer until all smr references are gone. - */ - vm_radix_node_put(rnode); - return (m); - } + if (vm_radix_isleaf(child)) + break; parent = rnode; - rnode = tmp; + rnode = child; + slot = vm_radix_slot(index, rnode->rn_clev); + child = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); + } + if ((m = vm_radix_topage(child)) == NULL || m->pindex != index) + return (NULL); + if (rnode == NULL) { + vm_radix_root_store(rtree, VM_RADIX_NULL, LOCKED); + return (m); + } + KASSERT((rnode->rn_popmap & (1 << slot)) != 0, + ("%s: bad popmap slot %d in rnode %p", __func__, slot, rnode)); + rnode->rn_popmap ^= 1 << slot; + vm_radix_node_store(&rnode->rn_child[slot], VM_RADIX_NULL, LOCKED); + if (!powerof2(rnode->rn_popmap)) + return (m); + KASSERT(rnode->rn_popmap != 0, ("%s: bad popmap all zeroes", __func__)); + slot = ffs(rnode->rn_popmap) - 1; + child = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); + KASSERT(child != VM_RADIX_NULL, + ("%s: bad popmap slot %d in rnode %p", __func__, slot, rnode)); + if (parent == NULL) + vm_radix_root_store(rtree, child, LOCKED); + else { + slot = vm_radix_slot(index, parent->rn_clev); + KASSERT(rnode == + vm_radix_node_load(&parent->rn_child[slot], LOCKED), + ("%s: invalid child value", __func__)); + vm_radix_node_store(&parent->rn_child[slot], child, LOCKED); } + /* + * The child is still valid and we can not zero the + * pointer until all smr references are gone. + */ + vm_radix_node_put(rnode); + return (m); } /* @@ -732,9 +741,9 @@ vm_radix_reclaim_allnodes(struct vm_radix *rtree) struct vm_radix_node *root; root = vm_radix_root_load(rtree, LOCKED); - if (root == NULL) + if (root == VM_RADIX_NULL) return; - vm_radix_root_store(rtree, NULL, UNSERIALIZED); + vm_radix_root_store(rtree, VM_RADIX_NULL, UNSERIALIZED); if (!vm_radix_isleaf(root)) vm_radix_reclaim_allnodes_int(root); } @@ -746,36 +755,34 @@ vm_radix_reclaim_allnodes(struct vm_radix *rtree) vm_page_t vm_radix_replace(struct vm_radix *rtree, vm_page_t newpage) { - struct vm_radix_node *rnode, *tmp; + struct vm_radix_node *leaf, *parent, *rnode; vm_page_t m; vm_pindex_t index; int slot; + leaf = vm_radix_toleaf(newpage); index = newpage->pindex; rnode = vm_radix_root_load(rtree, LOCKED); - if (rnode == NULL) - panic("%s: replacing page on an empty trie", __func__); - if (vm_radix_isleaf(rnode)) { - m = vm_radix_topage(rnode); - if (m->pindex != index) - panic("%s: original replacing root key not found", - __func__); - rtree->rt_root = (uintptr_t)vm_radix_toleaf(newpage); - return (m); - } + parent = NULL; for (;;) { - slot = vm_radix_slot(index, rnode->rn_clev); - tmp = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); - if (vm_radix_isleaf(tmp)) { - m = vm_radix_topage(tmp); - if (m->pindex != index) - break; - vm_radix_node_store(&rnode->rn_child[slot], - vm_radix_toleaf(newpage), LOCKED); - return (m); - } else if (tmp == NULL || vm_radix_keybarr(tmp, index)) + if (vm_radix_isleaf(rnode)) { + if ((m = vm_radix_topage(rnode)) != NULL && + m->pindex == index) { + if (parent == NULL) + rtree->rt_root = leaf; + else + vm_radix_node_store( + &parent->rn_child[slot], leaf, + LOCKED); + return (m); + } + break; + } + if (vm_radix_keybarr(rnode, index)) break; - rnode = tmp; + slot = vm_radix_slot(index, rnode->rn_clev); + parent = rnode; + rnode = vm_radix_node_load(&rnode->rn_child[slot], LOCKED); } panic("%s: original replacing page not found", __func__); } diff --git a/sys/vm/vm_radix.h b/sys/vm/vm_radix.h index b478cf4b734b..becfbaedccf5 100644 --- a/sys/vm/vm_radix.h +++ b/sys/vm/vm_radix.h @@ -48,18 +48,24 @@ vm_page_t vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index); vm_page_t vm_radix_replace(struct vm_radix *rtree, vm_page_t newpage); void vm_radix_zinit(void); +/* + * Each search path in the trie terminates at a leaf, which is a pointer to a + * page marked with a set 1-bit. A leaf may be associated with a null pointer + * to indicate no page there. + */ +#define VM_RADIX_ISLEAF 0x1 +#define VM_RADIX_NULL (struct vm_radix_node *)VM_RADIX_ISLEAF + static __inline void vm_radix_init(struct vm_radix *rtree) { - - rtree->rt_root = 0; + rtree->rt_root = VM_RADIX_NULL; } static __inline bool vm_radix_is_empty(struct vm_radix *rtree) { - - return (rtree->rt_root == 0); + return (rtree->rt_root == VM_RADIX_NULL); } #endif /* _KERNEL */ From nobody Fri Jul 28 16:52:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCDGb5XNmz4pKY0; Fri, 28 Jul 2023 16:53: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 4RCDGP0tV9z3sWl; Fri, 28 Jul 2023 16:53:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690563181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4rX0fEGQZpns/YyTrolcfHReRdvdDKnozCyaeN7SJA=; b=VwXTjxuFebM6LAALqgab85YOSIeRoxH21ExKhE9zmsDKNJD4cUCFr98y0d7rypeEuwc6d8 Kknu6H/SC4y5njupSey2lTdE5r3/QLwrPjq53PoaiuzVyPLp0nkTxwh+KaUSDFxp6zP32K DPMLuTh5VZx3xpT1axwO6569O8MIoV+oYbj98pHmU0eZ3pSEjeF83kvwuyRoi3RVlCvxgU R3YJldRHPitKfAPcQWRklWtEGQ8hjvaz9LmeuKEDkotKd/gSsgqVTGeTlKuD3lJ/Gt0bnj ROzX/b+a4pQ1iNMwbeNdh+ccrftL9i9VGBjOQBX6aLyA7EjCTZSPNejL2APv7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690563181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4rX0fEGQZpns/YyTrolcfHReRdvdDKnozCyaeN7SJA=; b=SrXAAdzDD9+FLGffiCqlEBt1Z+lsafvFRZelURWjleZ1lHwAoFLkzTS+xxw2fpghRWi+f2 K1VI6UKxOxHkKELw05WlkpVozio6gUnz9KNhT1KCeKYRG67WyetuU1s0HyyyU384h9d2t0 4L4Rm5InHpqCu6DaC+nIXDKNgjCz9EIpzDLVYbdJcIeg7/Mt8WSJkh2jVALzC3/7JbRNba atVmX2hh2lBvxOV3D0+4sXprglC9+YlIQUv5bjg2PMjzJnOgHmdL41v6fzoDBFpVHQ9PnQ dyL3W7GHSULVUm2JD8DsbKMjagJpSl0RpXUyheBYEp5aSIjeiJgvRfBP0ZrZUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690563181; a=rsa-sha256; cv=none; b=Kv7BlGkeOOcQSgmVe4hVjP9Inw4GXxXXNVsZzJdL0LoYZSQaHfMKrzRyjg9MpMfeXSzG2Z j7z4fE7Ab4xDql/8ugEDsrPwhCTJr9ByDWyAa6YOH0PoXw1jriRRKmWzDBM6tdX2yad+O2 GN0q0bC9d0bGr/LmZ+0TuCtUU0+3C0mgKxK8X9PTmdePPp8vTu1k6HhDx+h644Md0VBl2v Y6p9jbBp8SPT7W7G0mgN0hau6CPISl1/NYd0kiatp5JWZ78qWKh7EXIMhUrcMnF2G/d/aG mdTWagq2D1RWDtjjeadO47SzQgvYsArMcVzZ24VpBp/vcJBWHDdy0S90BEpeQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCDGN1DNrzy7K; Fri, 28 Jul 2023 16:53: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 36SGqxZS041596; Fri, 28 Jul 2023 16:52:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SGqxk5041595; Fri, 28 Jul 2023 16:52:59 GMT (envelope-from git) Date: Fri, 28 Jul 2023 16:52:59 GMT Message-Id: <202307281652.36SGqxk5041595@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 2d01ce7f853e - main - mk: Install bsd.compat.pre.mk List-Id: Commit messages for all branches 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d01ce7f853e4cc1283a70167192c9c277e6172d Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=2d01ce7f853e4cc1283a70167192c9c277e6172d commit 2d01ce7f853e4cc1283a70167192c9c277e6172d Author: Jessica Clarke AuthorDate: 2023-07-28 16:52:38 +0000 Commit: Jessica Clarke CommitDate: 2023-07-28 16:52:38 +0000 mk: Install bsd.compat.pre.mk Reported by: dchagin Fixes: 5d6cb793d0d5 ("bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables") --- share/mk/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/share/mk/Makefile b/share/mk/Makefile index ea6b58b5b65a..51c8d204da16 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -20,6 +20,7 @@ FILES= \ bsd.clang-analyze.mk \ bsd.compiler.mk \ bsd.compat.mk \ + bsd.compat.pre.mk \ bsd.confs.mk \ bsd.cpu.mk \ bsd.crunchgen.mk \ From nobody Fri Jul 28 16:54:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCDJT6pWCz4pL7N for ; Fri, 28 Jul 2023 16:54:49 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RCDJT4stmz3v7j for ; Fri, 28 Jul 2023 16:54:49 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3fbc54cab6fso23786555e9.0 for ; Fri, 28 Jul 2023 09:54:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690563287; x=1691168087; 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=QaloV/3NYMNfK/spocn8U/7+1J/T/JrdWmP3aouKs6I=; b=QajJvYGvZkZ9TjCOTNkwJAFwFyXJnSjSPn0RMlR+jtxD/XMn4YadDo3U/PPaSdKXe8 CaRVsT6Jdkl/U7oLX4X9/kvfdDTA3JNuo22N0lgcitddf14nj8cw2EgPrbjN+bATQXJ6 aQ+ImgU0ij8Dj9wefyHySR08BmZGoTzqqMhoDvuAqA/cMsyktEv9Ntv1qa+OMHnCa7f/ IkDpMIGZK8ElSchPVVo/sdM6Qi/jNrTVXQd6RHX5ZxIoSp3/ALGUldZRwXQP/jbBvn9D japenulogsmOK6b6xYd8Bc9reUZDNcy+EpCgjB7v8LtBobEZ/wAT0rg2sG6C7Q6CyKy3 AC3A== X-Gm-Message-State: ABy/qLZT+i8EkEbneMtJj2UsZqixqk8ay2o2fHAKy7L1Oon0vErn/yzh f6104DAS51nb91uCdTB9KTGAsxCI3gUAWSlbpv4= X-Google-Smtp-Source: APBJJlHYs7i9llq870kyXygnIwcjBPMCtvsHJOi+q23NhssRmczkIdnLBFUSeCw3OMKn2VSPTisXeA== X-Received: by 2002:adf:fdc2:0:b0:317:690e:7b39 with SMTP id i2-20020adffdc2000000b00317690e7b39mr2128583wrs.12.1690563287445; Fri, 28 Jul 2023 09:54:47 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id h18-20020adff192000000b003113ed02080sm5154937wro.95.2023.07.28.09.54.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Jul 2023 09:54:47 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 87177389b75d - main - bsd.lib.mk: Automatically generate libcompat TAGS From: Jessica Clarke In-Reply-To: Date: Fri, 28 Jul 2023 17:54:36 +0100 Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202307270411.36R4BwXG097599@gitrepo.freebsd.org> To: Dmitry Chagin X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4RCDJT4stmz3v7j X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 28 Jul 2023, at 12:09, Dmitry Chagin wrote: >=20 > On Thu, Jul 27, 2023 at 04:11:58AM +0000, Jessica Clarke wrote: >> The branch main has been updated by jrtc27: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D87177389b75d93618faa9a64ec29c16b= 53f09129 >>=20 >> commit 87177389b75d93618faa9a64ec29c16b53f09129 >> Author: Jessica Clarke >> AuthorDate: 2023-07-27 04:10:46 +0000 >> Commit: Jessica Clarke >> CommitDate: 2023-07-27 04:10:46 +0000 >>=20 >> bsd.lib.mk: Automatically generate libcompat TAGS >>=20 >> Note that the pattern for matching is made slightly more specific, = so as >> to permit libcompats where one is a prefix of another (e.g. = CheriBSD has >> lib64 and lib64c). >>=20 >> Reviewed by: brooks, jhb, emaste >> Differential Revision: https://reviews.freebsd.org/D41185 >> --- >> share/mk/bsd.lib.mk | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >>=20 >> diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk >> index a58114af43c4..4e653a7bcb20 100644 >> --- a/share/mk/bsd.lib.mk >> +++ b/share/mk/bsd.lib.mk >> @@ -5,6 +5,7 @@ >> .include >> .include >> .include >> +.include >>=20 > Hi, Jess, > it seems bsd.compat.pre.mk is not installed during install >=20 > dchagin@mordor:~/wait/vm/tst/dso % make > make: "/usr/share/mk/bsd.lib.mk" line 8: Could not find > bsd.compat.pre.mk > make: Fatal errors encountered -- cannot continue > make: stopped in /home/dchagin/wait/vm/tst/dso Huh, I didn=E2=80=99t realise we had a separate list, odd it=E2=80=99s = not just *.mk like for sys/machine/include. Fix should now be pushed. Thanks, Jess >> ____: >>=20 >> @@ -64,9 +65,11 @@ CTFFLAGS+=3D -g >> STRIP?=3D -s >> .endif >>=20 >> -.if ${SHLIBDIR:M*lib32*} >> -TAGS+=3D lib32 >> +.for _libcompat in ${_ALL_libcompats} >> +.if ${SHLIBDIR:M*/lib${_libcompat}} || = ${SHLIBDIR:M*/lib${_libcompat}/*} >> +TAGS+=3D lib${_libcompat} >> .endif >> +.endfor >>=20 >> .if defined(NO_ROOT) >> .if !defined(TAGS) || ! ${TAGS:Mpackage=3D*} From nobody Fri Jul 28 18:15:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCG5l1JrKz4p8HZ; Fri, 28 Jul 2023 18:15: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 4RCG5l0hFrz4NFm; Fri, 28 Jul 2023 18:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690568139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUnevsS9vjBVPYlvWStvX/bVqcCV47ytNXzX08ODBEA=; b=lQ4mMZBjWpS7LyxsX7sbSASY1ZJ/WfeoWP1GVVieLXC1ONPAHFT72QzQZIDvu3ZtxSioDR M0vDobJFHO0DHoFSwAISjk4QtdEIlteso6L6p3ssNCX0JJGE0iAFXgJv+L3wheObwEBC3+ tvVEwj7biIMikiZRhLLKVOQB+clO2Yw4Qw2xpWvIMGlhMNr7LQBVbCcS1sJr119sJ4LnG+ UrOhGA+q8OAoUVznUQcZfmsihyI4Roorbb3hYmF5emxSQlkHoUDy9zmAGhG5BTa0XaFpfo uHV4K2ObOIxXnzBKH3rbU+GNC2YQ/bpApmvUzbrxRcvUDQypOCak+WcPhSpODg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690568139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUnevsS9vjBVPYlvWStvX/bVqcCV47ytNXzX08ODBEA=; b=mQYe7dChfGmi6pXf8FJ+cC2D3uDzGrYU29pzs+KU9dYcDE0MfNgTNPclv7kZkwU6ir0l5Q a6bBjEuz2eIMSmYcvj3buCVxBpzNLzj3ku7gbSENPsfGNSX2+G/4ezzIeGENtgABWOiVz3 hNFh7uf/YvSUvjAg40hDn9jNvnMDdBSzQMW1jGN76nZ06jJDqfLZax9muh0vsoK/WWXmmc xLcVxLR665xJlNgstHr2R3G6FszTYo4B6iy75Z+nopM/sH7juHN6rDCePAhjWr5ZLcK/jl ImxGv4+d+QQSwWhpQl+X6D/UIcSVcmmvn2lP7jQBapTQdNsr1FgG6Kxkvs04Og== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690568139; a=rsa-sha256; cv=none; b=OOCZEmYVuSa65FyIJlbyuiBJ2u8pTLGr9hCHuIqqQidb92hElUbFAF1aJs1B2aLYMVFFyp qsUOO/jbn3wmhcDXRzg2ZE0MbYpKiItrXoGeSpi98+cWW5dTHpdHUhWD9rm1Xj4bYTtf2q KOatO7C16qk3Xt64VfJEQBzmsbNIVMxFFb6aovCbM13+IYNb0stkYUiKl4MrJI0OaufU5Z vjH7oL0EtC7tqmy7Tu4VR7U5gm7IavSvQOOfwInzx4c/1lnL12TE+QrlogqoOM25c3ZNg8 ZiXlmOU6qGwMsED+M3Z1DtnUp7pnFo5NUwHh23gABaZuOt1n9XXcp7ZMi74ocQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCG5k6syKz11QH; Fri, 28 Jul 2023 18:15: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 36SIFcwX076167; Fri, 28 Jul 2023 18:15:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SIFc3H076166; Fri, 28 Jul 2023 18:15:38 GMT (envelope-from git) Date: Fri, 28 Jul 2023 18:15:38 GMT Message-Id: <202307281815.36SIFc3H076166@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: e474a8e24391 - main - cam: Log errors from passthru commands List-Id: Commit messages for all branches 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e474a8e24391b173a93c279341c452ae12d5997b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e474a8e24391b173a93c279341c452ae12d5997b commit e474a8e24391b173a93c279341c452ae12d5997b Author: Warner Losh AuthorDate: 2023-07-28 18:11:21 +0000 Commit: Warner Losh CommitDate: 2023-07-28 18:11:21 +0000 cam: Log errors from passthru commands Since a30ecd42b8e09 we've logged almost all unexpected errors from commands. However, some passthru commands were not logged via devctl. To fix this, pass all requests through passerror (which calls cam_periph_error), but flag those requests that didn't want error recovery as SF_NO_RECOVERY, like we do for device probing. By doing this we get identical behavior to the current code, but log these errors. We have had hangs on drives that seems to show no error. Vendor analysis of the drive found an illegal command that happen to hang the drive. In verifying their analysis, we discovered that the pass through commands from things like smartctl that encountered errors or timeouts weren't logged. Sponsored by: Netflix Reviewed by: ken, mav Differential Revision: https://reviews.freebsd.org/D41167 --- sys/cam/scsi/scsi_pass.c | 48 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/sys/cam/scsi/scsi_pass.c b/sys/cam/scsi/scsi_pass.c index becd8803cd2c..39ee23b956b4 100644 --- a/sys/cam/scsi/scsi_pass.c +++ b/sys/cam/scsi/scsi_pass.c @@ -183,6 +183,8 @@ static int passerror(union ccb *ccb, uint32_t cam_flags, uint32_t sense_flags); static int passsendccb(struct cam_periph *periph, union ccb *ccb, union ccb *inccb); +static void passflags(union ccb *ccb, uint32_t *cam_flags, + uint32_t *sense_flags); static struct periph_driver passdriver = { @@ -912,19 +914,17 @@ passdone(struct cam_periph *periph, union ccb *done_ccb) xpt_print(periph->path, "%s: called for user CCB %p\n", __func__, io_req->user_ccb_ptr); #endif - if (((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) - && (done_ccb->ccb_h.flags & CAM_PASS_ERR_RECOVER) - && ((io_req->flags & PASS_IO_ABANDONED) == 0)) { + if (((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) && + ((io_req->flags & PASS_IO_ABANDONED) == 0)) { int error; + uint32_t cam_flags, sense_flags; - error = passerror(done_ccb, CAM_RETRY_SELTO, - SF_RETRY_UA | SF_NO_PRINT); + passflags(done_ccb, &cam_flags, &sense_flags); + error = passerror(done_ccb, cam_flags, sense_flags); if (error == ERESTART) { - /* - * A retry was scheduled, so - * just return. - */ + KASSERT(((sense_flags & SF_NO_RETRY) == 0), + ("passerror returned ERESTART with no retry requested\n")); return; } } @@ -2230,10 +2230,13 @@ passsendccb(struct cam_periph *periph, union ccb *ccb, union ccb *inccb) * that request. Otherwise, it's up to the user to perform any * error recovery. */ - cam_periph_runccb(ccb, (ccb->ccb_h.flags & CAM_PASS_ERR_RECOVER) ? - passerror : NULL, /* cam_flags */ CAM_RETRY_SELTO, - /* sense_flags */ SF_RETRY_UA | SF_NO_PRINT, - softc->device_stats); + { + uint32_t cam_flags, sense_flags; + + passflags(ccb, &cam_flags, &sense_flags); + cam_periph_runccb(ccb, passerror, cam_flags, + sense_flags, softc->device_stats); + } cam_periph_unlock(periph); cam_periph_unmapmem(ccb, &mapinfo); @@ -2246,6 +2249,25 @@ passsendccb(struct cam_periph *periph, union ccb *ccb, union ccb *inccb) return(0); } +/* + * Set the cam_flags and sense_flags based on whether or not the request wants + * error recovery. In order to log errors via devctl, we need to do at least + * minimal recovery. We do this by not retrying unit attention (we let the + * requester do it, or not, if appropriate) and specifically asking for no + * recovery, like we do during device probing. + */ +static void +passflags(union ccb *ccb, uint32_t *cam_flags, uint32_t *sense_flags) +{ + if ((ccb->ccb_h.flags & CAM_PASS_ERR_RECOVER) != 0) { + *cam_flags = CAM_RETRY_SELTO; + *sense_flags = SF_RETRY_UA | SF_NO_PRINT; + } else { + *cam_flags = 0; + *sense_flags = SF_NO_RETRY | SF_NO_RECOVERY | SF_NO_PRINT; + } +} + static int passerror(union ccb *ccb, uint32_t cam_flags, uint32_t sense_flags) { From nobody Fri Jul 28 18:40:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCGfK1SlLz4pKxp; Fri, 28 Jul 2023 18:40:25 +0000 (UTC) (envelope-from garga@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 4RCGfK0hq4z3DwJ; Fri, 28 Jul 2023 18:40:25 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690569625; h=from:from:reply-to:subject: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=0p1Yenm+HvfR92KZ5Px4YEnDV4QFsVpkTnxElTd3bTE=; b=wCSdPd/46013Seu/FfAbFmaiPESLLN+N6UjD/o1Q73lPtWnrlEsrOv0gNoVSrBAWfr8Qyq rrj9OqVOEMNQK6W4iXNf4iC+tNfB842KKsksurcddzPP2u2vnu6WstxbXtZk6iCgcibSwo 1otxZnhnzrrqbqcZIRB98iVUBvJ+4uOA6VrSti1D2wZrfPD+S2UtfaCjIbjdekCgPnCCxQ tiQI+bvpkl7smq5BwBRmHap1KqVY7ua8aYBdehc0PwVBkrZ6mI1yLK7EJNnE+3DbNBpC6c /FIjzlBHiN8k1bbXiEZXP0A7PdbmdchhCOy6Z4BWcNgUq6pXyTDUuTTiwJCfhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690569625; h=from:from:reply-to:subject: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=0p1Yenm+HvfR92KZ5Px4YEnDV4QFsVpkTnxElTd3bTE=; b=fALsK/iOtfew9/GSjva+7nN43OG4ZikKQxjXBUqF7TZXHyAiZIhcSwWX0RNZr7oIrxjLLG nUKDtGQVOhbNuC+qua1c8Ho4OcSai3FP2rvU2nLQlYO2Mj0zRwQV161bNW2fwS8ka8mYsR lSfykLzd84rPEkOK1VdL4YSZYcBylKbtPOd9Okn85Wu7BFDjH2Z1UQ1XtRtM0dvdOVnxe2 nC5DqjhPpEBgcmyP94GglJmO34y/AWickrn+W1A5WQd9PTCRJBbDrdwvYfYwlF7VcMbSK3 Bxn9OMVYxGlq93291hjOm1QLzjWYTaDslVAEOR99DuPcLCKqfYg3XNKd10OGPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690569625; a=rsa-sha256; cv=none; b=QIOQgxMRaaY3TaIFanGJeQXMxsSd0f3bvbMTKH6Poh221rL2yD8jyKEX3howPjG1lNUKgl Rg+mZ2mTzNHLLTNzDUA/e0B1JeDjo9SemkxsslMbTdcp63cQuob9apkbffENSOqYHg/AkW elAzKlrc69vwwW0YCiD4zYIsRkOuDWw2rmFfV0xcqbv2ogyJCFrQWqWVJg9CBPvsAMKNhJ 5a3UK/n9gVLJacAiOok6DOprPKLqVgJbXUVMtP2OnTZCrAgvpR+tnv6AZa0RU2IWQadL3B 4xp2VjaEyfIshBVvol7/hUX+TuKRupmGXNTiq/YV0RudUlR8TKlA+QZdPNK55w== Received: from [172.21.4.170] (dynamic-177-53-82-16.telecominternet.net.br [177.53.82.16]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RCGfH3XDbz1BLK; Fri, 28 Jul 2023 18:40:23 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <622fce0c-403b-35fa-9134-a432390a8b44@FreeBSD.org> Date: Fri, 28 Jul 2023 15:40:19 -0300 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 65f28f63a73d - main - tools/build: Create toolchain symlinks for non-absolute compiler/linker Content-Language: en-US To: Jessica Clarke , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202307270412.36R4C2vh097664@gitrepo.freebsd.org> From: Renato Botelho In-Reply-To: <202307270412.36R4C2vh097664@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 27/07/23 01:12, Jessica Clarke wrote: > The branch main has been updated by jrtc27: > > URL: https://cgit.FreeBSD.org/src/commit/?id=65f28f63a73d3371d9d724a2018be6d1ada0d3e0 > > commit 65f28f63a73d3371d9d724a2018be6d1ada0d3e0 > Author: Jessica Clarke > AuthorDate: 2023-07-27 04:10:47 +0000 > Commit: Jessica Clarke > CommitDate: 2023-07-27 04:10:47 +0000 > > tools/build: Create toolchain symlinks for non-absolute compiler/linker > > If any of the toolchain variables are not absolute then we need to > create a symlink in WORLDTMP/legacy/bin in order to make them available > during a BUILD_WITH_STRICT_TMPPATH build. > > Reviewed by: brooks, jhb > Differential Revision: https://reviews.freebsd.org/D41188 I'm having problems with etcupdate and I suspect this can be the commit that caused the trouble. After installworld/installkernel on a chroot Boot Environment directory, etcupdate fails with following error message: Failed to build new tree. I've checked etcupdate log and saw this: cd /usr/src/tools/build; make DIRPRFX=tools/build/ DESTDIR=/var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy host-symlinks Linking host tools into /var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin cp: /usr/bin/basename: Cross-device link -- Renato Botelho From nobody Fri Jul 28 18:48:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCGqr0L4mz4pQHL for ; Fri, 28 Jul 2023 18:48:40 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 4RCGqq5gX4z3HPQ for ; Fri, 28 Jul 2023 18:48:39 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3110ab7110aso2428486f8f.3 for ; Fri, 28 Jul 2023 11:48:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690570117; x=1691174917; 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=cw5Rzp21Ip4TpUWdc+UxgDsF6GF9DO2xAFAcZYRXFiU=; b=A+ABq/DkeCfo/yNgjXvAyhlJhibVfJ0S2XOleZFbIgdkVEobqdq5wp9JV+okY3c36g 9E2iucbV6VMSlzX7WdIA9ZVy/t3Qp9EW01pN9xwuLTdEhMSsxGcAyxqFccnCowIfFotg TTAd0agLZJjLrGTrFC4frLJb3dGasnEy+3eU57E3y73qcR7hyKO2bqCYK4AHMlQKzS9h cAycI69d43smyZlMhKQlz9cvz53OE2rsiMsEvUgabq75GFcUtdLs2M9ZJ2dpKax7xFMy Q4+WcJOqNJAg11kGVxRgVQQDP2lFTgk281C4dU01VJmZZVzOQ0PaILxrMch0vW3sGd4d jw5Q== X-Gm-Message-State: ABy/qLa66nBNLF9A5pl307J/0KmxXlpLOaMi++q98dD1KNruWR65lPfG kCraedLtON+GvVUHk4JWMKrYag== X-Google-Smtp-Source: APBJJlH3T/aZItXVr4gkYe2I0iNhbfl/fO/KfBM0FgBnZR6Tku+k5fCYd/WeJuwm7AJEv0Kv2rLcJQ== X-Received: by 2002:a5d:444e:0:b0:315:9e1b:4ea6 with SMTP id x14-20020a5d444e000000b003159e1b4ea6mr2587320wrr.58.1690570117390; Fri, 28 Jul 2023 11:48:37 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id y4-20020a05600c20c400b003fd2e89620asm7475811wmm.40.2023.07.28.11.48.36 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Jul 2023 11:48:37 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 65f28f63a73d - main - tools/build: Create toolchain symlinks for non-absolute compiler/linker From: Jessica Clarke In-Reply-To: <622fce0c-403b-35fa-9134-a432390a8b44@FreeBSD.org> Date: Fri, 28 Jul 2023 19:48:26 +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: <58E4AA7F-1F35-49AE-BF77-418589DABC6B@freebsd.org> References: <202307270412.36R4C2vh097664@gitrepo.freebsd.org> <622fce0c-403b-35fa-9134-a432390a8b44@FreeBSD.org> To: Renato Botelho X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4RCGqq5gX4z3HPQ X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 28 Jul 2023, at 19:40, Renato Botelho wrote: >=20 > On 27/07/23 01:12, Jessica Clarke wrote: >> The branch main has been updated by jrtc27: >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D65f28f63a73d3371d9d724a2018be6d1= ada0d3e0 >> commit 65f28f63a73d3371d9d724a2018be6d1ada0d3e0 >> Author: Jessica Clarke >> AuthorDate: 2023-07-27 04:10:47 +0000 >> Commit: Jessica Clarke >> CommitDate: 2023-07-27 04:10:47 +0000 >> tools/build: Create toolchain symlinks for non-absolute = compiler/linker >> If any of the toolchain variables are not absolute then we = need to >> create a symlink in WORLDTMP/legacy/bin in order to make them = available >> during a BUILD_WITH_STRICT_TMPPATH build. >> Reviewed by: brooks, jhb >> Differential Revision: https://reviews.freebsd.org/D41188 >=20 > I'm having problems with etcupdate and I suspect this can be the = commit that caused the trouble. After installworld/installkernel on a = chroot Boot Environment directory, etcupdate fails with following error = message: >=20 > Failed to build new tree. >=20 > I've checked etcupdate log and saw this: >=20 > cd /usr/src/tools/build; make DIRPRFX=3Dtools/build/ = DESTDIR=3D/var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/= tmp/legacy host-symlinks > Linking host tools into = /var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy= /bin > cp: /usr/bin/basename: Cross-device link That=E2=80=99ll be 246364454fc1 ("etcupdate: Use new buildetc and = installetc targets when available=E2=80=9D) which exposed; this commit is just for cc/c++/cpp/ld, and creates actual symlinks. On FreeBSD we copy rather than symlink tools so that we don=E2=80=99t have issues during = installworld. But we=E2=80=99re not actually trying to create any hardlinks, just = copy. What you=E2=80=99re discovering is that you=E2=80=99re on one of the FreeBSD = versions where ZFS=E2=80=99s clone_range is broken (exposes EXDEV when it=E2=80=99s = supposed to be handled by the kernel with a fallback implementation) and cp is using clone_range. Update your kernel first and all should be good. Jess From nobody Fri Jul 28 19:00:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCH5s19gfz4pXSH; Fri, 28 Jul 2023 19:00:49 +0000 (UTC) (envelope-from garga@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 4RCH5s0mL2z3L3M; Fri, 28 Jul 2023 19:00:49 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690570849; 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=KdH9P7eXzd5LsoivBDrLdL80x1fApGRqAyTAeJDudJI=; b=kU44gd1uEaUAULXZ4KDN9jdXTmzFGFfOlnXoJ39AaVH6/v7xHH0E6tEpD2QeooXt48j6St Knv3gHaqZNKkKPjWOXpZOmjyvC577ytZtq+nE22yIbY5Gitn1EP116UHvj9EGUK3DA1aAD qF8FIxVDClAERTfsvwbqkYdShwmNBhMLBO8oXGX3vzPC1chD6CHfXHxsBO35F+iSOv+BNE JELekGJjyEMlME47xBDHshkTooZyqAScYqu/8HwkAKXyR1uuV5qMsu8yeeEp8Lyztks+Fl r67d7k4H2r+8fkzFDEHCec6lPtUR3BcAAcpi0ty/z8s4r3ofXLSsfbyA6zJiqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690570849; 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=KdH9P7eXzd5LsoivBDrLdL80x1fApGRqAyTAeJDudJI=; b=Gg7RFQAYfjlSp/FDr3V0MsCc0tecywtMTNxUoI97DwCBEpzSry9dvsCK053plKh9pC1WsT eXxNeLqbAS99zXwrGyXFFE0KZDC2CtEgQQGjn2tBPTaK34lzVxCDo5HbQOSslSSuSVa6eS KunBeMWf7niTcmfDMQEyuoxBX6F/PVOty+5kOMsI+AoHdPWb7fclVr+JK07X/iIdXM5cag H5fKOwV+7YHE/fSL0ndt3gOss79Q11Z9G1VX83uJ0xRupjKBqyyFARLleSE4GC/oTj+Lvo dM27Uned3wW9Ss4sqYd/pg9d5KDfSLMhomwyyp+eUOqJVMz89zE6ZTZozmuSfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690570849; a=rsa-sha256; cv=none; b=YM6Wug9MeoWPdiN/aHK8DuAR6ijhhE7mWMlT7Su68Mn4zKcOOGyTZWsLksw8ao/R+gGwzq qdWrCQ9z9rxoniUfAhIE6RefIdvAAKnYSwCPaMpWQC3M738h3KceUgf3yC7kjfR8ba7WF6 rPXE8j7gmoOjHbv/tbtqKz5DJdDVSZn6FM4iKiPTioLBBsEAduFpZgIlZ+vBmEZMf9cNoT lm2PcuCOze2mG8+jjvOkdJltXkOSNH9hbySyIeXv7rHOVas/yIvYx280yDztL7eiaStrwl G8vmQxCeEXfRiZx2l+UEIUzW7Atf6aW41W1DoqFZ6gcGfdp/QwMg8EyniS1uWw== Received: from [172.21.4.170] (dynamic-177-53-82-16.telecominternet.net.br [177.53.82.16]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RCH5r2L5rz1BBr; Fri, 28 Jul 2023 19:00:48 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <2a3f4f6d-2c2f-ed19-5218-c102e4c97939@FreeBSD.org> Date: Fri, 28 Jul 2023 16:00:46 -0300 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 65f28f63a73d - main - tools/build: Create toolchain symlinks for non-absolute compiler/linker Content-Language: en-US To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202307270412.36R4C2vh097664@gitrepo.freebsd.org> <622fce0c-403b-35fa-9134-a432390a8b44@FreeBSD.org> <58E4AA7F-1F35-49AE-BF77-418589DABC6B__17151.853830886$1690570136$gmane$org@freebsd.org> From: Renato Botelho In-Reply-To: <58E4AA7F-1F35-49AE-BF77-418589DABC6B__17151.853830886$1690570136$gmane$org@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 28/07/23 15:48, Jessica Clarke wrote: > On 28 Jul 2023, at 19:40, Renato Botelho wrote: >> >> On 27/07/23 01:12, Jessica Clarke wrote: >>> The branch main has been updated by jrtc27: >>> URL: https://cgit.FreeBSD.org/src/commit/?id=65f28f63a73d3371d9d724a2018be6d1ada0d3e0 >>> commit 65f28f63a73d3371d9d724a2018be6d1ada0d3e0 >>> Author: Jessica Clarke >>> AuthorDate: 2023-07-27 04:10:47 +0000 >>> Commit: Jessica Clarke >>> CommitDate: 2023-07-27 04:10:47 +0000 >>> tools/build: Create toolchain symlinks for non-absolute compiler/linker >>> If any of the toolchain variables are not absolute then we need to >>> create a symlink in WORLDTMP/legacy/bin in order to make them available >>> during a BUILD_WITH_STRICT_TMPPATH build. >>> Reviewed by: brooks, jhb >>> Differential Revision: https://reviews.freebsd.org/D41188 >> >> I'm having problems with etcupdate and I suspect this can be the commit that caused the trouble. After installworld/installkernel on a chroot Boot Environment directory, etcupdate fails with following error message: >> >> Failed to build new tree. >> >> I've checked etcupdate log and saw this: >> >> cd /usr/src/tools/build; make DIRPRFX=tools/build/ DESTDIR=/var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy host-symlinks >> Linking host tools into /var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin >> cp: /usr/bin/basename: Cross-device link > > That’ll be 246364454fc1 ("etcupdate: Use new buildetc and installetc > targets when available”) which exposed; this commit is just for > cc/c++/cpp/ld, and creates actual symlinks. On FreeBSD we copy rather > than symlink tools so that we don’t have issues during installworld. > But we’re not actually trying to create any hardlinks, just copy. What > you’re discovering is that you’re on one of the FreeBSD versions where > ZFS’s clone_range is broken (exposes EXDEV when it’s supposed to be > handled by the kernel with a fallback implementation) and cp is using > clone_range. Update your kernel first and all should be good. You are right. After reboot with new kernel etcupdate works again. Thank you! -- Renato Botelho From nobody Fri Jul 28 19:01:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCH6y242pz4pXxb; Fri, 28 Jul 2023 19:01:43 +0000 (UTC) (envelope-from garga@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 4RCH6r2zk1z3LQL; Fri, 28 Jul 2023 19:01:40 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690570900; 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=W9y19VFAi6ez7BJCHo4U9kNL7i7YvWzotENbm1iQJc0=; b=FAVWJqAlye7LdN0cfcDBcQo23wwyEEY+5AHu4zHYpgVQRcgSSRN0yk7bt3OAlwrTuE+dvZ UaduBAhGRsSj3AT61b9M8PJ9l9uqsdLr7ZOHzd7eaLnaDg1p2lYCemdUYS0wwS1TW4Bvr4 Z+Xv3b/qDJR0KwveBs9HRS3V0x4ZOH0154nK+RNnmyOzobr+9GBSGZjBdpVUW2hvGeIcki Y+nV96ANMI4El8A/XAglg0hERjNRZ9+pamPGkH4ZDwM6+sPpdqgpI6COs+UXyRb/PXNu4G XKGZIfx7Oah4lptN+43EMX67bPZNSsKLne9IzInrGELHz2oQtrEvTpYzumLMng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690570900; 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=W9y19VFAi6ez7BJCHo4U9kNL7i7YvWzotENbm1iQJc0=; b=K0Fozv68PLU3sIn4SOHlRVNbjHr7tS9aqwvUntLNpBqCYGMXqTdvt7vyDymYjd4LQl8IM4 ZcRuUnBlL5Z7Bu/zAWPG/yzJIPCqdKjYntXGmMZmZ93TF8usVX4YabkmEE7kt/ecNRAVYT Jq+TXSdBbMmge42GYa5GWJ7oOuo1pwYAKo7KHwM67pVxc1qmAMVRefq7YwL9IBvX/JLgXO f+93QCh5P5CQgIjUeodMYdIoNa5/toGsA0PX5HTBIwkQh0RHT4xcjWCSK5JXcSDwav6xCv rMpuSCrq9FQoD3+yPGPmGnlcFinNR4p3T5MD612qYZKY2smPTrlP5X3mBQFLwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690570900; a=rsa-sha256; cv=none; b=P+DcQuxZA9d8NgIys1r0LLL/sF/zqb1C43nM8+JjcCoIbsoH+felo3jLkpXbf98OpG8pVs 4kCmH4QN6jJHjEPzEQkT60QXM6Jf4m4sNFh1OYsl0RtGA1j5wh8f1EI/QBmOvnRANaYbk4 yx2whGEpvenIcCXvS6SkM/ClGhs8LNSkFv9GIrqJWCCoMSt5ZOQydPETZASDh4u+oKctZJ cK/2VyCt7kIdTJLz2YRGWwyakozNCfogPUmbHzGlBOnfOou0wcFrBG89BGcyw4Hn8YHw5P fcQIiPmtz0bGuQFKiEJ7Fqm6dFnlTfLcS8TIkIQTBeJM6my6GwIPfFPCpqddUQ== Received: from [172.21.4.170] (dynamic-177-53-82-16.telecominternet.net.br [177.53.82.16]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RCH6q1Lk7z1BWc; Fri, 28 Jul 2023 19:01:39 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <0504b648-df5e-4125-c4bc-01d4ecd5374d@FreeBSD.org> Date: Fri, 28 Jul 2023 16:01:38 -0300 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) Content-Language: en-US To: Warner Losh Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> From: Renato Botelho In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 28/07/23 00:04, Warner Losh wrote: > > > On Thu, Jul 27, 2023 at 5:48 AM Renato Botelho > wrote: > > On 07/07/23 02:10, Warner Losh wrote: > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=971bac5ace7a3c2262349fa2808188a11a5ffeed > > > > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed > > Author:     Michael > > > AuthorDate: 2023-07-07 02:32:45 +0000 > > Commit:     Warner Losh > > CommitDate: 2023-07-07 05:10:18 +0000 > > > >      kbd: consolidate kb interfaces (phase one) > > > >      Refactor to eliminate duplicated rate and delay tables, with > minor style > >      tweaks for changed lines.  Remove an obsolete comment about > needing to > >      convert from microseconds to ticks (that's done elsewhere). > Remove > >      traiing whitespace in kbdcontrol.c. > > > >      Except for the new warning, no change in behavior > > > >      Sponsored by:           DSS GmbH > >      Reviewed by:            imp [minor style tweaks as well] > >      Pull Request: https://github.com/freebsd/pull/683 > > >      Differential Revision: https://reviews.freebsd.org/D38818 > > > --- > >   sys/dev/adb/adb_kbd.c            | 12 ++------- > >   sys/dev/atkbdc/atkbd.c           | 18 +++++--------- > >   sys/dev/gpio/gpiokeys.c          | 10 ++------ > >   sys/dev/hid/hkbd.c               | 10 ++------ > >   sys/dev/kbdmux/kbdmux.c          | 23 +++++------------ > >   sys/dev/usb/input/ukbd.c         | 10 ++------ > >   sys/dev/vkbd/vkbd.c              | 18 +++++--------- > >   sys/sys/kbio.h                   |  7 ++++++ > >   usr.sbin/kbdcontrol/kbdcontrol.c | 53 > +++++++++++++++++++++------------------- > >   9 files changed, 61 insertions(+), 100 deletions(-) > > After this change I started seeing following error building kbdcontrol: > > Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > static const int ndelays = nitems(kbdelays); >                                    ^~~~~~~~ >                                    ndelays > /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems' > #define nitems(x)       (sizeof((x)) / sizeof((x)[0])) >                                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays = nitems(kbdelays); >                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? > static const int ndelays = nitems(kbdelays); >                                    ^~~~~~~~ >                                    ndelays > /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems' > #define nitems(x)       (sizeof((x)) / sizeof((x)[0])) >                                                 ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays = nitems(kbdelays); >                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted > value is not an array, pointer, or vector > static const int ndelays = nitems(kbdelays); >                             ^~~~~~~~~~~~~~~~ > /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems' > #define nitems(x)       (sizeof((x)) / sizeof((x)[0])) >                                                ~~~^~ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > undeclared identifier 'kbrates' > static const int nrepeats = nitems(kbrates); >                                     ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > undeclared identifier 'kbrates' > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of > undeclared identifier 'kbdelays'; did you mean 'ndelays'? >                          if (delay <= kbdelays[n]) >                                       ^~~~~~~~ >                                       ndelays > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > declared here > static const int ndelays = nitems(kbdelays); >                   ^ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted > value is not an array, pointer, or vector >                          if (delay <= kbdelays[n]) >                                       ~~~~~~~~^~ > /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of > undeclared identifier 'kbrates' >                          if (repeat <= kbrates[n]) >                                        ^ > 8 errors generated. > *** Error code 1 > > > I haven't seen this. How do I recreate this? Does this happen on a clean > build? After I upgrade system to recent CURRENT the error is gone. -- Renato Botelho From nobody Fri Jul 28 19:04:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCH9t60Hqz4pYmc for ; Fri, 28 Jul 2023 19:04:18 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) (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 4RCH9s4fpJz3M4l for ; Fri, 28 Jul 2023 19:04:17 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3175f17a7baso2486938f8f.0 for ; Fri, 28 Jul 2023 12:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jrtc27.com; s=gmail.jrtc27.user; t=1690571055; x=1691175855; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=zDgAGxmWDRlYZZgSm9T7LvO0XgEkkQXCrOOtuIyvGQc=; b=MDctWZ7DI1WCFN/fIsTx2vhAnwe/cbijp0on1UkxZk1++WDm5taZn7foIIKJFfV9u9 bDjyQ8WtZtWKyLBI7caYM+DNFU3R7JBpPt4FoSElkjja/2UKA09lV6qC9Ty+UOQKeCBr ShsZxzJs3N9W5RJvYRatPcLHmazxt1bHbyKD6zDdLGfg72u3/zrarplgvut5n5TksbHD gFk74yHGwAGJ6wV0AQ8yMwc6QObeVZVaxExI7LDyvmT1KfRfFCaoe5XxeEioFO3uwjiQ newntpKZYe3m4NkcfKv8X28mgY1QugHHsnuprJGtdaFb7NV2+c4J8PaCn/pMTW2uGhkC i3Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690571055; x=1691175855; 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=zDgAGxmWDRlYZZgSm9T7LvO0XgEkkQXCrOOtuIyvGQc=; b=Y46cXFZw9R35JIbqw6EPBwXy4Z5zWCiP2aYEoL9UUFa30OJYS08KdPiL/cLwanBVqJ E0o2e+q/RXno/tTMcDW61riH4x3jsN2VBpXQKlWXsCGf1rUsC+82cwQSgXdnS7vBgdBk ead4Slm8u4/kDbUrTbNKuWlFUHI6IIBI0J5U1hAPmEubFLLiJWr6z8lwaQUh3eac012R JtK4O2aE76OmD3q7+QAOX+abmxE/D7d79uJhzQnaEOoh47fxz8JDrYam6RqSfQCEL4t/ 2zuzoVGavYyNPj5Vvvzy78FZCfgK2UBlk6ztPYAMsoF2fMGzLMhrfCAyKqUypMXf0xjP O+lw== X-Gm-Message-State: ABy/qLZlgmgmh43WgP5zCk/T9gabVHoenmxPBAzLG24ccElEJIzPtbKV THs/Q2J+A1dLle570qsT2Dj7Dg== X-Google-Smtp-Source: APBJJlFgwMhWqf3relLBq6VsDHpzmYPvip3mjSmRZWzo6fo4mZaoPyFjFIEzE4CsYT+TmsZcBel7xQ== X-Received: by 2002:adf:fa47:0:b0:314:216d:c00e with SMTP id y7-20020adffa47000000b00314216dc00emr2178669wrr.42.1690571055202; Fri, 28 Jul 2023 12:04:15 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id r5-20020a056000014500b00314367cf43asm5436297wrx.106.2023.07.28.12.04.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Jul 2023 12:04:14 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) From: Jessica Clarke In-Reply-To: <0504b648-df5e-4125-c4bc-01d4ecd5374d@FreeBSD.org> Date: Fri, 28 Jul 2023 20:04:04 +0100 Cc: Warner Losh , Warner Losh , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <40ECF84B-ECF1-4700-9059-F971BBD3668B@jrtc27.com> References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> <0504b648-df5e-4125-c4bc-01d4ecd5374d@FreeBSD.org> To: Renato Botelho X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 4RCH9s4fpJz3M4l X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 28 Jul 2023, at 20:01, Renato Botelho wrote: >=20 > On 28/07/23 00:04, Warner Losh wrote: >> On Thu, Jul 27, 2023 at 5:48=E2=80=AFAM Renato Botelho = > wrote: >> On 07/07/23 02:10, Warner Losh wrote: >> > The branch main has been updated by imp: >> > >> > URL: >> = https://cgit.FreeBSD.org/src/commit/?id=3D971bac5ace7a3c2262349fa2808188a1= 1a5ffeed = >> > >> > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed >> > Author: Michael > >> > AuthorDate: 2023-07-07 02:32:45 +0000 >> > Commit: Warner Losh >> > CommitDate: 2023-07-07 05:10:18 +0000 >> > >> > kbd: consolidate kb interfaces (phase one) >> > >> > Refactor to eliminate duplicated rate and delay tables, = with >> minor style >> > tweaks for changed lines. Remove an obsolete comment = about >> needing to >> > convert from microseconds to ticks (that's done = elsewhere). >> Remove >> > traiing whitespace in kbdcontrol.c. >> > >> > Except for the new warning, no change in behavior >> > >> > Sponsored by: DSS GmbH >> > Reviewed by: imp [minor style tweaks as well] >> > Pull Request: https://github.com/freebsd/pull/683 >> >> > Differential Revision: https://reviews.freebsd.org/D38818 >> >> > --- >> > sys/dev/adb/adb_kbd.c | 12 ++------- >> > sys/dev/atkbdc/atkbd.c | 18 +++++--------- >> > sys/dev/gpio/gpiokeys.c | 10 ++------ >> > sys/dev/hid/hkbd.c | 10 ++------ >> > sys/dev/kbdmux/kbdmux.c | 23 +++++------------ >> > sys/dev/usb/input/ukbd.c | 10 ++------ >> > sys/dev/vkbd/vkbd.c | 18 +++++--------- >> > sys/sys/kbio.h | 7 ++++++ >> > usr.sbin/kbdcontrol/kbdcontrol.c | 53 >> +++++++++++++++++++++------------------- >> > 9 files changed, 61 insertions(+), 100 deletions(-) >> After this change I started seeing following error building = kbdcontrol: >> Building = /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of >> undeclared identifier 'kbdelays'; did you mean 'ndelays'? >> static const int ndelays =3D nitems(kbdelays); >> ^~~~~~~~ >> ndelays >> /usr/include/sys/param.h:324:28: note: expanded from macro = 'nitems' >> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) >> ^ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' >> declared here >> static const int ndelays =3D nitems(kbdelays); >> ^ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of >> undeclared identifier 'kbdelays'; did you mean 'ndelays'? >> static const int ndelays =3D nitems(kbdelays); >> ^~~~~~~~ >> ndelays >> /usr/include/sys/param.h:324:42: note: expanded from macro = 'nitems' >> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) >> ^ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' >> declared here >> static const int ndelays =3D nitems(kbdelays); >> ^ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: = subscripted >> value is not an array, pointer, or vector >> static const int ndelays =3D nitems(kbdelays); >> ^~~~~~~~~~~~~~~~ >> /usr/include/sys/param.h:324:44: note: expanded from macro = 'nitems' >> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) >> ~~~^~ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of >> undeclared identifier 'kbrates' >> static const int nrepeats =3D nitems(kbrates); >> ^ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of >> undeclared identifier 'kbrates' >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of >> undeclared identifier 'kbdelays'; did you mean 'ndelays'? >> if (delay <=3D kbdelays[n]) >> ^~~~~~~~ >> ndelays >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' >> declared here >> static const int ndelays =3D nitems(kbdelays); >> ^ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: = subscripted >> value is not an array, pointer, or vector >> if (delay <=3D kbdelays[n]) >> ~~~~~~~~^~ >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of >> undeclared identifier 'kbrates' >> if (repeat <=3D kbrates[n]) >> ^ >> 8 errors generated. >> *** Error code 1 >> I haven't seen this. How do I recreate this? Does this happen on a = clean build? >=20 > After I upgrade system to recent CURRENT the error is gone. kbdcontrol requires an updated sys/kbio.h, so if you try and do a make of just it outside of make buildenv and without having first installed updated headers to worldtmp then you won=E2=80=99t get the updated = sys/kbio.h. I don=E2=80=99t think that=E2=80=99s something we support in general, = only when it happens to work? Jess From nobody Fri Jul 28 19:09:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCHJ01tb5z4pbkc; Fri, 28 Jul 2023 19:09:36 +0000 (UTC) (envelope-from garga@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 4RCHJ018kCz3NLp; Fri, 28 Jul 2023 19:09:36 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690571376; 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=N6OKMAm1Ovykzs9OUX9Z8DlJkRxg57LKMtTulQgI8/8=; b=BRXGAh0ZbprVM6EBoO3fLV8g9qIztRgHjmLJiivTAHfo2PLzB2jquerM3aUKM0ynzs1gLF CoUmZMihI4ZTOggxt7C5croeKtoBztRFS9f3zmNkYYI2OUpzwRrrehnnrPBtIz3K8ifxNb Jio5LgN/RxhADgmGwCpMPyGaqyQgaqp6W1VI/PSMIskhKyGiGALxdpb9nG7LTuPGWOnSiQ MwRXDGPF5kkHKcFCcfQxk4/CCKDWt0KK01OFrfLDzP9nxkjdrhhl6PQBDYyv7qKoMB7VcJ eK2dEqpJuvL6mlsrLGGa7jZkv17MUNZqybDzBixqHOWlx6FPysTo0Yoosn4kmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690571376; 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=N6OKMAm1Ovykzs9OUX9Z8DlJkRxg57LKMtTulQgI8/8=; b=ZeV1G3PhVDwBoQLzduuingrRnSwCLjWoNrZU/YRTQDDZ1n6a2BLh/dRzPW6IDl1LAsWwvq fOVLN1QRM0JF9Ik60waddkiFpEudjpHV7rcA8RjFxZHQn6KkLJHTEGeOjAEDleOX+oCOCN 3EXjK3O1GdAyiL6ZGhd9xKJPdzfdNR015b5viKxNADGh/82EotmijZ6k/L+U2PFOKknABc 30kPsJgaGzkl0ibQetoDtsY3haH00mc9duTF3m6KNE81V2GoMnAG/8mio9K+30wo44Msld A9oqEOf6A2oF26FwBM9KBZI1fxPHp2bDng1jeuMbWHfaOgbl8DDPWsZaHG2T9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690571376; a=rsa-sha256; cv=none; b=Czxj0FUiVYEDj/m9VNt95yHxv+G4i9Ze4cZKhRWRaHu8XF4Z5QbrRo3ftd1JIR2YoSmrvy FtyDjJ0FsQP44lOPe9YGkoQBFNKSxsM/HBSaneqOcnQDy5Torb22wZMMyHn4k0UkY1a7XM O5YsCGXFLz5UVWoDDkak4+DnGNtV55USDfMZc4ykukzWJDvgFRJ8uco12azuJ0nKeQ6yDA 2w+gKAka/yQKgjzoVeMNtDnFMbPWeetdOY4PfMgM+KULoyxJCZh+EMYjzcfknyoSll5fFH beY/RSgROuelW3ohuMS9g8QHlIgYsV7lXu7UpBup8F7odbJ6Uq428vidBKQy6g== Received: from [172.21.4.170] (dynamic-177-53-82-16.telecominternet.net.br [177.53.82.16]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RCHHy6YFQz1BBx; Fri, 28 Jul 2023 19:09:34 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <079cf9ae-3476-1269-4092-587c1c983597@FreeBSD.org> Date: Fri, 28 Jul 2023 16:09:33 -0300 List-Id: Commit messages for all branches 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) Content-Language: en-US To: Jessica Clarke Cc: Warner Losh , Warner Losh , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> <0504b648-df5e-4125-c4bc-01d4ecd5374d@FreeBSD.org> <40ECF84B-ECF1-4700-9059-F971BBD3668B__22149.6855768905$1690571077$gmane$org@jrtc27.com> From: Renato Botelho In-Reply-To: <40ECF84B-ECF1-4700-9059-F971BBD3668B__22149.6855768905$1690571077$gmane$org@jrtc27.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 28/07/23 16:04, Jessica Clarke wrote: > On 28 Jul 2023, at 20:01, Renato Botelho wrote: >> >> On 28/07/23 00:04, Warner Losh wrote: >>> On Thu, Jul 27, 2023 at 5:48 AM Renato Botelho > wrote: >>> On 07/07/23 02:10, Warner Losh wrote: >>> > The branch main has been updated by imp: >>> > >>> > URL: >>> https://cgit.FreeBSD.org/src/commit/?id=971bac5ace7a3c2262349fa2808188a11a5ffeed >>> > >>> > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed >>> > Author: Michael > >>> > AuthorDate: 2023-07-07 02:32:45 +0000 >>> > Commit: Warner Losh >>> > CommitDate: 2023-07-07 05:10:18 +0000 >>> > >>> > kbd: consolidate kb interfaces (phase one) >>> > >>> > Refactor to eliminate duplicated rate and delay tables, with >>> minor style >>> > tweaks for changed lines. Remove an obsolete comment about >>> needing to >>> > convert from microseconds to ticks (that's done elsewhere). >>> Remove >>> > traiing whitespace in kbdcontrol.c. >>> > >>> > Except for the new warning, no change in behavior >>> > >>> > Sponsored by: DSS GmbH >>> > Reviewed by: imp [minor style tweaks as well] >>> > Pull Request: https://github.com/freebsd/pull/683 >>> >>> > Differential Revision: https://reviews.freebsd.org/D38818 >>> >>> > --- >>> > sys/dev/adb/adb_kbd.c | 12 ++------- >>> > sys/dev/atkbdc/atkbd.c | 18 +++++--------- >>> > sys/dev/gpio/gpiokeys.c | 10 ++------ >>> > sys/dev/hid/hkbd.c | 10 ++------ >>> > sys/dev/kbdmux/kbdmux.c | 23 +++++------------ >>> > sys/dev/usb/input/ukbd.c | 10 ++------ >>> > sys/dev/vkbd/vkbd.c | 18 +++++--------- >>> > sys/sys/kbio.h | 7 ++++++ >>> > usr.sbin/kbdcontrol/kbdcontrol.c | 53 >>> +++++++++++++++++++++------------------- >>> > 9 files changed, 61 insertions(+), 100 deletions(-) >>> After this change I started seeing following error building kbdcontrol: >>> Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of >>> undeclared identifier 'kbdelays'; did you mean 'ndelays'? >>> static const int ndelays = nitems(kbdelays); >>> ^~~~~~~~ >>> ndelays >>> /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems' >>> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) >>> ^ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' >>> declared here >>> static const int ndelays = nitems(kbdelays); >>> ^ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of >>> undeclared identifier 'kbdelays'; did you mean 'ndelays'? >>> static const int ndelays = nitems(kbdelays); >>> ^~~~~~~~ >>> ndelays >>> /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems' >>> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) >>> ^ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' >>> declared here >>> static const int ndelays = nitems(kbdelays); >>> ^ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted >>> value is not an array, pointer, or vector >>> static const int ndelays = nitems(kbdelays); >>> ^~~~~~~~~~~~~~~~ >>> /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems' >>> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) >>> ~~~^~ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of >>> undeclared identifier 'kbrates' >>> static const int nrepeats = nitems(kbrates); >>> ^ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of >>> undeclared identifier 'kbrates' >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of >>> undeclared identifier 'kbdelays'; did you mean 'ndelays'? >>> if (delay <= kbdelays[n]) >>> ^~~~~~~~ >>> ndelays >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' >>> declared here >>> static const int ndelays = nitems(kbdelays); >>> ^ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted >>> value is not an array, pointer, or vector >>> if (delay <= kbdelays[n]) >>> ~~~~~~~~^~ >>> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of >>> undeclared identifier 'kbrates' >>> if (repeat <= kbrates[n]) >>> ^ >>> 8 errors generated. >>> *** Error code 1 >>> I haven't seen this. How do I recreate this? Does this happen on a clean build? >> >> After I upgrade system to recent CURRENT the error is gone. > > kbdcontrol requires an updated sys/kbio.h, so if you try and do a make > of just it outside of make buildenv and without having first installed > updated headers to worldtmp then you won’t get the updated sys/kbio.h. > I don’t think that’s something we support in general, only when it > happens to work? It failed during an attempt of make buildworld. After that I tried to build only it, just to check. I ran make depend first too. -- Renato Botelho From nobody Fri Jul 28 19:09:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCHJ21j6kz4pbtd for ; Fri, 28 Jul 2023 19:09:38 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) (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 4RCHJ16BNZz3NYh for ; Fri, 28 Jul 2023 19:09:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-51d95aed33aso3102388a12.3 for ; Fri, 28 Jul 2023 12:09:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20221208.gappssmtp.com; s=20221208; t=1690571376; x=1691176176; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=o8SIinCy0IyumGAhHpGQSrMKCZ+8e1Y0AibvgUrW7Nw=; b=uOQTvm8YhOaXDZ+pwsT+ABGLQav46HRa+q7zmwG8fK0uymPgjuLBVgJ+TNLuQXi0/j h+QZghpK6kJEkRRymyZqfSabeCWkhf3oK8gaXwZu5xJ0IyYqeqTWTFm7ePAy/ExHuMxf EeGtg4U0Du+App+wIyuHRt1z/uWXC0XX1zyYLEpYkAc60jXYA/FQHm0kwIyv39PcX29R W18NBvkkGvNQ/uK6pRzWpLXnCt9KnZtEAb/RLTBrX47bmjqe00DiYIhAsBImg2RUH14r 4IKNcND5u9nUTtn6RX1PWzMvn7Ai1af/RZLp1VtQ2nfq19v1EC0Xa/T4IJMcQiVhJJrb MLwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690571376; x=1691176176; 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=o8SIinCy0IyumGAhHpGQSrMKCZ+8e1Y0AibvgUrW7Nw=; b=ZObc3wUKyZdHZxnJRvS+WOkDcs17nFfSDb6OEpDNat2WoXEP1+9bhCENsKS8BXA6S/ nJvabrWaNA3xJjfU86u9Eg5tGPv9A8rol5gEhDrHx44rGPUxNNYRphWHZ439CgPEyxGX htNvp1uGPL4VSjlcL+QAH09U2fFedR7H4F/wW9t9/F6QQP24lnCu+zYq6FTrmbYv8jCn tXlnusSvhpm/h1mkOXwUafFygnAIMz/2Y0AgzKOdKQ1bfe0nPH9IUNMvOdAbDfueMq/N 3qjl3kpww8uiWORc4ISDvFfoXbo5JbeguuDBuxpOkMpKzMwkcZD3nQS/NNS7u0CX3rZw g3Xw== X-Gm-Message-State: ABy/qLaudDzI1U4uh4RIMisK7L3dnSoD8QY7EB4cnRJjzdWjhIMqZFao fRZBgDFNsfusnbCKSmMqh6C4rNKbLkP8IilJW9jquw== X-Google-Smtp-Source: APBJJlEY9ctKhInbKw9VeyGPuHi5jhfzYDttooMC3LH7yXCRHIoeperAx6YBI/iDP3+Xjqq5U3eT8B3lSF211cKviI0= X-Received: by 2002:aa7:c54e:0:b0:522:ab06:7213 with SMTP id s14-20020aa7c54e000000b00522ab067213mr989037edr.27.1690571375511; Fri, 28 Jul 2023 12:09:35 -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: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202307070510.3675AWZS051152@gitrepo.freebsd.org> <65b0e348-b27d-f641-1004-6f76ff3ebfbd@FreeBSD.org> <0504b648-df5e-4125-c4bc-01d4ecd5374d@FreeBSD.org> <40ECF84B-ECF1-4700-9059-F971BBD3668B@jrtc27.com> In-Reply-To: <40ECF84B-ECF1-4700-9059-F971BBD3668B@jrtc27.com> From: Warner Losh Date: Fri, 28 Jul 2023 13:09:24 -0600 Message-ID: Subject: Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one) To: Jessica Clarke Cc: Renato Botelho , Warner Losh , src-committers , "" , "" Content-Type: multipart/alternative; boundary="0000000000004e1cba060190d26a" X-Rspamd-Queue-Id: 4RCHJ16BNZz3NYh X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --0000000000004e1cba060190d26a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jul 28, 2023, 1:04 PM Jessica Clarke wrote: > On 28 Jul 2023, at 20:01, Renato Botelho wrote: > > > > On 28/07/23 00:04, Warner Losh wrote: > >> On Thu, Jul 27, 2023 at 5:48=E2=80=AFAM Renato Botelho > wrote: > >> On 07/07/23 02:10, Warner Losh wrote: > >> > The branch main has been updated by imp: > >> > > >> > URL: > >> > https://cgit.FreeBSD.org/src/commit/?id=3D971bac5ace7a3c2262349fa2808188a= 11a5ffeed > < > https://cgit.FreeBSD.org/src/commit/?id=3D971bac5ace7a3c2262349fa2808188a= 11a5ffeed > > > >> > > >> > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed > >> > Author: Michael > > >> > AuthorDate: 2023-07-07 02:32:45 +0000 > >> > Commit: Warner Losh > >> > CommitDate: 2023-07-07 05:10:18 +0000 > >> > > >> > kbd: consolidate kb interfaces (phase one) > >> > > >> > Refactor to eliminate duplicated rate and delay tables, wit= h > >> minor style > >> > tweaks for changed lines. Remove an obsolete comment about > >> needing to > >> > convert from microseconds to ticks (that's done elsewhere). > >> Remove > >> > traiing whitespace in kbdcontrol.c. > >> > > >> > Except for the new warning, no change in behavior > >> > > >> > Sponsored by: DSS GmbH > >> > Reviewed by: imp [minor style tweaks as well] > >> > Pull Request: https://github.com/freebsd/pull/683 > >> > >> > Differential Revision: https://reviews.freebsd.org/D38818 > >> > >> > --- > >> > sys/dev/adb/adb_kbd.c | 12 ++------- > >> > sys/dev/atkbdc/atkbd.c | 18 +++++--------- > >> > sys/dev/gpio/gpiokeys.c | 10 ++------ > >> > sys/dev/hid/hkbd.c | 10 ++------ > >> > sys/dev/kbdmux/kbdmux.c | 23 +++++------------ > >> > sys/dev/usb/input/ukbd.c | 10 ++------ > >> > sys/dev/vkbd/vkbd.c | 18 +++++--------- > >> > sys/sys/kbio.h | 7 ++++++ > >> > usr.sbin/kbdcontrol/kbdcontrol.c | 53 > >> +++++++++++++++++++++------------------- > >> > 9 files changed, 61 insertions(+), 100 deletions(-) > >> After this change I started seeing following error building > kbdcontrol: > >> Building > /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > >> undeclared identifier 'kbdelays'; did you mean 'ndelays'? > >> static const int ndelays =3D nitems(kbdelays); > >> ^~~~~~~~ > >> ndelays > >> /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems' > >> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) > >> ^ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > >> declared here > >> static const int ndelays =3D nitems(kbdelays); > >> ^ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of > >> undeclared identifier 'kbdelays'; did you mean 'ndelays'? > >> static const int ndelays =3D nitems(kbdelays); > >> ^~~~~~~~ > >> ndelays > >> /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems' > >> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) > >> ^ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > >> declared here > >> static const int ndelays =3D nitems(kbdelays); > >> ^ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted > >> value is not an array, pointer, or vector > >> static const int ndelays =3D nitems(kbdelays); > >> ^~~~~~~~~~~~~~~~ > >> /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems' > >> #define nitems(x) (sizeof((x)) / sizeof((x)[0])) > >> ~~~^~ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > >> undeclared identifier 'kbrates' > >> static const int nrepeats =3D nitems(kbrates); > >> ^ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of > >> undeclared identifier 'kbrates' > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of > >> undeclared identifier 'kbdelays'; did you mean 'ndelays'? > >> if (delay <=3D kbdelays[n]) > >> ^~~~~~~~ > >> ndelays > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays' > >> declared here > >> static const int ndelays =3D nitems(kbdelays); > >> ^ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscript= ed > >> value is not an array, pointer, or vector > >> if (delay <=3D kbdelays[n]) > >> ~~~~~~~~^~ > >> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of > >> undeclared identifier 'kbrates' > >> if (repeat <=3D kbrates[n]) > >> ^ > >> 8 errors generated. > >> *** Error code 1 > >> I haven't seen this. How do I recreate this? Does this happen on a > clean build? > > > > After I upgrade system to recent CURRENT the error is gone. > > kbdcontrol requires an updated sys/kbio.h, so if you try and do a make > of just it outside of make buildenv and without having first installed > updated headers to worldtmp then you won=E2=80=99t get the updated sys/kb= io.h. > I don=E2=80=99t think that=E2=80=99s something we support in general, onl= y when it > happens to work? > Generally you need to do a make buildenv and the rebuild inside of that environment. Warner > Jess > > --0000000000004e1cba060190d26a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, Jul 28, 2023, 1:04 PM Jessica Clarke <jrtc27@jrtc27.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">On 28 Jul 2023, at 20:01, Renato Botelho <= garga@FreeBSD.org> wrote:
>
> On 28/07/23 00:04, Warner Losh wrote:
>> On Thu, Jul 27, 2023 at 5:48=E2=80=AFAM Renato Botelho <garga@fr= eebsd.org <mailto:garga@freebsd.org>> wrote:
>>=C2=A0 =C2=A0 On 07/07/23 02:10, Warner Losh wrote:
>>=C2=A0 =C2=A0 =C2=A0> The branch main has been updated by imp: >>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0> URL:
>>=C2=A0 =C2=A0 https://cgit.FreeBSD.org/src/commit/?id=3D971bac5ace7a3c2262= 349fa2808188a11a5ffeed <https://cgit.FreeBSD.org/src/commit/?id=3D971bac5ac= e7a3c2262349fa2808188a11a5ffeed>
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0> commit 971bac5ace7a3c2262349fa2808188a11a5= ffeed
>>=C2=A0 =C2=A0 =C2=A0> Author:=C2=A0 =C2=A0 =C2=A0Michael <git@pae= pcke.de <mailto:git@paepcke.de>>
>>=C2=A0 =C2=A0 =C2=A0> AuthorDate: 2023-07-07 02:32:45 +0000
>>=C2=A0 =C2=A0 =C2=A0> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <= ;imp@FreeBSD.org>
>>=C2=A0 =C2=A0 =C2=A0> CommitDate: 2023-07-07 05:10:18 +0000
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 kbd: consolidate kb in= terfaces (phase one)
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 Refactor to eliminate = duplicated rate and delay tables, with
>>=C2=A0 =C2=A0 minor style
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 tweaks for changed lin= es.=C2=A0 Remove an obsolete comment about
>>=C2=A0 =C2=A0 needing to
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 convert from microseco= nds to ticks (that's done elsewhere).
>>=C2=A0 =C2=A0 Remove
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 traiing whitespace in = kbdcontrol.c.
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 Except for the new war= ning, no change in behavior
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0DSS GmbH
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 imp [minor style tweaks as well]
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 Pull Request: https://github.com/freebsd/pull/683
>>=C2=A0 =C2=A0 <https://github.com/freebsd/p= ull/683>
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0 =C2=A0 Differential Revision:= https://reviews.freebsd.org/D38818
>>=C2=A0 =C2=A0 <https://reviews.freebsd.org/D= 38818>
>>=C2=A0 =C2=A0 =C2=A0> ---
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/adb/adb_kbd.c=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 12 ++-------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/atkbdc/atkbd.c=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 18 +++++---------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/gpio/gpiokeys.c=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 10 ++------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/hid/hkbd.c=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 10 ++------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/kbdmux/kbdmux.c=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 23 +++++------------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/usb/input/ukbd.c=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0| 10 ++------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/dev/vkbd/vkbd.c=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 18 +++++---------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0sys/sys/kbio.h=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 7 ++++++
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A0usr.sbin/kbdcontrol/kbdcontrol= .c | 53
>>=C2=A0 =C2=A0 +++++++++++++++++++++-------------------
>>=C2=A0 =C2=A0 =C2=A0>=C2=A0 =C2=A09 files changed, 61 insertions= (+), 100 deletions(-)
>>=C2=A0 =C2=A0 After this change I started seeing following error bu= ilding kbdcontrol:
>>=C2=A0 =C2=A0 Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcon= trol/kbdcontrol.o
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: erro= r: use of
>>=C2=A0 =C2=A0 undeclared identifier 'kbdelays'; did you mea= n 'ndelays'?
>>=C2=A0 =C2=A0 static const int ndelays =3D nitems(kbdelays);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^= ~~~~~~~
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 n= delays
>>=C2=A0 =C2=A0 /usr/include/sys/param.h:324:28: note: expanded from = macro 'nitems'
>>=C2=A0 =C2=A0 #define nitems(x)=C2=A0 =C2=A0 =C2=A0 =C2=A0(sizeof((= x)) / sizeof((x)[0]))
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<= br> >>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note= : 'ndelays'
>>=C2=A0 =C2=A0 declared here
>>=C2=A0 =C2=A0 static const int ndelays =3D nitems(kbdelays);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0^
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: erro= r: use of
>>=C2=A0 =C2=A0 undeclared identifier 'kbdelays'; did you mea= n 'ndelays'?
>>=C2=A0 =C2=A0 static const int ndelays =3D nitems(kbdelays);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^= ~~~~~~~
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 n= delays
>>=C2=A0 =C2=A0 /usr/include/sys/param.h:324:42: note: expanded from = macro 'nitems'
>>=C2=A0 =C2=A0 #define nitems(x)=C2=A0 =C2=A0 =C2=A0 =C2=A0(sizeof((= x)) / sizeof((x)[0]))
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note= : 'ndelays'
>>=C2=A0 =C2=A0 declared here
>>=C2=A0 =C2=A0 static const int ndelays =3D nitems(kbdelays);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0^
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: erro= r: subscripted
>>=C2=A0 =C2=A0 value is not an array, pointer, or vector
>>=C2=A0 =C2=A0 static const int ndelays =3D nitems(kbdelays);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~
>>=C2=A0 =C2=A0 /usr/include/sys/param.h:324:44: note: expanded from = macro 'nitems'
>>=C2=A0 =C2=A0 #define nitems(x)=C2=A0 =C2=A0 =C2=A0 =C2=A0(sizeof((= x)) / sizeof((x)[0]))
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ~~~^~
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: erro= r: use of
>>=C2=A0 =C2=A0 undeclared identifier 'kbrates'
>>=C2=A0 =C2=A0 static const int nrepeats =3D nitems(kbrates);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0^
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: erro= r: use of
>>=C2=A0 =C2=A0 undeclared identifier 'kbrates'
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: er= ror: use of
>>=C2=A0 =C2=A0 undeclared identifier 'kbdelays'; did you mea= n 'ndelays'?
>>=C2=A0 =C2=A0 =C2=A0 =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 (delay <=3D kbdelays[n])
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0^~~~~~~~
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0ndelays
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note= : 'ndelays'
>>=C2=A0 =C2=A0 declared here
>>=C2=A0 =C2=A0 static const int ndelays =3D nitems(kbdelays);
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0^
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: er= ror: subscripted
>>=C2=A0 =C2=A0 value is not an array, pointer, or vector
>>=C2=A0 =C2=A0 =C2=A0 =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 (delay <=3D kbdelays[n])
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0~~~~~~~~^~
>>=C2=A0 =C2=A0 /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: er= ror: use of
>>=C2=A0 =C2=A0 undeclared identifier 'kbrates'
>>=C2=A0 =C2=A0 =C2=A0 =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 (repeat <=3D kbrates[n])
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 ^
>>=C2=A0 =C2=A0 8 errors generated.
>>=C2=A0 =C2=A0 *** Error code 1
>> I haven't seen this. How do I recreate this? Does this happen = on a clean build?
>
> After I upgrade system to recent CURRENT the error is gone.

kbdcontrol requires an updated sys/kbio.h, so if you try and do a make
of just it outside of make buildenv and without having first installed
updated headers to worldtmp then you won=E2=80=99t get the updated sys/kbio= .h.
I don=E2=80=99t think that=E2=80=99s something we support in general, only = when it
happens to work?

Generally you need to do a make buildenv and the rebuild in= side of that environment.=C2=A0

Warner=C2=A0
Jess

--0000000000004e1cba060190d26a-- From nobody Fri Jul 28 20:17:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCJpm1ZVjz4q2m3; Fri, 28 Jul 2023 20:17: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 4RCJpm18hGz3v68; Fri, 28 Jul 2023 20:17:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690575472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eCKpp5IlbzuBCdICR3sG2syxBwUICHIEgypyWJVL5MQ=; b=KGRw4eeLyHuj0feSXDKtpwL/kAfI+H/L5t0TY0D19hhRtspKH3GFwefRUuA6D0OboBqoh6 qlntqd5EYvD7xyN1Toypyi8R9zhdRleWBLRwtaMI8WCozn/L5GWso2xEU77DcvNual0KFJ 82II1DXrcJezGkghVFqcSuevQxrr8ZsQIunyurSkTXL91TEu1L8gOKv1gxiiGq+b28KIcR Vv+g2/PYY4qA1LnMnzsqR4VtoXAlMswkTaMHOHDBi4exPBflQM7rNUYjosqW+sDQBepcWo AfCukRlqR4ngiF+eQr8W7MHWduCXnKosAPbLjQMTpShY/wpZ+mwqyTy5U9RRdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690575472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eCKpp5IlbzuBCdICR3sG2syxBwUICHIEgypyWJVL5MQ=; b=CxwQCWoOxTKj/GNk0+IygxJfFPspZGehSmKpQWIDMgLbnFk9HmC3Lpxe9gW4HAmgBH839n KA4dicCQmNYuKk9aQHsvim+tSrkN02qSKtMnZwoCe5efAEH+7VsFG/ZzyzcM97EZ0V3dem V2Lb1WLpFea9J2Qqma2LqPvC99bnsrclNQWe0DLGnzwqbenUmND1esFmKhinQa/7PT9cxI XT6AEXjfrrNTEm4UasSdwqJnGK5CNm6HKFFEwHlfVjMkTodCKYR8bxu1pDw5R9CjVEDK0W KmXu2Dk0hn/bEX1zopGnxVebVFx5yKjjjsTuQy1lOGS4UTvjMEFQRP5q+I48hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690575472; a=rsa-sha256; cv=none; b=k3ln0ynX6FW0puk8WWO5Az02Mf21nV3M8xsmAO4fCCXB7soJ1td14aKJMdLWEAbUHfmGLo UCorVL+KRmf8iWy8Oei+2ie1839JIvoRYe1rtQBXofVrExxao/FlGae0u3QpDNYIibJWBD pThGk7HVnqAR0xg3tk5wakdWKDda2eNtxWbkm6zU/Sks9PdNVrM56lfEutahsVNdykvQ60 Ui6kpyKWFARxUekTzUKxydOCKjLIcRFpwWOxY9ksr8sZiOFQQEquonZmdcr37j5nBfKOnd S6z5ZNY0AXjDIgxlKh0ZVqd4FhS1sgt7gt77HJoS9nIFP3m9QEh8almOOcDwsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCJpm07zLz14c6; Fri, 28 Jul 2023 20:17: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 36SKHpd1074228; Fri, 28 Jul 2023 20:17:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SKHpgY074227; Fri, 28 Jul 2023 20:17:51 GMT (envelope-from git) Date: Fri, 28 Jul 2023 20:17:51 GMT Message-Id: <202307282017.36SKHpgY074227@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: 3d7c37425ee0 - main - amd64 pmap: Catch up with pctrie 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: 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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d7c37425ee07186c65d424306c1b295c30fa592 Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=3d7c37425ee07186c65d424306c1b295c30fa592 commit 3d7c37425ee07186c65d424306c1b295c30fa592 Author: Alan Cox AuthorDate: 2023-07-28 20:13:13 +0000 Commit: Alan Cox CommitDate: 2023-07-28 20:13:13 +0000 amd64 pmap: Catch up with pctrie changes Recent changes to the pctrie code make it necessary to initialize the kernel pmap's rangeset for PKU. --- sys/amd64/amd64/pmap.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index a4b8c6dc4c06..c1968fc11844 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -1995,6 +1995,10 @@ pmap_bootstrap(vm_paddr_t *firstaddr) kernel_pmap->pm_stats.resident_count = res; vm_radix_init(&kernel_pmap->pm_root); kernel_pmap->pm_flags = pmap_flags; + if ((cpu_stdext_feature2 & CPUID_STDEXT2_PKU) != 0) { + rangeset_init(&kernel_pmap->pm_pkru, pkru_dup_range, + pkru_free_range, kernel_pmap, M_NOWAIT); + } /* * The kernel pmap is always active on all CPUs. Once CPUs are From nobody Fri Jul 28 22:03:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCM8J4TSGz4phJq; Fri, 28 Jul 2023 22:03: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 4RCM8J40r2z4NnP; Fri, 28 Jul 2023 22:03:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690581792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDnuN0uXUjEYfvh259fykNxvaDCyo2c8aQEYy3fCNRs=; b=LfHaWK7CNJRv+JefOIJ7uLHm9CC9N8z0QmgGQYv4GqAZJSY5jXw1VgU/5lNyqaSw23TVQg V5tohY45fY83LDHzBctGU6Vs0hToCmCCEwrJAdB8rAVquM2HMJC/9YHln9B3l/JcSZ3cLg 0nZ0TN8ieOvo3IJOZpeyCBEvmZuM3q/UtXDnfkAyZjbn/82m6rBmkrjeI1ViOFLdtXU29Z 6NJ74Po5GNwgUHKkZQ8XvTUEWkj1wO/XXNRDVi0C7tul6RbV/Ar1iAj2HABA4vdVhtetJJ la+whg1XkJDVayt9+2ys6m3rmRnoDuf+ymPdSC7V+07y9nu8gvQv7rZKAMZHQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690581792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDnuN0uXUjEYfvh259fykNxvaDCyo2c8aQEYy3fCNRs=; b=TQDVM/yW/GkqhZGbjGTQAwSdlVv+7Jfu6qDHG4j1XfxetxJ/PrnYzCb9fZJbqZginWKwNU SDVIwJr55K9Kx0gQySIoQCvbW0uh+oMlWh12TeFS6LGRE2UCcmbtKWpJ/tlxd6pQSFGZzG rTLav/FrR+vyfBlrIAB2PxW13eDgi41QqOqTHSPc5t5wrZFog3Ae4/ncmO/0VoDo38NK48 dkHOcmUIVwHJ0jOkDDVBtR3L7+qrqhEA9Wxl0ZDq6BdOMw/KiOZJnr6SHaQBla73QF8L/P mCY/9hqCUo/S/2Ai44TRgIOvdZ3XiJXfhCPzLwWzjv8EnmcZVU2/dTwRkkELAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690581792; a=rsa-sha256; cv=none; b=sTJwRF29BIeVA/vLSoXfineTYY/oiIRqcsqJjAY8lpR39IemgtgKrvBNAxkJGIpyoeA+QW cE5B6P4Hk6OqVFp38geB7OFEd7Kjev5D3Qr0WmE/2o/4GHSyuDgP+sB20wPLQYW1aGVebt yGm9lnwe7ENBb8pttQB0HCHWvEROxR4wHQZ0DONIo5VyO6OZFi7E9gQ4ExnhqS0w5hU/Hl 83V2vZHNVrDvDUeqAM3Z+c6MwoKGFL3K1rgdN35EubkTxdEGaKTpYhjmdw4fybW4Aj5Q2e oomsgUYjhPYXO4l03qxcTMKD9EsXISMujG8D2tjcyJxJloZiHSRZcKc4Z7gU8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCM8J361kz16mj; Fri, 28 Jul 2023 22:03: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 36SM3C1b056355; Fri, 28 Jul 2023 22:03:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SM3C98056354; Fri, 28 Jul 2023 22:03:12 GMT (envelope-from git) Date: Fri, 28 Jul 2023 22:03:12 GMT Message-Id: <202307282203.36SM3C98056354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: b279e84a47dd - main - sctp: improve consistency List-Id: Commit messages for all branches 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b279e84a47ddb59e55b5a3cec31c51cd41bf0dc3 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=b279e84a47ddb59e55b5a3cec31c51cd41bf0dc3 commit b279e84a47ddb59e55b5a3cec31c51cd41bf0dc3 Author: Michael Tuexen AuthorDate: 2023-07-28 12:36:11 +0000 Commit: Michael Tuexen CommitDate: 2023-07-28 12:36:11 +0000 sctp: improve consistency This is simplifying a patch to address PR 260116. PR: 260116 MFC after: 1 week --- sys/netinet/sctputil.c | 8 ++------ sys/netinet/sctputil.h | 6 +----- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index 00a8953336de..ef8d763efabf 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -5044,11 +5044,7 @@ sctp_free_bufspace(struct sctp_tcb *stcb, struct sctp_association *asoc, if ((stcb->sctp_socket != NULL) && (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) || ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE)))) { - if (stcb->sctp_socket->so_snd.sb_cc >= tp1->book_size) { - atomic_subtract_int(&((stcb)->sctp_socket->so_snd.sb_cc), tp1->book_size); - } else { - stcb->sctp_socket->so_snd.sb_cc = 0; - } + SCTP_SAVE_ATOMIC_DECREMENT(&stcb->sctp_socket->so_snd.sb_cc, tp1->book_size); } } @@ -6125,7 +6121,7 @@ get_more_data: if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) { sctp_sblog(&so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBFREE, (int)cp_len); } - atomic_subtract_int(&so->so_rcv.sb_cc, (int)cp_len); + SCTP_SAVE_ATOMIC_DECREMENT(&so->so_rcv.sb_cc, (int)cp_len); if ((control->do_not_ref_stcb == 0) && stcb) { atomic_subtract_int(&stcb->asoc.sb_cc, (int)cp_len); diff --git a/sys/netinet/sctputil.h b/sys/netinet/sctputil.h index 1105ea14e1ad..60b5661c309c 100644 --- a/sys/netinet/sctputil.h +++ b/sys/netinet/sctputil.h @@ -253,11 +253,7 @@ do { \ } \ if (stcb->sctp_socket && ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \ (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \ - if (stcb->sctp_socket->so_snd.sb_cc >= sp->length) { \ - atomic_subtract_int(&stcb->sctp_socket->so_snd.sb_cc,sp->length); \ - } else { \ - stcb->sctp_socket->so_snd.sb_cc = 0; \ - } \ + SCTP_SAVE_ATOMIC_DECREMENT(&stcb->sctp_socket->so_snd.sb_cc, sp->length); \ } \ } \ } while (0) From nobody Fri Jul 28 22:17:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCMSn3nlpz4pt7Z; Fri, 28 Jul 2023 22:17: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 4RCMSn2mCCz4T5L; Fri, 28 Jul 2023 22:17:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690582649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w2Bp233HSBMuPlZ9ZYT1eAV8d/1Hu6QBoox1qW2lK/M=; b=tyN20ZIQhvEtGo43HecSfICY2pSkktZHqV+ULvtcQ5uadH4UaLoGpfmqpz/UP4tQmn/nqR sEWH7+WniTybhaaErHkSVNKUQ4FUR24iarvlPeUY95owjdopsxW6oc40jM8kAid5gwTHUN wJT5oESqInQw4vJKK52MaU/KTtWtKF2LelKH9he6jyXjtiApWkZjvX9q46dm3r3XKiahV6 VisINh3B7MaQLcjQE5X3KDr8hLIzTsY9N1rG8napMISxfWKK2WcEDZfiAzMr1q5i6k7Pve aXqJGg/mjYvVIeEIko0jPspdrC/bReW/R44kZ8UOmc7zriJUwlYjvnzZ+jX25w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690582649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w2Bp233HSBMuPlZ9ZYT1eAV8d/1Hu6QBoox1qW2lK/M=; b=DBYVBkKTAX1/is7smSqBtnnR24ztDG2cGGhx13jkZhVmVOYvZth8WZYzo+MbfYeQ7JbSfv d++S+8FLu0NqyjFfueL79nXbbBVOQ2eQO+KJCi2Nqc3K/Kks7epAHBrM4JYha5OgUbwABA E8VEZ06jq5gNMes/QZtyP1DvZ+KUhn0K+w54vGYKkHVevQss+ztglJ8zFPweb1uFqAE/PJ gOY/en7EhahpeONRHZdVWnMlZayTWtra9BxkUmR/tqhrm4nroNkiDaVHN02WuCAWNi+8BR sMkZfJAyDgdsKGbKST+VXI00EGzctiTEvY0jz5KzmcghlgXOSfseKSpxEVD+Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690582649; a=rsa-sha256; cv=none; b=l0SMr3CjOgDrVw1J7hTkywbL4CJbB2SF/oXEfURJPaNY39otQQn7mHkHdb8TSHJqiHLWFb 6b40doqTe9YsE+kSGbrypoVr28zxOjHpQc3z9PnhD8mVbl6g/O/D2q61VVvDXC3nhEf10/ hO7f9kJF2Wq0xtsRmuIg/zPeod2bXsnGerkpgbwYgFS/Ohp388NnpKTJgb5Jk1MfB3agBM aRGQUPPhBHa18jfeYAZRF1iqDsjscIdfHIYDoHeb4OeEdjEABwmKscipawWb920EuhO/5u qxcBzpbNw1hdYePqiB/DpYtqu8qHOMToEhtskGaJA1IxgLNZ+CMPhG/HFzCFoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCMSn1SmHz17Ms; Fri, 28 Jul 2023 22:17: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 36SMHSZ6073302; Fri, 28 Jul 2023 22:17:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36SMHSJD073301; Fri, 28 Jul 2023 22:17:28 GMT (envelope-from git) Date: Fri, 28 Jul 2023 22:17:28 GMT Message-Id: <202307282217.36SMHSJD073301@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: c620788150d2 - main - sctp: keep sb_acc and sb_ccc in 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c620788150d274c09a070ab486602c98407d73b0 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c620788150d274c09a070ab486602c98407d73b0 commit c620788150d274c09a070ab486602c98407d73b0 Author: Michael Tuexen AuthorDate: 2023-07-28 13:16:23 +0000 Commit: Michael Tuexen CommitDate: 2023-07-28 13:16:23 +0000 sctp: keep sb_acc and sb_ccc in sync PR: 260116 MFC after: 1 week --- sys/netinet/sctp_os_bsd.h | 18 ++++++++++++------ sys/netinet/sctp_output.c | 2 +- sys/netinet/sctp_pcb.c | 2 +- sys/netinet/sctp_var.h | 4 ++-- sys/netinet/sctputil.c | 4 ++-- sys/netinet/sctputil.h | 4 ++-- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/sys/netinet/sctp_os_bsd.h b/sys/netinet/sctp_os_bsd.h index 80c187b3c5ef..0d88377523c8 100644 --- a/sys/netinet/sctp_os_bsd.h +++ b/sys/netinet/sctp_os_bsd.h @@ -372,11 +372,6 @@ typedef struct callout sctp_os_timer_t; #define SCTP_CLEAR_SO_NBIO(so) ((so)->so_state &= ~SS_NBIO) /* get the socket type */ #define SCTP_SO_TYPE(so) ((so)->so_type) -/* Use a macro for renaming sb_cc to sb_acc. - * Initially sb_ccc was used, but this broke select() when used - * with SCTP sockets. - */ -#define sb_cc sb_acc /* reserve sb space for a socket */ #define SCTP_SORESERVE(so, send, recv) soreserve(so, send, recv) /* wakeup a socket */ @@ -384,8 +379,19 @@ typedef struct callout sctp_os_timer_t; /* number of bytes ready to read */ #define SCTP_SBAVAIL(sb) sbavail(sb) /* clear the socket buffer state */ +#define SCTP_SB_INCR(sb, incr) \ +{ \ + atomic_add_int(&(sb)->sb_acc, incr); \ + atomic_add_int(&(sb)->sb_ccc, incr); \ +} +#define SCTP_SB_DECR(sb, decr) \ +{ \ + SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_acc, decr); \ + SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_ccc, decr); \ +} #define SCTP_SB_CLEAR(sb) \ - (sb).sb_cc = 0; \ + (sb).sb_acc = 0; \ + (sb).sb_ccc = 0; \ (sb).sb_mb = NULL; \ (sb).sb_mbcnt = 0; diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index a146ad401b30..7e32cc662f38 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -7290,7 +7290,7 @@ one_more_time: if ((stcb->sctp_socket != NULL) && ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { - atomic_subtract_int(&stcb->sctp_socket->so_snd.sb_cc, sp->length); + SCTP_SB_DECR(&stcb->sctp_socket->so_snd, sp->length); } if (sp->data) { sctp_m_freem(sp->data); diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 9df2f82bdaa6..220d8b72667d 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -3612,7 +3612,7 @@ sctp_inpcb_free(struct sctp_inpcb *inp, int immediate, int from) TAILQ_REMOVE(&inp->read_queue, sq, next); sctp_free_remote_addr(sq->whoFrom); if (so) - so->so_rcv.sb_cc -= sq->length; + SCTP_SB_DECR(&so->so_rcv, sq->length); if (sq->data) { sctp_m_freem(sq->data); sq->data = NULL; diff --git a/sys/netinet/sctp_var.h b/sys/netinet/sctp_var.h index 8301ec38cf6e..ef01b0b6c3bd 100644 --- a/sys/netinet/sctp_var.h +++ b/sys/netinet/sctp_var.h @@ -198,7 +198,7 @@ extern struct protosw sctp_seqpacket_protosw, sctp_stream_protosw; } #define sctp_sbfree(ctl, stcb, sb, m) { \ - SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, SCTP_BUF_LEN((m))); \ + SCTP_SB_DECR(sb, SCTP_BUF_LEN((m))); \ SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_mbcnt, MSIZE); \ if (((ctl)->do_not_ref_stcb == 0) && stcb) {\ SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \ @@ -210,7 +210,7 @@ extern struct protosw sctp_seqpacket_protosw, sctp_stream_protosw; } #define sctp_sballoc(stcb, sb, m) { \ - atomic_add_int(&(sb)->sb_cc,SCTP_BUF_LEN((m))); \ + SCTP_SB_INCR(sb, SCTP_BUF_LEN((m))); \ atomic_add_int(&(sb)->sb_mbcnt, MSIZE); \ if (stcb) { \ atomic_add_int(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \ diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index ef8d763efabf..a4d4e806c00e 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -5044,7 +5044,7 @@ sctp_free_bufspace(struct sctp_tcb *stcb, struct sctp_association *asoc, if ((stcb->sctp_socket != NULL) && (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) || ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE)))) { - SCTP_SAVE_ATOMIC_DECREMENT(&stcb->sctp_socket->so_snd.sb_cc, tp1->book_size); + SCTP_SB_DECR(&stcb->sctp_socket->so_snd, tp1->book_size); } } @@ -6121,7 +6121,7 @@ get_more_data: if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) { sctp_sblog(&so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBFREE, (int)cp_len); } - SCTP_SAVE_ATOMIC_DECREMENT(&so->so_rcv.sb_cc, (int)cp_len); + SCTP_SB_DECR(&so->so_rcv, (int)cp_len); if ((control->do_not_ref_stcb == 0) && stcb) { atomic_subtract_int(&stcb->asoc.sb_cc, (int)cp_len); diff --git a/sys/netinet/sctputil.h b/sys/netinet/sctputil.h index 60b5661c309c..d74780cdccf7 100644 --- a/sys/netinet/sctputil.h +++ b/sys/netinet/sctputil.h @@ -253,7 +253,7 @@ do { \ } \ if (stcb->sctp_socket && ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \ (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \ - SCTP_SAVE_ATOMIC_DECREMENT(&stcb->sctp_socket->so_snd.sb_cc, sp->length); \ + SCTP_SB_DECR(&stcb->sctp_socket->so_snd, sp->length); \ } \ } \ } while (0) @@ -264,7 +264,7 @@ do { \ if ((stcb->sctp_socket != NULL) && \ ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \ (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \ - atomic_add_int(&stcb->sctp_socket->so_snd.sb_cc,sz); \ + SCTP_SB_INCR(&stcb->sctp_socket->so_snd, sz); \ } \ } while (0) From nobody Sat Jul 29 01:18:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCRTT2ZyTz4pHlr; Sat, 29 Jul 2023 01:18:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RCRT94r79z4Qgn; Sat, 29 Jul 2023 01:18:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690593485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i7iobruiXnoMbrgj0XRCcPhdmX0CApjOS+j9NRSxbxo=; b=dgXCEN2hmsMDE5BK9/6frYyY7tiOuPre/c1If74dFpgnfh1RLB4xydElm6WvsQihQzPjl5 qQFqwKQeU+JtrOVodnVaivXdf99IoWLhy/ztpxrkgZixZsngYKVY5Lb4Ack/fkbSpXIbZS 9kOUakpwX7j9jrjQ80QsaguvaINDEXpmA4mvljGw9XhieIW0tjvAka58KaMocpuJCBTIzh XtW0KyTzVZ5GcNQg732+vOAnORwyIKirR5RL/31KGAIZKlj8dDXaHz5dNEG+vXZxYfYOn1 nMtFK2aPAY66vpgI2ARgRaMF6a1+Y7lIeZRII+0vcZcohrFsPjoNefDXOdsSuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690593485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i7iobruiXnoMbrgj0XRCcPhdmX0CApjOS+j9NRSxbxo=; b=f64c7olOpPYfUwkj2IcnPeelLuCjLXVCr2t+6/42+Ke+hvvq4KvboT0TrGIwLUB3deJaU0 CD1CPVxr28AJ0KtKvuuAowv8snCDTSSeYk+T2FbH+u7G0nAWrCiO+GLQYZvX1695UW5l13 tEq8zC193ht26OHfGSlbFMVQezKE7ZaE40yr+MgFce6xlR26n8nl2ZbjEo6rLRnzdoHTvR mSRB1fweCqPBzhDFcxhBP5ULb0oKiR7Qh//b+4P9IM5nyBTtpzTgKGWgSwK45emOjvJSiz STdmAfGdCyS3Hk9VYFkS3za2revOv4q0OHwyyJQPQnH+N3gEO/94lCiLG7SIpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690593485; a=rsa-sha256; cv=none; b=J9MFwAMKmseQa/svp7czazYLjjrdBO1iqczpNIRQaQfhsp5cPrb226miuQSweG+vBWplZT I20n7qvvF42UpSQOTvt+doFDON/Y94w3IpMnZDd/b1w3w+4kEwAg3dv70MU6ROTxdq5fPJ lfE7l45daf79oEloQKNA/7S0Gz0MxxFsHUsefv36fTEKmJn+DPxTjPafltAORTR0SzLVZX IhWmwFKRYA3ROZGGscrKpi71n5Ji1epYiEgwCjt/QatrjSmIjQJB4EyjHplUR9w7d0HmzW ik6vVIaPGc5gHqgg/3i4jzMXahxyAZ8RbHVouzcOPQ9HWN55hVbRrulpDtHaKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCRT93SRSz1CGq; Sat, 29 Jul 2023 01:18: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 36T1I5UO070918; Sat, 29 Jul 2023 01:18:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T1I5lM070917; Sat, 29 Jul 2023 01:18:05 GMT (envelope-from git) Date: Sat, 29 Jul 2023 01:18:05 GMT Message-Id: <202307290118.36T1I5lM070917@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 38588749af45 - main - e1000: HWCSUM excemption fixes List-Id: Commit messages for all branches 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38588749af45d738e6f548f15beb415c46ba8658 Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=38588749af45d738e6f548f15beb415c46ba8658 commit 38588749af45d738e6f548f15beb415c46ba8658 Author: Kevin Bowling AuthorDate: 2023-07-29 01:14:29 +0000 Commit: Kevin Bowling CommitDate: 2023-07-29 01:17:35 +0000 e1000: HWCSUM excemption fixes Also disable IPV6 checksum offload. Spell hw->mac.type < e1000_82543 as e1000_82542. Confusingly, chips like 82540 and 82541 come later and do not have these issues. There is no functional change here, as the enum was defined in such a way it worked correctly. But this reads literally. MFC after: 1 week --- sys/dev/e1000/if_em.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 32d8c3282e33..1f6100cff293 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -949,9 +949,10 @@ em_if_attach_pre(if_ctx_t ctx) CSUM_IP6_TCP | CSUM_IP6_UDP; /* "PCI/PCI-X SDM 4.0" page 33 (b) - FDX requirement on these chips */ - if (hw->mac.type < e1000_82543 || hw->mac.type == e1000_82547 || + if (hw->mac.type == e1000_82542 || hw->mac.type == e1000_82547 || hw->mac.type == e1000_82547_rev_2) - scctx->isc_capenable &= ~(IFCAP_HWCSUM|IFCAP_VLAN_HWCSUM); + scctx->isc_capenable &= ~(IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM | + IFCAP_HWCSUM_IPV6); /* 82541ER doesn't do HW tagging */ if (hw->device_id == E1000_DEV_ID_82541ER || hw->device_id == E1000_DEV_ID_82541ER_LOM) scctx->isc_capenable &= ~IFCAP_VLAN_HWTAGGING; From nobody Sat Jul 29 08:22:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCcvK3Pqtz4pK6V; Sat, 29 Jul 2023 08:22:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RCcvK1m56z3rFV; Sat, 29 Jul 2023 08:22:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690618973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKx3ZMElXrtFYjCzI8T66Y4Sg2g0VrgtZ8A8H6gXKWk=; b=LniRAsccL3uBf8GgfvfRbpP4GVNth3L6Wzxg2aH2gaJS1TkDY01Ie73jWaBWpHGHpmOgcd wdjnAtxkzTl2GM/uH3QRpRXdHXHAPjP++6JzdaUQxQV3ueeaTUX1tC3V7RLCgxwjLktiqu Ncm31qg7/dh51fdU9ELxVQ2Iry3DjSp/WFrTLf8eyzqwIoCRlIeKrajonp22xZ6nJDUz34 uVXVQ3sSHliOjDf9kRjnepa4Ycz6VsrlcNwmncCTb4UdrlIvY8UqF9vYhyUjVFB+jdHQEF agZ0APgkNhwLiKzzwGGjuzTDzdXXKGdMy+D2opF6HXJQ0LEH/87U57Bki9USfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690618973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKx3ZMElXrtFYjCzI8T66Y4Sg2g0VrgtZ8A8H6gXKWk=; b=ElEhe7Li9KfKRN8tnCBtwj5dWgnSJG7efTXMtreJBPfhZ/cDE9s7VRZrommmWVntOF7g+i rxBPlp5axA9NJU+QoQDp+MsyuGyosjghsJqxclK6GmrngCUet9TaKHzmq/M9UXdQjWAjqQ 3jDLApbv0zM4YCcp5VzytvFfi56TEcfcqBWq9IQ3GGjk3uIOZYNq4Gfz/NeBy10Ol4TFe5 nrmdlzw4mmLfrh7M9SlX6kw6h0G+X3moMGioUcpyskF65LWXkdk10YcklfMhaMRm/0mKgs 4zryBD4eXFLL4BqpjEfeJwRMngVOfcXOb3LSZc5vI15BjVN3KMG5KAk8crZGiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690618973; a=rsa-sha256; cv=none; b=WmfIkr3ZcoykJAvmkpKa2JqDX/pFTssANWyPVNdwd7Knbm7+6k8mWGVb53f5Mz8QZPASlt bwU1x78OqkD0WPlV0+kh4EOivRiM3nePU0KNAyQ6g6u73UQQteIYuYOwASNSWoCP16hKLQ HtT/0r054EFzKIOwKbL4QwLgD6d3b/T3y5Or6qcpAwAJ4FA6odZGC7/PiBOeZX0aO1wu8Y t79Tu2+ofx+FF1cTHSPEWywJ9kCJkpbCBD0MI676jYCQ4h9nGSDYY4iJs5CghXEhB3k3KJ iN6r2d/xRQHNE8rytijcWsY7mldIvh0ldSHVhQHngVDN8PhHwFOnlIR1m+W6ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCcvK0ljHzQqm; Sat, 29 Jul 2023 08:22: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 36T8MruT082427; Sat, 29 Jul 2023 08:22:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8Mrwj082426; Sat, 29 Jul 2023 08:22:53 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:22:53 GMT Message-Id: <202307290822.36T8Mrwj082426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: dbac8474fe44 - main - vfs: Deleting a doubled inclusion of sys/capsicum.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: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dbac8474fe442a7fdbdcdc3ee4a9fe177b7bf46c Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=dbac8474fe442a7fdbdcdc3ee4a9fe177b7bf46c commit dbac8474fe442a7fdbdcdc3ee4a9fe177b7bf46c Author: Dmitry Chagin AuthorDate: 2023-07-29 08:21:58 +0000 Commit: Dmitry Chagin CommitDate: 2023-07-29 08:21:58 +0000 vfs: Deleting a doubled inclusion of sys/capsicum.h Reviewed by: Differential Revision: https://reviews.freebsd.org/D41223 MFC after: 1 week --- sys/kern/vfs_cache.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index d315892953e1..1b4d66afbbe5 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -71,8 +71,6 @@ __FBSDID("$FreeBSD$"); #include #endif -#include - #include #include From nobody Sat Jul 29 08:22:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCcvK0m3sz4pKHj; Sat, 29 Jul 2023 08:22:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RCcvJ3sj3z3rM6; Sat, 29 Jul 2023 08:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690618972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wDIbq8Ykotp3H1VYqAspHUZbShWUDwVomlvVFb2n/E=; b=Fu5HabTJVanwJPD78VC8njDQHT9AvF2wRgW1qmjAYLKeZMzIg/WiUFtajEpcBpXRbV8Lci xHqDGCboVUIF+zIjsk5iOLgWcMVrtkGJMSd65/BNsg8qYuDJ7UMEUNWHkhaF0xY3QyBTmb oqJ8XTb9OFZSX7pndgQP01RLdEd4zfigudlmkJRbPBJbOb6amqocjn61c2SgDcAtJQfgua 28Xbc+93N7gJHgpsIJhnMffzFYQHLihdmrqRL0rJXJNKWogcZGJcaiippjC/AQrdRSpzPr /NPxKvWl0MsrCyvwKiNLugXbO/sQRbTzAvOTTUQWan3H2vprclNezyT4doLIWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690618972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wDIbq8Ykotp3H1VYqAspHUZbShWUDwVomlvVFb2n/E=; b=yVHJmEVCGx2BIvQnJEZZVn5ZUAlIupvc1nvKuej0rKptUiaMHX9n1EEM8HlysTrAsAKvFF 9V9Z4BaKCuIyJNhkg0qBubWKZeSF5EeEvlz/bzueNzrBU1W7bllVFgA1xPmdKQMhVQHqGG v0hf4daVRLMx+rt9WcFujXxVYpom+RcGVcZfyco+hnTIEtf2swyTvLn79pZ8dSGqRlEmWG woZ/fGR8hA5EDnce/Y319z00h3Ajn+0XsEKm8095LNo0nxaJPIo5sOwiIgstDMxMJ/yuyk 90Kg8M/SetTpxnFB9NgWV0jJAwMG3fvzoFF2v0HAXJMlpnEWK/Cwb5fBP+CrGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690618972; a=rsa-sha256; cv=none; b=vVFPKukON0yFWDwqH6SAoFl4oURKNmjYiO78wSCN1aJYReAJmDXOsFXCI7WryV8y3tRW+J KttdPklPIMwLVaYIT7ghl4LI6+q10p1+89sTeAjNHpwpFc+tOjSB8tiSolrvSQpWAWDbRy 7toqr4GFOUu7EmnzymCHSYJR9lzKLlpBTwVf7St9HvZOQsn38qSOsMVLywPQFIzmYi4V+4 sl4n21j1XFCmlEXTiw5p4jtfnxGX0dBvNjdJwBT90sMCsiC2g7WDBptA3MmgscxgRwYC1o bYwkhmrqUDgp7Hfsdbetdxp7f5x20WSGRFPMSbS2pw6eImHfwP8flNUXayBhPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCcvJ06mDzQsg; Sat, 29 Jul 2023 08:22: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 36T8MpTc082406; Sat, 29 Jul 2023 08:22:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8Mpfa082405; Sat, 29 Jul 2023 08:22:51 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:22:51 GMT Message-Id: <202307290822.36T8Mpfa082405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 67116c69052d - main - linux(4): Fix control message size calculation List-Id: Commit messages for all branches 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: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67116c69052d27dbd6d6c066104850d4d53f0041 Auto-Submitted: auto-generated The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=67116c69052d27dbd6d6c066104850d4d53f0041 commit 67116c69052d27dbd6d6c066104850d4d53f0041 Author: Dmitry Chagin AuthorDate: 2023-07-29 08:21:35 +0000 Commit: Dmitry Chagin CommitDate: 2023-07-29 08:21:35 +0000 linux(4): Fix control message size calculation To determine the size in bytes needed to hold a control message and its contents of length len, CMSG_SPACE should be used. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41224 MFC after: 1 week --- sys/compat/linux/linux_socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index dd8d688a6916..ac411aae1cb3 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -1852,7 +1852,7 @@ cont: if (error != 0) goto bad; - if (outlen + LINUX_CMSG_LEN(datalen) > maxlen) { + if (outlen + LINUX_CMSG_SPACE(datalen) > maxlen) { if (outlen == 0) { error = EMSGSIZE; goto err; @@ -1871,7 +1871,7 @@ cont: error = copyout(data, outbuf, datalen); if (error == 0) { outbuf += LINUX_CMSG_ALIGN(datalen); - outlen += LINUX_CMSG_LEN(datalen); + outlen += LINUX_CMSG_SPACE(datalen); } } err: From nobody Sat Jul 29 08:49:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCdVX156Nz4ppJK for ; Sat, 29 Jul 2023 08:49: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 4RCdVW264xz450p; Sat, 29 Jul 2023 08:49:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QLCgbdDeakUS4ebBVl7WPl9tjWM+u7/W7AtFHOm7nHM=; b=VDmp+cacJahOSwI5iPwqzl3yGTMCAUETEsAeAbryA6GDdlybVmytqTdj2tZl8Oqemap13R SM0tjMIATNHsgSWEdEYBf+67c73Cd1PBGBHlywpK6/fQzMVBtdse5FjZc/1rbK1xUMOe9g 5IHLujTwroHICLa1baLNJ6/U1IirCufDudsZHBEgyRqHj5r8cxfGoz3bDZqzR6G5IvHVEW OHLv+zogmx+zWmooyuUPiujTDcC5s2KHo/iFo1WT5DMLTA0azw0Yw4vCRAwrBS40Qs1gyb xydvrhJ2X209lZkmFOElEXb+sq5ytDSCALVfUBKtci+R9Lo7zn9Td9C6lWs3lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QLCgbdDeakUS4ebBVl7WPl9tjWM+u7/W7AtFHOm7nHM=; b=qT2jD5jE2UlTt1lWxjlT5/vtDccOm88QarM6gmdh+hPYk+xYbJu2/rFc5ctXbJWZtmzKyK Lgdnl09wZZpI41wLkw/GSFHy7ZjWlDq1gwInr2DyMpQakmaCmVWwvoOAlnAQBeKGXoglw8 UC9pKigAKfBgBhbvqcJFBgNvdRSkfoxS7oaomQ80ATIV+5UPAL8ACSNUQONYi4lxixpt8b xbSTHSvzDgqPbhMsEmfasT/sKfyLYENa10Sn+gaKa+2paPay6Z8f2kPcsUYzxf+IURxiV0 BF+mri47zeDU+fLFvgBjvJ3cniktZS0vNMnu+jm35Lne/rNPT+ytZJNMdgMA1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690620595; a=rsa-sha256; cv=none; b=c2Ytlxv9G/S1OL1OHZHT1GUi5h5KSCh4S29OM3kt89uko2sDh4ctHk7wQnP8KgODHJRLNK NBFYMdBtVyMzzit12Qe/MxeeqhHkExO+2nUaP8VSvHQ/T3Zp3S5Cvc3hL0+U65doP/MeMF v0W3V6BmwkMXk88+IEiICbTxjagysGacSLKkZRGdok1RlYSmtTbBL8/bgdUSzSjBQhfvnq 91m0TU8QsKTC8mzq2fp7yFk3UoB9Z9VUHC4Nska5vpu+JaRDHbT/EAg6wmAvM/csJQqF0u y/Q+urjq6hlRkdbfCZGu6IIARDQ+i8osbmo0qjZONehy2cnqCU9BS8W1uPoGxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCdVW1CQvzQvR; Sat, 29 Jul 2023 08:49: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 36T8ntSK016320; Sat, 29 Jul 2023 08:49:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8ntRq016319; Sat, 29 Jul 2023 08:49:55 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:49:55 GMT Message-Id: <202307290849.36T8ntRq016319@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Sergio Carlavilla Delgado Subject: git: b60a0124f35a - internal/admin - Safekeep kibab's src bit following commit bit expiration policy List-Id: Commit messages for all branches 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: carlavilla X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: b60a0124f35a6eebf3264d4a96b3cf18c6257da7 Auto-Submitted: auto-generated The branch internal/admin has been updated by carlavilla: URL: https://cgit.FreeBSD.org/src/commit/?id=b60a0124f35a6eebf3264d4a96b3cf18c6257da7 commit b60a0124f35a6eebf3264d4a96b3cf18c6257da7 Author: Sergio Carlavilla Delgado AuthorDate: 2023-07-29 08:46:31 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2023-07-29 08:46:31 +0000 Safekeep kibab's src bit following commit bit expiration policy Thank you for your years of service as an src committer With a goal of maintaining security on FreeBSD project infrastructure, the Core Team has decided to consistently apply the commit bit expiration policy[1] and disable access for inactive accounts. [1] https://www.freebsd.org/internal/expire-bits/ Approved by: core (implicit) --- access | 1 - 1 file changed, 1 deletion(-) diff --git a/access b/access index 5a4998d6f620..d7bbcd2c93fa 100644 --- a/access +++ b/access @@ -98,7 +98,6 @@ kevans kevlo khng kib -kibab kp lstewart luporl From nobody Sat Jul 29 08:51:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCdXd4HNFz4pqYQ for ; Sat, 29 Jul 2023 08:51: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 4RCdXb0V5lz45MW; Sat, 29 Jul 2023 08:51:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPGH5jwYtr7vgKasyVZpGvL6E+rWzo7yyuP+IfdjwJE=; b=syIcu8h2y+zkSxDtP3G9AeF5tsFn0Xd+119rAHAoACn5hKpKGhpZWoPgZQ2KVSsaeaSxeC i1z1eVsjgwRx8iCvLOpEQPc/a5Km5BPEs1xn+Wbf2fyfgCMPSTPOgTPVS+98FT7WxYpmFj 8kKyA+kAUmtbMyAGhYJNHlDSnda1Ld/sQrSH23yJZx3rIjOp4X7b0vL7BOxgq9+qlE4rA8 NBEGovo/Me80etgiQ8JCFy68woqgyLh/rDBBbcOSFt7qVfV9Vpjn8ktLdSKCH6H5R+zdbu Zad7p/Gl0rqJPNYlSuW8+K1VumyJTAaaTJyxs9Qy0mmPalEiAfZyaRbPOwJ1xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPGH5jwYtr7vgKasyVZpGvL6E+rWzo7yyuP+IfdjwJE=; b=le0qvBhCqca+LxoLPUMelYEiBwDDlFji8LTsvbWL0pRZyF8TNl/G7elSs1efgBZdvRSQGk zsiziUEtfjeENGOR8ZlA+eYEjOZEv7c0yerEd+QUmONagTneFVaCi7txrPKhcOTxyW8tzz qOqYi782UaciJaiPoXdVb/bhvzRi2V00Q8y8cdDk+xHZ1faESY82o75NLAiox/kkvwmNp3 Wtg3Q7dA14uKihnRl6fqclAXQVakA3x5NCMQLCpNaaxBnOmjPYAvoNNmXMC7wIz40dhw/x JMZ9t5uq65s+BAPWng2rEQ2GxXUqP8A5vkaLi85dPFCSsnNkviYDIUyEXnqZnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690620703; a=rsa-sha256; cv=none; b=vKJMSyNDghK/S+Oug43NRgkjB+Mo+vpyy/0tmLN2gtImz0N57ikySRv09b3MPiZIG/Wubf PlhkRBqM9OrtLgTM6u7vjPPDa6UOaD+13Fm/hqF56x5VnxiUy+bFmby3ydQ8r3KuVAt/Bh QnJxsJojFwBUIEFJik2oHZC1/tXrgPV2LDZmpi/J3DpbsfZrDC+oULF3Fy7S7ZmerpYvHc s+LQjqygQyXw8N5PArTXnMWL9kyf7QDGr4fZRiYxZDiw3K8IRbUXDN+oQ8z1uiHgA5aYGg gIJnYJvey6e1mMCdSBF5H0sEmSllnM/0/z+FaeWXD9qSZN3WDlcL6ZnRuhodVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCdXZ61gvzRkK; Sat, 29 Jul 2023 08:51: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 36T8pgCR028497; Sat, 29 Jul 2023 08:51:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8pgho028496; Sat, 29 Jul 2023 08:51:42 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:51:42 GMT Message-Id: <202307290851.36T8pgho028496@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Sergio Carlavilla Delgado Subject: git: dafedc72c137 - internal/admin - Safekeep mmacy's src bit following commit bit expiration policy List-Id: Commit messages for all branches 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: carlavilla X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: dafedc72c137e0ffb451635c555e0e52d741874e Auto-Submitted: auto-generated The branch internal/admin has been updated by carlavilla: URL: https://cgit.FreeBSD.org/src/commit/?id=dafedc72c137e0ffb451635c555e0e52d741874e commit dafedc72c137e0ffb451635c555e0e52d741874e Author: Sergio Carlavilla Delgado AuthorDate: 2023-07-29 08:50:31 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2023-07-29 08:51:27 +0000 Safekeep mmacy's src bit following commit bit expiration policy Thank you for your years of service as an src committer With a goal of maintaining security on FreeBSD project infrastructure, the Core Team has decided to consistently apply the commit bit expiration policy[1] and disable access for inactive accounts. [1] https://www.freebsd.org/internal/expire-bits/ Approved by: core (implicit) --- access | 1 - 1 file changed, 1 deletion(-) diff --git a/access b/access index d7bbcd2c93fa..c8f0c6f82373 100644 --- a/access +++ b/access @@ -114,7 +114,6 @@ mhorne mizhka mjg mm -mmacy mmel mp mr From nobody Sat Jul 29 08:52:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCdYr34Zjz4pqYl for ; Sat, 29 Jul 2023 08:52: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 4RCdYg30J1z45lV; Sat, 29 Jul 2023 08:52:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LxARafbrhVPzIfXibEIz5MlIoyvNOGUJI0oYO9OO5Mw=; b=waPet6KvA0VhgBn7RK7DnIwdCFDBlURtT9OC98SN9ndjFqlZ5ycIPTLeA/HBC+PWgkmSfK cVWJ3IjKFv0xXxeH29HVSn94UIqvpIT3HhbYDuLcZCuHeT+5PrGfI8NyI8o2c4fvP8GeT3 rAhM9oo5rSj7yBqnlkktbQI4RttN1tlx1xee5gXHwjLjXp7BxlrXSgfm7glo52RqxwgPEs TWQxvcw+LutUyBb/JndWVrkup4wld3JixF/msNmxqLd4GVjoaiDDtiN1uGR1NDWQ/+RWH6 LK6QHaMoEk2+a1jdnEh1nOCX22B5sZA9AiNRhQWLDAPgbHzA8r2v5nMy39zPcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LxARafbrhVPzIfXibEIz5MlIoyvNOGUJI0oYO9OO5Mw=; b=fZU/h06oxybWeYFBwR49g4JU9AOyuOAdm7mRdwfK08slFsPZEor1inEZN0xhNiyJA+NHWZ 3vr3tVKftC0O9dop1v4SLULUobP6G4b4ibj4H8fI/TzHAGA6XGrj8heSax9FXakW/WJvL4 vMqyZl9Ew3sVgTKw/NXvczvWFruIc37Bh3gsC7iNQxsh9eyEedTnlXbMx7Gsr1q2aHVSub Dqbpd3iDoz3fG+tbL/k/WEELdg/YCgNt/YYEFN3/man8tKh6gA0IWLgYsttffSnbzquXKS u48ExXT3W8lZO76iXyPOiPqMYbE/gv2X+grKrxxJcwu/pr6Z0r+N+NPMVQf6vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690620759; a=rsa-sha256; cv=none; b=Ce9b37kIvXLt+KMGZFW4R25v4mitUqNQbO2crgFbhSJ7o+o3WncV3MzwvEbg5QUWIjlx7V 5/STs9bakP7B/eX15sQ0+6gW2bza5v2QHcbizn3KhXQCj/n+ifuaORUvp8Jw4lFqwcOfuc cKi4Ni5LuWsahuVER49onqsphR3q8W1NgZNWCyIqiEC5ucT7qboGk68/hq/zyOhyqos2nE ZSA21/ryCt169mQpPeww4iJOjeZHzKYm89S2X1MwlonlNVQgZU0OyRI3vPq2tScbmIJXT9 jGiBJOsJwJRYfUqYUbi3PCzbHe1U6pOz/eVjCW1uhrxqk0Zaud60Z1jaEM2dwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCdYg1ZvjzRkY; Sat, 29 Jul 2023 08:52: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 36T8qdZR031883; Sat, 29 Jul 2023 08:52:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8qdCM031882; Sat, 29 Jul 2023 08:52:39 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:52:39 GMT Message-Id: <202307290852.36T8qdCM031882@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Sergio Carlavilla Delgado Subject: git: 04ac65bbf7d5 - internal/admin - Safekeep pkelsey's src bit following commit bit expiration policy List-Id: Commit messages for all branches 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: carlavilla X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: 04ac65bbf7d59dd064f6e53c5538eef394caf551 Auto-Submitted: auto-generated The branch internal/admin has been updated by carlavilla: URL: https://cgit.FreeBSD.org/src/commit/?id=04ac65bbf7d59dd064f6e53c5538eef394caf551 commit 04ac65bbf7d59dd064f6e53c5538eef394caf551 Author: Sergio Carlavilla Delgado AuthorDate: 2023-07-29 08:52:15 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2023-07-29 08:52:15 +0000 Safekeep pkelsey's src bit following commit bit expiration policy Thank you for your years of service as an src committer With a goal of maintaining security on FreeBSD project infrastructure, the Core Team has decided to consistently apply the commit bit expiration policy[1] and disable access for inactive accounts. [1] https://www.freebsd.org/internal/expire-bits/ Approved by: core (implicit) --- access | 1 - 1 file changed, 1 deletion(-) diff --git a/access b/access index c8f0c6f82373..d1784767446b 100644 --- a/access +++ b/access @@ -134,7 +134,6 @@ philip phk pho pjd -pkelsey pstef rajeshasp ram From nobody Sat Jul 29 08:53:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCdZp6wxVz4pqLn for ; Sat, 29 Jul 2023 08:53: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 4RCdZh6C9Wz467j; Sat, 29 Jul 2023 08:53:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xchq4kYs2ShFj6Tur7LLMYXvvqa1wzFyC9uQGKmcOH4=; b=GKhobrEZgBZrK3/6OUG3uy99eIKcyUTtjEHvai5TWwEh+I7yWOACTOzdW5BXUpo4XrcDdP W440mkDIDIh+uX3YAnEMpjd+1ABVP9UCVgy01ZdRgIZJDcxJPjSvu8KyeCLUOcJqGKGP2s xFcwHNe5+cX0q915w5d6rDim75C3WrndfhiJnD0wWVP0TI6J6VYGieTHRRTvS4nvkuok9z asvLxg+e6avxVoaW3f/0VI9vbJqgugHlVKEUzEg+1m8EuezwiVW4I82GYEgA6Gt7M2+/Nw LuyF8/u5QJvGWziOs9wOJ8DhjylyHg55rgsIuRUTGF7irSvrDwtbLHEVMe0HwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690620813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xchq4kYs2ShFj6Tur7LLMYXvvqa1wzFyC9uQGKmcOH4=; b=Ik9nHPLXNUBnJqRpKhZ+pEu9aKanlavXrlofigRyeQtPhrprd/mQpNGKPI+nz3ANFnZNYo vdFsEKY8zjf4LeTAUz7XODGxeC6Wv8tNoC12Bo61+EbSVh3Yh/vCW4Wj8d4pp+jyvQJxb7 t84yxZFy+/2LDP/Cai3WhP3i6VwTsb1wlebqpdSGaYOOGfu4RE4sC/d8Ej60o0UGWhZ/XT LqCJFXRn1NOVxyWgmZgjXeNGM721iCvkoYm5gm1tf8/+C2HP9aqbVZkthBRE8lOH/FryLB hsPnz/o7gFK4VtDbMiyWwh/u7q4WqmomNvAQPYZ3qEXkSqkr8BgCZNPDIlVDig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690620813; a=rsa-sha256; cv=none; b=xzrDZsTuiBW4m/nxRCEKP8pLlr43LhFFDxSloWppo+oQlt8fFkR1Lfmqslil/4dGHoZzOW hCwzI+R65EdCJ77h7EfexSjlGeVQn2lCiI9Nf5PuWLjr/ZFQeIBWNqZ474nJnCC1usKqVt t2J92iuDg3JnFHPLJ3OZWawsjiJsz0ozFKP835dux10V1/PX4HAaljt+bhbpqkttp9VH7u EjdIx4rvGcW9noyzUFBO9EeFzqh4FsAAz1Ry+VWDcutJ8IpQFZoJDm5DRICMHG/SZwDnSZ A4EEqLmB5SZbdad8h2QCJMjjlWaBGzcs2lSiDm4+ZBlIUc07LpxQiKqA5fqFmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCdZh51TzzRkZ; Sat, 29 Jul 2023 08:53: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 36T8rWZu032100; Sat, 29 Jul 2023 08:53:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8rWru032099; Sat, 29 Jul 2023 08:53:32 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:53:32 GMT Message-Id: <202307290853.36T8rWru032099@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Sergio Carlavilla Delgado Subject: git: 01d5d63e5a39 - internal/admin - Safekeep rlibby's src bit following commit bit expiration policy List-Id: Commit messages for all branches 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: carlavilla X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: 01d5d63e5a39a0051b4ed5a5fc742109f1a41437 Auto-Submitted: auto-generated The branch internal/admin has been updated by carlavilla: URL: https://cgit.FreeBSD.org/src/commit/?id=01d5d63e5a39a0051b4ed5a5fc742109f1a41437 commit 01d5d63e5a39a0051b4ed5a5fc742109f1a41437 Author: Sergio Carlavilla Delgado AuthorDate: 2023-07-29 08:53:07 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2023-07-29 08:53:07 +0000 Safekeep rlibby's src bit following commit bit expiration policy Thank you for your years of service as an src committer With a goal of maintaining security on FreeBSD project infrastructure, the Core Team has decided to consistently apply the commit bit expiration policy[1] and disable access for inactive accounts. [1] https://www.freebsd.org/internal/expire-bits/ Approved by: core (implicit) --- access | 1 - 1 file changed, 1 deletion(-) diff --git a/access b/access index d1784767446b..eb6bd1283f5f 100644 --- a/access +++ b/access @@ -139,7 +139,6 @@ rajeshasp ram ray rew -rlibby rmacklem royger rpokala From nobody Sat Jul 29 08:59:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCdjF2mkMz4psMj for ; Sat, 29 Jul 2023 08:59: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 4RCdjF2CG4z4787; Sat, 29 Jul 2023 08:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690621153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z/a7TQ5g7xG1LE8HPwO3MIASxelS+Kny+NTp7bxKUDM=; b=OrL6pTIKMBNppvuQuxkTR3KSzj+DHzFQxRjELHEAUu44bINcaZm4ahp0FJ6D9RTXcWbcxo F0mWYPkDVcvnfnjFTM9vH3cUvW269g3gYJvsml/mocY15XVCIyQavW9MUeltxg8wtvrMRG fpWA4OPbr8AL1jDSlNbxmqNSXtn90BjFAXFnpz6+UTRCL5bDm2JysJH29ewUaadOGH5XgN e0Y7AbI3gazpikis5dowVN7itwQbA/hi6ux70mNZQQL6bz9x6+fdnQhGDO+S0dJTt+QnEy yAqwtvHUoL+49uDSMqciWZmeyPDu3/ze0/qapOJpp6wpq7lJDR8sDEwFIHsSsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690621153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z/a7TQ5g7xG1LE8HPwO3MIASxelS+Kny+NTp7bxKUDM=; b=VSxAd3+5YHM+ezEcysmlxaHh1uNybsmI+NnqtLIw2yeEJ/9OYih44AbQu9+Jxc2ZB2hvfD mwb6UU0LZBK03TbDWgN2nJQ3qUw7r1kYOhGG0j9lQlsjx3PIb3juCC27ZsvbP6hOvN7X/l JwebFzGvbN32LGv2UYgjeqcoy4xB3TEJ8Eo2dAXZrzTU4zcqDbKHXu9DcTRwb2ta5qVgA5 UpbrRcuQU3U3kp5juC+v+DNaJ3N9vI8Tch7kh5ruzfhbiolEQWmg2urAAmIL/1tZMQDgMS P7j2rxljKTC8Q8kXbNnW8nxtYkFjjHbwDzxBA7GOReQMh7aDUKNU8FRBrXRoZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690621153; a=rsa-sha256; cv=none; b=tRhsiAPxl6U6vipeMMYPFQQN33aog15OSK2eTMasdtDEtQMVhl51Mye/D20RPNTQQ5D8pD pigJxiHnYhsKYG3jCxzA3cbDsxJr4AaofFKqd+cz/JVf+kGQCuSOudskccuYFH+25gy/lh KX8e47GkzzEUtqifr/lunIxo1n0DZQrLYHjiGnLf9t04/YnEylwHaNOC6FeY5DcYx1TXRL g/UZrPdgohL5WDR53cZOOYqTRpI+T8P2InZmNL47NrROVm8pcDColeDejm+tyn4ZVToAXG qsX7dW5k3siLQF9Yo39sNC3A0vjWvU8RrMbN9O/vPTB3t2LhhDBXq7kV9zTxzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCdjF16lFzRTd; Sat, 29 Jul 2023 08:59: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 36T8xDeH032991; Sat, 29 Jul 2023 08:59:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36T8xDKk032990; Sat, 29 Jul 2023 08:59:13 GMT (envelope-from git) Date: Sat, 29 Jul 2023 08:59:13 GMT Message-Id: <202307290859.36T8xDKk032990@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Sergio Carlavilla Delgado Subject: git: fd6d653a6534 - internal/admin - =?utf-8?Q?Remove=20Hans=20Petter=20William=20Sirev=C3=A5g=20Selasky=20src=20commit=20bit?= List-Id: Commit messages for all branches 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: carlavilla X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: fd6d653a653441c2955f8d8757f3d8be8ea0584c Auto-Submitted: auto-generated The branch internal/admin has been updated by carlavilla: URL: https://cgit.FreeBSD.org/src/commit/?id=fd6d653a653441c2955f8d8757f3d8be8ea0584c commit fd6d653a653441c2955f8d8757f3d8be8ea0584c Author: Sergio Carlavilla Delgado AuthorDate: 2023-07-29 08:54:25 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2023-07-29 08:54:25 +0000 Remove Hans Petter William Sirevåg Selasky src commit bit The Core Team would like to thank Hans for his years of service to the FreeBSD Project. Public announce: https://lists.freebsd.org/archives/freebsd-announce/2023-July/000076.html Approved by: core (implicit) --- access | 1 - 1 file changed, 1 deletion(-) diff --git a/access b/access index eb6bd1283f5f..f91b976d055a 100644 --- a/access +++ b/access @@ -77,7 +77,6 @@ grog gshapiro freebsd-cvs-committers@g.gshapiro.net harti hrs -hselasky imp jah jamie From nobody Sat Jul 29 18:19:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCt7X3fFBz4q4NN for ; Sat, 29 Jul 2023 18: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 4RCt7X38BXz4B8c; Sat, 29 Jul 2023 18: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=1690654760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ksoqqDCQctYmdewdm1fP9PtrEKIDS9DN1b/6UTieLVw=; b=ag4hWZgp712D53HTzOxB17yHitQKvSUL372AdsS8t7jUd2aXktY1lnYaflvMQjhgR7q0V8 pXZsP2BQT21dCOH+n5U2dlg7DOmfRvxyAvOIK+2b9uMLPUSfDBzM+bWiTHBOaglj6ZxbBT fcrlbPR9ZbnfBcDj/fcJ20IcQ3zL5MJr/jdyHU9GPh6SZJ/X6/C1H8pxpvx/8+DCmgrufg l9EArhq2PkHS9+4CX4mPnnu2ef9LZMjEowG1vAjXroG5oEzTRDrWvkIipVQ3MUJLGixCDq Vy1g+ZfbkWvA5HKdkiWWReocxcL/ULJvDHlrGeXXpdgYg9QOUub1pd27Hq5m5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690654760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ksoqqDCQctYmdewdm1fP9PtrEKIDS9DN1b/6UTieLVw=; b=RR5bVecu6jevGnDwEusJ9FjTtlEIk/XRFGmY5kL0luq4t2tLso2i4geGMwZlmcD4ZKxwMm km/b/FSWIiMYJVzLuW/dv2hi+/cw1Ipa35F46txAdhHOO9bvC+7hwX2Rf9YrYXrPgd5sHK P61QrdoMDxmprxJwqrx4LkT4C156c7sFYZYyHvOI4f6r6wL3GY7HZQT+y5RSGtjAeYKQkK l9xy1Pu1MOVuzni3MWdlsGvIDjED3Fij9M479h+5X6M5+J/1V0gLWYlVRN/fn+7XK2yVyw p1JqAawQvmA4sly28sl4CfC2MvBn2vXelrTtDQVL6p+ax8kAK3JwCWLgCSGGmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690654760; a=rsa-sha256; cv=none; b=WYrYmIrZI5Dmi/PiDF6qgzbtYX9sEOczyrt00sbz0HiG2GUAbqYPkZVHdLxqAfUBWz4uFY 9elSFxeBc0O5Za4/LB0EMJfwqb+eQa220m2b2GVWYOHBUzFS/2O3521g/vAXVYkn969LLr STUj5OAwviqdMPSreSuiEXCgbpzs5d6njjHJ7gWT7FvUEAXX5yrHGJ77tW2LmfUC5a6lT1 8cXIzbL0PcWHShVv1hTgxpZdibYOnXSC+szAUPHIeu+ZJw15Cw8tKYMgdAw02fsHGKOwWh 1ujhEPH2S8Yx0a87UX/5KEVVq8je+gltQujWNp1sGLBrijpKFDOwNGfXqPr9ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCt7X1vvtzjgg; Sat, 29 Jul 2023 18: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 36TIJKd3058827; Sat, 29 Jul 2023 18: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 36TIJKdj058826; Sat, 29 Jul 2023 18:19:20 GMT (envelope-from git) Date: Sat, 29 Jul 2023 18:19:20 GMT Message-Id: <202307291819.36TIJKdj058826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: 14b646f7c3f7..70968ea087e7 - 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: 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/libarchive X-Git-Reftype: branch X-Git-Commit: 70968ea087e76e4f6101a83ccf2fa0b0bf686229 X-Git-Oldrev: 14b646f7c3f709cd0de2d59db3691273bc8d6d16 X-Git-Newrev: 70968ea087e76e4f6101a83ccf2fa0b0bf686229 Auto-Submitted: auto-generated The branch vendor/libarchive has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=14b646f7c3f7..70968ea087e7 70968ea087e7 Update vendor/libarchive to libarchive/libarchive@0e1e2b926 From nobody Sat Jul 29 19:01:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCv3j1pf5z4pqkD; Sat, 29 Jul 2023 19: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 4RCv3j1Nm7z3Jnx; Sat, 29 Jul 2023 19: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=1690657265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzbob1fp5gZseU0WUMX5Op2BGJ5LjRaRsoVPkRE/f3U=; b=wLCUdKyU5o7zzOgbDBbVwGh9IoOmjsIJDOYzh4KmG9g7wUKNzNiSdMAcwwjvbpSWeyZMQW KIcoYkDEJ40FmoP+gIuyl+16M8HKxdAgKo+zbuTjxn9vj5Fd1plVpSo+K880HNwG1uQ/Mt v6KayBDm+UMm3Ykt5WYJEHFtZQ8iPaAqkW9B17/YrZcKY5p03+lQlmrP2rWGzw2dRCEg4S UO1MBnIgYlsr5PFRvtK14bjiCBkpIDo41lB0t0b6EpsHEzv51R3YxGmXOoRg+VQ40bw3pv GVLZI+458hEMk3i/6fc2qtPJP2dKyLs1KimZmbwNjc52I1aySPxOGo4pWKiUkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690657265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzbob1fp5gZseU0WUMX5Op2BGJ5LjRaRsoVPkRE/f3U=; b=psvRSeiTz+aOw5AO2AT1Bm/FaJucQStmQ6r0qtWvQuuab3ELKxk0cGfhhIoX4Em/FmSi/u iQIEhVabpv/9PCUAdvcsjgurDMuKNaAu/0ph0Frh1tAurg9flZNXwfFJBqHxaY32z3qsR2 siSyRfU7aw5RITLGscbT8P6WFgpM++JUk0c1ZUpNvqf2CPrlD7xYcCszifCRuMYkY4eOcb 4s4dqYxlFuIsA0+yDoRTV7mLm9JS90AE+pIokL9s5uW4/TgJMkI2mFu7eeSx+KwuI7uFY1 hrOWEbiyhyukBAU+VgmBevT4vX6++YZN/dm9zt/HAZCyJDGkWHZPbtsh7itAPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690657265; a=rsa-sha256; cv=none; b=re7bpPXtOQBIG17FHTKZj0STK/lC6xYXyunFb3RmLASMbCvPS7za3RtEyuH119U5xynta8 Q6UPKjCl8IxI/nj2eB8rII51VSu3bM8ynleOHptg4eCb0J4KOogMd0MzhUS9606H80g5+u WVfRlckPK5g5kHHLmRhkSAmIId2Iq5vf/jpTxiz3MCa0wXcswY+QdqBYE6BuyC3Eqpevm0 a8pbx9dqxw+1RTXQwZWXM27mkTJ9qBoNziZzrTQ4IUgbtBLyUyNI5tpBH9ZCHcjgO2anlA AmjVSvZdU3685kYkG4engM+Q86xcvn4I0CO0nkyXRB1T3EnsXMFYZ8Wym5zFzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCv3j0Slwzklm; Sat, 29 Jul 2023 19: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 36TJ14C3037458; Sat, 29 Jul 2023 19:01:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36TJ14M9037457; Sat, 29 Jul 2023 19:01:04 GMT (envelope-from git) Date: Sat, 29 Jul 2023 19:01:04 GMT Message-Id: <202307291901.36TJ14M9037457@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: 382af2f8d7bf - main - usr.bin/gh-bc: fix Makefile for WITHOUT_NLS_CATALOGS 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: 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: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 382af2f8d7bf576ff583543737e1134701ccc63d Auto-Submitted: auto-generated The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=382af2f8d7bf576ff583543737e1134701ccc63d commit 382af2f8d7bf576ff583543737e1134701ccc63d Author: Stefan Eßer AuthorDate: 2023-07-29 18:52:53 +0000 Commit: Stefan Eßer CommitDate: 2023-07-29 18:57:32 +0000 usr.bin/gh-bc: fix Makefile for WITHOUT_NLS_CATALOGS case Some macro definitions had been moved into a Makefile section that depends on MK_NLS_CATALOGS != "no", leading to LTO and the installation of tests being disabled in the WITHOUT_NLS_CATALOGS case. Reported by: Yuri --- usr.bin/gh-bc/Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/usr.bin/gh-bc/Makefile b/usr.bin/gh-bc/Makefile index 6554d626af89..8e5e90715ff0 100644 --- a/usr.bin/gh-bc/Makefile +++ b/usr.bin/gh-bc/Makefile @@ -61,6 +61,14 @@ CFLAGS+= -DNDEBUG CFLAGS+= -DNLSPATH=/usr/share/nls/%L/%N.cat CFLAGS+= -I${BCDIR}/include +# prevent floating point incompatibilities caused by -flto on some architectures +.if ${MACHINE_ARCH} != riscv64 +CFLAGS+= -flto +.endif + +HAS_TESTS= yes +SUBDIR.${MK_TESTS}+= tests + .if ${MK_NLS_CATALOGS} == "no" CFLAGS+= -DBC_ENABLE_NLS=0 MAN_SRC_BC= bc/N.1 @@ -70,14 +78,6 @@ CFLAGS+= -DBC_ENABLE_NLS=1 MAN_SRC_BC= bc/A.1 MAN_SRC_DC= dc/A.1 -# prevent floating point incompatibilities caused by -flto on some architectures -.if ${MACHINE_ARCH} != riscv64 -CFLAGS+= -flto -.endif - -HAS_TESTS= yes -SUBDIR.${MK_TESTS}+= tests - .for catalog in ${CATALOGS} NLS+= ${catalog:C/.*://} NLSSRCFILES_${catalog:C/.*://}= ${catalog:C/.*://}.msg From nobody Sat Jul 29 21:05:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RCxql1dYyz4py38; Sat, 29 Jul 2023 21:05: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 4RCxqk6MgKz3PqM; Sat, 29 Jul 2023 21:05:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690664754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LXFpUBjEpr+GJ1JyYr4i1K01PYFBMoP5+XKySBye/7g=; b=Ao104jbGMXiTD5YpkkY5Sy6o8uW5FkYIN7XOwE5nwG7Zm3+poQd6V59+WJbEUesDI/8UBJ seKZMxQMXpFwesnCFg46VOa71eqMABsmlpD9QCoSE8DksPiF2ntsj1dQFeUongo7ezZ+ua Tg862ncLEwsEfMJEDddBabb273LVADHA74cnL0Smp6kpyzSfqlEgPckT4s9yX8dGtMuFlt jvqI8WVBVfQGYmhqNAzf4vcUPOeE87y+qZx1Xk4ke2day8nzJPIwArbEFB3dhL84doLAXE ADlQOPIh487rq5e14cK/sYHpOyiFf79SV9BfIlvq+GhIKh2WeK5frOr7UNBlIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690664754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LXFpUBjEpr+GJ1JyYr4i1K01PYFBMoP5+XKySBye/7g=; b=r27MzSh0gVk9S3xwAGlgynvOt4oBYtZaReEdIBbSZ06opcecD3WVIsE1meV7gahwFhxhps V1Jo5se81Z3PlSXq8U2dZDT5QWgagy1ZR1VDemzLHWs5oC6VkDS1ESb49RRfUl48ZctrI0 ky1nQ9RZpKVBsEpuGTQl28ANmBVKV6VNg7FR1x/KwbGGuAg5YfV8e6okYzPuhf/vjxjMPh Igwf2kRwFgANtSm48d1qOBGP7x4czrGX6oJ7DSdc6r1gYV9hKcs5wVRvxPIIwVT0lqn+cF 1YqBzrZx9PFKPf36cwYtqJ40UZg1QsIWg7agIlqclWG22EBvQywsmSIrlE+d/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690664754; a=rsa-sha256; cv=none; b=gDHTF09RNpuw7wc/14dA5i5h3FH9CPyWdf46ufdc33lJYkLUdtJnZkmsZRXWpqFQPq/4uy htrxPq1qy6F1wITtiamEyZ1PxSsSI4mNECKLc4bqCSKgElVWmztbrszaPRIJKK5v1Zov39 WxU6FM/Lmqrme1cThQxXyf1pCj9CaGQ+5U624BMcvIm12ZjnnSe7J11quJBEHol4xdzmBX 6yrusPRyrdIZ7Gz7Eo6Zn3qLilS6MrLGYw3CyWaO2lzDdtcOk6ewD0JUrF1tej62iDDHPs n7H4RPrWCCLw9aXuE7OT8xc1bIcjHmLendDKSHl2wOoox9QWBXY9i9Hq6MaTqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RCxqk5QcPznCG; Sat, 29 Jul 2023 21:05: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 36TL5sHm039876; Sat, 29 Jul 2023 21:05:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36TL5sdl039872; Sat, 29 Jul 2023 21:05:54 GMT (envelope-from git) Date: Sat, 29 Jul 2023 21:05:54 GMT Message-Id: <202307292105.36TL5sdl039872@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: 64884e0d4ce7 - main - libarchive: merge from vendor branch List-Id: Commit messages for all branches 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64884e0d4ce7ed57c970e1b34f93e3754c656900 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=64884e0d4ce7ed57c970e1b34f93e3754c656900 commit 64884e0d4ce7ed57c970e1b34f93e3754c656900 Merge: 382af2f8d7bf 70968ea087e7 Author: Martin Matuska AuthorDate: 2023-07-29 20:43:36 +0000 Commit: Martin Matuska CommitDate: 2023-07-29 21:05:34 +0000 libarchive: merge from vendor branch Libarchive 3.7.1 Important changes (relevant to FreeBSD): ISSUE #1934: stack buffer overflow in cpio verbose mode ISSUE #1935: SEGV in cpio verbose mode PR #1731 tar: respect --strip-components and -s patterns in cru modes MFC after: 1 week contrib/libarchive/NEWS | 2 + contrib/libarchive/cpio/cpio.c | 7 +- contrib/libarchive/libarchive/archive.h | 4 +- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_disk_posix.c | 2 +- .../libarchive/archive_read_support_filter_bzip2.c | 4 +- .../libarchive/archive_read_support_filter_lz4.c | 2 +- .../libarchive/archive_read_support_format_7zip.c | 8 +- .../libarchive/archive_read_support_format_lha.c | 7 +- .../libarchive/archive_read_support_format_rar.c | 4 +- .../libarchive/archive_read_support_format_rar5.c | 2 +- .../libarchive/archive_read_support_format_zip.c | 4 +- .../libarchive/archive_write_add_filter_bzip2.c | 6 +- .../libarchive/archive_write_add_filter_lz4.c | 8 +- .../libarchive/archive_write_add_filter_zstd.c | 4 +- .../libarchive/archive_write_disk_posix.c | 7 +- .../libarchive/archive_write_set_format_7zip.c | 8 +- contrib/libarchive/tar/write.c | 2 + contrib/libarchive/unzip/CMakeLists.txt | 37 - contrib/libarchive/unzip/bsdunzip.1 | 8 +- contrib/libarchive/unzip/bsdunzip.c | 56 +- contrib/libarchive/unzip/bsdunzip_platform.h | 8 - contrib/libarchive/unzip/la_getline.c | 99 +++ contrib/libarchive/unzip/la_queue.h | 840 +++++++++++++++++++++ contrib/libarchive/unzip/test/CMakeLists.txt | 80 -- 25 files changed, 1044 insertions(+), 167 deletions(-) diff --cc contrib/libarchive/cpio/cpio.c index fbeae4133091,000000000000..7bd6a782b5b2 mode 100644,000000..100644 --- a/contrib/libarchive/cpio/cpio.c +++ b/contrib/libarchive/cpio/cpio.c @@@ -1,1510 -1,0 +1,1513 @@@ +/*- + * Copyright (c) 2003-2007 Tim Kientzle + * 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 + * in this position and unchanged. + * 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(S) ``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(S) 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 "cpio_platform.h" +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#ifdef HAVE_SYS_MKDEV_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_ERRNO_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_GRP_H +#include +#endif +#ifdef HAVE_LOCALE_H +#include +#endif +#ifdef HAVE_PWD_H +#include +#endif +#ifdef HAVE_SIGNAL_H +#include +#endif +#ifdef HAVE_STDARG_H +#include +#endif +#ifdef HAVE_STDINT_H +#include +#endif +#include +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_TIME_H +#include +#endif + +#include "cpio.h" +#include "err.h" +#include "line_reader.h" +#include "passphrase.h" + +/* Fixed size of uname/gname caches. */ +#define name_cache_size 101 + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +struct name_cache { + int probes; + int hits; + size_t size; + struct { + id_t id; + char *name; + } cache[name_cache_size]; +}; + +static int extract_data(struct archive *, struct archive *); +const char * cpio_i64toa(int64_t); +static const char *cpio_rename(const char *name); +static int entry_to_archive(struct cpio *, struct archive_entry *); +static int file_to_archive(struct cpio *, const char *); +static void free_cache(struct name_cache *cache); +static void list_item_verbose(struct cpio *, struct archive_entry *); +static void long_help(void) __LA_DEAD; +static const char *lookup_gname(struct cpio *, gid_t gid); +static int lookup_gname_helper(struct cpio *, + const char **name, id_t gid); +static const char *lookup_uname(struct cpio *, uid_t uid); +static int lookup_uname_helper(struct cpio *, + const char **name, id_t uid); +static void mode_in(struct cpio *) __LA_DEAD; +static void mode_list(struct cpio *) __LA_DEAD; +static void mode_out(struct cpio *); +static void mode_pass(struct cpio *, const char *); +static const char *remove_leading_slash(const char *); +static int restore_time(struct cpio *, struct archive_entry *, + const char *, int fd); +static void usage(void) __LA_DEAD; +static void version(void) __LA_DEAD; +static const char * passphrase_callback(struct archive *, void *); +static void passphrase_free(char *); + +int +main(int argc, char *argv[]) +{ + static char buff[16384]; + struct cpio _cpio; /* Allocated on stack. */ + struct cpio *cpio; + const char *errmsg; + char *tptr; + int uid, gid; + int opt, t; + + cpio = &_cpio; + memset(cpio, 0, sizeof(*cpio)); + cpio->buff = buff; + cpio->buff_size = sizeof(buff); + +#if defined(HAVE_SIGACTION) && defined(SIGPIPE) + { /* Ignore SIGPIPE signals. */ + struct sigaction sa; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + sa.sa_handler = SIG_IGN; + sigaction(SIGPIPE, &sa, NULL); + } +#endif + + /* Set lafe_progname before calling lafe_warnc. */ + lafe_setprogname(*argv, "bsdcpio"); + +#if HAVE_SETLOCALE + if (setlocale(LC_ALL, "") == NULL) + lafe_warnc(0, "Failed to set default locale"); +#endif + + cpio->uid_override = -1; + cpio->gid_override = -1; + cpio->argv = argv; + cpio->argc = argc; + cpio->mode = '\0'; + cpio->verbose = 0; + cpio->compress = '\0'; + cpio->extract_flags = ARCHIVE_EXTRACT_NO_AUTODIR; + cpio->extract_flags |= ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_SYMLINKS; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; + cpio->extract_flags |= ARCHIVE_EXTRACT_PERM; + cpio->extract_flags |= ARCHIVE_EXTRACT_FFLAGS; + cpio->extract_flags |= ARCHIVE_EXTRACT_ACL; +#if !defined(_WIN32) && !defined(__CYGWIN__) + if (geteuid() == 0) + cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER; +#endif + cpio->bytes_per_block = 512; + cpio->filename = NULL; + + cpio->matching = archive_match_new(); + if (cpio->matching == NULL) + lafe_errc(1, 0, "Out of memory"); + + while ((opt = cpio_getopt(cpio)) != -1) { + switch (opt) { + case '0': /* GNU convention: --null, -0 */ + cpio->option_null = 1; + break; + case '6': /* in/out: assume/create 6th edition (PWB) format */ + cpio->option_pwb = 1; + break; + case '7': /* out: create archive using 7th Edition binary format */ + cpio->format = "bin"; + break; + case 'A': /* NetBSD/OpenBSD */ + cpio->option_append = 1; + break; + case 'a': /* POSIX 1997 */ + cpio->option_atime_restore = 1; + break; + case 'B': /* POSIX 1997 */ + cpio->bytes_per_block = 5120; + break; + case OPTION_B64ENCODE: + cpio->add_filter = opt; + break; + case 'C': /* NetBSD/OpenBSD */ + errno = 0; + tptr = NULL; + t = (int)strtol(cpio->argument, &tptr, 10); + if (errno || t <= 0 || *(cpio->argument) == '\0' || + tptr == NULL || *tptr != '\0') { + lafe_errc(1, 0, "Invalid blocksize: %s", + cpio->argument); + } + cpio->bytes_per_block = t; + break; + case 'c': /* POSIX 1997 */ + cpio->format = "odc"; + break; + case 'd': /* POSIX 1997 */ + cpio->extract_flags &= ~ARCHIVE_EXTRACT_NO_AUTODIR; + break; + case 'E': /* NetBSD/OpenBSD */ + if (archive_match_include_pattern_from_file( + cpio->matching, cpio->argument, + cpio->option_null) != ARCHIVE_OK) + lafe_errc(1, 0, "Error : %s", + archive_error_string(cpio->matching)); + break; + case 'F': /* NetBSD/OpenBSD/GNU cpio */ + cpio->filename = cpio->argument; + break; + case 'f': /* POSIX 1997 */ + if (archive_match_exclude_pattern(cpio->matching, + cpio->argument) != ARCHIVE_OK) + lafe_errc(1, 0, "Error : %s", + archive_error_string(cpio->matching)); + break; + case OPTION_GRZIP: + cpio->compress = opt; + break; + case 'H': /* GNU cpio (also --format) */ + cpio->format = cpio->argument; + break; + case 'h': + long_help(); + break; + case 'I': /* NetBSD/OpenBSD */ + cpio->filename = cpio->argument; + break; + case 'i': /* POSIX 1997 */ + if (cpio->mode != '\0') + lafe_errc(1, 0, + "Cannot use both -i and -%c", cpio->mode); + cpio->mode = opt; + break; + case 'J': /* GNU tar, others */ + cpio->compress = opt; + break; + case 'j': /* GNU tar, others */ + cpio->compress = opt; + break; + case OPTION_INSECURE: + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_SYMLINKS; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; + break; + case 'L': /* GNU cpio */ + cpio->option_follow_links = 1; + break; + case 'l': /* POSIX 1997 */ + cpio->option_link = 1; + break; + case OPTION_LRZIP: + case OPTION_LZ4: + case OPTION_LZMA: /* GNU tar, others */ + case OPTION_LZOP: /* GNU tar, others */ + case OPTION_ZSTD: + cpio->compress = opt; + break; + case 'm': /* POSIX 1997 */ + cpio->extract_flags |= ARCHIVE_EXTRACT_TIME; + break; + case 'n': /* GNU cpio */ + cpio->option_numeric_uid_gid = 1; + break; + case OPTION_NO_PRESERVE_OWNER: /* GNU cpio */ + cpio->extract_flags &= ~ARCHIVE_EXTRACT_OWNER; + break; + case 'O': /* GNU cpio */ + cpio->filename = cpio->argument; + break; + case 'o': /* POSIX 1997 */ + if (cpio->mode != '\0') + lafe_errc(1, 0, + "Cannot use both -o and -%c", cpio->mode); + cpio->mode = opt; + break; + case 'p': /* POSIX 1997 */ + if (cpio->mode != '\0') + lafe_errc(1, 0, + "Cannot use both -p and -%c", cpio->mode); + cpio->mode = opt; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; + break; + case OPTION_PASSPHRASE: + cpio->passphrase = cpio->argument; + break; + case OPTION_PRESERVE_OWNER: + cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER; + break; + case OPTION_QUIET: /* GNU cpio */ + cpio->quiet = 1; + break; + case 'R': /* GNU cpio, also --owner */ + /* TODO: owner_parse should return uname/gname + * also; use that to set [ug]name_override. */ + errmsg = owner_parse(cpio->argument, &uid, &gid); + if (errmsg) { + lafe_warnc(-1, "%s", errmsg); + usage(); + } + if (uid != -1) { + cpio->uid_override = uid; + cpio->uname_override = NULL; + } + if (gid != -1) { + cpio->gid_override = gid; + cpio->gname_override = NULL; + } + break; + case 'r': /* POSIX 1997 */ + cpio->option_rename = 1; + break; + case 't': /* POSIX 1997 */ + cpio->option_list = 1; + break; + case 'u': /* POSIX 1997 */ + cpio->extract_flags + &= ~ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER; + break; + case OPTION_UUENCODE: + cpio->add_filter = opt; + break; + case 'v': /* POSIX 1997 */ + cpio->verbose++; + break; + case 'V': /* GNU cpio */ + cpio->dot++; + break; + case OPTION_VERSION: /* GNU convention */ + version(); + break; +#if 0 + /* + * cpio_getopt() handles -W specially, so it's not + * available here. + */ + case 'W': /* Obscure, but useful GNU convention. */ + break; +#endif + case 'y': /* tar convention */ + cpio->compress = opt; + break; + case 'Z': /* tar convention */ + cpio->compress = opt; + break; + case 'z': /* tar convention */ + cpio->compress = opt; + break; + default: + usage(); + } + } + + /* + * Sanity-check args, error out on nonsensical combinations. + */ + /* -t implies -i if no mode was specified. */ + if (cpio->option_list && cpio->mode == '\0') + cpio->mode = 'i'; + /* -t requires -i */ + if (cpio->option_list && cpio->mode != 'i') + lafe_errc(1, 0, "Option -t requires -i"); + /* -n requires -it */ + if (cpio->option_numeric_uid_gid && !cpio->option_list) + lafe_errc(1, 0, "Option -n requires -it"); + /* Can only specify format when writing */ + if (cpio->format != NULL && cpio->mode != 'o') + lafe_errc(1, 0, "Option --format requires -o"); + /* -l requires -p */ + if (cpio->option_link && cpio->mode != 'p') + lafe_errc(1, 0, "Option -l requires -p"); + /* -v overrides -V */ + if (cpio->dot && cpio->verbose) + cpio->dot = 0; + /* TODO: Flag other nonsensical combinations. */ + + switch (cpio->mode) { + case 'o': + if (cpio->format == NULL) { + if (cpio->option_pwb) + cpio->format = "pwb"; + else + cpio->format = "cpio"; + } + mode_out(cpio); + break; + case 'i': + while (*cpio->argv != NULL) { + if (archive_match_include_pattern(cpio->matching, + *cpio->argv) != ARCHIVE_OK) + lafe_errc(1, 0, "Error : %s", + archive_error_string(cpio->matching)); + --cpio->argc; + ++cpio->argv; + } + if (cpio->option_list) + mode_list(cpio); + else + mode_in(cpio); + break; + case 'p': + if (*cpio->argv == NULL || **cpio->argv == '\0') + lafe_errc(1, 0, + "-p mode requires a target directory"); + mode_pass(cpio, *cpio->argv); + break; + default: + lafe_errc(1, 0, + "Must specify at least one of -i, -o, or -p"); + } + + archive_match_free(cpio->matching); + free_cache(cpio->gname_cache); + free_cache(cpio->uname_cache); + archive_read_close(cpio->archive_read_disk); + archive_read_free(cpio->archive_read_disk); + free(cpio->destdir); + passphrase_free(cpio->ppbuff); + return (cpio->return_value); +} + +static void +usage(void) +{ + const char *p; + + p = lafe_getprogname(); + + fprintf(stderr, "Brief Usage:\n"); + fprintf(stderr, " List: %s -it < archive\n", p); + fprintf(stderr, " Extract: %s -i < archive\n", p); + fprintf(stderr, " Create: %s -o < filenames > archive\n", p); + fprintf(stderr, " Help: %s --help\n", p); + exit(1); +} + +static const char *long_help_msg = + "First option must be a mode specifier:\n" + " -i Input -o Output -p Pass\n" + "Common Options:\n" + " -v Verbose filenames -V one dot per file\n" + "Create: %p -o [options] < [list of files] > [archive]\n" + " -J,-y,-z,--lzma Compress archive with xz/bzip2/gzip/lzma\n" + " --format {pwb|bin|odc|newc|ustar} Select archive format\n" + "List: %p -it < [archive]\n" + "Extract: %p -i [options] < [archive]\n"; + + +/* + * Note that the word 'bsdcpio' will always appear in the first line + * of output. + * + * In particular, /bin/sh scripts that need to test for the presence + * of bsdcpio can use the following template: + * + * if (cpio --help 2>&1 | grep bsdcpio >/dev/null 2>&1 ) then \ + * echo bsdcpio; else echo not bsdcpio; fi + */ +static void +long_help(void) +{ + const char *prog; + const char *p; + + prog = lafe_getprogname(); + + fflush(stderr); + + p = (strcmp(prog,"bsdcpio") != 0) ? "(bsdcpio)" : ""; + printf("%s%s: manipulate archive files\n", prog, p); + + for (p = long_help_msg; *p != '\0'; p++) { + if (*p == '%') { + if (p[1] == 'p') { + fputs(prog, stdout); + p++; + } else + putchar('%'); + } else + putchar(*p); + } + version(); +} + +static void +version(void) +{ + fprintf(stdout,"bsdcpio %s - %s \n", + BSDCPIO_VERSION_STRING, + archive_version_details()); + exit(0); +} + +static void +mode_out(struct cpio *cpio) +{ + struct archive_entry *entry, *spare; + struct lafe_line_reader *lr; + const char *p; + int r; + + if (cpio->option_append) + lafe_errc(1, 0, "Append mode not yet supported."); + + cpio->archive_read_disk = archive_read_disk_new(); + if (cpio->archive_read_disk == NULL) + lafe_errc(1, 0, "Failed to allocate archive object"); + if (cpio->option_follow_links) + archive_read_disk_set_symlink_logical(cpio->archive_read_disk); + else + archive_read_disk_set_symlink_physical(cpio->archive_read_disk); + archive_read_disk_set_standard_lookup(cpio->archive_read_disk); + + cpio->archive = archive_write_new(); + if (cpio->archive == NULL) + lafe_errc(1, 0, "Failed to allocate archive object"); + switch (cpio->compress) { + case OPTION_GRZIP: + r = archive_write_add_filter_grzip(cpio->archive); + break; + case 'J': + r = archive_write_add_filter_xz(cpio->archive); + break; + case OPTION_LRZIP: + r = archive_write_add_filter_lrzip(cpio->archive); + break; + case OPTION_LZ4: + r = archive_write_add_filter_lz4(cpio->archive); + break; + case OPTION_LZMA: + r = archive_write_add_filter_lzma(cpio->archive); + break; + case OPTION_LZOP: + r = archive_write_add_filter_lzop(cpio->archive); + break; + case OPTION_ZSTD: + r = archive_write_add_filter_zstd(cpio->archive); + break; + case 'j': case 'y': + r = archive_write_add_filter_bzip2(cpio->archive); + break; + case 'z': + r = archive_write_add_filter_gzip(cpio->archive); + break; + case 'Z': + r = archive_write_add_filter_compress(cpio->archive); + break; + default: + r = archive_write_add_filter_none(cpio->archive); + break; + } + if (r < ARCHIVE_WARN) + lafe_errc(1, 0, "Requested compression not available"); + switch (cpio->add_filter) { + case 0: + r = ARCHIVE_OK; + break; + case OPTION_B64ENCODE: + r = archive_write_add_filter_b64encode(cpio->archive); + break; + case OPTION_UUENCODE: + r = archive_write_add_filter_uuencode(cpio->archive); + break; + } + if (r < ARCHIVE_WARN) + lafe_errc(1, 0, "Requested filter not available"); + r = archive_write_set_format_by_name(cpio->archive, cpio->format); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(cpio->archive)); + archive_write_set_bytes_per_block(cpio->archive, cpio->bytes_per_block); + cpio->linkresolver = archive_entry_linkresolver_new(); + archive_entry_linkresolver_set_strategy(cpio->linkresolver, + archive_format(cpio->archive)); + if (cpio->passphrase != NULL) + r = archive_write_set_passphrase(cpio->archive, + cpio->passphrase); + else + r = archive_write_set_passphrase_callback(cpio->archive, cpio, + &passphrase_callback); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(cpio->archive)); + + /* + * The main loop: Copy each file into the output archive. + */ + r = archive_write_open_filename(cpio->archive, cpio->filename); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(cpio->archive)); + lr = lafe_line_reader("-", cpio->option_null); + while ((p = lafe_line_reader_next(lr)) != NULL) + file_to_archive(cpio, p); + lafe_line_reader_free(lr); + + /* + * The hardlink detection may have queued up a couple of entries + * that can now be flushed. + */ + entry = NULL; + archive_entry_linkify(cpio->linkresolver, &entry, &spare); + while (entry != NULL) { + entry_to_archive(cpio, entry); + archive_entry_free(entry); + entry = NULL; + archive_entry_linkify(cpio->linkresolver, &entry, &spare); + } + + r = archive_write_close(cpio->archive); + if (cpio->dot) + fprintf(stderr, "\n"); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(cpio->archive)); + + if (!cpio->quiet) { + int64_t blocks = + (archive_filter_bytes(cpio->archive, 0) + 511) + / 512; + fprintf(stderr, "%lu %s\n", (unsigned long)blocks, + blocks == 1 ? "block" : "blocks"); + } + archive_write_free(cpio->archive); + archive_entry_linkresolver_free(cpio->linkresolver); +} + +static const char * +remove_leading_slash(const char *p) +{ + const char *rp; + + /* Remove leading "//./" or "//?/" or "//?/UNC/" + * (absolute path prefixes used by Windows API) */ + if ((p[0] == '/' || p[0] == '\\') && + (p[1] == '/' || p[1] == '\\') && + (p[2] == '.' || p[2] == '?') && + (p[3] == '/' || p[3] == '\\')) + { + if (p[2] == '?' && + (p[4] == 'U' || p[4] == 'u') && + (p[5] == 'N' || p[5] == 'n') && + (p[6] == 'C' || p[6] == 'c') && + (p[7] == '/' || p[7] == '\\')) + p += 8; + else + p += 4; + } + do { + rp = p; + /* Remove leading drive letter from archives created + * on Windows. */ + if (((p[0] >= 'a' && p[0] <= 'z') || + (p[0] >= 'A' && p[0] <= 'Z')) && + p[1] == ':') { + p += 2; + } + /* Remove leading "/../", "//", etc. */ + while (p[0] == '/' || p[0] == '\\') { + if (p[1] == '.' && p[2] == '.' && + (p[3] == '/' || p[3] == '\\')) { + p += 3; /* Remove "/..", leave "/" + * for next pass. */ + } else + p += 1; /* Remove "/". */ + } + } while (rp != p); + return (p); +} + +/* + * This is used by both out mode (to copy objects from disk into + * an archive) and pass mode (to copy objects from disk to + * an archive_write_disk "archive"). + */ +static int +file_to_archive(struct cpio *cpio, const char *srcpath) +{ + const char *destpath; + struct archive_entry *entry, *spare; + size_t len; + int r; + + /* + * Create an archive_entry describing the source file. + * + */ + entry = archive_entry_new(); + if (entry == NULL) + lafe_errc(1, 0, "Couldn't allocate entry"); + archive_entry_copy_sourcepath(entry, srcpath); + r = archive_read_disk_entry_from_file(cpio->archive_read_disk, + entry, -1, NULL); + if (r < ARCHIVE_FAILED) + lafe_errc(1, 0, "%s", + archive_error_string(cpio->archive_read_disk)); + if (r < ARCHIVE_OK) + lafe_warnc(0, "%s", + archive_error_string(cpio->archive_read_disk)); + if (r <= ARCHIVE_FAILED) { + archive_entry_free(entry); + cpio->return_value = 1; + return (r); + } + + if (cpio->uid_override >= 0) { + archive_entry_set_uid(entry, cpio->uid_override); + archive_entry_set_uname(entry, cpio->uname_override); + } + if (cpio->gid_override >= 0) { + archive_entry_set_gid(entry, cpio->gid_override); + archive_entry_set_gname(entry, cpio->gname_override); + } + + /* + * Generate a destination path for this entry. + * "destination path" is the name to which it will be copied in + * pass mode or the name that will go into the archive in + * output mode. + */ + destpath = srcpath; + if (cpio->destdir) { + len = cpio->destdir_len + strlen(srcpath) + 8; + if (len >= cpio->pass_destpath_alloc) { + while (len >= cpio->pass_destpath_alloc) { + cpio->pass_destpath_alloc += 512; + cpio->pass_destpath_alloc *= 2; + } + free(cpio->pass_destpath); + cpio->pass_destpath = malloc(cpio->pass_destpath_alloc); + if (cpio->pass_destpath == NULL) + lafe_errc(1, ENOMEM, + "Can't allocate path buffer"); + } + strcpy(cpio->pass_destpath, cpio->destdir); + strcat(cpio->pass_destpath, remove_leading_slash(srcpath)); + destpath = cpio->pass_destpath; + } + if (cpio->option_rename) + destpath = cpio_rename(destpath); + if (destpath == NULL) { + archive_entry_free(entry); + return (0); + } + archive_entry_copy_pathname(entry, destpath); + + /* + * If we're trying to preserve hardlinks, match them here. + */ + spare = NULL; + if (cpio->linkresolver != NULL + && archive_entry_filetype(entry) != AE_IFDIR) { + archive_entry_linkify(cpio->linkresolver, &entry, &spare); + } + + if (entry != NULL) { + r = entry_to_archive(cpio, entry); + archive_entry_free(entry); + if (spare != NULL) { + if (r == 0) + r = entry_to_archive(cpio, spare); + archive_entry_free(spare); + } + } + return (r); +} + +static int +entry_to_archive(struct cpio *cpio, struct archive_entry *entry) +{ + const char *destpath = archive_entry_pathname(entry); + const char *srcpath = archive_entry_sourcepath(entry); + int fd = -1; + ssize_t bytes_read; + int r; + + /* Print out the destination name to the user. */ + if (cpio->verbose) + fprintf(stderr,"%s", destpath); + if (cpio->dot) + fprintf(stderr, "."); + + /* + * Option_link only makes sense in pass mode and for + * regular files. Also note: if a link operation fails + * because of cross-device restrictions, we'll fall back + * to copy mode for that entry. + * + * TODO: Test other cpio implementations to see if they + * hard-link anything other than regular files here. + */ + if (cpio->option_link + && archive_entry_filetype(entry) == AE_IFREG) + { + struct archive_entry *t; + /* Save the original entry in case we need it later. */ + t = archive_entry_clone(entry); + if (t == NULL) + lafe_errc(1, ENOMEM, "Can't create link"); + /* Note: link(2) doesn't create parent directories, + * so we use archive_write_header() instead as a + * convenience. */ + archive_entry_set_hardlink(t, srcpath); + /* This is a straight link that carries no data. */ + archive_entry_set_size(t, 0); + r = archive_write_header(cpio->archive, t); + archive_entry_free(t); + if (r != ARCHIVE_OK) + lafe_warnc(archive_errno(cpio->archive), + "%s", archive_error_string(cpio->archive)); + if (r == ARCHIVE_FATAL) + exit(1); +#ifdef EXDEV + if (r != ARCHIVE_OK && archive_errno(cpio->archive) == EXDEV) { + /* Cross-device link: Just fall through and use + * the original entry to copy the file over. */ + lafe_warnc(0, "Copying file instead"); + } else +#endif + return (0); + } + + /* + * Make sure we can open the file (if necessary) before + * trying to write the header. + */ + if (archive_entry_filetype(entry) == AE_IFREG) { + if (archive_entry_size(entry) > 0) { + fd = open(srcpath, O_RDONLY | O_BINARY); + if (fd < 0) { + lafe_warnc(errno, + "%s: could not open file", srcpath); + goto cleanup; + } + } + } else { + archive_entry_set_size(entry, 0); + } + + r = archive_write_header(cpio->archive, entry); + + if (r != ARCHIVE_OK) + lafe_warnc(archive_errno(cpio->archive), + "%s: %s", + srcpath, + archive_error_string(cpio->archive)); + + if (r == ARCHIVE_FATAL) + exit(1); + + if (r >= ARCHIVE_WARN && archive_entry_size(entry) > 0 && fd >= 0) { + bytes_read = read(fd, cpio->buff, (unsigned)cpio->buff_size); + while (bytes_read > 0) { + ssize_t bytes_write; + bytes_write = archive_write_data(cpio->archive, + cpio->buff, bytes_read); + if (bytes_write < 0) + lafe_errc(1, archive_errno(cpio->archive), + "%s", archive_error_string(cpio->archive)); + if (bytes_write < bytes_read) { + lafe_warnc(0, + "Truncated write; file may have " + "grown while being archived."); + } + bytes_read = read(fd, cpio->buff, + (unsigned)cpio->buff_size); + } + } + + fd = restore_time(cpio, entry, srcpath, fd); + +cleanup: + if (cpio->verbose) + fprintf(stderr,"\n"); + if (fd >= 0) + close(fd); + return (0); +} + +static int +restore_time(struct cpio *cpio, struct archive_entry *entry, + const char *name, int fd) +{ +#ifndef HAVE_UTIMES + static int warned = 0; + + (void)cpio; /* UNUSED */ + (void)entry; /* UNUSED */ + (void)name; /* UNUSED */ + + if (!warned) + lafe_warnc(0, "Can't restore access times on this platform"); + warned = 1; + return (fd); +#else +#if defined(_WIN32) && !defined(__CYGWIN__) + struct __timeval times[2]; +#else + struct timeval times[2]; +#endif + + if (!cpio->option_atime_restore) + return (fd); + + times[1].tv_sec = archive_entry_mtime(entry); + times[1].tv_usec = archive_entry_mtime_nsec(entry) / 1000; *** 1658 LINES SKIPPED ***