From nobody Sun Jan 22 09:08:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06pc0ZQsz3143t; Sun, 22 Jan 2023 09:08: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 4P06pc02nPz3KtK; Sun, 22 Jan 2023 09:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WbZMw2MWRb8bj9hh1Knso9sdR6TMaO0YKwjHszGuyMY=; b=qoKigRBFsY7K5SrwmqttogPpLAf0jZKttEjqXDEG60B6clGBk7hWFwSHc99y6ecR+eiXWU ap3ZLSy9H/emtYLLOsoAI+CjweD5j6Xyga1dZ9s/hCKb22/6A8aTd/5y3vbbso/WwpXYlu p17g/DlSmBoZLluO2c97l0lBiALMlI4qPl43dLQbSAF/WLSqD2d50On697tIXzZZo88BH4 sYNxmBWAItIATUVVxf8Ks48L4moE6iw/dBb1+rbabUiozkezhW0gzGzqc4y46fnf2rZmMc peS5f040EHLNzdjAVjHXcWY8kkLyDMjmvSENdD37YHERNm796PNu2ni3Nx9QmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WbZMw2MWRb8bj9hh1Knso9sdR6TMaO0YKwjHszGuyMY=; b=A1E56QFVYzwplaE792xWrpUq/LxuueIj/g80HHUzhdk95Ao959AgxBMU/HHPyTbSmQ2eVP V94LBvSHkhFKPpDWL0n3KJKmoJATXBCIljp/rwcpI9LFCvRlz/+/0ObQs3LIUb1nq9v6hG okTOcX49b2pp1Yd3MmaZOUsNrFrR2TUmh11xg8TzyECVL2kLAcGG+XLz4SMe0vB/CO01aD ZqYANf6rwasOQEN9UssRzMo1RZuTZglBxqpW0Rzm1/BlDuQobJbQYeIEB9kEkmQLQomtpI QLK6Umi3qc+D09T/Ki6nyPiSm+gJrEwo8eUPVhntDvw+sUMN8Uz6mqTjuyZqUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378504; a=rsa-sha256; cv=none; b=YnXr6q8jLWvJhoVSMyRW0hRmhec2TBeSsvurCOhgWO/Zu288+ETPrsZ355SF75CgRHKyYY l2dty6y2H2wXpvmvOcj6gJFwxjbJ9b7ltwEBOFXybrDhQn/u2jGVwf8gSp7MKSjRUFxApO jpW7Zp6wZJ9LxHJ+WItr6xwO5iNnScO+a47Z1g1zKd90BaLWxpvpR4+nPSG3TRrBl6/FHR 9uaWraRTBOPVScmS07SLnSUZ00Q8yHz3u+yAsVsGRQ9VoEsUySWW30n8gpAPzt7PklSUPQ HRdoKcA5g0CxmgmhYptrifWpyG46wSA+ljLq5MfHNcbyMe7/Jsv0Wz+ZwNUGcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06pb61Lrzk1S; Sun, 22 Jan 2023 09:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M98NZ8028802; Sun, 22 Jan 2023 09:08:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M98Nk3028801; Sun, 22 Jan 2023 09:08:23 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:08:23 GMT Message-Id: <202301220908.30M98Nk3028801@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: a9837d9a542f - stable/13 - ip_gre: Fix a common typo in source code comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a9837d9a542fa2c71e79267c787e12f96ccaa5ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=a9837d9a542fa2c71e79267c787e12f96ccaa5ac commit a9837d9a542fa2c71e79267c787e12f96ccaa5ac Author: Gordon Bergling AuthorDate: 2023-01-19 13:13:02 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:08:15 +0000 ip_gre: Fix a common typo in source code comments - s/addres/address/ (cherry picked from commit fa7de6dcb9b7314d4736f1fc21b3fdceefe34173) --- sys/netinet/ip_gre.c | 2 +- sys/netinet6/ip6_gre.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_gre.c b/sys/netinet/ip_gre.c index 0afd490944a4..681cde0b903d 100644 --- a/sys/netinet/ip_gre.c +++ b/sys/netinet/ip_gre.c @@ -272,7 +272,7 @@ in_gre_setup_socket(struct gre_softc *sc) * NOTE: we are protected with gre_ioctl_sx lock. * * First check that socket is already configured. - * If so, check that source addres was not changed. + * If so, check that source address was not changed. * If address is different, check that there are no other tunnels * and close socket. */ diff --git a/sys/netinet6/ip6_gre.c b/sys/netinet6/ip6_gre.c index 410d1bcf952c..554d56e71c1c 100644 --- a/sys/netinet6/ip6_gre.c +++ b/sys/netinet6/ip6_gre.c @@ -269,7 +269,7 @@ in6_gre_setup_socket(struct gre_softc *sc) * NOTE: we are protected with gre_ioctl_sx lock. * * First check that socket is already configured. - * If so, check that source addres was not changed. + * If so, check that source address was not changed. * If address is different, check that there are no other tunnels * and close socket. */ From nobody Sun Jan 22 09:08:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06pv00Tjz3143y; Sun, 22 Jan 2023 09:08: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 4P06pt5pxxz3LGX; Sun, 22 Jan 2023 09:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2OulPiI+eMunwwJ4QYCU8V4etxIJxwTDK9jl6nAOBkc=; b=sS/FQvZrl3g3zW3hxkQ/e2Fl7vF3UNi40qrn4JgClU5JXwI8QvP0SMyBM59ylrt2fkPkTP pHNo7fanGACMXqlA24WLPGoj1Sd/hM0h/mgAPMDNAIcpD/zkokDPg+tW4RdCcY7Y2tGdpU cIG+o1uuhLtcImJ8DAV1e+19KVLNl+bdDKDo9T127p6ArtB5B+ky0RIXAeHP3CJtc2RMWt FbqqWWGolsLycJMZel+JcOxn2YIn+6+3QyN8Fr2VheC9hcjm81Zn0x71NfU9UhBOQHdzXw A7nt4QAv/0l1sMXgPFfy7hFlg8wr6WGaXsed3iAm8rgDGG3UsHNpxYRfRLQkBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2OulPiI+eMunwwJ4QYCU8V4etxIJxwTDK9jl6nAOBkc=; b=LgZ6IxMubwJIyMes2e9ZgSB6n9r6Kd//SO5hUBMu92xnS1sAsJ7KUsPJeQltJ9zZrf/UD1 zRiLNYBXMTjJnc9B/BHcQYM7RWj4KDI4poU3E5rlKVscihxvoWuOiWGWAX6XvBSGtzIwDx ElZLpMQhcrBzNq6PS5YwBd1qtmbxJBcbi0DEVDVc7rx/6VEcp8Nz3bUMQqiu3zr+OGxAKB t0ioVIZUqbxaEQC4qi61kPslQOjE8CpAvSCa9q5F/A5flmMK+xrx35+Gbhflla6jLybfJY 4Dzmrw2FLfnstzr7IWfY47FH89rgpKmV/ITw+I6on6lDtyc83Aq0CxU+nOA8ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378518; a=rsa-sha256; cv=none; b=Qx8WcxZfSCnTIjeKejJ67/uLPLoiNRhZAOs/0dlJofT4Bxpavfr6pCZD9v9KYgcFWw5VnP 1r+FznIV3RaQkXHDtsQgRPytvy+No2R2rp7oTHUm8pk0ASU39ziYSWdXPrPkvggpDmxsIt WuQH38cXE+/cWzVHp1hSS7SBwtewd7U1Nh/UuNy2bv5l9s6IKZvGJoo/eo1lmKx83DdafP 6ycevuwYEMT5zXVWud8XN6K4L99GjevP7/vYnL+fxiD/Dj2NAlmQn/6DGZUFYink1yBjmH Bx9TvCQgOTkoex+G3xt5CjJbbooLWi7uXNqfFVaL+3j1f33BqxHzm8iHAlmyvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06pt4vbmzk5q; Sun, 22 Jan 2023 09:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M98cbh028942; Sun, 22 Jan 2023 09:08:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M98cBp028941; Sun, 22 Jan 2023 09:08:38 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:08:38 GMT Message-Id: <202301220908.30M98cBp028941@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 99944a1b823b - stable/13 - extra_tcp_stacks: Fix a common typo in source code comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 99944a1b823b168d5262535978bdb230717930a7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=99944a1b823b168d5262535978bdb230717930a7 commit 99944a1b823b168d5262535978bdb230717930a7 Author: Gordon Bergling AuthorDate: 2023-01-19 13:11:00 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:08:29 +0000 extra_tcp_stacks: Fix a common typo in source code comments - s/orginal/original/ (cherry picked from commit 73e994a99810edf519d85e96dcb4a56e57be25cc) --- sys/netinet/tcp_stacks/bbr.c | 2 +- sys/netinet/tcp_stacks/rack.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 99eef9acaf66..42c66ac57891 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -6970,7 +6970,7 @@ bbr_log_sack_passed(struct tcpcb *tp, TAILQ_FOREACH_REVERSE_FROM(nrsm, &bbr->r_ctl.rc_tmap, bbr_head, r_tnext) { if (nrsm == rsm) { - /* Skip orginal segment he is acked */ + /* Skip original segment he is acked */ continue; } if (nrsm->r_flags & BBR_ACKED) { diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index e5fd68fc1788..1cf89388399c 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -5767,7 +5767,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, * (or now) pacing time set. We want to * slow down the processing of sacks by some * amount (if it is an attacker). Set the default - * slot for attackers in place (unless the orginal + * slot for attackers in place (unless the original * interval is longer). Its stored in * micro-seconds, so lets convert to msecs. */ @@ -8067,7 +8067,7 @@ rack_log_sack_passed(struct tcpcb *tp, TAILQ_FOREACH_REVERSE_FROM(nrsm, &rack->r_ctl.rc_tmap, rack_head, r_tnext) { if (nrsm == rsm) { - /* Skip orginal segment he is acked */ + /* Skip original segment he is acked */ continue; } if (nrsm->r_flags & RACK_ACKED) { From nobody Sun Jan 22 09:08:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06qB5tFRz3146J; Sun, 22 Jan 2023 09:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P06qB5Mhgz3LT6; Sun, 22 Jan 2023 09:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sjgD59+k2d/CkQmSzndbpyqhKAH9J1SABSmsfwWAHrY=; b=ZT20WEBFaTg/du9WB3Q4PROgKlwoaVqqeaBhMdh0SxFJPAnNBW3LT75q3gnfpci70deH6I wxHvaIy83W9irJd3JbPb/yRzA1n1PbEkBws2efW+Pc69LTJ6Nwuldc2oufnhD3H6cII/7z JfqixM4e8VcZc6RprONk8k65AL4fwMgVh/xdo3N3WVRlZkikDmtauRc13PmCjDPERoOUxa LdFX/cf/JvB2gNStY2Km0uS+v0BFlcAW3FJ+5F6tKFoWlpYEUUVt/6rCZkDIzT12PoDyl5 1qJazG1JvCmj/dTjtxpyCALMb6Pvu6o4oGcvz7fSbbu1xfJlDud63jm9oF16Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sjgD59+k2d/CkQmSzndbpyqhKAH9J1SABSmsfwWAHrY=; b=l9I+jI7xMbIXqY/04jhNwE06lG98xPeIco5zQfIOk9mgXh75zLP1EqNi8RlMT5oaO1ERsL WV0F6VHfj/U9wHRwrVn0k4hTl+iIKGKk+S67/v/S22khfvanlb+arEngBstPyTlowrGswT 2ZqT9iEgbJYY/i83euv76hrK2EZ5JLgFNH+S+wJQ6r50GNYuLVOrAmkIwX2LFqEppBx/lz BxwQ/Kk3qWYCf1dOpCGyAlkdJsBNDxrj6STPyRQp5HQRAZEgDdsz6N9okUgBsm6lUzpc2p DzjvIAlbQQLWaIrmDSkq9Awq4yxirrWhq088EnekkL9kQdic9Aq0P+Mf4eDNJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378534; a=rsa-sha256; cv=none; b=hJY9Uph1q/i6n6fD0iQ2BsbXqD+5kmDhWJnY6P8jVLk+/XCRFlRohMNhF3cY859FZY4cSg fozEAQfQXUW0n9zHVZza2bm9JWgl6I1dP2bPE66Cy2I+19QwjBDhgDFeq0w5EqUI8KoVp9 btTlJIUUn95LZPh1dWBHgeryPYCcM5rWZIHQQBF8rpTLJYkiIBLqemmoHB2c6GmTMNyx3/ rM/m7y6KKplvl0b2EuiMh2mNmB316UafljKY7fVeA3/e7SACiQQ6a8QSwGTB0CdG5UKP4y iiTnqxilvBM0kdjCMXr2UAr8jK27GkLAEcA30bknLK64uO41rgD9UUM51s99Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06qB4QNJzk8B; Sun, 22 Jan 2023 09:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M98s81029088; Sun, 22 Jan 2023 09:08:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M98sYw029087; Sun, 22 Jan 2023 09:08:54 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:08:54 GMT Message-Id: <202301220908.30M98sYw029087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 507851359abf - stable/13 - nfs: Fix a common typo in source code comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 507851359abf3b424442844efe88f4c751f41e3f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=507851359abf3b424442844efe88f4c751f41e3f commit 507851359abf3b424442844efe88f4c751f41e3f Author: Gordon Bergling AuthorDate: 2023-01-19 13:26:06 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:08:46 +0000 nfs: Fix a common typo in source code comments - s/ingore/ignore/ (cherry picked from commit 72e709040f3691911c7b58d5a14b4d19b276f478) --- usr.sbin/rpc.lockd/lockd.c | 2 +- usr.sbin/rpc.statd/statd.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/rpc.lockd/lockd.c b/usr.sbin/rpc.lockd/lockd.c index e25cef9993bb..24dacc81a37a 100644 --- a/usr.sbin/rpc.lockd/lockd.c +++ b/usr.sbin/rpc.lockd/lockd.c @@ -489,7 +489,7 @@ main(int argc, char **argv) * * It gets called one time for each transport. * - * It returns 0 upon success, 1 for ingore the call and -1 to indicate + * It returns 0 upon success, 1 for ignore the call and -1 to indicate * bind failed with EADDRINUSE. * * Any file descriptors that have been created are stored in sock_fd and diff --git a/usr.sbin/rpc.statd/statd.c b/usr.sbin/rpc.statd/statd.c index ecd31b8ddf68..a1cd8582e7a6 100644 --- a/usr.sbin/rpc.statd/statd.c +++ b/usr.sbin/rpc.statd/statd.c @@ -319,7 +319,7 @@ main(int argc, char **argv) /* * This routine creates and binds sockets on the appropriate * addresses. It gets called one time for each transport. - * It returns 0 upon success, 1 for ingore the call and -1 to indicate + * It returns 0 upon success, 1 for ignore the call and -1 to indicate * bind failed with EADDRINUSE. * Any file descriptors that have been created are stored in sock_fd and * the total count of them is maintained in sock_fdcnt. From nobody Sun Jan 22 09:09:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06qd3FbDz3144J; Sun, 22 Jan 2023 09:09: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 4P06qd2VQlz3LgV; Sun, 22 Jan 2023 09:09:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Phlljh6hAV3MuRVw19FlLc57LBKDFx5tDw4f1d5GYKY=; b=KAd15ZEHwF5nystgIuBE7AFJQPiTXlN5T7NGOzNe1ixh76g4pG7iz+2nOnxdvQYattpOcV BlEe/cIgsH5Y7o7gRQWWTFrCpUtyK9WCycYuO9UGTz+8vK6QjYUt1FLHkw8Ta9ZUm9f2p5 L7YZAKGWHOz+DnAxW4Ior/pLpDK8Bihd0wu/dXfl4pV6nIZo9XAmUA36w66uRiPo3o5RZ1 P27479BKnxJfztRKMCszIZD/WjFTprH+Ab95+Ua9DTK9kaDS/WF3YHMPpd3da/7P/Uloe1 a9uEZ1NRghXXnvxoSIeiTvTSm2/dl2wY/L6Fh17X/myBqepit8k5Wj8AwLcGMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Phlljh6hAV3MuRVw19FlLc57LBKDFx5tDw4f1d5GYKY=; b=og0/bDAq/iT4sp5TtT7RZeca1V/9QJSaoRtTfg2VMU1JzoCyamIED7mxU4Tx2sWwWaVzmF TTP9iVYY+dTWn4hU4eKXHhX7P7F8siF8K2LR6H1vPCsyvyF74R1B1Thds7UibWQQzbP/qK rHQS9RVsfPq9aGKtfPO5z7cv6hUuc0/rdRqPb8p7ER9NV2T4s7flL44Sh1XUZVHQrASYuZ 1hY8KhOi4JaayCDE50I112Lfj39el8Vv0X0LU06OxGLkchb6wYFJxNDAyfFQDNYZhqDYO+ OGIhxmWl5qIs/99jF9kCGEF0x57Ap8SAvE/TAM1xkwiK+gWalQqPe2eY35nIYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378557; a=rsa-sha256; cv=none; b=GZR9hqaCnmZKnj2DlGWLDhdeLqwvVP6sPYHzun+oIPPsGB5n+cp/ihcy6l84m3oW1FRjOw NBW84bYEwRvU2G3Uv8mReX/ezj5nOxoj7dJlPQ7X7sZnqdp6VufH1p+O3mFJrKa7kkJTRz XablIaRG+8kseOjkqiC/Mut18f4gfRWhBWsoiSgpVxdZXMSu8Vor8+qwPwH+WEioO/1uwj 3teyyZP/koPfKhX6/jAGJR9x9nbBmjWMMwMH4AiwkyxrRHAk0uDYnElmoTv0gq5bs5h8FS Dag8UaiN5TGCYtdKtVER9o5tfwSjsETkJCZd2cip5qm7HVH/u3s4xir5OJ4ErA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06qd1WvzzjsJ; Sun, 22 Jan 2023 09:09:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M99HZN029275; Sun, 22 Jan 2023 09:09:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M99HdY029274; Sun, 22 Jan 2023 09:09:17 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:09:17 GMT Message-Id: <202301220909.30M99HdY029274@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: afd305ea66f9 - stable/13 - bsnmpget.1: Fix a typo in the man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: afd305ea66f93f0dff4d2cd9bcf879117d8da2f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=afd305ea66f93f0dff4d2cd9bcf879117d8da2f6 commit afd305ea66f93f0dff4d2cd9bcf879117d8da2f6 Author: Gordon Bergling AuthorDate: 2023-01-19 13:18:52 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:09:09 +0000 bsnmpget.1: Fix a typo in the man page - s/ingore/ignore/ (cherry picked from commit 7a184a41c6a31a1dcf82c2e35446f96dde78dbce) --- usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 b/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 index 95abc87a5720..ea3a2c5ce189 100644 --- a/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 +++ b/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 @@ -136,7 +136,7 @@ digest. By default SNMPv3 PDUs are sent unauthenticated. .It Fl a Skip any sanity checks when adding OIDs to a Protocol Data Unit (PDU): -ingore syntax/access type, allow adding of non-leaf objects for GetPdu and +ignore syntax/access type, allow adding of non-leaf objects for GetPdu and read-only objects to a SetPDU. .It Fl b Ar buffersize Tune the size of buffers used to send and receive packets. From nobody Sun Jan 22 09:09:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06qz2FYSz313wL; Sun, 22 Jan 2023 09:09: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 4P06qz1Zf6z3MC6; Sun, 22 Jan 2023 09:09:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UalrevzvKvCXkvLOndSXhFc2Yti3giSYzEBHS9LoMiY=; b=xYfVN/WCA0A1Zb+GoHdlVsWklNO5eT6U2XF50gwfBtOHkAaqJlnoDP+j9Lkp99885hxwDy YcIWXco8lJxoWbHcbx1Q5SMY/xLqogtxNJgHXMSIz3EFFKIRQsz+iLugCr6lRlBY//BON8 cLcEcIT9v5Z7L0fAFPzZYpD+bKajAkqZaV2FyaB2Ki3BE1GOja85AJut8/GkvA6J15woxe LI//zw809uTHglFHGizTyMHH1uCcmkXRCF6GcFC09EUNOgbNpLh3F5wFSB8ZTk1njA8W3R ccRBrxWC2HSBwU/NY8FZIumYCaiz3tEChydL2tbVvwCMDbhl1DvafsbeCT4sdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UalrevzvKvCXkvLOndSXhFc2Yti3giSYzEBHS9LoMiY=; b=gE9DT5YyfFQzGxiGdjEMruKCOOKqpwfptzTbGorCTWaay9OlK6W8RrqvABF/WQd1mlIq0B XGRpHY93b1oMe6tmbpZGs9fMcjanEMBZ0CxF1x2YgirPu59KTkYRc7KH5zZXj+LLbqAQwn He1IHBU/ui31KTuCg0djo254Wu+eB/bu+sFeiqUA5b1DZfcH+H7strS1ICyOxXZqafXNxu L0FYQ4bY+E56/lwEOSBRYNo9oHHWQizlt9PKaGrFuJGpuEtBFi3tYw135dGR2iWIH8l/lU gyduqBr/Sr7lEcg4Kl27BQVnt0GBtLntEZKwGxUYj4f2nsq5C0rWC6uFRe4dJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378575; a=rsa-sha256; cv=none; b=UzcrQntMhsnsyf15BYeH8hfy7g5zy2BnDKlmHNUvbCJ4j/7/cVMvpnII++urVSEcXNHk5F N+WCTxuslIvRxvL50c8U3uTFKoJ8N/BM66pOtZ/EwTGHZO+FWjAdtPCFdMn+K3zmAPREmg SOfIwTmFiM0Zh0/lDRYUFeYGtBwKkp1mEuEv9S/vaV5IkVHcFTDuj/UzGO2WkliVaP4gCS v1kSbMe+mmUtge4CyJu+mzrSDSO8prpmxgKU0wy9qhGM2co9tHvllcltXj3hPzzXHaJe+D TCw/8yNbPhp2a37mrakUIzFIzm6DygQR8TvrpdGSOaEPUJ9ID5c9fB3fDC8fug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06qz0f2WzkT7; Sun, 22 Jan 2023 09:09:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M99ZWk029457; Sun, 22 Jan 2023 09:09:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M99YWD029456; Sun, 22 Jan 2023 09:09:34 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:09:34 GMT Message-Id: <202301220909.30M99YWD029456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 7fa574106572 - stable/13 - amd64: Fix a common typo in source code comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7fa574106572318fb26c3913708927dbeec1d045 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=7fa574106572318fb26c3913708927dbeec1d045 commit 7fa574106572318fb26c3913708927dbeec1d045 Author: Gordon Bergling AuthorDate: 2023-01-19 13:27:18 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:09:26 +0000 amd64: Fix a common typo in source code comments - s/comparision/comparison/ (cherry picked from commit 05187f2ffc79e5959762ab8ce7067b7b8a1cdfd9) --- sys/amd64/amd64/support.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index a8a3f1869e22..da8af7745af8 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -922,7 +922,7 @@ copy_fault: /* * casueword32. Compare and set user integer. Returns -1 on fault, - * 0 if access was successful, and 1 when comparision failed. + * 0 if access was successful, and 1 when comparison failed. * Old value is written to *oldp. * dst = %rdi, old = %esi, oldp = %rdx, new = %ecx */ @@ -1002,7 +1002,7 @@ END(casueword32_smap) /* * casueword. Compare and set user long. Returns -1 on fault, - * 0 if access was successful, and 1 when comparision failed. + * 0 if access was successful, and 1 when comparison failed. * Old value is written to *oldp. * dst = %rdi, old = %rsi, oldp = %rdx, new = %rcx */ From nobody Sun Jan 22 09:09:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06rJ5b8Bz314HR; Sun, 22 Jan 2023 09:09: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 4P06rJ50dXz3MZT; Sun, 22 Jan 2023 09:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378592; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZDtuSQZ0O9p1NYgWn7Sv4jxfHfY2fmeJ1BASnsnERp4=; b=WjuI/EI1HtYvcl4hp0rTQf5JfdXM6TIjIBwJ6sBfuf9thCy3TXOGWNlKwNWcB1YZxKvnGT lgzpWgtDlHF7DWS3ke/cvSZsABJoLgqJb1DEPsi/DfY2GTaUt8FbMojLcMM2FL70BIo1Gy T70zQR4CheDHC7tmbMd0xXES3IX88rYZeI/fW3/7xji4ri7tfSwCBYPyBas68PmmsIEgGR zrXLLNOYXct+BYfMxGDWBhUtYUNtzmQM2NCTjk3XkUrklcjs0JmrI/cJAihEmnI34hTNE4 1AkLVipx1oTodupGBVEmE/9q3wUqzF4wKHwQFAg8nZ4KVbrW0k93o6km2Dx4XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378592; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZDtuSQZ0O9p1NYgWn7Sv4jxfHfY2fmeJ1BASnsnERp4=; b=gn1gwDtec4Z3B8KviSx59bMxdTEjeudQsiDsGXDCLnev8V7aL9Htnsa3KcARICnPsSDpn6 zxMghl5oFW4JOwvX28pCOhHhVAn9PaDXBo9SUOQndZMlJ2bD/Tuo78SjBazfx7ovQYiFE8 lOKFCNj/A7xTuz/gY/sQb9goIXWMp+m0AlVCDkm3uX6SOwXk0q2IN8DZ15vIFDGLGnsuZB Qk/kwAd/TbWWhbs4J7M4fHiRct8rZaCDE1sosJ/alAwpGLI1tI6zZt6A+jcWkEe+LsX9q3 hj2c46DLDaKtDGlXhw0YbMUNBFT1rbw+tFgA3aPQ9w28Q6Ih0FiE3kPHpzDdHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378592; a=rsa-sha256; cv=none; b=fr9C9081Vix9zRO9x7U18mgBTA2SSMeOaGlX/OEya2VjXtdXn/GvoYqRmPCjkWCAR43n+0 d2umpMs65swY0EJknSxqLiCisgljBPUhjntT2s/4cg7lE6FXDyplW6YJb7pqKz/R9erDrh SQJcOIAlDcLIK2b9GG5a6a5nUwMP1F2Og3KHSeYEl/+6flb4hnQaqZ7+YIgLxvb+3nbUa5 2Oq4K5awsp8mpze2yIms9hwUXGf3m9/FeoLjmiElcqSXqBIMfkDYqWlzDH2VV4/fXywL5a 1w+uWGy+NAhiHV5N8d6xpFKwMg0wZWmYKL2POHJJgTQuBgk3lfw/6h7f6ZNA6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06rJ42WbzkRd; Sun, 22 Jan 2023 09:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M99qiK029644; Sun, 22 Jan 2023 09:09:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M99q9P029643; Sun, 22 Jan 2023 09:09:52 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:09:52 GMT Message-Id: <202301220909.30M99q9P029643@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: bae0ebd08fda - stable/13 - mountd(8): Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bae0ebd08fdae14e91bc086ad352255b14d920ad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=bae0ebd08fdae14e91bc086ad352255b14d920ad commit bae0ebd08fdae14e91bc086ad352255b14d920ad Author: Gordon Bergling AuthorDate: 2023-01-19 13:23:51 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:09:43 +0000 mountd(8): Fix a typo in a source code comment - s/ingore/ignore/ (cherry picked from commit afc55510b1178ba94d2bdcef0eb666b10abcfc42) --- usr.sbin/mountd/mountd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 569ea0fbf707..d985dd00acf8 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -779,7 +779,7 @@ main(int argc, char **argv) /* * This routine creates and binds sockets on the appropriate * addresses. It gets called one time for each transport. - * It returns 0 upon success, 1 for ingore the call and -1 to indicate + * It returns 0 upon success, 1 for ignore the call and -1 to indicate * bind failed with EADDRINUSE. * Any file descriptors that have been created are stored in sock_fd and * the total count of them is maintained in sock_fdcnt. From nobody Sun Jan 22 09:11:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06t652R6z314lc; Sun, 22 Jan 2023 09:11: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 4P06t64YZdz3NGH; Sun, 22 Jan 2023 09:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378686; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y4AHTHtyHNZVojcmcq5hrXfto3+KLbAjVCvOmVAShXM=; b=qvrZGnUZAfOID0wl7D9IZU8q68ULBC8EhwKn7MkGqQPLjPPbFu9efDeYUglnVBXon215FV Req3tT7yAtf2TmngXcxSCdtx36bJcSRDGYPkmBL0YOpe3yXOcdxzLZUaEIoSm8cjZd6LE3 rLEgY1Ee4SjFHtXyKjKRJLMy2qWYpyoEZic2xJn88Zy8YBAYZgW2ghMBpF9B7r+athHCGQ yt6L0UuS9NDyxxgQQf3MNj3wnBkFfIZ8WJxrvF8iefAG595NTqqH0xxUs4vUlHvCcYLoyX vb8PavCb57RA2bfnaDinj/PrJLZ3y3rW6dYYwWn7uTDjZBnEioz0HGnIFo1BhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378686; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y4AHTHtyHNZVojcmcq5hrXfto3+KLbAjVCvOmVAShXM=; b=mIbdCc+AYDIqZUJI/vnyiJvjz+53WIfabwJjz9RBTAHhDSCXy2kbNFogcuLGOF7vvNuKRy iOEOjm+yCoI94Fp7HToaqVQOED0BvsnECpKmXaQ4ZutBImYjlXtw/bp4E+qp3uD1a8Gj4C tO24CN4Gj4Dcn8ik0wvmOJlUlKrJt0eqf6KXAExY4fBPgvk8Dx5c0BADEePZzna7XFf+1j YYoOqaxxXi/8oYqTc3RRt/cXqICrqN56FPzPDw+pwnbsWK96pz4lOBdUXAqqnCqXdbGpDJ SIAC83YiRSjKiDxX9P7zuI8yp/SGbbGT5TLgnTrVXjDU9Vk8GgD+3FsJIKRZSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378686; a=rsa-sha256; cv=none; b=s9ZXA4MaWKKIZod7uK8/HkKXRqiY3AseNKn8eGGnwKtjb/svSHiRn5VxkfHvsvY/NtCD/n CBiF9IAJj/kd1LJObt9WmjV7r9DKVtHSufY7VZ0mQ5H6qpO1NvToyok0aZHmiToR6hmjvi 7RJuB6/xamzBREhea7O9kq8drpwpA1M2cJmHeXiMGYQvdEh7jPkUvbBz6TizJ9XfXUiPEP AkEMBys/MPTP2eTnHGgYLyZI92VylZYozYIE0kWBAdapL29s3BmyPzPN5n2x28W44eAPOv QFICSboyekK6ZXrfWUiBWAUsMEy9wmXIoF0mKQflSrHkhbDjhlBOX2d6+jvsOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06t63cGNzkTh; Sun, 22 Jan 2023 09:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9BQNO041767; Sun, 22 Jan 2023 09:11:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9BQIO041766; Sun, 22 Jan 2023 09:11:26 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:11:26 GMT Message-Id: <202301220911.30M9BQIO041766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 977add957e56 - stable/12 - ip_gre: Fix a common typo in source code comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 977add957e564697d81d77cdeb849bc9683f0399 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=977add957e564697d81d77cdeb849bc9683f0399 commit 977add957e564697d81d77cdeb849bc9683f0399 Author: Gordon Bergling AuthorDate: 2023-01-19 13:13:02 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:10:13 +0000 ip_gre: Fix a common typo in source code comments - s/addres/address/ (cherry picked from commit fa7de6dcb9b7314d4736f1fc21b3fdceefe34173) --- sys/netinet/ip_gre.c | 2 +- sys/netinet6/ip6_gre.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_gre.c b/sys/netinet/ip_gre.c index 60a2f7a734b3..7c862396b549 100644 --- a/sys/netinet/ip_gre.c +++ b/sys/netinet/ip_gre.c @@ -272,7 +272,7 @@ in_gre_setup_socket(struct gre_softc *sc) * NOTE: we are protected with gre_ioctl_sx lock. * * First check that socket is already configured. - * If so, check that source addres was not changed. + * If so, check that source address was not changed. * If address is different, check that there are no other tunnels * and close socket. */ diff --git a/sys/netinet6/ip6_gre.c b/sys/netinet6/ip6_gre.c index 09ad51f47a60..0c911250efba 100644 --- a/sys/netinet6/ip6_gre.c +++ b/sys/netinet6/ip6_gre.c @@ -269,7 +269,7 @@ in6_gre_setup_socket(struct gre_softc *sc) * NOTE: we are protected with gre_ioctl_sx lock. * * First check that socket is already configured. - * If so, check that source addres was not changed. + * If so, check that source address was not changed. * If address is different, check that there are no other tunnels * and close socket. */ From nobody Sun Jan 22 09:11:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06t76bDLz314dD; Sun, 22 Jan 2023 09:11: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 4P06t75G7Rz3NK5; Sun, 22 Jan 2023 09:11:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K57pEZzRe1ROMdh2mjJ27VIhT3D0it1tl4LpmuvBQMY=; b=ZCi9Xbo0F+xMbcBCm9LGx3zf4QCBJTx/l5WgN0m1VXWeX4dtXne8ejmzbCaow8K9fSOYhS D2RoxIy0XXXcjfyDts+VEvFEFj5NXP7NGqqHIk3DQyBqlSdRrnaUyPguEAHUPXhz8CDtzq 6YJeIesQBWm2mo1wANaKpd3eJ9lHVkDac/ah8myxph1Qw6VZn8I2yNyD7F7QEjQPoP9tWw rMGAY6O9M5bURQD9z7lbsTtzK4ioegS9kO0jWxXfS1hLURRfvBDyPzO6fwzSqo5xPGWvjg H2mxy9U1cHNE8Aj4p+jy3PDsoCTh/1UK1Jm4ulAWueGBha+1EAaNoiHzVPkEHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K57pEZzRe1ROMdh2mjJ27VIhT3D0it1tl4LpmuvBQMY=; b=BaY/1K2+dZvGuczhoIuZCPvd6kZH50wMHPrd9uo9P40Fd0ZUUuE2ZWTBYXg8tphjJtBLEp V4lTzVcDrWEdsewzBNiinhRk/DI/Q5BDWyjVHdqsynW1pNxk3cTYsV4BmOG9/r6OVh8dmY yOHFeRpmREIWwMyFv4XBbljRaTJlKKSmTnOwP4OUgZTo1670iujTr6UYjGf5KJXgDFw4qA vAS2MVSvr7iBbJero8GGUs9fPglyRksuTrtxowsPo9mNZSzm3muRyax+6LwoKzziWZsju9 jsBDu5Et8Nt2Q7yNGDkZjgrMOBlSOV9dssT8TrP2qPPHn26K8NunqymHs0U98w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378687; a=rsa-sha256; cv=none; b=eR5V8DYSrERNhacSALnt2rBAOYWA5TXGupsNMXg5T2GTGfMbeMIdkWMOZaYW++pgtdLc78 2euQLOjD9PtspMlgvT/L1OaEhrFyF/og2ZqHAtfY5fEzqOdVqZC69m5utrqYVzI+aAU7h3 xOwVQzEURo+lr+kfKGhfjYsp048LjiHF3YJ2OYx2g6uVGZlZpW+8ZhRCBXwb7injuZc1bB k00AIwGxv0Rv3PIc5ERuuNLWRlKrqWYYvvjFWXrHNj5BD6UMp14NMDUwBlN2UikegEc489 PE5X1OVOH1q2CGHzMcYXWYpEtDIvfJMqtqH+OfEt1JITLWb0dxoMARpe6q44Yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06t74KckzkJW; Sun, 22 Jan 2023 09:11:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9BRHt041792; Sun, 22 Jan 2023 09:11:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9BRG0041791; Sun, 22 Jan 2023 09:11:27 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:11:27 GMT Message-Id: <202301220911.30M9BRG0041791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 8989ea93ffa2 - stable/12 - nfs: Fix a common typo in source code comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 8989ea93ffa2f5f40a210475d369dd9bb9617eff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=8989ea93ffa2f5f40a210475d369dd9bb9617eff commit 8989ea93ffa2f5f40a210475d369dd9bb9617eff Author: Gordon Bergling AuthorDate: 2023-01-19 13:26:06 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:10:37 +0000 nfs: Fix a common typo in source code comments - s/ingore/ignore/ (cherry picked from commit 72e709040f3691911c7b58d5a14b4d19b276f478) --- usr.sbin/rpc.lockd/lockd.c | 2 +- usr.sbin/rpc.statd/statd.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/rpc.lockd/lockd.c b/usr.sbin/rpc.lockd/lockd.c index e25cef9993bb..24dacc81a37a 100644 --- a/usr.sbin/rpc.lockd/lockd.c +++ b/usr.sbin/rpc.lockd/lockd.c @@ -489,7 +489,7 @@ main(int argc, char **argv) * * It gets called one time for each transport. * - * It returns 0 upon success, 1 for ingore the call and -1 to indicate + * It returns 0 upon success, 1 for ignore the call and -1 to indicate * bind failed with EADDRINUSE. * * Any file descriptors that have been created are stored in sock_fd and diff --git a/usr.sbin/rpc.statd/statd.c b/usr.sbin/rpc.statd/statd.c index b44efafd3d10..17f25e70c507 100644 --- a/usr.sbin/rpc.statd/statd.c +++ b/usr.sbin/rpc.statd/statd.c @@ -318,7 +318,7 @@ main(int argc, char **argv) /* * This routine creates and binds sockets on the appropriate * addresses. It gets called one time for each transport. - * It returns 0 upon success, 1 for ingore the call and -1 to indicate + * It returns 0 upon success, 1 for ignore the call and -1 to indicate * bind failed with EADDRINUSE. * Any file descriptors that have been created are stored in sock_fd and * the total count of them is maintained in sock_fdcnt. From nobody Sun Jan 22 09:11:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06t86p5Qz314dK; Sun, 22 Jan 2023 09:11: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 4P06t8661qz3NMr; Sun, 22 Jan 2023 09:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DywRzv1MVs/WCziECK0drOxpySHvg2+vN0JkifwviAQ=; b=BBKu/mlXFUH4NTmKLlG32MlvM5SwBTcWsctSMRcJlVw49/gIew7hTbAeLr1e4jUErQmHHY tEEVqOKFgG3Irr6Zph65seY+CpZ7N5yUlHpBBc3x6b4L8pxAO+qh9I/ErnZprLpiV6+S+X QjljB74q1WbGOzsJPyZqTABJ5OtgejDXi21wv7m57Sxv1u1REr4E1nAIXMZzfeTyJVDX7x gQVlXfnC9El4enDaaTNZ7y7nwsCiRe0qYH0rHCYAWP4BWk91YOnIdUL9UJmlYwMfetdOMe fAnNCLJVL2zQh51yVRj22c3+KuUwxGFr+q5kX4NDG39dWWrC0SM4z4fsg/2EsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DywRzv1MVs/WCziECK0drOxpySHvg2+vN0JkifwviAQ=; b=iILOp4TaqrVGh0jTqISZ2K55MiCd15hXaacdutrP7wJeDXL/i6UF/ZWPVfDsDrSNCt7uQY Xn42pqM9o9Sy9zRbv3pfTTLU0P6ECC6Q3a5pr6uVymoSnZ7Pr/duAGaXJUlfZV2IEwnotg PqrrOQfFNlTqEH9h6/BQ2ICiQxnC1Ja2Jgaooyu4/cuhGoLHfV0m/bzQviRwinxxFAdS4p Yizly5xl3MRh2QcYjNqOOaFaj8b5rGxoyE3mmXPnvPjylsxv/Id9hZGnDGJ86+nn5BokX+ vwUFNva15ZsciDeDntL4euUKFadiEIDGmcuraidMbvhtq/0YFFUy+JitSa5rlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378688; a=rsa-sha256; cv=none; b=tBvcYuW+cFIbzSmeerjUcWJdDP/Frd5veVITANHAe/b+5QxC58iJpXMPj0UHRNMyTppbG7 onmbE3cacdVpz9J3Mr1wvrJPHoLp/0nrHT1778NFgCp4E+R80Z047ueR8i6j/lNtdt6H6f loQ9VqKuw7xfDANS+rSH55SS+elA3lVMbOioapP2dGXc7Vw3vyjfausUbaXwBqqptkqd6L iC80L+atFOOz+ynd9zz4FcQrFl4QzkFgeApuJZO/DUI308lpISkXWAxfQPGxxRKtjvFJt+ NlwwTtqvmWc+1CstT+WZb/qBHHidr16bJl+3t1Bemghmzlc1S8wQyrBB/xPFQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06t859gkzkJY; Sun, 22 Jan 2023 09:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9BSl6041820; Sun, 22 Jan 2023 09:11:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9BSto041819; Sun, 22 Jan 2023 09:11:28 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:11:28 GMT Message-Id: <202301220911.30M9BSto041819@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 6b88ab194e3b - stable/12 - bsnmpget.1: Fix a typo in the man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 6b88ab194e3b055d49a9468c523ca826968f8195 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=6b88ab194e3b055d49a9468c523ca826968f8195 commit 6b88ab194e3b055d49a9468c523ca826968f8195 Author: Gordon Bergling AuthorDate: 2023-01-19 13:18:52 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:10:51 +0000 bsnmpget.1: Fix a typo in the man page - s/ingore/ignore/ (cherry picked from commit 7a184a41c6a31a1dcf82c2e35446f96dde78dbce) --- usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 b/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 index a2a118679f40..acedeedf4115 100644 --- a/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 +++ b/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 @@ -136,7 +136,7 @@ digest. By default SNMPv3 PDUs are sent unauthenticated. .It Fl a Skip any sanity checks when adding OIDs to a Protocol Data Unit (PDU): -ingore syntax/access type, allow adding of non-leaf objects for GetPdu and +ignore syntax/access type, allow adding of non-leaf objects for GetPdu and read-only objects to a SetPDU. .It Fl b Ar buffersize Tune the size of buffers used to send and receive packets. From nobody Sun Jan 22 09:11:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P06tB4kPtz314dL; Sun, 22 Jan 2023 09:11: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 4P06tB0lyzz3NY4; Sun, 22 Jan 2023 09:11:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=569/fOiqWQZugKBa4DPbc0P7V0Orp/fpRFqo8B4XOdM=; b=Q0zXyNG3Z2Qq3fO/w6w2Hz5xPv+nJPa5/WbNHrAFccJO12Mdj+3CFFaeMafA52P2dOlRLF NxpCfgt8ECqVWRCo4r6ZN7B2NVI0P01WQz1IzgRJmGjNVoc52FyjzP7OJA/8UAc2lDlwVe TZoGANlMEDKJmNWFlAoHqe0gz2R6GY7zE1IZ+o4b0uLyUPgC7tKrLnY7Qm+LsE3NcSs8ES L6o99zqAEDrvr8p4TFUzDtqCrSO/6ON30q9weHO4apAvavcwV4CuHJy5c+rOQEtAX93bkd 90FKyrqNPbSbp+93GDGNpx2xOvcpdOv8uu9sQhclVWbt2LJZQHF8s7+AISp5Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674378690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=569/fOiqWQZugKBa4DPbc0P7V0Orp/fpRFqo8B4XOdM=; b=JKK6r9rCp0HZhZrpJPCfCgoJ37XwRgCMetJn7e1LWf4VGKSMqlRkKeurs1lzzCw+hxkHiE zI5Mdmimu2+q9+2vLeF4c2DKjwrF1y+Mv7H7wXuaS3o7vml43KUb+EzPOpHCqz+I51NERa btoDSmR+HOC1ThfSqRYOAWjLO3GF2fJEEKqpPJKxcy6KPbAgmCj+xNSaY2XiIsXeMKu+dQ rZwfZMoh4KjQSjip8PlJa+4aL9yHuka7RakE3awCSAT20prWCe1VEDdVglKSAJ916uPVUj HleWtMOsqRCCL7REh7vnhDHXtWMNJUis7ESIUATGBqWvONevDoXEnbj0M9gUIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674378690; a=rsa-sha256; cv=none; b=YO12TBnGif3yuQ3cw99eYzQoQS/xBBmAEmd9j9KYbRf+qCTTnFeQ1O9clkyzTntVQWwUfq DmiIY/GOXKTNFaovJQc8Ev96F43r3Uc9+H3NkyJBPY+EgqsQkTo7iTFESFB/hocI7g4yvx naxnuxpp8kniORTlcXoIVn8W3kxuRtKkpelzrbo1vs7QaMGWVABrhNL9C5r9Fuw8pF43u+ Zx1Loyl+5Tw3dlic6fRfuolk6JV36b1ASOyIakN+1GGar97X7GiyIrOFwNF0ixor6eHZpp fNjXFtiOmqsDOXQtsEl5pyyRNLTD/ImSA83O57G5oOcYy+VmWyo+hfts3lNctQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P06t96q1kzkd7; Sun, 22 Jan 2023 09:11:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9BT5G041847; Sun, 22 Jan 2023 09:11:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9BTMq041846; Sun, 22 Jan 2023 09:11:29 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:11:29 GMT Message-Id: <202301220911.30M9BTMq041846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: bcb9c005b775 - stable/12 - mountd(8): Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: bcb9c005b775283d0fd0296e8dfd8d468e4811ad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=bcb9c005b775283d0fd0296e8dfd8d468e4811ad commit bcb9c005b775283d0fd0296e8dfd8d468e4811ad Author: Gordon Bergling AuthorDate: 2023-01-19 13:23:51 +0000 Commit: Gordon Bergling CommitDate: 2023-01-22 09:11:17 +0000 mountd(8): Fix a typo in a source code comment - s/ingore/ignore/ (cherry picked from commit afc55510b1178ba94d2bdcef0eb666b10abcfc42) --- usr.sbin/mountd/mountd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 7e0927d96195..e50c8883b05a 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -771,7 +771,7 @@ main(int argc, char **argv) /* * This routine creates and binds sockets on the appropriate * addresses. It gets called one time for each transport. - * It returns 0 upon success, 1 for ingore the call and -1 to indicate + * It returns 0 upon success, 1 for ignore the call and -1 to indicate * bind failed with EADDRINUSE. * Any file descriptors that have been created are stored in sock_fd and * the total count of them is maintained in sock_fdcnt. From nobody Sun Jan 22 09:19:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P07375pl8z315Ps; Sun, 22 Jan 2023 09:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P07375DGfz3PYp; Sun, 22 Jan 2023 09:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/A5O3mEQMn+q4t9gTZZoSy48X/cXoAwA2lbuXZf7uMo=; b=w0YY18B99Ay5W1VAhoGQFZwkUBrqoKbmApdrstAAXv5j5Fva0BzMSunKi4ZZfBna1IuQY2 VKgg/9tHCCyTTCh3F8dAlwWSfGuTGk+JZMHWqxRDLB20+bkqEcJ4HXpkbO4YVIi69z5oUD tnDPSQ/WCPcetn7iN73dbwXuIQEu1Q0okIBFE/0300UyDk+jhd04F4Kaa5qj1Kg2KA3gXy ES5HFJ8btfx0cp4j8ts8Q7KINMFclZd6EzavMohpttcc6MXDE46x6i1XbGNE+IPaMQoDON hhuJhXglcxrn60Y3WY+MwNjdneJb7NsZ2G7PB70LqV+k8Hn2ymh9D1hF4D4jVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/A5O3mEQMn+q4t9gTZZoSy48X/cXoAwA2lbuXZf7uMo=; b=yk8vM+AUUdnXtyirCQi4UHQn5hyvOlil3lVHeFAlJICRAy+K9XMMg2GNhgaImOHDa126Yy zbV3DsAYmqz5bAfWyVfRNVgqdKEUERRVcoge6MfhIgga82+gUSMGFbY3RiY1Zmw11nAC/j UHMf+5Uo4b95ECHJOZYprRHJ3w7J89eO1lEzgciaVzKtyudxtuJvPGfpmdlTQhaWRNEBVM I6Y681gJulcmuPVaBxHB/6GoSZVf9Hpenyc7RLZ059FqZbNbKpVFJGU69qgTq4sJXR87sE cW04Zn4DJi/kaPziEorAkFUrGVW+YCw3JmZ2StQwTWhCsKjYNYLSt3a9DwauFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379155; a=rsa-sha256; cv=none; b=fG/uNjqLa8jVF3cOcaz7PUfpQ4oW7J2qbrJ8ardnKOBpGdE1KCv/WZr3/bHIssxWM3sjyh ygsHM9/yZS4qF9C9fU8rQeNJhQBMBvSyrqKkWUFek8Brzsv5zEikHnWLdrRCpOgSixw3Ke UIccWM0FY6akESZuzpsIzxaKDBoxMd2pVPsDRaQ/ysaRZTshWXM98FKFnBaiUt0R6mLq5I 4dN4k1aNALlAz8/AmnBdfMmxhDbTNax4u8dJIkdFr++jb584y1SVS21Jco5gCvQaF4BBEo D+VWPp5/OEuSPhE79dfCrU7CwtI/mqHy16F1norksZveCaksvuRMc7ohkvsF0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073741nbzk3w; Sun, 22 Jan 2023 09:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JFxd044171; Sun, 22 Jan 2023 09:19:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JFUP044170; Sun, 22 Jan 2023 09:19:15 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:15 GMT Message-Id: <202301220919.30M9JFUP044170@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: cf8da8b04fe4 - stable/13 - ffs_syncvnode(): avoid a LoR for SU List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cf8da8b04fe4b2b4c616060463db14281d9e4434 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cf8da8b04fe4b2b4c616060463db14281d9e4434 commit cf8da8b04fe4b2b4c616060463db14281d9e4434 Author: Konstantin Belousov AuthorDate: 2023-01-07 12:22:18 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 ffs_syncvnode(): avoid a LoR for SU Tested by: pho (cherry picked from commit 6e1eabadcb1d554ab6c0ad8ce1d82f6748cc80b4) --- sys/ufs/ffs/ffs_softdep.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 5b489d4bad36..d784d8d0fd1a 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -12758,9 +12758,15 @@ restart: pagedep_new_block = pagedep->pd_state & NEWBLOCK; FREE_LOCK(ump); locked = 0; - if (pagedep_new_block && (error = - ffs_syncvnode(pvp, MNT_WAIT, 0))) { + if (pagedep_new_block) { + VOP_UNLOCK(vp); + error = ffs_syncvnode(pvp, + MNT_WAIT, 0); + if (error == 0) + error = ERELOOKUP; vput(pvp); + vn_lock(vp, LK_EXCLUSIVE | + LK_RETRY); return (error); } } From nobody Sun Jan 22 09:19:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P07385lg0z315Pv; Sun, 22 Jan 2023 09:19:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P07385Hx2z3Pck; Sun, 22 Jan 2023 09:19:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nz9lx9qa3CaaGnnVJrh7pBayn2WwoPjPVvRE1jGBqqo=; b=D9ZssMRNJhjWBDHedjcoKvIFFowItmfYYhWKk2LXlhFLxWllDB3wxziMgzEyJDBKr764tM YmP6x+tMbFgT2nGAQF/pI/5WgPIdpppclSI8ChnwdAzx3sGbugAwKbNqBTL72mOVNddn5o +Z/Ln99yRle5Rnuh+oF+0YvDOvL8ikppVDI93Vq7qhJLaCo355mgAVWJjwIdneagKA6ipE lcYheGl13PWAOLbmP9oxGYRpznksvXSVARGBw/j8hicsaJzYraxwE5dzBdvkVeoGya1j/M sSU4/kARHfk/gl4nj6AluHZr+mjojfAQ3/d1mjJq+jAHX2jwxHoyAiPkX1IHXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nz9lx9qa3CaaGnnVJrh7pBayn2WwoPjPVvRE1jGBqqo=; b=aX/OZ+Q5mPX5Oyi5ny4lhbYD+fWgaakg8872wZHfDKmaHDHILk8MtxnokN2l80XTXSM7dM eKl8lAPZ9sioTezM10aOYNQ2aujnBkmc4mfdKer7HPkgo3XyigWXuhhaZTZnQQNY3vxUTu aNrxomahI7NxzOmmuX12isJcwb8R9gTixYbbIJApC5nVhHTHNy2I72cdCVW/21JIXOjQ1C DvCPSyIUmA8E/IpokC7w0Cvj5HeFWWTYOgSkbc9fr5WhW6uCplxaNEFFJ7Xq3U1Yq8YDCr Pi6JX9IdQ7mr23qh8dUS1PjWaiCMM5rC2C2K3+wDfJVVN4XGCRPke1zpaDn7OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379156; a=rsa-sha256; cv=none; b=lYk5Nk3FXq02x/NJac0e/bv88xUnkJiu03XvLLaL+7mYLWnAgYuDjb6iPRkiJJeTjWrsQN Znfd8hKdBe9ffTbIr16U+WAfcwNOa6Pb+528GeQUJZYXVjLUm2kFOgzBn9H0oQZ7cbjj7f kU8jUhmYKCpikGZrB76CtwnBSEh1vE/yeKpY1d0wlq5JrzKXoiUBPwRTZxpChQRaU4IRQt fmbJ5uIv7JWvLzo1inp+r5MlKqZ0GW9ulkIlkj6y4gIRZvqQvCIUtjQPNm0KkrWtCB56q9 Ots83z0Kf09vJ+EjXKfd9Ux14IwrpBeCu3aCcvChVQq87wnOL8HPaWUcTJnZ9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P07384859zk3x; Sun, 22 Jan 2023 09:19:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JG1r044195; Sun, 22 Jan 2023 09:19:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JGXm044194; Sun, 22 Jan 2023 09:19:16 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:16 GMT Message-Id: <202301220919.30M9JGXm044194@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: 2c5bfa8b8c6b - stable/13 - Require INVARIANTS and WITNESS if DEBUG_VFS_LOCKS is set List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2c5bfa8b8c6b8ed0a988b0137725813430b478d6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2c5bfa8b8c6b8ed0a988b0137725813430b478d6 commit 2c5bfa8b8c6b8ed0a988b0137725813430b478d6 Author: Konstantin Belousov AuthorDate: 2023-01-15 21:33:10 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 Require INVARIANTS and WITNESS if DEBUG_VFS_LOCKS is set Tested by: pho (cherry picked from commit 0f80d5ebc898f487067a3f2232f9ab0a7b291277) --- sys/kern/vfs_subr.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index ca2d86385f4c..81bad2da0f0c 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -99,6 +99,10 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(DEBUG_VFS_LOCKS) && (!defined(INVARIANTS) || !defined(WITNESS)) +#error DEBUG_VFS_LOCKS requires INVARIANTS and WITNESS +#endif + #ifdef DDB #include #endif From nobody Sun Jan 22 09:19:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P07396Vhjz315Pw; Sun, 22 Jan 2023 09:19: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 4P073960FNz3Plj; Sun, 22 Jan 2023 09:19:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eYoQKlU7+KtH68QHHfVTMfOsow/r8ZOTwZCVqg56mz4=; b=PEEtxUU140k5ngQ/sAb/gdFC6GmccxEgqa5Fe2taTEv8WL9c8YEarkF/9Bv5jns60Lqvx5 lIS7Lg1Xu8NpgCv/PbJSuFdx5DczdajMjE08cGA923raHZOvgWxM/sNRO91YufzPmBQqUC 3Fnj2l14DxBnW7FFJNc6gICiomHpcL5zb29ycy/2hvQ95+AtefyRHaoTosH3EQdrURLT5d Zzu0KYrSNP5QjaNQNC+Ep5dJQ415uAhVup/WigySINRW893g3yKvQjxZ1Qd1PwMgS41fQ4 dHyHHcoo9sso/jquD28CJ7KT1mIB6lXsc8Ta0yRsQ3hASs+nBZvC0Pf6eW6ARw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eYoQKlU7+KtH68QHHfVTMfOsow/r8ZOTwZCVqg56mz4=; b=azegkWTRk1q5ZGI+wHmnfduDxyT0pN1NT5PLe9sabsUm2Isd4GOa2AAk07BIAcFSG3MFq3 0mXo6c0Ozojy+xMchYicQP3txS5ZK0K5JuhwFYtWd+dwkNLUpguK3wXVQJKp2dFWC8UEGO /to3keQpNsn1gT6WrxStwsuuWTrDJP6TCfm+9fbDEgznfLMaH6DRXXKm0LPEzB9/lCEGAY Dh/hDwLkVJ7s5uPZFp7U3sQ6iRC98B8ovmkEFBaIY95EQGDjlx+YnyClJ+MGe4427kuYfd t5tgzN8ZrxRJgEpoYgwn/2PjpWZ3UdjrK+5NHfkKEScqpuvL6A+v0FpFYSL3Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379157; a=rsa-sha256; cv=none; b=unN8OaurszSHHA0kyQPWSNpVHNh25VJ4kBkmwDz22O4FiQbVFZPlFRJPrPMWMcFJtRT41Z R6lQzmlpvlOlnTdytgUwx6p823sENv7OTza8Gy5zojP7CxUJxMbtqrqlVkN97s7wVKlqcJ QBimzyxRuKKft3ygePzqGqqqvemzl1fxMLDzl5mjlqIqLDtVC/wGrAZIevf5CZ3oqxQAJj ujYbCYzW9tJFkXzBaY2gMumfqgx/7iaIwQbMyTn/EgmrZMKMUUDsfa7/ygOmlQQixy9Lkm cOfJIyehfDFqdEZQjAzmLdCWSy5bPLTlw8CycHTTfLNxxfs6kho9TjPGSOS0rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073955PZzkJx; Sun, 22 Jan 2023 09:19:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JHSt044226; Sun, 22 Jan 2023 09:19:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JH78044225; Sun, 22 Jan 2023 09:19:17 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:17 GMT Message-Id: <202301220919.30M9JH78044225@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: 8e12e9a72f63 - stable/13 - ipsec.c: typos in the comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e12e9a72f633bfa8ecbf7704388855008181c47 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8e12e9a72f633bfa8ecbf7704388855008181c47 commit 8e12e9a72f633bfa8ecbf7704388855008181c47 Author: Konstantin Belousov AuthorDate: 2021-09-04 13:42:33 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 ipsec.c: typos in the comment (cherry picked from commit 424f1296bd73f2661b556ddfdfb4bcc8f9df898a) --- sys/netipsec/ipsec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netipsec/ipsec.c b/sys/netipsec/ipsec.c index 5bb8d2412321..3c63ebbd20ad 100644 --- a/sys/netipsec/ipsec.c +++ b/sys/netipsec/ipsec.c @@ -1013,7 +1013,7 @@ ipsec_check_history(const struct mbuf *m, struct secpolicy *sp, u_int idx) /* * Check security policy requirements against the actual * packet contents. Return one if the packet should be - * reject as "invalid"; otherwiser return zero to have the + * rejected as "invalid"; otherwise return zero to have the * packet treated as "valid". * * OUT: From nobody Sun Jan 22 09:19:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073C0RJfz3156Z; Sun, 22 Jan 2023 09:19:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P073B6gLNz3Px2; Sun, 22 Jan 2023 09:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=klRI3Bm6T3D3aWoi48QqAt/9WXPAYrzjwWPudm1I+xo=; b=SFseV/9al0N6qzmBExrYMBOvMf8oySaFN3XlWZbhNr9bCWKKoDl2eK/ZvdPs0VIjg1q7kl 92G6mt4sHG44j7KsDZnuBJpPCTlPVeRmeRbkaK0TVTM8xKLTEGo9QGMD0Vejtn2w35+s95 PzjDMDhqaJA2GydVGRJgSxxP2fLrM00NbFFpZYgpVs6Wd+Lr9e/rUkNyCltsbm/IO6IFwc d+feynqpNgJ74cmLulAUYmRAmUVOmBmRC3c40GDdcR6nCBMYT/Pse1boQg0F5U2oaP4ewh TwbTR1xgo6FUzdA7QH15kHFy52lzpus/5Bht2hHewXIpR2ttBFER29nAy8RYDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=klRI3Bm6T3D3aWoi48QqAt/9WXPAYrzjwWPudm1I+xo=; b=SWawGpOzWCzXVwEc5hAzYafFG/2q9hu9RoOTsbJ+bBHRw96/rlM+SsbOfrGuLcpZl6BJVY UwHVVpkuGOEI3bv5KnB9Su/OLNwhhT6eIWKO9LyQHfDewWK0tlEe2WWOftEeYkPCg2Z4nF +SdEaieaT+JuWfRUEG0H8+Tlmpvtr7JYVvWRJSVkQZm/HLDFU1fgBsJzAgafDyxZfD85Or mUGCyqijpoMb18ZHa/w1itfI6GwkirlLnTGc/JkKYi3ZaLKbTn8Hx/Yx4FEDC1AkKlHlM2 72ixf9vghvC714ARBBw9Xr7jjSf5cOW4Lllsq4rPSiQmSTi26B6y44AL1+5KdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379158; a=rsa-sha256; cv=none; b=K+eM70qnZ/zYl1Jmz5qIyi6xwr9Xjqp6iz4Yuy8255fsLX5hQS/ku1AjcZvfiSGqr/tUw4 WO23hFw4IheyHeTIMKJoCalrkeuKTJkhB4qXKWGUclygPu2ZcOn9Va9nk6y1YDSoCUGj9q CbgqZsrC/ryErC8NP41InzBS7mrA0J8LNn0pWk2qIYxHeWFJVOZlXXOwKjFbcVc/8kSuVj Et8+ATNALyW+wvOL047WbyStkXmQZ+pyg1UHPfKUVP9CBSWtmaT0PMbwZLqn6uiGUVx/xg 2u6DbeLlpd8IpgAFUA0idwNuTeKwUrnnLAJ1f/rOEy/ApT7k3+VV6AkDLxAEVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073B5mp5zkV6; Sun, 22 Jan 2023 09:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JIrt044251; Sun, 22 Jan 2023 09:19:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JImU044250; Sun, 22 Jan 2023 09:19:18 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:18 GMT Message-Id: <202301220919.30M9JImU044250@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: 6a54bc5d9c5c - stable/13 - if_ipsec(4): protect against user supplying unknown address family List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6a54bc5d9c5c6cd3239e8a13802087729ff14be1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6a54bc5d9c5c6cd3239e8a13802087729ff14be1 commit 6a54bc5d9c5c6cd3239e8a13802087729ff14be1 Author: Konstantin Belousov AuthorDate: 2023-01-17 01:37:45 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 if_ipsec(4): protect against user supplying unknown address family (cherry picked from commit eac971545baa3857903e0107439f00d8438c5847) --- sys/net/if_ipsec.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sys/net/if_ipsec.c b/sys/net/if_ipsec.c index b9931286a735..fa23ddb97231 100644 --- a/sys/net/if_ipsec.c +++ b/sys/net/if_ipsec.c @@ -813,13 +813,17 @@ ipsec_srcaddr(void *arg __unused, const struct sockaddr *sa, { struct ipsec_softc *sc; struct secasindex *saidx; + struct ipsec_iflist *iflist; /* Check that VNET is ready */ if (V_ipsec_idhtbl == NULL) return; NET_EPOCH_ASSERT(); - CK_LIST_FOREACH(sc, ipsec_srchash(sa), srchash) { + iflist = ipsec_srchash(sa); + if (iflist == NULL) + return; + CK_LIST_FOREACH(sc, iflist, srchash) { if (sc->family == 0) continue; saidx = ipsec_getsaidx(sc, IPSEC_DIR_OUTBOUND, sa->sa_family); @@ -1014,12 +1018,18 @@ static int ipsec_set_tunnel(struct ipsec_softc *sc, struct sockaddr *src, struct sockaddr *dst, uint32_t reqid) { + struct ipsec_iflist *iflist; struct secpolicy *sp[IPSEC_SPCOUNT]; int i; sx_assert(&ipsec_ioctl_sx, SA_XLOCKED); /* Allocate SP with new addresses. */ + iflist = ipsec_srchash(src); + if (iflist == NULL) { + sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + return (EAFNOSUPPORT); + } if (ipsec_newpolicies(sc, sp, src, dst, reqid) == 0) { /* Add new policies to SPDB */ if (key_register_ifnet(sp, IPSEC_SPCOUNT) != 0) { @@ -1032,7 +1042,7 @@ ipsec_set_tunnel(struct ipsec_softc *sc, struct sockaddr *src, for (i = 0; i < IPSEC_SPCOUNT; i++) sc->sp[i] = sp[i]; sc->family = src->sa_family; - CK_LIST_INSERT_HEAD(ipsec_srchash(src), sc, srchash); + CK_LIST_INSERT_HEAD(iflist, sc, srchash); } else { sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING; return (ENOMEM); From nobody Sun Jan 22 09:19:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073D1pbmz315LP; Sun, 22 Jan 2023 09: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 4P073D0xgjz3Q4t; Sun, 22 Jan 2023 09: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=1674379160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AyRtG9q0Gk629fP0QNIbpNRByJ+FKsTS6YdUk0uhRG8=; b=CzmYt6O5Yizhhl36aXGEYHulfa3F/XJ1esYeSFU68yxM31pujNXN0AKF9jqR3Kv8DHgO+g ZjnQlpVnTCkam+ww3jg3kqUItsVOLIK12BST6NqH1vQ8Qd2w23KwSyM9IFD8Xn4KMzhL3I cFQDi7e6WN/DHQJ1cr2tNf1Tzdy+LzETPHKqsf2ChXvETPxFFjuRx7FfQVc9kHOu8YXqi2 OGRts23c4nrE7/4xPeejF6ZOVfUzt+jVXrVrrZojl7jf5ybBofgYyVHbSPHGjRW/Hj+DRr InWyS/AGTwwsp0KfS2KyQi6vwsUs8PpZQXs69j8DiwYNTscrs5X70zJXtbpVyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AyRtG9q0Gk629fP0QNIbpNRByJ+FKsTS6YdUk0uhRG8=; b=dVNWYxIYORMDe4ptgPBaAyOxeElVp75Swdq12cdGpIe74yiKEKaH9Ys0NJc/aisWhRySML o5TUBFZDcxJpySXxbWihgeZIAVl4FFsKh2f77O7syjAlWoCF8y+RnN7CuEQ0NWgKGj5Uqf BWomShFfFhrZUG76GZIHUbYlgMhla5KQp9AUrF96F1CBRDcLrK88+CKL8GROTAUnGJohn8 F7BOXjTqb1uvihPUwF2Hii3T+wGHfeU4w9DGEmZp2+9YJ7kmlcJIyAfhKH3RyARSqajMMv U1JgJZ4TXDxL5Ajm/9mm97/wOhSPrsIbBXlObxnwSInTwHF1vnuIjkpjRsA9wQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379160; a=rsa-sha256; cv=none; b=AjsDdqukuW+MPWqZ5IVd/UbeNtJbqtKDOLiEFNBMdlkDfIuT9zz57Dz4RbJVxRSoaRhaQI By2ie0rkUu/cBIZo/mPKCZQeufHhkeaRn/YHbzg7Tc6eVCIlhLH7i9GJoQmtYQ7258TyCY 7AtNJP/lp+FzfiYYZHeGLlGFoRGAzkg8Sn/FIC6mUZW4L0FX+BFaJhSr6Imx5+IQ/qYUEt Yz/KXyPfEAmSlCMbvP0lfAjER0dWZ7nEs/USLRd38eyNn532dwV+y3we16gFSW2GyRXKW5 2wEuw8ubv+3e14oAGb2buVtTp9aFqmrgdkd4PyHnS66dXt1I+L2KPsdxsUqXeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073C706Szk8w; Sun, 22 Jan 2023 09:19:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JJDI044280; Sun, 22 Jan 2023 09:19:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JJV9044279; Sun, 22 Jan 2023 09:19:19 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:19 GMT Message-Id: <202301220919.30M9JJV9044279@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: 6b95e2c98bd3 - stable/13 - if_ipsec(4): handle situations where there are no policy or SADB entry for if List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6b95e2c98bd34aeb37baa240924ca703e2ddcabd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6b95e2c98bd34aeb37baa240924ca703e2ddcabd commit 6b95e2c98bd34aeb37baa240924ca703e2ddcabd Author: Konstantin Belousov AuthorDate: 2023-01-17 01:59:56 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 if_ipsec(4): handle situations where there are no policy or SADB entry for if (cherry picked from commit b1d10b49e24a4fd3af80f8491cd95bd0766ca1f1) --- sys/net/if_ipsec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/net/if_ipsec.c b/sys/net/if_ipsec.c index fa23ddb97231..e830bcc73d6b 100644 --- a/sys/net/if_ipsec.c +++ b/sys/net/if_ipsec.c @@ -666,6 +666,10 @@ ipsec_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } saidx = ipsec_getsaidx(sc, IPSEC_DIR_OUTBOUND, sc->family); + if (saidx == NULL) { + error = ENXIO; + break; + } switch (cmd) { #ifdef INET case SIOCGIFPSRCADDR: @@ -783,6 +787,8 @@ ipsec_set_running(struct ipsec_softc *sc) int localip; saidx = ipsec_getsaidx(sc, IPSEC_DIR_OUTBOUND, sc->family); + if (saidx == NULL) + return; localip = 0; switch (sc->family) { #ifdef INET From nobody Sun Jan 22 09:19:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073F2lCjz315JJ; Sun, 22 Jan 2023 09:19:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P073F1k6zz3Py2; Sun, 22 Jan 2023 09:19:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IDKEfWrL4FQ57eqiI1HjH6Q+etMMhKK/7qCvovDHGJc=; b=cBut5BlyoyA1iaIIrHVErMP4/mmmZ5xmIwN5GmfgoEl9iSkROC3OSdoDGebZunUEbVdDpp NdfViuZ6f8voh5+NBI+IPCd+AcYATnTqdvxWreOAlyKx+BphqsPKMfRqZTRjBHdJCUpnXw xLkrJafn0VhTC1WeFLMEb9wTaQ/XFIOtA9ujzg3R/ikUC5ktVAjQVXBtmR3A+0uvaPnXF3 gO4CIXf/Y0MUIolliOLevvVL1TuuajynfiOaFQ1CGcAuTVobgt31QwX2DewSo9zW9CHtyG aR9mgeohFnxmIS7jpbqmUsHDYFLi+Xk2gbZjtjBsekXBJdclpysksGDyh4KUbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IDKEfWrL4FQ57eqiI1HjH6Q+etMMhKK/7qCvovDHGJc=; b=F4kTlRSO2RSMky/sw7/5cgMmLjPtl2a2KQX2TS/IYNoIzhenXpyjw+ffUZ9h0RkaVe2nTf 9b428uELGHS2n1y1Qa1QMzAxMUlYzPLYMpwKLzdTo0xX0Q82EifFvj3w995w6ViJQpElob TXcAFRtOGIBzPSnBJLPjhl3sZQ14NWvk6T0nKNAokL9qMmuGPp5OFex/QsiN6HgrDa/Q2W lNF2ida+Dn1yLbB48pmuYqPzto4O/a3hMRnL91Kc36A4jWmCB0QWGsLdopNp136cm3DMvG iWYrFx9p9xpGE7u0fTQTP0h0QoHYMI+eA9tFmW0mlIwZzD33p4V8T0o9xkxNxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379161; a=rsa-sha256; cv=none; b=c/W/zHBbtZfNZ49jmPpbqZObsvazcmscKfNinuT8NfI0wa3SqY/adrSe+NA9fKMlpW855K +dP/J/S6j7P2F2YA6FSy/RvxLLxP0b/DcAlHqzMwQlxa3RYk8YlynxSr92wNKdq0ZkeNEG aVCKmM2utNWzxNImdxSuLK/SnVNp0641eR1CWVzKPDWJs4Pg2AUb/iSvsbkM5LLutPrqmf kK2MM80hPijN96AXgr7/JGoIhbVffReq1b+Pm32+Bf2tf0rV/f8RIAMXHvp1O5Kzs3nQNH h82zvFBZ6voD1EzQz7TFusTHC4qgDB9EaEgcCNMcqzBp87W/kM23ZzqiwWekYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073F0rG4zkV7; Sun, 22 Jan 2023 09:19:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JLkI044306; Sun, 22 Jan 2023 09:19:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JLoI044305; Sun, 22 Jan 2023 09:19:21 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:21 GMT Message-Id: <202301220919.30M9JLoI044305@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: 40c268189313 - stable/13 - vm_object.c: minor style List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 40c26818931307321626db6968ef5e499864f747 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=40c26818931307321626db6968ef5e499864f747 commit 40c26818931307321626db6968ef5e499864f747 Author: Konstantin Belousov AuthorDate: 2023-01-19 18:32:16 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 vm_object.c: minor style (cherry picked from commit 70e1b11216c43e95118728f3684a1b8abc7034a1) --- sys/vm/vm_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 2a0c30e68a8b..97803afc40fe 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1233,7 +1233,7 @@ vm_object_sync(vm_object_t object, vm_ooffset_t offset, vm_size_t size, vm_object_mightbedirty(object) != 0 && ((vp = object->handle)->v_vflag & VV_NOSYNC) == 0) { VM_OBJECT_WUNLOCK(object); - (void) vn_start_write(vp, &mp, V_WAIT); + (void)vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (syncio && !invalidate && offset == 0 && atop(size) == object->size) { From nobody Sun Jan 22 09:19:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073G3Hvvz315Vx; Sun, 22 Jan 2023 09:19:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P073G2rHzz3QH0; Sun, 22 Jan 2023 09:19:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zcyqplcklfDQaElq5bSC86ukC51nLKF/IxofP+syHso=; b=ywDt4BvPwx5Ovhy7manRWNP8F2gIpZMBIvfNngetjPPuvFepigIqBsIu7WzJ7pQeHpgkAn +OFYZrLk25yNbIfFyfp7IyYJzgZq6jLpNVDcRqUfBGjGaF3UL8RxPWvBn1qsgoueXADyDJ 9dYhJpXI3DkogFeJZUI7d4VT0ehe8/SpP7Y+oetCxwrxi9h4kMxHOA3/OgUG8z/pnE2uEa wKVBbaCqcJKDXZ9+jQHCy4PM0o5GOSI497k0A23wSAUofrXHapHrdhLnL7AR09W1+RwZlW KJfY90fQTvG+TtP1h9IW9IeWQP2B7i3f7EYB2jS3qGW1iEskQoldq8DFEo0GIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zcyqplcklfDQaElq5bSC86ukC51nLKF/IxofP+syHso=; b=MqJK26qJ+mUjrIrlBkBBe00yvtFbOQtQxvfnZCmXNuY5rnsN+PwJqfjGZDZ681mVrGjlHf 9hLXU55exPh6b5AOWBiJuxAVlV/j+xnhYEdsx5J378WRyWjLnw7kEbt6VRjT0mrHFsqJj9 WbmHjBQQsPt2j96p7qTjDDi66swQr8nQ/KTwCZrQsPzSkmtiiQ0QLqNCIUpryHFek4W8S5 iiqIcDdob04OJqDcOnIyUmjsRxMUIAYVE+Arf/YntoirZzrYMeeOokaHit+kr6cvmqYgJG UMpM1nUgwxv+7ufHZ9yi9HhmZmsNGyNdxcBhf7hEXpXmNw4WNYfKMuRPDGHhjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379162; a=rsa-sha256; cv=none; b=npTsZHR3BXY+ElXiqNk+QhDkzQp8HkIaDIswRiPuMVUZuttWrAE085usu9+I1fjR4rZn27 lLkMkZphe5CycVFkLbmyNKUfozuoPlqcmO54111Rfb0b4AQvGPFOpzAEx7ME+4yCvihBrR FBNJ5oheC8eQPy05BG7nqSCUoxxi1I2LLqpuXeKReC/g9DBNI5Am1Onny+kiLwj7+DWAJU bexgml+pc0MOkYkCL7ZJIFQlwRWEjzbhxLSjo4tM1ijFtFiDJHl1X5+NpVB7NACbs/hA69 y3v4vNdAiINTocKdFGOcpkgSSUXE9jzzRcruqoRsadd29c72YIaN49fq2iIu2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073G1dL4zkV8; Sun, 22 Jan 2023 09:19:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JMxF044330; Sun, 22 Jan 2023 09:19:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JMQN044329; Sun, 22 Jan 2023 09:19:22 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:22 GMT Message-Id: <202301220919.30M9JMQN044329@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: 7c09d62011bb - stable/13 - Handle ERELOOKUP from VOP_FSYNC() in several other places List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7c09d62011bb084d3f7127edf2942bf6c9c3a6e2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7c09d62011bb084d3f7127edf2942bf6c9c3a6e2 commit 7c09d62011bb084d3f7127edf2942bf6c9c3a6e2 Author: Konstantin Belousov AuthorDate: 2023-01-18 21:09:10 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 Handle ERELOOKUP from VOP_FSYNC() in several other places (cherry picked from commit 6189672e600814fec4cc165d25ae050fb2f3a999) --- sys/dev/md/md.c | 12 +++++++----- sys/vm/vm_object.c | 19 +++++++++++++++++-- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index f44a2e940faa..243ac2be72d9 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -911,11 +911,13 @@ mdstart_vnode(struct md_s *sc, struct bio *bp) */ if (bp->bio_cmd == BIO_FLUSH) { - (void) vn_start_write(vp, &mp, V_WAIT); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp); - vn_finished_write(mp); + do { + (void) vn_start_write(vp, &mp, V_WAIT); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + error = VOP_FSYNC(vp, MNT_WAIT, td); + VOP_UNLOCK(vp); + vn_finished_write(mp); + } while (error == ERELOOKUP); return (error); } diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 97803afc40fe..e7097be7b115 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1254,8 +1254,23 @@ vm_object_sync(vm_object_t object, vm_ooffset_t offset, vm_size_t size, res = vm_object_page_clean(object, offset, offset + size, flags); VM_OBJECT_WUNLOCK(object); - if (fsync_after) - error = VOP_FSYNC(vp, MNT_WAIT, curthread); + if (fsync_after) { + for (;;) { + error = VOP_FSYNC(vp, MNT_WAIT, curthread); + if (error != ERELOOKUP) + break; + + /* + * Allow SU/bufdaemon to handle more + * dependencies in the meantime. + */ + VOP_UNLOCK(vp); + vn_finished_write(mp); + + (void)vn_start_write(vp, &mp, V_WAIT); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + } + } VOP_UNLOCK(vp); vn_finished_write(mp); if (error != 0) From nobody Sun Jan 22 09:19:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073H5pB8z315LX; Sun, 22 Jan 2023 09:19:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P073H3SZtz3QL5; Sun, 22 Jan 2023 09:19:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QZiPwnWaZT/iHfLRX37QgeZhEfmdC9IEdhdwQsCwxHY=; b=Rm2Mt+y95OlEM0Yc9OT2Ti16R4dZpvzx+MA5hurPmadmopaKa1JatIzMhx1+FPPLirR0wH W0N4NYP4djChZo6uFeiR3xm8PvxDI8z5wx/28vGGnUA8zGYEJQYsUbesetcCpZbyGEd+Kd QfGyXWf1QwmGaA51A+OZzu2eVof+sYEkMmAv8kEVLG50jDZqTf2F/S3PubD1Thi8NGVk4I t0FeLbHdF4BX8bIir6rHjHDGC0gyE6Gm135j6giDF+5w8eX+UBFHClqXomzOQrtdsmyDHV 4LT3PwOQdgkBuHNSP6ddfdf56C1WH/yP6aoGwm0yPG8mNU2X8ysT2Vmeyf/LgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QZiPwnWaZT/iHfLRX37QgeZhEfmdC9IEdhdwQsCwxHY=; b=N0UYXnk5oQ+sApNySXfVEkFoxbCrL1H+7ymPxQvEiHbf5CzyKbu35UmJzSFt2qsfz1P41T TbIxPxAFE6W/vPG39Yo7DA8cP7zJG1oVwwJYrKHaaUl063yv9/Li2g9TqrWQVa3+EasEfU r/96T1k9p2vBOLnl/kqvJ8VEpkXE1zGwOfxKXtk551NtxUNxzgjUN5y+e1QKp4FQKhy0sY 7lep2wzZAuLHGna8Zz0exWdUW21abCVSGhKgneQkZnSGysFmVDCo1AbfcLEvvKmurhrrcr C5P1TT6NUAPpiRO1fJViqjW1qULzSxvxbXC7th9qrbhaPD9g11L8hUhZW1aL0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379163; a=rsa-sha256; cv=none; b=UTDm0QVzJA1BvsW88dIUiIa/NAwFGCzp4A4MNNKW6BPWYxVu9Zo03R3nxPnzYjFNdfXsN9 WIEf54vVeySYRUFp6SRglykfSfTx1y97KWbeCPxmtSTjo0n0/Pa0kdvJQEWbftTH9ilIGe KNXKWDRDnFHj9MIBUzRJI4BHiX9ayyLPE9WpZnB3VOT5US6dV1HAp+h+7wXvkrJs4TPKZn JTQi184iSH9UFnWjmYUm9uGlMPguxO1a973R9S7E27TeUySdIBzmbqvP5/fnJgnMEgXnl/ yTF6b8vnsTRafdz7mdrId7P++vTkDltPrqwdbTW3sH/dThFKELJpQvgDtr8Srw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073H2PMNzk8x; Sun, 22 Jan 2023 09:19:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JNZh044354; Sun, 22 Jan 2023 09:19:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JNov044353; Sun, 22 Jan 2023 09:19:23 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:23 GMT Message-Id: <202301220919.30M9JNov044353@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: a45a846c246f - stable/13 - md.c: another style fix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a45a846c246f3ad2b55f3adcaf0066e7569c923a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a45a846c246f3ad2b55f3adcaf0066e7569c923a commit a45a846c246f3ad2b55f3adcaf0066e7569c923a Author: Konstantin Belousov AuthorDate: 2023-01-20 02:39:36 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:09 +0000 md.c: another style fix (cherry picked from commit ad8feb1ed9996593df8b4b7259057c6e263aa130) --- sys/dev/md/md.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index 243ac2be72d9..2e941c991ddb 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -912,7 +912,7 @@ mdstart_vnode(struct md_s *sc, struct bio *bp) if (bp->bio_cmd == BIO_FLUSH) { do { - (void) vn_start_write(vp, &mp, V_WAIT); + (void)vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_FSYNC(vp, MNT_WAIT, td); VOP_UNLOCK(vp); From nobody Sun Jan 22 09:19:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073J59LXz315W3; Sun, 22 Jan 2023 09:19: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 4P073J4bdbz3Q6x; Sun, 22 Jan 2023 09:19:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q3r+8y2CcWLUCZoT9DoYX5UI2O2z3Dm37xZE8m2cLTY=; b=kPoWgxCEmkWY0s6MNdteNBD+WLh3LkH26+k2Qx6nhMnnb6lA0KJI89IkCXniYAVbrCeMtx bEYXkQ+WIs8ZUHP2XlyQMLjpDCtdZBicU+hYVmRXTNBwH11bcDY5D3cwf2Q5lBp2FNMwRT qFTLF64GvJ3YnSim3UqKKp7SsxeKeWLk3/B+v5ddpxGy6OTsW8BhyBYwXk5pSOAjg4k3fn 9MAC1zHGui3Pl4Yh0w+uAalGKUnNt883oZsN0HBj+tfsf31SOVdiNQ9EF1XVR5dJmeCm9B WMez3H7Md9Kx0MioMxgxMe3KgC89UK+jrVMPtYnYnwicnX4yT8GWoEk5ajuGdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q3r+8y2CcWLUCZoT9DoYX5UI2O2z3Dm37xZE8m2cLTY=; b=hmBRlf8hKok7qMpQfXs44jovqLYDv/cFX100R+F+GK7HAIYRPkeplPcsVtBbGIx7i7YIbw R5k0necu+WKe5S05zCEz7tVhnnKetonGKu6Bgfru2JXNP5ztxWhvIYs1ZtTCwo7q2jRqM9 g2Pab9+hyGdLtyPRJGdy4/ZIIzVMSXucDXV5hnCgrCpUa1SnMFQ7SG5QtIP53vYQbXyAE6 qdsl+hr+Wtvg4LMX5IqePWXnCi9UZr+mLcAld1p4/rw+ltm5UsREhCIgTjSNr1MA1VRsTq wUE2PmJTtNj7nXLm3SId1X9IW7NohdFCK32ZP9Uerfp0uzgQFTe31k5xH4IyoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379164; a=rsa-sha256; cv=none; b=QS2VD5LOTY5pUoyO9J6yNc62tzXgfjKa8fKTKhxNmrgmOOSZuvBoFcF1DPP6KQgwDZfFC8 9GaM3DW2R4+NNsUzCBDC6e8uw4aQQxrwXWN7aCkPd0xKJ084VRr0mds9hSDlnKcE3/395l oGJoN9uB0U/xcDDAo7p8Jz1GdcgPaMn6eG9XSagpSiwZI4c6JyiRIsRz3GOTosLCrOU/d2 ckRASCcvtoaXiCr/Sodbdd2ZPPIoLST2hAcFRYWI09gJZG7ZBFqBStEFksr1BZF1jmdhwM CJIPBl9QGNm3CAASb9HmGaSFKaLcFkzpfvD/b1QjWZuczPoKO8ffrOlXN5GdbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073J3KWNzk8y; Sun, 22 Jan 2023 09:19:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JOnq044378; Sun, 22 Jan 2023 09:19:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JOBJ044377; Sun, 22 Jan 2023 09:19:24 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:24 GMT Message-Id: <202301220919.30M9JOBJ044377@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: 2d35b26a22d6 - stable/13 - vmstat: remove shadow variables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2d35b26a22d68af354161ceec845fc4378ccd7f1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2d35b26a22d68af354161ceec845fc4378ccd7f1 commit 2d35b26a22d68af354161ceec845fc4378ccd7f1 Author: Elliott Mitchell AuthorDate: 2022-09-21 02:18:23 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:10 +0000 vmstat: remove shadow variables (cherry picked from commit d4d79718496753493f059cb8f2b2e87e0b7019b0) --- usr.bin/vmstat/vmstat.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/usr.bin/vmstat/vmstat.c b/usr.bin/vmstat/vmstat.c index 5e04dc26ac6c..9414855b2a68 100644 --- a/usr.bin/vmstat/vmstat.c +++ b/usr.bin/vmstat/vmstat.c @@ -1284,29 +1284,26 @@ static void print_intrcnts(unsigned long *intrcnts, unsigned long *old_intrcnts, char *intrnames, unsigned int nintr, size_t istrnamlen, long long period_ms) { - unsigned long *intrcnt, *old_intrcnt; - char *intrname; uint64_t inttotal, old_inttotal, total_count, total_rate; unsigned long count, rate; unsigned int i; inttotal = 0; old_inttotal = 0; - intrname = intrnames; xo_open_list("interrupt"); - for (i = 0, intrcnt=intrcnts, old_intrcnt=old_intrcnts; i < nintr; i++) { - if (intrname[0] != '\0' && (*intrcnt != 0 || aflag)) { - count = *intrcnt - *old_intrcnt; + for (i = 0; i < nintr; i++) { + if (intrnames[0] != '\0' && (*intrcnts != 0 || aflag)) { + count = *intrcnts - *old_intrcnts; rate = ((uint64_t)count * 1000 + period_ms / 2) / period_ms; xo_open_instance("interrupt"); xo_emit("{d:name/%-*s}{ket:name/%s} " "{:total/%20lu} {:rate/%10lu}\n", - (int)istrnamlen, intrname, intrname, count, rate); + (int)istrnamlen, intrnames, intrnames, count, rate); xo_close_instance("interrupt"); } - intrname += strlen(intrname) + 1; - inttotal += *intrcnt++; - old_inttotal += *old_intrcnt++; + intrnames += strlen(intrnames) + 1; + inttotal += *intrcnts++; + old_inttotal += *old_intrcnts++; } total_count = inttotal - old_inttotal; total_rate = (total_count * 1000 + period_ms / 2) / period_ms; From nobody Sun Jan 22 09:19:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073K6rpmz315Br; Sun, 22 Jan 2023 09:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P073K5nrBz3QPB; Sun, 22 Jan 2023 09:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379165; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5MtwckaplmF1ZH0OH4yviniG1NyaSSzgm4xOR35h3+c=; b=jSptx9TZW2UiMr+jl7VGR5xyoim+a12ZIUb3kJfZ7ul+Zlq+jfjNMymxe4SB9esPcSug29 nvxaky52xFiVvmjXyKOJ7lhBud1kkKxytqZuoEFXB/eF8EtRNVeDUhUdrQtKE+d/3Li47U q/SyMuupPvXdanO2eFjh6SBY3qaRlw5ZMzhcg0rM4juPsquWSL8FFI1wuvND/an1GvhQZm mtTkpkqY3eSZH6JRxnqE0YqRb0Th2bQEEN8v8QllFR9PMpHbm7SHJJl0I+ztjWOAMJVeh4 n0ggjZoQ+svkcBlkSmWC2rvRySC5NZujrTrSVSELfenqv3HVLMnJmyNI/Pz/Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379165; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5MtwckaplmF1ZH0OH4yviniG1NyaSSzgm4xOR35h3+c=; b=CZzthFztMyjPLIesUjCppt2S3UvuaQMu1mYs/Dv4rKTQ9UqNtcqqECkVIXhl3LyXOeBXxV a3xxZ4Ir1Q/m904wjfAyDNz7lc3dFOpX6cDr6zUXfTCldCez7Z02a/hRCrkYjmDfZFuTLE /gbXfl/zGmAV2ovMeVJJ3L++csQJtZ+3PH5J3M/dcmoy0gAQh/6RMwV+HtEaEOLdeTzD2+ ZqfLw2n3l3vEKJZJ+bXHTHXqaaX/ZC4dz/4/ZWLRv1zLkn1cII6t4+27vSLvLlapbbewIM OHSITRY+QBw3wiz5MCjPhr491iEhqZTQ9h/UNwGCHRFBktKbqR5WaSnmb/ue9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379165; a=rsa-sha256; cv=none; b=EPRvl5aL3Iwe+HMxAFJMYPxT1jJ1XurssDwJDaE1axy+5Y3DlfibHskGGHkJQQ5suXSzzU 0kincW396pPubitG1PbkrT2+sOUOJZEj4XNhcVZ9kp6pvzb+oBANjDd55FGkzF4PAjsOWz vX3YZI2D+krblzg4LYpSd7mdm2mc13z3L3XWe40iRfUn8DIO/uNXwPZvXLVv4JJmIOozEr 8OgO1JeS4sdx0k6oreLV2yYTLkR1PslBv+ho0Se6MS4MemhD1kULmCtvQolUocPVx5cwiV uUjBtRxcxEaZitkaPV/n7Urh3cqen2lMuaVYGrgyv3rtlmZKwg1EINTxDMGDag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073K4cckzkg4; Sun, 22 Jan 2023 09:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JPmV044405; Sun, 22 Jan 2023 09:19:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JPrf044404; Sun, 22 Jan 2023 09:19:25 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:25 GMT Message-Id: <202301220919.30M9JPrf044404@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: 74cbe4d7e55e - stable/13 - vmstat: fix overflow of interrupt name buffer List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 74cbe4d7e55e5fbdeb884aa44243178c6048af1f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=74cbe4d7e55e5fbdeb884aa44243178c6048af1f commit 74cbe4d7e55e5fbdeb884aa44243178c6048af1f Author: Elliott Mitchell AuthorDate: 2022-11-26 16:21:33 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:10 +0000 vmstat: fix overflow of interrupt name buffer (cherry picked from commit e5c30ac93055e708e26e075937263608b3eeb17d) --- usr.bin/vmstat/vmstat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/vmstat/vmstat.c b/usr.bin/vmstat/vmstat.c index 9414855b2a68..b79fc8144d48 100644 --- a/usr.bin/vmstat/vmstat.c +++ b/usr.bin/vmstat/vmstat.c @@ -1349,7 +1349,7 @@ dointr(unsigned int interval, int reps) /* Determine the length of the longest interrupt name */ intrname = intrnames; istrnamlen = strlen("interrupt"); - while(*intrname != '\0') { + while (intrname < intrnames + inamlen) { clen = strlen(intrname); if (clen > istrnamlen) istrnamlen = clen; From nobody Sun Jan 22 09:19:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P073L6qCNz315PR; Sun, 22 Jan 2023 09:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P073L6HCwz3QGh; Sun, 22 Jan 2023 09:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TEnsytuTtnzuVMaXnwUvT3B35kF99wP+ezOVBgNikd8=; b=uwoM/rFgTpzbF/QLAV7Fryy3f9CibRW5dUKI76Qc0K6U9EV6/kMN/dcpiDAqGoOKUVYYg9 +n0G6a7BzRNLrxitZ/IDOEtrsxMvfhA1y73YLrXYePeB9xB7TutG9IWXR7CR4MmgSIofzg 3KjkHmRcdOgaHLmL0WeXFT3DBDo0r2mZR3P2qznO4ZYiGdz06vTTOPy7m+OtZc/7NnzaY4 F99AvcEigRHIr21q4pDHvg0AbVi1GfDvqhMwAM/RnOC8UWbS4c7EHnkSi2ACgCR6BhJ/5m Je/qIWHnzN9iej+RJPQ26TyHOpnK+mgtnGbWwzsojj0/3aZi1lH/0DbMow0cvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674379166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TEnsytuTtnzuVMaXnwUvT3B35kF99wP+ezOVBgNikd8=; b=tQcjKdNZKhw9+JXcfNgLyom0AcEnVLP5YOtzAZ6Qpomqy87Dwq8/am41h91iMAY+Lf4UlE 1lUK+xi8+Q+/k19gnMERIX0FdOoHTnyDnkaI2Gxdd4hV7m7oM49Ac4aXmvhRvxvRchpqC0 1dgiYyUGTPWUz3jJDcsQLJIhYhmjAdgV3AouWt5pujTLANCryeDN2Z00n198dSrwUw2nW4 JuSYjNmHCI4lcgYEQNgEcHPYkcs7DSywi2HQfB10nPcIiH3q+qN1nIg1GETwGmLFbUP0kJ qOKuQjaw3zVUKJ6yE8awqWMT24gYajVDMeV2M4gUBiFxWLPmlr07a2O1LFuQzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674379166; a=rsa-sha256; cv=none; b=ZFnw1Cj4PHAbJ7VebOgTqtnnzbg+mmKEthiikc6BgV48QDCidAdJRhoC818CCByxMY1edj cfPxEXqvwCkDYATA1ws6nSQRd2Jjag+lsYPeivYDXWHPNuUIXQMk0grxi3iF3LqocMzyji nU8YCDJReQfboKuziXkYT9sVkRt9N975FlPCThlXJ/CvokNBTW/vqhJAdKsf2NkbP8WBy+ m+7+D/Vgp5r3K8h/YqRxEiToUoHsP0EMlDX5h3Ymtgc2SjRXS8jjq1bGjXikgkp7ZxnOGo tdv4Tgu/RgD46jSMdPoP9FPQ3dlmu8Rl71pD1T/WY5GH3TqyRnm6LVw8d3xCWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P073L59Q3zk3y; Sun, 22 Jan 2023 09:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30M9JQ4j044432; Sun, 22 Jan 2023 09:19:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30M9JQma044431; Sun, 22 Jan 2023 09:19:26 GMT (envelope-from git) Date: Sun, 22 Jan 2023 09:19:26 GMT Message-Id: <202301220919.30M9JQma044431@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: ae7a5bb2ba11 - stable/13 - kern_umtx.c do_wait(): correct confusing indent List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ae7a5bb2ba11abd25db47fcd6ed6b4226e96501d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ae7a5bb2ba11abd25db47fcd6ed6b4226e96501d commit ae7a5bb2ba11abd25db47fcd6ed6b4226e96501d Author: Konstantin Belousov AuthorDate: 2023-01-20 21:32:27 +0000 Commit: Konstantin Belousov CommitDate: 2023-01-22 09:18:10 +0000 kern_umtx.c do_wait(): correct confusing indent (cherry picked from commit 5657f49ef33b13934ccdc36e3990fdd71376baed) --- sys/kern/kern_umtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index f0129e96a294..dca7bc34700a 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -1269,7 +1269,7 @@ do_wait(struct thread *td, void *addr, u_long id, uq = td->td_umtxq; if ((error = umtx_key_get(addr, TYPE_SIMPLE_WAIT, - is_private ? THREAD_SHARE : AUTO_SHARE, &uq->uq_key)) != 0) + is_private ? THREAD_SHARE : AUTO_SHARE, &uq->uq_key)) != 0) return (error); if (timeout != NULL) From nobody Sun Jan 22 10:47:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P091L27K6z32J52; Sun, 22 Jan 2023 10:47: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 4P091L0Mvwz3nq7; Sun, 22 Jan 2023 10:47:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674384470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DDhm+4o6qb5opO2Yt5ushNiArefA6oqjeZwST1VIc4U=; b=Kfyh0cVVGfUxTzA8a2jgepevUHZGkiJ++ehc8262eKz8xrzHYWIUyKn/6XWK4GqHZb+8ER uIjzIa0fzu0YtyHBhXQh2tv+jlImsFvcyF8W1dLSHVa9PLbcVXFWzhZWJ8QiMnWXKu8s1S FPyxt2wl5OgZQOmzOQc/sdE7US0fA6m66n7ns9v4PVZOVFvhDM6ovIT6hLjEA1eMjrsNq2 /dXwnqAZydN3KtyxZD1TF5dvRvmbyai1TiNUZuGjy9IdQvQ5yBqegOlkJmKR3HD0Z6k6t2 5YvRMoHiiAJkQnOSfJxFde0XCTBygqp0JB2ehUgK3cgQUhp3fxr38tdvjIwz0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674384470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DDhm+4o6qb5opO2Yt5ushNiArefA6oqjeZwST1VIc4U=; b=mkXK9ILQ0nBjO2KOx1hSzOCqd/DztMgYh+VNBnS/iF0F0YamY4OSd7MPse411XKsDj24VC kv/zOXYB3KWDYrTNIeS47KtekQww+nch1ChQfWjhMPUR8h4V3HESHkwDPtPiofGUR1uWtP 5lMFsX6T1fLGKKjaaY6OvR3A5AvSt+geiSq3MAX9jwToRckt5JCPnqbQjCRdMXWtvzTvBi kJXN2WEsoyxb9YD4jIqIn/Pt4LReR1MDlupwUxRE06I9PaiFaRBAvEu8kIRt6zGl5sjYm1 hWYI6ZUP9UHOfzEqSh84gvIOxEDDURUCYgIrTXBtIeAnqG327wijYEfZQEum1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674384470; a=rsa-sha256; cv=none; b=QIVbxvQPFRF0Mq9wwglzIW99o7AS/FZLhfUghDf5sLDkH9nAw9iWvV6QhhVETBhMOXtLFW 7YCCLss6hvd43/fdtZavviAKOOeLFhsknTMgdQKGLAwdNr5phvSAcGO2YkLoBI8QuSZDQ6 dPDP/tTriOGzXcNYXIS9jE4mA4GbQzjJED6Ky1xESG1kcQif2p9Cd+qL2iXT2yLhgi6yBC LwEIQd/vnYLEtH/PaiACWM1dXJ1jlUYAfLf2bPUnNl5jka2huWcIwlxSje1KOfcnb+PWYp TKe2Hm3LCxRLMDFZpNJwMG80s39pyLxa+95uTQDqvEjrDh7sKW0CYsm/dJXuhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P091K6RZmzmSV; Sun, 22 Jan 2023 10:47:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30MAlnn5072278; Sun, 22 Jan 2023 10:47:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30MAlnns072277; Sun, 22 Jan 2023 10:47:49 GMT (envelope-from git) Date: Sun, 22 Jan 2023 10:47:49 GMT Message-Id: <202301221047.30MAlnns072277@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Yoshihiro Takahashi Subject: git: a73118389b4c - stable/13 - unzip: Document optional member list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nyan X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a73118389b4c776fb70b2d26c7a4b9d05df2e8b8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by nyan: URL: https://cgit.FreeBSD.org/src/commit/?id=a73118389b4c776fb70b2d26c7a4b9d05df2e8b8 commit a73118389b4c776fb70b2d26c7a4b9d05df2e8b8 Author: Yoshihiro Takahashi AuthorDate: 2023-01-02 04:17:27 +0000 Commit: Yoshihiro Takahashi CommitDate: 2023-01-22 10:45:46 +0000 unzip: Document optional member list Submitted by: Pat Maddox (man page) PR: 267426 (cherry picked from commit a1f28ec729f7491da8607e8eeaee1b0f547c60d0) --- usr.bin/unzip/unzip.1 | 8 +++++++- usr.bin/unzip/unzip.c | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/usr.bin/unzip/unzip.1 b/usr.bin/unzip/unzip.1 index bb43abf43a85..82e2c3a60ea0 100644 --- a/usr.bin/unzip/unzip.1 +++ b/usr.bin/unzip/unzip.1 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 25, 2021 +.Dd January 2, 2023 .Dt UNZIP 1 .Os .Sh NAME @@ -38,6 +38,7 @@ .Op Fl x Ar pattern .Op Fl P Ar password .Ar zipfile +.Op Ar member ... .Sh DESCRIPTION .\" ... The following options are available: @@ -120,6 +121,11 @@ mode changes the way in which additional arguments are parsed. Currently only .Xr zipinfo 1L mode 1 is supported, which lists the file names one per line. +.It Ar [member ...] +Optional list of members to extract from the zipfile. +Can include patterns, e.g. +.Ar 'memberdir/*' +will extract all files and dirs below memberdir. .El .Pp Note that only one of diff --git a/usr.bin/unzip/unzip.c b/usr.bin/unzip/unzip.c index 0b564b0f08ec..78731555eadc 100644 --- a/usr.bin/unzip/unzip.c +++ b/usr.bin/unzip/unzip.c @@ -998,8 +998,9 @@ static void usage(void) { - fprintf(stderr, "Usage: unzip [-aCcfjLlnopqtuvyZ1] [-d dir] " - "[-x pattern] [-P password] zipfile\n"); + fprintf(stderr, +"Usage: unzip [-aCcfjLlnopqtuvyZ1] [-d dir] [-x pattern] [-P password] zipfile\n" +" [member ...]\n"); exit(EXIT_FAILURE); } From nobody Sun Jan 22 10:49:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P093143jwz32J7X; Sun, 22 Jan 2023 10:49:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P09313TXdz3pJx; Sun, 22 Jan 2023 10:49:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674384557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NyCPyJG3CL/mziARiWuzaT9/2Q/iOaoHTFo0zZnYAWU=; b=N16hN0pjUDUyb1bgrG4GFSDEnypwic40rOaFIkO7faI6Dgr6+7SK8Jqrtrf59R0Lcq9HV6 6ZdzTCkAe/GA2ygugEjGtRa3eQFI1iSU3XMPNdv3vuhlPlkIv++qJwXgXRULLmSz+Z0jAO L4S3oVMClU/T9yc1wFupAMsIQCWngPHn9JHyaoyFAjRgcex6u8cYpLIcwCG+dggvGhyMXT 8XLTicHX6g1NtI1VsyMjMGdLlMSGZ/qhKBS2SIda4PtAkN/91ySusNaZzju7aAtz8wpeU7 X5L/xQ2x7xQhc05CHFS+AJLsZK8BByQQ/JGeTX+lObsq8q8lKF/ALSdUF2lV8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674384557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NyCPyJG3CL/mziARiWuzaT9/2Q/iOaoHTFo0zZnYAWU=; b=LmZPDw9O0Km7gEBd79SS3NhNmMeA8hRFiddn5uXWTfqFhwGMgbtc/WYtPzswIgABklpI5G 9aCibUzFBHvzIysWulBQyCJrwdysKcMuX11H5HYCqpQHDRM5s0YxWcBZxWBmuOAlt5yenT cwPhRMWK0Y/+VTm1FBGMGX44UI2OxBsyqMIb0wRfx1e1h5KmcYCZQ6kMol9vr7lT4BoYiW vM67whNrq0DTbcL4ixMKsZXco9EyGqH5brZOdPvub8zeApt6cU2+iu8EiViJ+dVVZhIveN M/n0KJqNkSn48+a5uVnZ5mJouhxTPy8Ykw1RstNQc1qVdJwtG7GiQLEaSCOtzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674384557; a=rsa-sha256; cv=none; b=AmM6kVQnJ72H6iKA1n8iLsrsUmJEI2RTbnDTL1zdFrMGqKxaV9UyJAIQrsZuZaU3pT/T1T 1JwCEjPsrih0Sbf8EDaD+p8f2Sw/M0Peu63+IIFEBLYNbR6C3kz+yeDwq9YAFir3i4D9uZ rM38IUTo7s8QNmgK3TA6kAYMyItkClEaCsObkTyOVlY0RU1D1224lhM/cHqtAjXpwBdvHE xre1X15uhuo82RIxlgizxuVhhoFPfH/uGpobkyOzX5E/OpXP/Rl2tUDqWw0thYUD26h4fX 5W1UNsSxWHPgdBTzVH/qtDxyREVvXiDZBkqPhwme4qEu7W6MBR7tn5dTfd/e2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P09312WD6zmWQ; Sun, 22 Jan 2023 10:49:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30MAnHN7072564; Sun, 22 Jan 2023 10:49:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30MAnHCr072563; Sun, 22 Jan 2023 10:49:17 GMT (envelope-from git) Date: Sun, 22 Jan 2023 10:49:17 GMT Message-Id: <202301221049.30MAnHCr072563@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Yoshihiro Takahashi Subject: git: 9c9e31b9ac7b - stable/12 - unzip: Document optional member list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nyan X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 9c9e31b9ac7ba6dd7078aeae5ec4b119c651efc9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by nyan: URL: https://cgit.FreeBSD.org/src/commit/?id=9c9e31b9ac7ba6dd7078aeae5ec4b119c651efc9 commit 9c9e31b9ac7ba6dd7078aeae5ec4b119c651efc9 Author: Yoshihiro Takahashi AuthorDate: 2023-01-02 04:17:27 +0000 Commit: Yoshihiro Takahashi CommitDate: 2023-01-22 10:48:17 +0000 unzip: Document optional member list Submitted by: Pat Maddox (man page) PR: 267426 (cherry picked from commit a1f28ec729f7491da8607e8eeaee1b0f547c60d0) --- usr.bin/unzip/unzip.1 | 8 +++++++- usr.bin/unzip/unzip.c | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/usr.bin/unzip/unzip.1 b/usr.bin/unzip/unzip.1 index bb43abf43a85..82e2c3a60ea0 100644 --- a/usr.bin/unzip/unzip.1 +++ b/usr.bin/unzip/unzip.1 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 25, 2021 +.Dd January 2, 2023 .Dt UNZIP 1 .Os .Sh NAME @@ -38,6 +38,7 @@ .Op Fl x Ar pattern .Op Fl P Ar password .Ar zipfile +.Op Ar member ... .Sh DESCRIPTION .\" ... The following options are available: @@ -120,6 +121,11 @@ mode changes the way in which additional arguments are parsed. Currently only .Xr zipinfo 1L mode 1 is supported, which lists the file names one per line. +.It Ar [member ...] +Optional list of members to extract from the zipfile. +Can include patterns, e.g. +.Ar 'memberdir/*' +will extract all files and dirs below memberdir. .El .Pp Note that only one of diff --git a/usr.bin/unzip/unzip.c b/usr.bin/unzip/unzip.c index 0b564b0f08ec..78731555eadc 100644 --- a/usr.bin/unzip/unzip.c +++ b/usr.bin/unzip/unzip.c @@ -998,8 +998,9 @@ static void usage(void) { - fprintf(stderr, "Usage: unzip [-aCcfjLlnopqtuvyZ1] [-d dir] " - "[-x pattern] [-P password] zipfile\n"); + fprintf(stderr, +"Usage: unzip [-aCcfjLlnopqtuvyZ1] [-d dir] [-x pattern] [-P password] zipfile\n" +" [member ...]\n"); exit(EXIT_FAILURE); } From nobody Sun Jan 22 14:09:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0FTk3HZ3z2v3bt; Sun, 22 Jan 2023 14:09: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 4P0FTk335Wz43hp; Sun, 22 Jan 2023 14:09:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674396554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cengcu2ij5I47J1RnaAIIVhlr5Dp8vPRfDYgk1P7iTw=; b=hTVrA1dd2z9Qq4BVtt3uJEFVVT/4fyqZM3QEQbajoVi+6PYAf0sf3Hv+ezdEPMD112COcP lRxNPpC492Orv+ENjHR6cBWifCtIvnU2B3OhW3HoRs70CITbvW7Y9kUfSDbnQZ+tYaaCUm 7OlMTSavdPaFNsZP7B2+wTnwk6pQ3beJFKy+k04mcl3aLOl1IVPAcAwg41lENo9dQsqHUd dzdo0CXmJ8nAXvghEHkfB8aMyOMNmKIWW+QtXuF1Zi6U0H8Uye2CjUythB1iEo47lVwO8s ddeyho+WKtWYvwX8FfESMEXkIgIl94vsWQAlWgl3U+R1L38Sr62GqDo3fNWSsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674396554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cengcu2ij5I47J1RnaAIIVhlr5Dp8vPRfDYgk1P7iTw=; b=RvHkW3Q7Qxw5iHGhu2nm7ehRaqo1E51cHQttWAtuFPWZoKF5uIBo5xZRWUNRn3wJ7N/mHe S+tCIpJ/o103Zv+hEK4IloNZpG7ImNhB5WIB/itZ+D0i3Wc7d9iAVYCN2MkvMDvYDr4FrF Shd3eSx23ECeoeXtfjEpO23Z/vcZLvNVOW+BdvOaxNtXHESZqzRvAACp6LKunGtTjSv106 cFrJlZ60BE1bM9A7cYmId5BGMltWRAmeXYqxyHM5+c5asWP0afYO7KoO7zkVPm1jL9+3an Id9lDdCsFC74tEcFP755TqHuGtPxWZqR0EKG77CI3UetJbWtlyQa9qsb6NaqQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674396554; a=rsa-sha256; cv=none; b=fThGKUn4MGY3YIJc2+pkwY6ydee4GDzfJChqT17QAZNwXv762hIXfour++CZPJ3/E1uwBI 97hMD0MCpZhmLUpCYibHrwSlHdzqbR+MKP/hrWgK/o84q2qKUDGUdMhvces6wWQhj2DN7X 2/z2rp9fOBuYEmZ5SzW3lLTN9GOeZzkG/vw0qwGWsEwVFHfB+77inIFcWAUfInGXsOq0pp M3eZpSacT5xn0xGnWC6kyiz8NIDmJ9Vob7ukvGiONTRuLiKS9pNvkFCxPDw9zvdYYs3cct 0KA+17IIOM2r5TTR1TVF2PEULSNwLkxqU4r/6qT7lzW6XMBr1w/1JOA4B5ygrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0FTk25BQzs74; Sun, 22 Jan 2023 14:09:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ME9ENr056182; Sun, 22 Jan 2023 14:09:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ME9Err056181; Sun, 22 Jan 2023 14:09:14 GMT (envelope-from git) Date: Sun, 22 Jan 2023 14:09:14 GMT Message-Id: <202301221409.30ME9Err056181@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Salychev Subject: git: d5a64a935bc9 - stable/13 - Add initial DPAA2 support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dsl X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d5a64a935bc92a89d61aafbb66acbf0e92980cb5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dsl: URL: https://cgit.FreeBSD.org/src/commit/?id=d5a64a935bc92a89d61aafbb66acbf0e92980cb5 commit d5a64a935bc92a89d61aafbb66acbf0e92980cb5 Author: Dmitry Salychev AuthorDate: 2022-09-20 09:47:41 +0000 Commit: Dmitry Salychev CommitDate: 2023-01-22 14:06:23 +0000 Add initial DPAA2 support DPAA2 is a hardware-level networking architecture found in some NXP SoCs which contain hardware blocks including Management Complex (MC, a command interface to manipulate DPAA2 objects), Wire Rate I/O processor (WRIOP, packets distribution, queuing, drop decisions), Queues and Buffers Manager (QBMan, Rx/Tx queues control, Rx buffer pools) and the others. The Management Complex runs NXP-supplied firmware which provides DPAA2 objects as an abstraction layer over those blocks to simplify an access to the underlying hardware. Each DPAA2 object has its own driver (to perform an initialization at least) and will be visible as a separate device in the device tree. Two new drivers (dpaa2_mc and dpaa2_rc) act like firmware buses in order to form a hierarchy of the DPAA2 devices: acpiX (or simplebusX) dpaa2_mcX dpaa2_rcX dpaa2_mcp0 ... dpaa2_mcpN dpaa2_bpX dpaa2_macX dpaa2_io0 ... dpaa2_ioM dpaa2_niX dpaa2_mc is suppossed to be a root of the hierarchy, comes in ACPI and FDT flavours and implements helper interfaces to allocate and assign bus resources, MSI and "managed" DPAA2 devices (NXP treats some of the objects as resources for the other DPAA2 objects to let them function properly). Almost all of the DPAA2 objects are assigned to the resource containers (dpaa2_rc) to implement isolation. The initial implementation focuses on the DPAA2 network interface to be operational. It is the most complex object in terms of dependencies which uses I/O objects to transmit/receive packets. Approved by: bz (mentor) Tested by: manu, bz Differential Revision: https://reviews.freebsd.org/D36638 (cherry picked from commit ba7319e9091b4f6ef15a9c4be3d3d076f3047f72) (cherry picked from commit 7fb975c8fb970b35fc34561ed30a0fe220346cb6) (cherry picked from commit 2782ed8f6cd3d7f59219a783bc7fa7bbfb1fe26f) (cherry picked from commit d6eabdac2ef444b62aba186c793fbd5d4226b157) (cherry picked from commit 16295b0a5a577aa70f47d3b3314277e631caee63) (cherry picked from commit ff270fce1631cdfbf8d3d76b9a9f5342b78972c9) --- sys/arm64/conf/GENERIC | 1 + sys/conf/files.arm64 | 19 + sys/dev/dpaa2/dpaa2_bp.c | 205 +++ sys/dev/dpaa2/dpaa2_bp.h | 74 + sys/dev/dpaa2/dpaa2_cmd_if.m | 1583 ++++++++++++++++ sys/dev/dpaa2/dpaa2_con.c | 213 +++ sys/dev/dpaa2/dpaa2_con.h | 70 + sys/dev/dpaa2/dpaa2_io.c | 570 ++++++ sys/dev/dpaa2/dpaa2_io.h | 110 ++ sys/dev/dpaa2/dpaa2_mac.c | 376 ++++ sys/dev/dpaa2/dpaa2_mac.h | 124 ++ sys/dev/dpaa2/dpaa2_mc.c | 973 ++++++++++ sys/dev/dpaa2/dpaa2_mc.h | 218 +++ sys/dev/dpaa2/dpaa2_mc_acpi.c | 393 ++++ sys/dev/dpaa2/dpaa2_mc_fdt.c | 399 ++++ sys/dev/dpaa2/dpaa2_mc_if.m | 152 ++ sys/dev/dpaa2/dpaa2_mcp.c | 318 ++++ sys/dev/dpaa2/dpaa2_mcp.h | 449 +++++ sys/dev/dpaa2/dpaa2_ni.c | 3670 +++++++++++++++++++++++++++++++++++++ sys/dev/dpaa2/dpaa2_ni.h | 607 ++++++ sys/dev/dpaa2/dpaa2_ni_dpkg.h | 536 ++++++ sys/dev/dpaa2/dpaa2_rc.c | 3585 ++++++++++++++++++++++++++++++++++++ sys/dev/dpaa2/dpaa2_swp.c | 1169 ++++++++++++ sys/dev/dpaa2/dpaa2_swp.h | 504 +++++ sys/dev/dpaa2/dpaa2_swp_if.m | 96 + sys/dev/dpaa2/dpaa2_types.h | 114 ++ sys/dev/dpaa2/memac_mdio.h | 64 + sys/dev/dpaa2/memac_mdio_acpi.c | 310 ++++ sys/dev/dpaa2/memac_mdio_common.c | 306 ++++ sys/dev/dpaa2/memac_mdio_fdt.c | 308 ++++ sys/dev/dpaa2/memac_mdio_if.m | 42 + sys/modules/Makefile | 2 + sys/modules/dpaa2/Makefile | 42 + 33 files changed, 17602 insertions(+) diff --git a/sys/arm64/conf/GENERIC b/sys/arm64/conf/GENERIC index ceceb0e19c2e..9470c04646f0 100644 --- a/sys/arm64/conf/GENERIC +++ b/sys/arm64/conf/GENERIC @@ -286,6 +286,7 @@ device neta # Marvell Armada 370/38x/XP/3700 NIC device re # RealTek 8139C+/8169/8169S/8110S device smc # SMSC LAN91C111 device vnic # Cavium ThunderX NIC +device dpaa2 # Data Path Acceleration Architecture (2nd Gen) # Etherswitch devices device etherswitch # Enable etherswitch support diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 8c60edc29448..a1f2fe03b24e 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -163,6 +163,25 @@ dev/axgbe/xgbe-phy-v1.c optional axa dev/cpufreq/cpufreq_dt.c optional cpufreq fdt +dev/dpaa2/dpaa2_bp.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_cmd_if.m optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_con.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_io.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_mac.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_mc.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_mc_acpi.c optional soc_nxp_ls dpaa2 acpi +dev/dpaa2/dpaa2_mc_fdt.c optional soc_nxp_ls dpaa2 fdt +dev/dpaa2/dpaa2_mc_if.m optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_mcp.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_ni.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_rc.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_swp.c optional soc_nxp_ls dpaa2 +dev/dpaa2/dpaa2_swp_if.m optional soc_nxp_ls dpaa2 +dev/dpaa2/memac_mdio_acpi.c optional soc_nxp_ls dpaa2 acpi +dev/dpaa2/memac_mdio_common.c optional soc_nxp_ls dpaa2 acpi | soc_nxp_ls dpaa2 fdt +dev/dpaa2/memac_mdio_fdt.c optional soc_nxp_ls dpaa2 fdt +dev/dpaa2/memac_mdio_if.m optional soc_nxp_ls dpaa2 acpi | soc_nxp_ls dpaa2 fdt + dev/dwc/if_dwc.c optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399 | fdt dwc_socfpga soc_intel_stratix10 dev/dwc/if_dwc_if.m optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399 | fdt dwc_socfpga soc_intel_stratix10 diff --git a/sys/dev/dpaa2/dpaa2_bp.c b/sys/dev/dpaa2/dpaa2_bp.c new file mode 100644 index 000000000000..78e1ca68cdb1 --- /dev/null +++ b/sys/dev/dpaa2/dpaa2_bp.c @@ -0,0 +1,205 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright © 2021-2022 Dmitry Salychev + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +/* + * The DPAA2 Buffer Pool (DPBP) driver. + * + * The DPBP configures a buffer pool that can be associated with DPAA2 network + * and accelerator interfaces. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include + +#include "pcib_if.h" +#include "pci_if.h" + +#include "dpaa2_mc.h" +#include "dpaa2_mcp.h" +#include "dpaa2_swp.h" +#include "dpaa2_swp_if.h" +#include "dpaa2_cmd_if.h" + +/* DPAA2 Buffer Pool resource specification. */ +struct resource_spec dpaa2_bp_spec[] = { + /* + * DPMCP resources. + * + * NOTE: MC command portals (MCPs) are used to send commands to, and + * receive responses from, the MC firmware. One portal per DPBP. + */ +#define MCP_RES_NUM (1u) +#define MCP_RID_OFF (0u) +#define MCP_RID(rid) ((rid) + MCP_RID_OFF) + /* --- */ + { DPAA2_DEV_MCP, MCP_RID(0), RF_ACTIVE | RF_SHAREABLE | RF_OPTIONAL }, + /* --- */ + RESOURCE_SPEC_END +}; + +static int +dpaa2_bp_probe(device_t dev) +{ + /* DPBP device will be added by the parent resource container. */ + device_set_desc(dev, "DPAA2 Buffer Pool"); + return (BUS_PROBE_DEFAULT); +} + +static int +dpaa2_bp_detach(device_t dev) +{ + device_t child = dev; + struct dpaa2_bp_softc *sc = device_get_softc(dev); + struct dpaa2_devinfo *dinfo = device_get_ivars(dev); + + if (sc->cmd != NULL) { + (void)DPAA2_CMD_BP_DISABLE(dev, child, sc->cmd); + (void)DPAA2_CMD_BP_CLOSE(dev, child, dpaa2_mcp_tk(sc->cmd, + sc->bp_token)); + (void)DPAA2_CMD_RC_CLOSE(dev, child, dpaa2_mcp_tk(sc->cmd, + sc->rc_token)); + + dpaa2_mcp_free_command(sc->cmd); + sc->cmd = NULL; + } + + dinfo->portal = NULL; + bus_release_resources(sc->dev, dpaa2_bp_spec, sc->res); + + return (0); +} + +static int +dpaa2_bp_attach(device_t dev) +{ + device_t pdev = device_get_parent(dev); + device_t child = dev; + device_t mcp_dev; + struct dpaa2_bp_softc *sc = device_get_softc(dev); + struct dpaa2_devinfo *rcinfo = device_get_ivars(pdev); + struct dpaa2_devinfo *dinfo = device_get_ivars(dev); + struct dpaa2_devinfo *mcp_dinfo; + int error; + + sc->dev = dev; + sc->cmd = NULL; + + error = bus_alloc_resources(sc->dev, dpaa2_bp_spec, sc->res); + if (error) { + device_printf(dev, "%s: failed to allocate resources: " + "error=%d\n", __func__, error); + return (ENXIO); + } + + /* Send commands to MC via allocated portal. */ + mcp_dev = (device_t) rman_get_start(sc->res[MCP_RID(0)]); + mcp_dinfo = device_get_ivars(mcp_dev); + dinfo->portal = mcp_dinfo->portal; + + /* Allocate a command to send to MC hardware. */ + error = dpaa2_mcp_init_command(&sc->cmd, DPAA2_CMD_DEF); + if (error) { + device_printf(dev, "%s: failed to allocate dpaa2_cmd: " + "error=%d\n", __func__, error); + dpaa2_bp_detach(dev); + return (ENXIO); + } + + /* Open resource container and DPBP object. */ + error = DPAA2_CMD_RC_OPEN(dev, child, sc->cmd, rcinfo->id, + &sc->rc_token); + if (error) { + device_printf(dev, "%s: failed to open DPRC: error=%d\n", + __func__, error); + dpaa2_bp_detach(dev); + return (ENXIO); + } + error = DPAA2_CMD_BP_OPEN(dev, child, sc->cmd, dinfo->id, &sc->bp_token); + if (error) { + device_printf(dev, "%s: failed to open DPBP: id=%d, error=%d\n", + __func__, dinfo->id, error); + dpaa2_bp_detach(dev); + return (ENXIO); + } + + /* Prepare DPBP object. */ + error = DPAA2_CMD_BP_RESET(dev, child, sc->cmd); + if (error) { + device_printf(dev, "%s: failed to reset DPBP: id=%d, error=%d\n", + __func__, dinfo->id, error); + dpaa2_bp_detach(dev); + return (ENXIO); + } + error = DPAA2_CMD_BP_ENABLE(dev, child, sc->cmd); + if (error) { + device_printf(dev, "%s: failed to enable DPBP: id=%d, " + "error=%d\n", __func__, dinfo->id, error); + dpaa2_bp_detach(dev); + return (ENXIO); + } + error = DPAA2_CMD_BP_GET_ATTRIBUTES(dev, child, sc->cmd, &sc->attr); + if (error) { + device_printf(dev, "%s: failed to get DPBP attributes: id=%d, " + "error=%d\n", __func__, dinfo->id, error); + dpaa2_bp_detach(dev); + return (ENXIO); + } + + return (0); +} + +static device_method_t dpaa2_bp_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, dpaa2_bp_probe), + DEVMETHOD(device_attach, dpaa2_bp_attach), + DEVMETHOD(device_detach, dpaa2_bp_detach), + + DEVMETHOD_END +}; + +static driver_t dpaa2_bp_driver = { + "dpaa2_bp", + dpaa2_bp_methods, + sizeof(struct dpaa2_bp_softc), +}; + +DRIVER_MODULE(dpaa2_bp, dpaa2_rc, dpaa2_bp_driver, 0, 0); diff --git a/sys/dev/dpaa2/dpaa2_bp.h b/sys/dev/dpaa2/dpaa2_bp.h new file mode 100644 index 000000000000..3ba7196eb030 --- /dev/null +++ b/sys/dev/dpaa2/dpaa2_bp.h @@ -0,0 +1,74 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright © 2022 Dmitry Salychev + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _DPAA2_BP_H +#define _DPAA2_BP_H + +#include + +/* Maximum resources per DPBP: 1 DPMCP. */ +#define DPAA2_BP_MAX_RESOURCES 1 + +/** + * @brief Attributes of the DPBP object. + * + * id: DPBP object ID. + * bpid: Hardware buffer pool ID; should be used as an argument in + * acquire/release operations on buffers. + */ +struct dpaa2_bp_attr { + uint32_t id; + uint16_t bpid; +}; + +/** + * @brief Configuration/state of the buffer pool. + */ +struct dpaa2_bp_conf { + uint8_t bdi; + uint8_t state; /* bitmask */ + uint32_t free_bufn; +}; + +/** + * @brief Software context for the DPAA2 Buffer Pool driver. + */ +struct dpaa2_bp_softc { + device_t dev; + struct dpaa2_bp_attr attr; + + /* Help to send commands to MC. */ + struct dpaa2_cmd *cmd; + uint16_t rc_token; + uint16_t bp_token; + + struct resource *res[DPAA2_BP_MAX_RESOURCES]; +}; + +extern struct resource_spec dpaa2_bp_spec[]; + +#endif /* _DPAA2_BP_H */ diff --git a/sys/dev/dpaa2/dpaa2_cmd_if.m b/sys/dev/dpaa2/dpaa2_cmd_if.m new file mode 100644 index 000000000000..96031d4ae8c5 --- /dev/null +++ b/sys/dev/dpaa2/dpaa2_cmd_if.m @@ -0,0 +1,1583 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright © 2021-2022 Dmitry Salychev +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +#include +#include +#include +#include + +/** + * @brief DPAA2 MC command interface. + * + * The primary purpose of the MC provided DPAA2 objects is to simplify DPAA2 + * hardware block usage through abstraction and encapsulation. + */ +INTERFACE dpaa2_cmd; + +# +# Default implementation of the commands. +# +CODE { + static void + panic_on_mc(device_t dev) + { + if (strcmp(device_get_name(dev), "dpaa2_mc") == 0) + panic("No one can handle a command above DPAA2 MC"); + } + + static int + bypass_mng_get_version(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint32_t *major, uint32_t *minor, uint32_t *rev) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_MNG_GET_VERSION(device_get_parent(dev), child, + cmd, major, minor, rev)); + return (ENXIO); + } + static int + bypass_mng_get_soc_version(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint32_t *pvr, uint32_t *svr) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_MNG_GET_SOC_VERSION( + device_get_parent(dev), child, cmd, pvr, svr)); + return (ENXIO); + } + static int + bypass_mng_get_container_id(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint32_t *cont_id) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_MNG_GET_CONTAINER_ID( + device_get_parent(dev), child, cmd, cont_id)); + return (ENXIO); + } + static int + bypass_rc_open(device_t dev, device_t child, struct dpaa2_cmd *cmd, uint32_t cont_id, + uint16_t *token) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_OPEN( + device_get_parent(dev), child, cmd, cont_id, token)); + return (ENXIO); + } + static int + bypass_rc_close(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_CLOSE( + device_get_parent(dev), child, cmd)); + return (ENXIO); + } + static int + bypass_rc_get_obj_count(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint32_t *obj_count) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_OBJ_COUNT( + device_get_parent(dev), child, cmd, obj_count)); + return (ENXIO); + } + static int + bypass_rc_get_obj(device_t dev, device_t child, struct dpaa2_cmd *cmd, uint32_t obj_idx, + struct dpaa2_obj *obj) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_OBJ( + device_get_parent(dev), child, cmd, obj_idx, obj)); + return (ENXIO); + } + static int + bypass_rc_get_obj_descriptor(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint32_t obj_id, enum dpaa2_dev_type type, struct dpaa2_obj *obj) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_OBJ_DESCRIPTOR( + device_get_parent(dev), child, cmd, obj_id, type, obj)); + return (ENXIO); + } + static int + bypass_rc_get_attributes(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_rc_attr *attr) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_ATTRIBUTES( + device_get_parent(dev), child, cmd, attr)); + return (ENXIO); + } + static int + bypass_rc_get_obj_region(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint32_t obj_id, uint8_t reg_idx, enum dpaa2_dev_type type, + struct dpaa2_rc_obj_region *reg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_OBJ_REGION( + device_get_parent(dev), child, cmd, obj_id, reg_idx, + type, reg)); + return (ENXIO); + } + static int + bypass_rc_get_api_version(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint16_t *major, uint16_t *minor) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_API_VERSION( + device_get_parent(dev), child, cmd, major, minor)); + return (ENXIO); + } + static int + bypass_rc_set_irq_enable(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t irq_idx, uint8_t enable) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_SET_IRQ_ENABLE( + device_get_parent(dev), child, cmd, irq_idx, enable)); + return (ENXIO); + } + static int + bypass_rc_set_obj_irq(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t irq_idx, uint64_t addr, uint32_t data, uint32_t irq_usr, + uint32_t obj_id, enum dpaa2_dev_type type) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_SET_OBJ_IRQ( + device_get_parent(dev), child, cmd, irq_idx, addr, data, + irq_usr, obj_id, type)); + return (ENXIO); + } + static int + bypass_rc_get_conn(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ep_desc *ep1_desc, struct dpaa2_ep_desc *ep2_desc, + uint32_t *link_stat) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_RC_GET_CONN( + device_get_parent(dev), child, cmd, ep1_desc, ep2_desc, + link_stat)); + return (ENXIO); + } + + static int + bypass_ni_open(device_t dev, device_t child, struct dpaa2_cmd *cmd, uint32_t dpni_id, + uint16_t *token) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_OPEN( + device_get_parent(dev), child, cmd, dpni_id, token)); + return (ENXIO); + } + static int + bypass_ni_close(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_CLOSE( + device_get_parent(dev), child, cmd)); + return (ENXIO); + } + static int + bypass_ni_enable(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_ENABLE( + device_get_parent(dev), child, cmd)); + return (ENXIO); + } + static int + bypass_ni_disable(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_DISABLE( + device_get_parent(dev), child, cmd)); + return (ENXIO); + } + static int + bypass_ni_get_api_version(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint16_t *major, uint16_t *minor) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_API_VERSION( + device_get_parent(dev), child, cmd, major, minor)); + return (ENXIO); + } + static int + bypass_ni_reset(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_RESET( + device_get_parent(dev), child, cmd)); + return (ENXIO); + } + static int + bypass_ni_get_attributes(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_attr *attr) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_ATTRIBUTES( + device_get_parent(dev), child, cmd, attr)); + return (ENXIO); + } + static int + bypass_ni_set_buf_layout(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_buf_layout *bl) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_BUF_LAYOUT( + device_get_parent(dev), child, cmd, bl)); + return (ENXIO); + } + static int + bypass_ni_get_tx_data_off(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint16_t *offset) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_TX_DATA_OFF( + device_get_parent(dev), child, cmd, offset)); + return (ENXIO); + } + static int + bypass_ni_set_link_cfg(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_link_cfg *cfg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_LINK_CFG( + device_get_parent(dev), child, cmd, cfg)); + return (ENXIO); + } + static int + bypass_ni_get_link_cfg(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_link_cfg *cfg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_LINK_CFG( + device_get_parent(dev), child, cmd, cfg)); + return (ENXIO); + } + static int + bypass_ni_get_link_state(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_link_state *state) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_LINK_STATE( + device_get_parent(dev), child, cmd, state)); + return (ENXIO); + } + static int + bypass_ni_get_port_mac_addr(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t *mac) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_PORT_MAC_ADDR( + device_get_parent(dev), child, cmd, mac)); + return (ENXIO); + } + static int + bypass_ni_set_prim_mac_addr(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t *mac) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_PRIM_MAC_ADDR( + device_get_parent(dev), child, cmd, mac)); + return (ENXIO); + } + static int + bypass_ni_get_prim_mac_addr(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t *mac) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_PRIM_MAC_ADDR( + device_get_parent(dev), child, cmd, mac)); + return (ENXIO); + } + static int + bypass_ni_set_qos_table(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_qos_table *tbl) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_QOS_TABLE( + device_get_parent(dev), child, cmd, tbl)); + return (ENXIO); + } + static int + bypass_ni_clear_qos_table(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_CLEAR_QOS_TABLE( + device_get_parent(dev), child, cmd)); + return (ENXIO); + } + static int + bypass_ni_set_pools(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_pools_cfg *cfg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_POOLS( + device_get_parent(dev), child, cmd, cfg)); + return (ENXIO); + } + static int + bypass_ni_set_err_behavior(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_err_cfg *cfg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_ERR_BEHAVIOR( + device_get_parent(dev), child, cmd, cfg)); + return (ENXIO); + } + static int + bypass_ni_get_queue(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_queue_cfg *cfg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_QUEUE( + device_get_parent(dev), child, cmd, cfg)); + return (ENXIO); + } + static int + bypass_ni_set_queue(device_t dev, device_t child, struct dpaa2_cmd *cmd, + struct dpaa2_ni_queue_cfg *cfg) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_QUEUE( + device_get_parent(dev), child, cmd, cfg)); + return (ENXIO); + } + static int + bypass_ni_get_qdid(device_t dev, device_t child, struct dpaa2_cmd *cmd, + enum dpaa2_ni_queue_type type, uint16_t *qdid) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_QDID( + device_get_parent(dev), child, cmd, type, qdid)); + return (ENXIO); + } + static int + bypass_ni_add_mac_addr(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t *mac) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_ADD_MAC_ADDR( + device_get_parent(dev), child, cmd, mac)); + return (ENXIO); + } + static int + bypass_ni_remove_mac_addr(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t *mac) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_REMOVE_MAC_ADDR( + device_get_parent(dev), child, cmd, mac)); + return (ENXIO); + } + static int + bypass_ni_clear_mac_filters(device_t dev, device_t child, struct dpaa2_cmd *cmd, + bool rm_uni, bool rm_multi) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_CLEAR_MAC_FILTERS( + device_get_parent(dev), child, cmd, rm_uni, rm_multi)); + return (ENXIO); + } + static int + bypass_ni_set_mfl(device_t dev, device_t child, struct dpaa2_cmd *cmd, uint16_t length) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_MFL( + device_get_parent(dev), child, cmd, length)); + return (ENXIO); + } + static int + bypass_ni_set_offload(device_t dev, device_t child, struct dpaa2_cmd *cmd, + enum dpaa2_ni_ofl_type ofl_type, bool en) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_OFFLOAD( + device_get_parent(dev), child, cmd, ofl_type, en)); + return (ENXIO); + } + static int + bypass_ni_set_irq_mask(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t irq_idx, uint32_t mask) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_IRQ_MASK( + device_get_parent(dev), child, cmd, irq_idx, mask)); + return (ENXIO); + } + static int + bypass_ni_set_irq_enable(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t irq_idx, bool en) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_IRQ_ENABLE( + device_get_parent(dev), child, cmd, irq_idx, en)); + return (ENXIO); + } + static int + bypass_ni_get_irq_status(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t irq_idx, uint32_t *status) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_IRQ_STATUS( + device_get_parent(dev), child, cmd, irq_idx, status)); + return (ENXIO); + } + static int + bypass_ni_set_uni_promisc(device_t dev, device_t child, struct dpaa2_cmd *cmd, bool en) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_UNI_PROMISC( + device_get_parent(dev), child, cmd, en)); + return (ENXIO); + } + static int + bypass_ni_set_multi_promisc(device_t dev, device_t child, struct dpaa2_cmd *cmd, bool en) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_MULTI_PROMISC( + device_get_parent(dev), child, cmd, en)); + return (ENXIO); + } + static int + bypass_ni_get_statistics(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint8_t page, uint16_t param, uint64_t *cnt) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_GET_STATISTICS( + device_get_parent(dev), child, cmd, page, param, cnt)); + return (ENXIO); + } + static int + bypass_ni_set_rx_tc_dist(device_t dev, device_t child, struct dpaa2_cmd *cmd, + uint16_t dist_size, uint8_t tc, enum dpaa2_ni_dist_mode dist_mode, + bus_addr_t key_cfg_buf) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_NI_SET_RX_TC_DIST( + device_get_parent(dev), child, cmd, dist_size, tc, + dist_mode, key_cfg_buf)); + return (ENXIO); + } + + static int + bypass_io_open(device_t dev, device_t child, struct dpaa2_cmd *cmd, uint32_t dpio_id, + uint16_t *token) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_IO_OPEN( + device_get_parent(dev), child, cmd, dpio_id, token)); + return (ENXIO); + } + static int + bypass_io_close(device_t dev, device_t child, struct dpaa2_cmd *cmd) + { + panic_on_mc(dev); + if (device_get_parent(dev) != NULL) + return (DPAA2_CMD_IO_CLOSE( + device_get_parent(dev), child, cmd)); + return (ENXIO); *** 16933 LINES SKIPPED *** From nobody Sun Jan 22 16:07:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0J6J4NfPz310vP; Sun, 22 Jan 2023 16:07:36 +0000 (UTC) (envelope-from jhibbits@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 4P0J6J3sRWz4Fb3; Sun, 22 Jan 2023 16:07:36 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674403656; 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=WMtedIiGiD4LOpEID9rIv1FLikI8a0EifwBs2OxH5n8=; b=H0FwUriuG2HOvNnNRszy2vAmmq9DGKxqoU+QrB/nYuNpT1zY7gDQQwCe/M++5zsiLm9pzg wurO5SJUzsSvb6V0CyJYDmrh2Qxm46oQQuUK3cw8el+YT3X/KCwtXRzQC/wxQO9g368NvM xixVNLuEb+cMo/NhleDMmT9JG1lNnY23+4FwnYp/h4i0r+rbR6BMIb7UE/9lAAP3TcAAV3 jk4DsztpelClJk4uJCqFvnuzoMWjTmiRMNveW2zTY9D7oOjz8Fd/ztmQ61Hhzg3UMJe5Te uXIezca2ayKo2c4bAdOmFWQKS06wjU5pxI4175zml/NZc2quTFuO6/wyw6nFcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674403656; 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=WMtedIiGiD4LOpEID9rIv1FLikI8a0EifwBs2OxH5n8=; b=W7m6UWIr3TrUvM4D9f3czv60xaXC62iv3VqfokJTavMOflhUeKL0m8HUBfzRX3fCzGRhNl 9b4Fc4vTF9jReSE/P4M4bP/aEKsXDmCEmGDvdHcA8CLN4P3AcHw4sTjcCaC7/jtmpsmzDO oX4SwIysWiiZuayb7BUDYhui53Mhx0ptcmolNw8CMGNMS0JNljxwB1uhBEOlMtKdlaTeK/ 4dlUIUdA+9ulDTX04GqbUo0K0OSGm7hxA8pmaKZROPp4hgO2XkBQ1wIzEJpwwEjMJP/xYT wOu7RBVIpR/a3npekt+Y4x6/UlJ7JbpYcQaA9f8XILdtqsc9m1NTaOGlsBh99w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674403656; a=rsa-sha256; cv=none; b=A8Uz+4xAptt+jeI1c8GcDr6fXGXbH5Mp4ElcErZkQ10i213Wg8ks2K4tjhTxdu8RlWDvR1 Lrr/SUDPGpgBJI+BB0kFhXrsF3HCqb+3KTDtd39hZXdVGKhvPfhH7ws2jh/7yXefCQR5CI biiSkye/tTqBylMjYgk4lFgraHCjhPFj7XTsM0/XI2bVr3xiem/uOll5amqapO8Wf/zMZ0 0QXJoe616B6xOPHsIE7suiIkeU3zzbS4sDlM8XShxlqR5yGWF2KuIg+426E82/LlXSwHp/ KyviEYADeMwXzavhJk8JQcv9fdc1KKgUKfn5gc1DgxO6zHYtbsin2PC3ztIUhQ== Received: from ralga-linux (dsl-74-83-251-217.fuse.net [74.83.251.217]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhibbits) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P0J6J1Hm2zsxx; Sun, 22 Jan 2023 16:07:36 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Date: Sun, 22 Jan 2023 11:07:34 -0500 From: Justin Hibbits To: "Alexander V. Chernikov" Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: 81a72d997e22 - stable/13 - tcp: virtualise net.inet.tcp.msl sysctl. Message-ID: <20230122110719.56ab1f60@ralga-linux> In-Reply-To: <202301132124.30DLOrE7040954@gitrepo.freebsd.org> References: <202301132124.30DLOrE7040954@gitrepo.freebsd.org> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; powerpc64le-unknown-linux-gnu) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On Fri, 13 Jan 2023 21:24:53 GMT "Alexander V. Chernikov" wrote: > The branch stable/13 has been updated by melifaro: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=81a72d997e22f37ac15a009090a5a15a6c279900 > > commit 81a72d997e22f37ac15a009090a5a15a6c279900 > Author: Alexander V. Chernikov > AuthorDate: 2021-12-04 22:02:44 +0000 > Commit: Alexander V. Chernikov > CommitDate: 2023-01-13 21:18:26 +0000 > > tcp: virtualise net.inet.tcp.msl sysctl. > > VNET teardown waits 2*MSL (60 seconds by default) before expiring > tcp PCBs. These PCBs holds references to nexthops, which, in > turn, reference ifnets. This chain results in VNET interfaces being > destroyed and moved to default VNET only after 60 seconds. > Allow tcp_msl to be set in jail by virtualising net.inet.tcp.msl > sysctl, permitting more predictable VNET tests outcomes. > > MFC after: 1 week > Reviewed by: glebius > Differential Revision: https://reviews.freebsd.org/D33270 > > (cherry picked from commit > c2c8e360d8c0b8712158d334686d88f052aef819) --- > sys/netinet/tcp_subr.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c > index 62042df50d18..dfbdf99f21eb 100644 > --- a/sys/netinet/tcp_subr.c > +++ b/sys/netinet/tcp_subr.c > @@ -1453,6 +1453,8 @@ tcp_init(void) > > V_tcp_msl = TCPTV_MSL; > > + V_tcp_msl = TCPTV_MSL; > + > /* Skip initialization of globals for non-default instances. > */ if (!IS_DEFAULT_VNET(curvnet)) > return; This looks like it was already MFC'd to stable/13 back in March last year as 057793e6377. - Justin From nobody Mon Jan 23 08:23:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0jlv1Nd0z312V3; Mon, 23 Jan 2023 08:23: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 4P0jlt6NrZz4381; Mon, 23 Jan 2023 08:23:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674462186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GILxgg7/X081aMc4bY0pieymV55BOQXsa0x07g4gE7g=; b=wqb82qnj/ehBZwAJKkEr1u+SqgVW+FLyx9sKCAssmwn/twQ0hyXvCiFF+Qjw1obYmUhuxX BhDk/h6aOX/gguwowFd8ox0lrQ4bciPF4aP/YvHRAFjpBH7IfI/6NxUgRT6CQu9jQcDzHQ M2AsNh4C8AfXwZkc3sZhQRnsciWynUT44ragdSsD8gtD8g9q1yHuYzMEs78p1mdp/X1Tc0 NoVI1GUH7DCufs9rlQvu1W0zdRS0TBzRPCT0x1lsHtTEyqLIcmyNO7xKrK9RyfaUVNt2/x Rk6/ZrWrPyg50dIOitzl0tkkMVe1JRQE8TBQMfvYCpKMeId7W+olyhZsmhNQ2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674462186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GILxgg7/X081aMc4bY0pieymV55BOQXsa0x07g4gE7g=; b=kbir88gFiFZDvAbeWktsK/3wf17aezrMc1w2Uu3v73BTEteUjA1vg6tWh1vuWV+sNQ1THg SP/qIb2P2zpDwhZFGH3jg6TqJ76hmd/YCgrW0BAagLZ6QiKLOdB6nzTXvB95nM6SU24BM9 mEaBjbrx1SbeHVd5RUJIGY99QzExeHQbQDFhMH2kYYbHGGE+PWMeTrztoobOIg28wWFMP3 BaAxsZ6v2elouDtiRhapecdvxsMSOTRJjWa+OWNOLgAp7FkLVZRMeNW6BUK7jax6KCSaVK GpkD4YoEUWirxEbt8U31kRS82p/armqfhJ92pVOeWk2VD86noTnUkeO0srTVig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674462186; a=rsa-sha256; cv=none; b=jUuDvKFXOI5mDfm32GePr+DM0QFK7ZFNruXEd7DRWJM9opT0spolSQZvbr98UxfxT7kkhz TDrBTyzYszlbt60tw1v7mZGRqX59ioN3etfDJQFh8yL1tV/7TbUEa0MDt91t1kvLvW+9jH Ytet798dgPpxo0jDNYcaDI4+jnyTySCGraC5/6+Rv/GzfKUlvPBFB0QB7s3up63Zw0Rjuo z0C7lFrHJhTMBaGMo5AMZwVh5AVX/E4GecrbjFyWqlRxDZanKG6vy6JmGK+P07VJhBeEvw fLW6HwjIXBajAQoas6xmWl4GFH7lxwLDoOquUTPp+QRn4Yy1ra276MMNhl/lHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0jlt5QrczNGZ; Mon, 23 Jan 2023 08:23:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30N8N6dv027966; Mon, 23 Jan 2023 08:23:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30N8N6TK027965; Mon, 23 Jan 2023 08:23:06 GMT (envelope-from git) Date: Mon, 23 Jan 2023 08:23:06 GMT Message-Id: <202301230823.30N8N6TK027965@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: fbdde1029e92 - stable/13 - pf tests: properly destroy renamed interfaces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fbdde1029e9202cf44ed3ce3e38a4d11e418eda5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=fbdde1029e9202cf44ed3ce3e38a4d11e418eda5 commit fbdde1029e9202cf44ed3ce3e38a4d11e418eda5 Author: Kajetan Staszkiewicz AuthorDate: 2023-01-16 06:19:41 +0000 Commit: Kristof Provost CommitDate: 2023-01-23 02:26:25 +0000 pf tests: properly destroy renamed interfaces The pfsync:pbr tests leaves lot of interfaces when they finish, making other tests slower due to long time of loading scapy from pft_ping.py when more interfaces are present. When both sides of epair are assigned to jails, they are both removed from created_interfaces.lst and thus won't be removed during cleanup from this file. An interface assigned to jail is stored in created_jails.lst but if it is renamed, it won't be cleaned up either. Furthermore this test uses identical names for multiple interfaces across multiple jails which after destroying those jails adds to overall confusion. To address this issue a new function is provided for renaming interfaces in jails and storing their new names in created_jails.lst for deletion during cleanup. MFC after: 1 week Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D38024 (cherry picked from commit ddcdb534b7669f186184baf164e7647d544f7bd6) --- tests/sys/common/vnet.subr | 10 ++++++ tests/sys/netpfil/pf/pfsync.sh | 77 ++++++++++++------------------------------ 2 files changed, 31 insertions(+), 56 deletions(-) diff --git a/tests/sys/common/vnet.subr b/tests/sys/common/vnet.subr index 590e8dea992e..9ba41ec3c365 100644 --- a/tests/sys/common/vnet.subr +++ b/tests/sys/common/vnet.subr @@ -53,6 +53,16 @@ vnet_mkjail() echo $jailname >> created_jails.lst } +vnet_ifrename_jail() +{ + jailname=$1 + ifname=$2 + ifnewname=$3 + + jexec ${jailname} ifconfig $ifname name $ifnewname + sed -i "" "/^${jailname}/s/${ifname}/${ifnewname}/" created_jails.lst +} + vnet_cleanup() { if [ -f created_jails.lst ]; then diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index 8929e14ec7dd..bbe3fbcb1d2a 100644 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -413,12 +413,11 @@ pbr_common_body() alias 198.18.1.10/32 vhid 11 pass 3WjvVVw7 advskew 50 jexec gw_route_to_master sysctl net.inet.ip.forwarding=1 jexec gw_route_to_master sysctl net.inet.carp.preempt=1 - jexec gw_route_to_master ifconfig ${epair_sync_gw_route_to}a name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_route_to}'a/if_pfsync/g' created_interfaces.lst - jexec gw_route_to_master ifconfig ${epair_gw_route_to_master_bridge0}a name if_br0 - sed -i '' -e 's/'${epair_gw_route_to_master_bridge0}'a/if_br0/g' created_interfaces.lst - jexec gw_route_to_master ifconfig ${epair_gw_route_to_master_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_route_to_master_bridge1}'a/if_br1/g' created_interfaces.lst + + vnet_ifrename_jail gw_route_to_master ${epair_sync_gw_route_to}a if_pfsync + vnet_ifrename_jail gw_route_to_master ${epair_gw_route_to_master_bridge0}a if_br0 + vnet_ifrename_jail gw_route_to_master ${epair_gw_route_to_master_bridge1}a if_br1 + jexec gw_route_to_master ifconfig pfsync0 \ syncpeer 198.19.10.2 \ syncdev if_pfsync \ @@ -447,12 +446,11 @@ pbr_common_body() alias 198.18.1.10/32 vhid 11 pass 3WjvVVw7 advskew 100 jexec gw_route_to_backup sysctl net.inet.ip.forwarding=1 jexec gw_route_to_backup sysctl net.inet.carp.preempt=1 - jexec gw_route_to_backup ifconfig ${epair_sync_gw_route_to}b name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_route_to}'b/if_pfsync/g' created_interfaces.lst - jexec gw_route_to_backup ifconfig ${epair_gw_route_to_backup_bridge0}a name if_br0 - sed -i '' -e 's/'${epair_gw_route_to_backup_bridge0}'a/if_br0/g' created_interfaces.lst - jexec gw_route_to_backup ifconfig ${epair_gw_route_to_backup_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_route_to_backup_bridge1}'a/if_br1/g' created_interfaces.lst + + vnet_ifrename_jail gw_route_to_backup ${epair_sync_gw_route_to}b if_pfsync + vnet_ifrename_jail gw_route_to_backup ${epair_gw_route_to_backup_bridge0}a if_br0 + vnet_ifrename_jail gw_route_to_backup ${epair_gw_route_to_backup_bridge1}a if_br1 + jexec gw_route_to_backup ifconfig pfsync0 \ syncpeer 198.19.10.1 \ syncdev if_pfsync \ @@ -480,12 +478,11 @@ pbr_common_body() alias 198.18.2.20/32 vhid 22 pass 3WjvVVw7 advskew 50 jexec gw_reply_to_master sysctl net.inet.ip.forwarding=1 jexec gw_reply_to_master sysctl net.inet.carp.preempt=1 - jexec gw_reply_to_master ifconfig ${epair_sync_gw_reply_to}a name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_reply_to}'a/if_pfsync/g' created_interfaces.lst - jexec gw_reply_to_master ifconfig ${epair_gw_reply_to_master_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_reply_to_master_bridge1}'a/if_br1/g' created_interfaces.lst - jexec gw_reply_to_master ifconfig ${epair_gw_reply_to_master_bridge2}a name if_br2 - sed -i '' -e 's/'${epair_gw_reply_to_master_bridge2}'a/if_br2/g' created_interfaces.lst + + vnet_ifrename_jail gw_reply_to_master ${epair_sync_gw_reply_to}a if_pfsync + vnet_ifrename_jail gw_reply_to_master ${epair_gw_reply_to_master_bridge1}a if_br1 + vnet_ifrename_jail gw_reply_to_master ${epair_gw_reply_to_master_bridge2}a if_br2 + jexec gw_reply_to_master ifconfig pfsync0 \ syncpeer 198.19.20.2 \ syncdev if_pfsync \ @@ -513,12 +510,11 @@ pbr_common_body() alias 198.18.2.20/32 vhid 22 pass 3WjvVVw7 advskew 100 jexec gw_reply_to_backup sysctl net.inet.ip.forwarding=1 jexec gw_reply_to_backup sysctl net.inet.carp.preempt=1 - jexec gw_reply_to_backup ifconfig ${epair_sync_gw_reply_to}b name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_reply_to}'b/if_pfsync/g' created_interfaces.lst - jexec gw_reply_to_backup ifconfig ${epair_gw_reply_to_backup_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_reply_to_backup_bridge1}'a/if_br1/g' created_interfaces.lst - jexec gw_reply_to_backup ifconfig ${epair_gw_reply_to_backup_bridge2}a name if_br2 - sed -i '' -e 's/'${epair_gw_reply_to_backup_bridge2}'a/if_br2/g' created_interfaces.lst + + vnet_ifrename_jail gw_reply_to_backup ${epair_sync_gw_reply_to}b if_pfsync + vnet_ifrename_jail gw_reply_to_backup ${epair_gw_reply_to_backup_bridge1}a if_br1 + vnet_ifrename_jail gw_reply_to_backup ${epair_gw_reply_to_backup_bridge2}a if_br2 + jexec gw_reply_to_backup ifconfig pfsync0 \ syncpeer 198.19.20.1 \ syncdev if_pfsync \ @@ -580,43 +576,12 @@ pbr_common_body() sleep 1 done - # As cleanup is long and may lead to a timeout, - # it's run directly into the body part. - # (as cleanup timeout is not settable) - jail -r \ - client \ - gw_route_to_master \ - gw_route_to_backup \ - gw_reply_to_master \ - gw_reply_to_backup \ - server - for ifname in $(grep -E -e 'if_' -e 'epair.*a' -e 'bridge' created_interfaces.lst) - do - ifconfig $ifname >/dev/null 2>&1 && ifconfig $ifname destroy - done - atf_check -s exit:0 -e ignore -o ignore grep ', 0.0% packet loss' ping.stdout } pbr_common_cleanup() { - for jailname in client gw_route_to_master gw_route_to_backup gw_reply_to_master gw_reply_to_backup server - do - if $(jls | grep -q $jailname); then - jail -r $jailname - else - echo "$jailname already cleaned" - fi - done - for ifname in $(grep -E -e 'if_' -e 'epair.*a' -e 'bridge' created_interfaces.lst) - do - ifconfig $ifname >/dev/null 2>&1 - if [ "$?" -eq "0" ]; then - ifconfig $ifname destroy - else - echo "$ifname already destroyed" - fi - done + pft_cleanup } atf_init_test_cases() From nobody Mon Jan 23 08:23:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0jlv1Nb9z312bv; Mon, 23 Jan 2023 08:23: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 4P0jlt70JBz43MX; Mon, 23 Jan 2023 08:23:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674462187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uhIxV8k6NUNxW3NgWQuTKOom8pmU9Fu0oKZ6waBfwek=; b=Z9+qrHr/1QHJQw6RnVWv4uMF5cILYkQ7ykiz3XvCmfmybkgZW7vCcu9sL9Sg9wG79PN5q1 5kGemX3Hf9PFAS2G20gTtLO4WpGjvftKtWleuCPG2NdF56sWLg3er82DVT7Z6U51SYa/8O tyk1LsfqLhUE2g5b9JTBJY2csDkhsr/HcfQyS457yOa5JqV+XdQ+aTTtM7RrPNdydKJ2VR CjtqRmCvvXTt/heoVfGYMLetIkzSAG/6ZjiVL8FjH9k+kN4rFIaL6ZUGSMVIjhFu+49DY4 0nbV7iqg/WPSgmllFU1xXL55MOVn2Jbn/B+1eEFtjyrsSl3HxNZm39rGA0DAYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674462187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uhIxV8k6NUNxW3NgWQuTKOom8pmU9Fu0oKZ6waBfwek=; b=xS6Yt72ltqgzCZc4zSv+sQycRYbnrZDnnrYdt6QeeXF9HFotoCaq9VnfZYtSpP7hSRYnJI sdZi25SAwMsIo18gM4SD4x6jKyricp1d7QiUvZTLKwr1nmlCyw3t2sKiJAW89tf30AZ7oX 3mtWH/IaQpzpkSU0+RvrF4iQOOgHljFl4+WAK3CSmVCJxeWEKfbgU2GN0BOi/dRI7V6wy7 4XZzMlSak7+qye/X+aJ4NRz1rS7b8Y3yO4xDpmhFF5L7g28V4MnJ2IMzx5RWY6AOWLunBt RhJExO0UiextFiOgNybifqmvg8NVf+HWwuazWU2ItrV2w+ebA0srBEsD6qKExg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674462187; a=rsa-sha256; cv=none; b=cyJrStAaBxnxFLzMpGvy7YcxuEzzBFzEDxjpA0kXd8buAYD4Jb71XEKkP8dpGYV1V4LxbG CR/okvjWyFO6ZC2jXb181xSyErHa9t/LKp6xr3Zo9h9SSbKwxOo0nQGUbpDjmbCrDKPuOd QrggjSkgk8LbY8a8ByYkpi5YC3GU4Mfln1Wodt74SJE4T7ZOMJ35GQQQSehR3tdsu1tAEl 8XguKL1XaE5oXEbHsyQqJFJB605y/GDLW29yPpKiCSTqmy55EkHh+/nMmQg26mKnr91BBR eHZG3SjLLIO32SMHsHQqWOUsKFhrMaYV3gmgLYOeJ307O1VSDZJSJggq5AFgWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0jlt62xJzMfb; Mon, 23 Jan 2023 08:23:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30N8N6oe028016; Mon, 23 Jan 2023 08:23:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30N8N6rp028015; Mon, 23 Jan 2023 08:23:06 GMT (envelope-from git) Date: Mon, 23 Jan 2023 08:23:06 GMT Message-Id: <202301230823.30N8N6rp028015@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 56a80affe4ce - stable/12 - pf tests: properly destroy renamed interfaces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 56a80affe4cee8a3f29a88b5e30791000bb2988b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=56a80affe4cee8a3f29a88b5e30791000bb2988b commit 56a80affe4cee8a3f29a88b5e30791000bb2988b Author: Kajetan Staszkiewicz AuthorDate: 2023-01-16 06:19:41 +0000 Commit: Kristof Provost CommitDate: 2023-01-23 02:26:26 +0000 pf tests: properly destroy renamed interfaces The pfsync:pbr tests leaves lot of interfaces when they finish, making other tests slower due to long time of loading scapy from pft_ping.py when more interfaces are present. When both sides of epair are assigned to jails, they are both removed from created_interfaces.lst and thus won't be removed during cleanup from this file. An interface assigned to jail is stored in created_jails.lst but if it is renamed, it won't be cleaned up either. Furthermore this test uses identical names for multiple interfaces across multiple jails which after destroying those jails adds to overall confusion. To address this issue a new function is provided for renaming interfaces in jails and storing their new names in created_jails.lst for deletion during cleanup. MFC after: 1 week Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D38024 (cherry picked from commit ddcdb534b7669f186184baf164e7647d544f7bd6) --- tests/sys/common/vnet.subr | 10 ++++++ tests/sys/netpfil/pf/pfsync.sh | 77 ++++++++++++------------------------------ 2 files changed, 31 insertions(+), 56 deletions(-) diff --git a/tests/sys/common/vnet.subr b/tests/sys/common/vnet.subr index e4d8ceaa610a..052ff46b39a4 100644 --- a/tests/sys/common/vnet.subr +++ b/tests/sys/common/vnet.subr @@ -45,6 +45,16 @@ vnet_mkjail() echo $jailname >> created_jails.lst } +vnet_ifrename_jail() +{ + jailname=$1 + ifname=$2 + ifnewname=$3 + + jexec ${jailname} ifconfig $ifname name $ifnewname + sed -i "" "/^${jailname}/s/${ifname}/${ifnewname}/" created_jails.lst +} + vnet_cleanup() { if [ -f created_jails.lst ]; then diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index 8929e14ec7dd..bbe3fbcb1d2a 100755 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -413,12 +413,11 @@ pbr_common_body() alias 198.18.1.10/32 vhid 11 pass 3WjvVVw7 advskew 50 jexec gw_route_to_master sysctl net.inet.ip.forwarding=1 jexec gw_route_to_master sysctl net.inet.carp.preempt=1 - jexec gw_route_to_master ifconfig ${epair_sync_gw_route_to}a name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_route_to}'a/if_pfsync/g' created_interfaces.lst - jexec gw_route_to_master ifconfig ${epair_gw_route_to_master_bridge0}a name if_br0 - sed -i '' -e 's/'${epair_gw_route_to_master_bridge0}'a/if_br0/g' created_interfaces.lst - jexec gw_route_to_master ifconfig ${epair_gw_route_to_master_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_route_to_master_bridge1}'a/if_br1/g' created_interfaces.lst + + vnet_ifrename_jail gw_route_to_master ${epair_sync_gw_route_to}a if_pfsync + vnet_ifrename_jail gw_route_to_master ${epair_gw_route_to_master_bridge0}a if_br0 + vnet_ifrename_jail gw_route_to_master ${epair_gw_route_to_master_bridge1}a if_br1 + jexec gw_route_to_master ifconfig pfsync0 \ syncpeer 198.19.10.2 \ syncdev if_pfsync \ @@ -447,12 +446,11 @@ pbr_common_body() alias 198.18.1.10/32 vhid 11 pass 3WjvVVw7 advskew 100 jexec gw_route_to_backup sysctl net.inet.ip.forwarding=1 jexec gw_route_to_backup sysctl net.inet.carp.preempt=1 - jexec gw_route_to_backup ifconfig ${epair_sync_gw_route_to}b name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_route_to}'b/if_pfsync/g' created_interfaces.lst - jexec gw_route_to_backup ifconfig ${epair_gw_route_to_backup_bridge0}a name if_br0 - sed -i '' -e 's/'${epair_gw_route_to_backup_bridge0}'a/if_br0/g' created_interfaces.lst - jexec gw_route_to_backup ifconfig ${epair_gw_route_to_backup_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_route_to_backup_bridge1}'a/if_br1/g' created_interfaces.lst + + vnet_ifrename_jail gw_route_to_backup ${epair_sync_gw_route_to}b if_pfsync + vnet_ifrename_jail gw_route_to_backup ${epair_gw_route_to_backup_bridge0}a if_br0 + vnet_ifrename_jail gw_route_to_backup ${epair_gw_route_to_backup_bridge1}a if_br1 + jexec gw_route_to_backup ifconfig pfsync0 \ syncpeer 198.19.10.1 \ syncdev if_pfsync \ @@ -480,12 +478,11 @@ pbr_common_body() alias 198.18.2.20/32 vhid 22 pass 3WjvVVw7 advskew 50 jexec gw_reply_to_master sysctl net.inet.ip.forwarding=1 jexec gw_reply_to_master sysctl net.inet.carp.preempt=1 - jexec gw_reply_to_master ifconfig ${epair_sync_gw_reply_to}a name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_reply_to}'a/if_pfsync/g' created_interfaces.lst - jexec gw_reply_to_master ifconfig ${epair_gw_reply_to_master_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_reply_to_master_bridge1}'a/if_br1/g' created_interfaces.lst - jexec gw_reply_to_master ifconfig ${epair_gw_reply_to_master_bridge2}a name if_br2 - sed -i '' -e 's/'${epair_gw_reply_to_master_bridge2}'a/if_br2/g' created_interfaces.lst + + vnet_ifrename_jail gw_reply_to_master ${epair_sync_gw_reply_to}a if_pfsync + vnet_ifrename_jail gw_reply_to_master ${epair_gw_reply_to_master_bridge1}a if_br1 + vnet_ifrename_jail gw_reply_to_master ${epair_gw_reply_to_master_bridge2}a if_br2 + jexec gw_reply_to_master ifconfig pfsync0 \ syncpeer 198.19.20.2 \ syncdev if_pfsync \ @@ -513,12 +510,11 @@ pbr_common_body() alias 198.18.2.20/32 vhid 22 pass 3WjvVVw7 advskew 100 jexec gw_reply_to_backup sysctl net.inet.ip.forwarding=1 jexec gw_reply_to_backup sysctl net.inet.carp.preempt=1 - jexec gw_reply_to_backup ifconfig ${epair_sync_gw_reply_to}b name if_pfsync - sed -i '' -e 's/'${epair_sync_gw_reply_to}'b/if_pfsync/g' created_interfaces.lst - jexec gw_reply_to_backup ifconfig ${epair_gw_reply_to_backup_bridge1}a name if_br1 - sed -i '' -e 's/'${epair_gw_reply_to_backup_bridge1}'a/if_br1/g' created_interfaces.lst - jexec gw_reply_to_backup ifconfig ${epair_gw_reply_to_backup_bridge2}a name if_br2 - sed -i '' -e 's/'${epair_gw_reply_to_backup_bridge2}'a/if_br2/g' created_interfaces.lst + + vnet_ifrename_jail gw_reply_to_backup ${epair_sync_gw_reply_to}b if_pfsync + vnet_ifrename_jail gw_reply_to_backup ${epair_gw_reply_to_backup_bridge1}a if_br1 + vnet_ifrename_jail gw_reply_to_backup ${epair_gw_reply_to_backup_bridge2}a if_br2 + jexec gw_reply_to_backup ifconfig pfsync0 \ syncpeer 198.19.20.1 \ syncdev if_pfsync \ @@ -580,43 +576,12 @@ pbr_common_body() sleep 1 done - # As cleanup is long and may lead to a timeout, - # it's run directly into the body part. - # (as cleanup timeout is not settable) - jail -r \ - client \ - gw_route_to_master \ - gw_route_to_backup \ - gw_reply_to_master \ - gw_reply_to_backup \ - server - for ifname in $(grep -E -e 'if_' -e 'epair.*a' -e 'bridge' created_interfaces.lst) - do - ifconfig $ifname >/dev/null 2>&1 && ifconfig $ifname destroy - done - atf_check -s exit:0 -e ignore -o ignore grep ', 0.0% packet loss' ping.stdout } pbr_common_cleanup() { - for jailname in client gw_route_to_master gw_route_to_backup gw_reply_to_master gw_reply_to_backup server - do - if $(jls | grep -q $jailname); then - jail -r $jailname - else - echo "$jailname already cleaned" - fi - done - for ifname in $(grep -E -e 'if_' -e 'epair.*a' -e 'bridge' created_interfaces.lst) - do - ifconfig $ifname >/dev/null 2>&1 - if [ "$?" -eq "0" ]; then - ifconfig $ifname destroy - else - echo "$ifname already destroyed" - fi - done + pft_cleanup } atf_init_test_cases() From nobody Mon Jan 23 11:36:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0p3K3tRwz3bLTq; Mon, 23 Jan 2023 11:36: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 4P0p3K3Q8Xz4Km3; Mon, 23 Jan 2023 11:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674473805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRBsSTAMku+0rZ60AoiIlw/6kQksOOBk1ruxQiJ3FRs=; b=Jzr2/n72DhHJTxXAmhjYoAsPaBO6cm+sG9aQd13m+F02LQfBmfb565wfD5b4VAZxglPjMX n8o29MmHh7adl8kAnbGJ7Zr7Eu/xnGThIftork3fPksciUqfMrsP+2zPa4/UmP6TsBYuEh w4rV5MAiXZ2+1fU6yFBGrpDqFXbp33iK9+DgSiV3f5/a6YLOfkAoZ4VATC4D+ZYyGneiAg doUiVa9yruRymzwWX1VhGjzJe6Ru4UvWKBYVfRbUJZlCoy0RaP6qoaxa3HaTr6nGPUaO52 e803Y+/9lah/h9c5DnKiS0N6PoByiexCm1LS5OrZPAzu7fTiG7ftAl3rlaimLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674473805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRBsSTAMku+0rZ60AoiIlw/6kQksOOBk1ruxQiJ3FRs=; b=u5GmCHi1qm1FKWKkJICvGrENy0nDOM7p35hizl5l3IPAgrNh9HKJwez5ka+IlF9bub4qAU m0HT43FmxI7Cny/SwWOmtQ6hCBN37KkX+rYo2cXqjVcrbw0UvKp58GsA3bgniIdmyxgZmg x/XrakLRaWZxAEh+0b1TfhSqXt8C2UeYhudkcyEgImkO6p5WUbX6BN0P+c1O3/by94F1S1 h+MdkiUL+EUtCbBtZTRZBzKXm/bgz8UHKNEaBzDPJEsTOirXlIbANn2CjKBaVGUjnVnevs OW2koeNScIIVGtnAa/SjFbakSRY3H69yfFNbzpf6XONZsfi+Vl6Djle6YKt+hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674473805; a=rsa-sha256; cv=none; b=FNeq+KQ0nu6hNzxpxSEAWN9EjGhhF8B8EFxBBybvW5jvgDPT43kV8aJDIFcP0Xnq8nvrEG 6MU/FtDfEydQYmCL/t5QWUolmDUdO/cwxTPNo6pFBTNcxWAmhXaVlxgwlnzeJOoQHMQF+p m84MKa8nXBosw6IFKLjf7e82jr4c/hEO9g3uHT8G3eo4SA3rtsGaHNgSVLdmdvMvSXBcGt 0CAZsHmry4RKK7h/mwbXpNI0mhfmWrdqnit0QBM2ZQOijqdv/4qldveB0zX6ruJm4rrl4/ QQVq2pbJc6qwFguyi9NHUJK/yw44zzxK0NX4+A+JWzNuZt/9nq7dHlsdJ/1sJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0p3K2SpszS9H; Mon, 23 Jan 2023 11:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NBaj5X098513; Mon, 23 Jan 2023 11:36:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NBaj6d098512; Mon, 23 Jan 2023 11:36:45 GMT (envelope-from git) Date: Mon, 23 Jan 2023 11:36:45 GMT Message-Id: <202301231136.30NBaj6d098512@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 13a18f25560d - stable/13 - domains: allow pre-defined domains to be unloaded List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 13a18f25560d98a48ab65f86b2b4653cb3c0a484 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=13a18f25560d98a48ab65f86b2b4653cb3c0a484 commit 13a18f25560d98a48ab65f86b2b4653cb3c0a484 Author: Alexander V. Chernikov AuthorDate: 2022-08-12 13:36:53 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 11:35:54 +0000 domains: allow pre-defined domains to be unloaded Add domain_remove() SYSUNINT callback that removes the domain from the domain list. This change is required to support Netlink. This version is different from HEAD: it uses fixed family check, instead of the DOMF_UNLOADABLE flag. The dom_flag field appeared in HEAD and was not merged back, as there are no spare fields in 'struct domain'. Original commit message: Add domain_remove() SYSUNINT callback that removes the domain from the domain list if it has DOMF_UNLOADABLE flag set. This change is required to support netlink ( D36002 ). Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D36173 (cherry picked from commit 9b967bd65de6647aed68a141dc34f9b223a2593c) --- sys/kern/uipc_domain.c | 23 +++++++++++++++++++++++ sys/sys/domain.h | 3 +++ 2 files changed, 26 insertions(+) diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index 08ad42224848..a0293b9a2745 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -268,6 +268,29 @@ domain_add(void *data) mtx_unlock(&dom_mtx); } +void +domain_remove(void *data) +{ + struct domain *dp = (struct domain *)data; + + if (dp->dom_family != PF_NETLINK) + return; + + mtx_lock(&dom_mtx); + if (domains == dp) { + domains = dp->dom_next; + } else { + struct domain *curr; + for (curr = domains; curr != NULL; curr = curr->dom_next) { + if (curr->dom_next == dp) { + curr->dom_next = dp->dom_next; + break; + } + } + } + mtx_unlock(&dom_mtx); +} + /* ARGSUSED*/ static void domaininit(void *dummy) diff --git a/sys/sys/domain.h b/sys/sys/domain.h index 3d17879f1ccd..8e4ff20b3cf9 100644 --- a/sys/sys/domain.h +++ b/sys/sys/domain.h @@ -74,6 +74,7 @@ struct domain { extern int domain_init_status; extern struct domain *domains; void domain_add(void *); +void domain_remove(void *); void domain_init(void *); #ifdef VIMAGE void vnet_domain_init(void *); @@ -83,6 +84,8 @@ void vnet_domain_uninit(void *); #define DOMAIN_SET(name) \ SYSINIT(domain_add_ ## name, SI_SUB_PROTO_DOMAIN, \ SI_ORDER_FIRST, domain_add, & name ## domain); \ + SYSUNINIT(domain_remove_ ## name, SI_SUB_PROTO_DOMAIN, \ + SI_ORDER_FIRST, domain_remove, & name ## domain); \ SYSINIT(domain_init_ ## name, SI_SUB_PROTO_DOMAIN, \ SI_ORDER_SECOND, domain_init, & name ## domain); #ifdef VIMAGE From nobody Mon Jan 23 11:38:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0p576Ztxz3bLmM; Mon, 23 Jan 2023 11:38:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0p5763zsz4LGb; Mon, 23 Jan 2023 11:38:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674473899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cPI7rHkFKl3LrUsjWdTDcvdfjy9mt8v0GxBcNSD5Vvg=; b=MqircC8M4qQh6P4qe+jAIn7evqPWr6hnewytShOoaCRYbAT3papoeE4qKCRM+bvrWjBr7/ xGMOCestFUkSrjX8B2TvETkvSZLaDkN7CeIzDODduE+3AFRtPunFtNPUrQJvlmcNNIXCox AuuFbtM1QqEzQS8QW1NmNXKSKv4TVNdIZZRYrqJJE74xNBotsUO/oXIqTcTVz50jZ/DrCM S2sF6gVtDyPPi9xZ3TqeyFzOo+YEBbPccHEU9Yh2rSqHkou1oZfnQMT/MoCP+sRehawGLE 9Xck91FJuInJ95oTfDQYOm6U2BS/bCrpRMVFjMpD5+ylPksykolx+oPXQQV83w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674473899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cPI7rHkFKl3LrUsjWdTDcvdfjy9mt8v0GxBcNSD5Vvg=; b=U4f/rbs7LQpxYRwNJEJyvcLxXkZwCVSifU5ufsZHH45jTHiJYbMJPJd4fqJLERTGJZVVWu M1zGquRVDxA2xxn3gTXXCQvGo1AAi6EXuHrHGJmuyU1VRkr/BllaaePcW45BXo8sNxqcGH qnnvLNHGb3QG1GFk8bzNTxRs1L7cUGylXumE34jPb96x29qVCxkah+XvRaQWNd7mfAOE3I ApJocKaCtFEx0uFfOitVkqbxIpDEwa9wZcCvYSINd0CQnjdD/5ov3My8LePxYMzz1GVh7P JzYfH4/A9OmYqn7SWPeOHBMef/XQ164OxBKqB22fM1KEf9M0tgFqXEO3qK/Wng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674473899; a=rsa-sha256; cv=none; b=FJtw6zhqmQHw9H7J0F9JnOp69OfEanNTfvd//a/4NozSUE1QYxBYhllXvtuZvTwYOHHSh0 Ypp5CXAXB/oLEljbeGJ2D9SV2GxnrArC4C+FDUy0QIziILBseh5o9mT/FzJpVevR8q60c6 S4+rCb8iK+E9rmptf1iLUHAoP6yntHjuF3QkcuOmJun4/Jz88Iic+MAKW57FuREfHh0zSj QiQ9XkDXEh+ZiiQtVKcleqCkUJntDVwWXI9hdn3kwOZNORokrxTqvTRkk2JcGjNis2HIc3 wqSxUfoTbtsy3QGxhLvMLGUsha2njn7C3PZs5FNq1EuNZAgY26Fxk9vYZsyWeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0p57577czSLs; Mon, 23 Jan 2023 11:38:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NBcJDx098956; Mon, 23 Jan 2023 11:38:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NBcJ7g098955; Mon, 23 Jan 2023 11:38:19 GMT (envelope-from git) Date: Mon, 23 Jan 2023 11:38:19 GMT Message-Id: <202301231138.30NBcJ7g098955@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: ddd3818317b5 - stable/13 - Revert "tcp: virtualise net.inet.tcp.msl sysctl." List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ddd3818317b5e0519b0d90712e76908828f13b56 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=ddd3818317b5e0519b0d90712e76908828f13b56 commit ddd3818317b5e0519b0d90712e76908828f13b56 Author: Alexander V. Chernikov AuthorDate: 2023-01-23 11:37:58 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 11:37:58 +0000 Revert "tcp: virtualise net.inet.tcp.msl sysctl." This reverts commit 81a72d997e22f37ac15a009090a5a15a6c279900. --- sys/netinet/tcp_subr.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index dfbdf99f21eb..62042df50d18 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1453,8 +1453,6 @@ tcp_init(void) V_tcp_msl = TCPTV_MSL; - V_tcp_msl = TCPTV_MSL; - /* Skip initialization of globals for non-default instances. */ if (!IS_DEFAULT_VNET(curvnet)) return; From nobody Mon Jan 23 11:39:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0p6N0w0jz3bLqB; Mon, 23 Jan 2023 11:39:24 +0000 (UTC) (envelope-from melifaro@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 4P0p6N0LPjz4Lbg; Mon, 23 Jan 2023 11:39:24 +0000 (UTC) (envelope-from melifaro@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674473964; 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=ByDkgT/6q4MJHdXNgecmj1WJffuTEbdGQSizyCyM41I=; b=G2c+pImgRjJoV56kL7jM5Byi4mwp/SKJ/4gSkz30KMvihscSKBJAZHsosgvQAp8EKAiK0Z QE9WF+ySJbcdO/wM4osKLOiyswQ7accoSgs/kfqNAgdWOWTjFVkaVCkuXxVgAE0ImHoTMI G+BHVKODelHQV9vryxqK0c62mBlBc1OPzvMmuAcQxiwR+kumdoD3PDUZFq8VJhMUHSoy0m Kl0q4QyCzcEKI9IX2wdDPsYxe0WEKQEhCWghE0U303MgHfoPL4ZyXXl6PnRAvZVCMwu/7/ DNwvIDTdVOL8BGv2kqvwAAsIfM+qDGIzAraUVsJ7w541mn2f97658s1SWxZESA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674473964; 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=ByDkgT/6q4MJHdXNgecmj1WJffuTEbdGQSizyCyM41I=; b=YNEWaihRJi4mhUNGkYF8yOtM75xKXWr3NiZP4/epfeZUXIAeJJTCOiglQK5AJAIUiZ77Hy m4qo8xKXb67QyS6neiWlLqaeIIGghfxBYIupoGVmyFENDt5QJUXceOq44y2sp8eC7v3ItO F5YwV0g8JIG3LYDWQ5ilOHfBmkkzU8LRX021v7Wt6EVm7HYfGidvNCr1yUareJ10Lxw46U O2UKOugNnfDhmd8Gn/N/n8/UmJzN4ldawVRAViL1yaitPzX3wrlFXX9ZSCSz5n5pbivijL UvT9wq4u8t69tZC/kXFeY3U5Jtb7lQMGa4yewPN7hrnLpX/94p4VLGsgOXhijQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674473964; a=rsa-sha256; cv=none; b=NzvcIyNyj5w9w6mSIk7KsVyxBdeDex1SPCiUwfINYUTxZdr4Nu7aKrbVRWmjH3f/yZ5PbG /Oq0EjNGBuUOarYnj0aYQNdKpVoWtLCcVMgBTsSKaNyKh7UNl2yxi7oy1+5UXSGHdm/YMZ ybp8dKRTg3hUEuQDhzDfPCC/UT8xidcE4u4nVNHJlm7Fqj87h9r9OOu7vq0JVcLAmyEJdw qhDTTbkvdtitDHcVuz+hTTT4jVIKy0FjX1m1ayeZNzA0bLsuB/s03bVqAIxdvr+9tm1jf5 qVq5ba1x6G6dBx9D6F3luafqX6Cu1BsLBa15kTY8/UZkwEmvlwX4kIY1B0650w== Received: from smtpclient.apple (unknown [IPv6:2a02:8084:d6bb:510:cd14:7903:54e6:8067]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: melifaro/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P0p6M2qNbzFW9; Mon, 23 Jan 2023 11:39:23 +0000 (UTC) (envelope-from melifaro@freebsd.org) Content-Type: text/plain; charset=us-ascii List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\)) Subject: Re: git: 81a72d997e22 - stable/13 - tcp: virtualise net.inet.tcp.msl sysctl. From: Alexander Chernikov In-Reply-To: <20230122110719.56ab1f60@ralga-linux> Date: Mon, 23 Jan 2023 11:39:11 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202301132124.30DLOrE7040954@gitrepo.freebsd.org> <20230122110719.56ab1f60@ralga-linux> To: Justin Hibbits X-Mailer: Apple Mail (2.3731.200.110.1.12) X-ThisMailContainsUnwantedMimeParts: N > On 22 Jan 2023, at 16:07, Justin Hibbits wrote: >=20 > On Fri, 13 Jan 2023 21:24:53 GMT > "Alexander V. Chernikov" wrote: >=20 >> The branch stable/13 has been updated by melifaro: >>=20 >> URL: >> = https://cgit.FreeBSD.org/src/commit/?id=3D81a72d997e22f37ac15a009090a5a15a= 6c279900 >>=20 >> commit 81a72d997e22f37ac15a009090a5a15a6c279900 >> Author: Alexander V. Chernikov >> AuthorDate: 2021-12-04 22:02:44 +0000 >> Commit: Alexander V. Chernikov >> CommitDate: 2023-01-13 21:18:26 +0000 >>=20 >> tcp: virtualise net.inet.tcp.msl sysctl. >>=20 >> VNET teardown waits 2*MSL (60 seconds by default) before expiring >> tcp PCBs. These PCBs holds references to nexthops, which, in >> turn, reference ifnets. This chain results in VNET interfaces being >> destroyed and moved to default VNET only after 60 seconds. >> Allow tcp_msl to be set in jail by virtualising net.inet.tcp.msl >> sysctl, permitting more predictable VNET tests outcomes. >>=20 >> MFC after: 1 week >> Reviewed by: glebius >> Differential Revision: https://reviews.freebsd.org/D33270 >>=20 >> (cherry picked from commit >> c2c8e360d8c0b8712158d334686d88f052aef819) --- >> sys/netinet/tcp_subr.c | 2 ++ >> 1 file changed, 2 insertions(+) >>=20 >> diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c >> index 62042df50d18..dfbdf99f21eb 100644 >> --- a/sys/netinet/tcp_subr.c >> +++ b/sys/netinet/tcp_subr.c >> @@ -1453,6 +1453,8 @@ tcp_init(void) >>=20 >> V_tcp_msl =3D TCPTV_MSL; >>=20 >> + V_tcp_msl =3D TCPTV_MSL; >> + >> /* Skip initialization of globals for non-default instances. >> */ if (!IS_DEFAULT_VNET(curvnet)) >> return; >=20 > This looks like it was already MFC'd to stable/13 back in March last > year as 057793e6377. Indeed. Reverted. Thanks for catching it! >=20 > - Justin From nobody Mon Jan 23 12:37:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPJ1tK8z3bStj; Mon, 23 Jan 2023 12:37: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 4P0qPJ1MBLz4QTg; Mon, 23 Jan 2023 12:37:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rPBRkXOlTI+BztxLDL7YXfS7w8IeSa0OoiFscirxrf4=; b=Jc8E02uCLFVTJTGj93Fx0xPWVKVZShX4gh5EdZt3/LsIHKRXt8TfCrhkNL4EWExUsrS9eo Y5lzByj/a71GDDVfDY9q2+j1L0SAALoakgNy7LBGY3+yXaZZGuyry100BUCcf+MsiSRW1u aIeqa5/XJY8TXEntNmZDdhflbThbufB5kz8S3c4Wj6WUuG5o8zQ51FulMMR8o3ZHDY1uwD Rrw440Cp2YUVTjJPNOjDtR0N+D2SrXofzGclrUQz2moCP2PB54AlefsWPJu0rL2PEBQro6 wdFsSByj6YCbLRLzdch70rvytATncCzhHNuSPLyZFTeqcjdoV+WKrg8CWHUeqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rPBRkXOlTI+BztxLDL7YXfS7w8IeSa0OoiFscirxrf4=; b=M9GssVv/A7HEV1+NL0+ltt4MRAf+JSX9kUUU3fraVD6oN6207dSYUBrUGXblLMKOz0eNAs VAriZ6VyOz1nM7c6GPDmc+L8TVxcqcCcmDhr3PD5eMcvXQPHF1P2aBz2MSGm+oixLVJgfO COl5iOuyOV/46hYJdycdlz8ig5LxjwSH9gHLXba3vkeG5Q3X8MDKAnszlb9NUWyyJ1dCEL w/0t36bYBOznGGXB8zzs9sAHtmRdyPLT8SAHRFqB6JLxy7iOCPr+16DDeD7po1P7xEDczd 28qOw8iQx1Ezby+iMgB3SbkiBdMDNPPNpZtIMv/VncDszT47B6SKx+h/+Nf1BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477444; a=rsa-sha256; cv=none; b=pJXnZ3066S0tbUK0skXh1R9c01Rb69WJP721p9hIPhCGhs6jLuWS38wWmAiyHlDQ0jXk24 eg7Lb8IKkcLyOHLv5srPJVNvQV6Sq4qHdzHVX6Hq74igt9MiaJVzL/cWGinsx9Stzr+clo LZ7tdVYEfrzz9goGv0CT5aiVHpBcvWFnvReVNkUbKVrZH8SWM/g5cPCqECkrw93kNWsGcz SiO0DWjKroE58Vdob+nlHe+K+WJGEwFCcLPFa9VzWqZPI0um/Homld69x1BWV+xharg32L UAeg5lTi1R/lpPDmaASLOTLOcJEIPcbtWVMrnNJBrjMJOU9JaVfAzBO5EQ3Zow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPJ05TmzV3Y; Mon, 23 Jan 2023 12:37:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbNhf085031; Mon, 23 Jan 2023 12:37:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbNRR085030; Mon, 23 Jan 2023 12:37:23 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:23 GMT Message-Id: <202301231237.30NCbNRR085030@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: ef2dd0213cb7 - stable/13 - Add bus_get_resource_list functions to the GICv3 driver List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ef2dd0213cb7b4fc4832f157db2403a469c4baa2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ef2dd0213cb7b4fc4832f157db2403a469c4baa2 commit ef2dd0213cb7b4fc4832f157db2403a469c4baa2 Author: Andrew Turner AuthorDate: 2022-09-22 10:17:45 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Add bus_get_resource_list functions to the GICv3 driver This will be used to reduce code duplication between the ACPI and FDT attachments. Sponsored by: The FreeBSD Foundation (cherry picked from commit 6fc6896c474483b3cf34b83fb85f8e9f8cabc8a1) --- sys/arm64/arm64/gic_v3_acpi.c | 20 +++++++++++++++++--- sys/arm64/arm64/gic_v3_fdt.c | 31 ++++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c index 6a090baffacf..9aaf9a783868 100644 --- a/sys/arm64/arm64/gic_v3_acpi.c +++ b/sys/arm64/arm64/gic_v3_acpi.c @@ -57,6 +57,7 @@ static device_identify_t gic_v3_acpi_identify; static device_probe_t gic_v3_acpi_probe; static device_attach_t gic_v3_acpi_attach; static bus_alloc_resource_t gic_v3_acpi_bus_alloc_res; +static bus_get_resource_list_t gic_v3_acpi_get_resource_list; static void gic_v3_acpi_bus_attach(device_t); @@ -69,6 +70,7 @@ static device_method_t gic_v3_acpi_methods[] = { /* Bus interface */ DEVMETHOD(bus_alloc_resource, gic_v3_acpi_bus_alloc_res), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_get_resource_list, gic_v3_acpi_get_resource_list), /* End */ DEVMETHOD_END @@ -417,19 +419,20 @@ static struct resource * gic_v3_acpi_bus_alloc_res(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { - struct gic_v3_acpi_devinfo *di; struct resource_list_entry *rle; + struct resource_list *rl; /* We only allocate memory */ if (type != SYS_RES_MEMORY) return (NULL); if (RMAN_IS_DEFAULT_RANGE(start, end)) { - if ((di = device_get_ivars(child)) == NULL) + rl = BUS_GET_RESOURCE_LIST(bus, child); + if (rl == NULL) return (NULL); /* Find defaults for this rid */ - rle = resource_list_find(&di->di_rl, type, *rid); + rle = resource_list_find(rl, type, *rid); if (rle == NULL) return (NULL); @@ -441,3 +444,14 @@ gic_v3_acpi_bus_alloc_res(device_t bus, device_t child, int type, int *rid, return (bus_generic_alloc_resource(bus, child, type, rid, start, end, count, flags)); } + +static struct resource_list * +gic_v3_acpi_get_resource_list(device_t bus, device_t child) +{ + struct gic_v3_acpi_devinfo *di; + + di = device_get_ivars(child); + KASSERT(di != NULL, ("%s: No devinfo", __func__)); + + return (&di->di_rl); +} diff --git a/sys/arm64/arm64/gic_v3_fdt.c b/sys/arm64/arm64/gic_v3_fdt.c index 6aa8018de56e..16539b50fd09 100644 --- a/sys/arm64/arm64/gic_v3_fdt.c +++ b/sys/arm64/arm64/gic_v3_fdt.c @@ -58,6 +58,7 @@ static int gic_v3_fdt_print_child(device_t, device_t); static struct resource *gic_v3_ofw_bus_alloc_res(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); static const struct ofw_bus_devinfo *gic_v3_ofw_get_devinfo(device_t, device_t); +static bus_get_resource_list_t gic_v3_fdt_get_resource_list; static device_method_t gic_v3_fdt_methods[] = { /* Device interface */ @@ -68,6 +69,7 @@ static device_method_t gic_v3_fdt_methods[] = { DEVMETHOD(bus_print_child, gic_v3_fdt_print_child), DEVMETHOD(bus_alloc_resource, gic_v3_ofw_bus_alloc_res), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_get_resource_list, gic_v3_fdt_get_resource_list), /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_devinfo, gic_v3_ofw_get_devinfo), @@ -213,10 +215,11 @@ struct gic_v3_ofw_devinfo { static int gic_v3_fdt_print_child(device_t bus, device_t child) { - struct gic_v3_ofw_devinfo *di = device_get_ivars(child); - struct resource_list *rl = &di->di_rl; + struct resource_list *rl; int retval = 0; + rl = BUS_GET_RESOURCE_LIST(bus, child); + KASSERT(rl != NULL, ("%s: No resource list", __func__)); retval += bus_print_child_header(bus, child); retval += resource_list_print_type(rl, "mem", SYS_RES_MEMORY, "%#jx"); retval += bus_print_child_footer(bus, child); @@ -237,18 +240,21 @@ static struct resource * gic_v3_ofw_bus_alloc_res(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { - struct gic_v3_ofw_devinfo *di; struct resource_list_entry *rle; + struct resource_list *rl; int ranges_len; + /* We only allocate memory */ + if (type != SYS_RES_MEMORY) + return (NULL); + if (RMAN_IS_DEFAULT_RANGE(start, end)) { - if ((di = device_get_ivars(child)) == NULL) - return (NULL); - if (type != SYS_RES_MEMORY) + rl = BUS_GET_RESOURCE_LIST(bus, child); + if (rl == NULL) return (NULL); /* Find defaults for this rid */ - rle = resource_list_find(&di->di_rl, type, *rid); + rle = resource_list_find(rl, type, *rid); if (rle == NULL) return (NULL); @@ -356,3 +362,14 @@ gic_v3_ofw_bus_attach(device_t dev) return (bus_generic_attach(dev)); } + +static struct resource_list * +gic_v3_fdt_get_resource_list(device_t bus, device_t child) +{ + struct gic_v3_ofw_devinfo *di; + + di = device_get_ivars(child); + KASSERT(di != NULL, ("%s: No devinfo", __func__)); + + return (&di->di_rl); +} From nobody Mon Jan 23 12:37:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPK2rtqz3bSgl; Mon, 23 Jan 2023 12:37: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 4P0qPK1z9hz4QZV; Mon, 23 Jan 2023 12:37:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/++KSXKDyEpJd2yX5maFO9a+PXgaangBUx/ffkMQRj4=; b=dbYP/Nx77zmctU3EjYFQHkAn2Kc98JfLR2jh9JV9w6qRceMd4Ftu0kYyFlY23JSUeCBrvs eZuji+xQx8UiRJK977Who2H5+dlwPOcVhtgVuAMoJNzJMJe666qCy39Eal7sPBAzOp6Pt3 JZtrlmE4U9kKsKA6koC7NNk+ZOgxZF3NAKwcnQTxlJR/A0016dJhZyXcRqlBBIUwZ7Dz75 hv/knlzOLEDfnK7dEezwR0lFkVpVp2GENK0WXvmdP3pZOgagLeUkbVpmWAhlts3ICw9Pi2 1HwTWklhiuoA+3GKuzspQGWXUEsq7QYUXkkvnO7vnzxd4mKDB2TsS8dCkJco+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/++KSXKDyEpJd2yX5maFO9a+PXgaangBUx/ffkMQRj4=; b=s6uN8LHSZ4dcA+3CqUr89aYTa9cCcy+LHUXODSQWYGavqCixntO9EvoEe8XpP8CsCto10l xhJM5e/nfBPksqbHHpxr3n4H8E1ohRnmLBngXmZucnBj9hC6hSBkC8gQfCs5tuX93yuxk7 nD6bvqNi2+D4WFEWH84OQEPvRAhRVbDng0xP+JBEE2IH79i3vI7yf//nK/kCZh3Ms7ucvA XqBjH2vVLhlD/eUIPrBXst9Kl+7MlUxQDQDo2+MF5l1i1T84BCIgfF2d9UXNALabTxYOMQ w/Jg8lR9KF9X7Nzv8yLIeOoyy+PPJXmRY7nXBW4Mzcub69Ryj6d6lA2U8Obqtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477445; a=rsa-sha256; cv=none; b=TkEPKfG6tkXWkwNBTrFwMK71GxdmF34W2gSbEFVOGJ9KbVvgCzZLNwMl36l+aKI8bTfnLB OaKXn8rnrM+tUWDyt0D3no7c9ikIup4enSMncv6ekfVUHFA9BxqNJdW1PKIfxIoN9/KTPR M2S2rXYZSJ3Nyare1guJcgLlsx0BbPUyyshT0Rtx9fDHiREEHGF/43fo4796scHAQWPspd TMtop/3GSqb2DJbyCqR7Uf1Qy3PuAHKeohiXYk+/lALWYw4+dKhPkPnVuBO+YhdiRp0jXI gsgyyumdhT7CGHhf2X16WFFGG/k1/haVHErSyGNsesUjhGcvs0dHYdiJa69aeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPK11p5zVB3; Mon, 23 Jan 2023 12:37:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbP9m085058; Mon, 23 Jan 2023 12:37:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbPv5085057; Mon, 23 Jan 2023 12:37:25 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:25 GMT Message-Id: <202301231237.30NCbPv5085057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: e5e323b58796 - stable/13 - Move the GICv3 bus_print_child function to the parent List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e5e323b587968e6f490f03e3f42a0795205d99b1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e5e323b587968e6f490f03e3f42a0795205d99b1 commit e5e323b587968e6f490f03e3f42a0795205d99b1 Author: Andrew Turner AuthorDate: 2022-09-22 10:50:15 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Move the GICv3 bus_print_child function to the parent This should be common for both ACPI and FDT. Move this to the common part of the driver. Sponsored by: The FreeBSD Foundation (cherry picked from commit bdc9ece97b80c3a8b8c9161d95ef908172eb316a) --- sys/arm64/arm64/gic_v3.c | 17 +++++++++++++++++ sys/arm64/arm64/gic_v3_fdt.c | 17 ----------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c index 3e7cd30140eb..9a65bdd9d585 100644 --- a/sys/arm64/arm64/gic_v3.c +++ b/sys/arm64/arm64/gic_v3.c @@ -76,6 +76,7 @@ __FBSDID("$FreeBSD$"); #include "gic_v3_reg.h" #include "gic_v3_var.h" +static bus_print_child_t gic_v3_print_child; static bus_get_domain_t gic_v3_get_domain; static bus_read_ivar_t gic_v3_read_ivar; @@ -111,6 +112,7 @@ static device_method_t gic_v3_methods[] = { DEVMETHOD(device_detach, gic_v3_detach), /* Bus interface */ + DEVMETHOD(bus_print_child, gic_v3_print_child), DEVMETHOD(bus_get_domain, gic_v3_get_domain), DEVMETHOD(bus_read_ivar, gic_v3_read_ivar), @@ -401,6 +403,21 @@ gic_v3_detach(device_t dev) return (0); } +static int +gic_v3_print_child(device_t bus, device_t child) +{ + struct resource_list *rl; + int retval = 0; + + rl = BUS_GET_RESOURCE_LIST(bus, child); + KASSERT(rl != NULL, ("%s: No resource list", __func__)); + retval += bus_print_child_header(bus, child); + retval += resource_list_print_type(rl, "mem", SYS_RES_MEMORY, "%#jx"); + retval += bus_print_child_footer(bus, child); + + return (retval); +} + static int gic_v3_get_domain(device_t dev, device_t child, int *domain) { diff --git a/sys/arm64/arm64/gic_v3_fdt.c b/sys/arm64/arm64/gic_v3_fdt.c index 16539b50fd09..07272c3ebd42 100644 --- a/sys/arm64/arm64/gic_v3_fdt.c +++ b/sys/arm64/arm64/gic_v3_fdt.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); */ static int gic_v3_fdt_probe(device_t); static int gic_v3_fdt_attach(device_t); -static int gic_v3_fdt_print_child(device_t, device_t); static struct resource *gic_v3_ofw_bus_alloc_res(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); @@ -66,7 +65,6 @@ static device_method_t gic_v3_fdt_methods[] = { DEVMETHOD(device_attach, gic_v3_fdt_attach), /* Bus interface */ - DEVMETHOD(bus_print_child, gic_v3_fdt_print_child), DEVMETHOD(bus_alloc_resource, gic_v3_ofw_bus_alloc_res), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_get_resource_list, gic_v3_fdt_get_resource_list), @@ -212,21 +210,6 @@ struct gic_v3_ofw_devinfo { struct resource_list di_rl; }; -static int -gic_v3_fdt_print_child(device_t bus, device_t child) -{ - struct resource_list *rl; - int retval = 0; - - rl = BUS_GET_RESOURCE_LIST(bus, child); - KASSERT(rl != NULL, ("%s: No resource list", __func__)); - retval += bus_print_child_header(bus, child); - retval += resource_list_print_type(rl, "mem", SYS_RES_MEMORY, "%#jx"); - retval += bus_print_child_footer(bus, child); - - return (retval); -} - static const struct ofw_bus_devinfo * gic_v3_ofw_get_devinfo(device_t bus __unused, device_t child) { From nobody Mon Jan 23 12:37:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPL3zzqz3bSsk; Mon, 23 Jan 2023 12:37: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 4P0qPL2dqkz4Qgf; Mon, 23 Jan 2023 12:37:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2us/cHut5DdgQfb8ylhdfoxd3AvAwE3380dA4B/jrA=; b=XT878fyGwk/sCRIz+Md2Spw1LOwUbsYZw0c51rKtvhRNfH59VAe34FclURR918I66Q0q8p uLITRyyph1WFlkqKK4fNJmQejaJ2Hha8VIcSKJs5eEUSjfasq150mXs8F/WGKantIvSyfq bPL3mS1bIieWJr56q4T7wI4qWOq4E2iQRkHiEBwc7mwft6Ro3nneNRY8/7mSNFI5vwGS5W Z4N17FVrbER+hlpbcIeoZCfxtg4SlozolWwtrYctVBfxQ0nrC0vSHfeRiPF2gYFztLOn7T +9+lUXdJaofUd7R/1HBWPqtfWBbZYURy1UMTQGYtvNABvWURt3LYx3lDp+rsqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2us/cHut5DdgQfb8ylhdfoxd3AvAwE3380dA4B/jrA=; b=uwuDO9ij7p2AroTt0YHQg6hM8V307z1Xl0CKgXYI1hT2bKjW05OpK570Y8lJ8aClY4MwHw mv9a8HxMTyy6f1FRrCeZTFPJyk+wHydYkmwEHzVXYczknoquKsXAQKjd8PsW/fparhgQ2/ 1MvmJPgtncMXTSCVipiIEVUjH3L4LRhN+K3A7+/y6vFncaKeZzbvSv6sG4QEHKw/kzVkPt YjWLs+0a7qRX7c3VIgwrk+NhdRTkoWL19HlMum4EQvToL0WKf4VEwyNKg6kiw98a9x/SSI s+8+a+3iBMPy83IfJHezG571Nv5j+ZjM1dOMJbJ9gKG/v/BwPetx36iY0yQ0Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477446; a=rsa-sha256; cv=none; b=XE8uOGf2rpqiI6dwRj6QfCSPEKkgexsku1q23fsBU/5K+fvJlJ4t94/4ZoqNQ0jUfbGJq8 0DesHfE0y/3MN1QjCt7xmsf2B4W6nIYCTSjqz4MDYa/WXJPhfETyPt6zhPHQTmCXAnePKZ ZnmQoKoJ/A7n7Un07jofVs028VfAQM4fvTScsKilzkfsEdCquGpAohhGf+RjyjS7isnT1O TGi6vpq1XpXXkW92mfg5r/9gxHWGteY4mC0r38RA1Tz8BNUw4a4mSl0UqUkBsU1UnDUwoo bfNLHnRpB0sAewTiYzLSOXkj9IlIS55S34hK9iYB/bpMISPb4ZtGaB7JBfgnDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPL1gfTzTHH; Mon, 23 Jan 2023 12:37:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbQRe085082; Mon, 23 Jan 2023 12:37:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbQgh085081; Mon, 23 Jan 2023 12:37:26 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:26 GMT Message-Id: <202301231237.30NCbQgh085081@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: b3a94d46752d - stable/13 - Reduce the arm64 ID registers we print List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b3a94d46752d23ca75f698dce01bbb4ac33f43c8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b3a94d46752d23ca75f698dce01bbb4ac33f43c8 commit b3a94d46752d23ca75f698dce01bbb4ac33f43c8 Author: Andrew Turner AuthorDate: 2022-07-19 08:47:23 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Reduce the arm64 ID registers we print On systems with different CPUs we may print all the ID registers for all CPUs. Reduce this to just print them when they change from the previous CPU. Sponsored by: The FreeBSD Foundation (cherry picked from commit a42206a7ca773fafad396cd89f77f3a369a75a17) --- sys/arm64/arm64/identcpu.c | 117 +++++++++++---------------------------------- 1 file changed, 27 insertions(+), 90 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 827dbbaa64a3..50e5fc59b279 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -148,26 +148,6 @@ struct cpu_desc { static struct cpu_desc cpu_desc[MAXCPU]; static struct cpu_desc kern_cpu_desc; static struct cpu_desc user_cpu_desc; -static u_int cpu_print_regs; -#define PRINT_ID_AA64_AFR0 0x00000001 -#define PRINT_ID_AA64_AFR1 0x00000002 -#define PRINT_ID_AA64_DFR0 0x00000010 -#define PRINT_ID_AA64_DFR1 0x00000020 -#define PRINT_ID_AA64_ISAR0 0x00000100 -#define PRINT_ID_AA64_ISAR1 0x00000200 -#define PRINT_ID_AA64_ISAR2 0x00000400 -#define PRINT_ID_AA64_MMFR0 0x00001000 -#define PRINT_ID_AA64_MMFR1 0x00002000 -#define PRINT_ID_AA64_MMFR2 0x00004000 -#define PRINT_ID_AA64_PFR0 0x00010000 -#define PRINT_ID_AA64_PFR1 0x00020000 -#define PRINT_ID_AA64_ZFR0 0x00100000 -#ifdef COMPAT_FREEBSD32 -#define PRINT_ID_ISAR5 0x01000000 -#define PRINT_MVFR0 0x02000000 -#define PRINT_MVFR1 0x04000000 -#endif -#define PRINT_CTR_EL0 0x10000000 struct cpu_parts { u_int part_id; @@ -2208,91 +2188,97 @@ print_cpu_features(u_int cpu) "hardware bugs that may cause the incorrect operation of " "atomic operations.\n"); +#define SHOULD_PRINT_REG(_reg) \ + (cpu == 0 || cpu_desc[cpu]._reg != cpu_desc[cpu - 1]._reg) + /* Cache Type Register */ - if (cpu == 0 || (cpu_print_regs & PRINT_CTR_EL0) != 0) { + if (SHOULD_PRINT_REG(ctr)) { print_register(sb, "Cache Type", cpu_desc[cpu].ctr, print_ctr_fields, NULL); } /* AArch64 Instruction Set Attribute Register 0 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_ISAR0) != 0) + if (SHOULD_PRINT_REG(id_aa64isar0)) print_id_register(sb, "Instruction Set Attributes 0", cpu_desc[cpu].id_aa64isar0, id_aa64isar0_fields); /* AArch64 Instruction Set Attribute Register 1 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_ISAR1) != 0) + if (SHOULD_PRINT_REG(id_aa64isar1)) print_id_register(sb, "Instruction Set Attributes 1", cpu_desc[cpu].id_aa64isar1, id_aa64isar1_fields); /* AArch64 Instruction Set Attribute Register 2 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_ISAR2) != 0) + if (SHOULD_PRINT_REG(id_aa64isar2)) print_id_register(sb, "Instruction Set Attributes 2", cpu_desc[cpu].id_aa64isar2, id_aa64isar2_fields); /* AArch64 Processor Feature Register 0 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_PFR0) != 0) + if (SHOULD_PRINT_REG(id_aa64pfr0)) print_id_register(sb, "Processor Features 0", cpu_desc[cpu].id_aa64pfr0, id_aa64pfr0_fields); /* AArch64 Processor Feature Register 1 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_PFR1) != 0) + if (SHOULD_PRINT_REG(id_aa64pfr1)) print_id_register(sb, "Processor Features 1", cpu_desc[cpu].id_aa64pfr1, id_aa64pfr1_fields); /* AArch64 Memory Model Feature Register 0 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_MMFR0) != 0) + if (SHOULD_PRINT_REG(id_aa64mmfr0)) print_id_register(sb, "Memory Model Features 0", cpu_desc[cpu].id_aa64mmfr0, id_aa64mmfr0_fields); /* AArch64 Memory Model Feature Register 1 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_MMFR1) != 0) + if (SHOULD_PRINT_REG(id_aa64mmfr1)) print_id_register(sb, "Memory Model Features 1", cpu_desc[cpu].id_aa64mmfr1, id_aa64mmfr1_fields); /* AArch64 Memory Model Feature Register 2 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_MMFR2) != 0) + if (SHOULD_PRINT_REG(id_aa64mmfr2)) print_id_register(sb, "Memory Model Features 2", cpu_desc[cpu].id_aa64mmfr2, id_aa64mmfr2_fields); /* AArch64 Debug Feature Register 0 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_DFR0) != 0) + if (SHOULD_PRINT_REG(id_aa64dfr0)) print_id_register(sb, "Debug Features 0", cpu_desc[cpu].id_aa64dfr0, id_aa64dfr0_fields); /* AArch64 Memory Model Feature Register 1 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_DFR1) != 0) + if (SHOULD_PRINT_REG(id_aa64dfr1)) print_id_register(sb, "Debug Features 1", cpu_desc[cpu].id_aa64dfr1, id_aa64dfr1_fields); /* AArch64 Auxiliary Feature Register 0 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_AFR0) != 0) + if (SHOULD_PRINT_REG(id_aa64afr0)) print_id_register(sb, "Auxiliary Features 0", cpu_desc[cpu].id_aa64afr0, id_aa64afr0_fields); /* AArch64 Auxiliary Feature Register 1 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_AFR1) != 0) + if (SHOULD_PRINT_REG(id_aa64afr1)) print_id_register(sb, "Auxiliary Features 1", cpu_desc[cpu].id_aa64afr1, id_aa64afr1_fields); /* AArch64 SVE Feature Register 0 */ - /* We check the cpu == 0 case when setting PRINT_ID_AA64_ZFR0 */ - if ((cpu_print_regs & PRINT_ID_AA64_ZFR0) != 0) - print_id_register(sb, "SVE Features 0", - cpu_desc[cpu].id_aa64zfr0, id_aa64zfr0_fields); + if (cpu_desc[cpu].have_sve) { + if (SHOULD_PRINT_REG(id_aa64zfr0) || + !cpu_desc[cpu - 1].have_sve) { + print_id_register(sb, "SVE Features 0", + cpu_desc[cpu].id_aa64zfr0, id_aa64zfr0_fields); + } + } #ifdef COMPAT_FREEBSD32 /* AArch32 Instruction Set Attribute Register 5 */ - if (cpu == 0 || (cpu_print_regs & PRINT_ID_ISAR5) != 0) + if (SHOULD_PRINT_REG(id_isar5)) print_id_register(sb, "AArch32 Instruction Set Attributes 5", cpu_desc[cpu].id_isar5, id_isar5_fields); /* AArch32 Media and VFP Feature Register 0 */ - if (cpu == 0 || (cpu_print_regs & PRINT_MVFR0) != 0) + if (SHOULD_PRINT_REG(mvfr0)) print_id_register(sb, "AArch32 Media and VFP Features 0", cpu_desc[cpu].mvfr0, mvfr0_fields); /* AArch32 Media and VFP Feature Register 1 */ - if (cpu == 0 || (cpu_print_regs & PRINT_MVFR1) != 0) + if (SHOULD_PRINT_REG(mvfr1)) print_id_register(sb, "AArch32 Media and VFP Features 1", cpu_desc[cpu].mvfr1, mvfr1_fields); #endif @@ -2301,6 +2287,7 @@ print_cpu_features(u_int cpu) sbuf_delete(sb); sb = NULL; +#undef SHOULD_PRINT_REG #undef SEP_STR } @@ -2431,61 +2418,11 @@ check_cpu_regs(u_int cpu) break; } - if (cpu_desc[cpu].id_aa64afr0 != cpu_desc[0].id_aa64afr0) - cpu_print_regs |= PRINT_ID_AA64_AFR0; - if (cpu_desc[cpu].id_aa64afr1 != cpu_desc[0].id_aa64afr1) - cpu_print_regs |= PRINT_ID_AA64_AFR1; - - if (cpu_desc[cpu].id_aa64dfr0 != cpu_desc[0].id_aa64dfr0) - cpu_print_regs |= PRINT_ID_AA64_DFR0; - if (cpu_desc[cpu].id_aa64dfr1 != cpu_desc[0].id_aa64dfr1) - cpu_print_regs |= PRINT_ID_AA64_DFR1; - - if (cpu_desc[cpu].id_aa64isar0 != cpu_desc[0].id_aa64isar0) - cpu_print_regs |= PRINT_ID_AA64_ISAR0; - if (cpu_desc[cpu].id_aa64isar1 != cpu_desc[0].id_aa64isar1) - cpu_print_regs |= PRINT_ID_AA64_ISAR1; - if (cpu_desc[cpu].id_aa64isar2 != cpu_desc[0].id_aa64isar2) - cpu_print_regs |= PRINT_ID_AA64_ISAR2; - - if (cpu_desc[cpu].id_aa64mmfr0 != cpu_desc[0].id_aa64mmfr0) - cpu_print_regs |= PRINT_ID_AA64_MMFR0; - if (cpu_desc[cpu].id_aa64mmfr1 != cpu_desc[0].id_aa64mmfr1) - cpu_print_regs |= PRINT_ID_AA64_MMFR1; - if (cpu_desc[cpu].id_aa64mmfr2 != cpu_desc[0].id_aa64mmfr2) - cpu_print_regs |= PRINT_ID_AA64_MMFR2; - - if (cpu_desc[cpu].id_aa64pfr0 != cpu_desc[0].id_aa64pfr0) - cpu_print_regs |= PRINT_ID_AA64_PFR0; - if (cpu_desc[cpu].id_aa64pfr1 != cpu_desc[0].id_aa64pfr1) - cpu_print_regs |= PRINT_ID_AA64_PFR1; - - /* Only print if ID_AA64ZFR0_EL1 is valid */ - if (cpu_desc[cpu].have_sve) { - /* Print if the value changed */ - if (cpu_desc[cpu].id_aa64zfr0 != cpu_desc[0].id_aa64zfr0) { - cpu_print_regs |= PRINT_ID_AA64_ZFR0; - /* Print if it didn't, but the previous CPU was invalid */ - } else if (cpu > 0 && !cpu_desc[cpu - 1].have_sve) { - cpu_print_regs |= PRINT_ID_AA64_ZFR0; - } - } - if (cpu_desc[cpu].ctr != cpu_desc[0].ctr) { /* * If the cache type register is different we may * have a different l1 cache type. */ identify_cache(cpu_desc[cpu].ctr); - cpu_print_regs |= PRINT_CTR_EL0; } - -#ifdef COMPAT_FREEBSD32 - if (cpu_desc[cpu].id_isar5 != cpu_desc[0].id_isar5) - cpu_print_regs |= PRINT_ID_ISAR5; - if (cpu_desc[cpu].mvfr0 != cpu_desc[0].mvfr0) - cpu_print_regs |= PRINT_MVFR0; - if (cpu_desc[cpu].mvfr1 != cpu_desc[0].mvfr1) - cpu_print_regs |= PRINT_MVFR1; -#endif } From nobody Mon Jan 23 12:37:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPM6dvCz3bSmt; Mon, 23 Jan 2023 12:37: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 4P0qPM3nxcz3Brm; Mon, 23 Jan 2023 12:37:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fr6mM00/SxRTegqvi9tBaP9Xhxl/h9p3IBaUHCM2/PE=; b=Ud5gu1s2XeOJ5VFF3tFEet8d4ZPg+F7SNdPMPwrZxn4+hdYx/UdhOXmoq936iXcM4vKO7h 3ONtyicwJtvt1rUB4WTNMZCnUrjVtZi7MJszLX1YuQgAjCbqSO43oNdkUh2vkcWMAazX8j fknGKDyQMSQOcB6Tt9ZzWKWUPVgxdR/01qMs3C/n5j7dA3vz/j3YoAVbxEk3NWKKVTLWLk LgxFnIfvf5j6vRRmvWxFfx8smwlqVB410i35HRbnaoqwFg9nYwrqiGGv1Q55DGLnqj86hT 9HzA/QlNUkx8sBXLfEkSF/8UzqDB8pmzGGQCWqnjGufwSD9nxGBnypFU1/F6qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fr6mM00/SxRTegqvi9tBaP9Xhxl/h9p3IBaUHCM2/PE=; b=j1OfD07jMkChvX1pY0TKmKeaZDUjc3USCG8CovBAhRvS+KDSplEKqSUMsASOU3SQ6tzC5y K+yYlCUCFCnbAznZtk1TfCYQhJR49XIRTSV16jeM3bpl/7gangO57jGRXYF0gI5BJ3q2tw PvIuQuu/BMFh5f7HU1pre6ploiqodC0wBp8mJ3CWZFoPb8sOnfTF89pV1zi7lNLnVCD9XY WgOpptB7UwiYjBMQRNUpSOHmOwMskNMCFatrDMxnJNVh4Du2QV++p3Y2ghFnAVYAtsQa/I 6MwNO/PXUUm9EVYdFwQDomL7huPcL/5oJ1opV4y6adYSyVGPHPcsgIxqoVR0aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477447; a=rsa-sha256; cv=none; b=rlvaFWpZO5d8pW6422iKmSMsB3gjN4HV5LkkRTGg6brzET/Ok9Km498LiizJYNH+2pL9FB xqa9SBrywx1xClqq3tT4HF2UcjiUGsuor/AxjfvjzVq4TFpEklDDh6hxjYIkatwyS+kpOP /AscefD0i0yJnMTmy+Ln9IjA2+WvbQ5KhfqK2mHvS+TSfnzOtU7EvgQyt938XyOnrk1YE5 wZlwGvC4ndOTCRX3naqzr38EJFzn6fGSXmTOA7oRl9ZzGLP+KS72CYmOy6FGXHpnL91Fvw fSQG3C8WEbCuzNEgSmdzhafpPRZWPqH5wnG3ih7NL6yoVhOVOFu/t9iH5Y2ppw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPM2cnTzV3Z; Mon, 23 Jan 2023 12:37:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbRPl085106; Mon, 23 Jan 2023 12:37:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbRAU085105; Mon, 23 Jan 2023 12:37:27 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:27 GMT Message-Id: <202301231237.30NCbRAU085105@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 39c064581757 - stable/13 - Clear the indirect flag in the GICv3 ITS driver List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39c0645817579e56683d00d38d3290a2c0b5f2cf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=39c0645817579e56683d00d38d3290a2c0b5f2cf commit 39c0645817579e56683d00d38d3290a2c0b5f2cf Author: Andrew Turner AuthorDate: 2022-10-04 11:46:24 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Clear the indirect flag in the GICv3 ITS driver Summary: The indirect flag tells the hardware to use a flat or two level table. As we only support using the flat table ensure the flag that marks which is in use is set correctly. We can't rely on this being set correctly as some firmware may set the indirect flag, e.g. booting from LinuxBoot. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36873 (cherry picked from commit a0a4f5cf17236c7245250d1a9ec6fe39286f4a25) --- sys/arm64/arm64/gic_v3_reg.h | 3 +++ sys/arm64/arm64/gicv3_its.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/gic_v3_reg.h b/sys/arm64/arm64/gic_v3_reg.h index 94033d28cb01..b52fd0389d7f 100644 --- a/sys/arm64/arm64/gic_v3_reg.h +++ b/sys/arm64/arm64/gic_v3_reg.h @@ -351,6 +351,9 @@ #define GITS_BASER_VALID (1UL << 63) +#define GITS_BASER_INDIRECT_SHIFT 62 +#define GITS_BASER_INDIRECT (1UL << GITS_BASER_INDIRECT_SHIFT) + #define GITS_BASER_TYPE_SHIFT 56 #define GITS_BASER_TYPE(x) \ (((x) & GITS_BASER_TYPE_MASK) >> GITS_BASER_TYPE_SHIFT) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 82fd57cb42e8..afc334b91e7d 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -498,7 +498,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) nitspages = howmany(its_tbl_size, page_size); /* Clear the fields we will be setting */ - reg &= ~(GITS_BASER_VALID | + reg &= ~(GITS_BASER_VALID | GITS_BASER_INDIRECT | GITS_BASER_CACHE_MASK | GITS_BASER_TYPE_MASK | GITS_BASER_ESIZE_MASK | GITS_BASER_PA_MASK | GITS_BASER_SHARE_MASK | GITS_BASER_PSZ_MASK | From nobody Mon Jan 23 12:37:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPN5XK9z3bSh0; Mon, 23 Jan 2023 12:37: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 4P0qPN4XJgz3Bs0; Mon, 23 Jan 2023 12:37:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+jWS6U49WBtQc6JVE2zHpd8YGx9h8LaqpW7Ly8gmd8s=; b=tOZgkBroCem1W6A2Luogtx2aB20t4K9vLdyZRBtnbHtcsBNgxYvJ39wgXH4CtO0W3uLzAF 4yoeORfMn3ockOMV3COI6QK+zOs4IA0D6e26OiKBseM+6ANPBmwqF7Kmtd+q8Vsc+uYpeS AkdEb5ixg1Mie/WVT7UV/IUNlkBg0N1mi7/hGP+7PY+IeD9ny9s/C7pD26o2Q4G4wCSsWv Y53TEom0e6i+BxVO565Z9iDuzIV2b/p3r6oDEB1nt5Uj4E5Y+sET9+7C6ysrOztV0TvNrw YpPA2K8+6fiR2JlKURTvBMf1BAsziSVC66ZZJs0hguXiYn86attkQ354oAAbKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+jWS6U49WBtQc6JVE2zHpd8YGx9h8LaqpW7Ly8gmd8s=; b=o/TdRDW4uRZcINUPK2UcaMuk8jL27WdDHV+yw86a2/e/qXq0AFazTbujheyDyTTFikZdv5 GW7MMOd6bnxnphlB90llO+U/MKoM5AEUqsgcgLAhre30zm5hIWmUuL7y9xDc60GMx9l9Fu xviM2Eq6OKSmMSXMlUJIZDsXDP+V0MpckXV4G6sVwvfQoDYqXLPoDOK8sOtB3vg1c3m1uw 4pMNpfRwIm9ihGafUtw9EiZXvo5X26323GvzP0GHsCF1CNIqCowmmu10xR0ZczbfXar49q hDnDJPfhCt44VCFagzFtU5VSO43PvH/596DKULVhxQkNR/P/ttfQJzGnxYwaEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477448; a=rsa-sha256; cv=none; b=JiRI/K0KvwpWj6UZJjmZBWvMvgCDBighBMsdBkeHS0puQzyNJWHZppQ1fCPCx/UtJAI/2C aapSDuzrsX5jrCXf00vpNOf7WCLxEKckgTMzuROzPpoedTDKFh7ebxT8eGXDsn9/qkQ5+s 8op1jcyC0PbGDaucctzIrCmDVwOyRBDdsLrs7lGId80KouFQXl7XGDLXqHli3EgIuoZyxn Bu7Sb8N8EAR2lHbr9PqO2K2X+JUh8Csd8qVB+HpAkiKh+Vmu0Fr+wVGoN6QugEesBMCc7v cRWwj2AxmnuLXaiIdGwv6GTdJpjyP1omTag3/dfUAH0TIXXO7dRcy9nMaKlJpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPN3ZBBzV3b; Mon, 23 Jan 2023 12:37:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbSqJ085130; Mon, 23 Jan 2023 12:37:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbSsH085129; Mon, 23 Jan 2023 12:37:28 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:28 GMT Message-Id: <202301231237.30NCbSsH085129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 8cefcdd4567e - stable/13 - Use SYSCTL_FOREACH in drm2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8cefcdd4567e5780a3e3dff5276f3652e5d58dca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8cefcdd4567e5780a3e3dff5276f3652e5d58dca commit 8cefcdd4567e5780a3e3dff5276f3652e5d58dca Author: Andrew Turner AuthorDate: 2022-10-05 09:24:13 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Use SYSCTL_FOREACH in drm2 This was added recently. Use it to get the correct _FOREACH macro. Sponsored by: The FreeBSD Foundation (cherry picked from commit e0853c9336616e4ca4ff41aab0f8ad91bb75fd42) --- sys/dev/drm2/drm_sysctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/drm2/drm_sysctl.c b/sys/dev/drm2/drm_sysctl.c index 6b1f2e7e6e3f..2879f2df1220 100644 --- a/sys/dev/drm2/drm_sysctl.c +++ b/sys/dev/drm2/drm_sysctl.c @@ -78,7 +78,7 @@ int drm_sysctl_init(struct drm_device *dev) /* Find the next free slot under hw.dri */ i = 0; - SLIST_FOREACH(oid, SYSCTL_CHILDREN(drioid), oid_link) { + SYSCTL_FOREACH(oid, SYSCTL_CHILDREN(drioid), oid_link) { if (i <= oid->oid_arg2) i = oid->oid_arg2 + 1; } From nobody Mon Jan 23 12:37:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPP6X7dz3bT0q; Mon, 23 Jan 2023 12:37: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 4P0qPP5XrWz3BsQ; Mon, 23 Jan 2023 12:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5YBs3ysmZTMNiZE2GXUb02PejBhxzsYPkJj0Nq8j4lM=; b=IZ0dAIdXE8rrCkMyO74wEFjIaGhydpIUkoWN/SQgKuoKxmZiYkuXEGp+dD414F4HqDjv/1 XAC+pV9bGY3/ENKspkFwPxhz1jOaBQfvb/k9RFEG1Px8VT6poSrjlsTFDDP0PQdBgV3kqx KEHb0L1eRy9jUQuw3fGClStUoM73ArJFg5iCVkHp7di2GQvLHN2zZRMp3ZgUfVsPzwiow4 Jia35LAVB+ydSQ+pYEsWi6O9tMLM3xXnGt03wgMUIv6Uqu5es91J5gskISrmFRmLAP1/TK PGN6FE5QdZnogJsCIWpn9TdutpWiYEwiwMd721yNob8NcdHP6L2cHkVse2Q5CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5YBs3ysmZTMNiZE2GXUb02PejBhxzsYPkJj0Nq8j4lM=; b=C+KWz9nYbCe3mkuxG+ky+/PpV/ZHaaz1rufip5ubzm4aP6Lr89pVxJelqO8eeYUwN3Ibxh EMVaNkQfnDtjjq+SJL6lUBTYSBxerMT5YakNtwoKhAqNo7EVK/JRSNjZs4qrwosBG+mUR8 UFtPUatTpZDmaDfvi8fel/Y8dSxklLG9QbfOiyEtr93x2JSpy83MWig3jhVS9A1C0gScXC NiBDd7oBTmjfYimOkpsfBX79Mn5KaEf1E8I7KWaEH6elI8SUmUL99yChqcqXRwKVrfzNMl BWJ1WFKgAWCMx7FhnVLt40w+1VXzlZ9Vxo+9s9/wZ8l1TGNdqxuPXIH7QWdGAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477449; a=rsa-sha256; cv=none; b=Jf7I91ql2bkWXWVUAs0H4UkzrWvjrvDiiJ7sAesu6MSV9F3ZiCqlv8jkJInxuQ/RE5Qrse WmNqc6VoDaFDII3d2X04jbkyIjjojLd7WXcdiNWKDyqiOnvc5zUPbc0+a0srXiFabwGLUe pWBkPmWb405Z37n869Zd+mSIpl0mY06y7KQr0hwHZOmkWfmXodpAmZ9xYl/SQIHttIps2y v8Ejq/WYS8RdI8wmHNuNm+LzcEg2rKSH+tMx6XOo97s/UCyimiYRDDhP23XkQq2BHtGi7b vdZYPmh4SSF1d0blfHjyhuQ9Dw5K1UyZcohG7DVgLjbDvYEAg4DOMNLZU+S1Xg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPP4dZCzV5G; Mon, 23 Jan 2023 12:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbTsS085160; Mon, 23 Jan 2023 12:37:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbTVo085159; Mon, 23 Jan 2023 12:37:29 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:29 GMT Message-Id: <202301231237.30NCbTVo085159@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 1d54105b977f - stable/13 - Stop relying on header pollution in sdhci_xenon.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1d54105b977fc3bad2faff894925af844ba3205e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1d54105b977fc3bad2faff894925af844ba3205e commit 1d54105b977fc3bad2faff894925af844ba3205e Author: Andrew Turner AuthorDate: 2022-10-05 13:52:02 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Stop relying on header pollution in sdhci_xenon.c Include sys/malloc.h directly in sdhci_xenon.c to get the malloc(9) definition rather than depend on header pollution. Sponsored by: The FreeBSD Foundation (cherry picked from commit 232323a531f42b7ecd60e8b67934c0225a1651ab) --- sys/dev/sdhci/sdhci_xenon.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/sdhci/sdhci_xenon.c b/sys/dev/sdhci/sdhci_xenon.c index 59669affe4c5..78428052f0fc 100644 --- a/sys/dev/sdhci/sdhci_xenon.c +++ b/sys/dev/sdhci/sdhci_xenon.c @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From nobody Mon Jan 23 12:37:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPR0HjZz3bSxM; Mon, 23 Jan 2023 12:37: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 4P0qPQ6LKQz3C6Z; Mon, 23 Jan 2023 12:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XbglCi0xqR5SSYpRcdY5GP53FfMg4Gk2/5ULDhxnW3Y=; b=wsuxSwup9eazdO5bhNDjCipf0JWso5qnVyjcliHoWe7WqyeXhVRUoWbN8XZsCC0eFtO3oV Aw8IUAOGcj4J+kSvPmUFj+QEL+6mAne/ekvrLHMSL1uuxV5YfQx968d6nEaeBN18b77B6w ri6C0V7oywrAq6bvfC1S8VMaP02QP3H2h77a4niKV+hz0xtjl/pP7UISHAl4+OGEcneXIi XK/22hOvLeY4OYH3iB8Wov32C6eHaV85nhiyKf/AX2U7K4n2h2TmIQ2xT2+GuHn7Bw+hBI AiVEtElFOrzTOY11kBV4Wk8PYt/8TTtI2N9s1wni3ejhmt1WoRwUHMUaONgecw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XbglCi0xqR5SSYpRcdY5GP53FfMg4Gk2/5ULDhxnW3Y=; b=LIAQmOz3VtpxQSpEwAJ5Mzaes27DLNph0wfbhAnGPTeDXpa6HeVH7QkfMb5GOvP7vFDAzk +amOFXR+iDC2fS2XVHSMcypZIs/9VvX2aC5rFQUxsIMRoFYeU6T6T+plvVFuHpPIyqhj/A GbSEoeogzgsCR9uPbyH3ZTHemVONRyNBxayrc5+LWTBdjeyM88S3D4vAhH0y+yMpnoFz41 yPLv5pap1DRNDtcDrtOyRMMCetajVimtCeUu+sRPdOQahySKCRmWW/DYdGBmpqtDi4a9sP /J16fjAxvRLd9tPecVwXyQayoP2Pc6Ne079Q4AGjB+vE5vTRdHRNhmgduDZy2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477450; a=rsa-sha256; cv=none; b=oxX1YIuHB+FzobQO5nj1kZfB9qJZL/K960o3LOclmSa9dDNMGdpNDNFT6YhjqDwADp45mw QquVaQ2fuDuhiUnxOvKri9wq01y1QkCyGtn6OaLHZtm6oFa2ahE7CwX/hNG5QuMkWO+Rv+ ZrlL7BIBBIdT8S1eNt2fW8OWxHx+qePqgGFDYtslNQgQZjIw/pJj6F+zQnIr4Ac83xse3V BlKTZnuxhc3u3BJuKjTpyGqBUKSbC5gnUpI1mTDxPh0LXgJd4iDnwcERCPNW7PicoumX6C TdweChOzu5cP5Tq5krApcadJ+e0FTJ0UjjtqR6oBEc8gimej+o2M6wmz0G0BBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPQ5RB5zVDV; Mon, 23 Jan 2023 12:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbUHC085185; Mon, 23 Jan 2023 12:37:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbUCa085184; Mon, 23 Jan 2023 12:37:30 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:30 GMT Message-Id: <202301231237.30NCbUCa085184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: f2e0183cf63c - stable/13 - Mark 64-bit arm64 hypervisor registers with UL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f2e0183cf63cac1a45d47ab857f2ab97f24c1152 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f2e0183cf63cac1a45d47ab857f2ab97f24c1152 commit f2e0183cf63cac1a45d47ab857f2ab97f24c1152 Author: Andrew Turner AuthorDate: 2022-09-28 13:39:45 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Mark 64-bit arm64 hypervisor registers with UL These are 64-bit. Mark them as unsigned long so we don't rely on undefined behaviour or shift a 32-bit value more than 32 bits. Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation (cherry picked from commit 12c1c65d8a66e7fdd2b99a1bb03cdcf95df0a336) --- sys/arm64/include/hypervisor.h | 78 +++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index e8599cb30f3f..f209ecde120a 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -121,48 +121,48 @@ #define HPFAR_EL2_FIPA_MASK 0xfffffffff0 /* ICC_SRE_EL2 */ -#define ICC_SRE_EL2_SRE (1U << 0) -#define ICC_SRE_EL2_EN (1U << 3) +#define ICC_SRE_EL2_SRE (1UL << 0) +#define ICC_SRE_EL2_EN (1UL << 3) /* SCTLR_EL2 - System Control Register */ #define SCTLR_EL2_RES1 0x30c50830 #define SCTLR_EL2_M_SHIFT 0 -#define SCTLR_EL2_M (0x1 << SCTLR_EL2_M_SHIFT) +#define SCTLR_EL2_M (0x1UL << SCTLR_EL2_M_SHIFT) #define SCTLR_EL2_A_SHIFT 1 -#define SCTLR_EL2_A (0x1 << SCTLR_EL2_A_SHIFT) +#define SCTLR_EL2_A (0x1UL << SCTLR_EL2_A_SHIFT) #define SCTLR_EL2_C_SHIFT 2 -#define SCTLR_EL2_C (0x1 << SCTLR_EL2_C_SHIFT) +#define SCTLR_EL2_C (0x1UL << SCTLR_EL2_C_SHIFT) #define SCTLR_EL2_SA_SHIFT 3 -#define SCTLR_EL2_SA (0x1 << SCTLR_EL2_SA_SHIFT) +#define SCTLR_EL2_SA (0x1UL << SCTLR_EL2_SA_SHIFT) #define SCTLR_EL2_I_SHIFT 12 -#define SCTLR_EL2_I (0x1 << SCTLR_EL2_I_SHIFT) +#define SCTLR_EL2_I (0x1UL << SCTLR_EL2_I_SHIFT) #define SCTLR_EL2_WXN_SHIFT 19 -#define SCTLR_EL2_WXN (0x1 << SCTLR_EL2_WXN_SHIFT) +#define SCTLR_EL2_WXN (0x1UL << SCTLR_EL2_WXN_SHIFT) #define SCTLR_EL2_EE_SHIFT 25 -#define SCTLR_EL2_EE (0x1 << SCTLR_EL2_EE_SHIFT) +#define SCTLR_EL2_EE (0x1UL << SCTLR_EL2_EE_SHIFT) /* TCR_EL2 - Translation Control Register */ #define TCR_EL2_RES1 ((0x1UL << 31) | (0x1UL << 23)) #define TCR_EL2_T0SZ_SHIFT 0 -#define TCR_EL2_T0SZ_MASK (0x3f << TCR_EL2_T0SZ_SHIFT) +#define TCR_EL2_T0SZ_MASK (0x3fUL << TCR_EL2_T0SZ_SHIFT) #define TCR_EL2_T0SZ(x) ((x) << TCR_EL2_T0SZ_SHIFT) /* Bits 7:6 are reserved */ #define TCR_EL2_IRGN0_SHIFT 8 -#define TCR_EL2_IRGN0_MASK (0x3 << TCR_EL2_IRGN0_SHIFT) +#define TCR_EL2_IRGN0_MASK (0x3UL << TCR_EL2_IRGN0_SHIFT) #define TCR_EL2_ORGN0_SHIFT 10 -#define TCR_EL2_ORGN0_MASK (0x3 << TCR_EL2_ORGN0_SHIFT) +#define TCR_EL2_ORGN0_MASK (0x3UL << TCR_EL2_ORGN0_SHIFT) #define TCR_EL2_SH0_SHIFT 12 -#define TCR_EL2_SH0_MASK (0x3 << TCR_EL2_SH0_SHIFT) +#define TCR_EL2_SH0_MASK (0x3UL << TCR_EL2_SH0_SHIFT) #define TCR_EL2_TG0_SHIFT 14 -#define TCR_EL2_TG0_MASK (0x3 << TCR_EL2_TG0_SHIFT) +#define TCR_EL2_TG0_MASK (0x3UL << TCR_EL2_TG0_SHIFT) #define TCR_EL2_PS_SHIFT 16 -#define TCR_EL2_PS_32BITS (0 << TCR_EL2_PS_SHIFT) -#define TCR_EL2_PS_36BITS (1 << TCR_EL2_PS_SHIFT) -#define TCR_EL2_PS_40BITS (2 << TCR_EL2_PS_SHIFT) -#define TCR_EL2_PS_42BITS (3 << TCR_EL2_PS_SHIFT) -#define TCR_EL2_PS_44BITS (4 << TCR_EL2_PS_SHIFT) -#define TCR_EL2_PS_48BITS (5 << TCR_EL2_PS_SHIFT) -#define TCR_EL2_PS_52BITS (6 << TCR_EL2_PS_SHIFT) /* ARMv8.2-LPA */ +#define TCR_EL2_PS_32BITS (0UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_PS_36BITS (1UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_PS_40BITS (2UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_PS_42BITS (3UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_PS_44BITS (4UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_PS_48BITS (5UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_PS_52BITS (6UL << TCR_EL2_PS_SHIFT) /* VMPDIR_EL2 - Virtualization Multiprocessor ID Register */ #define VMPIDR_EL2_U 0x0000000040000000 @@ -170,31 +170,31 @@ #define VMPIDR_EL2_RES1 0x0000000080000000 /* VTCR_EL2 - Virtualization Translation Control Register */ -#define VTCR_EL2_RES1 (0x1 << 31) +#define VTCR_EL2_RES1 (0x1UL << 31) #define VTCR_EL2_T0SZ_MASK 0x3f #define VTCR_EL2_SL0_SHIFT 6 -#define VTCR_EL2_SL0_4K_LVL2 (0x0 << VTCR_EL2_SL0_SHIFT) -#define VTCR_EL2_SL0_4K_LVL1 (0x1 << VTCR_EL2_SL0_SHIFT) -#define VTCR_EL2_SL0_4K_LVL0 (0x2 << VTCR_EL2_SL0_SHIFT) +#define VTCR_EL2_SL0_4K_LVL2 (0x0UL << VTCR_EL2_SL0_SHIFT) +#define VTCR_EL2_SL0_4K_LVL1 (0x1UL << VTCR_EL2_SL0_SHIFT) +#define VTCR_EL2_SL0_4K_LVL0 (0x2UL << VTCR_EL2_SL0_SHIFT) #define VTCR_EL2_IRGN0_SHIFT 8 -#define VTCR_EL2_IRGN0_WBWA (0x1 << VTCR_EL2_IRGN0_SHIFT) +#define VTCR_EL2_IRGN0_WBWA (0x1UL << VTCR_EL2_IRGN0_SHIFT) #define VTCR_EL2_ORGN0_SHIFT 10 -#define VTCR_EL2_ORGN0_WBWA (0x1 << VTCR_EL2_ORGN0_SHIFT) +#define VTCR_EL2_ORGN0_WBWA (0x1UL << VTCR_EL2_ORGN0_SHIFT) #define VTCR_EL2_SH0_SHIFT 12 -#define VTCR_EL2_SH0_NS (0x0 << VTCR_EL2_SH0_SHIFT) -#define VTCR_EL2_SH0_OS (0x2 << VTCR_EL2_SH0_SHIFT) -#define VTCR_EL2_SH0_IS (0x3 << VTCR_EL2_SH0_SHIFT) +#define VTCR_EL2_SH0_NS (0x0UL << VTCR_EL2_SH0_SHIFT) +#define VTCR_EL2_SH0_OS (0x2UL << VTCR_EL2_SH0_SHIFT) +#define VTCR_EL2_SH0_IS (0x3UL << VTCR_EL2_SH0_SHIFT) #define VTCR_EL2_TG0_SHIFT 14 -#define VTCR_EL2_TG0_4K (0x0 << VTCR_EL2_TG0_SHIFT) -#define VTCR_EL2_TG0_64K (0x1 << VTCR_EL2_TG0_SHIFT) -#define VTCR_EL2_TG0_16K (0x2 << VTCR_EL2_TG0_SHIFT) +#define VTCR_EL2_TG0_4K (0x0UL << VTCR_EL2_TG0_SHIFT) +#define VTCR_EL2_TG0_64K (0x1UL << VTCR_EL2_TG0_SHIFT) +#define VTCR_EL2_TG0_16K (0x2UL << VTCR_EL2_TG0_SHIFT) #define VTCR_EL2_PS_SHIFT 16 -#define VTCR_EL2_PS_32BIT (0x0 << VTCR_EL2_PS_SHIFT) -#define VTCR_EL2_PS_36BIT (0x1 << VTCR_EL2_PS_SHIFT) -#define VTCR_EL2_PS_40BIT (0x2 << VTCR_EL2_PS_SHIFT) -#define VTCR_EL2_PS_42BIT (0x3 << VTCR_EL2_PS_SHIFT) -#define VTCR_EL2_PS_44BIT (0x4 << VTCR_EL2_PS_SHIFT) -#define VTCR_EL2_PS_48BIT (0x5 << VTCR_EL2_PS_SHIFT) +#define VTCR_EL2_PS_32BIT (0x0UL << VTCR_EL2_PS_SHIFT) +#define VTCR_EL2_PS_36BIT (0x1UL << VTCR_EL2_PS_SHIFT) +#define VTCR_EL2_PS_40BIT (0x2UL << VTCR_EL2_PS_SHIFT) +#define VTCR_EL2_PS_42BIT (0x3UL << VTCR_EL2_PS_SHIFT) +#define VTCR_EL2_PS_44BIT (0x4UL << VTCR_EL2_PS_SHIFT) +#define VTCR_EL2_PS_48BIT (0x5UL << VTCR_EL2_PS_SHIFT) /* VTTBR_EL2 - Virtualization Translation Table Base Register */ #define VTTBR_VMID_MASK 0xffff000000000000 From nobody Mon Jan 23 12:37:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPS2rMBz3bSqn; Mon, 23 Jan 2023 12:37: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 4P0qPR6r8qz3C4P; Mon, 23 Jan 2023 12:37:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=07u+Aqy59y/oczJ17c9aiHnpm90G7+VVEu9auM4mVLI=; b=DtVD50jtpETal1lMLInNjhDqu0WGod6vMODKUaPmhpwIKXfdv4qwBQe2j/TC+V3DJ6aR/y qJcSo3iLejC9jb084HA2P3gxtg5xTuU41/xiC45AnLMp8ttZYhTFqgnw66S6rHhWvz6O4M VN3Ju9JaQ9RDlpew5yRhXOEdUmN8uCxEp7GTVBzEfSKjc6RJCCLpeeJIObSm/VIdaE8J+N U0rW0+9xyykjqC3YRyhXz2kKFB5JDkl1o+US5Xol/sWVnQ7FfY4HZAwDw4Vt+iowvhhzbz JxxgXnjW2eZZdsqEFnVqTyCZKwLmQk5QobQ8WybGclfuhrxHmw6Zt4s6+azmZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=07u+Aqy59y/oczJ17c9aiHnpm90G7+VVEu9auM4mVLI=; b=BBV43XSFrDjXXH39KYcydXHXgjWswuT1EXycBnaywCYewh9gL4qsRSIQ06Q+tCg+jTaTHM c+dl15VnZ2q6XerGcO7CB/0eULwALvcdDAKZyiP38/FRWSdAmWEILqZt6CDuXQtNvBzECq 57xn1jbiupAXLZ+Hzb309M5gZcfhm17acJlNmXBG64AoIqZoKqp+r5xsPTPRPq1inMuEeZ 3jmKzDUCX9yl+x18QOKzRxForWzpOCMre62iMPPsMt8dyH9zI0qmJ7l77FI7w9/OSt0Tv1 t5bpq+9XNkqWlXM2qg8XluYRptR7VSYKmAw7B9nBZ7tL+i1pzcGnuhiscDiDTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477452; a=rsa-sha256; cv=none; b=XKXEj5dJpLhyoF5X0MLoS7m2WIwXEcoARZlvU12qliHCSuQYEDwUVh/eDa+jx7SbiEEblf RFIOM3h0rzKlA60k4cWm6FUZZ4GpgVxqTmQcAOGd6gJHnMhlIRwDS4ePuhLpX3g4CgC+hO 2HWm6rz/mRRnrQgLOmL2vXRgkoJ/CJ8GstLfAQ7vI8t5pvrQ32Fpbmn/SxnbDvzq5tnQdM elr9QTU9cn+LZJmNGQwHCLMXEjXNfMotxd/b4lvDIi1Jdrvz79CIGH0qYREL3X7CcQeYpB dhQDoUGdkrCVO8cakefVkPNddd8PPa50C3/L7lM8e4B4CXakGlnNcq9LxIpMLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPR5yGhzV3c; Mon, 23 Jan 2023 12:37:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbVVX085212; Mon, 23 Jan 2023 12:37:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbVfA085211; Mon, 23 Jan 2023 12:37:31 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:31 GMT Message-Id: <202301231237.30NCbVfA085211@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 6934327bb782 - stable/13 - Add more Arm CPUs to the arm64 cpu ident List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6934327bb78229d9e23e5f220580840fee7d4f08 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6934327bb78229d9e23e5f220580840fee7d4f08 commit 6934327bb78229d9e23e5f220580840fee7d4f08 Author: Andrew Turner AuthorDate: 2022-10-11 11:53:45 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Add more Arm CPUs to the arm64 cpu ident These are based on CPUs found in https://github.com/ARM-software/data Sponsored by: The FreeBSD Foundation (cherry picked from commit 82860bcb64417d35e79504db2d2197769def28e7) --- sys/arm64/arm64/identcpu.c | 3 +++ sys/arm64/include/cpu.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 50e5fc59b279..b88da2eb890a 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -179,6 +179,7 @@ static const struct cpu_parts cpu_parts_arm[] = { { CPU_PART_CORTEX_A55, "Cortex-A55" }, { CPU_PART_CORTEX_A57, "Cortex-A57" }, { CPU_PART_CORTEX_A65, "Cortex-A65" }, + { CPU_PART_CORTEX_A65AE, "Cortex-A65AE" }, { CPU_PART_CORTEX_A72, "Cortex-A72" }, { CPU_PART_CORTEX_A73, "Cortex-A73" }, { CPU_PART_CORTEX_A75, "Cortex-A75" }, @@ -189,9 +190,11 @@ static const struct cpu_parts cpu_parts_arm[] = { { CPU_PART_CORTEX_A78C, "Cortex-A78C" }, { CPU_PART_CORTEX_A510, "Cortex-A510" }, { CPU_PART_CORTEX_A710, "Cortex-A710" }, + { CPU_PART_CORTEX_A715, "Cortex-A715" }, { CPU_PART_CORTEX_X1, "Cortex-X1" }, { CPU_PART_CORTEX_X1C, "Cortex-X1C" }, { CPU_PART_CORTEX_X2, "Cortex-X2" }, + { CPU_PART_CORTEX_X3, "Cortex-X3" }, { CPU_PART_NEOVERSE_E1, "Neoverse-E1" }, { CPU_PART_NEOVERSE_N1, "Neoverse-N1" }, { CPU_PART_NEOVERSE_N2, "Neoverse-N2" }, diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index a34a471c8deb..e913716be7d2 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -100,6 +100,7 @@ #define CPU_PART_AEM_V8 0xD0F #define CPU_PART_NEOVERSE_V1 0xD40 #define CPU_PART_CORTEX_A78 0xD41 +#define CPU_PART_CORTEX_A65AE 0xD43 #define CPU_PART_CORTEX_X1 0xD44 #define CPU_PART_CORTEX_A510 0xD46 #define CPU_PART_CORTEX_A710 0xD47 @@ -108,6 +109,8 @@ #define CPU_PART_NEOVERSE_E1 0xD4A #define CPU_PART_CORTEX_A78C 0xD4B #define CPU_PART_CORTEX_X1C 0xD4C +#define CPU_PART_CORTEX_A715 0xD4D +#define CPU_PART_CORTEX_X3 0xD4E /* Cavium Part numbers */ #define CPU_PART_THUNDERX 0x0A1 From nobody Mon Jan 23 12:37:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPT1rKDz3bSxQ; Mon, 23 Jan 2023 12:37: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 4P0qPT0tg4z3BtR; Mon, 23 Jan 2023 12:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LineEP3+1Cqk881Be+vUB0b0qrwYp4wFB/qEmEDLjzU=; b=X/1TPkoRpFKF4BrdivLEvxhpW+BC9HFQTIQUP0/dyl7XkxekP1nqFafLvaBn8Kyiw37Nqg iijpTf32HwndILO3ZYRtrdXxEEqc/TJ2DDUgqXrl+UDNdloo6cZjAOYYVhpkGuhPFHv5y0 Pm0a3IktNUxu+ooAE4n5zkvXd2yVf+jod+7On5uPvB4tOgAuU2TdyasvBwODDJkUIGQWLY CC9RJ+HCu3Cwxny4UgUvyhm+K9+dLQGfwP2C5ySG4seu+RgE2cpDmINw1I/QFgF9AmNLTm h3GHGDBoMVvYreNE/TVn1XaC/4rITGPzg4Xs4/Rvu/lvgXhR2jI+ZH5FKljxuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LineEP3+1Cqk881Be+vUB0b0qrwYp4wFB/qEmEDLjzU=; b=uTUs2r77HnlaWgB5EAloAncjOVUxKv9o9faYnmOvi15AdMQvn39J72aLDIUfQcsOhfaJh6 H/Wf61KylejTL7uZ6a3KPsWIN4d+TO4M6cnobpRMi5ji2Y9Y5DsS2aAKbdrS3YVEuLKIKA shGzTdlTJf5OzyFBpMMr0OLEDlLla0SWpNEw7VA238mGXv/1Bt/I6SC2/F+vdhSHAQZvFl b3QY1BATSYg+hwQY5sBQhr+v4ff1zbsJFOuxRMr5+9HhyTto0xbdN1XbonsGVtS/o+NX/G j6ac9LlsBXAxsodG55OvD6DKhJSd6hIhEOhxnRYm3akweM+16Hm6wDn6bD+eTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477453; a=rsa-sha256; cv=none; b=xqQPLtgNv9P5pOppv+z5cFaYEanlj6jR0UI3gFmuhdkeCWSBWX5qma34eE0fewxP8AE9Fr jP+veojh+qLoDiq0bderodz7yV0GlH2FisBR01omp6rzfJVI1/wXUIUE5YPS1qKapJ+1/t t7dhQBycvpPP6rhel7LO3CqiHGiZh4qxx2I/npURNhxeX73r6EOprYP+HkTR8Cq6OKsOv6 buMyeAhKjkJMTvavikednQMNgr4MD5WL0o8VBG4kbIsaRG7kE85yXPBPbbEUsW9VXENpjR +JJUTULalKJeesXS05wODZZZPRanFAFrEq30tmg9c9K8QzY1p34MLqGHEPNOPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPS6wyDzVDW; Mon, 23 Jan 2023 12:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbW8R085236; Mon, 23 Jan 2023 12:37:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbWJ7085235; Mon, 23 Jan 2023 12:37:32 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:32 GMT Message-Id: <202301231237.30NCbWJ7085235@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 5e54d4b719a5 - stable/13 - Remove unneeded headers from clk_link.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5e54d4b719a58be9ce7fe90fc0fb0af72687b174 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5e54d4b719a58be9ce7fe90fc0fb0af72687b174 commit 5e54d4b719a58be9ce7fe90fc0fb0af72687b174 Author: Andrew Turner AuthorDate: 2022-10-28 16:44:33 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Remove unneeded headers from clk_link.c There is no OFW/FDT specific code in this file so the ofw headers can be removed. Sponsored by: Innovate UK (cherry picked from commit 83de69579188488731e521df5d5c66697a321174) --- sys/dev/extres/clk/clk_link.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/extres/clk/clk_link.c b/sys/dev/extres/clk/clk_link.c index 9220e5b58185..8575a98bc83d 100644 --- a/sys/dev/extres/clk/clk_link.c +++ b/sys/dev/extres/clk/clk_link.c @@ -40,8 +40,6 @@ __FBSDID("$FreeBSD$"); #include -#include -#include #include static int clknode_link_init(struct clknode *clk, device_t dev); From nobody Mon Jan 23 12:37:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPV2LVvz3bSn8; Mon, 23 Jan 2023 12:37: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 4P0qPV1fYSz3C9C; Mon, 23 Jan 2023 12:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K2pceVXs8T0CZdxfpcy3S4DLiI0BFJQg/uv1FUzV/Xc=; b=nE9bBIjcb3sJVcJCh86q5GBIbWvx8xQSdnXsMMnfQrphsu3a6Fr5h16vfoywgIBtV5DpN8 nGEr1+RW0Q4Agcn3+xbEYIvcSkgSiRDCIUasHiLye+MX93S+gPW60QnDjFB4bNd8xwdC+0 e1WxJ5QWypSp7zv7LWRQclUVSwNH60yS55cMsdUcOeBpDcHcVvIFemQ1t1wBW6MV9uaSU8 Pp0vbgHxp433jWXm8gWl1zq5tqxvuWqgiz1lJxOSBxVKOtHZ/abziTKQyaFQ3gyr2bfufQ 4PuNf9/ps6Eos7O0NkzEBO0JdQJqZgVkV+BIS8lOp0AwQjOzJbCuGKZtO+qC+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K2pceVXs8T0CZdxfpcy3S4DLiI0BFJQg/uv1FUzV/Xc=; b=nnM9HR0radtTWex0QawfzLcOhTbQ7xINFmXDBLAQ9AhAGoJN4W+aztTz6h6IbnW2vWXqrC nwO4tHgwJbu/6tfTnQ+TYypHxT1LOFd65kyq0NxcalAbOFTXH5H3Rc0tDBycuhEYtDMFVw JgxVG2umYTP4R1DuHxXQ5Mq03yMhwJONGlTA6Wse0I6r9Z2BVV+woXho+phk07fbxt2g+U fDNvJPoGkVWbxRAhgHkvqNqYJesI6Eq1FpgM4fQ0IvglSA2+pHDGxHfSkGjGzjvCpi5J5u k/nMh0Hd9X85f6YQCY3VusHEiQuogZfdVUwN3x6/RN+FAcG+xAf4J5UNMgT8Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477454; a=rsa-sha256; cv=none; b=J2dPH8JhvMe+qi7yvYOEYKNzcp/nJg9IlblmTpar/jTFhkwo8CJoVJWgDWWofFVMSXnt+o jXk+ntD030Kef2zrlo0aspSzOGOuz46deIYEBssov3f63sO5nECpxm8rEaVQa4ONdetbig 8futPXghCI48hhxOJ80H36OXW2qONm24uLRe/rjCVJ480uSD/OyCl9HDpYyS5CkJLn84YA PveNqOf9uO/hJLGlzdYcRUQWSDi7wR9cumKtmuOVfRLlKwv6+xr0635IVyRraiDH7JMIP1 cKtpBxvOzmsZ3lI7NRpUEIr++mrUnsybF+5l1m09a1hcBVhNvZfThJA8+7ImcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPV0ljYzVMG; Mon, 23 Jan 2023 12:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbYf7085260; Mon, 23 Jan 2023 12:37:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbYBw085259; Mon, 23 Jan 2023 12:37:34 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:34 GMT Message-Id: <202301231237.30NCbYBw085259@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: cd5c0287485c - stable/13 - Include sys/systm.h in phy_usb.c for KASSERT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cd5c0287485c3720d9ec24f38735b669132178f0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cd5c0287485c3720d9ec24f38735b669132178f0 commit cd5c0287485c3720d9ec24f38735b669132178f0 Author: Andrew Turner AuthorDate: 2022-10-28 17:12:31 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Include sys/systm.h in phy_usb.c for KASSERT Rather than depending on header pollution include systm.h directly. Sponsored by: Innovate UK (cherry picked from commit 754358108c1fa4e1818215c5ea085e13576ed798) --- sys/dev/extres/phy/phy_usb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/extres/phy/phy_usb.c b/sys/dev/extres/phy/phy_usb.c index 891db493634b..ce25993482a5 100644 --- a/sys/dev/extres/phy/phy_usb.c +++ b/sys/dev/extres/phy/phy_usb.c @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include From nobody Mon Jan 23 12:37:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPW3G5Kz3bSv4; Mon, 23 Jan 2023 12:37:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPW2QGlz3C5X; Mon, 23 Jan 2023 12:37:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fn7/vjCkrKJ/bD6Dx6fcipJMr0AwTK4G84z0Gn1DtQk=; b=CFbd6Jq4XTWr4+OBuH+WonFL7YQOP7S7xy3FinZQc8/0DwS/W0UsH6Ig3OYgS+1dJEi2pr N4voJUrEKxNgCeQJHVcfwvarZy2r8gc1A3a9y/xqo+g0OGppj61/lsMyFEtBu3RYdehTlS k4bbBSmEa1nSgOtOqc9IqvROhNexwpTF0cWBTuNSw6nBLdCf4PnCZMLnxwCF9yiUMtd59q 9d0j+r5l7omJxgGhakDlN2AvK1Qvr/2eLYGCu3HveRet7onJXeIxBuvpHZp1SOWtgxVTq3 6rH2zlfaJUmPRoHLrlW3PnsTdmAe53J9NzPepm7MKRFgx1rauuJsr5aB0SFZ3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fn7/vjCkrKJ/bD6Dx6fcipJMr0AwTK4G84z0Gn1DtQk=; b=IkBi2+be7NTr81Kzg6AmDW51sk73YZiN1kF9+bchsT6qpmAH4R4UdHKmOFqgwgqz1E8/A8 vBpCLN50XKn5yPJJ9JMRBSSnrQr2Ac524sXXkh32KSi+vcrzR4z6qiSluLGE1CHWhXhT6w tnwx9Ts9PLCWe7lg9pmGkVr9RjdIYfvoKwk3e3x3yTRQcToigoCGW0GY/hqFZG+stBwzjy hglng2EO/ijQ97JjtBylhE9V6n78ww2NtDjH5/SKZYLnDmb8GnJoD0i+gjQN1k7vzcAq1o PpilDDeKeXodKtR3EAPpe2rlDCN9P7y81VHwMLICxly3dJSzJ71QJcJDXhd+oQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477455; a=rsa-sha256; cv=none; b=MJ8NFc4ki3/BPHuYRgNNeoDyiBDB73nbKoBy4URvpkfkfYbukYpDGRDkw5xIYcDpAb0t+v 7lSSc6bdy/SgMDwAZmR3oKmX24G3DHqp8Z/eCi0vwmWF3sck7jJyHwR9d65QKte1ipeu2s OZFamhMozDIkB1fN1By8nrp8jlRxXLvCB0kgdbOBqTAbPuS1w5nJ4Be535MII3P1gale4I ZTvVi85ZKbCwocgjiUWbMNRFsahJUQT9C0SEZv6u7Omjd98zSufia6AY3/hTYYTz2u2Int hAaWRek/Hh6mkkav42Na+I2dCYJi4tDsSQCuF4qVZpP5HzfOxZg1/bVRZovvSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPW1TwVzVDX; Mon, 23 Jan 2023 12:37:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbZHk085286; Mon, 23 Jan 2023 12:37:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbZuV085285; Mon, 23 Jan 2023 12:37:35 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:35 GMT Message-Id: <202301231237.30NCbZuV085285@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 1289b327b607 - stable/13 - Sort the SOC options in the arm64 NOTES config List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1289b327b6072dbbb5f1e0193e69067d70173a67 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1289b327b6072dbbb5f1e0193e69067d70173a67 commit 1289b327b6072dbbb5f1e0193e69067d70173a67 Author: Andrew Turner AuthorDate: 2022-11-02 19:42:32 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Sort the SOC options in the arm64 NOTES config (cherry picked from commit 2222b0e7133ebaa4588f98fa2213c30e45f6d283) --- sys/arm64/conf/NOTES | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm64/conf/NOTES b/sys/arm64/conf/NOTES index 8036784370c5..0d275c0fdd2c 100644 --- a/sys/arm64/conf/NOTES +++ b/sys/arm64/conf/NOTES @@ -34,10 +34,10 @@ options INTRNG # SoC support options SOC_ALLWINNER_A64 options SOC_ALLWINNER_H5 -options SOC_CAVM_THUNDERX -options SOC_HISI_HI6220 options SOC_BRCM_BCM2837 options SOC_BRCM_BCM2838 +options SOC_CAVM_THUNDERX +options SOC_HISI_HI6220 options SOC_MARVELL_8K options SOC_ROCKCHIP_RK3328 options SOC_ROCKCHIP_RK3399 From nobody Mon Jan 23 12:37:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPX6MP2z3bSv5; Mon, 23 Jan 2023 12:37: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 4P0qPX3dQdz3CGx; Mon, 23 Jan 2023 12:37:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xbHPqvWPE6DYHpNtisaDHtkkjRmqtMlHNi7jCoYlDI4=; b=MSd53ToJ9eE8SJT2A7wQd/q67qXl48l9b3TlG8O5qfbPyUl53pOBt1HiPNIzf7oWAW/sgg 7G67m9v5aRmxXRrJYmR/2TXpFX00cFrvwIuL38GY1V7jjfV0kNaSkf4LfWsRdVMi7bFm+n ECegQKUq0xohufUW8NM8d1lWYgdPsleOocB1YHAAueSjUeIRc6bH5qlanYUVy+rmBvVxuR m5VLK5ggw8dhgbIKtxYsBaArZSxSbNBq6bGIDCOdFbNn5NOUfrFuXTOHq51vtjTS0O70Yk TKmtwYa0+Jvc0LqSwaC+aiuhTKwIiFHxrGx+Ig7UiN59XiFymtcXUHPUl9ZgWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xbHPqvWPE6DYHpNtisaDHtkkjRmqtMlHNi7jCoYlDI4=; b=H2u4TybrcXwIAbme7C3+bRRWcjF8GFTkoBh/u12gf5/tqWoIj5u3e4nLKnYfq2Sn1aJ1Ka +KkHz5WisgzK9EIhzAIMSC+sBOUria0vtKql95L+Kme/MGloGnU2a8UkMiu/WYU9dtc/2W pwuymqJbNha1L+ZVyJa0cIuXsPmu7Af4q/T7W+HcLyX6EFsY8IkCUcBl057nfAEXObCuCM y564EC9P4KneRNabUt9ElaPMEe1Xlo3t2taV7eWxYdraK5zIvcATLzOC+SktMheTqoHHYN egRBIyWk0cVUvuxgBz92yG43acF23uHxNcsNlPHSzd9mUi98SSnPxQ0xQE6NvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477456; a=rsa-sha256; cv=none; b=lArO+rR/2PDGpgn5HGsJ5D6A29vC8HlDrO7YsV745NRK/s9uGDviTBEDxEqXCE4VfCsz28 Zk/ZKBxCjmepW2nLia4N/ygn8Ssaa6Y0WEkGT0o5tZbxkeTvPckswXlBE/yZJuWOVMvNSf Ggo6CyFlCuugh0giwmfRCnMYz7psr8maK/tS2PFg4uJBLmAFl5fbHpKfs+AJ2DTyuIeTQW t41af+Ih1MyyNVa02nzmiSd8WeG30Ek+i79ffNZ3oXxOqprJY2GS41qof7J0pmKFkQCq1d n525jqifCVy16COZuDf41ISEzud1m5xH21s0H2RS5MBtmWWv3e0NvFK8LO/WqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPX2g7VzTHJ; Mon, 23 Jan 2023 12:37:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbaDw085317; Mon, 23 Jan 2023 12:37:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbaOB085316; Mon, 23 Jan 2023 12:37:36 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:36 GMT Message-Id: <202301231237.30NCbaOB085316@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 15d184c74f8f - stable/13 - Make all options lower case in files.arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 15d184c74f8f157406d251aca8f32c9a78d8630a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=15d184c74f8f157406d251aca8f32c9a78d8630a commit 15d184c74f8f157406d251aca8f32c9a78d8630a Author: Andrew Turner AuthorDate: 2022-11-02 20:02:31 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Make all options lower case in files.arm64 Some of the SOC options were upper case. Make them lower to be consistent with the rest of the file. (cherry picked from commit cc72012d423c94ac45e3bd4fb5be68ae0844b6f7) --- sys/conf/files.arm64 | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index a1f2fe03b24e..f136779ad874 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -391,7 +391,7 @@ arm/annapurna/alpine/alpine_serdes.c optional al_serdes fdt \ arm64/broadcom/brcmmdio/mdio_mux_iproc.c optional soc_brcm_ns2 fdt arm64/broadcom/brcmmdio/mdio_nexus_iproc.c optional soc_brcm_ns2 fdt arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c optional soc_brcm_ns2 fdt pci -arm64/broadcom/genet/if_genet.c optional SOC_BRCM_BCM2838 fdt genet +arm64/broadcom/genet/if_genet.c optional soc_brcm_bcm2838 fdt genet arm/broadcom/bcm2835/bcm2835_audio.c optional sound vchiq fdt \ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" arm/broadcom/bcm2835/bcm2835_bsc.c optional bcm2835_bsc fdt @@ -464,13 +464,13 @@ arm/mv/armada38x/armada38x_rtc.c optional mv_rtc fdt arm/mv/gpio.c optional mv_gpio fdt arm/mv/mvebu_gpio.c optional mv_gpio fdt arm/mv/mvebu_pinctrl.c optional mvebu_pinctrl fdt -arm/mv/mv_ap806_clock.c optional SOC_MARVELL_8K fdt +arm/mv/mv_ap806_clock.c optional soc_marvell_8k fdt arm/mv/mv_ap806_gicp.c optional mv_ap806_gicp fdt arm/mv/mv_ap806_sei.c optional mv_ap806_sei fdt -arm/mv/mv_cp110_clock.c optional SOC_MARVELL_8K fdt +arm/mv/mv_cp110_clock.c optional soc_marvell_8k fdt arm/mv/mv_cp110_icu.c optional mv_cp110_icu fdt arm/mv/mv_cp110_icu_bus.c optional mv_cp110_icu fdt -arm/mv/mv_thermal.c optional SOC_MARVELL_8K mv_thermal fdt +arm/mv/mv_thermal.c optional soc_marvell_8k mv_thermal fdt arm/mv/armada38x/armada38x_rtc.c optional mv_rtc fdt # NVidia @@ -523,17 +523,17 @@ tegra210_xusb.fw optional tegra210_xusb_fw \ clean "tegra210_xusb.fw" # NXP -arm/freescale/vybrid/vf_i2c.c optional vf_i2c iicbus SOC_NXP_LS -arm64/qoriq/ls1046_gpio.c optional ls1046_gpio gpio fdt SOC_NXP_LS -arm64/qoriq/qoriq_dw_pci.c optional pci fdt SOC_NXP_LS -arm64/qoriq/qoriq_therm.c optional pci fdt SOC_NXP_LS -arm64/qoriq/qoriq_therm_if.m optional pci fdt SOC_NXP_LS -arm64/qoriq/clk/ls1046a_clkgen.c optional clk SOC_NXP_LS -arm64/qoriq/clk/ls1088a_clkgen.c optional clk SOC_NXP_LS -arm64/qoriq/clk/lx2160a_clkgen.c optional clk SOC_NXP_LS -arm64/qoriq/clk/qoriq_clk_pll.c optional clk SOC_NXP_LS -arm64/qoriq/clk/qoriq_clkgen.c optional clk SOC_NXP_LS -dev/ahci/ahci_fsl_fdt.c optional SOC_NXP_LS ahci fdt +arm/freescale/vybrid/vf_i2c.c optional vf_i2c iicbus soc_nxp_ls +arm64/qoriq/ls1046_gpio.c optional ls1046_gpio gpio fdt soc_nxp_ls +arm64/qoriq/qoriq_dw_pci.c optional pci fdt soc_nxp_ls +arm64/qoriq/qoriq_therm.c optional pci fdt soc_nxp_ls +arm64/qoriq/qoriq_therm_if.m optional pci fdt soc_nxp_ls +arm64/qoriq/clk/ls1046a_clkgen.c optional clk soc_nxp_ls +arm64/qoriq/clk/ls1088a_clkgen.c optional clk soc_nxp_ls +arm64/qoriq/clk/lx2160a_clkgen.c optional clk soc_nxp_ls +arm64/qoriq/clk/qoriq_clk_pll.c optional clk soc_nxp_ls +arm64/qoriq/clk/qoriq_clkgen.c optional clk soc_nxp_ls +dev/ahci/ahci_fsl_fdt.c optional soc_nxp_ls ahci fdt # Qualcomm arm64/qualcomm/qcom_gcc.c optional qcom_gcc fdt From nobody Mon Jan 23 12:37:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPY61prz3bSxX; Mon, 23 Jan 2023 12:37: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 4P0qPY4WGdz3CPs; Mon, 23 Jan 2023 12:37:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2oe9RWxyUjuFajCNyngG1iKROXxItsByN2iWcamP7Tk=; b=PJFfCruNF5Fd3d9hRO4W656FfCP7VVBYaFd2P4D9tEm6YnbdL3nrEqHYyDfIMy1vXOmp6O c1uX21CbzdsGnvV5c2Kj9+20Qqv4Ae3qb/k80BzcdrnDD6xAy9GVSZPTOxfFslOYC7E2xr aId3JFVtZxoz/HLh0hMIIo/UToji+1jofpd6mo+gW8oqbAaUTYRkRNJgJL5CfV9H1WR5ao DQZEm/MZqW3oQuId+doGhWjytgF51jOYEuSELKdywI9K7htiRVHf6hLXgdvKZ+QCDikjtp fo2e4ZgHkIUPmxtPJ5HD+nRsrzN/hsV3couyB83OiN/ql158PpnxAyMRjDRM7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2oe9RWxyUjuFajCNyngG1iKROXxItsByN2iWcamP7Tk=; b=nhu0uUbgoLn2B85H8WBFWvo26CdeYdU8Pyfz/aawlw1SyL/OK/I4aJJlayHNLe5jYRdHc/ w8YjaSbYgFjhVewD9PiYKwEj0iSQyqXPmXp/Hn3V0Vglb8Smzz3YGxpUiRwuJRqPMJOeWy Aakzz06B3BPnwcPIESxJYk3hfg7rG9+oOmt2iGb8JdusPk0F6UhtDiTUhLmRChKY9aPbSq 1aRDYx5FwB0gD8X8CyuG8CKHjHgvXkBLiRDH88MSsTMphtuMI+CkSAyHUu8bxu1MnhV20R a5kq8q+EPcZumU1L6OLm+PypNuxbhK2Xl/zkH/RG0VL5S3f9fUQoyAIv4SJZJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477457; a=rsa-sha256; cv=none; b=ULxs3ONDPBmG7Uh88Aknv9eM7l/wn4om3ECJ1w+gApkKO0vnp6fNFkBy7Hzs/ivS9Ue3H4 bj5r3dFvqUsCUIn7AoiMT3YjywLrckeGegnuXofs9tYngNFkinAGNURj8jVnmY64cgs11u 9MNkJgse2M+fQ01W0qXdmybpgQ+yVRKQPAax7b7mdAmiI2IaqIKkpVaXB3i5gOWLLFTtKv 1uAn4ksV9tnHn1RaBO+Rw7UbFsbEbaZ4GpV+XOLBwaJCmUv8K99VNK6rIPGTlbRWqKkzHm pQsE2Xq8GMnEti/Gqyn/grZvzSCawVbLMie9ts8m8eZhLilTyKUwuUCWHZgRmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPY3cPVzVDY; Mon, 23 Jan 2023 12:37:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbbix085347; Mon, 23 Jan 2023 12:37:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbbee085346; Mon, 23 Jan 2023 12:37:37 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:37 GMT Message-Id: <202301231237.30NCbbee085346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9d37de148e56 - stable/13 - Include sys/malloc.h directly in the qoriq clock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9d37de148e563214d6be49396c39c75271f2aeb3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9d37de148e563214d6be49396c39c75271f2aeb3 commit 9d37de148e563214d6be49396c39c75271f2aeb3 Author: Andrew Turner AuthorDate: 2022-11-03 09:41:05 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Include sys/malloc.h directly in the qoriq clock We depend on header pollution to include sys/malloc.h. Include it directly to fix the no-FDT build. (cherry picked from commit 81bdc9ebe3d55a4ee30ee123ada62e1fe1ea9b63) --- sys/arm64/qoriq/clk/qoriq_clk_pll.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/qoriq/clk/qoriq_clk_pll.c b/sys/arm64/qoriq/clk/qoriq_clk_pll.c index 813bc76c3349..e7127387ceff 100644 --- a/sys/arm64/qoriq/clk/qoriq_clk_pll.c +++ b/sys/arm64/qoriq/clk/qoriq_clk_pll.c @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include From nobody Mon Jan 23 12:37:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPZ687nz3bSxc; Mon, 23 Jan 2023 12:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPZ5FKGz3CMv; Mon, 23 Jan 2023 12:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OoN6Cm9AgTCUebHPEtFOcujeI7oMOVBmXOY8piUurz8=; b=nbL/aaGuAprKuaW3DP92MM2Ntb4FggcVDxBJzW2U2vqIWLkpBJOMfNrKsT1Ug0bIy67N/j W/IF51qt+FomE8eFC0me+hIYz39EulqmsiLLuDZIW8pL0dplK+xwLZhi9H3seHMuw/1wPr Y0/O6/F2x40eY812Gm54DANJnZkvEhY3e11aFeGcEtQ0+H1XAdTKKa+Hje3CeXPYLd8bs4 5ViuGXEs2OXxttm1PzpE2t0NVJAOQ7f3eu+rteO0CSxMG8HUvERiRVY6CnGKtoyLvdpgo3 S2BPFHXGbRLycDi2zM+1Ka/3rVNVDQI+/cbqvRjr3pOmH+53Syqc/4WpmynPww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OoN6Cm9AgTCUebHPEtFOcujeI7oMOVBmXOY8piUurz8=; b=pXwKhrphMa5tUiG6wosHLd/c75bVhV7mtXprnPq5AUeyLtfTkldOVjXuA5u49EFepX5O1N Al3rbg+w/wVjtV0s0+aLNdO6aZ7uawTZ6vzuKgtPBmO1csjMDXj1K8sCX+bKJKPbhJRpdW VQIoEZK1IzU/5qKJoBLKXzMnwneQhY2Gk6znK4QgtmVN7W6iK6XByd6zluK3yntxXPta7P EthHo2j3EP1Evw2mfEJI1knq/tyhTrfB/e/MRC834qNe9Hd6Q+NyK3mlO6yICrQMZRnrVw 9JpWaOLtzqr711Kxs+s7IbFq4AghTdSUxKkujus8YotDbaNHTT6WJpOag8SREw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477458; a=rsa-sha256; cv=none; b=nRgttcWS1STBzh4tZQBZV3L/XGy4p5Z2nFBfjmYsCrLHNFi1/365vDVfOtchiEBiY2xE33 N876gytM4Bq76D9MOMKuufeYDMnLXPU1wvHBtHad+ZCH9P8h4/7YQW4agpI36Ob1XxbPdA TyozNxbkfhaDbysqNyeMM5OaMG/C+/1iIeGMeORXx0MXr7H0x5wcTcZCod7lbX+WR/Cxrh 776pmT7vfy0rrCO8U0LGsu7S0enPNb1oxjdh5eKFKOwXgkJ70Aunq4b1ZKYu447luQtBaR xKhE0qDj457Q1XpPfnKJL1bHPHucg6Et1gHPIWfofcPiitGtBWCpnqyHrM8H8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPZ4LsVzTHK; Mon, 23 Jan 2023 12:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbceW085371; Mon, 23 Jan 2023 12:37:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbc9A085370; Mon, 23 Jan 2023 12:37:38 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:38 GMT Message-Id: <202301231237.30NCbc9A085370@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 339990879cf4 - stable/13 - Disable superpage use for stage 2 arm64 mappings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 339990879cf4837aa20d509bcbddf403107d10a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=339990879cf4837aa20d509bcbddf403107d10a0 commit 339990879cf4837aa20d509bcbddf403107d10a0 Author: Andrew Turner AuthorDate: 2022-11-07 11:21:42 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:27 +0000 Disable superpage use for stage 2 arm64 mappings When modifying a stage 2 mapping we may need to call into the hypervisor to invalidate the TLB. Until it is known if the cost of this operation is less than the performance gains superpages offers disable their use. Reviewed by: kib. markj Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37299 (cherry picked from commit 0b976be033c2d7ad774da341e66aa69bfdb7f0ce) --- sys/arm64/arm64/pmap.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index f2a94769b40d..6f268c83e503 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -601,8 +601,15 @@ pmap_pte(pmap_t pmap, vm_offset_t va, int *level) } bool -pmap_ps_enabled(pmap_t pmap __unused) +pmap_ps_enabled(pmap_t pmap) { + /* + * Promotion requires a hypervisor call when the kernel is running + * in EL1. To stop this disable superpage support on non-stage 1 + * pmaps for now. + */ + if (pmap->pm_stage != PM_STAGE1) + return (false); return (superpages_enabled != 0); } From nobody Mon Jan 23 12:37:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPc030Gz3bT5c; Mon, 23 Jan 2023 12:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPb6TFTz3CKt; Mon, 23 Jan 2023 12:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3aQyd5JJL8T4KklBuueVVEKTR0yKqAmA8a4EmK4OK4k=; b=nmNpDgF9Zdj79ahuA6QwbPu4Fb4YRGmxjhuevLIfKiNSOzK++kTAdVbgkzWUz1Hn87/4eq DSeWp2hwdvqN0w/Rzi6EUo9hT45VyzGuWe9PE2WRymbbDmVSqcfBlgur/vXUazklEMBZDG +feiBWNv0xKzFzs7TKQUGafA/41iBr6gudEbT5OPMgrTEggVAfGITft/79DxJB+KX8vHIJ XeUw4qcNJsW8kNjCMZ8t4DmOzHDx9f3gy0se7jhbZb2/XzjL7QdAYFz8/4Wb82ze9bfStg 3vzopjOn8a7d4oodfZv9Dy7aIeqgyNGO2B5vJr02qr2sL3BFkBqsvLKg/zwnIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3aQyd5JJL8T4KklBuueVVEKTR0yKqAmA8a4EmK4OK4k=; b=jbbhMsmcbV434mPBEJx7FuSAvDap9Kl6zkg/XjyiA1FRDtE0g5mCxLRBJog1+mCbSqmazq I6Ej0bZOWFrxAYa2WjHVLJaTWAyzBmqIRVVOyCinWEhNTNrXzjVePHKzNcQKzaP0TrYOsm vwnYpfLdRl+e12gVAkS/ArtUDsTBzXK9h0vBOGsZLYfScs3aLW+U8jQshlzzWqut5fPG5r ywKYERAnOwhNpEo824Tbfll9xKRYDloKImRgZwnrEFdDQyLQHWjPdsU/12O6glTsLYkcUu s8n8S/jhCBJwIH9470NzFl1tRlS1dig6H7v7X4CkGvg77Y3UA0x0zRkNbmgkmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477459; a=rsa-sha256; cv=none; b=mdF5BFzE7gl8UdTckYa64Yp7WGSLdcS9d1wat+o2x51ZFjkkdeWLWnoRoxqZb0xjZN1O4M c9u5dfZRhR7LBl0xWvvoXgWKvtXwaX8Pd+OsvWyYE4+3Ud9vABQMXpw98+UaxgGlCQwEWC OuRXWyFdsobGLQlUbwP02tgm+OIq/5HlNtNZpkjyMUR7IdaDWxwwQlaWqQfr6QwD+DUmJ9 A5uDgASoEgvxQ55hEwJWpNyx+gHspfsgISoWhowzaaEeEGr9vzrjIfzzEmbz5Rs5OD2mBw QLk1RwjhQfLNDcrurV6nXwSv/lGLfSmhk/MpTY6lRc8qOY0cimRiXtW7tTuIlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPb5K5dzTHL; Mon, 23 Jan 2023 12:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbdBS085395; Mon, 23 Jan 2023 12:37:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbd83085394; Mon, 23 Jan 2023 12:37:39 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:39 GMT Message-Id: <202301231237.30NCbd83085394@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 196f6aaa29d7 - stable/13 - Add the arch field to the arm64 MIDR macros List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 196f6aaa29d7d9809b4225981e0bbc0d363f9b99 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=196f6aaa29d7d9809b4225981e0bbc0d363f9b99 commit 196f6aaa29d7d9809b4225981e0bbc0d363f9b99 Author: Andrew Turner AuthorDate: 2022-11-14 15:48:43 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Add the arch field to the arm64 MIDR macros For completeness add accessors for the MIDR field. As the field is always 0xf on arm64 it is unneeded in the current MICR handling, but will be used in the vmm module for bhyve. Obtained from: https://github.com/FreeBSD-UPB/freebsd-src (earlier version) Sponsored by: The FreeBSD Foundation (cherry picked from commit 80ba994bfacd8a843af4eb9cb7558b62e8de26ee) --- sys/arm64/include/cpu.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index e913716be7d2..f74944977b47 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -129,16 +129,19 @@ #define CPU_IMPL(midr) (((midr) >> 24) & 0xff) #define CPU_PART(midr) (((midr) >> 4) & 0xfff) #define CPU_VAR(midr) (((midr) >> 20) & 0xf) +#define CPU_ARCH(midr) (((midr) >> 16) & 0xf) #define CPU_REV(midr) (((midr) >> 0) & 0xf) #define CPU_IMPL_TO_MIDR(val) (((val) & 0xff) << 24) #define CPU_PART_TO_MIDR(val) (((val) & 0xfff) << 4) #define CPU_VAR_TO_MIDR(val) (((val) & 0xf) << 20) +#define CPU_ARCH_TO_MIDR(val) (((val) & 0xf) << 16) #define CPU_REV_TO_MIDR(val) (((val) & 0xf) << 0) #define CPU_IMPL_MASK (0xff << 24) #define CPU_PART_MASK (0xfff << 4) #define CPU_VAR_MASK (0xf << 20) +#define CPU_ARCH_MASK (0xf << 16) #define CPU_REV_MASK (0xf << 0) #define CPU_ID_RAW(impl, part, var, rev) \ From nobody Mon Jan 23 12:37:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPd0jq9z3bShJ; Mon, 23 Jan 2023 12:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPd03qZz3CNf; Mon, 23 Jan 2023 12:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A+Cs9EXIp69YHpbPBor/DKip84NO3NaOrN1IMLIURjM=; b=Yqa43+6v4LdYyTDHjooMnMSiXpA2e7I5djMna9eAOW8OtFDQTh6RwuQORdhKM7PRqbi9MZ Ep8FFSkk8rTjBdKqyrMyPqvyLJZDDCwmayWEQTjy6C+MkCvoKpiyQoyIaJleHoUcpc07PQ 8VSC1E1NhUdq9wEQvInIxcwtAXDlpFDtHIv/r9elHPAnx0uSMS4F8YGPzV2rpIXrvDkOY2 fLuDcoLNPf/aQ8w8jvP7XAwmgWNSX/tyAqt8a4tYJPp09LAQHP9BWgNg880nMIiW7UjNUt f8NT+TfRCBTO/wXh5SQf1Lu2WqLqYJtQ8pHUxPh9OzmJvx20A1HY/O2892MQlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A+Cs9EXIp69YHpbPBor/DKip84NO3NaOrN1IMLIURjM=; b=wybh/+xRK8pcJh238iaAAFa6lcAY5gHjJo5Cs6tRFnJJ/fPOA0J2zeZSWz0KjL4GkCx2ff sSO8gKiJip/z3qWFCQKV6GsMKrb8Ejlge6xfomM8MNCSu29n0Q/ggY0IEapIXkXVQYwDXN 0PkaHRHc1TUe6W9QUpDxOhtAAhdmlHUVezWNlvzlPXp3g/O4cn6b2p0pT1wRunLB4mFW8E pMqLKxXc9KqJaomDEPp2l1YhnReBTwuEC73OQmlBtRyRCY0HAc4P3euGcGq6DmjbuSXHDj NrLtHxrFKpJuoiz3GlZq0sv0EWA30NgrKPdDOBmHRbiS0Iv48CRl7P45wlDXsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477461; a=rsa-sha256; cv=none; b=N3CCYpWcOU6o8tFFCPkWG4HlAMJamwjJBGl6s5yx4qR4mBaNxVRtrhBlbKwwOBMem/EWMv ICOeRUomGsus/3N/I5kKPomuxGq76Twju50wPdMv3R4Nroi/J8AgSJrc3uRWQi4JHqRUr6 bYKFD6Astjs/cOcmbDYCv1VC1XiabNpII0RXr8XWpd8zcq8T3kqRJv1yN9TlPVw17Cb7Rf 0kMso5P3IcQ7vnVwYRhIEcF67tSCsZY4w616jHQIMNPnUIMdWpHfmimjGESqjZuH4t4zXB krphGEV9/nYw3yKMDDYqxzSvz/kuEWrHI+d2rndtMCJfDB7gtnLzqrwVTA/I9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPc6GQczTCq; Mon, 23 Jan 2023 12:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbeD8085421; Mon, 23 Jan 2023 12:37:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbeM6085420; Mon, 23 Jan 2023 12:37:40 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:40 GMT Message-Id: <202301231237.30NCbeM6085420@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 4dd63b65cb76 - stable/13 - Put the arm64 vttbr_el2 register into a state List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4dd63b65cb76ed963dbd23b651ea8e2895b4dd20 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4dd63b65cb76ed963dbd23b651ea8e2895b4dd20 commit 4dd63b65cb76ed963dbd23b651ea8e2895b4dd20 Author: Andrew Turner AuthorDate: 2022-11-15 12:53:28 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Put the arm64 vttbr_el2 register into a state Zero the vttbr_el2 register on each CPU so we can tell if we are running the host or guest kernel from a hypervisor. Obtained from: https://github.com/FreeBSD-UPB/freebsd-src (earlier version) Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation (cherry picked from commit ae43a817d33db3aa51f6dfce8dd940f06716e2a9) --- sys/arm64/arm64/locore.S | 3 +++ sys/arm64/include/hypervisor.h | 1 + 2 files changed, 4 insertions(+) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 94c8f8b87403..70ddfe4893f3 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -283,6 +283,9 @@ LENTRY(drop_to_el1) add x2, x2, :lo12:hyp_vectors msr vbar_el2, x2 + /* Zero vttbr_el2 so a hypervisor can tell the host and guest apart */ + msr vttbr_el2, xzr + mov x2, #(PSR_F | PSR_I | PSR_A | PSR_D | PSR_M_EL1h) msr spsr_el2, x2 diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index f209ecde120a..dc6ccbfe20a9 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -199,6 +199,7 @@ /* VTTBR_EL2 - Virtualization Translation Table Base Register */ #define VTTBR_VMID_MASK 0xffff000000000000 #define VTTBR_VMID_SHIFT 48 +/* Assumed to be 0 by locore.S */ #define VTTBR_HOST 0x0000000000000000 #endif /* !_MACHINE_HYPERVISOR_H_ */ From nobody Mon Jan 23 12:37:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPf4Ypnz3bT7y; Mon, 23 Jan 2023 12:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPf14Bjz3ChT; Mon, 23 Jan 2023 12:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JSxvO2p0euzX3TILzLsSwb3/oq/IHpRco7A/uIzV+XE=; b=XsnXSNcmTyirlaK6VqHl1s1XYsDhluxSJZx9llx0vv1jBIuTJ8oFUB6i3TaHV9+eyZarE7 iwHJU3UcfVnA4FXvxyfwH6SIWxsGDR110dqlnEd4N8RtCYHTLzsin8MC8zUSkV7ZAXmLuA 6mBg+ojzt81KmMedRsxLeBLqsyMYKvYQ+Twr61ZUXxMyjNShYNyMqJLMt7N2G81EX8b+VD fl6nc5qpCzgWafIG39UrkYgSJB33oW+zndsm7H2K39MOXop35xMkkYi3zZbf8/L/ZUGr/a QIc/G5nVBIG2jWVd55byAtVBS+4Y/UtFHKnBKopkycO18lDpdrklDYW/UR0nxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JSxvO2p0euzX3TILzLsSwb3/oq/IHpRco7A/uIzV+XE=; b=GubLooJKPH2CntxZluQtxdXugcA2HlUCBB+vj8l0XvpGbe6wgUfLnsAAMY0RZuLQDURq8h DMIS6rKqBfIPGFGdRVhfWedJ6NGthEuLhloFtp8MXftzGIG3MJJzpfXE1ScwQt2hrcMx4b i62P/vuN/BeYENa5yK/6Ms7f8ydHrg60W/I+hRgCr17+5kBTfxeHVTG+XYkLMf9o0j3BZE LFCfKtx/nSHIdq/RPlu4a+v5RtIZsUU+a4XM72nHbCpDqaF6PUyL6BvRU6mP1ndx34i3Wa EykMfPWaD2xEWjRvTKL62E64f2Qv4N//tU/7y7dxq+q+pbrwJs0VZURr3bYm1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477462; a=rsa-sha256; cv=none; b=CUO9UeFVlwsEF53k/0I2RED4bLuNxwR97TDWw8NT+Sm2P7wyxA++/tr+zW5BHOJX2qxQ+K W0UMkzgPjJLGKl7tcs0/Z/6fyHvyzcFQp51RSObMjKsf1dOr4FSzsU852Fkgha4OLbUD3h iKrDg+ijT27hHFe4838ZFui/SMnL+l9SkFgZfs2LppkhcNt4w/dJGMACOwIq2BvcYYUlwR 0h1XSIBF9MABQD2eTN+CdUTZ2zoOaPyUCdWz2nJIVzqecgrr5YaFpZ/e5Qg4WAT4Rk8Ald 0AdIE0N7RMmNkhrhE6/LJBtIGRZh5f5UxLfHip3C/ggy9TTyxMaAqCGuA2CVRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPf053szVDZ; Mon, 23 Jan 2023 12:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbfCn085449; Mon, 23 Jan 2023 12:37:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbfm3085448; Mon, 23 Jan 2023 12:37:41 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:41 GMT Message-Id: <202301231237.30NCbfm3085448@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 7fcb2a0b7932 - stable/13 - Add more arm64 hypervisor registers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7fcb2a0b7932f01804a79a7cbb8b09180c16720e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7fcb2a0b7932f01804a79a7cbb8b09180c16720e commit 7fcb2a0b7932f01804a79a7cbb8b09180c16720e Author: Andrew Turner AuthorDate: 2022-11-14 15:42:51 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Add more arm64 hypervisor registers These will be used by bhyve. Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation (cherry picked from commit 2468c61958f5e50927775f0611b44402a461840d) --- sys/arm64/include/hypervisor.h | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index dc6ccbfe20a9..84abe17f310e 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -119,6 +119,11 @@ /* HPFAR_EL2 - Hypervisor IPA Fault Address Register */ #define HPFAR_EL2_FIPA_SHIFT 4 #define HPFAR_EL2_FIPA_MASK 0xfffffffff0 +#define HPFAR_EL2_FIPA_GET(x) \ + (((x) & HPFAR_EL2_FIPA_MASK) >> HPFAR_EL2_FIPA_SHIFT) +/* HPFAR_EL2_FIPA holds the 4k page address */ +#define HPFAR_EL2_FIPA_ADDR(x) \ + (HPFAR_EL2_FIPA_GET(x) << 12) /* ICC_SRE_EL2 */ #define ICC_SRE_EL2_SRE (1UL << 0) @@ -149,12 +154,18 @@ /* Bits 7:6 are reserved */ #define TCR_EL2_IRGN0_SHIFT 8 #define TCR_EL2_IRGN0_MASK (0x3UL << TCR_EL2_IRGN0_SHIFT) +#define TCR_EL2_IRGN0_WBWA (1UL << TCR_EL2_IRGN0_SHIFT) #define TCR_EL2_ORGN0_SHIFT 10 #define TCR_EL2_ORGN0_MASK (0x3UL << TCR_EL2_ORGN0_SHIFT) +#define TCR_EL2_ORGN0_WBWA (1UL << TCR_EL2_ORGN0_SHIFT) #define TCR_EL2_SH0_SHIFT 12 #define TCR_EL2_SH0_MASK (0x3UL << TCR_EL2_SH0_SHIFT) +#define TCR_EL2_SH0_IS (3UL << TCR_EL2_SH0_SHIFT) #define TCR_EL2_TG0_SHIFT 14 #define TCR_EL2_TG0_MASK (0x3UL << TCR_EL2_TG0_SHIFT) +#define TCR_EL2_TG0_4K (0x0UL << TCR_EL2_TG0_SHIFT) +#define TCR_EL2_TG0_64K (0x1UL << TCR_EL2_TG0_SHIFT) +#define TCR_EL2_TG0_16K (0x2UL << TCR_EL2_TG0_SHIFT) #define TCR_EL2_PS_SHIFT 16 #define TCR_EL2_PS_32BITS (0UL << TCR_EL2_PS_SHIFT) #define TCR_EL2_PS_36BITS (1UL << TCR_EL2_PS_SHIFT) @@ -163,6 +174,18 @@ #define TCR_EL2_PS_44BITS (4UL << TCR_EL2_PS_SHIFT) #define TCR_EL2_PS_48BITS (5UL << TCR_EL2_PS_SHIFT) #define TCR_EL2_PS_52BITS (6UL << TCR_EL2_PS_SHIFT) +#define TCR_EL2_HPD_SHIFT 24 +#define TCR_EL2_HPD (1UL << TCR_EL2_HPD_SHIFT) +#define TCR_EL2_HWU59_SHIFT 25 +#define TCR_EL2_HWU59 (1UL << TCR_EL2_HWU59_SHIFT) +#define TCR_EL2_HWU60_SHIFT 26 +#define TCR_EL2_HWU60 (1UL << TCR_EL2_HWU60_SHIFT) +#define TCR_EL2_HWU61_SHIFT 27 +#define TCR_EL2_HWU61 (1UL << TCR_EL2_HWU61_SHIFT) +#define TCR_EL2_HWU62_SHIFT 28 +#define TCR_EL2_HWU62 (1UL << TCR_EL2_HWU62_SHIFT) +#define TCR_EL2_HWU \ + (TCR_EL2_HWU59 | TCR_EL2_HWU60 | TCR_EL2_HWU61 | TCR_EL2_HWU62) /* VMPDIR_EL2 - Virtualization Multiprocessor ID Register */ #define VMPIDR_EL2_U 0x0000000040000000 @@ -171,11 +194,16 @@ /* VTCR_EL2 - Virtualization Translation Control Register */ #define VTCR_EL2_RES1 (0x1UL << 31) -#define VTCR_EL2_T0SZ_MASK 0x3f +#define VTCR_EL2_T0SZ_SHIFT 0 +#define VTCR_EL2_T0SZ_MASK (0x3fUL << VTCR_EL2_T0SZ_SHIFT) +#define VTCR_EL2_T0SZ(x) ((x) << VTCR_EL2_T0SZ_SHIFT) #define VTCR_EL2_SL0_SHIFT 6 #define VTCR_EL2_SL0_4K_LVL2 (0x0UL << VTCR_EL2_SL0_SHIFT) #define VTCR_EL2_SL0_4K_LVL1 (0x1UL << VTCR_EL2_SL0_SHIFT) #define VTCR_EL2_SL0_4K_LVL0 (0x2UL << VTCR_EL2_SL0_SHIFT) +#define VTCR_EL2_SL0_16K_LVL2 (0x1UL << VTCR_EL2_SL0_SHIFT) +#define VTCR_EL2_SL0_16K_LVL1 (0x2UL << VTCR_EL2_SL0_SHIFT) +#define VTCR_EL2_SL0_16K_LVL0 (0x3UL << VTCR_EL2_SL0_SHIFT) #define VTCR_EL2_IRGN0_SHIFT 8 #define VTCR_EL2_IRGN0_WBWA (0x1UL << VTCR_EL2_IRGN0_SHIFT) #define VTCR_EL2_ORGN0_SHIFT 10 From nobody Mon Jan 23 12:37:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPg2v8xz3bT5w; Mon, 23 Jan 2023 12:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPg1xMhz3CP3; Mon, 23 Jan 2023 12:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=//TKDj+TZsnCFh43GVidwNL1YZJ6cPwXVPh4TrhpYsM=; b=bVrZXj4Tbl341GdRsyVnLPHsD4G2I0N+z1GPY+UKvlhrnBWzRFOfQd9rh/WHD6SQaM1dFu Zu+sYH8t85ZbqhuAwGMpcvX6PtIFG3blpyra3PL51cA4BmEpgNUFtMb6WNF2yEsh9Wy8IK B4WUU/TwKAy2I4xaveM4NkyHi7X2NTgo5Ztf9IXza9aBXLhBfUQTV3IGWVYEqbIaIAFR23 yEsOeM9FlF+R1hGR5Kal5GW5ANLh17LNYOE6V/wGK3y6uhtfOcu8i++iPXNCpZYLUW3B21 srNIqhhf5Dy8I5VrmVD22Cmy97KEBjAzXn2SgWEADF8yhzzGZ+bUPN3Cy5N75Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=//TKDj+TZsnCFh43GVidwNL1YZJ6cPwXVPh4TrhpYsM=; b=O27C0tuNsfiwjlpaOeTPl6lCVUTlisoWyRWCqu8zf8lAV28Gy7QpAycFJ/mcHsXEFBgI67 PoIQlZ60+EFVXM1iQ/cARrw5kLZnBKZR8F8LSU8yjKVyFr6T+c1gPJ7jKpMXfJvuPwvo8q /DulnZd24MtXg4JhIjeNJHJPA5AiL1VJk+c5IFnqpWeQy5ADAYuKMnTH/kmIiZCNb6qP2h izTjj54XXhwVFbidRFOHMQYcfwStXXg+wtbMurk0hAs0GTdTU3SeY9i8Vxot0fP+cbMtFJ bZ4BpXdcnIuuGKgmRHU0WfnH5aePKaAOxzQSs7VfosytOoA4wr03QffvN4Spbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477463; a=rsa-sha256; cv=none; b=FemL8h2SQvwuSB6tiKgcY99dfLxQFEV2+0apJv+QF6g76azEEF9n55CWUoilwICnsU/bQO DLQl1lGeTLJIFZvsoJoAsPfUGkFUj/H1ZxEmbO2mTyRHOF+ypugzoBjLoQyoOKLT6NaSjW qNXUM+hYJ550lnUxZTyFx5nzPKwbDFyDG3DIwGkcvW3Conq4SIvf26wDt/bM/hhgneYqdg eoYNSwuLb0Jb/Fl4w3xdquUtzMb4qCzsPd45sGyOnOUra9NuciRFgqfpFlU7iSe/UI+yYV C0VIC0hz0T7/xfZbJzoLpv2B8oHYnss1nii1zOPpVRElhEKQNSXgV9fMgLqTkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPg12t6zTHM; Mon, 23 Jan 2023 12:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbhXD085473; Mon, 23 Jan 2023 12:37:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbhVG085472; Mon, 23 Jan 2023 12:37:43 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:43 GMT Message-Id: <202301231237.30NCbhVG085472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 359cfad59e01 - stable/13 - Split out the arm64 EL2 exception vectors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 359cfad59e011221aa697e87eae19217a58bf698 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=359cfad59e011221aa697e87eae19217a58bf698 commit 359cfad59e011221aa697e87eae19217a58bf698 Author: Andrew Turner AuthorDate: 2022-10-31 15:08:26 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Split out the arm64 EL2 exception vectors These were originally in locore.S as they are only needed so we have a valid value to put into the vbar_el2 register. As these will soon be used by bhyve so move them to a new file as we already have with the EL1 exception vectors in exception.S. Obtained from: https://github.com/FreeBSD-UPB/freebsd-src (earlier version) Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation (cherry picked from commit 8a2adde1e4b3fb4230cd39c151c79e73e26b575d) --- sys/arm64/arm64/hyp_stub.S | 65 ++++++++++++++++++++++++++++++++++++++++++++++ sys/arm64/arm64/locore.S | 30 ++------------------- sys/conf/files.arm64 | 1 + 3 files changed, 68 insertions(+), 28 deletions(-) diff --git a/sys/arm64/arm64/hyp_stub.S b/sys/arm64/arm64/hyp_stub.S new file mode 100644 index 000000000000..42f76da95062 --- /dev/null +++ b/sys/arm64/arm64/hyp_stub.S @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2017 Alexandru Elisei + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +.macro vempty + .align 7 + 1: b 1b +.endm + +/* + * Install a new exception vector table with the base address supplied by the + * parameter in register x0. + */ +.macro vector_stub_el1h_sync + .align 7 + msr vbar_el2, x0 + ERET +.endm + + .align 11 + .globl hyp_stub_vectors +hyp_stub_vectors: + vempty /* Synchronous EL2t */ + vempty /* IRQ EL2t */ + vempty /* FIQ EL2t */ + vempty /* SError EL2t */ + + vempty /* Synchronous EL2h */ + vempty /* IRQ EL2h */ + vempty /* FIQ EL2h */ + vempty /* SError EL2h */ + + vector_stub_el1h_sync /* Synchronous 64-bit EL1 */ + vempty /* IRQ 64-bit EL1 */ + vempty /* FIQ 64-bit EL1 */ + vempty /* SError 64-bit EL1 */ + + vempty /* Synchronous 32-bit EL1 */ + vempty /* IRQ 32-bit EL1 */ + vempty /* FIQ 32-bit EL1 */ + vempty /* SError 32-bit EL1 */ diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 70ddfe4893f3..bcf60ea0540e 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -279,8 +279,8 @@ LENTRY(drop_to_el1) msr cntvoff_el2, xzr /* Hypervisor trap functions */ - adrp x2, hyp_vectors - add x2, x2, :lo12:hyp_vectors + adrp x2, hyp_stub_vectors + add x2, x2, :lo12:hyp_stub_vectors msr vbar_el2, x2 /* Zero vttbr_el2 so a hypervisor can tell the host and guest apart */ @@ -314,32 +314,6 @@ LENTRY(drop_to_el1) .quad SCTLR_RES1 LEND(drop_to_el1) -#define VECT_EMPTY \ - .align 7; \ - 1: b 1b - - .align 11 -hyp_vectors: - VECT_EMPTY /* Synchronous EL2t */ - VECT_EMPTY /* IRQ EL2t */ - VECT_EMPTY /* FIQ EL2t */ - VECT_EMPTY /* Error EL2t */ - - VECT_EMPTY /* Synchronous EL2h */ - VECT_EMPTY /* IRQ EL2h */ - VECT_EMPTY /* FIQ EL2h */ - VECT_EMPTY /* Error EL2h */ - - VECT_EMPTY /* Synchronous 64-bit EL1 */ - VECT_EMPTY /* IRQ 64-bit EL1 */ - VECT_EMPTY /* FIQ 64-bit EL1 */ - VECT_EMPTY /* Error 64-bit EL1 */ - - VECT_EMPTY /* Synchronous 32-bit EL1 */ - VECT_EMPTY /* IRQ 32-bit EL1 */ - VECT_EMPTY /* FIQ 32-bit EL1 */ - VECT_EMPTY /* Error 32-bit EL1 */ - /* * Get the delta between the physical address we were loaded to and the * virtual address we expect to run from. This is used when building the diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index f136779ad874..563d62859258 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -51,6 +51,7 @@ arm64/arm64/gicv3_its.c optional intrng fdt arm64/arm64/gic_v3.c standard arm64/arm64/gic_v3_acpi.c optional acpi arm64/arm64/gic_v3_fdt.c optional fdt +arm64/arm64/hyp_stub.S standard arm64/arm64/identcpu.c standard arm64/arm64/locore.S standard no-obj arm64/arm64/machdep.c standard From nobody Mon Jan 23 12:37:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPh6382z3bT65; Mon, 23 Jan 2023 12:37:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPh2pBnz3Ccp; Mon, 23 Jan 2023 12:37:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pMguKDez53/yNzj81PVR7Uf5ezXh67csoeYn9kI6FbU=; b=MzIr6YAhfh3DMfamYJtkueBh0IWoXQMiX3hYDLQZrGyXNIwHtgkVGAEpAHx7xMvKxlrp+1 LYqwO43+Rhf94BO57wV8LobfJG5JkLukuNS31A5kb0XbF0HWRQVT98Ff5EmDxdsliW0VsY We/UK59eplw88wpuyx7u4T1XeqwFtNbnn4UZJWLDKBvtvgif359WPRzBwOAnFK3CV00Uk1 NijPFoMDUd21YLtIcpjguAkL5TUFlfMsGJq/c2ciQfjFadWMop3xvFZJUhUgctnyGKPhkl I7UbMCrfykHR10bojidR4LLtmtTJTxiDwRGXOULYyozZkNumI4Kw/CiiorZAVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pMguKDez53/yNzj81PVR7Uf5ezXh67csoeYn9kI6FbU=; b=PbrvWB237imLeqz+sAUDfpS3To6dJbJAs1tkXuO5yxo8DnSbMDxwZrIP8nuyhGFCUFRVPR 0KmPjyP34eBnv/d2smZiON83FVbIOAFJcOg/5NyGNCh9xwDJpJNQiVr+p01SHkvCv0KmAg XBhrNCT0dwkut7VStEGYPaQIXihkEfMFbkcVONkZl1PukrHlZzqbEXPW1OZLJgUmy+Znny UJw079P3U1ewUVyBQ0pmJqjF5pPhBL656LUXPhw2e1bLM+QW2/L67RBekzWk99oqvreLsh SQYW3Ome2vje0WCtsLgZ8+zLRB9/Y+FPh+XS3CDXfILddPNqiqrzeGeeTFFCOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477464; a=rsa-sha256; cv=none; b=AUDBYD+Ui+i6VTzRKRCHSrfEhWElbsCYO6Df8eXgYoJEqrJMhjxPBu4tykioBZBk8ZaSF8 3x4GRmvczW3jXWRhpmTLXsnDZpmt2uy9/ULD4MmOGMZTWq2IAnsssFqhsRJ4dwOWGdT3eg y+iBgAD/TvIZKWxerxpZTLNS+9XVWwNoVTzU0RY+UKShkR/LEo+gf0/Pifn7Cc3RVTR2gA 2I5Ia8WcoRCHK6s4XaRE0uvbv25oLGys2D4jWItz9FzlM4K7rxlXVUV0COtR1Yz+c1oGWf MMjTs5+ntDstyADw44WX424jM4dD1cwfh1J3l53lov04JwFUxJn0yKxY+rAz9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPh1p2lzTHN; Mon, 23 Jan 2023 12:37:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbit2085499; Mon, 23 Jan 2023 12:37:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbiF3085498; Mon, 23 Jan 2023 12:37:44 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:44 GMT Message-Id: <202301231237.30NCbiF3085498@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 5930ae92913b - stable/13 - Add support for an array of hwresets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5930ae92913b86642727720518f8fd3144426e39 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5930ae92913b86642727720518f8fd3144426e39 commit 5930ae92913b86642727720518f8fd3144426e39 Author: Andrew Turner AuthorDate: 2022-11-11 08:55:59 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Add support for an array of hwresets In some drivers we need to assert and deassert a group of hardware resets in any order. To support this add a new hwreset_array that manages all hwresets defined for a device. Reviewed by: bz, manu, mmel Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37357 (cherry picked from commit 969935b86b179b2b517ab5d35d943fcb761203c1) --- sys/conf/files | 1 + sys/dev/extres/hwreset/hwreset.h | 8 ++ sys/dev/extres/hwreset/hwreset_array.c | 139 +++++++++++++++++++++++++++++++++ 3 files changed, 148 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index d97ad247a7bd..1dc36fd6f132 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1759,6 +1759,7 @@ dev/extres/phy/phy_usb.c optional phy fdt dev/extres/phy/phynode_usb_if.m optional phy fdt dev/extres/hwreset/hwreset.c optional hwreset fdt dev/extres/hwreset/hwreset_if.m optional hwreset fdt +dev/extres/hwreset/hwreset_array.c optional hwreset dev/extres/nvmem/nvmem.c optional nvmem fdt dev/extres/nvmem/nvmem_if.m optional nvmem fdt dev/extres/regulator/regdev_if.m optional regulator fdt diff --git a/sys/dev/extres/hwreset/hwreset.h b/sys/dev/extres/hwreset/hwreset.h index dd9290a9784c..02a0b4fe15a0 100644 --- a/sys/dev/extres/hwreset/hwreset.h +++ b/sys/dev/extres/hwreset/hwreset.h @@ -35,6 +35,7 @@ #endif typedef struct hwreset *hwreset_t; +typedef struct hwreset_array *hwreset_array_t; /* * Provider interface @@ -62,6 +63,13 @@ int hwreset_get_by_ofw_idx(device_t consumer_dev, phandle_t node, int idx, hwreset_t *rst); #endif +void hwreset_array_release(hwreset_array_t rsts); +int hwreset_array_assert(hwreset_array_t rsts); +int hwreset_array_deassert(hwreset_array_t rsts); +#ifdef FDT +int hwreset_array_get_ofw(device_t consumer_dev, phandle_t cnode, + hwreset_array_t *rsts); +#endif #endif /* DEV_EXTRES_HWRESET_HWRESET_H */ diff --git a/sys/dev/extres/hwreset/hwreset_array.c b/sys/dev/extres/hwreset/hwreset_array.c new file mode 100644 index 000000000000..c90bef9aafe8 --- /dev/null +++ b/sys/dev/extres/hwreset/hwreset_array.c @@ -0,0 +1,139 @@ +/*- + * Copyright (c) 2022 The FreeBSD Foundation + * + * This software was developed by Andrew Turner under sponsorship from + * the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * This manages all hwresets for a device and asserts/deasserts them in + * an undefined order. + */ + +#include "opt_platform.h" +#include +#include +#include + +#ifdef FDT +#include +#include +#endif + +#include + +MALLOC_DECLARE(M_HWRESET); + +struct hwreset_array { + hwreset_t *rst_array; + int count; +}; + +int +hwreset_array_assert(hwreset_array_t rsts) +{ + int i, rv; + + for (i = 0; i < rsts->count; i++) { + rv = hwreset_assert(rsts->rst_array[i]); + if (rv != 0) + return (rv); + } + + return (0); +} + +int +hwreset_array_deassert(hwreset_array_t rsts) +{ + int i, rv; + + for (i = 0; i < rsts->count; i++) { + rv = hwreset_deassert(rsts->rst_array[i]); + if (rv != 0) + return (rv); + } + + return (0); +} + +void +hwreset_array_release(hwreset_array_t rsts) +{ + int i; + + for (i = 0; i < rsts->count; i++) { + hwreset_release(rsts->rst_array[i]); + } + free(rsts->rst_array, M_HWRESET); + free(rsts, M_HWRESET); +} + +#ifdef FDT +int +hwreset_array_get_ofw(device_t consumer_dev, phandle_t cnode, + hwreset_array_t *rsts) +{ + hwreset_array_t resets; + int count, i, rv; + + if (cnode <= 0) + cnode = ofw_bus_get_node(consumer_dev); + if (cnode <= 0) { + device_printf(consumer_dev, + "%s called on not ofw based device\n", __func__); + return (ENXIO); + } + + rv = ofw_bus_parse_xref_list_get_length(cnode, "resets", "#reset-cells", + &count); + if (rv != 0) + return (rv); + + resets = malloc(sizeof(struct hwreset_array), M_HWRESET, + M_WAITOK | M_ZERO); + resets->rst_array = mallocarray(count, sizeof(hwreset_t), M_HWRESET, + M_WAITOK | M_ZERO); + + for (i = 0; i < count; i++) { + rv = hwreset_get_by_ofw_idx(consumer_dev, cnode, i, + &resets->rst_array[i]); + if (rv != 0) + break; + } + + if (rv != 0) { + count = i; + for (i = 0; i < count; i++) { + hwreset_release(resets->rst_array[i]); + } + free(resets->rst_array, M_HWRESET); + free(resets, M_HWRESET); + } else { + resets->count = count; + *rsts = resets; + } + return (rv); +} +#endif From nobody Mon Jan 23 12:37:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPj6pJtz3bT8L; Mon, 23 Jan 2023 12:37: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 4P0qPj3vjqz3Ccx; Mon, 23 Jan 2023 12:37:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xp1fW/ncXdbp42o1FyJjHBhA6/MMfV1V52yFu05V7ew=; b=PV+Yf3bApwHyfk3mw80FGMzPImGZfSvRrq12ZA58BdYEy/nXlgv/YLDyRzCRqQEGOnmQLW od5uLxgAeMDYWr3HzjqPajvvnfn5E3o6TWiaNsqIKgh+tQfDgqcvOo9VWSwsruvLaXfRXW iaQkgVXDl0folfyH99nYlePdZief7iWdM5Cw/95NTYdPBRRMMlSaVNHRp4SLGVVhpiFiuy uxFsIhp6nudqnOH6gCO14ijZZaCWzVZjdSutZkfilloKucxp5xzfUAiw07OMyJXiQxyvKg rgnCM6YrNafnaHd4JtHNC15GjbmIE4WKb8zx+CC1H3GDGDsjm0yoSSsxBEtmNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xp1fW/ncXdbp42o1FyJjHBhA6/MMfV1V52yFu05V7ew=; b=G6rRcNbbcmYG22eeWgkrx8frv5GQwMUUolng74nSVTn7RqbpXEGD/uG1DPvyvG+UrhX38v /jKioGQGc7pK6cP/moTt3cIzA1RlUTkvrLTkHUGsGg6wKiO0oxUCuwXxBoLyvi39etLSTM I4gvjtGO/5ZSyfOpwHOeqGNAfR38z9pWAuIJjiALXzwLRqpaz7UM/KHLOSLmvQVtmp4r4X b4JpU2O+GnFfBkHl38+DeYQcVYzfhRNULzWLAm3rjo7QJpE19vnSWBfmVWAQUd2xuFEDRA mqLJnnF1+zRroqs4iZXqQdyS9GxvAmavvy/XisIrY9CbG+aX5eCFOxVTaaWvaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477465; a=rsa-sha256; cv=none; b=inRqZbgEq5waCK3X/hB4/bCCXKNpcd0khUcm5iWWcoo/aFCQZ8rkPQXAaN9QKHDQNM4GPh Cgi4OZZIJ5m08yLQsn3ZXG9eTzQ/cKHPulL6AOxkLNo6tkO3jfqVhykEg2qY1B28Kk+Gg3 4Vh8Iq0L6hKnPzMCw8JyawHzIbcsikZqbX1Q3K+wTA49X44GK/iO73tIMcvPks66cOSW5v lHjuSpWCNV0JRiJLNpnhJlzjG7ZGGfnHXlRBztVkXTmGnqpTK/b+kbD9ST+c5nh/OhCGiC Bkc6RmJJVana86KdNh4AYV6IEX6g3lW4/7ltUYHcMtVXU5NT34GlsniBUfizjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPj2zGPzVMH; Mon, 23 Jan 2023 12:37:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbj3k085523; Mon, 23 Jan 2023 12:37:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbjlU085522; Mon, 23 Jan 2023 12:37:45 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:45 GMT Message-Id: <202301231237.30NCbjlU085522@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: db310bb70725 - stable/13 - Use hwreset_array in the Rockchip tsadc driver List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: db310bb7072579b4d48f0abc05b3567b9bf5aa19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=db310bb7072579b4d48f0abc05b3567b9bf5aa19 commit db310bb7072579b4d48f0abc05b3567b9bf5aa19 Author: Andrew Turner AuthorDate: 2022-11-11 08:58:34 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Use hwreset_array in the Rockchip tsadc driver The order of asserting/deasserting the resets doesn't matter so use the new hwreset_array to manage them all. Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37358 (cherry picked from commit 7ebc4c9bf76d1ea62e2ccd3020ff8e6e293b499c) --- sys/arm64/rockchip/rk_tsadc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/arm64/rockchip/rk_tsadc.c b/sys/arm64/rockchip/rk_tsadc.c index 54e6dabdfb8c..344ac6bc7d5e 100644 --- a/sys/arm64/rockchip/rk_tsadc.c +++ b/sys/arm64/rockchip/rk_tsadc.c @@ -127,7 +127,7 @@ struct tsadc_softc { clk_t tsadc_clk; clk_t apb_pclk_clk; - hwreset_t hwreset; + hwreset_array_t hwreset; struct syscon *grf; struct tsadc_conf *conf; @@ -646,9 +646,9 @@ tsadc_attach(device_t dev) } /* FDT resources */ - rv = hwreset_get_by_ofw_name(dev, 0, "tsadc-apb", &sc->hwreset); + rv = hwreset_array_get_ofw(dev, 0, &sc->hwreset); if (rv != 0) { - device_printf(dev, "Cannot get 'tsadc-apb' reset\n"); + device_printf(dev, "Cannot get resets\n"); goto fail; } rv = clk_get_by_ofw_name(dev, 0, "tsadc", &sc->tsadc_clk); @@ -685,7 +685,7 @@ tsadc_attach(device_t dev) sc->shutdown_pol = sc->conf->shutdown_pol; /* Wakeup controller */ - rv = hwreset_assert(sc->hwreset); + rv = hwreset_array_assert(sc->hwreset); if (rv != 0) { device_printf(dev, "Cannot assert reset\n"); goto fail; @@ -708,7 +708,7 @@ tsadc_attach(device_t dev) device_printf(dev, "Cannot enable 'apb_pclk' clock: %d\n", rv); goto fail; } - rv = hwreset_deassert(sc->hwreset); + rv = hwreset_array_deassert(sc->hwreset); if (rv != 0) { device_printf(dev, "Cannot deassert reset\n"); goto fail; @@ -742,7 +742,7 @@ fail: if (sc->apb_pclk_clk != NULL) clk_release(sc->apb_pclk_clk); if (sc->hwreset != NULL) - hwreset_release(sc->hwreset); + hwreset_array_release(sc->hwreset); if (sc->irq_res != NULL) bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res); if (sc->mem_res != NULL) @@ -765,7 +765,7 @@ tsadc_detach(device_t dev) if (sc->apb_pclk_clk != NULL) clk_release(sc->apb_pclk_clk); if (sc->hwreset != NULL) - hwreset_release(sc->hwreset); + hwreset_array_release(sc->hwreset); if (sc->irq_res != NULL) bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res); if (sc->mem_res != NULL) From nobody Mon Jan 23 12:37:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPk6PHGz3bT67; Mon, 23 Jan 2023 12:37: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 4P0qPk58BFz3Crm; Mon, 23 Jan 2023 12:37:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x1F8KhUauu7KxNojFfgjbryvldtnPjmC6AMqgbFW8Ko=; b=KYwoweH6rjUojjrBBFw60b24xmVs4RWnciqLdaXIGPAskPyuHVgdBAfF9SpcRbmCgQrZoq RCm1QiZXMm4x0Yd9NynVxn+TzezUW0pLIQx9H78N2K50y/FZ0GQFReuNXD/jwFvmZeMnD2 sdSMYvxm7PlX9slwmfKUHci7hqrZn5r/SgAPP7cRSoPbtNbGjaSAjzJ8d/PabY85EOhBQM sOPAzQiqgwWbEys5tSjANnrml/x+DsZP3vBPnrLtCEJBxmiU2F33NJVk2wnWhfHkJQ51dm J51CgnNdTzgweHLm7AwaGcsytQRrRHXFpJ+Omm3pGzDGgj2o+tLzp45AE6KABg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x1F8KhUauu7KxNojFfgjbryvldtnPjmC6AMqgbFW8Ko=; b=CVsk8RlR//u9XkNdp3GUSpE+DlxcwZ/YOzGGXu/mwySZV0xBUhnse6gpkcJGUZPP8CYlBu L6YvQWJZ7fCR+hx4+0zxX2F8f/2d5QWIdJHooj4nrtxr9DUnTfCDJi6G7QjUXANX0XPddd E9myC/YWEmHXpKjJuG9lyQ3gnAr1pwBwGvC/X/rSluFe/Obq9+r1/RMEaNrWA6uaFtzAnd IDY47+2L2p27h1DuuQ0PeGDBY+KN/bjPrMo/5gLEHKQZTOKA07MRQTCyWbLRhUXY2+Jh7H DunyYnOBc4A2fIM8VSy4mR0EV4CFdygld6GOLdJZk7Ph1ST9q96hAAqQeh5HJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477466; a=rsa-sha256; cv=none; b=qd2z5WnV5ibRD3k7dZq2X6MIP70OCRuz+c98y98F+oTsqrJxiToK+kTxT1lGANn8fr1ss5 XQX1RkvGhhln1NGGnx1h/PM7erdG2uwszPMgtdy23k5tNRQhQ1Hpd4aEig+2c5jqEuidQK zBA5pwManzGVnS3dQeSSGdBfXedp35SAwKQ0b4Is6APDYObBf9M1suJQJ3gCi5hDJOI8yE D5WK01jzlJKRFHZFCluL5mNugFegi1dgbKzOa+4wr584ynGzXbA58nn2orNwe+ms/X6EBA ezuR/UMNO7bCQUNiG30mYLYhcxX1pp+hH9N9P+ZUjJ0icjoAz32buX6t3nJpbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPk3ydbzVDb; Mon, 23 Jan 2023 12:37:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbk0k085550; Mon, 23 Jan 2023 12:37:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbk9Q085549; Mon, 23 Jan 2023 12:37:46 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:46 GMT Message-Id: <202301231237.30NCbk9Q085549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 7217ec3ed290 - stable/13 - Add support for the new Arm Generic UART _HID List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7217ec3ed290ad47a56e7686b896879c2a4eeac4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7217ec3ed290ad47a56e7686b896879c2a4eeac4 commit 7217ec3ed290ad47a56e7686b896879c2a4eeac4 Author: Andrew Turner AuthorDate: 2022-12-19 13:42:44 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Add support for the new Arm Generic UART _HID Historically the ACPI _HID for both the Arm PL011 and Generic UARTs was ARMH0011. In the Arm Base Boot Requirements 2.0 the Generic UART _HID is changed to ARMHB000. Use this new value in the PL011 driver where we support both UART types. This has been observed in some recent EDK2 builds. Sponsored by: Arm Ltd (cherry picked from commit f9ccec823a9f759ad6360c2a0c6336a3e2a6188a) --- sys/dev/uart/uart_dev_pl011.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/uart/uart_dev_pl011.c b/sys/dev/uart/uart_dev_pl011.c index 822283369075..ae1536bc4300 100644 --- a/sys/dev/uart/uart_dev_pl011.c +++ b/sys/dev/uart/uart_dev_pl011.c @@ -341,8 +341,8 @@ UART_FDT_CLASS_AND_DEVICE(fdt_compat_data); #ifdef DEV_ACPI static struct acpi_uart_compat_data acpi_compat_data[] = { {"ARMH0011", &uart_pl011_class, ACPI_DBG2_ARM_PL011, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"}, - {"ARMH0011", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"}, - {"ARMH0011", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"}, + {"ARMHB000", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"}, + {"ARMHB000", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"}, {NULL, NULL, 0, 0, 0, 0, 0, NULL}, }; UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data); From nobody Mon Jan 23 12:37:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPl69bmz3bT1n; Mon, 23 Jan 2023 12:37: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 4P0qPl5YBWz3CdZ; Mon, 23 Jan 2023 12:37:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AhxYdR+56qKGnJvl8luUxIAantL3QLBVudDcHgUnFhU=; b=agUBf4LDpu4ADLkwBJvK3ctgkCYSgvSKKDqz2h2ic0yHUdvoCV+W6YU0i/cYbtAuTJD8J7 nACkewpKQN/D2NKuwDuqmsYgO3SRrBn/irEzEPG2t8ugRg8YR4d7Gc1S9lG9yN+kJ+qNZP O1Qn2vJRdO98btbC4NW8RE/Yrauvim7lv0CyX696/V5eobvqPEKBKtpCV5dJCZcTxgOtwt ajSCyDf5ViDUq2K/yLqzyaHcbjfaN60//PVEERLK6bj3bu2WJVVDiN5dbmcvgwOE21jZaQ KpxsoJHewsomEHqEK5Vf0QAix418h0ueYFAu0l0CSeVTg4lHNWTTkFOi3OYJOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AhxYdR+56qKGnJvl8luUxIAantL3QLBVudDcHgUnFhU=; b=oledyKwSQHZ4zchamjZ7aXTOJhzGBgO65P5nRiY5qJeUD3P7H80zKNg2fWhxAzCE3/Cvra 9d9gY3Oof7pdXo31f2cx56QykKxWpO4bQaphAKxba7a43Ja1pSjmr2BlknpXbLn5cF6EOj VVrJLGHZf0IIcSfnSD6LasWnnrhNzuVJLUiSAqqBbfmjQUhoX4Mfo4hrlMONM2pqaz9oFg voqSIbEHqLrotFbq5pRWvKJ17KNEv7uihr+iKWDLlCvI0CcF3X0WC1TKvlo/NP699MY6ih ktgpfxp+CWjRw5NJpaORnrDIPtvqxVyw5yCWHuAyo5pWNNpGxYEFg3O2RN65Yw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477467; a=rsa-sha256; cv=none; b=X/3GUAAhJoA5qW8mxiHNd0Sqh0TIWbioyeQaYZSULL4EEghtJb3KbF4x3d2yGolvvaHViO JVYpb/yZ7SF+WkBZDzj05PY5rjPYDUc+fO09AlAJQghg9XRljEllmhxKpqQd5uNpfYD9on Ce51Z9hd2C9LKbMMYnr2N6WqqoONp2rZUfbMt1iSzflxoV9A1etdhWCFiN6o/XBZIdRswb NzDSiUdVtP5cE3JaPTWhlS3m6bjepidvf+T0n9G82/4E0iGyp118AwBRIUiBC3LSenwq7f 40+zg2kjqyXOZM3Jzm7OrSxlJx22jpHKwMtRXea6LgiFQ5tFQTKoEnorsX57MA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPl4fxVzVMJ; Mon, 23 Jan 2023 12:37:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCblfm085577; Mon, 23 Jan 2023 12:37:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCblLF085576; Mon, 23 Jan 2023 12:37:47 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:47 GMT Message-Id: <202301231237.30NCblLF085576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 52583b734d7f - stable/13 - Check for more XHCI ACPI IDs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 52583b734d7fcb7f98024bed0f3ed2d6bedd6277 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=52583b734d7fcb7f98024bed0f3ed2d6bedd6277 commit 52583b734d7fcb7f98024bed0f3ed2d6bedd6277 Author: Andrew Turner AuthorDate: 2023-01-04 12:33:08 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Check for more XHCI ACPI IDs The Windows Dev Kit 2023 uses the XHCI-compliant USB controller without standard debug ID in its ACPI tables. Check for both ID values found on [1] in the XHCI ACPI attachment. [1] https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/device-management-namespace-objects Tested by: Robert Clausecker Sponsored by: Arm Ltd (cherry picked from commit 8793196ca28f7b78f04ca479fe60b7d7af6b20e1) --- sys/dev/usb/controller/generic_xhci_acpi.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/controller/generic_xhci_acpi.c b/sys/dev/usb/controller/generic_xhci_acpi.c index 80ad8ca4e8a4..aa96c3f40fee 100644 --- a/sys/dev/usb/controller/generic_xhci_acpi.c +++ b/sys/dev/usb/controller/generic_xhci_acpi.c @@ -53,13 +53,16 @@ __FBSDID("$FreeBSD$"); #include "generic_xhci.h" +static char *xhci_ids[] = { + "PNP0D10", + "PNP0D15", + NULL, +}; + static int generic_xhci_acpi_probe(device_t dev) { - ACPI_HANDLE h; - - if ((h = acpi_get_handle(dev)) == NULL || - acpi_MatchHid(h, "PNP0D10") == ACPI_MATCHHID_NOMATCH) + if (ACPI_ID_PROBE(device_get_parent(dev), dev, xhci_ids, NULL) >= 0) return (ENXIO); device_set_desc(dev, XHCI_HC_DEVSTR); From nobody Mon Jan 23 12:37:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPn1rwpz3bSwF; Mon, 23 Jan 2023 12:37: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 4P0qPm6mtjz3D5Z; Mon, 23 Jan 2023 12:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NqXuOifRY5tVn7VYIVWNi0b+zvhx2i4byGi9LA4H/Yg=; b=t2//jJT9chH8CFjJf9ZwK33pq5BcqWkwmpFWT6IR85VJ20dB6D+Zn0nNh79BqQWYXHd2Rc UXwHf899/rxwQiq+jORAxjMkqAu/csz+I0JVhcJdHgyv3I7YHHmIBuMi1V1zos9JUh7tNs qxFvUh4snFyYA1z75TkQbpwkMWBsMlujbCKZvd9OtaKXowvZz+6ccuIShMNB+EEBtQyHC1 9K98/KZmRcdfJ59xw70s02iaca6KfuHKYT1vlOHhC+Ls4sCTNGaDDpdKZ6TE0FNSwElSuZ l2OneUZB6b0ksM5TwDmAyx6PBSyNxJNW6ZCn29cz3HohCXEJEU8La9PmQ6TbtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NqXuOifRY5tVn7VYIVWNi0b+zvhx2i4byGi9LA4H/Yg=; b=neckKiAkFBWh52eNuBYoBa06Qs+8EGuE9zUTpmokoBUb60j8elSBDDIsfLpSAjlvIrw0yS v97LmEBmOpdu9qWBt7UDuIuSipTpM3zBlYO1mGMksyBRfhvloYUBavJksUUcEOcAtMqiu5 0H/yguRLG1K+CezeavGJ7ArX5m2MDBC1sIVQJe8ZEu0iUySvJv//8EH0naPVJjATBc+gse knRBOL6m4rD35jGb+JewZ/61s+G3od9Ew26qhnaoCkqfGa1Z14XksmfYGx2oG668vbQk0M FQiqfWsR4DEEYi299acabvLjjL9w3RS5kXpjctV+oLHdC/82YFpsxSg31x8MPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477468; a=rsa-sha256; cv=none; b=T9y7SpuqIbVl2bD2VHvPt/5U4c/mm12J3RjKO0a9kKP8izDHzR5SQyo21MUDaDRpJFCCb3 Z3eCDj5CEUIQOfsc0Jsdiqnb9iQhIYj1i7IY2Ojvh4ydKDoE/nCdcNJDAMACD/wsZKnD4G 9RSeB6Q6Jpt0q2GnbnglZdOb4ZTzcwSYcQImmU3Z+t6MZWARU6bGfa6Osn27LahMLNJF79 13+j8imW2Tuv/9eyCutqgUjrYdXeA1XwYpwJfVQGr1U2iKte4cbizPr5NlECwGC4nipLMq GXDF92u8IJLdO2muVK4XQ4GyYPjO7tbBInEUK1D/chUEDQu0clIub4OCExGlSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPm5tsszTCr; Mon, 23 Jan 2023 12:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbmOM085601; Mon, 23 Jan 2023 12:37:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbmwS085600; Mon, 23 Jan 2023 12:37:48 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:48 GMT Message-Id: <202301231237.30NCbmwS085600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: d6a01b37b7ee - stable/13 - Add Windows Dev Kit 2023 support to if_ure List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d6a01b37b7eee147715d1e3945790652edc5b966 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d6a01b37b7eee147715d1e3945790652edc5b966 commit d6a01b37b7eee147715d1e3945790652edc5b966 Author: Andrew Turner AuthorDate: 2023-01-04 13:23:59 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 Add Windows Dev Kit 2023 support to if_ure The Windows Dev Kit 2023 has an if_ure NIC with custom vendor and procuct IDs. Add them to the driver. Tested by: Robert Clausecker Obtained from: OpenBSD Sponsored by: Arm Ltd (cherry picked from commit e5b9b5ee8c3a4f3bff348cd94e3555e6b69585f6) --- sys/dev/usb/net/if_ure.c | 1 + sys/dev/usb/usbdevs | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/dev/usb/net/if_ure.c b/sys/dev/usb/net/if_ure.c index fa04a6a212ba..5cfb763c113a 100644 --- a/sys/dev/usb/net/if_ure.c +++ b/sys/dev/usb/net/if_ure.c @@ -105,6 +105,7 @@ static const STRUCT_USB_HOST_ID ure_devs[] = { URE_DEV(LENOVO, ONELINK, 0), URE_DEV(LENOVO, USBCLAN, 0), URE_DEV(LENOVO, USBCLANGEN2, 0), + URE_DEV(MICROSOFT, WINDEVETH, 0), URE_DEV(NVIDIA, RTL8153, URE_FLAG_8153), URE_DEV(REALTEK, RTL8152, URE_FLAG_8152), URE_DEV(REALTEK, RTL8153, URE_FLAG_8153), diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 6a6ac5cb8434..fcacc1d8e83f 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -3302,6 +3302,7 @@ product MICROSOFT WLNOTEBOOK3 0x00d2 Wireless Optical Mouse 3000 (Model 1049) product MICROSOFT NATURAL4000 0x00db Natural Ergonomic Keyboard 4000 product MICROSOFT WLNOTEBOOK2 0x00e1 Wireless Optical Mouse 3000 (Model 1056) product MICROSOFT XBOX360 0x0292 XBOX 360 WLAN +product MICROSOFT WINDEVETH 0x0c5e Windows Dev Kit 2023 Ethernet /* Microtech products */ product MICROTECH SCSIDB25 0x0004 USB-SCSI-DB25 From nobody Mon Jan 23 12:37:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPp2zlqz3bT1v; Mon, 23 Jan 2023 12:37: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 4P0qPp0fQgz3CyZ; Mon, 23 Jan 2023 12:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5/wb0vCarcwjq1ONagzs3i+Qt2Qo35N2DSx1D5157yI=; b=sh7ej7aY+lrvdjcGpKEeMy09EieGLxemowYEVZvQiKd0OBbEOMnh2jcn0UW/3gyLYCMU5c Pdww+oonZH5T/p+Tt1J6eUong8HtRTO4ZnzXPy0WXanzrYT+NhIfba57yuSAf7fv42vQjy FNm6VaOKH/sHmdSLhljde4uJuO+1vIJB50oLSF0GizT+bshkTnvpddywSzhF8P3fO4hIAg 24FeOPiWyWiXaQsU77FMYNzJmwqsZX+4+CJlIc2AyfkK7gRY6c1mahYdCuyic0ehLSu9yM yVt51FKAif8ggcL53DGcXae8xxMZCqN3WwIkXb1RSMjA6aipGKk5cSPc22ziDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5/wb0vCarcwjq1ONagzs3i+Qt2Qo35N2DSx1D5157yI=; b=V1xZ2qM/zTigvh7ZFnY8RhZXXPb3VQ8ne51NQ+tHxxUZT0/r8R/Qoez5jOYvviHYuPNGS/ RB1fIYldiWqxS0XFfdf0hphIETbZ4aBYSjXiett0ik9+CReqcZG/7UJ3mG4/HmfWyu+dgM LpEiezia4ACHZBEdDv8ffAeR0RZ3dzB9wERETobiuTJex4Ra52sAhyf6wr4b0c8QSM8sd4 npwBgECm+zc3KgXP7RCCfhbbln1h3tEaw3VMq+cIBEEqYnX0iuNWMBf20LMOkHfl3BYFen db+IG5Lv0cLjInLiv+p3rt5c3CPLjrZa11mtkMDe2rUSTYdtyuKPfWCvd0WK8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477470; a=rsa-sha256; cv=none; b=MOWYfso464xeJSLsgpDgSin/QRi81Zq/zNfpVKhSQWaaEmN0lfap2hZvL4R0l2xdR+4A5F WXXuVIU1j3cN2s1nAOqEzfd5aFpZdKxTPpcJKRF5tgugDq/cJan+c+uQvDahzxtvWAvDsk FWrPW3bAU1XvowkCSYDW7yPV3EfTTQMqXSWjxROlOlAel/nDIQ5Y4uaOjLFqYgO6A+ThnH 5jcegvmlSseyT1kzlXeUsjJLFpjebOULx3R1nng6OaPH5skpkO60cM8yFYNhpJ5P77nzNY 4kbfRRnh7z6cg0CTkT5czLCwLCIT8DBGQtyRQPMb3nScSSUT8Uy/Bt+fIB9zbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPn6p90zTCs; Mon, 23 Jan 2023 12:37:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbnk3085625; Mon, 23 Jan 2023 12:37:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbnEl085624; Mon, 23 Jan 2023 12:37:49 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:49 GMT Message-Id: <202301231237.30NCbnEl085624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9b0b515befac - stable/13 - loader.efi: make sure kernel image is executable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9b0b515befac603b3584a10098fdc9956191f5a8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9b0b515befac603b3584a10098fdc9956191f5a8 commit 9b0b515befac603b3584a10098fdc9956191f5a8 Author: Robert Clausecker AuthorDate: 2023-01-02 21:12:50 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 loader.efi: make sure kernel image is executable The Windows Dev Kit 2023 (Volterra) has an UEFI implementation that maps EfiLoaderData pages as non-executable. Map the kernel as EfiLoaderCode to ensure that it can be executed. With this change and another in review, FreeBSD boots to the mountroot prompt if hw.pac.enable = 0 is set in loader.conf(5). Reviewed by: andrew, imp, tsoome Sponsored by: Berliner Linux User Group e.V. Sponsored by: spline / FU-Berlin Differential Revision: https://reviews.freebsd.org/D37931 (cherry picked from commit 95fa2e0aee5b7259cf4bcdea7396c4dff3241173) --- stand/efi/loader/copy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index 19521a854402..abf908b09548 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -331,7 +331,7 @@ efi_copy_init(void) staging = get_staging_max(); #endif - status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderData, + status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderCode, nr_pages, &staging); if (EFI_ERROR(status)) { printf("failed to allocate staging area: %lu\n", @@ -399,7 +399,7 @@ efi_check_space(vm_offset_t end) /* Try to allocate more space after the previous allocation */ addr = staging_end; - status = BS->AllocatePages(AllocateAddress, EfiLoaderData, nr_pages, + status = BS->AllocatePages(AllocateAddress, EfiLoaderCode, nr_pages, &addr); if (!EFI_ERROR(status)) { staging_end = staging_end + nr_pages * EFI_PAGE_SIZE; @@ -416,7 +416,7 @@ before_staging: addr = rounddown2(addr, M(2)); #endif nr_pages = EFI_SIZE_TO_PAGES(staging_base - addr); - status = BS->AllocatePages(AllocateAddress, EfiLoaderData, nr_pages, + status = BS->AllocatePages(AllocateAddress, EfiLoaderCode, nr_pages, &addr); if (!EFI_ERROR(status)) { /* @@ -439,7 +439,7 @@ expand: #if defined(__i386__) || defined(__amd64__) new_base = get_staging_max(); #endif - status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderData, + status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderCode, nr_pages, &new_base); if (!EFI_ERROR(status)) { #if EFI_STAGING_2M_ALIGN From nobody Mon Jan 23 13:52:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0s3V2Mj6z2t55d; Mon, 23 Jan 2023 13:52: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 4P0s3V1wzwz3R3n; Mon, 23 Jan 2023 13:52:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674481926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgXPGVvNXj4uuWio1Rlidi9aX9p6qZi3mio3zsAIH1w=; b=XrHUP825hBK5BpUjC9WTtf62u6Pre9wk5JIxU322cCjYakivF6mcJLk/UMb1izYdnBtFDU rh29pKvjGsT5Q1006L9xUDBUszkIt2OGHZ1Sd3oB+1lNiRrFrKLO2puMnood7UoVwMUYcC wGDBJIJDym4uSWVliGgjKcHB6IBdcAlfSO96959YhSvmCjDOF+q6I3UsNhc63deopzC26t o2yjR60EAE8W8xkPoYLa8asm2z8mVSnDgp0Aue35A3zvG9lxDEAyP4/GuJFx5rY46KOlaM Q949F/10mZAYr43y8NdiOX7gH6JEhdORJAhD1nwSWD2rKIkSm9r0vbc0VTdpBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674481926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgXPGVvNXj4uuWio1Rlidi9aX9p6qZi3mio3zsAIH1w=; b=dvYe5cSnr2i/pAe6duqPHZp7M6K/tbYomo0ztP/ri8xGoWU8aokpOgAFGR30xZ9pp6duxO VUtcntAA5t+B/mZi5KNuCUiWX1ac6DrzGG1u8dEBH6o5NkOiqC2y6qb1U+gR0efa9ayCpm R6JluKo5mVPd0+JpmqpBv6QsrI9RiprI/6EHBLiVONGDTmsdbkgcsPrDsuWWcQNkMcZQiL FE8lAizPO3hAZgyuNUNjY1bfAjx5EGvPGTVfMaY2uffYyZK6xcKmtf56VLAyuZGA0tW9KQ tfdhQVKwOJFRdTT3lVSNcvujlxkcPHLArX17naKtoYgjLtJ4IdQeb4rzhwos+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674481926; a=rsa-sha256; cv=none; b=Gr4C0Xmn+Pa0TxK67Kax8xb3Tpv7D9Ux14woMsu6PwFPbtuBdChNsna4cO80eunXnZpZcj fUGFWhZpsRSL9ZWs72M5iUHjLpTG0cuqD5eP2oTCLSw73mtFUo94bjnQgJY0XCiEbVSZXJ ZHNvuR/LrzD0XhawqtMtxPC5FmJBOQNbQVvEDmaHlyNyPMouPQ6+sonHyQ6NpIFWybUeAW dvwajKGNbWaCE/nvjOtBxwtKncrvXUQiglsHthfNIl6H/W+rXgAcMIAMHKjDidXrGu3eqN AERAvHwRA/wPXjk+Pke1hpmagMEWLfPIb8bXPFHQ9hJB6H3vE/SvIZXIr1NN3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0s3V0zftzX32; Mon, 23 Jan 2023 13:52:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NDq6eg099032; Mon, 23 Jan 2023 13:52:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NDq6FM099031; Mon, 23 Jan 2023 13:52:06 GMT (envelope-from git) Date: Mon, 23 Jan 2023 13:52:06 GMT Message-Id: <202301231352.30NDq6FM099031@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: f2dc387443f3 - stable/12 - vm_object: Fix a kernel memory disclosure via the vm_object list sysctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: f2dc387443f3c8025cc0c4bbd6cd4e6dd1c729bf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f2dc387443f3c8025cc0c4bbd6cd4e6dd1c729bf commit f2dc387443f3c8025cc0c4bbd6cd4e6dd1c729bf Author: Mark Johnston AuthorDate: 2023-01-16 15:53:59 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 13:51:57 +0000 vm_object: Fix a kernel memory disclosure via the vm_object list sysctl Reported by: Chris J-D MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit b050ee6c97e7f5b6f1e3adec69775fa41afc948f) --- sys/vm/vm_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 4edab2a10eef..3896f48e7a98 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2316,7 +2316,7 @@ sysctl_vm_object_list(SYSCTL_HANDLER_ARGS) count * 11 / 10)); } - kvo = malloc(sizeof(*kvo), M_TEMP, M_WAITOK); + kvo = malloc(sizeof(*kvo), M_TEMP, M_WAITOK | M_ZERO); error = 0; /* From nobody Mon Jan 23 13:57:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0s9N4x4Kz2t5mQ; Mon, 23 Jan 2023 13:57: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 4P0s9N4P8fz3h39; Mon, 23 Jan 2023 13:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vpt3/iq1RJ98Ogw0tp5bmzyHE8vBjvB7gJjUlP/xoXE=; b=cn9c0fgXsggDRyDSbFzf+LvXKSzpA6+E+f8h7GWJUGDzzVmU6lCxbO/XeaQEWxAuRfoIol BC9yX7NjyN7Bu1QYdC5XDybTzMKa3VfWr5pVQZaR5No/TPvHLTrEzRNk9ONezV79l4xAmb EMSFTG78w2/9DfwlQvhEMrQT9pTw+52GcMu6X4djpOzA9Dag2R/sNJLkF86dZF4BLKXNOl F5EZQuAIMQz4x9obZNm1WC25VDQ+RxTnPnsOqh5InrkftNNBTXkaqX4/m5ttlqYwHJOtO1 EDCnzWJq13Edoo+udOf7NXYEuBQzu22cDPrMdpO0n925rG5V5ui0+WlMJS18Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vpt3/iq1RJ98Ogw0tp5bmzyHE8vBjvB7gJjUlP/xoXE=; b=RuPWfmBn0UVTzaDFKaUtDKp1B4lyurwt12NEY9Gs+BWbtgRUdAu6JUw2IgUscUmRuTihID GS3sFk4xWjIGtmRhiIUwq8Q07D8sxuawjxnovsDSv+oSztZtzFUJAYkR70DNY0PEmG2uEd oqCEvcwdRqNnb0kDmleZVyn19jEt/ECxjDnnOB5cuAlzN/WSJAhfN72hwBEiTaYTdm7v+d RMoVwHbdn91jbskZLzlSD41Lp/qSEGWoI5vAfzJcvZieTio5dU0weRdFDd72JmbTJOMwe5 Jzsdp9qzwve5cmAzZYMc01lSKXleYhrrHJetDyNV/eS8f2aZI8UBPKdsKBoglw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674482232; a=rsa-sha256; cv=none; b=SErAzE7oGPKFXbEJ6IipX57Wr2LTMqGIHHNGy58ra1ddOnPSMl2gDaoODdkJWI0XLHWyzm 97DzF0dMjioOaVOsIAke5+E75EIrtBlT8kAiGkA74ZjeG2KG4WwRVcZghcXR0LQqG29n/K nNzyrEAxriI5kaPvWmvJCE/9NY0exaqi1I/69Gw920k0TqFYuDkq2E01y5LW68SBLMc/WE 2CzvcrUFM6Rd08LL0IjxrNwizE72CQhbqbjJKg/XRTIAw48uvc5pX1qDqyQQFNIAYDNWXX phhi1HqWNhzES/a24KQuEnwyAO3qQrgco4WW96B5cSBZBlbZUZRYpbyN7Sn9GA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0s9N3QJwzX5d; Mon, 23 Jan 2023 13:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NDvCn5000609; Mon, 23 Jan 2023 13:57:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NDvCul000608; Mon, 23 Jan 2023 13:57:12 GMT (envelope-from git) Date: Mon, 23 Jan 2023 13:57:12 GMT Message-Id: <202301231357.30NDvCul000608@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: ab1e089df8cf - stable/13 - debugnet: remove spurious message on boot List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ab1e089df8cf984b00cf232beac7579989378cf4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ab1e089df8cf984b00cf232beac7579989378cf4 commit ab1e089df8cf984b00cf232beac7579989378cf4 Author: Franco Fichtner AuthorDate: 2022-12-16 15:27:18 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 13:50:12 +0000 debugnet: remove spurious message on boot In non-INVARIANTS kernels, hide the warning message printed by debugnet when an interface MTU is configured or link state changes, and debugnet cannot infer the number of mbuf clusters to reserve. The warning isn't really actionable and mostly serves to confuse users. Reviewed by: vangyzen, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D34393 (cherry picked from commit 346b8b25d90acbbbc829ddf2227ab978ffdaec7a) --- sys/net/debugnet.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/net/debugnet.c b/sys/net/debugnet.c index 3295b33c3dd6..b41d93eca7fe 100644 --- a/sys/net/debugnet.c +++ b/sys/net/debugnet.c @@ -855,6 +855,9 @@ debugnet_any_ifnet_update(struct ifnet *ifp) * dn_init method is available. */ if (nmbuf == 0 || ncl == 0 || clsize == 0) { +#ifndef INVARIANTS + if (bootverbose) +#endif printf("%s: Bad dn_init result from %s (ifp %p), ignoring.\n", __func__, if_name(ifp), ifp); return; From nobody Mon Jan 23 13:57:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0s9P6999z2t5vt; Mon, 23 Jan 2023 13:57: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 4P0s9P5PDXz3h9l; Mon, 23 Jan 2023 13:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+qSQqj341DdUJNbwsoBCuT7LaBIh8ANIvSglB0xyX8=; b=cf/rjW7RuyTfT6v7mui3AUmt4LKmfy02hoDxJebVDaRIeImQqztgxB8ZSJvsbApppDFN+K CB+awoyUVL1i4o8pAZ0JR+Q2wgldRc/rwvaOJLPb+eK9EzrSN6RZEUIVBigrg2q9H8S/Tk Wxr7y/LF6igIA0Ny/VyIZgRnR6PF/Xvc4VC/vIF1vhOFF/DOABMSPiKHIbDf+MlsAR2pnW npvJDF63g+5YwowYl7+8RoUBhV6S7kmdM+qGZXrrU+0O12DhVP9TvDdFGGHXuLjxtullTL JXZAgD3ie0IgLq8x1c4OyLISfjHIwlxHqmO1q5S+52jYoZIkjkO409i6qVYL7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+qSQqj341DdUJNbwsoBCuT7LaBIh8ANIvSglB0xyX8=; b=oQ+gVPSuGqyI9QgN4HRwQFWQqnnohj5VBWhKy+moAo0Gs6zM2KRQJepOAVaPSnJyxDahKO PexPTWEYzz4unf2IYniEUkScvAfFJQPw+XjE6z1I/A+UAzImtArDyg/XROYtKAQM3Ib3hF 8/edJzIF9QEJj2ETQefpNFKON7lco/03XdEaLHT7VwZesOcrT8a1p27qo8VrtGGqqA8rkI +RX6pT414kAvcMKSV2ILM61Rvx0/dvpEJanNHnilXe+S6KZlXJuAjllkFNLlu3g+bBIoCQ +I3a3kjohaK/dCNoZ66RIhsN91l9vOVe4iWuxasDErLw3e7CT66XcB4GIpB32w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674482233; a=rsa-sha256; cv=none; b=crjZNU7qdgkByPhAaS/HQxcxAiqjjxJq2QXx/5ImWC7bbGRrsaY6UvyPol5G3IP++t2YK9 ttTcT6gCxbo50XvWX0ugk79i8a75JaEKX+3iUsNObD+QNF++5EdOrzZTtlv/LXwJfZoAxu UBcgmPMcbmu4vbhyitsZCfvnBE8jRZgZqQYGFdFhrdhm+XPU2pNCFtroqAGn0dDVIhAoww wHD/+D5O6NFT9xWrNiBd/UoTxyxIq12j4xoIVP1krLM1vmhZnq7gQ5O0Hypx/pVLiDFiHI MauePmQqddNMEA4DdOV0a3BBDH+jy9fMtN1YixnWJLcHfxk3QJEeifweCFwBKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0s9P4JDgzWdF; Mon, 23 Jan 2023 13:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NDvD1T000640; Mon, 23 Jan 2023 13:57:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NDvD8J000639; Mon, 23 Jan 2023 13:57:13 GMT (envelope-from git) Date: Mon, 23 Jan 2023 13:57:13 GMT Message-Id: <202301231357.30NDvD8J000639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: b3c44b6bb188 - stable/13 - atomic: Make atomic_san.h self-contained List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b3c44b6bb188ca0e6e05ec992271944e516990ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b3c44b6bb188ca0e6e05ec992271944e516990ae commit b3c44b6bb188ca0e6e05ec992271944e516990ae Author: Mark Johnston AuthorDate: 2023-01-04 02:47:52 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 13:50:13 +0000 atomic: Make atomic_san.h self-contained This file assumes that uint*_t and __typeof() are defined, so ensure that consumers don't have to pull in the requisite includes themselves. This is consistent with sys/atomic_common.h. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D37939 (cherry picked from commit 6ebd8466af2a33d88f491799287035aa0477a5c8) --- sys/sys/atomic_san.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/sys/atomic_san.h b/sys/sys/atomic_san.h index 1f7d615ebd11..9ceea2988db2 100644 --- a/sys/sys/atomic_san.h +++ b/sys/sys/atomic_san.h @@ -43,6 +43,9 @@ #error do not include this header, use machine/atomic.h #endif +#include +#include + #define ATOMIC_SAN_FUNC_1(sp, op, name, type) \ void sp##_atomic_##op##_##name(volatile type *, type); \ void sp##_atomic_##op##_acq_##name(volatile type *, type); \ From nobody Mon Jan 23 13:57:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0s9Q6CxSz2t5mV; Mon, 23 Jan 2023 13:57: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 4P0s9Q5mbcz3hS0; Mon, 23 Jan 2023 13:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUpf8fUojQIHdxxwjqJ4uzcjX1S/QM+BkLr6Cli9b8A=; b=ewOJaWClR/utCU424YTC3ii1jCR89+lIollypddO1dh90Z7lhz0d0psPVPYej0vgczdWMJ JZ2bqMA5YyWOecRPLoliyAWiT/N5yt2TICwYjsCi4gKc1VUrQWINTr1VtGhwzyaBt2Xk3T GY9Is2T5wYcVgWhcZEwNRfFfld6Vah/u941VdoZhmQ/C5i4+frixY3rKoFZu6vzYqhBmW9 JPLU+4xd8H948tYervDjFwAJIyvjmxQcXsK8oyjcXFHB78Sl2w/XTSWNMxhk63pIpevvwK hS7O1Zscl16ZZ8eU/GvoDrzaxVUj7/osaXoR6F+IdsocoDSeaRHwJLOoZM+z5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUpf8fUojQIHdxxwjqJ4uzcjX1S/QM+BkLr6Cli9b8A=; b=lTZM3zLp2Ayy/z6+sOtgY3EcZ3XYTiyBlIdK1dbMEPbj8pFCpjqpjX84K6idnnrM7KcMz3 p+XGMyEtAkVVuAlvz2yxYD05gna0MVytECwoUUxRQGivk7UqEj4nupP2TZofPmMCFdAUm/ l8IhuIdlBotR2guN0an+8+tq4pa6VEM6AR+hqyDa93y9nr+m8aXn+4n2U5srPE1ynah6OS BAKYdiPGnFckOwGDZTAIxs2UmJi4CTH+h6n4s9B3YqSMXMzKYoUDFaOqvfUijquSi9A1BC iK7mWJUyh8af+/LrPrY6VkxEarpLntfNHnB7YkcebjNNnRpF2/77Q++kK1SLcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674482234; a=rsa-sha256; cv=none; b=feozN/4Rg7L6li9k6c8WJuMUqWhEQ1O8y7i1/A8vDpuTlRf5iGjiWTICGXA9gqNFmGhYod tmprbahOaiMYnyiLUg2Sje+CSAh9zKshJRy1R9J2TKgJHXEl2R7xQtN2hJPTks1E/xlHbx WnEWI00P6225sXZqkuCED23DqNQXKQQHjAj3uOApXvJ244v6pVgSzCKT4OdIA7KUid4Db/ JM/n6SXkjvCki8MnU1ZdsAtYBNzFC3yZTL4McL9vjwNVEAVtmDfldpRCzysqc6wdpA4blI WwpV9bk4WkQp0fLo1EtIHhjwao9AmCMUxtYswwL17pmrlNIlHiGKhcCg80vDXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0s9Q4tbjzX1C; Mon, 23 Jan 2023 13:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NDvE31000666; Mon, 23 Jan 2023 13:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NDvEDl000665; Mon, 23 Jan 2023 13:57:14 GMT (envelope-from git) Date: Mon, 23 Jan 2023 13:57:14 GMT Message-Id: <202301231357.30NDvEDl000665@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 09d0e6b74aab - stable/13 - vm_object: Fix a kernel memory disclosure via the vm_object list sysctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 09d0e6b74aab5ba7c4314aef8274c56cfb839f27 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=09d0e6b74aab5ba7c4314aef8274c56cfb839f27 commit 09d0e6b74aab5ba7c4314aef8274c56cfb839f27 Author: Mark Johnston AuthorDate: 2023-01-16 15:53:59 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 13:50:31 +0000 vm_object: Fix a kernel memory disclosure via the vm_object list sysctl Reported by: Chris J-D MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit b050ee6c97e7f5b6f1e3adec69775fa41afc948f) --- sys/vm/vm_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index e7097be7b115..7228c6201b7e 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2582,7 +2582,7 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) count * 11 / 10)); } - kvo = malloc(sizeof(*kvo), M_TEMP, M_WAITOK); + kvo = malloc(sizeof(*kvo), M_TEMP, M_WAITOK | M_ZERO); error = 0; /* From nobody Mon Jan 23 13:57:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0s9R75MZz2t63T; Mon, 23 Jan 2023 13:57: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 4P0s9R6VLrz3hFJ; Mon, 23 Jan 2023 13:57:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=prQ7ggMWDtbCgiZlTPmH1gQmfhOFiMOj+wt6Esl3GNk=; b=MUDQmTzXZXRav5nia8NlxuGJ5j5puiJy5eyYSjWNZ5M+1HqiglFRaKVkYpyg0rMp4N5fMM kZ4SHokTPAJ0q0KeAx45sVvpz2wT9cv7w15YEI2pCO34441/NHXzuPMxYau3AMWXP7K6Bx DmA9a2t0EH6YL94g4MzrPOHL12YN4ZSG+nIbkKW67Q+K6y57V6Z6uqt3Shd0c+xcjypQ6X cb227FWG8PeBYqvlwEof0HCsA1TPnlDO2h/fyAfm9U9JRDPVmy1I0M89BOwv074LvzrvfY ZU81RbVoqg7Z8OMGJEOH/SkcyKcGrFP2yv4zrqNehLbynpQStLiddEZkpK9W9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=prQ7ggMWDtbCgiZlTPmH1gQmfhOFiMOj+wt6Esl3GNk=; b=iodt/u5Lb0AbOJCgXTQngVT2H1ROgciWoteCgn8pmCrtBcWWKWuZXzCIX3Q/BENMgbUjZR 9gtWAhbPMvTFtryYScm7bZmIadyRa/qOoMvWabtepEj2Xs9yoZewhPtFj+OhZLvMsmXigm 2cUImgWRZ+mkleJbxp6rLbhIjn5uUaBZwchEjOrXGIBAQPEQxBkYGMhKzcYlbbRWHxGq4C MLs3L52TmF0lKZqVjc57UWLy5h86GTxo3C5NOs4UOCb4Dzqf4iprRIkR9hrs/9iO/9Qjjy T0+aujFjY6j3ucNpAc4Khc71Pb6c4EGQWEQNSfgg6WE3L9SVISDtDsr+snJWdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674482235; a=rsa-sha256; cv=none; b=KPCd27UZZzSkfpr1yQOGVi5W63d4wWtqAf2BcJk8yIKeUAZ30WT4s9HxLx7PdEKNvephhR 0hrWlcVeXHPm67wlq36RijBcOpjCol63FVsRJ2N3+id0ghrPZaXrBDnxFxULzDmDnS92O6 c0N4LQcxnk00AbvVWgF8z/LcatJ9oGq7kKCBgBVBiYxk1Xy2sZzU0Gpdos/5yuRKhslead 85BCp6Wbmt/0gY5UPnuAmTyhc0GmpETMwzmpTKrftuwH1dWPjlPqwTIMBvcHygc6FH6EEm AhKmAKwp/dNweJSqCkyid85Z/n2aafXHMR6lT4yc0gf55qqhMirUQgjJ0V9vrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0s9R5bZqzX1D; Mon, 23 Jan 2023 13:57:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NDvFFE000694; Mon, 23 Jan 2023 13:57:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NDvFEq000693; Mon, 23 Jan 2023 13:57:15 GMT (envelope-from git) Date: Mon, 23 Jan 2023 13:57:15 GMT Message-Id: <202301231357.30NDvFEq000693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: f824b9115e58 - stable/13 - atomic: Remove cdefs.h includes from atomic_*.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f824b9115e58d4bb1177e28dcd52f6c8a9cdf383 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f824b9115e58d4bb1177e28dcd52f6c8a9cdf383 commit f824b9115e58d4bb1177e28dcd52f6c8a9cdf383 Author: Mark Johnston AuthorDate: 2023-01-16 13:03:20 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 13:50:41 +0000 atomic: Remove cdefs.h includes from atomic_*.h Avoid including cdefs.h in system headers. Both headers now include types.h, and we can assume that that pulls in cdefs.h (required for __typeof usage in some of the atomic macro expansions). No functional change intended. Reviewed by: imp, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38039 (cherry picked from commit f7e2f98bffdafff65012fb02ad838c30b7e3502f) --- sys/sys/atomic_common.h | 1 - sys/sys/atomic_san.h | 1 - 2 files changed, 2 deletions(-) diff --git a/sys/sys/atomic_common.h b/sys/sys/atomic_common.h index a7b0b50512dc..b7bfa151e8ca 100644 --- a/sys/sys/atomic_common.h +++ b/sys/sys/atomic_common.h @@ -36,7 +36,6 @@ #error do not include this header, use machine/atomic.h #endif -#include #include #define __atomic_load_bool_relaxed(p) (*(volatile _Bool *)(p)) diff --git a/sys/sys/atomic_san.h b/sys/sys/atomic_san.h index 9ceea2988db2..beeea82a666b 100644 --- a/sys/sys/atomic_san.h +++ b/sys/sys/atomic_san.h @@ -43,7 +43,6 @@ #error do not include this header, use machine/atomic.h #endif -#include #include #define ATOMIC_SAN_FUNC_1(sp, op, name, type) \ From nobody Mon Jan 23 13:57:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0s9T2MKBz2t604; Mon, 23 Jan 2023 13:57: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 4P0s9T0jCvz3hR9; Mon, 23 Jan 2023 13:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFCFx4wIQEoPHYLcAQe3jThFlgdI5Ugmwh+u5To43dw=; b=w9h+XXPXVHo7v5RqYbdSyzK+aeuOktEKny/mStCjOJQ3h7t5WD5qp2VXLQhcqjgnK4istP /2FuYHUt9jt81ayylSO7UBvZYmE3aDB0qs63GVp809QfD6eMcg2WW+V3tIMbkw1ZfRjYu5 mQZwou7cOarXwdjElureQ2tcVmU045Syoo7OdRvkH57BFERDNevREtljJDyhay/XmDTOXd YxD5vILgxmgFcrelVL2f28TRnyW0mqKV9Ab5XsKoZZEFeqEwmT7vk53hm8s7j4g7EEmlrm b/sCGSJNOTCkZWKcz2S5UihtddPWyc+ZiekuuVBiF4+V+//1GLwTEwPvZVpFDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674482237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFCFx4wIQEoPHYLcAQe3jThFlgdI5Ugmwh+u5To43dw=; b=QpjelCOpb+omoOxWtBhEDiwbs11FRsxAyBwhW2uqGY8sEFVhG/z6jVhQ6PobpXm5wClQjd /stCQ7V30PHoXTxpuko/D+bAyrQHcRcAIQqqQmJb/qcNvGh4pKfKt/gDLJFE6enzc3Wtfg aSzPLAvEUrPWQT/0YN8ahWV/n9NYte9A3U1dTotyztl6rMBfg6E7WmK5BRn76Erh9yGPZP Ps/c6DB+52a3RlCJbfZXEKM6643j8d3xK+SlZXLfNNpJmlnHAjNaXde8MPfa266K3Uzg8+ phu185Le3lFIO8OqTc1BKQVn340nnV94uNSmYcTUAcLivJKUfuTvnLP6VBEplg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674482237; a=rsa-sha256; cv=none; b=kMIpXy1pm+de0hxobX5QHG2xDHco7RACiPKzHgEduUyXfyKkahetP/5p0qfLZSkpkajsEh HLiof0XYeB+K/SDf71V0VQJQ6mFBTY3PWs92YyFpUukxBYUJi+ZXe538AqGrNtNyUsB0Ip G+5AITbGC1MRKdC73C/+4aUXzCs0PgpIDc7F0P4i+2/wQA1uLG2PT0bbIykiMw9KINjYbd /zyvNDFfGYOi1ZeRZIjfkmgJD438kDe9nI3EbgFzVU7V2CIKgb9FpJ/4SmqENHEUI6o4vB jJa2vk8iOQc5PAXlWG5TQY+WV5lWHpeZ5epvwEKXIQ9cnX4uko4GxuNTHgJeEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0s9S6gZRzWdG; Mon, 23 Jan 2023 13:57:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NDvGXL000718; Mon, 23 Jan 2023 13:57:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NDvGIb000717; Mon, 23 Jan 2023 13:57:16 GMT (envelope-from git) Date: Mon, 23 Jan 2023 13:57:16 GMT Message-Id: <202301231357.30NDvGIb000717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 74c21730d283 - stable/13 - atomic.9: Remove the stated dependency on types.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 74c21730d283f5c2ce30e95a128d03633774955c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=74c21730d283f5c2ce30e95a128d03633774955c commit 74c21730d283f5c2ce30e95a128d03633774955c Author: Mark Johnston AuthorDate: 2023-01-16 13:04:01 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 13:50:49 +0000 atomic.9: Remove the stated dependency on types.h All machine/atomic.h necessarily include sys/atomic_common.h, which brings in types.h. Reviewed by: imp, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38040 (cherry picked from commit ccffe71ad4d9ac01f6bb4efa625ffcaf9fae739f) --- share/man/man9/atomic.9 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/man/man9/atomic.9 b/share/man/man9/atomic.9 index ebc6ed791f37..e95bfbdbf4e8 100644 --- a/share/man/man9/atomic.9 +++ b/share/man/man9/atomic.9 @@ -22,7 +22,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 6, 2021 +.Dd January 16, 2023 .Dt ATOMIC 9 .Os .Sh NAME @@ -40,7 +40,6 @@ .Nm atomic_thread_fence .Nd atomic operations .Sh SYNOPSIS -.In sys/types.h .In machine/atomic.h .Ft void .Fn atomic_add_[acq_|rel_] "volatile *p" " v" From nobody Mon Jan 23 15:44:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0vYN3BQXz2v51t; Mon, 23 Jan 2023 15:44: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 4P0vYN2gm3z3rb3; Mon, 23 Jan 2023 15:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674488680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JfOuruaO69CKUMr4jsGai3+e1toKeaPoQd422aSwhBc=; b=k6PblVThJPqUKDKZyUPJe//fizq0Qr860DKK21YQrWC/FIXa1CcB4VOzI5zzZGH8KCIJQl W1GMDncSjXVsO5JZ4/D0aAO0s06IzntyJSn2bGp59KHCLrO99McmlSgkO+X9U36XvQkhoj j0mN0a7WNYFGBpzZB2vHhM8tbTBP6qPSnYnVtjUft/a5Tgp2AbXNPMhpwCyGtCv6ULdQws J87DV7c8NYRiBedccCPJE8i/O8bQcQVOLRACQ+zG8UO0w3XQluOeOad0Dh5of9XhSjR1mn +6/hQGW30okh93+tK/sGU8an9GfK7nnCLaZYoMsjexm+JppVRUC544UTV+yBPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674488680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JfOuruaO69CKUMr4jsGai3+e1toKeaPoQd422aSwhBc=; b=f+4xpiFzcs6RhAuE1+2l5mVkCIOa2fWmZk2zgdlKtSW/XzguIiVmczuMaMShNYAZkTzgqI yngGj0JzwV7J5/bARVz9gPqlHOWmuKv47UBcMD63D53ckdgj2Sj6tnQUmWub/1SCy3vt4o aM94Ze31ngX5N3JkNFq2VNOLwdw5mp62+zFTcHIn2qKaKz1KTgvPj9PUXPz1LaFe8la4xn sJmnvuGSbeDtl+DjPbD0gQwekyUeEfYefjBdWLc5ppGwUR5h1kqD9fU+NhGrMucXwV0J+t 54BlDL6mBcaC3+Nef0wfbTlcE7GWUSm/l18QenD4MI4VWdqq1wRZrQ8EvI9Ikw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674488680; a=rsa-sha256; cv=none; b=hcC0Yuf9BTveZlKupJLOmfLM8X1Q1R1W3Frt88Usk/NVzGWda70as+dbRYVzBh39vxpX37 NfNobGYp66x29pwkZ95B8mqdf66YN1n6gkkSQi/w5AWmsnUFIlXZ4mLWy1wM0MJJSuYm1K 3PwyF2aNP7GgA0RH7LIBns8dqZXPlZVfCwQuJX3WDHjCWyH6LIjc3RxXrRVrX9xSWwFC4G p6r7HNiyc6uMnDH5SSTjntPg2WAkMt7+ygKBVYtjmNdyx2pSL6LDoNxwZdMoeRFyC0j63z qQHQr8r6mRTHBwXlzj7V2y/5KFePz7umcZHbn81rvsaM2ycOjDuWRx3hjS+UQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0vYN1XmpzZ5X; Mon, 23 Jan 2023 15:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NFiek4057827; Mon, 23 Jan 2023 15:44:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NFie1F057826; Mon, 23 Jan 2023 15:44:40 GMT (envelope-from git) Date: Mon, 23 Jan 2023 15:44:40 GMT Message-Id: <202301231544.30NFie1F057826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: 82ed3fb02543 - stable/13 - fuser: fix loop over kinfo_proc array List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 82ed3fb02543af31840fdb2b0c26c77f3ae6cd5e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=82ed3fb02543af31840fdb2b0c26c77f3ae6cd5e commit 82ed3fb02543af31840fdb2b0c26c77f3ae6cd5e Author: Gleb Smirnoff AuthorDate: 2023-01-09 16:40:20 +0000 Commit: Gleb Smirnoff CommitDate: 2023-01-23 15:43:46 +0000 fuser: fix loop over kinfo_proc array The previous code would skip as many entries at the end of the array as there were zombies in the list. While here fix type of cnt. Submitted by: Ali Abdallah PR: 232702 (cherry picked from commit dd2b23006caa2323a12749dfc0d831a26a79bc5b) --- usr.bin/fstat/fuser.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/usr.bin/fstat/fuser.c b/usr.bin/fstat/fuser.c index ad4aebf4a2cb..2d9aa72875f4 100644 --- a/usr.bin/fstat/fuser.c +++ b/usr.bin/fstat/fuser.c @@ -163,12 +163,12 @@ int do_fuser(int argc, char *argv[]) { struct consumer *consumer; - struct kinfo_proc *p, *procs; + struct kinfo_proc *procs; struct procstat *procstat; struct reqfile *reqfiles; char *ep, *nlistf, *memf; - int ch, cnt, sig; - unsigned int i, nfiles; + int ch, sig; + unsigned int i, cnt, nfiles; sig = SIGKILL; /* Default to kill. */ nlistf = NULL; @@ -253,10 +253,9 @@ do_fuser(int argc, char *argv[]) /* * Walk through process table and look for matching files. */ - p = procs; - while(cnt--) - if (p->ki_stat != SZOMB) - dofiles(procstat, p++, reqfiles, nfiles); + for (i = 0; i < cnt; i++) + if (procs[i].ki_stat != SZOMB) + dofiles(procstat, &procs[i], reqfiles, nfiles); for (i = 0; i < nfiles; i++) { fprintf(stderr, "%s:", reqfiles[i].name); From nobody Mon Jan 23 16:45:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0wvG5v4Jz30w63; Mon, 23 Jan 2023 16:45: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 4P0wvG5N80z3wsL; Mon, 23 Jan 2023 16:45:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zedXjXXyPNATya2JP/xRq5Nga7JZB3HnToaiGQ9SQ94=; b=p8gZbJMaMse3b/Nq4BZhFO7qtAQYRGdBchao2kVp/qAyFjS2HBCR93klzTlsZydny9lNVz xiyracK5Db89sJKDRb065Hk05PC+nsgUgWhbvxC36+gpAay/4OHt7dNxYfsUdib0hwSlRp uQeiST9vFP+lEaE5lbU+XszALNNPBP3m4FTwRCq2pLloFFrqfrbWgqxCfMfvUfbeY/I0Tv +06jykGpmZltlKTfdKKGyXbsrdhiyqcWq1Pk4d2GpEEXCMonx9i8k6RaqDF4IxipX7xYAZ 26LpwSVHFOICNNRrbNKlkdpkSDSOh4u7yPgje5xeUMDGi8k93ZChwiLndzt6Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zedXjXXyPNATya2JP/xRq5Nga7JZB3HnToaiGQ9SQ94=; b=rHqZZ4tvLDQPBB6nqImdCp3g0735Xs2Oq9yoEWhQwFH8SDJ0G5LySjSiWI44QqpjTOiyXr kHMWpmhEy/JCqB+m/5mVV9qTOWcLR9nC8CAkTdliMuvpDJNdeYmN7gQfv2ifVMk/dluXCw sSJknp0GsHJkZbHtL2DriaGjcLrPQ+gbpavhRVWpYx71R42LsGrHldc3H/Ncrlds8y6dgP NYNdb7dmWm13LqK6JSBTNiDjblw02Y/LYovDvTUZp2YrnvDZAU4I3ZaX8d2ereEeFYgpTX 15qZOp1WhcZL732qhSvODRWvCL9JIfYilCz6LQpCNW4HMkvr0iIfOn1yQNTH2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674492314; a=rsa-sha256; cv=none; b=cG3zVSx2diYSaLlnXzUJejj2/BS9jBQdQDO8djNrMufObIT5Dfs8ThUeXMIpOL6AfeJKO/ 7AENKHqO4dXVIV7X2RoZEI4rRXsTWrSsqgNjmfzlaxL3Z/UfchWqBt9hXAHUsNGFkoRm1W FyKwa85p/XuHDJBarGYGDlLikPzkZH2lPS4AByjyeTu404cZVFRW2NuhgSpoV/ZNU56IUZ xMHIJa8VAZNJOHCDJ6El8Cm3Y/VPCsk0GJUbawkvVqRAtqkUKKZfUn4oRJ5LtxYtzuehR3 +eNVhFZ82wQZFWB4cIq8eq/VNQjovCu//482IBsY0k0p8t0JALLCXujZjbhQcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0wvG4L6Szbv1; Mon, 23 Jan 2023 16:45:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NGjEnf044287; Mon, 23 Jan 2023 16:45:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NGjECK044286; Mon, 23 Jan 2023 16:45:14 GMT (envelope-from git) Date: Mon, 23 Jan 2023 16:45:14 GMT Message-Id: <202301231645.30NGjECK044286@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 45da40c2c377 - stable/13 - Clarify DTR_ENABLED make variable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 45da40c2c377ba4ab3efd03eed9cf242f01c9c68 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=45da40c2c377ba4ab3efd03eed9cf242f01c9c68 commit 45da40c2c377ba4ab3efd03eed9cf242f01c9c68 Author: Mitchell Horne AuthorDate: 2023-01-03 17:54:15 +0000 Commit: Mitchell Horne CommitDate: 2023-01-23 16:38:53 +0000 Clarify DTR_ENABLED make variable Rename it to DTRACE_ENABLED. Suggested by: jhb MFC after: 3 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 8372afd096ea24d45a573fce11024d143058cdab) --- sys/conf/Makefile.amd64 | 2 +- sys/conf/Makefile.arm64 | 2 +- sys/conf/kern.pre.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/conf/Makefile.amd64 b/sys/conf/Makefile.amd64 index 6effea176878..5438144e6ccc 100644 --- a/sys/conf/Makefile.amd64 +++ b/sys/conf/Makefile.amd64 @@ -33,7 +33,7 @@ S= ../../.. INCLUDES+= -I$S/contrib/libfdt -.if !empty(DDB_ENABLED) || !empty(DTR_ENABLED) || !empty(HWPMC_ENABLED) +.if !empty(DDB_ENABLED) || !empty(DTRACE_ENABLED) || !empty(HWPMC_ENABLED) CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer .endif diff --git a/sys/conf/Makefile.arm64 b/sys/conf/Makefile.arm64 index e8a534dadf5c..cda063466116 100644 --- a/sys/conf/Makefile.arm64 +++ b/sys/conf/Makefile.arm64 @@ -62,7 +62,7 @@ SYSTEM_LD= \ KERNEL_EXTRA+= ${KERNEL_KO}.bin KERNEL_EXTRA_INSTALL+= ${KERNEL_KO}.bin -.if !empty(DDB_ENABLED) || !empty(DTR_ENABLED) || !empty(HWPMC_ENABLED) +.if !empty(DDB_ENABLED) || !empty(DTRACE_ENABLED) || !empty(HWPMC_ENABLED) CFLAGS += -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer .endif diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 645c27627124..6af49075cae8 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -386,5 +386,5 @@ MKMODULESENV+= __MPATH="${__MPATH}" # Detect kernel config options that force stack frames to be turned on. DDB_ENABLED!= grep DDB opt_ddb.h || true ; echo -DTR_ENABLED!= grep KDTRACE_FRAME opt_kdtrace.h || true ; echo +DTRACE_ENABLED!=grep KDTRACE_FRAME opt_kdtrace.h || true ; echo HWPMC_ENABLED!= grep HWPMC opt_hwpmc_hooks.h || true ; echo From nobody Mon Jan 23 16:45:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0wvH6fKbz30w57; Mon, 23 Jan 2023 16:45: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 4P0wvH5vQxz3x68; Mon, 23 Jan 2023 16:45:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oW9i7TezgYJ2uE8N6HJ6uA4wcyQQWp15PVAUCv7l2Zk=; b=GW722/DepoK5OZg9KiHXtQVEOHJbsk3mFqe82AtWtMWz9Azy+nGheK6gDEWVmanaRLjfwl grO7bTcQFFImiHXqovUyggtZfXZWBdxQ+TvqCa29RB2bXwI40DQUq+j3yv+Eo4mafkfaw/ ero1iLwRYJX3uhQZr2eZZqgRCmrqQNIqsprtiUIdOJ1vsfML5LcyFWzxpWcPFui6OHbaw8 t0k7y6cxNiBMKT9bIudUYL1P/GBkQPHhEg7XPG7/pOc1i1bQJyn5B3uNmnxDbt6IlytNut F7WpkHe+D80+upH8Rr3KI2l2Ev01bsh1HiB5/YOaCQ0NHzeoo4lTXo8nMm9p2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oW9i7TezgYJ2uE8N6HJ6uA4wcyQQWp15PVAUCv7l2Zk=; b=Ml70A/E1kSPqFGll4+IL9ejGEdZyln1O+f34VKHt7T55Rc2dNckgT6EV5k2mqESIiJ8Idj EvKglKrb3qqXy1r7QTMlS+VEjY7FF9UD8WUnJ1/TdxpHdZCnTxqwnJR353ZAf7+NGCTSJb FAzZhVTUIAdFAu9rszn2n2ZvPL4Q9wIEIDUNN3abS3vCMcJIM0TTC1vEZWsxMtgfDOO6Th Z+e9xe6zy50o1chMCIguA5eHOgoj96zIgMl8LOUj3ts6NcwBiYdFtydlcduufRz7eIwoZ/ vYCfG+1mnmI1c3Z239gZDc0jooqtNdGsSiK0s+VPSgtboQLWgrRGUFP4ScSbhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674492315; a=rsa-sha256; cv=none; b=PteQp49yZo5UcTFGUwtqvaLY9TALsz9XUrtMmbj5AJ6gpnU0mcPkaH7c4H11chDgju5OBo 7TI7rzKYwP4Ij8aDnwSEht4WjQivagd/EIkRY4b6RyrkYnFnvaUk3WsGb0AGD1msdTqx4E uN1EYG0LqCsvlssb+8PM838KYGESWer9OZrnjlv8JQfVNJdZ+Qj30Bu3f3oQXX72f4WTww djnx8JkGrOurTQQ/4dN9CMSNLDzxm6O6ZLK3Cc/otKBuSThKBGZ1kfMKtllzqRKI/JFfkZ Ceja6hZ41CAgBPQRJ9DWo5yfwt4aeCgc7kyKINHAKu/IE+edgeWP/jfdyj/L6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0wvH4zG1zcCp; Mon, 23 Jan 2023 16:45:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NGjFhi044318; Mon, 23 Jan 2023 16:45:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NGjFxQ044317; Mon, 23 Jan 2023 16:45:15 GMT (envelope-from git) Date: Mon, 23 Jan 2023 16:45:15 GMT Message-Id: <202301231645.30NGjFxQ044317@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 217c99d12a74 - stable/13 - riscv: always include frame pointer List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 217c99d12a743de12dca37ff26d9ab0e8a8c3841 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=217c99d12a743de12dca37ff26d9ab0e8a8c3841 commit 217c99d12a743de12dca37ff26d9ab0e8a8c3841 Author: Mitchell Horne AuthorDate: 2023-01-11 18:04:45 +0000 Commit: Mitchell Horne CommitDate: 2023-01-23 16:39:00 +0000 riscv: always include frame pointer Specifically it is missing in kernel modules, meaning a proper backtrace can't be constructed. Reviewed by: jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37657 (cherry picked from commit b926b6db37f3195e83f9fd2751b7e0c6dcf8aaef) --- sys/conf/Makefile.riscv | 2 +- sys/conf/kmod.mk | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/conf/Makefile.riscv b/sys/conf/Makefile.riscv index d4b1e6934ae8..35b2ca10a717 100644 --- a/sys/conf/Makefile.riscv +++ b/sys/conf/Makefile.riscv @@ -37,7 +37,7 @@ INCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include KERNEL_LMA?= 0x80200000 LDFLAGS+= --defsym='kernel_lma=${KERNEL_LMA}' -.if !empty(DDB_ENABLED) +.if !empty(DDB_ENABLED) || !empty(DTRACE_ENABLED) || !empty(HWPMC_ENABLED) CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls .endif diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index a4dafc22b2e4..2a2ab1d02277 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -158,7 +158,8 @@ LDFLAGS+= --build-id=sha1 .endif CFLAGS+= ${DEBUG_FLAGS} -.if ${MACHINE_CPUARCH} == aarch64 || ${MACHINE_CPUARCH} == amd64 +.if ${MACHINE_CPUARCH} == aarch64 || ${MACHINE_CPUARCH} == amd64 || \ + ${MACHINE_CPUARCH} == riscv CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer .endif From nobody Mon Jan 23 16:45:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0wvK0D5Cz30w67; Mon, 23 Jan 2023 16:45: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 4P0wvJ6rDsz3wwL; Mon, 23 Jan 2023 16:45:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K6BQ3B4tLWiKoeU0mfCtRsDB6AwGuUWVeBEH0QbH6k4=; b=tcRtnPEqijEGgRKJxE/RUG8RCzj07Lwe9/UHRNTR+xLmSgvCjYkVOlv7W3Ca2uzuqcqIrF FsLHqM6tEdyCt1mVLa/IOZuCvb1l47qxe0NzhiZC8uEJJdhzrtBQcZfNmXM0XeMkJ4NTmK d3XQ2uQ4njiBpPQj52UkIFlYGFX4mWKRleXhTOsWmU4GsO2xOiSj+AL6AxUo0Ds3EB0TSg w1EvBYSg1IuvvTK/FkGaWMZZ5Wb2oQcoSqENnmIPLlsT+CZ6ea7eM/eUxpy2nslMQo4pl5 E11HlVE8qiwfEniuGIKcPaqPhID6Rem+sEY1qjhC8ZRarm5Kq6ui08gu9uL8Bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K6BQ3B4tLWiKoeU0mfCtRsDB6AwGuUWVeBEH0QbH6k4=; b=w58geyAEouwSac8ilXywSt237lZcClUo552gWehlzxGgCSoBDaNSlJtITfRqUrmQdzdq0u jc+4Vao0458GKC0uU8FxmAABt0IKPGYyhGKHBI7fDBPDMDvWNIBu18cb+SGwvTQZx/GBph 81tU0cBtR44ZCBB/5uvt8MMAuyABhIi7rKyxiLaqE9++q1RpKmTwm7cqsLF2GNa89dHgIz ahDN6T4/f8Q+xpDSAYbcDwb8kMqZ04O32B/o14baDDd9qypEgGorqzpOQmGK4KeQ+fgNMU nFxbKm79P8NYNseooIMo/o86kCBIKXroAq6B+IH5u6djAAzAaxHCLGsXIdpsew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674492317; a=rsa-sha256; cv=none; b=xLjYdj3zsW2bVx+CoocLvik7oa2aIlVZ0J6LkcdpOMkOPsbYl9Y05sG7qjdnfTS6f35PbE ch1JHN31cioxWYMfg4VwK92ub59RXEc63rcjDB5/C3901GhjQwI/z65h194fZ4dV2aEe+U R0uMrSYSk4lKfHjORdsmNecXQblLTD137urjBV283QQuIpAN3PnBqIn1vWM15nH0txXgVc VaWDHHgpMk1i+5IvZyOoaAThb5dV26CtgUHbSVi3qe4DXgea9mPXWYPv/1kitoaW3G175D 0NZOgzbyCIkRHs1jnjgiK0zdmnyH3PQDUDvQsehOey5k5TCYjdmdwV55Yo0bNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0wvJ5wr8zbv2; Mon, 23 Jan 2023 16:45:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NGjGWa044345; Mon, 23 Jan 2023 16:45:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NGjGSY044344; Mon, 23 Jan 2023 16:45:16 GMT (envelope-from git) Date: Mon, 23 Jan 2023 16:45:16 GMT Message-Id: <202301231645.30NGjGSY044344@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 9534ea54cfa1 - stable/13 - dtrace: remove unused defines List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9534ea54cfa1914b2f85e8806a056664e2543fe0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=9534ea54cfa1914b2f85e8806a056664e2543fe0 commit 9534ea54cfa1914b2f85e8806a056664e2543fe0 Author: Mitchell Horne AuthorDate: 2023-01-11 18:05:38 +0000 Commit: Mitchell Horne CommitDate: 2023-01-23 16:42:07 +0000 dtrace: remove unused defines Reviewed by: markj, emaste MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37659 (cherry picked from commit 2f2ec4bce96058c061f4c08fd62e67c37992dec3) --- sys/cddl/dev/dtrace/aarch64/dtrace_isa.c | 6 ------ sys/cddl/dev/dtrace/arm/dtrace_isa.c | 8 -------- sys/cddl/dev/dtrace/riscv/dtrace_isa.c | 6 ------ 3 files changed, 20 deletions(-) diff --git a/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c b/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c index 4a39fa7860cb..8e184591b916 100644 --- a/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c @@ -50,12 +50,6 @@ #include "regset.h" -/* - * Wee need some reasonable default to prevent backtrace code - * from wandering too far - */ -#define MAX_FUNCTION_SIZE 0x10000 -#define MAX_PROLOGUE_SIZE 0x100 #define MAX_USTACK_DEPTH 2048 uint8_t dtrace_fuword8_nocheck(void *); diff --git a/sys/cddl/dev/dtrace/arm/dtrace_isa.c b/sys/cddl/dev/dtrace/arm/dtrace_isa.c index ede352e6b873..e6fba2d09be8 100644 --- a/sys/cddl/dev/dtrace/arm/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/arm/dtrace_isa.c @@ -50,14 +50,6 @@ #include "regset.h" -/* - * Wee need some reasonable default to prevent backtrace code - * from wandering too far - */ -#define MAX_FUNCTION_SIZE 0x10000 -#define MAX_PROLOGUE_SIZE 0x100 - - uint8_t dtrace_fuword8_nocheck(void *); uint16_t dtrace_fuword16_nocheck(void *); uint32_t dtrace_fuword32_nocheck(void *); diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c index d42299abcd35..1f585aa6fa3c 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c @@ -52,12 +52,6 @@ #include "regset.h" -/* - * Wee need some reasonable default to prevent backtrace code - * from wandering too far - */ -#define MAX_FUNCTION_SIZE 0x10000 -#define MAX_PROLOGUE_SIZE 0x100 #define MAX_USTACK_DEPTH 2048 uint8_t dtrace_fuword8_nocheck(void *); From nobody Mon Jan 23 16:45:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0wvL1BBmz30w95; Mon, 23 Jan 2023 16:45: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 4P0wvL0fLGz3x7G; Mon, 23 Jan 2023 16:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zGQ5T5iKRiZukoayDSpBlGtdTeBNVAJhPkZm7oQrW2c=; b=Jtr9hFgJ5YWqoi8awhGO5PInmKg7r+uh6cgi+qCJUFP4eRLUIgYtBJ1uSzhQ1oUsz04Qkx SZe1JlBFWMU/YGqdS8XJivXvjs9NYhqM704XCJXLIi0HQRTilzjoZ5cZhQdqKxdipc3MhV Nh0mStEjZr8GXoAJi32Sk6W9p2+qCW4oitNWnr0vVPiOkCuDeO93Lg7+gbbtEYk+9TlbcJ VQssvo41gx7HvvaSKS0T//NT7xHgpXvijr6P/jwweDcNknB0iVm7woMFGOLY0PqpfT9u9N NPC2Z8WzJ0w3/VhEHoQvL+Nx0O8k+B+7kWfo3RcVL33JfPDlVMqnXKDkcTvJSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zGQ5T5iKRiZukoayDSpBlGtdTeBNVAJhPkZm7oQrW2c=; b=u2v8aWqnawiUHl/9Y51iYez1jIvuZMRLt9YQFrhDVVgQ5e9EyniZdqT8+9E9CwYRz5xGcp qaaCQALPXTETbJan6s7DiZZCzHNBrOPTIc/OSNex+KjsXfFsB7rO7j9m0GpnbQWLGJNXsE 06ACXddsJWGfsF+K0GyHiF2RcyId5ezaaL0Ei4swG1ikjObJnurJz06T7MPVNmrn5d5Ftz bmMDcrIBdzF/1FTYuTKIRnf6PWNdFB+owC4+ff7Nuxz4w49BvSeQgROg4DwEI4CpQWzqld ZzL9VUF7FKdV5YbO0tKTzgAG783XZNqB0AHL/UptEC6AnwZ7m5u26VfwSCmnJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674492318; a=rsa-sha256; cv=none; b=CUxu199Qe1a4h2Zg/e3JKF8Moq413vXQZ9Jj9yBUbpbUP4dWk7qta9glktvGCdBFwDgWBO Nrc5UsqwFydcjl8FG2OBlv+0/XRWQeE+voGTsPw6ozbT8v0jPmnJz9VjunkfQl7XkjLb2M D7Bfx07l0VDtvCpeptAKVmDlta+tXyrpQm9auDx6G8XQiHWaVj3DEbOvCuvwaD3EE01ZKh PRGuWo0Qgu4y9a7i5O1aUPfl05R+scjvGwzp7BEQhzInARN5XRBBlZGtjGBZZihUm3TFit TMF46XI2nzNFTzXW78mXqr4Vh/ZiIBEDJE1yhiAdR3bMiw6BgaE/YuW9Ldp1oA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0wvK6t7Tzbm9; Mon, 23 Jan 2023 16:45:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NGjHK8044370; Mon, 23 Jan 2023 16:45:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NGjHf8044369; Mon, 23 Jan 2023 16:45:17 GMT (envelope-from git) Date: Mon, 23 Jan 2023 16:45:17 GMT Message-Id: <202301231645.30NGjHf8044369@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 0f95f9c7eadf - stable/13 - dtrace: dtrace_getpcstack() tweaks for riscv List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 0f95f9c7eadf52754e1dba5df760f00582edc92e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=0f95f9c7eadf52754e1dba5df760f00582edc92e commit 0f95f9c7eadf52754e1dba5df760f00582edc92e Author: Mitchell Horne AuthorDate: 2023-01-11 18:06:02 +0000 Commit: Mitchell Horne CommitDate: 2023-01-23 16:42:26 +0000 dtrace: dtrace_getpcstack() tweaks for riscv Backtraces for fbt probes are missing the caller's frame. Despite what the inherited comment claims, we do need to insert this manually on riscv. In fbt_invop(), set cpu_dtrace_caller to be the return address, not addr. We should not increment aframes within this function, since we begin the main loop by unwinding past the current frame. Plus some very small comment/style tweaks. MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37661 (cherry picked from commit cdfa49f2584ac174648ced04d76a47ad6773f2f0) --- sys/cddl/dev/dtrace/riscv/dtrace_isa.c | 32 ++++++++++++++++++++------------ sys/cddl/dev/fbt/riscv/fbt_isa.c | 2 +- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c index 1f585aa6fa3c..bc8426a752df 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c @@ -64,42 +64,50 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *intrpc) { struct unwind_state state; - int scp_offset; + uintptr_t caller; register_t sp; + int scp_offset; int depth; depth = 0; + caller = solaris_cpu[curcpu].cpu_dtrace_caller; if (intrpc != 0) { - pcstack[depth++] = (pc_t) intrpc; + pcstack[depth++] = (pc_t)intrpc; } - aframes++; - + /* + * Construct the unwind state, starting from this function. This frame, + * and 'aframes' others will be skipped. + */ __asm __volatile("mv %0, sp" : "=&r" (sp)); state.fp = (uintptr_t)__builtin_frame_address(0); - state.sp = sp; + state.sp = (uintptr_t)sp; state.pc = (uintptr_t)dtrace_getpcstack; while (depth < pcstack_limit) { if (!unwind_frame(curthread, &state)) break; - if (!INKERNEL(state.pc) || !INKERNEL(state.fp)) + if (!INKERNEL(state.pc) || !kstack_contains(curthread, + (vm_offset_t)state.fp, sizeof(uintptr_t))) break; - /* - * NB: Unlike some other architectures, we don't need to - * explicitly insert cpu_dtrace_caller as it appears in the - * normal kernel stack trace rather than a special trap frame. - */ if (aframes > 0) { aframes--; + + /* + * fbt_invop() records the return address at the time + * the FBT probe fires. We need to insert this into the + * backtrace manually, since the stack frame state at + * the time of the probe does not capture it. + */ + if (aframes == 0 && caller != 0) + pcstack[depth++] = caller; } else { pcstack[depth++] = state.pc; } - } for (; depth < pcstack_limit; depth++) { diff --git a/sys/cddl/dev/fbt/riscv/fbt_isa.c b/sys/cddl/dev/fbt/riscv/fbt_isa.c index 659a9d44c81c..a67e83811d9e 100644 --- a/sys/cddl/dev/fbt/riscv/fbt_isa.c +++ b/sys/cddl/dev/fbt/riscv/fbt_isa.c @@ -57,7 +57,7 @@ fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) for (; fbt != NULL; fbt = fbt->fbtp_hashnext) { if ((uintptr_t)fbt->fbtp_patchpoint == addr) { - cpu->cpu_dtrace_caller = addr; + cpu->cpu_dtrace_caller = frame->tf_ra - INSN_SIZE; if (fbt->fbtp_roffset == 0) { dtrace_probe(fbt->fbtp_id, frame->tf_a[0], From nobody Mon Jan 23 16:45:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0wvM290Qz30wLM; Mon, 23 Jan 2023 16:45: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 4P0wvM1chgz3x9k; Mon, 23 Jan 2023 16:45:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pCVvjGNKPVFCqn4QldzoMXCLlkBLPDLyTPBRz/AgHOM=; b=UtD3+h0zKistTNHUw+HDkXHWts4vC05U6fKaWST/WFeACDUr7TrN+f20UoEieENb6nifwB D7Qqvr1wi5Y5Qrom4nsE6xNH8se6u7KQt3E5sUToXEizmasyiXOor1csrHY7VJcmZjuw4H i4JwQ24psAyQbE7pUKQNSP9l5v4pUMcw6LSx8Jt6RKocXsQhGs6qW80NBLtBfejNtVaXEC qk5vK9RZGNCIyx0O3+p4RoDlDWBr5sm6XdSYJDLZA+XwaE3RDTc6sVR8kRorEOUsx1D1uL MKdnxxrHFQdjWJkFAp7ySMlFRffwgVKXKg024GmbQd40yg3Kjy/0Yx0M8P88JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pCVvjGNKPVFCqn4QldzoMXCLlkBLPDLyTPBRz/AgHOM=; b=nhDqkeCBd6gsB35WvnKzlaQRrmtniEgZdI3tsxkC/QjwpK3Y7VK1MjfyXd0Xd2EjwDSH2w gE7AAfJG8LUa9/XmjENZlAbQyoClHysuw04pEZ/yiW2KJvPElDIN27WIKN+ltpcnQR/5to TKCpuVbHLxXkgyj4gXacnvDjdq9NpThH3qI7Cf3DKR1+5QA2pHGa8kRfIqhH+D43XOSMYM rYLdyu16pVJ3HWLObKAlmYo0DuRDZOOIntriHZwm4ZcEnpPc1wbmI0lutOdGgyaQgUSLD9 hSy8TEg2fWFl2PYM1qVCOvx2Xv5blvZjGfnxu7vef8s8ki7uFJJQtvYVmkbFMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674492319; a=rsa-sha256; cv=none; b=jrTeE73Wja1lOpk+TIyNJ0tceD2bWAQR5kO8LDZIpPv3B86JJjBiaWmXqQMTa5G0kOSl60 DwJ3HfVyK56lbqPqDEkn2hZTNKqkM9ZFOOW2rXBCv1S6eIuGjpRCTnjPu71kSUeATLc916 QNsoNT3QPPVmVhw6JV0hyGoM9FVJoMOCze+JFSKAUYKA9tYdmCPToMuye9vryL0QepTEmr vRSVmXSgmZ8PQX3JtGI0ZPySzvbPVV7oDcm9+iX2XL5JWD5+c78aH7T+LM/IEGqt1HtJuj NMn9NMsJyBaxxdlsHdG2r9qNQlszAVvhp0jbMF3z4CQ9zGY/HDo9FdOvaPp70w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0wvM0kdnzbxF; Mon, 23 Jan 2023 16:45:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NGjJ65044395; Mon, 23 Jan 2023 16:45:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NGjJqp044394; Mon, 23 Jan 2023 16:45:19 GMT (envelope-from git) Date: Mon, 23 Jan 2023 16:45:19 GMT Message-Id: <202301231645.30NGjJqp044394@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 996d5457165d - stable/13 - dtrace: correct profile aframes value for riscv List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 996d5457165d8c86d0356b283d183e31c3107af5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=996d5457165d8c86d0356b283d183e31c3107af5 commit 996d5457165d8c86d0356b283d183e31c3107af5 Author: Mitchell Horne AuthorDate: 2023-01-11 18:06:17 +0000 Commit: Mitchell Horne CommitDate: 2023-01-23 16:42:36 +0000 dtrace: correct profile aframes value for riscv Experimentation shows this is the correct value; the dtrace/interrupt handler frames are omitted, while the backtrace of the active thread is recorded in its entirety. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37662 (cherry picked from commit 40fdda022a16ec1a5ec18e7111a8cb8c147aefaf) --- sys/cddl/dev/profile/profile.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c index 530a8fcd1749..48decf3a89cf 100644 --- a/sys/cddl/dev/profile/profile.c +++ b/sys/cddl/dev/profile/profile.c @@ -127,8 +127,7 @@ struct profile_probe_percpu; #endif #ifdef __riscv -/* TODO: verify */ -#define PROF_ARTIFICIAL_FRAMES 10 +#define PROF_ARTIFICIAL_FRAMES 12 #endif typedef struct profile_probe { From nobody Mon Jan 23 16:45:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0wvN3DtNz30w9C; Mon, 23 Jan 2023 16:45: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 4P0wvN2ffxz3xBZ; Mon, 23 Jan 2023 16:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J3TYYGCEFmyrhTqHDfjPVCFaxrhxTtpgDYopdM8BXGE=; b=eRaWOLQHFS+ItF5ICtGJnSMcpywSTao2mIc6bdpHPxMFb4TvXeWBfCJnx8WqgoLQKKXGiP UTRQi6C3Amc7tevU/JdeTeMRT+pUqH7SStReXTGY2JyoV+KgjwlUK7oDkOhsJXfRdzSowt pmZLD7fCRqsWa+pRvqgoIVEDLQdif/vmeuanUftW0GlFnkx6ER6P+Ye0zvffF/AqlhCmO6 /Q5FXNjf8Q5ZlH/cPj20FdMwbdx+zAEJk00rZILbzCvIzoH0egvvHRnJHo/2RsvsCQwbr9 HnV3KVajYPNj0ZYv7mon8oktlyRd7YCTwzmubQOGtoQ9CdSwnxdRZV0uPFRHYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674492320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J3TYYGCEFmyrhTqHDfjPVCFaxrhxTtpgDYopdM8BXGE=; b=HGIC7S5Y5gyLUxIbWgfvdZl4EqjUD9IabSERHPTDt4WKTALwEtt7KQzSm3GoxH+4J6WK1L VqHJT7Zbu3qKM7LvU7pncA569ImKX6uP6KoUJgx9O2yFJBApCkqJSTxQSa77j/SyT2+zvb 0izzSZKGKg3bfY/QKjUwy0lAbkKfVuAlkv9n9LLvGOpo8FIsw67TvLFnzXC0uY0UxdH+tP CpBJhWppS5uxwH7cfZaTskrQguyJbMw3APlROucejojwf7nQnRrA+zLSpVfVOhLsoRyvSM J61TLFOcrjlx9Qzis7UGd+HJ0QOk8OxvBLkFuCc5U8ibgYmnt8/NJosnK8Udbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674492320; a=rsa-sha256; cv=none; b=tZOHckYA1nN1n+Wm3Wn7+24vEtEsYQewwd1PWy3u3HzeMRie6SAfNi/zG/Kxu5ZdA7vly6 8aj/ULZOV3BPBeK0+I83BctbOX6GF5lI3gnpo3VXZryhvDnC0khFTVnBEYl3Zc8v1q+0Fp ekY9lTd2vf+aneaZKZhdPb3rsMErM9SCti3r1r3ydekT3Wq9sfEUMqeKY0KTC/e7jNBPxQ XPQ98I63OqXDVcgv5990GSFM3rCGb8IoW4nfQw0gF4gQFTJzXOXFtJhjBV1tG+J9mjsOuQ UVPotqIL8vbAl+zhege8t0fqVY4BoMLzPtSE+gGv5JlQYeY4Ya+Rt1/1YJnS1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0wvN1hSJzbp3; Mon, 23 Jan 2023 16:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NGjKJs044419; Mon, 23 Jan 2023 16:45:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NGjKNK044418; Mon, 23 Jan 2023 16:45:20 GMT (envelope-from git) Date: Mon, 23 Jan 2023 16:45:20 GMT Message-Id: <202301231645.30NGjKNK044418@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 68efb54328a5 - stable/13 - dtrace: correct the aframes value for fbt provider List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 68efb54328a5affac0fd68970dbb890ba024dc43 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=68efb54328a5affac0fd68970dbb890ba024dc43 commit 68efb54328a5affac0fd68970dbb890ba024dc43 Author: Mitchell Horne AuthorDate: 2023-01-11 18:06:24 +0000 Commit: Mitchell Horne CommitDate: 2023-01-23 16:42:41 +0000 dtrace: correct the aframes value for fbt provider Set the number of artificial frames to 5: 1. cpu_exception_handler_supervisor() 2. do_trap_supervisor() 3. dtrace_invop_start() 4. dtrace_invop() 5. fbt_invop() Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37663 (cherry picked from commit 36a9ce874b5988dc8615a4b1b3fb41eb9e06051d) --- sys/cddl/dev/fbt/riscv/fbt_isa.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/fbt/riscv/fbt_isa.c b/sys/cddl/dev/fbt/riscv/fbt_isa.c index a67e83811d9e..baf268028988 100644 --- a/sys/cddl/dev/fbt/riscv/fbt_isa.c +++ b/sys/cddl/dev/fbt/riscv/fbt_isa.c @@ -45,6 +45,7 @@ #define FBT_PATCHVAL MATCH_EBREAK #define FBT_ENTRY "entry" #define FBT_RETURN "return" +#define FBT_AFRAMES 5 int fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) @@ -196,7 +197,7 @@ fbt_provide_module_function(linker_file_t lf, int symindx, fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO); fbt->fbtp_name = name; fbt->fbtp_id = dtrace_probe_create(fbt_id, modname, - name, FBT_ENTRY, 3, fbt); + name, FBT_ENTRY, FBT_AFRAMES, fbt); fbt->fbtp_patchpoint = instr; fbt->fbtp_ctl = lf; fbt->fbtp_loadcnt = lf->loadcnt; @@ -239,7 +240,7 @@ again: fbt->fbtp_name = name; if (retfbt == NULL) { fbt->fbtp_id = dtrace_probe_create(fbt_id, modname, - name, FBT_RETURN, 3, fbt); + name, FBT_RETURN, FBT_AFRAMES, fbt); } else { retfbt->fbtp_probenext = fbt; fbt->fbtp_id = retfbt->fbtp_id; From nobody Mon Jan 23 22:11:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P147x3Gwrz2t0BP; Mon, 23 Jan 2023 22: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 4P147x32gVz3K7M; Mon, 23 Jan 2023 22: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=1674511901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JVAhJfDUY80lum6hpCxeGkreo47gD0ooyAD5kKSHXXs=; b=muIWgaZ3YsBICX/EFsuOCnPbQzxFnkkwmjxO6VvgdgzT5js1CAqAmnqoaLMhpStnjbMZ8f +zUbLUNYj6q1MxzZOWjT/OyJBInU7hoqe0TIU39XVeCwVUx0fzqD4ZxIw2wIYfAPG2juVc ixhsAsSTumoOO/AtySzPQoewTPRvwJks9tdi8aOfIrVUkX4qD2A2nlz5/QELlU1O29oNhv OLZACyOh3DIfli7glX9stEHv4ZuUTlhuP6/6if9LJFUAElmNsjNDASa0eZHHPzkRhrfiV1 adGZxcKkMiYPO2dEwBX6wkKqCEJF1kl84kZ0B5MVv+WFWHKTvaW6cDyGOcyTBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JVAhJfDUY80lum6hpCxeGkreo47gD0ooyAD5kKSHXXs=; b=ExgT7jZs4wjfQ9or8+khi5zDBm9YXYcKeslj1VYbT2qnU11EfScCxkfpmQu0psYEb2m+Zh 4+vM1fyMxG7vDhhZdkp6SPCTkyLzZSQGorPQqzAQsNSyzMgtn77x/71U9Kg/A58nJ/ZUXP 9hffWAg4gnOqNbgQJgCT047qVeQnsHmhHxHTpoBmGXe5lD0/j11FKaUOT1OK2zhyGt979x 8Qu15EvrtTVHfWEo5AMiGiE2WoZTPNcnphMGeuGpm8iXLa42a0vA3JwQ/gi4Pf9DGuzha6 oNyKfD7ET0LWLSbFWpha3Hsw7zRi/muRjo93tvlaGnJUesYYTouEjlsY6QZx9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511901; a=rsa-sha256; cv=none; b=BlAuEveGKTewTvdGHoZHhdRy8hnQGzBQPf6ohSyx+K0Yx0FZ5uvxtLeXlXFysAGuF5sI7r yLl5kBc3dpeFdOJe/ssR2A0YQ7tZ8JeqNBXuPs6oDrc2WHddgRZbnaP7kMT6vfribQad5C gRudU9nU8FNsnb1muPzkahfl5LXgtJzMETXeMulrwe+YjbhEujUvrRkV0c29GryWBSOPRL 1NJlwheajHYA2DYlhdaFvWScO1jGU2Ug9hahT9YsqYqkO6tsKbF5qmszRF+uRZUy1PDpfn EpKfbkFeSRSG+BlyRJdGZ2JFaI5HVGCIdr7zaJsRwD/zKCcyD/H8CTg3D6K5JQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P147x25gVzlPB; Mon, 23 Jan 2023 22:11:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBfpm012402; Mon, 23 Jan 2023 22:11:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBfdA012401; Mon, 23 Jan 2023 22:11:41 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:41 GMT Message-Id: <202301232211.30NMBfdA012401@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6bbfbaa6ae46 - stable/13 - netlink: add netlink support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6bbfbaa6ae46f732603c2a23c7ece6dfe39c1e03 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6bbfbaa6ae46f732603c2a23c7ece6dfe39c1e03 commit 6bbfbaa6ae46f732603c2a23c7ece6dfe39c1e03 Author: Alexander V. Chernikov AuthorDate: 2022-01-20 21:39:21 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 19:18:08 +0000 netlink: add netlink support Netlinks is a communication protocol currently used in Linux kernel to modify, read and subscribe for nearly all networking state. Interfaces, addresses, routes, firewall, fibs, vnets, etc are controlled via netlink. It is async, TLV-based protocol, providing 1-1 and 1-many communications. The current implementation supports the subset of NETLINK_ROUTE family. To be more specific, the following is supported: * Dumps: - routes - nexthops / nexthop groups - interfaces - interface addresses - neighbors (arp/ndp) * Notifications: - interface arrival/departure - interface address arrival/departure - route addition/deletion * Modifications: - adding/deleting routes - adding/deleting nexthops/nexthops groups - adding/deleting neghbors - adding/deleting interfaces (basic support only) * Rtsock interaction - route events are bridged both ways The implementation also supports the NETLINK_GENERIC family framework. Implementation notes: Netlink is implemented via loadable/unloadable kernel module, not touching many kernel parts. Each netlink socket uses dedicated taskqueue to support async operations that can sleep, such as interface creation. All message processing is performed within these taskqueues. Compatibility: Most of the Netlink data models specified above maps to FreeBSD concepts nicely. Unmodified ip(8) binary correctly works with interfaces, addresses, routes, nexthops and nexthop groups. Some software such as net/bird require header-only modifications to compile and work with FreeBSD netlink. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D36002 MFC after: 2 months (cherry picked from commit 7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6) --- etc/mtree/BSD.include.dist | 4 + sys/modules/Makefile | 1 + sys/modules/netlink/Makefile | 17 + sys/net/route.c | 11 + sys/net/route/route_ctl.h | 7 + sys/net/rtsock.c | 42 ++ sys/netlink/netlink.h | 257 +++++++++ sys/netlink/netlink_ctl.h | 102 ++++ sys/netlink/netlink_debug.h | 82 +++ sys/netlink/netlink_domain.c | 689 +++++++++++++++++++++++ sys/netlink/netlink_generic.c | 472 ++++++++++++++++ sys/netlink/netlink_generic.h | 112 ++++ sys/netlink/netlink_io.c | 528 ++++++++++++++++++ sys/netlink/netlink_linux.h | 54 ++ sys/netlink/netlink_message_parser.c | 472 ++++++++++++++++ sys/netlink/netlink_message_parser.h | 270 +++++++++ sys/netlink/netlink_message_writer.c | 686 +++++++++++++++++++++++ sys/netlink/netlink_message_writer.h | 250 +++++++++ sys/netlink/netlink_module.c | 228 ++++++++ sys/netlink/netlink_route.c | 135 +++++ sys/netlink/netlink_route.h | 43 ++ sys/netlink/netlink_var.h | 142 +++++ sys/netlink/route/common.h | 213 ++++++++ sys/netlink/route/iface.c | 857 +++++++++++++++++++++++++++++ sys/netlink/route/iface_drivers.c | 165 ++++++ sys/netlink/route/ifaddrs.h | 90 +++ sys/netlink/route/interface.h | 245 +++++++++ sys/netlink/route/neigh.c | 571 +++++++++++++++++++ sys/netlink/route/neigh.h | 105 ++++ sys/netlink/route/nexthop.c | 1000 ++++++++++++++++++++++++++++++++++ sys/netlink/route/nexthop.h | 102 ++++ sys/netlink/route/route.c | 972 +++++++++++++++++++++++++++++++++ sys/netlink/route/route.h | 366 +++++++++++++ sys/netlink/route/route_var.h | 101 ++++ 34 files changed, 9391 insertions(+) diff --git a/etc/mtree/BSD.include.dist b/etc/mtree/BSD.include.dist index dca55513d945..a28162060e76 100644 --- a/etc/mtree/BSD.include.dist +++ b/etc/mtree/BSD.include.dist @@ -269,6 +269,10 @@ .. netinet6 .. + netlink + route + .. + .. netipsec .. netnatm diff --git a/sys/modules/Makefile b/sys/modules/Makefile index f381675a9b9f..56af2fb507ce 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -271,6 +271,7 @@ SUBDIR= \ my \ ${_nctgpio} \ ${_ndis} \ + netlink \ ${_netgraph} \ ${_nfe} \ nfscl \ diff --git a/sys/modules/netlink/Makefile b/sys/modules/netlink/Makefile new file mode 100644 index 000000000000..046ecf5a2961 --- /dev/null +++ b/sys/modules/netlink/Makefile @@ -0,0 +1,17 @@ +.PATH: ${SRCTOP}/sys/netlink +KMOD= netlink + +SRCS = netlink_module.c netlink_domain.c netlink_io.c \ + netlink_message_parser.c netlink_message_writer.c netlink_generic.c \ + netlink_route.c route/iface.c route/iface_drivers.c route/neigh.c \ + route/nexthop.c route/route.c + +EXPORT_SYMS= +EXPORT_SYMS+= nlmsg_get_chain_writer +EXPORT_SYMS+= nlmsg_refill_buffer +EXPORT_SYMS+= nlmsg_end +EXPORT_SYMS+= nlmsg_flush + +EXPORT_SYMS= YES + +.include diff --git a/sys/net/route.c b/sys/net/route.c index 79735699827a..b4076123e5d6 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -812,3 +812,14 @@ rt_routemsg_info(int cmd, struct rt_addrinfo *info, int fibnum) return (rtsock_routemsg_info(cmd, info, fibnum)); } + +/* Netlink-related callbacks needed to glue rtsock, netlink and linuxolator */ +static void +ignore_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) +{ +} +static struct rtbridge ignore_cb = { .route_f = ignore_route_event }; + +void *linux_netlink_p = NULL; /* Callback pointer for Linux translator functions */ +struct rtbridge *rtsock_callback_p = &ignore_cb; +struct rtbridge *netlink_callback_p = &ignore_cb; diff --git a/sys/net/route/route_ctl.h b/sys/net/route/route_ctl.h index 0b331e5f7d2c..d150da6264d4 100644 --- a/sys/net/route/route_ctl.h +++ b/sys/net/route/route_ctl.h @@ -189,4 +189,11 @@ void rib_unsubscribe_locked(struct rib_subscription *rs); void rib_notify(struct rib_head *rnh, enum rib_subscription_type type, struct rib_cmd_info *rc); +/* Event bridge */ +typedef void route_event_f(uint32_t fibnum, const struct rib_cmd_info *rc); +struct rtbridge{ + route_event_f *route_f; +}; +extern struct rtbridge *rtsock_callback_p; +extern struct rtbridge *netlink_callback_p; #endif diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 34825d2a6cc6..69a5698e4b5f 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -210,6 +210,7 @@ static void send_rtm_reply(struct socket *so, struct rt_msghdr *rtm, int rtm_errno); static bool can_export_rte(struct ucred *td_ucred, bool rt_is_host, const struct sockaddr *rt_dst); +static void rtsock_notify_event(uint32_t fibnum, const struct rib_cmd_info *rc); static struct netisr_handler rtsock_nh = { .nh_name = "rtsock", @@ -265,6 +266,45 @@ VNET_SYSUNINIT(vnet_rts_uninit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, vnet_rts_uninit, 0); #endif +static void +report_route_event(const struct rib_cmd_info *rc, void *_cbdata) +{ + uint32_t fibnum = (uint32_t)(uintptr_t)_cbdata; + struct nhop_object *nh; + + nh = rc->rc_cmd == RTM_DELETE ? rc->rc_nh_old : rc->rc_nh_new; + rt_routemsg(rc->rc_cmd, rc->rc_rt, nh, fibnum); +} + +static void +rts_handle_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) +{ +#ifdef ROUTE_MPATH + if ((rc->rc_nh_new && NH_IS_NHGRP(rc->rc_nh_new)) || + (rc->rc_nh_old && NH_IS_NHGRP(rc->rc_nh_old))) { + rib_decompose_notification(rc, report_route_event, + (void *)(uintptr_t)fibnum); + } else +#endif + report_route_event(rc, (void *)(uintptr_t)fibnum); +} +static struct rtbridge rtsbridge = { .route_f = rts_handle_route_event }; +static struct rtbridge *rtsbridge_orig_p; + +static void +rtsock_notify_event(uint32_t fibnum, const struct rib_cmd_info *rc) +{ + netlink_callback_p->route_f(fibnum, rc); +} + +static void +rtsock_init(void) +{ + rtsbridge_orig_p = rtsock_callback_p; + rtsock_callback_p = &rtsbridge; +} +SYSINIT(rtsock_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, rtsock_init, NULL); + static void rts_handle_ifnet_arrival(void *arg __unused, struct ifnet *ifp) { @@ -1143,6 +1183,7 @@ route_output(struct mbuf *m, struct socket *so, ...) } error = rib_action(fibnum, rtm->rtm_type, &info, &rc); if (error == 0) { + rtsock_notify_event(fibnum, &rc); #ifdef ROUTE_MPATH if (NH_IS_NHGRP(rc.rc_nh_new) || (rc.rc_nh_old && NH_IS_NHGRP(rc.rc_nh_old))) { @@ -1164,6 +1205,7 @@ route_output(struct mbuf *m, struct socket *so, ...) case RTM_DELETE: error = rib_action(fibnum, RTM_DELETE, &info, &rc); if (error == 0) { + rtsock_notify_event(fibnum, &rc); #ifdef ROUTE_MPATH if (NH_IS_NHGRP(rc.rc_nh_old) || (rc.rc_nh_new && NH_IS_NHGRP(rc.rc_nh_new))) { diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h new file mode 100644 index 000000000000..6a68dcec1382 --- /dev/null +++ b/sys/netlink/netlink.h @@ -0,0 +1,257 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2021 Ng Peng Nam Sean + * Copyright (c) 2022 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * Copyright (C) The Internet Society (2003). All Rights Reserved. + * + * This document and translations of it may be copied and furnished to + * others, and derivative works that comment on or otherwise explain it + * or assist in its implementation may be prepared, copied, published + * and distributed, in whole or in part, without restriction of any + * kind, provided that the above copyright notice and this paragraph are + * included on all such copies and derivative works. However, this + * document itself may not be modified in any way, such as by removing + * the copyright notice or references to the Internet Society or other + * Internet organizations, except as needed for the purpose of + * developing Internet standards in which case the procedures for + * copyrights defined in the Internet Standards process must be + * followed, or as required to translate it into languages other than + * English. + * + * The limited permissions granted above are perpetual and will not be + * revoked by the Internet Society or its successors or assignees. + * + * This document and the information contained herein is provided on an + * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + + */ + +/* + * This file contains structures and constants for RFC 3549 (Netlink) + * protocol. Some values have been taken from Linux implementation. + */ + +#ifndef _NETLINK_NETLINK_H_ +#define _NETLINK_NETLINK_H_ + +#include +#include + +struct sockaddr_nl { + uint8_t nl_len; /* sizeof(sockaddr_nl) */ + sa_family_t nl_family; /* netlink family */ + uint16_t nl_pad; /* reserved, set to 0 */ + uint32_t nl_pid; /* desired port ID, 0 for auto-select */ + uint32_t nl_groups; /* multicast groups mask to bind to */ +}; + +#define SOL_NETLINK 270 + +/* Netlink socket options */ +#define NETLINK_ADD_MEMBERSHIP 1 /* Subscribe for the specified group notifications */ +#define NETLINK_DROP_MEMBERSHIP 2 /* Unsubscribe from the specified group */ +#define NETLINK_PKTINFO 3 /* XXX: not supported */ +#define NETLINK_BROADCAST_ERROR 4 /* XXX: not supported */ +#define NETLINK_NO_ENOBUFS 5 /* XXX: not supported */ +#define NETLINK_RX_RING 6 /* XXX: not supported */ +#define NETLINK_TX_RING 7 /* XXX: not supported */ +#define NETLINK_LISTEN_ALL_NSID 8 /* XXX: not supported */ + +#define NETLINK_LIST_MEMBERSHIPS 9 +#define NETLINK_CAP_ACK 10 /* Send only original message header in the reply */ +#define NETLINK_EXT_ACK 11 /* Ack support for receiving additional TLVs in ack */ +#define NETLINK_GET_STRICT_CHK 12 /* Strict header checking */ + + +/* + * RFC 3549, 2.3.2 Netlink Message Header + */ +struct nlmsghdr { + uint32_t nlmsg_len; /* Length of message including header */ + uint16_t nlmsg_type; /* Message type identifier */ + uint16_t nlmsg_flags; /* Flags (NLM_F_) */ + uint32_t nlmsg_seq; /* Sequence number */ + uint32_t nlmsg_pid; /* Sending process port ID */ +}; + +/* + * RFC 3549, 2.3.2 standard flag bits (nlmsg_flags) + */ +#define NLM_F_REQUEST 0x01 /* Indicateds request to kernel */ +#define NLM_F_MULTI 0x02 /* Message is part of a group terminated by NLMSG_DONE msg */ +#define NLM_F_ACK 0x04 /* Reply with ack message containing resulting error code */ +#define NLM_F_ECHO 0x08 /* (not supported) Echo this request back */ +#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */ +#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */ + +/* + * RFC 3549, 2.3.2 Additional flag bits for GET requests + */ +#define NLM_F_ROOT 0x100 /* Return the complete table */ +#define NLM_F_MATCH 0x200 /* Return all entries matching criteria */ +#define NLM_F_ATOMIC 0x400 /* Return an atomic snapshot (ignored) */ +#define NLM_F_DUMP (NLM_F_ROOT | NLM_F_MATCH) + +/* + * RFC 3549, 2.3.2 Additional flag bits for NEW requests + */ +#define NLM_F_REPLACE 0x100 /* Replace existing matching config object */ +#define NLM_F_EXCL 0x200 /* Don't replace the object if exists */ +#define NLM_F_CREATE 0x400 /* Create if it does not exist */ +#define NLM_F_APPEND 0x800 /* Add to end of list */ + +/* Modifiers to DELETE requests */ +#define NLM_F_NONREC 0x100 /* Do not delete recursively */ + +/* Flags for ACK message */ +#define NLM_F_CAPPED 0x100 /* request was capped */ +#define NLM_F_ACK_TLVS 0x200 /* extended ACK TVLs were included */ + +/* + * RFC 3549, 2.3.2 standard message types (nlmsg_type). + */ +#define NLMSG_NOOP 0x1 /* Message is ignored. */ +#define NLMSG_ERROR 0x2 /* reply error code reporting */ +#define NLMSG_DONE 0x3 /* Message terminates a multipart message. */ +#define NLMSG_OVERRUN 0x4 /* overrun detected, data is lost */ + +#define NLMSG_MIN_TYPE 0x10 /* < 0x10: reserved control messages */ + +/* + * Defition of numbers assigned to the netlink subsystems. + */ +#define NETLINK_ROUTE 0 /* Routing/device hook */ +#define NETLINK_UNUSED 1 /* not supported */ +#define NETLINK_USERSOCK 2 /* not supported */ +#define NETLINK_FIREWALL 3 /* not supported */ +#define NETLINK_SOCK_DIAG 4 /* not supported */ +#define NETLINK_NFLOG 5 /* not supported */ +#define NETLINK_XFRM 6 /* (not supported) PF_SETKEY */ +#define NETLINK_SELINUX 7 /* not supported */ +#define NETLINK_ISCSI 8 /* not supported */ +#define NETLINK_AUDIT 9 /* not supported */ +#define NETLINK_FIB_LOOKUP 10 /* not supported */ +#define NETLINK_CONNECTOR 11 /* not supported */ +#define NETLINK_NETFILTER 12 /* not supported */ +#define NETLINK_IP6_FW 13 /* not supported */ +#define NETLINK_DNRTMSG 14 /* not supported */ +#define NETLINK_KOBJECT_UEVENT 15 /* not supported */ +#define NETLINK_GENERIC 16 /* Generic netlink (dynamic families) */ + +/* + * RFC 3549, 2.3.2.2 The ACK Netlink Message + */ +struct nlmsgerr { + int error; + struct nlmsghdr msg; +}; + +enum nlmsgerr_attrs { + NLMSGERR_ATTR_UNUSED, + NLMSGERR_ATTR_MSG = 1, /* string, error message */ + NLMSGERR_ATTR_OFFS = 2, /* u32, offset of the invalid attr from nl header */ + NLMSGERR_ATTR_COOKIE = 3, /* binary, data to pass to userland */ + NLMSGERR_ATTR_POLICY = 4, /* not supported */ + __NLMSGERR_ATTR_MAX, + NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 +}; + + +#ifndef roundup2 +#define roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ +#endif +#define NL_ITEM_ALIGN_SIZE sizeof(uint32_t) +#define NL_ITEM_ALIGN(_len) roundup2(_len, NL_ITEM_ALIGN_SIZE) +#define NL_ITEM_DATA(_ptr, _off) ((void *)((char *)(_ptr) + _off)) +#define NL_ITEM_DATA_CONST(_ptr, _off) ((const void *)((const char *)(_ptr) + _off)) + +#define NL_ITEM_OK(_ptr, _len, _hlen, _LEN_M) \ + ((_len) >= _hlen && _LEN_M(_ptr) >= _hlen && _LEN_M(_ptr) <= (_len)) +#define NL_ITEM_NEXT(_ptr, _LEN_M) ((typeof(_ptr))((char *)(_ptr) + _LEN_M(_ptr))) +#define NL_ITEM_ITER(_ptr, _len, _LEN_MACRO) \ + ((_len) -= _LEN_MACRO(_ptr), NL_ITEM_NEXT(_ptr, _LEN_MACRO)) + + +#ifndef _KERNEL +/* part of netlink(3) API */ +#define NLMSG_ALIGNTO NL_ITEM_ALIGN_SIZE +#define NLMSG_ALIGN(_len) NL_ITEM_ALIGN(_len) +#define NLMSG_HDRLEN ((int)sizeof(struct nlmsghdr)) +#define NLMSG_LENGTH(_len) ((_len) + NLMSG_HDRLEN) +#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(_len)) +#define NLMSG_DATA(_hdr) NL_ITEM_DATA(_hdr, NLMSG_HDRLEN) +#define _NLMSG_LEN(_hdr) ((int)(_hdr)->nlmsg_len) +#define _NLMSG_ALIGNED_LEN(_hdr) NLMSG_ALIGN(_NLMSG_LEN(_hdr)) +#define NLMSG_OK(_hdr, _len) NL_ITEM_OK(_hdr, _len, NLMSG_HDRLEN, _NLMSG_LEN) +#define NLMSG_PAYLOAD(_hdr,_len) (_NLMSG_LEN(_hdr) - NLMSG_SPACE((_len))) +#define NLMSG_NEXT(_hdr, _len) NL_ITEM_ITER(_hdr, _len, _NLMSG_ALIGNED_LEN) + +#else +#define NLMSG_ALIGNTO 4U +#define NLMSG_ALIGN(len) (((len) + NLMSG_ALIGNTO - 1) & ~(NLMSG_ALIGNTO - 1)) +#define NLMSG_HDRLEN ((int)NLMSG_ALIGN(sizeof(struct nlmsghdr))) +#endif + +/* + * Base netlink attribute TLV header. + */ +struct nlattr { + uint16_t nla_len; /* Total attribute length */ + uint16_t nla_type; /* Attribute type */ +}; + +/* + * + * nl_type field enconding: + * + * 0 1 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * |N|O| Attribute type | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * N - attribute contains other attributes (mostly unused) + * O - encoded in network byte order (mostly unused) + * Note: N & O are mutually exclusive + * + * Note: attribute type value scope normally is either parent attribute + * or the message/message group. + */ + +#define NLA_F_NESTED (1 << 15) +#define NLA_F_NET_BYTEORDER (1 << 14) +#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER) + +#ifndef _KERNEL +#define NLA_ALIGNTO NL_ITEM_ALIGN_SIZE +#define NLA_ALIGN(_len) NL_ITEM_ALIGN(_len) +#define NLA_HDRLEN ((int)sizeof(struct nlattr)) +#endif + +#endif diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h new file mode 100644 index 000000000000..fb5a8b30e0aa --- /dev/null +++ b/sys/netlink/netlink_ctl.h @@ -0,0 +1,102 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _NETLINK_NETLINK_CTL_H_ +#define _NETLINK_NETLINK_CTL_H_ + +/* + * This file provides headers for the public KPI of the netlink + * subsystem + */ + +MALLOC_DECLARE(M_NETLINK); + +/* + * Macro for handling attribute TLVs + */ +#define _roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) + +#define NETLINK_ALIGN_SIZE sizeof(uint32_t) +#define NETLINK_ALIGN(_len) _roundup2(_len, NETLINK_ALIGN_SIZE) + +#define NLA_ALIGN_SIZE sizeof(uint32_t) +#define NLA_ALIGN(_len) _roundup2(_len, NLA_ALIGN_SIZE) +#define NLA_HDRLEN ((int)sizeof(struct nlattr)) +#define NLA_DATA_LEN(_nla) ((int)((_nla)->nla_len - NLA_HDRLEN)) +#define NLA_DATA(_nla) NL_ITEM_DATA(_nla, NLA_HDRLEN) +#define NLA_DATA_CONST(_nla) NL_ITEM_DATA_CONST(_nla, NLA_HDRLEN) +#define NLA_TYPE(_nla) ((_nla)->nla_type & 0x3FFF) + +#ifndef typeof +#define typeof __typeof +#endif + +#define NLA_NEXT(_attr) (struct nlattr *)((char *)_attr + NLA_ALIGN(_attr->nla_len)) +#define _NLA_END(_start, _len) ((char *)(_start) + (_len)) +#define NLA_FOREACH(_attr, _start, _len) \ + for (typeof(_attr) _end = (typeof(_attr))_NLA_END(_start, _len), _attr = (_start); \ + ((char *)_attr < (char *)_end) && \ + ((char *)NLA_NEXT(_attr) <= (char *)_end); \ + _attr = (_len -= NLA_ALIGN(_attr->nla_len), NLA_NEXT(_attr))) + +#define NL_ARRAY_LEN(_a) (sizeof(_a) / sizeof((_a)[0])) + +#include +#include + + +/* Protocol handlers */ +struct nl_pstate; +typedef int (*nl_handler_f)(struct nlmsghdr *hdr, struct nl_pstate *npt); + +bool netlink_register_proto(int proto, const char *proto_name, nl_handler_f handler); +bool netlink_unregister_proto(int proto); + +/* Common helpers */ +bool nl_has_listeners(int netlink_family, uint32_t groups_mask); +bool nlp_has_priv(struct nlpcb *nlp, int priv); + +/* netlink_generic.c */ +struct genl_cmd { + const char *cmd_name; + nl_handler_f cmd_cb; + uint32_t cmd_flags; + uint32_t cmd_priv; + uint32_t cmd_num; +}; + +uint32_t genl_register_family(const char *family_name, size_t hdrsize, + int family_version, int max_attr_idx); +bool genl_unregister_family(const char *family_name); +bool genl_register_cmds(const char *family_name, const struct genl_cmd *cmds, + int count); +uint32_t genl_register_group(const char *family_name, const char *group_name); + +/* Debug */ +uint32_t nlp_get_pid(const struct nlpcb *nlp); + +#endif diff --git a/sys/netlink/netlink_debug.h b/sys/netlink/netlink_debug.h new file mode 100644 index 000000000000..6ff6811c6a5a --- /dev/null +++ b/sys/netlink/netlink_debug.h @@ -0,0 +1,82 @@ +/*- + * Copyright (c) 2022 Alexander V. Chernikov + * + * 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. + * + * $FreeBSD$ + */ + +#ifndef _NETLINK_NETLINK_DEBUG_H_ +#define _NETLINK_NETLINK_DEBUG_H_ + +#define _DEBUG_SYSCTL_OID _net_netlink_debug +#include + +SYSCTL_DECL(_net_netlink_debug); + +/* + * Generic debug + * [nl_domain] func_name: debug text + */ +#define NL_LOG RT_LOG + +/* + * Logging for events specific for particular process + * Example: [nl_domain] PID 4834 fdump_sa: unsupported family: 45 + */ +#define NL_RAW_PID_LOG(_l, _pid, _fmt, ...) NL_RAW_PID_LOG_##_l(_l, _pid, _fmt, ## __VA_ARGS__) +#define _NL_RAW_PID_LOG(_l, _pid, _fmt, ...) if (_DEBUG_PASS_MSG(_l)) { \ + _output("[" DEBUG_PREFIX_NAME "] PID %u %s: " _fmt "\n", _pid, __func__, ##__VA_ARGS__); \ +} + +#define NLP_LOG(_l, _nlp, _fmt, ...) NL_RAW_PID_LOG_##_l(_l, nlp_get_pid(_nlp), _fmt, ## __VA_ARGS__) + +#if DEBUG_MAX_LEVEL>=LOG_DEBUG3 +#define NL_RAW_PID_LOG_LOG_DEBUG3 _NL_RAW_PID_LOG +#else +#define NL_RAW_PID_LOG_LOG_DEBUG3(_l, _pid, _fmt, ...) +#endif +#if DEBUG_MAX_LEVEL>=LOG_DEBUG2 +#define NL_RAW_PID_LOG_LOG_DEBUG2 _NL_RAW_PID_LOG +#else +#define NL_RAW_PID_LOG_LOG_DEBUG2(_l, _pid, _fmt, ...) +#endif +#if DEBUG_MAX_LEVEL>=LOG_DEBUG +#define NL_RAW_PID_LOG_LOG_DEBUG _NL_RAW_PID_LOG +#else +#define NL_RAW_PID_LOG_LOG_DEBUG(_l, _pid, _fmt, ...) +#endif +#if DEBUG_MAX_LEVEL>=LOG_INFO +#define NL_RAW_PID_LOG_LOG_INFO _NL_RAW_PID_LOG +#else +#define NL_RAW_PID_LOG_LOG_INFO(_l, _pid, _fmt, ...) +#endif +#define NL_RAW_PID_LOG_LOG_NOTICE _NL_RAW_PID_LOG +#define NL_RAW_PID_LOG_LOG_ERR _NL_RAW_PID_LOG +#define NL_RAW_PID_LOG_LOG_WARNING _NL_RAW_PID_LOG + + + +#endif diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c new file mode 100644 index 000000000000..159dfd03724d --- /dev/null +++ b/sys/netlink/netlink_domain.c @@ -0,0 +1,689 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2021 Ng Peng Nam Sean + * Copyright (c) 2022 Alexander V. Chernikov + * + * 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. + */ + +/* + * This file contains socket and protocol bindings for netlink. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* priv_check */ + +#include +#include +#include + +#define DEBUG_MOD_NAME nl_domain +#define DEBUG_MAX_LEVEL LOG_DEBUG3 +#include +_DECLARE_DEBUG(LOG_DEBUG); + + +#define NLCTL_TRACKER struct rm_priotracker nl_tracker +#define NLCTL_RLOCK(_ctl) rm_rlock(&((_ctl)->ctl_lock), &nl_tracker) +#define NLCTL_RUNLOCK(_ctl) rm_runlock(&((_ctl)->ctl_lock), &nl_tracker) + +#define NLCTL_WLOCK(_ctl) rm_wlock(&((_ctl)->ctl_lock)) +#define NLCTL_WUNLOCK(_ctl) rm_wunlock(&((_ctl)->ctl_lock)) + +static u_long nl_sendspace = NLSNDQ; +SYSCTL_ULONG(_net_netlink, OID_AUTO, sendspace, CTLFLAG_RW, &nl_sendspace, 0, + "Default netlink socket send space"); + +static u_long nl_recvspace = NLSNDQ; +SYSCTL_ULONG(_net_netlink, OID_AUTO, recvspace, CTLFLAG_RW, &nl_recvspace, 0, + "Default netlink socket receive space"); + +extern u_long sb_max_adj; +static u_long nl_maxsockbuf = 512 * 1024 * 1024; /* 512M, XXX: init based on physmem */ + +uint32_t +nlp_get_pid(const struct nlpcb *nlp) +{ + return (nlp->nl_process_id); +} + +/* + * Looks up a nlpcb struct based on the @portid. Need to claim nlsock_mtx. + * Returns nlpcb pointer if present else NULL + */ +static struct nlpcb * +nl_port_lookup(uint32_t port_id) +{ + struct nlpcb *nlp; + + CK_LIST_FOREACH(nlp, &V_nl_ctl->ctl_port_head, nl_port_next) { + if (nlp->nl_port == port_id) + return (nlp); + } + return (NULL); +} + +static void +nl_update_groups_locked(struct nlpcb *nlp, uint64_t nl_groups) +{ + /* Update group mask */ + NL_LOG(LOG_DEBUG2, "socket %p, groups 0x%lX -> 0x%lX", + nlp->nl_socket, nlp->nl_groups, nl_groups); + nlp->nl_groups = nl_groups; +} + +/* + * Broadcasts message @m to the protocol @proto group specified by @group_id + */ +void +nl_send_group(struct mbuf *m, int num_messages, int proto, int group_id) +{ + struct nlpcb *nlp_last = NULL; + struct nlpcb *nlp; + NLCTL_TRACKER; + + IF_DEBUG_LEVEL(LOG_DEBUG2) { + struct nlmsghdr *hdr = mtod(m, struct nlmsghdr *); + NL_LOG(LOG_DEBUG2, "MCAST mbuf len %u msg type %d len %u to group %d/%d", + m->m_len, hdr->nlmsg_type, hdr->nlmsg_len, proto, group_id); + } + + struct nl_control *ctl = atomic_load_ptr(&V_nl_ctl); + if (__predict_false(ctl == NULL)) { + /* + * Can be the case when notification is sent within VNET + * which doesn't have any netlink sockets. + */ + m_freem(m); + return; + } + + NLCTL_RLOCK(ctl); + + int io_flags = NL_IOF_UNTRANSLATED; + uint64_t groups_mask = 1 << ((uint64_t)group_id - 1); + + CK_LIST_FOREACH(nlp, &ctl->ctl_pcb_head, nl_next) { + if (nlp->nl_groups & groups_mask && nlp->nl_proto == proto) { + if (nlp_last != NULL) { + struct mbuf *m_copy; + m_copy = m_copym(m, 0, M_COPYALL, M_NOWAIT); + if (m_copy != NULL) + nl_send_one(m_copy, nlp_last, num_messages, io_flags); + else { + NLP_LOCK(nlp_last); + if (nlp_last->nl_socket != NULL) + sorwakeup(nlp_last->nl_socket); + NLP_UNLOCK(nlp_last); + } + } + nlp_last = nlp; + } + } + if (nlp_last != NULL) + nl_send_one(m, nlp_last, num_messages, io_flags); + else + m_freem(m); + + NLCTL_RUNLOCK(ctl); +} + +bool +nl_has_listeners(int netlink_family, uint32_t groups_mask) +{ + return (V_nl_ctl != NULL); +} + +bool +nlp_has_priv(struct nlpcb *nlp, int priv) +{ + return (priv_check_cred(nlp->nl_cred, priv) == 0); +} + +static uint32_t +nl_find_port() { + /* + * app can open multiple netlink sockets. + * Start with current pid, if already taken, + * try random numbers in 65k..256k+65k space, + * avoiding clash with pids. + */ + if (nl_port_lookup(curproc->p_pid) == NULL) + return (curproc->p_pid); + for (int i = 0; i < 16; i++) { + uint32_t nl_port = (arc4random() % 65536) + 65536 * 4; + if (nl_port_lookup(nl_port) == 0) + return (nl_port); + NL_LOG(LOG_DEBUG3, "tried %u\n", nl_port); + } + return (curproc->p_pid); +} + +static int +nl_bind_locked(struct nlpcb *nlp, struct sockaddr_nl *snl) +{ + if (nlp->nl_bound) { + if (nlp->nl_port != snl->nl_pid) { + NL_LOG(LOG_DEBUG, + "bind() failed: program pid %d " + "is different from provided pid %d", + nlp->nl_port, snl->nl_pid); + return (EINVAL); // XXX: better error + } + } else { + if (snl->nl_pid == 0) + snl->nl_pid = nl_find_port(); + if (nl_port_lookup(snl->nl_pid) != NULL) + return (EADDRINUSE); + nlp->nl_port = snl->nl_pid; + nlp->nl_bound = true; + CK_LIST_INSERT_HEAD(&V_nl_ctl->ctl_port_head, nlp, nl_port_next); + } + nl_update_groups_locked(nlp, snl->nl_groups); + + return (0); +} + +static int +nl_pru_attach(struct socket *so, int proto, struct thread *td) +{ + struct nlpcb *nlp; + int error; + + if (__predict_false(netlink_unloading != 0)) + return (EAFNOSUPPORT); + + error = nl_verify_proto(proto); + if (error != 0) + return (error); + + bool is_linux = SV_PROC_ABI(td->td_proc) == SV_ABI_LINUX; + NL_LOG(LOG_DEBUG2, "socket %p, %sPID %d: attaching socket to %s", + so, is_linux ? "(linux) " : "", curproc->p_pid, + nl_get_proto_name(proto)); + + /* Create per-VNET state on first socket init */ + struct nl_control *ctl = atomic_load_ptr(&V_nl_ctl); + if (ctl == NULL) + ctl = vnet_nl_ctl_init(); + KASSERT(V_nl_ctl != NULL, ("nl_attach: vnet_sock_init() failed")); + + MPASS(sotonlpcb(so) == NULL); + + nlp = malloc(sizeof(struct nlpcb), M_PCB, M_WAITOK | M_ZERO); + error = soreserve(so, nl_sendspace, nl_recvspace); + if (error != 0) { + free(nlp, M_PCB); + return (error); + } + so->so_pcb = nlp; + nlp->nl_socket = so; + /* Copy so_cred to avoid having socket_var.h in every header */ + nlp->nl_cred = so->so_cred; + nlp->nl_proto = proto; + nlp->nl_process_id = curproc->p_pid; + nlp->nl_linux = is_linux; + nlp->nl_active = true; + NLP_LOCK_INIT(nlp); + refcount_init(&nlp->nl_refcount, 1); + nl_init_io(nlp); + + nlp->nl_taskqueue = taskqueue_create("netlink_socket", M_WAITOK, + taskqueue_thread_enqueue, &nlp->nl_taskqueue); + TASK_INIT(&nlp->nl_task, 0, nl_taskqueue_handler, nlp); + taskqueue_start_threads(&nlp->nl_taskqueue, 1, PWAIT, + "netlink_socket (PID %u)", nlp->nl_process_id); + + NLCTL_WLOCK(ctl); *** 8744 LINES SKIPPED *** From nobody Mon Jan 23 22:11:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P147y5W03z2t0Vk; Mon, 23 Jan 2023 22:11: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 4P147y4dmJz3K7n; Mon, 23 Jan 2023 22:11:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M02Jhy95dJq0PvC/yT18BaAc26cA2rXfwhb0gcxmRuY=; b=NTCKOpKhs3wKKhyakK/lcC3TuArFEdN1VUz5NRMt6RtA6016xAg8Lsnxlh8OPtOjt5gADi J0cy4e0aTYHtWXHyRoFFIfZ3R+gLTxD2wtdnRSE27XqBiML8PN8eZlzjBydGVHA2/3O6Ir O7gpcfOMzeCb/N1PoCrU8HV6b+fN2OSBCMQgNI1Nlv2qJgdORHQjlfROjxESD6/q9gxSDa FWJ6PlY8WYptNyj5yk2mpuqxR8kg9A/ZyyHMumE+NWS1nujEOOEEWc/jLVNHgzVA255Jyt Zj04H8jtmo0MDpkCUHngMYGmW6jnOidjb51wmyq7Fcwo05VlfWOVB1xiLUunpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M02Jhy95dJq0PvC/yT18BaAc26cA2rXfwhb0gcxmRuY=; b=oVJkEpKLYc2nTq5MHym/PXFjew4zEJTo7c4ggNlJs6Qs9LmhSzZD8Pyl7owqrZ6UKLBDNA 0O4pDdFIXTiPBLLWvs/JshSpcehPDPmYvOClClj7P5cqFhaI0PWPfKjxPgBV0vUYIULsl4 vbc3ToFe3XSb1U9gz1REVlZG/jnEwNKS+bFRiNDbjNQiZuemnITk0qufTFYDsvr4h0kABU sNsshOEld2ahhbarsp/A2+2dp0/mUvgUK4N295JgvWqZLur05IYo0VlQ0Dj3lkFDcA+ZDm UUvg+CoErOiUSB/+D9bXThIHwDjLoWKlLHEdqFlaULdd5iD9rwCc4ZTOOqolcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511902; a=rsa-sha256; cv=none; b=OY6cFQSAlkI9/ffkr6WS59HP42P1yl+lIGaUiaW0SX/wW1HUVoOechdvBSyQTyoe5DaxTX hS6PtHrwCFagp4AgXwk+O3YCy1gtb0cvefUv3jvLDBG7BXmsm3rakCjEFh8QffxPeSqVDp LBY1Iyh2zTGg9jw2WL8AsIrb31FQxC7TvQ7tMrktd3xLdP5V6uX7mA5MeZ7DnQt49OTCu0 ClYyUUkWqr/Ahdw9OKKNCYyV6gHsLfwIHT98rHqSsHUmsgsh4jCMMqfv9W8/J68VSV5eP/ 7wDWpgkI9tjQWNGGoAEdcNsDjWFp7EFeGaYNIMUSXtX/yiM5ko6jF1uIfYporg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P147y34MzzlPD; Mon, 23 Jan 2023 22:11:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBg9p012426; Mon, 23 Jan 2023 22:11:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBg3U012425; Mon, 23 Jan 2023 22:11:42 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:42 GMT Message-Id: <202301232211.30NMBg3U012425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 655fe04370ad - stable/13 - netlink: make test-includes happy by hiding most of the header contents under _KERNEL. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 655fe04370ad9c1b20f2715662fa925db434e55b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=655fe04370ad9c1b20f2715662fa925db434e55b commit 655fe04370ad9c1b20f2715662fa925db434e55b Author: Alexander V. Chernikov AuthorDate: 2022-10-01 17:01:53 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:01 +0000 netlink: make test-includes happy by hiding most of the header contents under _KERNEL. (cherry picked from commit dddafa8d25c6ba57c64c0363d8a4791470d465e0) --- sys/netlink/netlink_ctl.h | 2 ++ sys/netlink/netlink_debug.h | 3 +++ sys/netlink/netlink_generic.h | 2 ++ sys/netlink/netlink_message_parser.h | 2 ++ sys/netlink/netlink_message_writer.h | 2 ++ sys/netlink/netlink_var.h | 3 +++ 6 files changed, 14 insertions(+) diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h index fb5a8b30e0aa..1310a5a5493a 100644 --- a/sys/netlink/netlink_ctl.h +++ b/sys/netlink/netlink_ctl.h @@ -28,6 +28,7 @@ #ifndef _NETLINK_NETLINK_CTL_H_ #define _NETLINK_NETLINK_CTL_H_ +#ifdef _KERNEL /* * This file provides headers for the public KPI of the netlink * subsystem @@ -100,3 +101,4 @@ uint32_t genl_register_group(const char *family_name, const char *group_name); uint32_t nlp_get_pid(const struct nlpcb *nlp); #endif +#endif diff --git a/sys/netlink/netlink_debug.h b/sys/netlink/netlink_debug.h index 6ff6811c6a5a..5d8fe0352a79 100644 --- a/sys/netlink/netlink_debug.h +++ b/sys/netlink/netlink_debug.h @@ -31,6 +31,8 @@ #ifndef _NETLINK_NETLINK_DEBUG_H_ #define _NETLINK_NETLINK_DEBUG_H_ +#ifdef _KERNEL + #define _DEBUG_SYSCTL_OID _net_netlink_debug #include @@ -79,4 +81,5 @@ SYSCTL_DECL(_net_netlink_debug); +#endif #endif diff --git a/sys/netlink/netlink_generic.h b/sys/netlink/netlink_generic.h index 9b411a67ab2a..f88b6b5f5429 100644 --- a/sys/netlink/netlink_generic.h +++ b/sys/netlink/netlink_generic.h @@ -31,6 +31,8 @@ #ifndef _NETLINK_NETLINK_GENERIC_H_ #define _NETLINK_NETLINK_GENERIC_H_ +#include + /* Base header for all of the relevant messages */ struct genlmsghdr { uint8_t cmd; /* CTRL_CMD_ */ diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 06a6788b7de5..2f802b0961ad 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -28,6 +28,7 @@ #ifndef _NETLINK_NETLINK_MESSAGE_PARSER_H_ #define _NETLINK_NETLINK_MESSAGE_PARSER_H_ +#ifdef _KERNEL /* * It is not meant to be included directly */ @@ -268,3 +269,4 @@ nl_parse_nlmsg(struct nlmsghdr *hdr, const struct nlhdr_parser *parser, } #endif +#endif diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index 95f6dd8e6da0..424983282e59 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -29,6 +29,7 @@ #ifndef _NETLINK_NETLINK_MESSAGE_WRITER_H_ #define _NETLINK_NETLINK_MESSAGE_WRITER_H_ +#ifdef _KERNEL /* * It is not meant to be included directly */ @@ -248,3 +249,4 @@ nlattr_add_string(struct nl_writer *nw, int attrtype, const char *str) #endif +#endif diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 40d3870fd795..130f3d40a1a3 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -28,6 +28,8 @@ #ifndef _NETLINK_NETLINK_VAR_H_ #define _NETLINK_NETLINK_VAR_H_ +#ifdef _KERNEL + #include #include #include @@ -140,3 +142,4 @@ int nl_receive_async(struct mbuf *m, struct socket *so); void nl_process_receive_locked(struct nlpcb *nlp); #endif +#endif From nobody Mon Jan 23 22:11:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P147z6BHBz2t0Xm; Mon, 23 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P147z53t1z3KHW; Mon, 23 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4k2uOBoodNImkQK2UkEAM/Sz1884bKlTj5ztRDj7qWw=; b=ZsK/bqh3Nf8e1CHa+UGzUkSQaNeAWiXPNT/YPUeN19i09wD/iXz9A3+LmxYgwAnYjHkPex c44sfC6NVyo+D9RrKiI+QgWprBieQHN3wi4Hkl5/AoNXlpkPOGH7KlWg3LxraPKwLtxgfU qRLJddP8zBCUoxgrANQdD9ugMieAym6U+pjYpM6pZ85ojZesnUYyAE8ZBwqGufVhC7I8YD I7yQUa7PA3kAMbv6mTheIBpYFACZmqLyHVUn0p5wsLJQSVgjVasFB4BtFt31oKtnNF0oo2 f1EAULNlNHA70pnzceeByGTnDqNTwQZx+8sxF27o8A3wQ+gesMYiovpG8FtKSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4k2uOBoodNImkQK2UkEAM/Sz1884bKlTj5ztRDj7qWw=; b=BRo/BMqFn4Nf50/fA8oJ3lwHnh7mjXs0qeSyy8/LGIOBb1cvN3hBeBatAwoj4YAxHJevSu 5+yUuxnrLd5MUwLc0jdpmd8ajHu+xyn1pCBiT1P0Ef3ic6guJXQGfMG03WirrdRsqrNNDa X34mBuS40DhB4lKi+uXqyOwzLigahZI4LFqXAT3QpUz/4idTP5d8Hr48jiN3FRMw5/pil5 KUij2PzcZaRV6OEF+xasXqQEbHG695Jc/+c3ELMtCxzN1NffDncpAPmI4dc4j0zViFiIbf JTtM4KK1G28hzd2dwX2iu8FmdRdii2og0PaOqDOqGqHyO+/lfFlUMStg2JCW8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511903; a=rsa-sha256; cv=none; b=viXogNcijcv/Sz81XhkkGPfylG1qe64b+sY/3+D9X97ZwaNOLwc22Mg7bw0GoGlzrqPLv/ 9jb0G9XzZexVpJmcM0qaI4Yc9onO4NywMJHJMCwKHXcKupGH2hAK9XJr3PaEk9bTHFeLKg j9rAWBLJhp+wulVZS8ewpXgz/Szi0b/HxUSCtZ+9xgoi0ECv/J40derSoDfAi3cbDfSf+w +1vCKSQODSVf4QSZxCVIutLNnV+WwO2E6OLMCvJHAwnoM7zBedTha8xrLIiQxBJeTrFOLo BCN5etvJw/7zdwKLAjfbRgAVAtCpyTGnIFHlqKnZDv5psAbBc2llOnb8D3VL9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P147z3V5HzlXr; Mon, 23 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBhn9012457; Mon, 23 Jan 2023 22:11:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBhoW012456; Mon, 23 Jan 2023 22:11:43 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:43 GMT Message-Id: <202301232211.30NMBhoW012456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 91d6657dbf9e - stable/13 - netlink: fix debugging on 32-bit platforms List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 91d6657dbf9e871c86df9a63c52ec49e8331af01 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=91d6657dbf9e871c86df9a63c52ec49e8331af01 commit 91d6657dbf9e871c86df9a63c52ec49e8331af01 Author: Alexander V. Chernikov AuthorDate: 2022-10-01 19:03:28 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:01 +0000 netlink: fix debugging on 32-bit platforms (cherry picked from commit c90bff3fa7c1c3ba3773759d243aad7b29b643a3) --- sys/netlink/netlink_domain.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 159dfd03724d..032fded987df 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -98,8 +98,8 @@ static void nl_update_groups_locked(struct nlpcb *nlp, uint64_t nl_groups) { /* Update group mask */ - NL_LOG(LOG_DEBUG2, "socket %p, groups 0x%lX -> 0x%lX", - nlp->nl_socket, nlp->nl_groups, nl_groups); + NL_LOG(LOG_DEBUG2, "socket %p, groups 0x%X -> 0x%X", + nlp->nl_socket, (uint32_t)nlp->nl_groups, (uint32_t)nl_groups); nlp->nl_groups = nl_groups; } @@ -577,7 +577,8 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) break; } group_mask = (uint64_t)1 << (optval - 1); - NL_LOG(LOG_DEBUG2, "ADD/DEL group %d mask (%lX)", optval, group_mask); + NL_LOG(LOG_DEBUG2, "ADD/DEL group %d mask (%X)", + (uint32_t)optval, (uint32_t)group_mask); NLCTL_WLOCK(ctl); if (sopt->sopt_name == NETLINK_ADD_MEMBERSHIP) From nobody Mon Jan 23 22:11:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148106s8z2t0Qt; Mon, 23 Jan 2023 22:11: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 4P1480650gz3KHm; Mon, 23 Jan 2023 22:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vfbfd5h49bRQkbzTLhPsn1sQ/UDT7mN4c8/Ug8p84Sg=; b=BHHuMUKWVwjdH87UofiJJjqV2ipGUngmKUisBlz0jUZ9434hL6zE6mg6QTfHtU9mtwA/Ev St+PpPub2lwL9ih8VsTHo7B1fIQjDZ9DBk8GRjUL/U9Dnq0DLbOx4/deqhoJ9IaCr/1zNE 5Pl1ulVgBnblbliKvOqq86dqS7H3+GRPtkaWr6qZG60IbQGLbQH+PT3UZQPSy330PH+fB5 M1sV+q9TZFtDYdzMZIP0FayHTRXSpbOGurxC2QnIUUWpnHzshIEoEEXA7Kcj2iHR/62BpH Mnipsscfcx1kCNX5TMEdKxCeK4GcjeCH8z9ukwWbVthcQFrxRfpyvWXrOOMbOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vfbfd5h49bRQkbzTLhPsn1sQ/UDT7mN4c8/Ug8p84Sg=; b=XkX+wCxy9whSdVRTvwKPzLVaQ8dCHcAT2u/sZQNBrI4CrpzEIX0/dYv88q+Rl61soVM7O2 4Sznh2rl+DYp1GerKhIcfeDCcjb5Z/3oyvOm7WXbzi83Vd0/6BSq8Na+vBgQ44PQ03uVUI sRRoRk3UTWllaUmKTAfuS92Wd2eniZTEfExxU87ooR294KI6f2KNXwbt8zGFFiNLATyBp2 b8A1DsJblHxxXeXG+G+RwF+wCy1DKy8qJU7Fmf6Qs3klfUsFzhYhudROsmquCwJ9pYNmYI ULKlMNBJM/yzKcnOzFZvsC3fBGxOBhsm1vC5lEkqB2/WFg8HQ8w3vRVJLuz+vQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511904; a=rsa-sha256; cv=none; b=S354t6i9EmaTXrIGlFRQAShoBY6xWsprNYoiHfwdGa+9dTCdZTR8M0VOkQvNT4wi1KJPZB apa7emIdYdw5vhTphyhFn36cObLuL2ouEngjP8MTnZHwMafd53uge2UBxJrrvOyGMkcVgX +M92jx1XO1eQlXpOmb/HGeujq+JmiyrqUd5FQANkaJoX1gnK+kxTvHHsnR1H+6EWtX03R5 /yADFOd/4VidX8CMxNEZeqWOjZnpUSM79C1UyBzJn+0EX+H1xEqg7bMV9FZiVOACPZxfVx ZngC3u/McK4PACO7JKdnfTE6bNx/RC3F0QoBwHLLWPHmseT+hnMPk1cEktKI0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14804fqXzlqw; Mon, 23 Jan 2023 22:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBiOr012481; Mon, 23 Jan 2023 22:11:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBiuH012480; Mon, 23 Jan 2023 22:11:44 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:44 GMT Message-Id: <202301232211.30NMBiuH012480@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 21f82ec32e11 - stable/13 - netlink: fix format strings on 32-bit platforms List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 21f82ec32e11a773d9e1ea92e1688a4d617913ba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=21f82ec32e11a773d9e1ea92e1688a4d617913ba commit 21f82ec32e11a773d9e1ea92e1688a4d617913ba Author: Alexander V. Chernikov AuthorDate: 2022-10-01 21:16:31 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix format strings on 32-bit platforms (cherry picked from commit 8d9f3e05728ecef4e21672dd8a54066b17b62a50) --- sys/netlink/netlink_domain.c | 1 + sys/netlink/netlink_io.c | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 032fded987df..936a5438fa4a 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index ef1c2c73a10e..5a0f195ed382 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -282,8 +282,8 @@ nl_on_transmit(struct nlpcb *nlp) struct socket *so = nlp->nl_socket; if (__predict_false(nlp->nl_dropped_bytes > 0 && so != NULL)) { - uint64_t dropped_bytes = nlp->nl_dropped_bytes; - uint64_t dropped_messages = nlp->nl_dropped_messages; + unsigned long dropped_bytes = nlp->nl_dropped_bytes; + unsigned long dropped_messages = nlp->nl_dropped_messages; nlp->nl_dropped_bytes = 0; nlp->nl_dropped_messages = 0; @@ -385,8 +385,8 @@ nl_send_one(struct mbuf *m, struct nlpcb *nlp, int num_messages, int io_flags) nlp->nl_dropped_bytes += m_length(m, NULL); nlp->nl_dropped_messages += num_messages; NLP_LOG(LOG_DEBUG2, nlp, "RX oveflow: %lu m (+%d), %lu b (+%d)", - nlp->nl_dropped_messages, num_messages, - nlp->nl_dropped_bytes, m_length(m, NULL)); + (unsigned long)nlp->nl_dropped_messages, num_messages, + (unsigned long)nlp->nl_dropped_bytes, m_length(m, NULL)); soroverflow(so); m_freem(m); result = false; From nobody Mon Jan 23 22:11:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14820L2zz2t0Ky; Mon, 23 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P14816K6xz3KPn; Mon, 23 Jan 2023 22:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvouR1rMX+LunuGkq3soXMVuFr48SD79ljyO1qToevw=; b=cV675g27WzXBTEr5VCXqnxwjvT6lg1iDCEkS70RkWZxbbIxL1iNnxCdWAQitj18Ik5Rxi/ hSuou89DZZwZ6On2dMFTHhsM7cKHetuRlFYWuBg9qQUHmIekjGjaK5DA6X6+8YqdfA/mjh 7mSWlwqeF/GN4AA9PYjkNlY5IkrrCZRsL9VuOgDGymAIK/7qdvmaciXaztueCxcqNrckMa nyzfDpWx1HKDbdzYDRqDp65kaVYk09wlxAx/t/Eff2ANoqI8DVCwusHtZceGlp470+ZJQI 1EEEhF0IvwmQKtrSVpcGYLHyGtwXZII78uimEJIVyNIJT1tBuJO4xGZzCXtZHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvouR1rMX+LunuGkq3soXMVuFr48SD79ljyO1qToevw=; b=u5/ntuVb/hutO8uImixeK9LinlqWpLN6dwTpYJsJY7J9lAgIVkkMzZFPGm+6LYrPypbDiJ YThsKlyMdPXf86BFCkTpL75Xav1gQ6dTKB/6oROw5aCkL9gukaAUYC4pmnFmx5nnWS/GCa FIFry2A5Wh0o8YC3LdpjwzFER/ixxQl+/uEgIDz3BRTvG28Nm7ybpBeRFWWpS6PK3ALyEC /EoDWWPpHsGEc8vZ2GXDcrroCJLeXOoG2ay0qAOve+hdlYoIm38EO3y+8R8EZxpar/lCYy Bu6k2Y8b9bqRXwBORWtPj6WPBFOH5YY93Ax7dFvE/HZIAIXzqTRasuhL4dmHbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511905; a=rsa-sha256; cv=none; b=l81Ry3/8d1qpU1UcxNFyCF9XgFRE8ppIeKP7bnaKmRbD9Kq3QLVAc+blZHqiOrocppjwL9 qk/Dxiu0nXVnT+vBaGGILvFlKPAP900bPESbx/amkajTthf0tg+l/nIi17hUAwy33Vh5Ck VpYhoo4hrSERSRVGJGVCmcUvPRCKhlQED4ULNscoIFRGIJ6KrDK/LFDyRk8+ldUAt0EoLZ bdp6ld1Xm1XmH0DhPlS3Zbqy44JPJ//74nToQhRcn3PzQx3a4P8RTeyN655SyF+uu1PrTM 5IAx2qaQSPGrmPAc8SQYDDH/toCH6/URoWa9gY2Lf3uXIFyDHtv244OcGQs6Hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14815KYmzlBm; Mon, 23 Jan 2023 22:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBjDK012505; Mon, 23 Jan 2023 22:11:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBjpn012504; Mon, 23 Jan 2023 22:11:45 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:45 GMT Message-Id: <202301232211.30NMBjpn012504@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 265a6220a3e3 - stable/13 - netlink: fix build without INVARIANTS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 265a6220a3e359c52d0429c04707b3eb225436f4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=265a6220a3e359c52d0429c04707b3eb225436f4 commit 265a6220a3e359c52d0429c04707b3eb225436f4 Author: Alexander V. Chernikov AuthorDate: 2022-10-01 21:20:50 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix build without INVARIANTS Reported by: cy (cherry picked from commit 03994c24da957ffd6556096cdd6f6522eb968ba8) --- sys/netlink/netlink_message_parser.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 2f802b0961ad..b23b223ef80e 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -249,6 +249,7 @@ nl_parse_nested(struct nlattr *nla, const struct nlhdr_parser *parser, static inline void nl_verify_parsers(const struct nlhdr_parser **parser, int count) { +#ifdef INVARIANTS for (int i = 0; i < count; i++) { const struct nlhdr_parser *p = parser[i]; int attr_type = 0; @@ -257,6 +258,7 @@ nl_verify_parsers(const struct nlhdr_parser **parser, int count) attr_type = p->np[j].type; } } +#endif } void nl_verify_parsers(const struct nlhdr_parser **parser, int count); #define NL_VERIFY_PARSERS(_p) nl_verify_parsers((_p), NL_ARRAY_LEN(_p)) From nobody Mon Jan 23 22:11:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14831n94z2t0R4; Mon, 23 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P14830PMSz3KY0; Mon, 23 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nP3icqUsLEAYpoBZFFE7vqZKGeW1PACL8ZF95bDIDWQ=; b=yx8Tc6PRFzyTKpWhdNqYjOA0qeI2lLvuKytoonk5PtnOnku0vDnhBSWM4upCsbJcY4QDo/ PV/bXjHLzLBavknNPKDuzfVlPu+g78seCKzN5hvdJ7Gqk3AKJp/SNBGQMJxb7umCJgrfC9 vdWGJUnJExgFKeXOq9IWE+R66F/Gs/Hz/Caqwg7go4qVIyZA195Kjp97ojbtAMEEbG5XFt bc/NRZM0kWZ+oZjfWHe9L9Qu9L951V2ZtusR7SXNB2NeqIZK8kCxcPWg/3euuYXuQte3Y2 NA/MDDwyoyZuToAiQl7zarItpCAKgkrsYLXZoka5wZo0H2pmaDog5gHx09J0qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nP3icqUsLEAYpoBZFFE7vqZKGeW1PACL8ZF95bDIDWQ=; b=ul6v8z8UszGcURnewpsvXHDp9+fVeWQv3Ajtr/JWs+Nju/s7Fu4T5P5qtgJeVso6KAeJaT wb0NnHIYNdfdn6MZUSKnsMPakj4re/TXdJKhUgAqJBwPRrnBWHVGvWPlWNEGRFVUGYCfa8 pmb7yAqBT4Ee0bm4y0+wEip1VCUAZgpM8SYb1kphHijNa9fZORkEDakrpfOgZfl8r74MyU R8KKA8LG32D5P0OPkI8M5Apqc5Fxc4ZSl1eC98EaZMGWQrTwnnx7Nh7rBGUM1H8hG7owO8 RKaGZ0Udf7Aus1jvShHZ7DL+2gzCrDdBcMQat/Jb5e0M66LmXVz7fdWnsVmzNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511907; a=rsa-sha256; cv=none; b=Xqr007RV5ZQXCHEFu9PIGLNUp+S7sEO1ppCNv0nM5ZjC9wUKU6tL9QG6sD021LwNN4SLtp 7rZdaPUh+iSUPUOJFzSW7SAJMRCa0gE5M2m31+nbTRBtliJsdlblABS9hPzsBTirwTw+5s nWl8IoNC1YM5Ku4reaJVK9Ynffhh4PcCnUXJGicZSWNRf3s1KJ12HmPTAV7Ka3lmcfhkxq JjPCG4cCIWmcLu46YNUCo2YHyKsNKo4Upwb9/BvA/u3+65MyPH6Um1n/B3f2YW7CpHnR7+ D7yyI1hXxT27wPegNFckGW2CNVCdqUzrT/dPKIAvbb/zubOgS+YWNlXOnlqXRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14826WJXzlPG; Mon, 23 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBkCj012529; Mon, 23 Jan 2023 22:11:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBkic012528; Mon, 23 Jan 2023 22:11:46 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:46 GMT Message-Id: <202301232211.30NMBkic012528@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 81174329b65e - stable/13 - netlink: Fix build without VIMAGE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 81174329b65e4a8ddc5ab9702b5dcd86fff460c5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=81174329b65e4a8ddc5ab9702b5dcd86fff460c5 commit 81174329b65e4a8ddc5ab9702b5dcd86fff460c5 Author: Jung-uk Kim AuthorDate: 2022-10-02 01:38:55 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: Fix build without VIMAGE (cherry picked from commit fc083c3eb2bf9c2ea92914fab9e8fd090d1db710) --- sys/netlink/netlink_domain.c | 1 + sys/netlink/netlink_generic.c | 5 ++++- sys/netlink/netlink_io.c | 5 +++-- sys/netlink/netlink_module.c | 1 + sys/netlink/netlink_route.c | 3 ++- sys/netlink/route/iface.c | 2 ++ sys/netlink/route/neigh.c | 1 + sys/netlink/route/nexthop.c | 3 ++- 8 files changed, 16 insertions(+), 5 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 936a5438fa4a..bca30bedce11 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -31,6 +31,7 @@ */ #include +#include #include #include #include diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index d422416cd9b4..64985f656a63 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -28,10 +28,13 @@ #include __FBSDID("$FreeBSD$"); #include +#include +#include +#include #include #include #include -#include +#include #include #include diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index 5a0f195ed382..b2a0023a143b 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -29,10 +29,11 @@ #include __FBSDID("$FreeBSD$"); #include -#include +#include #include +#include #include -#include +#include #include #include #include diff --git a/sys/netlink/netlink_module.c b/sys/netlink/netlink_module.c index a1bcb8a29511..a433022b82b7 100644 --- a/sys/netlink/netlink_module.c +++ b/sys/netlink/netlink_module.c @@ -29,6 +29,7 @@ #include __FBSDID("$FreeBSD$"); #include +#include #include #include diff --git a/sys/netlink/netlink_route.c b/sys/netlink/netlink_route.c index f12bf268e252..5fdd1283e4ad 100644 --- a/sys/netlink/netlink_route.c +++ b/sys/netlink/netlink_route.c @@ -28,9 +28,10 @@ #include __FBSDID("$FreeBSD$"); #include +#include +#include #include #include -#include #include #include diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 8db24b5507e4..8bb4406ad8be 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -30,6 +30,8 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include +#include +#include #include #include #include diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 02ad138240a2..73844398d26d 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include +#include #include #include #include diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 92555aa8b123..77be3a612641 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -30,10 +30,11 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include +#include +#include #include #include #include -#include #include #include From nobody Mon Jan 23 22:11:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14843J9zz2t0b7; Mon, 23 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P14841xCgz3KQT; Mon, 23 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eN+FhV1KKEO1tLNX3fdNENPIiIOWfevZZXg/dFy0xMQ=; b=qkQRI16gEHPH65+GS9wfq7sNFEkM43h+M7d/YK4GmM7fWfAk9vawyKOeSkASKcqjx+Qo/y jxyV2ztA4DQCJALbjvlTREf8ik8B5nkaAuUYRYEsWT92xTDA9IFZSHJW2uXrpeyMDRIVJC aKKN2c5S9IqQRJeOTs6bzhvka5YlHAqEr/H/BAhDXvuaDv3fAIbqbMtUFdN1E2HJBD4xrI uz6KSUtkvUUtccuE5XraO+mLglMoOWyphYPMsGRy3CffgSow1kofH7Zw8deC5Z+CoNkcf0 7Lz01qQtNfqHZHozfZq7Ro5Po+hRiyJROSYdFfKT6cKzpAg0HqRp0NFlhAFf1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eN+FhV1KKEO1tLNX3fdNENPIiIOWfevZZXg/dFy0xMQ=; b=W6bCue1aRfQ1PwrGJzdLnLPdjkdWgyJlRcJYptEAGdhnZj2gWuWpmZHJ6jePyjyZpeGGom p1IE/pIpjCz68mGG0P8QkB3N4dsfvQCxqySuIbOZgg5C0o+6oh2KEItvaqbLZYQ3EJggZz 4g8GggTRtB/NHgkk2nJGvCwd182EB09nbzc81imjHBDub96KZ8IqZpmnm3Q9rCugGQrfIF kYxjgGKPIi5jown5EpNe1CFFjwz2sjb84AkXWl2HyfyobGglAI6PDxs9TUi8qqaKZATI5M Fb5gnJIinE6sY7BgS1gZTINRd4An5bgcUROp5YqlGb+RHm3U0dWa9bVgU9ZSLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511908; a=rsa-sha256; cv=none; b=ucKK/BPvRA9zWrw8Sd1niRZgXEMpG8Y1D/J96TxYbmQLXaKFK/Nk+Y92W6+Pd9md+bgRSI 8KIc7mRnBQR9OnXCbHdYoYMAdwAMeY+qxBv5E7ybNYWvr4Fg2CSar6YoCPUYxc0KuRTrNU AZW5aBsYGKqW7wkxFq8UO0inQkuKfTixKqPY1V0zlSuYiA8Q6beytrS1b2YiMfRiBKeCEB 6SIwcSqc2gyR0q6C+kZZ76NKswGk5OTVJxLdVwSu/OI7Qp1pb87k/XmJSsGbCECHsq4vtM O0aD9h+62CqQ3MOfnagTmtCGJw5lq38j0oH2Kq2DmBaQRPhnVGHic7d/QyZJ7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1484076lzlYT; Mon, 23 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBlIk012553; Mon, 23 Jan 2023 22:11:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBl9q012552; Mon, 23 Jan 2023 22:11:47 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:47 GMT Message-Id: <202301232211.30NMBl9q012552@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: afbff46b9bc2 - stable/13 - netlink: fix non-default builds (no INET, INET6, ROUTE_MPATH). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: afbff46b9bc2ed3a3495d1b09da898dfaada292a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=afbff46b9bc2ed3a3495d1b09da898dfaada292a commit afbff46b9bc2ed3a3495d1b09da898dfaada292a Author: Alexander V. Chernikov AuthorDate: 2022-10-02 13:02:24 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix non-default builds (no INET, INET6, ROUTE_MPATH). (cherry picked from commit 356724fc931f4af1ed992a24f114070b14bb430a) --- sys/netlink/route/neigh.c | 4 ++-- sys/netlink/route/nexthop.c | 8 ++++++-- sys/netlink/route/route.c | 20 +++++++++++++++++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 73844398d26d..44245e14b6b6 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -344,8 +344,8 @@ rtnl_handle_newneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * int addrlen = attrs.nda_ifp->if_addrlen; if (attrs.nda_lladdr->nla_len != sizeof(struct nlattr) + addrlen) { NLMSG_REPORT_ERR_MSG(npt, - "NDA_LLADDR address length (%ld) is different from expected (%d)", - attrs.nda_lladdr->nla_len - sizeof(struct nlattr), addrlen); + "NDA_LLADDR address length (%d) is different from expected (%d)", + (int)attrs.nda_lladdr->nla_len - (int)sizeof(struct nlattr), addrlen); return (EINVAL); } diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 77be3a612641..31816d84f189 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_route.h" #include #include #include @@ -268,10 +269,12 @@ nl_find_base_unhop(struct unhop_ctl *ctl, uint32_t uidx) static struct nhop_object * clone_unhop(const struct user_nhop *unhop, uint32_t fibnum, int family, int nh_flags) { +#ifdef ROUTE_MPATH const struct weightened_nhop *wn; struct weightened_nhop *wn_new, wn_base[MAX_STACK_NHOPS]; - struct nhop_object *nh = NULL; uint32_t num_nhops; +#endif + struct nhop_object *nh = NULL; int error; if (unhop->un_nhop_src != NULL) { @@ -296,7 +299,7 @@ clone_unhop(const struct user_nhop *unhop, uint32_t fibnum, int family, int nh_f nhop_set_pxtype_flag(nh, nh_flags); return (nhop_get_nhop(nh, &error)); } - +#ifdef ROUTE_MPATH wn = unhop->un_nhgrp_src; num_nhops = unhop->un_nhgrp_count; @@ -326,6 +329,7 @@ clone_unhop(const struct user_nhop *unhop, uint32_t fibnum, int family, int nh_f if (wn_new != wn_base) free(wn_new, M_TEMP); +#endif return (nh); } diff --git a/sys/netlink/route/route.c b/sys/netlink/route/route.c index 7573b371155e..63489dc8173a 100644 --- a/sys/netlink/route/route.c +++ b/sys/netlink/route/route.c @@ -67,6 +67,7 @@ get_rtm_type(const struct nhop_object *nh) static uint8_t nl_get_rtm_protocol(const struct nhop_object *nh) { +#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { const struct nhgrp_object *nhg = (const struct nhgrp_object *)nh; uint8_t origin = nhgrp_get_origin(nhg); @@ -74,6 +75,7 @@ nl_get_rtm_protocol(const struct nhop_object *nh) return (origin); nh = nhg->nhops[0]; } +#endif uint8_t origin = nhop_get_origin(nh); if (origin != RTPROT_UNSPEC) return (origin); @@ -162,6 +164,7 @@ dump_rc_nhop_mtu(struct nl_writer *nw, const struct nhop_object *nh) *((uint32_t *)(nla + 1)) = nh->nh_mtu; } +#ifdef ROUTE_MPATH static void dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg *rtm) { @@ -201,15 +204,17 @@ dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg * } nlattr_set_len(nw, off); } +#endif static void dump_rc_nhop(struct nl_writer *nw, const struct nhop_object *nh, struct rtmsg *rtm) { +#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { dump_rc_nhg(nw, (const struct nhgrp_object *)nh, rtm); return; } - +#endif uint32_t rtflags = nhop_get_rtflags(nh); /* @@ -279,6 +284,7 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, int plen = 0; uint32_t scopeid = 0; switch (family) { +#ifdef INET case AF_INET: { struct in_addr addr; @@ -286,6 +292,8 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, nlattr_add(nw, NL_RTA_DST, 4, &addr); break; } +#endif +#ifdef INET6 case AF_INET6: { struct in6_addr addr; @@ -293,6 +301,7 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, nlattr_add(nw, NL_RTA_DST, 16, &addr); break; } +#endif default: FIB_LOG(LOG_NOTICE, fibnum, family, "unsupported rt family: %d", family); error = EAFNOSUPPORT; @@ -707,6 +716,7 @@ get_op_flags(int nlm_flags) return (op_flags); } +#ifdef ROUTE_MPATH static int create_nexthop_one(struct nl_parsed_route *attrs, struct rta_mpath_nh *mpnh, struct nl_pstate *npt, struct nhop_object **pnh) @@ -729,19 +739,20 @@ create_nexthop_one(struct nl_parsed_route *attrs, struct rta_mpath_nh *mpnh, return (error); } +#endif static struct nhop_object * create_nexthop_from_attrs(struct nl_parsed_route *attrs, struct nl_pstate *npt, int *perror) { - struct nhop_object *nh; + struct nhop_object *nh = NULL; int error = 0; if (attrs->rta_multipath != NULL) { +#ifdef ROUTE_MPATH /* Multipath w/o explicit nexthops */ int num_nhops = attrs->rta_multipath->num_nhops; struct weightened_nhop *wn = npt_alloc(npt, sizeof(*wn) * num_nhops); - nh = NULL; for (int i = 0; i < num_nhops; i++) { struct rta_mpath_nh *mpnh = &attrs->rta_multipath->nhops[i]; @@ -763,6 +774,9 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, for (int i = 0; i < num_nhops; i++) nhop_free(wn[i].nh); } +#else + error = ENOTSUP; +#endif *perror = error; } else { nh = nhop_alloc(attrs->rta_table, attrs->rtm_family); From nobody Mon Jan 23 22:11:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14852hRlz2t0Vy; Mon, 23 Jan 2023 22:11: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 4P148526Zkz3KfG; Mon, 23 Jan 2023 22:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511909; h=from:from:reply-to:subject:subject: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/AdHrr6QaZ4iub0KO0GSpFvCslaPineb96g+XDgvpQ=; b=Irc6Qeuv8OpOQMZbEqKX9knMuvy/s8xCNmsGTSzrMlXZd/NqhBnSYd5nCQ/159VBG7JFak HJWV/nxz9RHE/0A9wQW9j3V0b5cZb2gEErWshypVMi0V3EXDApnTn3wjyzlQOwRbX0IkE0 HzQ2R5wH8AGTEvhBS8z6zmzmlzWCmJiqwN2HbI6o+ywVOvhFkHFy/5LEmUQh8YB66VwnSk Z3Ce4jElJa039QrDI4LPpAuDqGu3G2l+EqscoRnBLxbFY1Ackn8QK55CzMW47C0yP0v0lX 1SbYFet8Dr96frKzVSumUcgWGDWDxVq+3VR9Z5YhMiFZU5258GoUSVSxpvAAdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511909; h=from:from:reply-to:subject:subject: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/AdHrr6QaZ4iub0KO0GSpFvCslaPineb96g+XDgvpQ=; b=PAew+n9Df/975BQS4LA0UhrHInYiJ3iukQJzqbJGBpcSOitVZJjFX1LCMuUqfA4w2qNUfX 4IUfEY3T/DQW01qDF/OqNgNt5AO9z/+y1aHIC1DHRIve+cxty3uOBx2YstZfksGYR1MnBo bkhUWdReNjugs/+R4y3at5EmMuCd6tdOxk4FWgxXmExU2WQ7hEGNRBZUJv9fAmCvKdXJS6 e79JnusJenDiDGK4Tj4ZF3c5Avh0ETbI4xE848VIh9BWCQdOTOmz8y8cKFCvnkBLkl+kqb z1RtIDGSKF44rROnbY6ALO07PgnQz5ZW8z/vh0PxsyPqzPa53jfl919Itr67+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511909; a=rsa-sha256; cv=none; b=qlUg0iZbGGVpqL+i6x5IuXTpNOp68xHo3bxkX8vPqMjujAm2qcB7OivBxOw202I2Ygrsh5 ju9Tt2mwKKbJ4mi4AkKLaDGqlUuLy9XpxqqQhSIDQboLcuQ+gvR1Mx4eH1OKwLbmoSPk7V 8LYQMFH11tnaZKbw7tavA4+tNsROE0RoVaTi9++ejz6rlxvGA5kriXY9Eb3n5r45HJU/Yl eSnXie2YDkffEvpWrMNmw/fR5bY4JeXQf7zKElTYfwi0I7ivOIm5ZmerwN6MLlfTo40fg9 8cm0o71lwR2AM9HugCGzk/+JUKdCr0AM37z/zzOz3BE5SF2gVjsDS7lGwZMBQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14851C0yzlk2; Mon, 23 Jan 2023 22:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBnEe012583; Mon, 23 Jan 2023 22:11:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBnU0012582; Mon, 23 Jan 2023 22:11:49 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:49 GMT Message-Id: <202301232211.30NMBnU0012582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: fc65965e0184 - stable/13 - Fix kernel build after fcb3f813f379f544f9cd2a10d18045588da0e132 . List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fc65965e018461cc7f71a5fa554576dcfbbe6053 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=fc65965e018461cc7f71a5fa554576dcfbbe6053 commit fc65965e018461cc7f71a5fa554576dcfbbe6053 Author: Hans Petter Selasky AuthorDate: 2022-10-04 14:08:20 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 Fix kernel build after fcb3f813f379f544f9cd2a10d18045588da0e132 . By adding missing ifdefs for INET and INET6 when building LINT-NOIP . Differential Revision: https://reviews.freebsd.org/D36731 Sponsored by: NVIDIA Networking (cherry picked from commit 1d41a055578704a28b34820e0aaf14a29f28f413) --- sys/netlink/route/neigh.c | 2 ++ sys/netlink/route/route.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 44245e14b6b6..076f4bfafdf4 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -127,10 +127,12 @@ dump_lle_locked(struct llentry *lle, void *arg) struct nlmsghdr *hdr = &wa->hdr; struct nl_writer *nw = wa->nw; struct ndmsg *ndm; +#if defined(INET) || defined(INET6) union { struct in_addr in; struct in6_addr in6; } addr; +#endif IF_DEBUG_LEVEL(LOG_DEBUG2) { char llebuf[NHOP_PRINT_BUFSIZE]; diff --git a/sys/netlink/route/route.c b/sys/netlink/route/route.c index 63489dc8173a..7b4fc64ec4bd 100644 --- a/sys/netlink/route/route.c +++ b/sys/netlink/route/route.c @@ -282,7 +282,9 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, nlattr_add_u32(nw, NL_RTA_TABLE, fibnum); int plen = 0; - uint32_t scopeid = 0; +#if defined(INET) || defined(INET6) + uint32_t scopeid; +#endif switch (family) { #ifdef INET case AF_INET: From nobody Mon Jan 23 22:11:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14865mqRz2t0ds; Mon, 23 Jan 2023 22:11: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 4P14862mqDz3KTH; Mon, 23 Jan 2023 22:11:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WJdglznQ4pJhtixSFDhwHcUx1X3yz9Rt39SuHuuAW6c=; b=TbmovGcKulwsQotceFKCm6KxS03xuGjfoS2IbCh/hEixPBXDHMJnVfYVyLw1YDIRjr7yWr tZgqT32XPRwEeXB5VaETORnnjin7QvQLfgADvpfBP8sSdDDpo0NoHj1JTRlTtYJy0aJxtK Pmjc4cNY2sN8F7sya8P6iHBorgS+HUFjRuLae4t3YEsUauWI0MjJHEdptpEaow4LMeMbKg qQ7LCFbp3kyUqF06989uGSz1WRoOXni4KLKD7DPMrqp4C+ypNGTL89eC6bUUHXi5V3t3Pc Ij+4muX0CepaC8nSSZmgb5bmaSGhXLrXS+pW+H6p4igBGpCdwrXYJ8bIDLeQ8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WJdglznQ4pJhtixSFDhwHcUx1X3yz9Rt39SuHuuAW6c=; b=x1jX/4N9ndd4uh8zWJl+P67OE3of3G7WJVrDeDg8zummXy/1wdLImf0WX3fDBSiI/yV716 MdrcYNK2ir5RZ/HedoIOX7l0IrnnqodQkZTkPH0xOUseiDNUV71f2DXXQOfxlFtwHF01H9 ccWxQ3QRsHWpsc9A4lENRZ4E5ep7LwxYkN5XXdtvoTsXgdS+4NDZ1C6Hf24ErKy6KZNd2s RVzQvTbJqwAep6+roWDiqE8AvdOfZgHxGcYuNTLOrlIwK+69uU/XGZ3pNehAoM36SQBMh2 KFBWVPD1L5XTR8seHUwrmXgfM3TSsYkwwWCadi+jgX3EtPaPnpT1quhlSmCPzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511910; a=rsa-sha256; cv=none; b=ZO7IaqdJOImM9T8TCaKJp3x+IX5dk/N50YLdgBD4QKU8t76jgsw0/DeBe4wy5zqkglnO9M LMY6ZE4N+eC+aRJQsZrB2USOFCXGhR8jiulUhs2pn1DIWYqd//er+KT5P1H2Bq5X5zlqrk /p7EAzTn1q8ZOAL9ASWuWaUPILun7BswQBiyhIvT/LboZj+Bk11LSP05blwYMVPyoaOvY+ lH98tekMMRsc/Y0QgM+OuDyiXVZBcHgyjhtcbBiY3UJocyMWugWIpn8JVrxOFgnJ0LtJyD 7lGniQHzZNJHbWyAIQPtrKEsF2b90/YfuBeRteRFqNMCV+BTqCCUNPotttTKPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14861tqDzlqy; Mon, 23 Jan 2023 22:11:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBoci012609; Mon, 23 Jan 2023 22:11:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBoWb012608; Mon, 23 Jan 2023 22:11:50 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:50 GMT Message-Id: <202301232211.30NMBoWb012608@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 77ba029133bd - stable/13 - netlink: make it working without INET6 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 77ba029133bdd714239a258e1c98cf5da0f84f52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=77ba029133bdd714239a258e1c98cf5da0f84f52 commit 77ba029133bdd714239a258e1c98cf5da0f84f52 Author: Gleb Smirnoff AuthorDate: 2022-10-04 21:39:49 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: make it working without INET6 (cherry picked from commit b958b862b1f43f5fef881c1f9aee6618d7d24197) --- sys/netlink/route/iface.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 8bb4406ad8be..5ffe11cc7e80 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -196,21 +196,27 @@ dump_sa(struct nl_writer *nw, int attr, const struct sockaddr *sa) { uint32_t addr_len = 0; const void *addr_data = NULL; +#ifdef INET6 struct in6_addr addr6; +#endif if (sa == NULL) return (true); switch (sa->sa_family) { +#ifdef INET case AF_INET: addr_len = sizeof(struct in_addr); addr_data = &((const struct sockaddr_in *)sa)->sin_addr; break; +#endif +#ifdef INET6 case AF_INET6: in6_splitscope(&((const struct sockaddr_in6 *)sa)->sin6_addr, &addr6, &addr_len); addr_len = sizeof(struct in6_addr); addr_data = &addr6; break; +#endif case AF_LINK: addr_len = ((const struct sockaddr_dl *)sa)->sdl_alen; addr_data = LLADDR_CONST((const struct sockaddr_dl *)sa); @@ -563,6 +569,7 @@ ifa_get_scope(const struct ifaddr *ifa) sa = ifa->ifa_addr; switch (sa->sa_family) { +#ifdef INET case AF_INET: { struct in_addr addr; @@ -573,6 +580,8 @@ ifa_get_scope(const struct ifaddr *ifa) addr_scope = RT_SCOPE_LINK; break; } +#endif +#ifdef INET6 case AF_INET6: { const struct in6_addr *addr; @@ -583,6 +592,7 @@ ifa_get_scope(const struct ifaddr *ifa) addr_scope = RT_SCOPE_LINK; break; } +#endif } return (addr_scope); @@ -599,20 +609,28 @@ inet6_get_plen(const struct in6_addr *addr) static uint8_t get_sa_plen(const struct sockaddr *sa) { - const struct in6_addr *paddr6; +#ifdef INET const struct in_addr *paddr; +#endif +#ifdef INET6 + const struct in6_addr *paddr6; +#endif switch (sa->sa_family) { +#ifdef INET case AF_INET: if (sa == NULL) return (32); paddr = &(((const struct sockaddr_in *)sa)->sin_addr); return bitcount32(paddr->s_addr);; +#endif +#ifdef INET6 case AF_INET6: if (sa == NULL) return (128); paddr6 = &(((const struct sockaddr_in6 *)sa)->sin6_addr); return inet6_get_plen(paddr6); +#endif } return (0); @@ -718,12 +736,16 @@ rtnl_handle_ifaddr(void *arg __unused, struct ifaddr *ifa, int cmd) uint32_t group = 0; switch (ifa->ifa_addr->sa_family) { +#ifdef INET case AF_INET: group = RTNLGRP_IPV4_IFADDR; break; +#endif +#ifdef INET6 case AF_INET6: group = RTNLGRP_IPV6_IFADDR; break; +#endif default: NL_LOG(LOG_DEBUG2, "ifa notification for unknown AF: %d", ifa->ifa_addr->sa_family); From nobody Mon Jan 23 22:11:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14874XkKz2t0W1; Mon, 23 Jan 2023 22: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 4P148742JSz3KTj; Mon, 23 Jan 2023 22: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=1674511911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XBbscov6Pr8uXmb96j6U/B3UoeW0sxVPAhzMZ41JDG0=; b=Uhmfw+jnRmQA8BPmzEsgjXzEJU0enlE+RaSM/i6lSMRxu2b73UuhsJWf8L3HGVqxyt9Ex/ iqar5jP1BF8R137YpDe4rykl1h3c9jUg4bvY2fWkmEcJo4zSzENgwZ9148rwlTIJ3hDjR3 dDIxDq3eOnUuac0GezUNDWQDM+1t4p6qKu4iVMD17S9zfbiHgEx7DTj1hGr5clsQKGVnMM DYmjYwe2YFl438V4S+1uGHIqZS4lvPBCQwOhkE2JNFM1hPJbgnqkfzbcbiVbAi0+i1GuiP UZp9LmJ0MrBNNwSHr9IRfj4dsuwr+BRu/vLMWUAs1TtnxYpb9I9dg/uTDx9vIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XBbscov6Pr8uXmb96j6U/B3UoeW0sxVPAhzMZ41JDG0=; b=vS70za6PNdE+wlDMSLuGEaGYH6qypH75Vm3IY+NEC+W4qgu+/GR9ZWoJTFOhhnuRUgCU+S NV0lTeGz3D+gIzMzTOBwGlEWn+NOaMDfdixiOMqAj1uw8Zu7ZWRTrPi9rzRGimKA+f3ilX NCez/q1CCEbDc/Vid5RGBi0OmRJLpVmEZGVIkLdU3toG/j0FDZnkVA0r6EqT0595VAkngk F4ysRryfZeyZ+SIV83jYqvKLMH/5PGv+v5jgGys7UkXpViwUEC2uWQl2aDnCamn6JGpj2G OjqmnyJdrRaiDFrKIvzUzKsDV/g1ffMaKCnGU8bdW1Na6IISL8oZ8xHDKMJU9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511911; a=rsa-sha256; cv=none; b=UaycPsLgMF0POeLiWgS1Wq+HJzA/NTkpp3q0QL5zGWjU5KDCPkncHJ7EcJ7iSHHyHPHeff gPOjnwWSyNroXvt608slw/dLN9MwWEOyGCv40alE6LErt5/F0c8da/aE/tELh91pfkpqyP TucyktwQPwa3DEyAzT3VResI6jjHuzYbTwDBL4EgUoOIcEcmoBOCtaa83gai8PTIXj5I3e BKsgN2zTI7ITHX5iX41dHeT7ZpFVi+dDksFFz+k/h5wV7+t7/rr7SaDkoGdhyDksls93sv /gsB70wW+zlAetoVhAiRYCVEnzgCF5wO0ihHJKagdaS4NAs+VqtafYk4LR1zJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14872rwXzlnR; Mon, 23 Jan 2023 22:11:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBpSd012634; Mon, 23 Jan 2023 22:11:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBpxP012633; Mon, 23 Jan 2023 22:11:51 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:51 GMT Message-Id: <202301232211.30NMBpxP012633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6e5d41dc8f16 - stable/13 - netlink: use (void) for function definitions with no arguments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6e5d41dc8f165e16dc924dd50f7081783adb450e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6e5d41dc8f165e16dc924dd50f7081783adb450e commit 6e5d41dc8f165e16dc924dd50f7081783adb450e Author: Ed Maste AuthorDate: 2022-10-27 14:49:51 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: use (void) for function definitions with no arguments For some of these Clang produced a warning that "a function declaration without a prototype is deprecated in all versions of C". In other cases the function defintion used () which did not match the header declaration, which used (void). Sponsored by: The FreeBSD Foundation (cherry picked from commit 43d0c2ddd2556841717a50925f713c9c70d3936e) --- sys/netlink/netlink_domain.c | 3 ++- sys/netlink/netlink_generic.c | 4 ++-- sys/netlink/route/neigh.c | 4 ++-- sys/netlink/route/nexthop.c | 4 ++-- sys/netlink/route/route.c | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index bca30bedce11..44b5fb732896 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -174,7 +174,8 @@ nlp_has_priv(struct nlpcb *nlp, int priv) } static uint32_t -nl_find_port() { +nl_find_port(void) +{ /* * app can open multiple netlink sockets. * Start with current pid, if already taken, diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 64985f656a63..7d226f77e44b 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -440,7 +440,7 @@ static const struct genl_cmd nlctrl_cmds[] = { }; static void -genl_nlctrl_init() +genl_nlctrl_init(void) { ctrl_family_id = genl_register_family(CTRL_FAMILY_NAME, 0, 2, CTRL_ATTR_MAX); genl_register_cmds(CTRL_FAMILY_NAME, nlctrl_cmds, NL_ARRAY_LEN(nlctrl_cmds)); @@ -448,7 +448,7 @@ genl_nlctrl_init() } static void -genl_nlctrl_destroy() +genl_nlctrl_destroy(void) { genl_unregister_family(CTRL_FAMILY_NAME); } diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 076f4bfafdf4..9bcbb68dd375 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -559,7 +559,7 @@ rtnl_lle_event(void *arg __unused, struct llentry *lle, int evt) static const struct nlhdr_parser *all_parsers[] = { &ndmsg_parser }; void -rtnl_neighs_init() +rtnl_neighs_init(void) { NL_VERIFY_PARSERS(all_parsers); rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); @@ -568,7 +568,7 @@ rtnl_neighs_init() } void -rtnl_neighs_destroy() +rtnl_neighs_destroy(void) { EVENTHANDLER_DEREGISTER(lle_event, lle_event_p); } diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 31816d84f189..64f46ad035fc 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -590,7 +590,7 @@ consider_resize(struct unhop_ctl *ctl, uint32_t new_size) } static bool __noinline -vnet_init_unhops() +vnet_init_unhops(void) { uint32_t num_buckets = 16; size_t alloc_size = CHT_SLIST_GET_RESIZE_SIZE(num_buckets); @@ -998,7 +998,7 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { static const struct nlhdr_parser *all_parsers[] = { &nhmsg_parser }; void -rtnl_nexthops_init() +rtnl_nexthops_init(void) { NL_VERIFY_PARSERS(all_parsers); rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); diff --git a/sys/netlink/route/route.c b/sys/netlink/route/route.c index 7b4fc64ec4bd..852843af1b7d 100644 --- a/sys/netlink/route/route.c +++ b/sys/netlink/route/route.c @@ -981,7 +981,7 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { static const struct nlhdr_parser *all_parsers[] = {&mpath_parser, &metrics_parser, &rtm_parser}; void -rtnl_routes_init() +rtnl_routes_init(void) { NL_VERIFY_PARSERS(all_parsers); rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); From nobody Mon Jan 23 22:11:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P14885lW1z2t0kc; Mon, 23 Jan 2023 22: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 4P14884ldZz3KnX; Mon, 23 Jan 2023 22: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=1674511912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gFY8ggpmNYS2/beug/+FE7jkapGQpQVlqC7AvYrorDs=; b=IigOa4+PJereWWtfAW56UJj2MtRHMxotWkcC6eVVVHu2RLZhhGjwIbZsoH4D6qeI9YHAzs Mh2dCNaRD0A7hj68eoq1UaUSPjMXAhlOs7VVWOnkVZ91jz8OzzM3dOp02BvtYyl2qJNUu1 wap+xUT2Puck44v1LXn6lp4wdzWsUxnA0GHzzuLgku1ksgeUWIP0OW/oPY6RxZUFDfpzkw 7SYVh68WSYCpe6C/O8yRXfVDYVgoPdIEpZLUuObRG+GZDvtRYxlkkJ7bpY/LRFLwBy0PO2 ZVId5tXHQDI9B/4Dz2DL2sSm6u8TfJsk1NbBw5j+lJ9u3eW1KO/1vEt6eZTi0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gFY8ggpmNYS2/beug/+FE7jkapGQpQVlqC7AvYrorDs=; b=ZWnPkcmF1asGznvIpE7Tjy0fvUtIvLhOr2jVJsYoEowahiVii0LaBclWU9yEd6i1Xz46zk WAgk3BsADsFwS17vNrj11kzRZDweWu5gLfuLQi8XkNCfpuzT48XyPA9JhPCrcMjrkcULJw Y0pp83yy/wcTv0AO2bt3Ecz50GaOEMrTsOqF7YiA7sNAtPkAA2wy/TnK5E2gl6ZKrNKwdc 3Vxy4ioFInxwahOYSXsaoJeO8Jm32ScNGtxAHJwCV/VcBADbtq2RMsNfZIZeXJnjewjNsi tDkBig5Nk6Plo1WszorbKnXG2XEpwu33MWuH7SYNVKCI9RukgjtODS8wJ5/vyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511912; a=rsa-sha256; cv=none; b=PbPdrbGIssAaREIWBErLUgk+S/tKGqHULbBVrlh7Pr77COZg4U+7q5bWMoFpNS58z3Hpu6 xGwPXGFlVhGcV97FdFORkvoWYsJu6Zyw35r1HIMj/zMH4ZBrtOUVN6F8w2a6KTF/ejsvS4 sNa1faJJHtzClcayw5Z4bfQv4VsASilOiG2U+8iKwQgQSv9rXuIxcFJnqGIRcsZwWvyu1T g/EBbowCc/J1nVHxtrz4BEvlmZws27RYS+FGrCnUVVNCcwee71eK9lt6rr8wC4eo11zgcv bbVdaojPZ+UviXRZajx5JBLbJmf7iwc0SiU4RpLpIcYh/6sr3PodIu0kMihGhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14883pXHzlr0; Mon, 23 Jan 2023 22:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBqfw012660; Mon, 23 Jan 2023 22:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBqBv012659; Mon, 23 Jan 2023 22:11:52 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:52 GMT Message-Id: <202301232211.30NMBqBv012659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: c18674d6313c - stable/13 - netlink: fix generic netlink privilege check. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c18674d6313c798ea8e193145f94c321274d7e45 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=c18674d6313c798ea8e193145f94c321274d7e45 commit c18674d6313c798ea8e193145f94c321274d7e45 Author: Alexander V. Chernikov AuthorDate: 2022-10-31 13:40:25 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix generic netlink privilege check. Reported by: bapt (cherry picked from commit fc47afbfafca9c72ea8866e71a05ed7ee4c0fce6) --- sys/netlink/netlink_generic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 7d226f77e44b..94baf12c874e 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -435,7 +435,7 @@ static const struct genl_cmd nlctrl_cmds[] = { .cmd_num = CTRL_CMD_GETFAMILY, .cmd_name = "GETFAMILY", .cmd_cb = nlctrl_handle_getfamily, - .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP, GENL_CMD_CAP_HASPOL, + .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, }, }; From nobody Mon Jan 23 22:11:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148974Nxz2t0W2; Mon, 23 Jan 2023 22: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 4P148965ccz3Kh4; Mon, 23 Jan 2023 22: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=1674511913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qbt2n8TBE/npBrICsfW5Xwd1Ebs18tF2/1rl3ATWU9E=; b=HP+VFF1HTEBYAJM0sADNAqe8NwuLL4p1joe6S2ff/zh7bvebKQlM8JHcdSLnsM4h5PP0+M ApLMVDWTIx+9sY+wDbhaSjI6j1s70+0/MAaW3Wkdk1Urn4a7msUDqkmpOPs7MTo8UQS4kX OHfFMRcyDa1Q131qQDbknjfZeXyAmvwBT87/4tI6asAjmqybzsZ9zgFHyRTOYs4vzx6zib Ft7F3WdRO/ZRfaFN3PLUJoDmwr1GFLL2KO35htSsgG0bV9vC5XoXGX+BwkGUNXYCt1ZZnU bq3WWyZe8Y6QTnuJ4NFCmOfdnOIWq+QNW89cP6aT5gLY9v/lToPsANMSzi2fzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qbt2n8TBE/npBrICsfW5Xwd1Ebs18tF2/1rl3ATWU9E=; b=fjCxk1KGR3Af189ymKjAGwuNF0dPMddb8Z2NtGtbS6z92bTEkH/+uD+xljMqNNMhxN3KRT RPucy4BCtFWubNKQNGgtYfNmPc+nKxkNWSF1JrGEiadFhSKlenBDA2LaMdMCHQl/K490V0 ozJ7ZdJux3y/IVv4MQS6Gmh5QrSMv2xCs1IbbFUGSSNJbDMPOyqrNNH7k7hXjHlbvmayrb 65YwBfgo/Pm0KuMrXJGLtps2+LS8Mz8o14JIPjHgrO7Mh6Z6xAyXoAoX98uwS029mGAbE5 m2PWvKytpNxAQ7zF+H9P2szhvAD5YJoY2iQIoSpjRKJ+c1T37om1yg1Y3jro8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511913; a=rsa-sha256; cv=none; b=m0NAW5miy64FG30tiimZbmsLH9uyckZamfJhwGtlutvHQ+QYLCRxLJtV3No6DBMl6W/sS4 I4EHCiuviRDTjnabyjiYxcQFDU2WRWtBHVClmKvOxRL8MDWejjXNR1Gs7YWihvEe/qkyyG KkkIedqbY8KUjEND8WqHWhXuSy0tFjdUGlPFgvy2Yvtew0fFvc9YQpVV40iR2aQj20O0kd ER8sujD/pKSmNWkkFR5KwqlYxQ2jNzSKTM+H0mazYx9FztnwkPjtG4siJzBnRkDv0+d1Oy otTpZ1sKPKIBbz6lbwySPYQjSuLxMgW9Wr3NXa2fRG9wcsqSbrdJ/kV5EkCbgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P14894yKczlr1; Mon, 23 Jan 2023 22:11:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBrdf012684; Mon, 23 Jan 2023 22:11:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBrAM012683; Mon, 23 Jan 2023 22:11:53 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:53 GMT Message-Id: <202301232211.30NMBrAM012683@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 476f69f0e597 - stable/13 - netlink: fix NLMSG_SPACE() macro. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 476f69f0e597a39904a3bc491133dafb0507ae02 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=476f69f0e597a39904a3bc491133dafb0507ae02 commit 476f69f0e597a39904a3bc491133dafb0507ae02 Author: Alexander V. Chernikov AuthorDate: 2022-10-31 15:02:12 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix NLMSG_SPACE() macro. Reported by: bapt (cherry picked from commit 03de61aabb40dab3c7311e1664c85e41dafe29b4) --- sys/netlink/netlink.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h index 6a68dcec1382..3623ae754951 100644 --- a/sys/netlink/netlink.h +++ b/sys/netlink/netlink.h @@ -205,7 +205,7 @@ enum nlmsgerr_attrs { #define NLMSG_ALIGN(_len) NL_ITEM_ALIGN(_len) #define NLMSG_HDRLEN ((int)sizeof(struct nlmsghdr)) #define NLMSG_LENGTH(_len) ((_len) + NLMSG_HDRLEN) -#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(_len)) +#define NLMSG_SPACE(_len) NLMSG_ALIGN(NLMSG_LENGTH(_len)) #define NLMSG_DATA(_hdr) NL_ITEM_DATA(_hdr, NLMSG_HDRLEN) #define _NLMSG_LEN(_hdr) ((int)(_hdr)->nlmsg_len) #define _NLMSG_ALIGNED_LEN(_hdr) NLMSG_ALIGN(_NLMSG_LEN(_hdr)) From nobody Mon Jan 23 22:11:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148C2Yq0z2t0mt; Mon, 23 Jan 2023 22:11: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 4P148B6XrWz3Kvb; Mon, 23 Jan 2023 22: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=1674511914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Bg0jmy3/l+KyQBf/jCVdc5exWS8Kbu3CVmvrNij+Gg=; b=C/QsxhrCVtH/Zr24YMYHQjeG6rihF/WHJaKuu1gzmEfvg2QkAdktKVkJw4SWk/aOs9i3Lh s0MVADsdqBlrNpJ3njy4VSyWr3oBVKR18NdoqkwtMY3cylNeCiadDNBvonXqRVDqsFIwBq 43+HlGolBXmiShwRuIBrGfZk8rNapN9nM9XLczFGj9FvLG9sDDUKzduh2YQvE/gKmkWUPe /FWeCw9xOmx8c5H04CNcR5Rlw7MNvquez9mmlDx54vSnVndMORn5Ow1o4TYMAJ9sDrFDTP swZPutDjEUMCN4xzMOSGVNJuO3WRN61vcCEdZnw53fbEqjpNwX+XnqqReV2GdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Bg0jmy3/l+KyQBf/jCVdc5exWS8Kbu3CVmvrNij+Gg=; b=WFLlt/RP6oxJJOtOeNmNjFOdcUdaup73oAo7XH9EUTiN3cBmb6IuJJOQvOMsF1hDM3DupD T6oohMzvuBOwWq6UGkxr2SKkyo1l3d/jxeDtiLaM5Q+uWc5qnWHH0xoBgjG0eX02ycVBh+ mbemTIGq5JBd6f8QBPDOe2Gz4CeRV2vy/QFXda7+3NsACCKvGMY33L83fxUq1TYMaSSkqa h75Mr9dSpoyl4RSuwF+H0Y4kXEvOXT4kt/DzBy5YG5LD+42/kw3LNbWlA/A8/iVJa96H9E DFkKeJQZEdhfyJMGBwLD/XC3rlGzkqrkDfnSjC6ntVdqKfih4sKd2ymR9DUHpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511914; a=rsa-sha256; cv=none; b=jK/sXziSsnWVQf1EqUqMmVQbwVUCkDzldSEasRsDOR/FYKWIYZV80d5T33skQbwQZlazJK xjGqeWRS/uUpsvXSY4ZMZZw2gKGHaFFioFovijqvgjq0TRIzs739baaat9vRXNL0slu8Hx Wg87YI3ndl2hRL7vMFZXZDUOevM7LVoKYigv1R9kDtx91gIEQyzIhBkqurCkNEq3+brCnD PZQ9FicXC8JkbqJWSaTRAl4csuCWKc36covlJm0iv31Pi4HBVgA90OFnvr+zSAayUB0Asc k1/zZbQFkfnYiLZSk2v8MoNMFUmffq0O0bfc2z5R6vkny0oixTfFKOhmZmIt9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148B5fw9zllJ; Mon, 23 Jan 2023 22:11:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBscf012716; Mon, 23 Jan 2023 22:11:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBstV012715; Mon, 23 Jan 2023 22:11:54 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:54 GMT Message-Id: <202301232211.30NMBstV012715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: c33cc82152c5 - stable/13 - netlink: fix genetlink CTRL_ATTR_MCAST_GRP_MAX define. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c33cc82152c5dc9ed7e593583ef7c70d427cd1fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=c33cc82152c5dc9ed7e593583ef7c70d427cd1fc commit c33cc82152c5dc9ed7e593583ef7c70d427cd1fc Author: Alexander V. Chernikov AuthorDate: 2022-10-31 15:03:27 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix genetlink CTRL_ATTR_MCAST_GRP_MAX define. Reported by: harti (cherry picked from commit 830352ccca2386dde60e0590ad4e3a22532867a9) --- sys/netlink/netlink_generic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/netlink_generic.h b/sys/netlink/netlink_generic.h index f88b6b5f5429..bd7a59f11059 100644 --- a/sys/netlink/netlink_generic.h +++ b/sys/netlink/netlink_generic.h @@ -107,7 +107,7 @@ enum { CTRL_ATTR_MCAST_GRP_ID, /* u32, dynamically-assigned group id */ __CTRL_ATTR_MCAST_GRP_MAX, }; -#define CTRL_ATTR_MCAST_GRP_MAX (CTRL_ATTR_MCAST_GRP_MAX - 1) +#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) #endif From nobody Mon Jan 23 22:11:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148D0q7gz2t0hK; Mon, 23 Jan 2023 22: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 4P148D0GtLz3KsH; Mon, 23 Jan 2023 22: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=1674511916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HJzKbqnfwx1lM3CuGkS4CD++mL4shFNcGUSxRFONDz0=; b=O70nJFFuHcNyl1cFY/m+dv5DYkTpCfZdESm3dgRICNlh9jbL02crdD1BgrtJ+5ACkH+f1f O2DkSoiFLOhIV/pYQThewK1eaPqfPaFNV5rh2lCvP/IfI5jrv9K49feohean6a5GEBLc9q myqbhfv8dkDt83/Ou5rmR+x7UjkDafmFV1sJdQp3Un4e061jXuZBL6rt5Scv/gKuoXBoAP e1W57lZ7WGS2OUEJt1W8d/g7iaFIDJuAcqa1zNMfnGALIFRenfxDMZy+dp8YxkXzWfJ976 dEhRokLyUdQ5buAcr1ztoxUyvQW/94rSij4DBRacZsd9Cnnc0QZymyfs/8/ihg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HJzKbqnfwx1lM3CuGkS4CD++mL4shFNcGUSxRFONDz0=; b=nXa0BTve94OQ20+U/lAHneoGNAg85WLd8VyXUG9zJbylJZ7PL3auWcsTKVIEukBoChVnUY uK07uMT1yoFIi28IAefmROzMuTN3vp4q6e4q0wEYfV/AL2n2Fa0ajsmMLr+NLeMrDESoe+ tCRzdZB8l4eqRg5JJNY4mb8fKVi+pSmdpe/xYG0K3OKWyl4108bDq+leIa0O85uhyBg5lL 8DqdlU2DCZy9tDjRxagAQJiFCOQpW6GqPP1ckR/JvoXfe+jeY7FmhFCLumFnJBd1QPwXyK 9lw0AzV/dk/Ukz7mev1b4Ie7IniRW0w3iQ8NeZqG+2gp9RDAQTI2GMrDQcrSRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511916; a=rsa-sha256; cv=none; b=gdpDWWpUQPlhPvJUhWncqW1JBV7h5fnwYnrMqE0J/yPGSR4hVgqfRGJIanmfLZp/SVz9Ap uA9TnzBYSXLwA2w2RoKJ3PpCnTCqerM+0ncwWuTTL2M9y2s1e8GF36q1YaiSb/IyOrcJvL Kr0HEEfnor831WxE23EKs3S+DwITLQVt28weJJvQs1cQwKsYM0egS/zACIa7gznhfftPeD EaKXqGaLGemk/UgNTDkHPNYJ3tc+P9J2tXg6O4FUezhJe9sCUUizBdcRbZOUEUJrR6Sbdp 59wHGTvI5McO8Xd686mG4wbJUtf/VTkm+07lXnKixG2PFiTe7OcrheTNEIvViw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148C6SLpzlnd; Mon, 23 Jan 2023 22:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBtIX012742; Mon, 23 Jan 2023 22:11:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBtFV012741; Mon, 23 Jan 2023 22:11:55 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:55 GMT Message-Id: <202301232211.30NMBtFV012741@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: d9211c8c7846 - stable/13 - netlink: fix CTRL_CMD_GETFAMILY lookup/dumps. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d9211c8c7846381059c7bc73bf10489a2fc49ed1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=d9211c8c7846381059c7bc73bf10489a2fc49ed1 commit d9211c8c7846381059c7bc73bf10489a2fc49ed1 Author: Alexander V. Chernikov AuthorDate: 2022-10-31 17:11:53 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: fix CTRL_CMD_GETFAMILY lookup/dumps. Reported by: bapt (cherry picked from commit 728ca8506dff0f27e32a5994b68e9eea5c345e04) --- sys/netlink/netlink_generic.c | 48 +++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 94baf12c874e..ffb9f8bcfb86 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -378,13 +378,25 @@ static const struct nlfield_parser nlf_p_generic[] = { }; static struct nlattr_parser nla_p_generic[] = { - { .type = CTRL_ATTR_FAMILY_ID , .off = _OUT(family_id), .cb = nlattr_get_uint32 }, - { .type = CTRL_ATTR_FAMILY_NAME , .off = _OUT(family_id), .cb = nlattr_get_string }, + { .type = CTRL_ATTR_FAMILY_ID , .off = _OUT(family_id), .cb = nlattr_get_uint16 }, + { .type = CTRL_ATTR_FAMILY_NAME , .off = _OUT(family_name), .cb = nlattr_get_string }, }; #undef _IN #undef _OUT NL_DECLARE_PARSER(genl_parser, struct genlmsghdr, nlf_p_generic, nla_p_generic); +static bool +match_family(const struct genl_family *gf, const struct nl_parsed_family *attrs) +{ + if (gf->family_name == NULL) + return (false); + if (attrs->family_id != 0 && attrs->family_id != gf->family_id) + return (false); + if (attrs->family_name != NULL && strcmp(attrs->family_name, gf->family_name)) + return (false); + return (true); +} + static int nlctrl_handle_getfamily(struct nlmsghdr *hdr, struct nl_pstate *npt) { @@ -399,19 +411,33 @@ nlctrl_handle_getfamily(struct nlmsghdr *hdr, struct nl_pstate *npt) .cmd = CTRL_CMD_NEWFAMILY, }; + if (attrs.family_id != 0 || attrs.family_name != NULL) { + /* Resolve request */ + for (int i = 0; i < MAX_FAMILIES; i++) { + struct genl_family *gf = &families[i]; + if (match_family(gf, &attrs)) { + error = dump_family(hdr, &ghdr, gf, npt->nw); + return (error); + } + } + return (ENOENT); + } + + hdr->nlmsg_flags = hdr->nlmsg_flags | NLM_F_MULTI; for (int i = 0; i < MAX_FAMILIES; i++) { struct genl_family *gf = &families[i]; - if (gf->family_name == NULL) - continue; - if (attrs.family_id != 0 && attrs.family_id != gf->family_id) - continue; - if (attrs.family_name != NULL && strcmp(attrs.family_name, gf->family_name)) - continue; - error = dump_family(hdr, &ghdr, &families[i], npt->nw); - if (error != 0) - break; + if (match_family(gf, &attrs)) { + error = dump_family(hdr, &ghdr, gf, npt->nw); + if (error != 0) + break; + } } + if (!nlmsg_end_dump(npt->nw, error, hdr)) { + NL_LOG(LOG_DEBUG, "Unable to finalize the dump"); + return (ENOMEM); + } + return (error); } From nobody Mon Jan 23 22:11:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148F25thz2t0hM; Mon, 23 Jan 2023 22: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 4P148F1dPMz3KtF; Mon, 23 Jan 2023 22: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=1674511917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zrz3EIlr7D++SzQxooZOsyxBm9Fln0p6gj0J/QCEdwY=; b=dd8mo48LBQnkJNhtD8ax2DQvbw8sgwDKALATQrZRYz8R/CuaPPjJxu1Xfq9AQLB0Uld5eg T2VpkQJwbIAu6A95T5YR6XKd9sGTCfbdSNYsVI3/KJ9GJcFNfk62e7W3EtgGaRd0a4FzBJ vWTdxRqmoKvHcqIjZ7lMGv66k/BJCkLdlMY1rxoRMHqR7QAH8cQC2N3K9JeqLNcDEHkgUF 6t9weZo02xfUYQVVK37d6diKHlphdS0l1mBRDHde7BoPG6W5GBxuDq3kTc39ZVTMljme7x rCGDO75DLupbgbGHR1aThQrtK/AIg1n4g06vdgSszvkg45T2gVnv9J/fqeUsUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zrz3EIlr7D++SzQxooZOsyxBm9Fln0p6gj0J/QCEdwY=; b=BIIFh6ynndI1QgqYo2aurK1PafK48JNHkn9n9R8LWCYsthACDv2R7RA09NmvUagfFtt/9i i5vJfM7XE/lbo5KSdwmsVEOkPe0mOnjrr8d5l7ajs4eay8Rq9g2/q3QkNqxFWeyErSO4Tg bWEyTCLRMqHRwO5osaLqkz0cA4O+2lEoQmVEWx6vdbGPLD+HU1Ga95tIGG0VUFxDzjRGOb 2uKEbvkFVOe1qZd6IeDW8sKaZ2PzC791SFbBfmC4VFbSollwKH7UUMQRtzopG3k/ZFfcMe XNz1dklhgOMoeStJOMeRlSr/RtEwDMYp9N/hwbBMsw08hMlnA5HQEwjXEYXbcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511917; a=rsa-sha256; cv=none; b=hZU7tVtdklffYoNf5ydL7JP6Bc7o1Nj7+ipzvrxPKAhZFPuFoFvoBu5k4OKBCgTLogVp1l FCRSmWxiPRdFeJ6GOfmVlpW0aEGW5grPtEJ9p+t8E5YXmRpmVkIeLEApEYfck7fGhCd1uk rXzwZ/JKRjHwUv/R2cO9SkolL4uGB3aKm/bR71kkh2ES8PILeaFtGzankVtckjKWK5JYgt /5JDdX5DwgonA6aFUz4pmadGvJ7glQoBIh12BDzuWm9bn90BSlns+B0LZp7aKOWeLwrj3e FPISdMPxrbQWrJF2Eg7j582cw1ujPuXCmhL2eSo8jgypz+scE/wKgLX/jzYywg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148F0cNvzlth; Mon, 23 Jan 2023 22:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBu7P012770; Mon, 23 Jan 2023 22:11:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBu9Q012769; Mon, 23 Jan 2023 22:11:56 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:56 GMT Message-Id: <202301232211.30NMBu9Q012769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 7e49b54014b4 - stable/13 - netlink: remove private netlink_var.h header from the non-netlink core files. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7e49b54014b4b7d16c41956899b2ac1bcdc8c5ce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=7e49b54014b4b7d16c41956899b2ac1bcdc8c5ce commit 7e49b54014b4b7d16c41956899b2ac1bcdc8c5ce Author: Alexander V. Chernikov AuthorDate: 2022-11-03 17:03:26 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:02 +0000 netlink: remove private netlink_var.h header from the non-netlink core files. (cherry picked from commit 669d63eb85066be6b53d1a6ee6d0441fd0f46595) --- sys/netlink/netlink_generic.c | 2 +- sys/netlink/netlink_route.c | 2 +- sys/netlink/route/nexthop.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index ffb9f8bcfb86..5d074640ad60 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -38,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #define DEBUG_MOD_NAME nl_generic diff --git a/sys/netlink/netlink_route.c b/sys/netlink/netlink_route.c index 5fdd1283e4ad..cc1a0cc6db8d 100644 --- a/sys/netlink/netlink_route.c +++ b/sys/netlink/netlink_route.c @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -37,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 64f46ad035fc..cd184a635eb4 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include "opt_route.h" #include #include +#include #include #include #include @@ -47,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include From nobody Mon Jan 23 22:11:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148G4QjGz2t0SM; Mon, 23 Jan 2023 22: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 4P148G2XGnz3LFF; Mon, 23 Jan 2023 22:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tyLdJ9L8GGNX9Dfx2GGfXIHyrMj+QjQjCnR+HlbQMUo=; b=buj6V2HDxux3+K03LneGOAeW5ZTJmletWOu6eTUQvb1QZjgfsmu35dzi1I23t7vJGCMzAx saQWiysb4CR55uipr7Twe7otKD9++hDzl2Yu4w5G2YkTdwzTVsRaDlFhF6zAnw9zUgTIKC feZjRFhZGXyXIKSobREZkmHuyMgjCFzCz32k3EE4Mbz08d2Ym8uHzv23iHxNUlS4IZ2ORW 8V+V8r389vSOmGfXnUIIk9qk0YBPPlzUNCzbP7gZu6J0etPSYNAY3r0VdCecD0QyeAeOtr EAknPfe8jBcZKzEy8jbVMDlsWVH+7G562HTU3s2+nIei8IOJmPStZenA3YRqpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tyLdJ9L8GGNX9Dfx2GGfXIHyrMj+QjQjCnR+HlbQMUo=; b=OiqKnve2eLuZiJcocXYgHo8fzj6Hg/EjR8Nd5wg8x+hKh92R/kD3Vz2wUAzIsCzwWCT8Vc rdSvdQ065XDGD9UiVlbR6it0xcGqL4NinSLlIW7too4MT1jrgjjyFmIwxV3+XBgXv2I273 29QqecgV3ZmkxSG78RWGgiCjp3ezY3Q+OCf5eSaKo0+g25aqThs2TLXEt7WTkb31O0TLD4 QfXhJNhJbak1IK7MDmVbF1i/ysi1Gyd/zdBfk/Np0/r2nCttYfhMIQ7Gcu/ABL4wlDk8+I UbGgOlpOPKk5z6lm851edFfepKI4GIqsUGQU7SV41wRsjD5HFbBLHvhnNYb1Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511918; a=rsa-sha256; cv=none; b=vYPRuFdfZrqpfju0vygd4aaybCcyV9OEx/SKuBflVvQ4cpQtj0FGAZTG1+Awe/HkT6IXaB T2bgZuYAi9hvb2kaFyEQsEgoioXBWsqPEzdxpvHezllUVi2IA2UeEivjt8vkoR8re6ZeCG RlXC7ZutqAz0BnJn0gLKyqxvE680T3hwpSqLBpON6O1ZDl+YrqQaZJ/y1tUwHgMq6LhaVy Av4UTcej+Z2hqbQLtnG90xlK7uwaJjx6jcGTDD8iArneCnvziymTkBGAa2VNu13mR9zgaj mjuZLtwoQHM+6P/PlvDQs5xdL7bGZO/Wdee3ZZCmUpAF5qTLQ43UYEM7c7Cc2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148G1ZVVzltj; Mon, 23 Jan 2023 22:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBw87012798; Mon, 23 Jan 2023 22:11:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBwaP012797; Mon, 23 Jan 2023 22:11:58 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:58 GMT Message-Id: <202301232211.30NMBwaP012797@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 286b49d4ea3a - stable/13 - netlink: allow more than 64 groups per netlink socket. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 286b49d4ea3a4dda6627d7f6cea90d41d880f076 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=286b49d4ea3a4dda6627d7f6cea90d41d880f076 commit 286b49d4ea3a4dda6627d7f6cea90d41d880f076 Author: Alexander V. Chernikov AuthorDate: 2022-11-03 16:44:07 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: allow more than 64 groups per netlink socket. (cherry picked from commit 4dfd380e06c515349c5cc55a1f05effbf3a44ba1) --- sys/netlink/netlink_domain.c | 71 ++++++++++++++++++++++++++++++++----------- sys/netlink/netlink_generic.c | 2 +- sys/netlink/netlink_var.h | 4 ++- 3 files changed, 57 insertions(+), 20 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 44b5fb732896..b0ff84401c84 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -55,6 +55,10 @@ #include _DECLARE_DEBUG(LOG_DEBUG); +_Static_assert((NLP_MAX_GROUPS % 64) == 0, + "NLP_MAX_GROUPS has to be multiple of 64"); +_Static_assert(NLP_MAX_GROUPS >= 64, + "NLP_MAX_GROUPS has to be at least 64"); #define NLCTL_TRACKER struct rm_priotracker nl_tracker #define NLCTL_RLOCK(_ctl) rm_rlock(&((_ctl)->ctl_lock), &nl_tracker) @@ -97,12 +101,43 @@ nl_port_lookup(uint32_t port_id) } static void -nl_update_groups_locked(struct nlpcb *nlp, uint64_t nl_groups) +nl_add_group_locked(struct nlpcb *nlp, unsigned int group_id) { - /* Update group mask */ - NL_LOG(LOG_DEBUG2, "socket %p, groups 0x%X -> 0x%X", - nlp->nl_socket, (uint32_t)nlp->nl_groups, (uint32_t)nl_groups); - nlp->nl_groups = nl_groups; + MPASS(group_id <= NLP_MAX_GROUPS); + --group_id; + + nlp->nl_groups[group_id / 64] |= (uint64_t)1 << (group_id % 64); +} + +static void +nl_del_group_locked(struct nlpcb *nlp, unsigned int group_id) +{ + MPASS(group_id <= NLP_MAX_GROUPS); + --group_id; + + nlp->nl_groups[group_id / 64] &= ~((uint64_t)1 << (group_id % 64)); +} + +static bool +nl_isset_group_locked(struct nlpcb *nlp, unsigned int group_id) +{ + MPASS(group_id <= NLP_MAX_GROUPS); + --group_id; + + return (nlp->nl_groups[group_id / 64] & ((uint64_t)1 << (group_id % 64))); +} + +static uint32_t +nl_get_groups_compat(struct nlpcb *nlp) +{ + uint32_t groups_mask = 0; + + for (int i = 0; i < 32; i++) { + if (nl_isset_group_locked(nlp, i + 1)) + groups_mask |= (1 << i); + } + + return (groups_mask); } /* @@ -134,10 +169,9 @@ nl_send_group(struct mbuf *m, int num_messages, int proto, int group_id) NLCTL_RLOCK(ctl); int io_flags = NL_IOF_UNTRANSLATED; - uint64_t groups_mask = 1 << ((uint64_t)group_id - 1); CK_LIST_FOREACH(nlp, &ctl->ctl_pcb_head, nl_next) { - if (nlp->nl_groups & groups_mask && nlp->nl_proto == proto) { + if (nl_isset_group_locked(nlp, group_id) && nlp->nl_proto == proto) { if (nlp_last != NULL) { struct mbuf *m_copy; m_copy = m_copym(m, 0, M_COPYALL, M_NOWAIT); @@ -213,7 +247,12 @@ nl_bind_locked(struct nlpcb *nlp, struct sockaddr_nl *snl) nlp->nl_bound = true; CK_LIST_INSERT_HEAD(&V_nl_ctl->ctl_port_head, nlp, nl_port_next); } - nl_update_groups_locked(nlp, snl->nl_groups); + for (int i = 0; i < 32; i++) { + if (snl->nl_groups & ((uint32_t)1 << i)) + nl_add_group_locked(nlp, i + 1); + else + nl_del_group_locked(nlp, i + 1); + } return (0); } @@ -324,7 +363,7 @@ nl_assign_port(struct nlpcb *nlp, uint32_t port_id) NLCTL_WLOCK(ctl); NLP_LOCK(nlp); - snl.nl_groups = nlp->nl_groups; + snl.nl_groups = nl_get_groups_compat(nlp); error = nl_bind_locked(nlp, &snl); NLP_UNLOCK(nlp); NLCTL_WUNLOCK(ctl); @@ -562,7 +601,6 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) struct nl_control *ctl = atomic_load_ptr(&V_nl_ctl); struct nlpcb *nlp = sotonlpcb(so); uint32_t flag; - uint64_t groups, group_mask; int optval, error = 0; NLCTL_TRACKER; @@ -575,20 +613,17 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) case NETLINK_ADD_MEMBERSHIP: case NETLINK_DROP_MEMBERSHIP: sooptcopyin(sopt, &optval, sizeof(optval), sizeof(optval)); - if (optval <= 0 || optval >= 64) { + if (optval <= 0 || optval >= NLP_MAX_GROUPS) { error = ERANGE; break; } - group_mask = (uint64_t)1 << (optval - 1); - NL_LOG(LOG_DEBUG2, "ADD/DEL group %d mask (%X)", - (uint32_t)optval, (uint32_t)group_mask); + NL_LOG(LOG_DEBUG2, "ADD/DEL group %d", (uint32_t)optval); NLCTL_WLOCK(ctl); if (sopt->sopt_name == NETLINK_ADD_MEMBERSHIP) - groups = nlp->nl_groups | group_mask; + nl_add_group_locked(nlp, optval); else - groups = nlp->nl_groups & ~group_mask; - nl_update_groups_locked(nlp, groups); + nl_del_group_locked(nlp, optval); NLCTL_WUNLOCK(ctl); break; case NETLINK_CAP_ACK: @@ -613,7 +648,7 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) switch (sopt->sopt_name) { case NETLINK_LIST_MEMBERSHIPS: NLCTL_RLOCK(ctl); - optval = nlp->nl_groups; + optval = nl_get_groups_compat(nlp); NLCTL_RUNLOCK(ctl); error = sooptcopyout(sopt, &optval, sizeof(optval)); break; diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 5d074640ad60..de45048ff519 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -47,7 +47,7 @@ __FBSDID("$FreeBSD$"); _DECLARE_DEBUG(LOG_DEBUG3); #define MAX_FAMILIES 20 -#define MAX_GROUPS 20 +#define MAX_GROUPS 64 #define MIN_GROUP_NUM 48 diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 130f3d40a1a3..ed19008248e9 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -47,9 +47,11 @@ struct nl_io_queue { int hiwat; }; +#define NLP_MAX_GROUPS 128 + struct nlpcb { struct socket *nl_socket; - uint64_t nl_groups; + uint64_t nl_groups[NLP_MAX_GROUPS / 64]; uint32_t nl_port; uint32_t nl_flags; uint32_t nl_process_id; From nobody Mon Jan 23 22:11:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148H4Jlxz2t0WT; Mon, 23 Jan 2023 22: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 4P148H3m3jz3LJ1; Mon, 23 Jan 2023 22: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=1674511919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XsKf1RWcYGfOYQ3GFX81ygOK6Vtzud68PYTiWO7ZYFo=; b=NnQJ8XD9+l8btDA9JHHkgClKERHjybttWW9Fu8PQN/NyClpue4uwY6zfCqcaSe1iTlhxYN uCL0ip1IkQQRRn1S09zR+MmRRoPpvpOlRgnIlGjM+5Hn8316Yf/ujEbzl6hdtpESuHG2BQ 3Hkud6BTi5HrAjvPArfyVT/TdPc10JnKFG/9LOVJFtVeYVEPvPqVKWsHYBBpA+Xv1bcKog LTQ86vTQfErevl2HJikXy5jIoK2qRbX98Ye+ap7/+U6/aYmF0ec5T2AVler7KkaMIvTLd4 nzGR7KwlJt39TUCZxkX2MwJuBDLSKAFlbtAI8APpjFxVh8adNkmlpU08lpfSzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XsKf1RWcYGfOYQ3GFX81ygOK6Vtzud68PYTiWO7ZYFo=; b=fPlQaLPc22Oc7Fx41Np4W2m8xPEuSx1vClohVk57Dc7OfaJTkVCNfFltlgvZB9kWItPgLs JvnKTW+AhSoOQuwjew00wK8UYGG7uCJkkT2OBsqKGiVBmnVigBYWunYRqQJQXJtE2UU7FG sgcjvl4kCpFXqh9BOvGNYRFIPuumAbqTioqrJhkGjD1fPCbMrG9VWN72pqHJk8Ehnbkd0a 8vKnTGnfdJx4MJiSI2U5T/BvAMBxpmzEvD3dY2MD3RfNWENpmY6m/sFVCop+j8jSW0M13U GCPULQGS97CgQErMx/eapF9I5dAJBBj3wQpbJ69oJLMTuk2V5h8iJrv2kBuV2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511919; a=rsa-sha256; cv=none; b=E1V/gjUYH/I7eV9IlGjg0DlufuP9bWuEFlihpM1god5n+koUsh47TVV/koQTJjQ+EsE7W7 6LW0Gsac0+aITMaDiSGAU1jEqATy5iexx3jvEJyJdwthqFcUEYyTu6vqHBCBv/FNlQedaE pyJFlg+5aXt8edxrR3Qu3VqfswuWpKNtCuHbbG3WVg+13Mje1tQn8ofM2jhW857yJVVWux jn1MVvoJ9d9zq6lLDHjYX18ZCrY/m8Ccli2Gr/ePV/n+Nms1Orix2zkICbLYS/tV9IrHuZ 4O/kJ2J/yBBqiApSFbTwHqC54+d2j2Fvh++NOKAsNHCe7tRWdYIlIGcTYe9QGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148H2hXXzlnf; Mon, 23 Jan 2023 22:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMBxdE012822; Mon, 23 Jan 2023 22:11:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMBx8H012821; Mon, 23 Jan 2023 22:11:59 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:11:59 GMT Message-Id: <202301232211.30NMBx8H012821@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: da988f405229 - stable/13 - netlink: unregister groups along with family List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: da988f405229e00480516cecb34d8c47f6bbfd88 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=da988f405229e00480516cecb34d8c47f6bbfd88 commit da988f405229e00480516cecb34d8c47f6bbfd88 Author: Baptiste Daroussin AuthorDate: 2022-11-08 08:02:43 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: unregister groups along with family Differential Revision: https://reviews.freebsd.org/D37308 Reviewed by: melifaro (cherry picked from commit 1edc3b6e56932e423d778df484ffca3bd2af9e97) --- sys/netlink/netlink_generic.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index de45048ff519..267024dfee4b 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -133,6 +133,22 @@ free_family(struct genl_family *gf) free(gf->family_cmds, M_NETLINK); } +/* + * unregister groups of a given family + */ +static void +unregister_groups(const struct genl_family *gf) +{ + + for (int i = 0; i < MAX_GROUPS; i++) { + struct genl_group *gg = &groups[i]; + if (gg->group_family == gf && gg->group_name != NULL) { + gg->group_family = NULL; + gg->group_name = NULL; + } + } +} + /* * Can sleep, I guess */ @@ -148,6 +164,7 @@ genl_unregister_family(const char *family_name) if (gf != NULL) { found = true; + unregister_groups(gf); /* TODO: zero pointer first */ free_family(gf); bzero(gf, sizeof(*gf)); From nobody Mon Jan 23 22:12:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148J4WBDz2t0SW; Mon, 23 Jan 2023 22: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 4P148J48gYz3LG8; Mon, 23 Jan 2023 22: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=1674511920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sbdz0CQLzJJefqmsrY5iNky5tQFnGGX1wR2rdn7YChk=; b=EvDlegwR7HNEKKq9gi/n1iGjCmixtKuBXxqqjvBTi/8vGFUiQtTjeRyt9UueePKMQvGsJX ShNo74CtUN7+R/mNYbLHR4BsB1pisYf5HPfqRmXwfIE14XMpyuyUvIKc3heu26eail2fxO u8s3blen8iYOAr6NYyXb6gMa+fa4xhQLydgG6slDaOAgGwZ3Ag3u/7pWPSMKP2p1DxCaz8 n+vp8GtrsfFrj1AnO3hr9fdpiQoOHvq4CnAO+BryVhGDal3iqoSt3z9Lu6Hhsp9QZZu5Va Bq6u2lK5IvN6pJUipuaPUCTS1yn+LSJHpgaujsbeaYJDAEQqe48lEEZkchsptg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sbdz0CQLzJJefqmsrY5iNky5tQFnGGX1wR2rdn7YChk=; b=YMZKLbGZNHogKslP2VhJgXSlQUAdWFpm0rJdDWHr6QWJhVzcBEJTyZAW2pKsPVBjfvOYOY POo6MiJpdsofR+9p06V2RzNuCOsfT2+BHUlPGFo6GCcPPR/ntIhQy0MaK9l2m8aJkfe5Ef QfDSjT0RmscrjdKv/Frka9laYIwgrqh0ZAV/ogaUZ1/6Ib3Vbt/XPGdZzL2L/rJYqj3WBR CCDHND4mrJwXeJKmOH2EWMXTHeIwcFAIihEOc/waIlRKzlFOwt8M7IPC76lvW6TSQkwJvr mtZBBiWInO8hSQ8sxcPq8mFio742EAXHKO/NLjdqMcQmxXY+h/JxDlUXIWE/ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511920; a=rsa-sha256; cv=none; b=TBvGCkLPJm3OH0YN4RGOyNxfHe/puBdO/Aub3cb55Y/iKesqDnu9z7cqSlzOSJsnKYs+Nk YUMoluGxoI2qUjaANj+HrJHoJKo4eaRehUxtqvlWv/xvqSJPtBEY6oDsGd2pPwgDhj4yXQ KnycKqsVSfGPNdAZa0Wo6wlo9nFMsgJ5lUoSfSJKMuzzdfwNpIr8sVNpPk0EtsEGLfMKDu QFiyVgDCerDxFs1VnEZ1BDcXwwEg+BaVwP0qw2TybEpdMqpaoRW4tn6pcSOCHiXNMmndSk wXxiv8qUg6Pb2Esc7F8M7S8CEf9LI2bnFh8nKDdGZFGRgxQO5FgPK86NvKDGPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148J32nYzlZ0; Mon, 23 Jan 2023 22:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC0Oh012853; Mon, 23 Jan 2023 22:12:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC0sK012852; Mon, 23 Jan 2023 22:12:00 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:00 GMT Message-Id: <202301232212.30NMC0sK012852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 02b958b19535 - stable/13 - netlink: add netlink user documentation. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 02b958b19535828d8f19bf3601ae88ecf4503d33 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=02b958b19535828d8f19bf3601ae88ecf4503d33 commit 02b958b19535828d8f19bf3601ae88ecf4503d33 Author: Alexander V. Chernikov AuthorDate: 2022-11-01 12:20:13 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: add netlink user documentation. Add netlink(4) as a "frontend" manpage describing netlink in general. Add rtnelink(4) describing supported commands and attributes in NETLINK_ROUTE family. Add genetlink(4) describing generic netlink API. Reviewed by: pauamma Differential Revision: https://reviews.freebsd.org/D37011 (cherry picked from commit 7366c0a49c9a60d3eea7520d7ae4bc2b3ab172f3) --- share/man/man4/genetlink.4 | 147 +++++++++++++ share/man/man4/netlink.4 | 344 ++++++++++++++++++++++++++++++ share/man/man4/rtnetlink.4 | 519 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1010 insertions(+) diff --git a/share/man/man4/genetlink.4 b/share/man/man4/genetlink.4 new file mode 100644 index 000000000000..2c5b9b99f994 --- /dev/null +++ b/share/man/man4/genetlink.4 @@ -0,0 +1,147 @@ +.\" +.\" Copyright (C) 2022 Alexander Chernikov . +.\" +.\" 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$ +.\" +.Dd November 1, 2022 +.Dt GENETLINK 4 +.Os +.Sh NAME +.Nm genetlink +.Nd Generic Netlink +.Sh SYNOPSIS +.In netlink/netlink.h +.In netlink/netlink_generic.h +.Ft int +.Fn socket AF_NETLINK SOCK_DGRAM NETLINK_GENERIC +.Sh DESCRIPTION +The +.Dv NETLINK_GENERIC +is a "container" family, used for dynamic registration of other families +belonging to the various subsystems. +These subsystems provide a string family name during registration and +receive a dynamically-allocated family id. +Allocated family identifiers are then used by applications to get access to +functions provided by that subsystem via netlink. +There are standard methods for resolving string family names to family +identifiers. +A similar mechanism works for the notification groups provided by those +families. +.Pp +All generic netlink families share a common header: +.Bd -literal +struct genlmsghdr { + uint8_t cmd; /* command within the family */ + uint8_t version; /* ABI version for the cmd */ + uint16_t reserved; /* reserved: set to 0 */ +}; +.Ed +The family id is encoded in the +.Dv nlmsg_type +of the base netlink header. +The +.Va cmd +field is the command identifier within the family. +The +.Va version +field is the command version. +.Sh METHODS +The generic Netlink framework provides the base family, +.Dv GENL_ID_CTRL +("nlctrl") with a fixed family id. +This family is used to list the details of all registered families. +.Pp +The following messages are supported by the framework: +.Ss CTRL_CMD_GETFAMILY +Fetches a single family or all registered families, depending on the +.Dv NLM_F_DUMP +flag. +Each family is reported as +.Dv CTRL_CMD_NEWFAMILY +message. +The following filters are recognised by the kernel: +.Pp +.Bd -literal -offset indent -compact +CTRL_ATTR_FAMILY_ID (uint16_t) current family id assigned by kernel +CTRL_ATTR_FAMILY_NAME (string) family name +.Ed +.Ss TLVs +.Bl -tag -width indent +.It Dv CTRL_ATTR_FAMILY_ID +(uint16_t) Dynamically-assigned family identifier. +.It Dv CTRL_ATTR_FAMILY_NAME +(string) Family name. +.It Dv CTRL_ATTR_HDRSIZE +(uint32_t) Family mandatory header size (typically 0). +.It Dv CTRL_ATTR_MAXATTR +(uint32_t) Maximum attribute number valid for the family. +.It Dv CTRL_ATTR_OPS +(nested) List of the operations supported by the family. +The attribute consists of a list of nested TLVs, with attribute values +monotonically incremented, starting from 0. +The following attributes are present in each TLV: +.Bl -tag -width indent +.It Dv CTRL_ATTR_OP_ID +Operation (message) number. +.It Dv CTRL_ATTR_OP_FLAGS +Operation flags. +The following flags are supported: +.Bd -literal -offset indent -compact +GENL_ADMIN_PERM requires elevated permissions +GENL_CMD_CAP_DO operation is a modification request +GENL_CMD_CAP_DUMP operation is a get/dump request +.Ed +.El +.It Dv CTRL_ATTR_MCAST_GROUPS +(nested) List of the notification groups supported by the family. +The attribute consists of a list of nested TLVs, with attribute values +monotonically incremented, starting from 0. +The following attributes are present in each TLV: +.Bl -tag -width indent +.It Dv CTRL_ATTR_MCAST_GRP_ID +Group id that can be used in +.Dv NETLINK_ADD_MEMBERSHIP +.Xr setsockopt 2 . +.It Dv CTRL_ATTR_MCAST_GRP_NAME +(string) Human-readable name of the group. +.El +.El +.Ss Groups +The following groups are defined: +.Bd -literal -offset indent -compact +"notify" Notifies on family registrations/removal. +.Ed +.Sh SEE ALSO +.Xr netlink 4 +.Sh HISTORY +The +.Dv NETLINK_GENERIC +protocol family appeared in +.Fx 14.0 . +.Sh AUTHORS +The netlink was implementated by +.An -nosplit +.An Alexander Chernikov Aq Mt melifaro@FreeBSD.org . +It was derived from the Google Summer of Code 2021 project by +.An Ng Peng Nam Sean . diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 new file mode 100644 index 000000000000..c75366f560f0 --- /dev/null +++ b/share/man/man4/netlink.4 @@ -0,0 +1,344 @@ +.\" +.\" Copyright (C) 2022 Alexander Chernikov . +.\" +.\" 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$ +.\" +.Dd November 1, 2022 +.Dt NETLINK 4 +.Os +.Sh NAME +.Nm Netlink +.Nd Kernel network configuration protocol +.Sh SYNOPSIS +.In netlink/netlink.h +.In netlink/netlink_route.h +.Ft int +.Fn socket AF_NETLINK SOCK_DGRAM int family +.Sh DESCRIPTION +Netlink is a user-kernel message-based communication protocol primarily used +for network stack configuration. +Netlink is easily extendable and supports large dumps and event +notifications, all via a single socket. +The protocol is fully asynchronous, allowing one to issue and track multiple +requests at once. +Netlink consists of multiple families, which commonly group the commands +belonging to the particular kernel subsystem. +Currently, the supported families are: +.Pp +.Bd -literal -offset indent -compact +NETLINK_ROUTE network configuration, +NETLINK_GENERIC "container" family +.Ed +.Pp +The +.Dv NETLINK_ROUTE +family handles all interfaces, addresses, neighbors, routes, and VNETs +configuration. +More details can be found in +.Xr rtnetlink 4 . +The +.Dv NETLINK_GENERIC +family serves as a +.Do container Dc , +allowing registering other families under the +.Dv NETLINK_GENERIC +umbrella. +This approach allows using a single netlink socket to interact with +multiple netlink families at once. +More details can be found in +.Xr genetlink 4 . +.Pp +Netlink has its own sockaddr structure: +.Bd -literal +struct sockaddr_nl { + uint8_t nl_len; /* sizeof(sockaddr_nl) */ + sa_family_t nl_family; /* netlink family */ + uint16_t nl_pad; /* reserved, set to 0 */ + uint32_t nl_pid; /* automatically selected, set to 0 */ + uint32_t nl_groups; /* multicast groups mask to bind to */ +}; +.Ed +.Pp +Typically, filling this structure is not required for socket operations. +It is presented here for completeness. +.Sh PROTOCOL DESCRIPTION +The protocol is message-based. +Each message starts with the mandatory +.Va nlmsghdr +header, followed by the family-specific header and the list of +type-length-value pairs (TLVs). +TLVs can be nested. +All headers and TLVS are padded to 4-byte boundaries. +Each +.Xr send 2 or +.Xr recv 2 +system call may contain multiple messages. +.Ss BASE HEADER +.Bd -literal +struct nlmsghdr { + uint32_t nlmsg_len; /* Length of message including header */ + uint16_t nlmsg_type; /* Message type identifier */ + uint16_t nlmsg_flags; /* Flags (NLM_F_) */ + uint32_t nlmsg_seq; /* Sequence number */ + uint32_t nlmsg_pid; /* Sending process port ID */ +}; +.Ed +.Pp +The +.Va nlmsg_len +field stores the whole message length, in bytes, including the header. +This length has to be rounded up to the nearest 4-byte boundary when +iterating over messages. +The +.Va nlmsg_type +field represents the command/request type. +This value is family-specific. +The list of supported commands can be found in the relevant family +header file. +.Va nlmsg_seq +is a user-provided request identifier. +An application can track the operation result using the +.Dv NLMSG_ERROR +messages and matching the +.Va nlmsg_seq +. +The +.Va nlmsg_pid +field is the message sender id. +This field is optional for userland. +The kernel sender id is zero. +The +.Va nlmsg_flags +field contains the message-specific flags. +The following generic flags are defined: +.Pp +.Bd -literal -offset indent -compact +NLM_F_REQUEST Indicates that the message is an actual request to the kernel +NLM_F_ACK Request an explicit ACK message with an operation result +.Ed +.Pp +The following generic flags are defined for the "GET" request types: +.Pp +.Bd -literal -offset indent -compact +NLM_F_ROOT Return the whole dataset +NLM_F_MATCH Return all entries matching the criteria +.Ed +These two flags are typically used together, aliased to +.Dv NLM_F_DUMP +.Pp +The following generic flags are defined for the "NEW" request types: +.Pp +.Bd -literal -offset indent -compact +NLM_F_CREATE Create an object if none exists +NLM_F_EXCL Don't replace an object if it exists +NLM_F_REPLACE Replace an existing matching object +NLM_F_APPEND Append to an existing object +.Ed +.Pp +The following generic flags are defined for the replies: +.Pp +.Bd -literal -offset indent -compact +NLM_F_MULTI Indicates that the message is part of the message group +NLM_F_DUMP_INTR Indicates that the state dump was not completed +NLM_F_DUMP_FILTERED Indicates that the dump was filtered per request +NLM_F_CAPPED Indicates the original message was capped to its header +NLM_F_ACK_TLVS Indicates that extended ACK TLVs were included +.Ed +.Ss TLVs +Most messages encode their attributes as type-length-value pairs (TLVs). +The base TLV header: +.Bd -literal +struct nlattr { + uint16_t nla_len; /* Total attribute length */ + uint16_t nla_type; /* Attribute type */ +}; +.Ed +The TLV type +.Pq Va nla_type +scope is typically the message type or group within a family. +For example, the +.Dv RTN_MULTICAST +type value is only valid for +.Dv RTM_NEWROUTE +, +.Dv RTM_DELROUTE +and +.Dv RTM_GETROUTE +messages. +TLVs can be nested; in that case internal TLVs may have their own sub-types. +All TLVs are packed with 4-byte padding. +.Ss CONTROL MESSAGES +A number of generic control messages are reserved in each family. +.Pp +.Dv NLMSG_ERROR +reports the operation result if requested, optionally followed by +the metadata TLVs. +The value of +.Va nlmsg_seq +is set to its value in the original messages, while +.Va nlmsg_pid +is set to the socket pid of the original socket. +The operation result is reported via +.Vt "struct nlmsgerr": +.Bd -literal +struct nlmsgerr { + int error; /* Standard errno */ + struct nlmsghdr msg; /* Original message header */ +}; +.Ed +If the +.Dv NETLINK_CAP_ACK +socket option is not set, the remainder of the original message will follow. +If the +.Dv NETLINK_EXT_ACK +socket option is set, kernel may add a +.Dv NLMSGERR_ATTR_MSG +string TLV with the textual error description, optionally followed by the +.Dv NLMSGERR_ATTR_OFFS +TLV, indicating the offset from the message start that triggered an error. +.Pp +.Dv NLMSG_DONE +indicates the end of the message group: typically, the end of the dump. +It contains a single +.Vt int +field, describing the dump result as a standard errno value. +.Sh SOCKET OPTIONS +Netlink supports a number of custom socket options, which can be set with +.Xr setsockopt 2 +with the +.Dv SOL_NETLINK +.Fa level : +.Bl -tag -width indent +.It Dv NETLINK_ADD_MEMBERSHIP +Subscribes to the notifications for the specific group (int). +.It Dv NETLINK_DROP_MEMBERSHIP +Unsubscribes from the notifications for the specific group (int). +.It Dv NETLINK_LIST_MEMBERSHIPS +Lists the memberships as a bitmask. +.It Dv NETLINK_CAP_ACK +Instructs the kernel to send the original message header in the reply +without the message body. +.It Dv NETLINK_EXT_ACK +Acknowledges ability to receive additional TLVs in the ACK message. +.El +.Pp +Additionally, netlink overrides the following socket options from the +.Dv SOL_SOCKET +.Fa level : +.Bl -tag -width indent +.It Dv SO_RCVBUF +Sets the maximum size of the socket receive buffer. +If the caller has +.Dv PRIV_NET_ROUTE +permission, the value can exceed the currently-set +.Va kern.ipc.maxsockbuf +value. +.El +.Sh SYSCTL VARIABLES +A set of +.Xr sysctl 8 +variables is available to tweak run-time parameters: +.Bl -tag -width indent +.It Va net.netlink.sendspace +Default send buffer for the netlink socket. +Note that the socket sendspace has to be at least as long as the longest +message that can be transmitted via this socket. +.El +.Bl -tag -width indent +.It Va net.netlink.recvspace +Default receive buffer for the netlink socket. +Note that the socket recvspace has to be least as long as the longest +message that can be received from this socket. +.El +.Sh DEBUGGING +Netlink implements per-functional-unit debugging, with different severities +controllable via the +.Va net.netlink.debug +branch. +These messages are logged in the kernel message buffer and can be seen in +.Xr dmesg 8 +. +The following severity levels are defined: +.Bl -tag -width indent +.It Dv LOG_DEBUG(7) +Rare events or per-socket errors are reported here. +This is the default level, not impacting production performance. +.It Dv LOG_DEBUG2(8) +Socket events such as groups memberships, privilege checks, commands and dumps +are logged. +This level does not incur significant performance overhead. +.It Dv LOG_DEBUG9(9) +All socket events, each dumped or modified entities are logged. +Turning it on may result in significant performance overhead. +.El +.Sh ERRORS +Netlink reports operation results, including errors and error metadata, by +sending a +.Dv NLMSG_ERROR +message for each request message. +The following errors can be returned: +.Bl -tag -width Er +.It Bq Er EPERM +when the current privileges are insufficient to perform the required operation; +.It Bo Er ENOBUFS Bc or Bo Er ENOMEM Bc +when the system runs out of memory for +an internal data structure; +.It Bq Er ENOTSUP +when the requested command is not supported by the family or +the family is not supported; +.It Bq Er EINVAL +when some necessary TLVs are missing or invalid, detailed info +may be provided in NLMSGERR_ATTR_MSG and NLMSGERR_ATTR_OFFS TLVs; +.It Bq Er ENOENT +when trying to delete a non-existent object. +.Pp +Additionally, a socket operation itself may fail with one of the errors +specified in +.Xr socket 2 +, +.Xr recv 2 +or +.Xr send 2 +. +.El +.Sh SEE ALSO +.Xr genetrlink 4 , +.Xr rtnetlink 4 +.Rs +.%A "J. Salim" +.%A "H. Khosravi" +.%A "A. Kleen" +.%A "A. Kuznetsov" +.%T "Linux Netlink as an IP Services Protocol" +.%O "RFC 3549" +.Re +.Sh HISTORY +The netlink protocol appeared in +.Fx 14.0 . +.Sh AUTHORS +The netlink was implemented by +.An -nosplit +.An Alexander Chernikov Aq Mt melifaro@FreeBSD.org . +It was derived from the Google Summer of Code 2021 project by +.An Ng Peng Nam Sean . diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 new file mode 100644 index 000000000000..9f20671719f0 --- /dev/null +++ b/share/man/man4/rtnetlink.4 @@ -0,0 +1,519 @@ +.\" +.\" Copyright (C) 2022 Alexander Chernikov . +.\" +.\" 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$ +.\" +.Dd November 1, 2022 +.Dt RTNETLINK 4 +.Os +.Sh NAME +.Nm RTNetlink +.Nd Network configuration-specific Netlink family +.Sh SYNOPSIS +.In netlink/netlink.h +.In netlink/netlink_route.h +.Ft int +.Fn socket AF_NETLINK SOCK_DGRAM NETLINK_ROUTE +.Sh DESCRIPTION +The +.Dv NETLINK_ROUTE +family aims to be the primary configuration mechanism for all +network-related tasks. +Currently it supports configuring interfaces, interface addresses, routes, +nexthops and arp/ndp neighbors. +.Sh ROUTES +All route configuration messages share the common header: +.Bd -literal +struct rtmsg { + unsigned char rtm_family; /* address family */ + unsigned char rtm_dst_len; /* Prefix length */ + unsigned char rtm_src_len; /* Deprecated, set to 0 */ + unsigned char rtm_tos; /* Type of service (not used) */ + unsigned char rtm_table; /* deprecated, set to 0 */ + unsigned char rtm_protocol; /* Routing protocol id (RTPROT_) */ + unsigned char rtm_scope; /* Route distance (RT_SCOPE_) */ + unsigned char rtm_type; /* Route type (RTN_) */ + unsigned rtm_flags; /* Route flags (not supported) */ +}; +.Ed +.Pp +The +.Va rtm_family +specifies the route family to be operated on. +Currently, +.Dv AF_INET6 +and +.Dv AF_INET +are the only supported families. +The route prefix length is stored in +.Va rtm_dst_len +. +The caller should set the originator identity (one of the +.Dv RTPROT_ +values) in +.Va rtm_protocol +. +It is useful for users and for the application itself, allowing for easy +identification of self-originated routes. +The route scope has to be set via +.Va rtm_scope +field. +The supported values are: +.Bd -literal -offset indent -compact +RT_SCOPE_UNIVERSE Global scope +RT_SCOPE_LINK Link scope +.Ed +.Pp +Route type needs to be set. +The defined values are: +.Bd -literal -offset indent -compact +RTN_UNICAST Unicast route +RTN_MULTICAST Multicast route +RTN_BLACKHOLE Drops traffic towards destination +RTN_PROHIBIT Drops traffic and sends reject +.Ed +.Pp +The following messages are supported: +.Ss RTM_NEWROUTE +Adds a new route. +All NL flags are supported. +Extending a multipath route requires NLM_F_APPEND flag. +.Ss RTM_DELROUTE +Tries to delete a route. +The route is specified using a combination of +.Dv RTA_DST +TLV and +.Va rtm_dst_len . +.Ss RTM_GETROUTE +Fetches a single route or all routes in the current VNET, depending on the +.Dv NLM_F_DUMP +flag. +Each route is reported as +.Dv RTM_NEWROUTE +message. +The following filters are recognised by the kernel: +.Pp +.Bd -literal -offset indent -compact +rtm_family required family or AF_UNSPEC +RTA_TABLE fib number or RT_TABLE_UNSPEC to return all fibs +.Ed +.Ss TLVs +.Bl -tag -width indent +.It Dv RTA_DST +(binary) IPv4/IPv6 address, depending on the +.Va rtm_family . +.It Dv RTA_OIF +(uint32_t) transmit interface index. +.It Dv RTA_GATEWAY +(binary) IPv4/IPv6 gateway address, depending on the +.Va rtm_family . +.It Dv RTA_METRICS +(nested) Container attribute, listing route properties. +The only supported sub-attribute is +.Dv RTAX_MTU , which stores path MTU as uint32_t. +.It Dv RTA_MULTIPATH +This attribute contains multipath route nexthops with their weights. +These nexthops are represented as a sequence of +.Va rtnexthop +structures, each followed by +.Dv RTA_GATEWAY +or +.Dv RTA_VIA +attributes. +.Bd -literal +struct rtnexthop { + unsigned short rtnh_len; + unsigned char rtnh_flags; + unsigned char rtnh_hops; /* nexthop weight */ + int rtnh_ifindex; +}; +.Ed +.Pp +The +.Va rtnh_len +field specifies the total nexthop info length, including both +.Va struct rtnexthop +and the following TLVs. +The +.Va rtnh_hops +field stores relative nexthop weight, used for load balancing between group +members. +The +.Va rtnh_ifindex +field contains the index of the transmit interface. +.Pp +The following TLVs can follow the structure: +.Bd -literal -offset indent -compact +RTA_GATEWAY IPv4/IPv6 nexthop address of the gateway +RTA_VIA IPv6 nexthop address for IPv4 route +RTA_KNH_ID Kernel-specific index of the nexthop +.Ed +.It Dv RTA_KNH_ID +(uint32_t) (FreeBSD-specific) Auto-allocated kernel index of the nexthop. +.It Dv RTA_RTFLAGS +(uint32_t) (FreeBSD-specific) rtsock route flags. +.It Dv RTA_TABLE +(uint32_t) Fib number of the route. +Default route table is +.Dv RT_TABLE_MAIN . +To explicitely specify "all tables" one needs to set the value to +.Dv RT_TABLE_UNSPEC . +.It Dv RTA_EXPIRES +(uint32_t) seconds till path expiration. +.It Dv RTA_NH_ID +(uint32_t) useland nexthop or nexthop group index. +.El +.Ss Groups +The following groups are defined: +.Bd -literal -offset indent -compact +RTNLGRP_IPV4_ROUTE Notifies on IPv4 route arrival/removal/change +RTNLGRP_IPV6_ROUTE Notifies on IPv6 route arrival/removal/change +.Ed +.Sh NEXTHOPS +All nexthop/nexthop group configuration messages share the common header: +.Bd -literal +struct nhmsg { + unsigned char nh_family; /* transport family */ + unsigned char nh_scope; /* ignored on RX, filled by kernel */ + unsigned char nh_protocol; /* Routing protocol that installed nh */ + unsigned char resvd; + unsigned int nh_flags; /* RTNH_F_* flags from route.h */ +}; +.Ed +The +.Va nh_family +specificies the gateway address family. +It can be different from route address family for IPv4 routes with IPv6 +nexthops. +The +.Va nh_protocol +is similar to +.Va rtm_protocol +field, which designates originator application identity. +.Pp +The following messages are supported: +.Ss RTM_NEWNEXTHOP +Creates a new nexthop or nexthop group. +.Ss RTM_DELNEXTHOP +Deletes nexthop or nexthhop group. +The required object is specified by the +.Dv RTA_NH_ID +attribute. +.Ss RTM_GETNEXTHOP +Fetches a single nexthop or all nexthops/nexthop groups, depending on the +.Dv NLM_F_DUMP +flag. +The following filters are recognised by the kernel: +.Pp +.Bd -literal -offset indent -compact +RTA_NH_ID nexthop or nexthtop group id +NHA_GROUPS match only nexthtop groups +.Ed +.Ss TLVs +.Bl -tag -width indent +.It Dv RTA_NH_ID +(uint32_t) Nexthhop index used to identify particular nexthop or nexthop group. +Should be provided by userland at the nexthtop creation time. +.It Dv NHA_GROUP +This attribute designates the nexthtop group and contains all of its nexthtops +and their relative weights. +The attribute constists of a list of +.Va nexthop_grp +structures: +.Bd -literal +struct nexthop_grp { + uint32_t id; /* nexhop userland index */ + uint8_t weight; /* weight of this nexthop */ + uint8_t resvd1; + uint16_t resvd2; +}; +.Ed +.It Dv NHA_GROUP_TYPE +(uint16_t) Nexthtop group type, set to one of the following types: +.Bd -literal -offset indent -compact +NEXTHOP_GRP_TYPE_MPATH default multipath group +.Ed +.It Dv NHA_BLACKHOLE +(flag) Marks the nexthtop as blackhole. +.It Dv NHA_OIF +(uint32_t) Transmit interface index of the nexthtop. +.It Dv NHA_GATEWAY +(binary) IPv4/IPv6 gateway address +.It Dv NHA_GROUPS +(flag) Matches nexthtop groups during dump. +.El +.Ss Groups +The following groups are defined: +.Bd -literal -offset indent -compact +RTNLGRP_NEXTHOP Notifies on nexthop/groups arrival/removal/change +.Ed +.Sh INTERFACES +All interface configuration messages share the common header: +.Bd -literal +struct ifinfomsg { + unsigned char ifi_family; /* not used, set to 0 */ + unsigned char __ifi_pad; + unsigned short ifi_type; /* ARPHRD_* */ + int ifi_index; /* Inteface index */ + unsigned ifi_flags; /* IFF_* flags */ + unsigned ifi_change; /* IFF_* change mask */ +}; +.Ed +.Ss RTM_NEWLINK +Creates a new interface. +The only mandatory TLV is +.Dv IFLA_IFNAME . +.Ss RTM_DELLINK +Deletes the interface specified by +.Dv IFLA_IFNAME . +.Ss RTM_GETLINK +Fetches a single interface or all interfaces in the current VNET, depending on the +.Dv NLM_F_DUMP +flag. +Each interface is reported as a +.Dv RTM_NEWLINK +message. +The following filters are recognised by the kernel: +.Pp +.Bd -literal -offset indent -compact +ifi_index interface index +IFLA_IFNAME interface name +IFLA_ALT_IFNAME interface name +.Ed +.Ss TLVs +.Bl -tag -width indent +.It Dv IFLA_ADDRESS +(binary) Llink-level interface address (MAC). +.It Dv IFLA_BROADCAST +(binary) (readonly) Link-level broadcast address. +.It Dv IFLA_IFNAME +(string) New interface name. +.It Dv IFLA_LINK +(uint32_t) (readonly) Interface index. +.It Dv IFLA_MASTER +(uint32_t) Parent interface index. +.It Dv IFLA_LINKINFO +(nested) Interface type-specific attributes: +.Bd -literal -offset indent -compact +IFLA_INFO_KIND (string) interface type ("vlan") +IFLA_INFO_DATA (nested) custom attributes +.Ed +The following types and attributes are supported: +.Bl -tag -width indent +.It Dv vlan +.Bd -literal -offset indent -compact +IFLA_VLAN_ID (uint16_t) 802.1Q vlan id +IFLA_VLAN_PROTOCOL (uint16_t) Protocol: ETHERTYPE_VLAN or ETHERTYPE_QINQ +.Ed +.El +.It Dv IFLA_OPERSTATE +(uint8_t) Interface operational state per RFC 2863. +Can be one of the following: +.Bd -literal -offset indent -compact +IF_OPER_UNKNOWN status can not be determined +IF_OPER_NOTPRESENT some (hardware) component not present +IF_OPER_DOWN down +IF_OPER_LOWERLAYERDOWN some lower-level interface is down +IF_OPER_TESTING in some test mode +IF_OPER_DORMANT "up" but waiting for some condition (802.1X) +IF_OPER_UP ready to pass packets +.Ed +.It Dv IFLA_STATS64 +(readonly) Consists of the following 64-bit counters structure: +.Bd -literal +struct rtnl_link_stats64 { + uint64_t rx_packets; /* total RX packets (IFCOUNTER_IPACKETS) */ + uint64_t tx_packets; /* total TX packets (IFCOUNTER_OPACKETS) */ + uint64_t rx_bytes; /* total RX bytes (IFCOUNTER_IBYTES) */ + uint64_t tx_bytes; /* total TX bytes (IFCOUNTER_OBYTES) */ + uint64_t rx_errors; /* RX errors (IFCOUNTER_IERRORS) */ + uint64_t tx_errors; /* RX errors (IFCOUNTER_OERRORS) */ + uint64_t rx_dropped; /* RX drop (no space in ring/no bufs) (IFCOUNTER_IQDROPS) */ + uint64_t tx_dropped; /* TX drop (IFCOUNTER_OQDROPS) */ + uint64_t multicast; /* RX multicast packets (IFCOUNTER_IMCASTS) */ + uint64_t collisions; /* not supported */ + uint64_t rx_length_errors; /* not supported */ + uint64_t rx_over_errors; /* not supported */ + uint64_t rx_crc_errors; /* not supported */ + uint64_t rx_frame_errors; /* not supported */ + uint64_t rx_fifo_errors; /* not supported */ + uint64_t rx_missed_errors; /* not supported */ + uint64_t tx_aborted_errors; /* not supported */ + uint64_t tx_carrier_errors; /* not supported */ + uint64_t tx_fifo_errors; /* not supported */ + uint64_t tx_heartbeat_errors; /* not supported */ + uint64_t tx_window_errors; /* not supported */ + uint64_t rx_compressed; /* not supported */ + uint64_t tx_compressed; /* not supported */ + uint64_t rx_nohandler; /* dropped due to no proto handler (IFCOUNTER_NOPROTO) */ +}; +.Ed +.El +.Ss Groups +The following groups are defined: +.Bd -literal -offset indent -compact +RTNLGRP_LINK Notifies on interface arrival/removal/change +.Ed +.Sh INTERFACE ADDRESSES +All interface address configuration messages share the common header: +.Bd -literal +struct ifaddrmsg { + uint8_t ifa_family; /* Address family */ + uint8_t ifa_prefixlen; /* Prefix length */ + uint8_t ifa_flags; /* Address-specific flags */ + uint8_t ifa_scope; /* Address scope */ + uint32_t ifa_index; /* Link ifindex */ +}; +.Ed +.Pp +The +.Va ifa_family +specifies the address family of the interface address. +The +.Va ifa_prefixlen +specifies the prefix length if applicable for the address family. +The +.Va ifa_index +specifies the interface index of the target interface. +.Ss RTM_NEWADDR +Not supported +.Ss RTM_DELADDR +Not supported +.Ss RTM_GETADDR +.Ss TLVs +.Bl -tag -width indent +.It Dv IFA_ADDRESS +(binary) masked interface address or destination address for p2p interfaces. +.It Dv IFA_LOCAL +(binary) local interface address +.It Dv IFA_BROADCAST +(binary) broacast interface address +.El +.Ss Groups +The following groups are defined: +.Bd -literal -offset indent -compact +RTNLGRP_IPV4_IFADDR Notifies on IPv4 ifaddr arrival/removal/change +RTNLGRP_IPV6_IFADDR Notifies on IPv6 ifaddr arrival/removal/change +.Ed +.Sh NEIGHBORS +All neighbor configuration messages share the common header: +.Bd -literal +struct ndmsg { + uint8_t ndm_family; + uint8_t ndm_pad1; + uint16_t ndm_pad2; + int32_t ndm_ifindex; + uint16_t ndm_state; + uint8_t ndm_flags; + uint8_t ndm_type; +}; +.Ed +.Pp +The +.Va ndm_family +field specifies the address family (IPv4 or IPv6) of the neighbor. +The +.Va ndm_ifindex +specifies the interface to operate on. +The +.Va ndm_state +represents the entry state according to the neighbor model. +The state can be one of the following: +.Bd -literal -offset indent -compact +NUD_INCOMPLETE No lladdr, address resolution in progress +NUD_REACHABLE reachable & recently resolved +NUD_STALE has lladdr but it's stale +NUD_DELAY has lladdr, is stale, probes delayed +NUD_PROBE has lladdr, is stale, probes sent +NUD_FAILED unused +.Ed +.Pp *** 68 LINES SKIPPED *** From nobody Mon Jan 23 22:12:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148K64JHz2t0Wg; Mon, 23 Jan 2023 22: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 4P148K4sLfz3LGg; Mon, 23 Jan 2023 22: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=1674511921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=56esKWXgQoK9qZw4K5mqe1qLEbH/lYSjFCOto+3bqiE=; b=xAChHPldWgKOn6lGyRBiaP6oc0rtJVn7uJBJY3e+ayirtolIWALxu/P2+Uw8BwyhyEZumT gCOsTIR6HYBHEWDxX4d2H50xIdL9XdmtDayGfIcoIXuNl9zxZCao7KRbEJt6JDSHiOt3Rx YrvMOzUhHvD1LMskioTMqJLBZV6gohjTy0I37kvR0a8ZFGmcCh8ma4y6qYXsqRkZpoxCeK mRKVshBgI63HCsoPxMRkaC4Ohzo3o57/LM8BOne/hopYNd4odZQTj4FYIjZBcsp40ohKEL fCHd/4GQCV279SKceLX82AtBKKFuKNqEaahUSfx1XEz9T9zrMRbDDCZLMxvFnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511921; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=56esKWXgQoK9qZw4K5mqe1qLEbH/lYSjFCOto+3bqiE=; b=pgkG/buMGIBR4wsMpB52C++Bj2b5veIV9JM1NzV5DAcMOFOKGtlFcabWuw/rHWbSiWyusV ngfoTdgU+3g7kscuM7Uf/A8omjeQ5lMeqL8jCJmxqI19qFdaglsHuJvksTw5Iz4gUJM0lY fMLnhDGZ43kdg8tIAC38yNeEwA+7c1BPRH8sYrNHarh+Ox+yeTWlT4bJ2ENZGjPOfWHxu3 EeIeHtDsaK3T2uVFb3n9cAhlwtOCG2/vic7iM61sDSoTcB9EOdKUvf5XilI5R9iAbqNq+n 965iQCJblFjbzyeMDDq4deRYu/NPXedZfxzLxRSviW5k/ICtcDRvd3qCj6/6zQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511921; a=rsa-sha256; cv=none; b=svzKzWitWgAMFI4w5I/slCzmk3o0jNXHhcmIJOCVkhZBsJGkvNBsBdU7Fl0lLrNH8DAK1C iUk8725lhF0SbU5xlPzjNMzZ7TKAtzQcSUQbBtU+3RvCdqwtRgoMateq6X1ITBKv0t03+I 8x5ZZ/6P7Gulq+LgiuV1I8YmKsZpnX4LLXuhlXe9UBJbFhcTE/E3qiTbkkpla17ahc/tPQ yHwWg6cuRNiR+paSJXXoOM+cA5as3dedQXP6Ulrw9uJ+rk82DyvUJJ+3Ipk+ENAQfqcMNE Wy2VjIOPNCiY0M57SdlDKL+gOw2gWn/Gt4PfrBjzPNtLQ7xN2OCGq6A8yALuIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148K3xqXzm2R; Mon, 23 Jan 2023 22:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC1XQ012879; Mon, 23 Jan 2023 22:12:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC1NJ012878; Mon, 23 Jan 2023 22:12:01 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:01 GMT Message-Id: <202301232212.30NMC1NJ012878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: a6b537f6b945 - stable/13 - netlink: suppress sending NLMSG_ERROR if NLMSG_DONE is already sent List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6b537f6b9459dbc0f5f2f60d973f025c6e63782 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a6b537f6b9459dbc0f5f2f60d973f025c6e63782 commit a6b537f6b9459dbc0f5f2f60d973f025c6e63782 Author: Alexander V. Chernikov AuthorDate: 2022-11-30 12:15:23 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: suppress sending NLMSG_ERROR if NLMSG_DONE is already sent Netlink has a confirmation/error reporting mechanism for the sent messages. Kernel explicitly acks each messages if requested (NLM_F_ACK) or if message processing results in an error. Similarly, for multipart messages - typically dumps, where each message represents a single object like an interface or a route - another message, NLMSG_DONE is used to indicate the end of dump and the resulting status. As a result, successfull dump ends with both NLMSG_DONE and NLMSG_ERROR messages. RFC 3549 does not say anything specific about such case. Linux adopted an optimisation which suppresses NLMSG_ERROR message when NLMSG_DONE is already sent. Certain libraries/applications like libnl depends on such behavior. Suppress sending NLMSG_ERROR if NLMSG_DONE is already sent, by setting newly-added 'suppress_ack' flag in the writer and checking this flag when generating ack. This change restores libnl compatibility. Before: ``` ~ nl-link-list Error: Unable to allocate link cache: Message sequence number mismatch ```` After: ``` ~ nl-link-list vtnet0 ether 52:54:00:14:e3:19 lo0 ieee1394 ``` Reviewed by: bapt,pauamma Tested by: bapt Differential Revision: https://reviews.freebsd.org/D37565 (cherry picked from commit f4d3aa74908496f1f5815caca94ebd86944b17cb) --- share/man/man4/netlink.4 | 9 +++++++-- sys/netlink/netlink_io.c | 13 ++++++++----- sys/netlink/netlink_message_writer.c | 4 ++++ sys/netlink/netlink_message_writer.h | 1 + 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 index c75366f560f0..bbfa55049e2e 100644 --- a/share/man/man4/netlink.4 +++ b/share/man/man4/netlink.4 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 1, 2022 +.Dd November 30, 2022 .Dt NETLINK 4 .Os .Sh NAME @@ -212,11 +212,16 @@ If the socket option is not set, the remainder of the original message will follow. If the .Dv NETLINK_EXT_ACK -socket option is set, kernel may add a +socket option is set, the kernel may add a .Dv NLMSGERR_ATTR_MSG string TLV with the textual error description, optionally followed by the .Dv NLMSGERR_ATTR_OFFS TLV, indicating the offset from the message start that triggered an error. +If the operation reply is a multipart message, then no +.Dv NLMSG_ERROR +reply is generated, only a +.Dv NLMSG_DONE +message, closing multipart sequence. .Pp .Dv NLMSG_DONE indicates the end of the message group: typically, the end of the dump. diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index b2a0023a143b..fb8006f689e4 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -405,8 +405,9 @@ nl_receive_message(struct nlmsghdr *hdr, int remaining_length, nl_handler_f handler = nl_handlers[nlp->nl_proto].cb; int error = 0; - NL_LOG(LOG_DEBUG2, "msg len: %d type: %d", hdr->nlmsg_len, - hdr->nlmsg_type); + NLP_LOG(LOG_DEBUG2, nlp, "msg len: %u type: %d: flags: 0x%X seq: %u pid: %u", + hdr->nlmsg_len, hdr->nlmsg_type, hdr->nlmsg_flags, hdr->nlmsg_seq, + hdr->nlmsg_pid); if (__predict_false(hdr->nlmsg_len > remaining_length)) { NLP_LOG(LOG_DEBUG, nlp, "message is not entirely present: want %d got %d", @@ -439,9 +440,10 @@ nl_receive_message(struct nlmsghdr *hdr, int remaining_length, NL_LOG(LOG_DEBUG2, "retcode: %d", error); } if ((hdr->nlmsg_flags & NLM_F_ACK) || (error != 0 && error != EINTR)) { - NL_LOG(LOG_DEBUG3, "ack"); - nlmsg_ack(nlp, error, hdr, npt); - NL_LOG(LOG_DEBUG3, "done"); + if (!npt->nw->suppress_ack) { + NL_LOG(LOG_DEBUG3, "ack"); + nlmsg_ack(nlp, error, hdr, npt); + } } return (0); @@ -455,6 +457,7 @@ npt_clear(struct nl_pstate *npt) npt->err_msg = NULL; npt->err_off = 0; npt->hdr = NULL; + npt->nw->suppress_ack = false; } /* diff --git a/sys/netlink/netlink_message_writer.c b/sys/netlink/netlink_message_writer.c index 1856f2859b01..37414703c6f6 100644 --- a/sys/netlink/netlink_message_writer.c +++ b/sys/netlink/netlink_message_writer.c @@ -600,6 +600,9 @@ nlmsg_end(struct nl_writer *nw) } nw->hdr->nlmsg_len = (uint32_t)(nw->data + nw->offset - (char *)nw->hdr); + NL_LOG(LOG_DEBUG2, "wrote msg len: %u type: %d: flags: 0x%X seq: %u pid: %u", + nw->hdr->nlmsg_len, nw->hdr->nlmsg_type, nw->hdr->nlmsg_flags, + nw->hdr->nlmsg_seq, nw->hdr->nlmsg_pid); nw->hdr = NULL; nw->num_messages++; return (true); @@ -681,6 +684,7 @@ nlmsg_end_dump(struct nl_writer *nw, int error, struct nlmsghdr *hdr) nw->offset, perror); *perror = error; nlmsg_end(nw); + nw->suppress_ack = true; return (true); } diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index 424983282e59..99f50fb94213 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -55,6 +55,7 @@ struct nl_writer { uint8_t writer_target; /* NS_WRITER_TARGET_* */ bool ignore_limit; /* If true, ignores RCVBUF limit */ bool enomem; /* True if ENOMEM occured */ + bool suppress_ack; /* If true, don't send NLMSG_ERR */ }; #define NS_WRITER_TARGET_SOCKET 0 #define NS_WRITER_TARGET_GROUP 1 From nobody Mon Jan 23 22:12:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148M1dSkz2t0TV; Mon, 23 Jan 2023 22: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 4P148L6w86z3LDV; Mon, 23 Jan 2023 22: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=1674511923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yTFBD2svIFz/XCOqcn0BmILZhshu1p/xJVCkmOv5dQY=; b=YP9fwoY1TwRuHJGhQTjL4ZznEM71HAQVLqqNLpcmOhB0Wux9qb0loqFvKnsYraCjIosPbs kcxlMSTV6l5ftQU2KHbvst5L4L+PoQRfidp3bWmHSokctGOhzn+oP/Hcw/+9SqRilg0esw qJBido/N7H7mcj5smUx8tR8sCO+M7EL2FahpjswdDZFeiZQZmS96RDLdPj68eZp2HjQK5q 1zFJ3rhYzgQ7yVImOJBwl4kfUqOEayp+5VH9M8jJtputNbZ+H/gEBTOVyhgfY+q/JpHqWQ uAeOC2a6Ewtm40bbsoS4OIt9bJTGMqkLfR6nSP56OHztyajCsWePNfEitblfUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yTFBD2svIFz/XCOqcn0BmILZhshu1p/xJVCkmOv5dQY=; b=MlFMXzvFbNll/xFC7den56JBWvenH5grdJd5nSXfFo68sza3UmMhX484La/BcLJl3RIBrj IN7nk7brBR5RiS0IPNnvpUh3jbHncabIzo/alXaP4Rns7Sh10R+RZw0wZquVCaTeLsaPG3 OX60ZCRsp7PwUyE0uXJkHrT76bjPQO0xKa+6Ue2wbaiPT3KFb732tiYC0Cd1AF7SY0nv60 nH996BWqoMLCBRuk2Fc8K7zlZTzSPbZePZjG8zhQuGKBhA1I0XxC92r1ZGodL10cpeV8/H oG4ms6VMaX3vjkUqP6Sw1A3IoS7CAAMkgYeECMoEQCXXO/ab5JhQBw4ID00O5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511923; a=rsa-sha256; cv=none; b=vztpgycpk9Txv4QIenBcnYSKOrOn3H4VsepRo7eo5U5+fOpMy7BdmmY4xkVW9tjiRNMtd/ 8Hp/a0+lT/0DGLGHpTJjnwgUrxaC8i4lPFLhz7dtGPpesdrhXVumL34xLw1GMHKeeyMirS deXo3DrKuzSU1NBvBXZSCDdb07P14m69ceBFxPqPKtSbxflYDALwfSphwfe3E548zI1PAT 5BpvfJp1k/V8vmijkCto+OUBN8W7ScdNQ80i1zMMiNlz2zOD/I8h9bNYKvEfaxuGqdGeHR wVYur54ywcpBc8xVp+3mXvCUL5ZkELJK1/7OO0RtKLXBI0Hrt+NY+FgVdW6ZmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148L54kszlnh; Mon, 23 Jan 2023 22:12:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC2Xf012903; Mon, 23 Jan 2023 22:12:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC2f4012902; Mon, 23 Jan 2023 22:12:02 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:02 GMT Message-Id: <202301232212.30NMC2f4012902@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 5713f31ca0d9 - stable/13 - netlink: store user-provided rtm_protocol List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5713f31ca0d96e90beb274000683656d171a77d9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=5713f31ca0d96e90beb274000683656d171a77d9 commit 5713f31ca0d96e90beb274000683656d171a77d9 Author: Alexander V. Chernikov AuthorDate: 2022-12-02 19:26:34 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: store user-provided rtm_protocol Store user-supplied source protocol in the nexthops and nexthop groups. Protocol specification help routing daemons like bird to quickly identify self-originated routes after the crash or restart. Example: ``` 10.2.0.0/24 via 10.0.0.2 dev vtnet0 proto bird 10.3.0.0/24 proto bird nexthop via 10.0.0.2 dev vtnet0 weight 3 nexthop via 10.0.0.3 dev vtnet0 weight 4 ``` (cherry picked from commit cc2be311772d368541157dcf8bf989f216a5b994) --- sys/net/route/nhop_ctl.c | 1 + sys/netlink/route/route.c | 33 +++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/sys/net/route/nhop_ctl.c b/sys/net/route/nhop_ctl.c index 9359a0b5126e..d042d9519f6b 100644 --- a/sys/net/route/nhop_ctl.c +++ b/sys/net/route/nhop_ctl.c @@ -714,6 +714,7 @@ nhop_copy(struct nhop_object *nh, const struct nhop_object *nh_orig) nh_priv->nh_type = nh_orig->nh_priv->nh_type; nh_priv->rt_flags = nh_orig->nh_priv->rt_flags; nh_priv->nh_fibnum = nh_orig->nh_priv->nh_fibnum; + nh_priv->nh_origin = nh_orig->nh_priv->nh_origin; } void diff --git a/sys/netlink/route/route.c b/sys/netlink/route/route.c index 852843af1b7d..78949a643227 100644 --- a/sys/netlink/route/route.c +++ b/sys/netlink/route/route.c @@ -271,13 +271,8 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, if (fibnum < 255) rtm->rtm_table = (unsigned char)fibnum; rtm->rtm_scope = RT_SCOPE_UNIVERSE; - if (!NH_IS_NHGRP(rnd->rnd_nhop)) { - rtm->rtm_protocol = nl_get_rtm_protocol(rnd->rnd_nhop); - rtm->rtm_type = get_rtm_type(rnd->rnd_nhop); - } else { - rtm->rtm_protocol = RTPROT_UNSPEC; /* TODO: protocol from nhg? */ - rtm->rtm_type = RTN_UNICAST; - } + rtm->rtm_protocol = nl_get_rtm_protocol(rnd->rnd_nhop); + rtm->rtm_type = get_rtm_type(rnd->rnd_nhop); nlattr_add_u32(nw, NL_RTA_TABLE, fibnum); @@ -445,6 +440,7 @@ struct nl_parsed_route { uint32_t rtax_mtu; uint8_t rtm_family; uint8_t rtm_dst_len; + uint8_t rtm_protocol; }; #define _IN(_field) offsetof(struct rtmsg, _field) @@ -469,6 +465,7 @@ static const struct nlattr_parser nla_p_rtmsg[] = { static const struct nlfield_parser nlf_p_rtmsg[] = { {.off_in = _IN(rtm_family), .off_out = _OUT(rtm_family), .cb = nlf_get_u8 }, {.off_in = _IN(rtm_dst_len), .off_out = _OUT(rtm_dst_len), .cb = nlf_get_u8 }, + {.off_in = _IN(rtm_protocol), .off_out = _OUT(rtm_protocol), .cb = nlf_get_u8 }, }; #undef _IN #undef _OUT @@ -736,6 +733,8 @@ create_nexthop_one(struct nl_parsed_route *attrs, struct rta_mpath_nh *mpnh, if (mpnh->ifp != NULL) nhop_set_transmit_ifp(nh, mpnh->ifp); nhop_set_rtflags(nh, attrs->rta_rtflags); + if (attrs->rtm_protocol > RTPROT_STATIC) + nhop_set_origin(nh, attrs->rtm_protocol); *pnh = finalize_nhop(nh, &error); @@ -748,13 +747,13 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, struct nl_pstate *npt, int *perror) { struct nhop_object *nh = NULL; - int error = 0; if (attrs->rta_multipath != NULL) { #ifdef ROUTE_MPATH /* Multipath w/o explicit nexthops */ int num_nhops = attrs->rta_multipath->num_nhops; struct weightened_nhop *wn = npt_alloc(npt, sizeof(*wn) * num_nhops); + int error = 0; for (int i = 0; i < num_nhops; i++) { struct rta_mpath_nh *mpnh = &attrs->rta_multipath->nhops[i]; @@ -769,12 +768,20 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, } if (error == 0) { struct rib_head *rh = nhop_get_rh(wn[0].nh); - - error = nhgrp_get_group(rh, wn, num_nhops, 0, - (struct nhgrp_object **)&nh); - + struct nhgrp_object *nhg; + + nhg = nhgrp_alloc(rh->rib_fibnum, rh->rib_family, + wn, num_nhops, perror); + if (nhg != NULL) { + if (attrs->rtm_protocol > RTPROT_STATIC) + nhgrp_set_origin(nhg, attrs->rtm_protocol); + nhg = nhgrp_get_nhgrp(nhg, perror); + } for (int i = 0; i < num_nhops; i++) nhop_free(wn[i].nh); + if (nhg != NULL) + return ((struct nhop_object *)nhg); + error = *perror; } #else error = ENOTSUP; @@ -799,6 +806,8 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, if (attrs->rta_rtflags & RTF_REJECT) nhop_set_blackhole(nh, NHF_REJECT); nhop_set_rtflags(nh, attrs->rta_rtflags); + if (attrs->rtm_protocol > RTPROT_STATIC) + nhop_set_origin(nh, attrs->rtm_protocol); nh = finalize_nhop(nh, perror); } From nobody Mon Jan 23 22:12:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148N0JXXz2t0Wp; Mon, 23 Jan 2023 22: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 4P148M70WXz3LM8; Mon, 23 Jan 2023 22: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=1674511924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7qHSCBzxielGDLzcaiRuVvi0wXpqKWo7mN/9DO3Cuc8=; b=p2HewP8FDOs/k6OIq33O3d2Yoyw8N1LSdfV0MCk0s9wj1nxqZs6TNZxPCPzOyZhmo7vCbG pEVhbsdOA+IncNOpjnu6urVddSuwgoyGB/dYin7LFDHFHD4r/1crgT48cHJnDN82kSMl/l 8ZfXQ3gG6rPcOWyZw06L4mkNo3++q5m8xvhKPitVSVOgSDPmdOYHYBNj/B4p4JymnrKDju 5wlpD2IpKVohffneVo31Am+D4PbECvfUV8TM/bFSKYmoa1DTI8LvnNvu20RPNP1ul93ZKJ hV/F7RqVZ30rMeI3s/LfeE1vxECjeYVlq7bkvP04aT78jZ4pmnJGOiotoiMQ8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7qHSCBzxielGDLzcaiRuVvi0wXpqKWo7mN/9DO3Cuc8=; b=kLbtYd+9GNCBeOK4xxm8LcuJXlpyVMIKRCTxiviBAaT2ZSEvSGqKBu297eNUQaSGQlwkM4 HuiVIijaYTtWuyMJoxPhfZQSXGIWw+w/rUVoPEPWL8FNXh915GsE6b+UT9nNoqXuffhEN2 1JOaa6xuJzFEOjXtvQx8o+ScaU6o3+TVoH/PZyHBnWEB96ChdRiiZFcIOSSkWEX6/JJCLU VFP6sJO4f8ys9jbv5ds7Z1eICQxqabx9r9sjqvYjKYlW4T1UDtMJ1xs39RyfDYRvp801Ao trutFEv8chf5Jo6Qw9mOsMm2sQ3s18096a46U7XzKW7hHfheoHbXNNo3DF/wfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511924; a=rsa-sha256; cv=none; b=QmI36gXoBvDm/1v+VvetuVDJGdBoGXtvxc+Yg7BjLI1vA1FSubGWeraSK835e2FvsGU4Z3 TifeaLogAY1yW5PCBhzEEstXtXTEUH2LuUxFt/gXRNoyd1VuPa3QHrvBEItNFaTgq9fjfM CpOhBBwRTb9Ih4B7llKbGaC02t2k9vlBELK3o/n+o86RpQtxKWVk7kTZbwIeD+T2LmSWSl m2wGbBjnvBikS9S6mSgf1gGztuSQdP3ZiFFYJbekBxT4OH6M/ovKPNy4adoRsYyJ5rVmua L9spU+SvBOoJtTzUVo/ny6kBYb3RXFVjV/YRbX8lo66pT39LZhGoTU8PRsR1+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148M5zLrzlnj; Mon, 23 Jan 2023 22:12:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC31K012927; Mon, 23 Jan 2023 22:12:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC3Eu012926; Mon, 23 Jan 2023 22:12:03 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:03 GMT Message-Id: <202301232212.30NMC3Eu012926@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: a9ed45a93769 - stable/13 - netlink: fix non-multipath build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a9ed45a937697f7e2b331c39c9237e9c63a7c799 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a9ed45a937697f7e2b331c39c9237e9c63a7c799 commit a9ed45a937697f7e2b331c39c9237e9c63a7c799 Author: Alexander V. Chernikov AuthorDate: 2022-12-02 22:20:42 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: fix non-multipath build (cherry picked from commit 6ab87ec483e9578823cbc30458f49ab07f51acf8) --- sys/netlink/route/route.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/route/route.c b/sys/netlink/route/route.c index 78949a643227..07735cd9d5bc 100644 --- a/sys/netlink/route/route.c +++ b/sys/netlink/route/route.c @@ -747,13 +747,13 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, struct nl_pstate *npt, int *perror) { struct nhop_object *nh = NULL; + int error = 0; if (attrs->rta_multipath != NULL) { #ifdef ROUTE_MPATH /* Multipath w/o explicit nexthops */ int num_nhops = attrs->rta_multipath->num_nhops; struct weightened_nhop *wn = npt_alloc(npt, sizeof(*wn) * num_nhops); - int error = 0; for (int i = 0; i < num_nhops; i++) { struct rta_mpath_nh *mpnh = &attrs->rta_multipath->nhops[i]; From nobody Mon Jan 23 22:12:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148P18GTz2t0l0; Mon, 23 Jan 2023 22:12: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 4P148P0nntz3LMm; Mon, 23 Jan 2023 22: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=1674511925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uj8jGGmr+ERDaYz/bAWMkvdTk9dutq6v5jEUaAALZYA=; b=MPwzy9nPIucZeMTnFkx3V/zNilWAPirYG1SiYC4Owkzhs9z+TxoABZMIu+V40oh2i/rbkR BXURmfyJ0Kr7ZpAd20EbcRJBBKLBqpr1BhhJJ82l9/D9BNMCZ4cQxiGtz5BKdNmIfyUmr9 ETvCbSIbI6/pSZzAEH4nVEJaGxS6E4cK7a07bPfAxJ2KtK/Nw6HM13ABU1sIIo/azJLVnM X2QjWzvo8reE0aKqP+kR0Ma+DpAJcCapo1ekrl+ZkTgAuEU4k5lBMthvmU+fBdrWeEU1ei Q2zIWRCqWqGVGGerWZH3ZqRcApTj3B8W7hetiphVtJOc/oYnDsWijqsYOjl6kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uj8jGGmr+ERDaYz/bAWMkvdTk9dutq6v5jEUaAALZYA=; b=cEzArQGo9XLhU/nUxSXr3ELIFoqjDdQqWKdkXJl6px8+tn2hEIRFJEq9mfAxk2MNg9VYgP 2d7pjbRBoYi2wIGHDeA9DKNzpS8BbjYaQbMolkGJndGQmhEqdWz0JcFfRPfVs/EPnV+bbo sng99Pf1VeQeXl+BG3RUk0STuyrcLnCH67xS7wQTF3YNBluzAMNm9r23C9pIfThvfiD3ha 1WoyQULrbtWvFDPWohBQqJxKoJiVQmZws9Lr71Lp/cVUTDgKA+hGJRF6cqeQmmgMd9Sshk ssRp5/f0A5q2iLOUuggFXc/nJw9ZmSjRlIPpWdsS9PutDUWww9HljZbynR0K3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511925; a=rsa-sha256; cv=none; b=fXJvL27f7dS0qy5cJBRrCHczf6yw+nO23t8TcRX/xuRdEekHHBx4P0hg/DPVS+eyOxCdY7 GZkzSU8a8ztZa8N2Uhs6as+Z3TnKhzmWi5Hgtta5FUztWV3nQCj5Ztadrm1mjN1Sk2hFGm iuZ5Nc9TqalYJN5pEQdtqggj9zql/89+i9bnPiP6PxafY/idjk02z78ojbCnjyIESBfSAc LZgW1v71ukPthEtJ3aYFKz5ho7iJUVTnvf8h3WZ3RN73DpgQ7OrOHXlW3jWYA7041XCPMV PFCnN/SZCjOGaNn9n91OCFvqxygeaJMxJLSLIK0KUwe5NIDN04nLGAQhzFc5Eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148N6xvfzltl; Mon, 23 Jan 2023 22:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC4G5012951; Mon, 23 Jan 2023 22:12:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC4d4012950; Mon, 23 Jan 2023 22:12:04 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:04 GMT Message-Id: <202301232212.30NMC4d4012950@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: dfc6db8e18b6 - stable/13 - netlink: add interface notification on link status / flags change. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dfc6db8e18b65ee3101a007aace55e21d72c4011 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=dfc6db8e18b65ee3101a007aace55e21d72c4011 commit dfc6db8e18b65ee3101a007aace55e21d72c4011 Author: Alexander V. Chernikov AuthorDate: 2022-12-03 17:10:50 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: add interface notification on link status / flags change. * Add link-state change notifications by subscribing to ifnet_link_event. In the Linux netlink model, link state is reported in 2 places: first is the IFLA_OPERSTATE, which stores state per RFC2863. The second is an IFF_LOWER_UP interface flag. As many applications rely on the latter, reserve 1 bit from if_flags, named as IFF_NETLINK_1. This flag is mapped to IFF_LOWER_UP in the netlink headers. This is done to avoid making applications think this flag is actually supported / presented in non-netlink outputs. * Add flag change notifications, by hooking into rt_ifmsg(). In the netlink model, notification should include the bitmask for the change flags. Update rt_ifmsg() to include such bitmask. Differential Revision: https://reviews.freebsd.org/D37597 (cherry picked from commit 1bcd230f9508b3c917f26be4b905e4b5141decea) --- sys/dev/usb/usb_pf.c | 2 +- sys/net/if.c | 10 ++++---- sys/net/if.h | 1 + sys/net/route.c | 24 +++++++++++++++++- sys/net/route.h | 1 + sys/net/route/route_ctl.h | 2 ++ sys/net/rtsock.c | 10 +++++--- sys/netlink/netlink_route.c | 5 +++- sys/netlink/route/iface.c | 59 ++++++++++++++++++++++++++++--------------- sys/netlink/route/interface.h | 3 +++ sys/netlink/route/route_var.h | 1 + 11 files changed, 87 insertions(+), 31 deletions(-) diff --git a/sys/dev/usb/usb_pf.c b/sys/dev/usb/usb_pf.c index 6ccb5ebbc62b..0b7d1f9a02a0 100644 --- a/sys/dev/usb/usb_pf.c +++ b/sys/dev/usb/usb_pf.c @@ -203,7 +203,7 @@ usbpf_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) ifp->if_ioctl = usbpf_ioctl; if_attach(ifp); ifp->if_flags |= IFF_UP; - rt_ifmsg(ifp); + rt_ifmsg_14(ifp, IFF_UP); /* * XXX According to the specification of DLT_USB, it indicates * packets beginning with USB setup header. But not sure all diff --git a/sys/net/if.c b/sys/net/if.c index d42b642e8d18..7423c4963f57 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2222,7 +2222,7 @@ if_unroute(struct ifnet *ifp, int flag, int fam) if (ifp->if_carp) (*carp_linkstate_p)(ifp); - rt_ifmsg(ifp); + rt_ifmsg_14(ifp, IFF_UP); } /* @@ -2246,7 +2246,7 @@ if_route(struct ifnet *ifp, int flag, int fam) NET_EPOCH_EXIT(et); if (ifp->if_carp) (*carp_linkstate_p)(ifp); - rt_ifmsg(ifp); + rt_ifmsg_14(ifp, IFF_UP); #ifdef INET6 in6_if_up(ifp); #endif @@ -2290,7 +2290,7 @@ do_link_state_change(void *arg, int pending) link_state = ifp->if_link_state; CURVNET_SET(ifp->if_vnet); - rt_ifmsg(ifp); + rt_ifmsg_14(ifp, 0); if (ifp->if_vlantrunk != NULL) (*vlan_link_state_p)(ifp); @@ -2760,7 +2760,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) error = (*ifp->if_ioctl)(ifp, cmd, data); if (error == 0) { getmicrotime(&ifp->if_lastchange); - rt_ifmsg(ifp); + rt_ifmsg_14(ifp, 0); #ifdef INET DEBUGNET_NOTIFY_MTU(ifp); #endif @@ -3190,7 +3190,7 @@ if_setflag(struct ifnet *ifp, int flag, int pflag, int *refcount, int onswitch) if (error) goto recover; /* Notify userland that interface flags have changed */ - rt_ifmsg(ifp); + rt_ifmsg_14(ifp, flag); return (0); recover: diff --git a/sys/net/if.h b/sys/net/if.h index 782e792cf87c..409289869c27 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -163,6 +163,7 @@ struct if_data { #define IFF_DYING 0x200000 /* (n) interface is winding down */ #define IFF_RENAMING 0x400000 /* (n) interface is being renamed */ #define IFF_NOGROUP 0x800000 /* (n) interface is not part of any groups */ +#define IFF_NETLINK_1 0x1000000 /* (n) used by netlink */ /* * Old names for driver flags so that user space tools can continue to use diff --git a/sys/net/route.c b/sys/net/route.c index b4076123e5d6..80d08d1bc7f0 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -813,12 +813,34 @@ rt_routemsg_info(int cmd, struct rt_addrinfo *info, int fibnum) return (rtsock_routemsg_info(cmd, info, fibnum)); } +void +rt_ifmsg(struct ifnet *ifp) +{ + rt_ifmsg_14(ifp, 0); +} + +void +rt_ifmsg_14(struct ifnet *ifp, int if_flags_mask) +{ + rtsock_callback_p->ifmsg_f(ifp, if_flags_mask); + netlink_callback_p->ifmsg_f(ifp, if_flags_mask); +} + /* Netlink-related callbacks needed to glue rtsock, netlink and linuxolator */ static void ignore_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) { } -static struct rtbridge ignore_cb = { .route_f = ignore_route_event }; + +static void +ignore_ifmsg_event(struct ifnet *ifp, int if_flags_mask) +{ +} + +static struct rtbridge ignore_cb = { + .route_f = ignore_route_event, + .ifmsg_f = ignore_ifmsg_event, +}; void *linux_netlink_p = NULL; /* Callback pointer for Linux translator functions */ struct rtbridge *rtsock_callback_p = &ignore_cb; diff --git a/sys/net/route.h b/sys/net/route.h index a2394d54b92f..3dac437426b0 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -416,6 +416,7 @@ struct rib_head; void rt_ieee80211msg(struct ifnet *, int, void *, size_t); void rt_ifmsg(struct ifnet *); +void rt_ifmsg_14(struct ifnet *, int); void rt_missmsg(int, struct rt_addrinfo *, int, int); void rt_missmsg_fib(int, struct rt_addrinfo *, int, int, int); int rt_addrmsg(int, struct ifaddr *, int); diff --git a/sys/net/route/route_ctl.h b/sys/net/route/route_ctl.h index d150da6264d4..e8560e681ddb 100644 --- a/sys/net/route/route_ctl.h +++ b/sys/net/route/route_ctl.h @@ -191,8 +191,10 @@ void rib_notify(struct rib_head *rnh, enum rib_subscription_type type, /* Event bridge */ typedef void route_event_f(uint32_t fibnum, const struct rib_cmd_info *rc); +typedef void ifmsg_event_f(struct ifnet *ifp, int if_flags_mask); struct rtbridge{ route_event_f *route_f; + ifmsg_event_f *ifmsg_f; }; extern struct rtbridge *rtsock_callback_p; extern struct rtbridge *netlink_callback_p; diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 69a5698e4b5f..fc9439602c13 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -211,6 +211,7 @@ static void send_rtm_reply(struct socket *so, struct rt_msghdr *rtm, static bool can_export_rte(struct ucred *td_ucred, bool rt_is_host, const struct sockaddr *rt_dst); static void rtsock_notify_event(uint32_t fibnum, const struct rib_cmd_info *rc); +static void rtsock_ifmsg(struct ifnet *ifp, int if_flags_mask); static struct netisr_handler rtsock_nh = { .nh_name = "rtsock", @@ -288,7 +289,10 @@ rts_handle_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) #endif report_route_event(rc, (void *)(uintptr_t)fibnum); } -static struct rtbridge rtsbridge = { .route_f = rts_handle_route_event }; +static struct rtbridge rtsbridge = { + .route_f = rts_handle_route_event, + .ifmsg_f = rtsock_ifmsg, +}; static struct rtbridge *rtsbridge_orig_p; static void @@ -1984,8 +1988,8 @@ rt_missmsg(int type, struct rt_addrinfo *rtinfo, int flags, int error) * This routine is called to generate a message from the routing * socket indicating that the status of a network interface has changed. */ -void -rt_ifmsg(struct ifnet *ifp) +static void +rtsock_ifmsg(struct ifnet *ifp, int if_flags_mask __unused) { struct if_msghdr *ifm; struct mbuf *m; diff --git a/sys/netlink/netlink_route.c b/sys/netlink/netlink_route.c index cc1a0cc6db8d..0622656715c4 100644 --- a/sys/netlink/netlink_route.c +++ b/sys/netlink/netlink_route.c @@ -106,7 +106,10 @@ rtnl_handle_message(struct nlmsghdr *hdr, struct nl_pstate *npt) return (error); } -static struct rtbridge nlbridge = { .route_f = rtnl_handle_route_event }; +static struct rtbridge nlbridge = { + .route_f = rtnl_handle_route_event, + .ifmsg_f = rtnl_handle_ifnet_event, +}; static struct rtbridge *nlbridge_orig_p; static void diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 5ffe11cc7e80..579869e9662c 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -68,7 +68,7 @@ struct netlink_walkargs { int dumped; }; -static eventhandler_tag ifdetach_event, ifattach_event, ifaddr_event; +static eventhandler_tag ifdetach_event, ifattach_event, iflink_event, ifaddr_event; static SLIST_HEAD(, nl_cloner) nl_cloners = SLIST_HEAD_INITIALIZER(nl_cloners); @@ -234,11 +234,13 @@ dump_sa(struct nl_writer *nw, int attr, const struct sockaddr *sa) * @nw: message writer * @ifp: target interface * @hdr: template header + * @if_flags_mask: changed if_[drv]_flags bitmask * * This function is called without epoch and MAY sleep. */ static bool -dump_iface(struct nl_writer *nw, struct ifnet *ifp, const struct nlmsghdr *hdr) +dump_iface(struct nl_writer *nw, struct ifnet *ifp, const struct nlmsghdr *hdr, + int if_flags_mask) { struct ifinfomsg *ifinfo; @@ -253,13 +255,15 @@ dump_iface(struct nl_writer *nw, struct ifnet *ifp, const struct nlmsghdr *hdr) ifinfo->ifi_type = ifp->if_type; ifinfo->ifi_index = ifp->if_index; ifinfo->ifi_flags = ifp_flags_to_netlink(ifp); - ifinfo->ifi_change = 0; - - nlattr_add_string(nw, IFLA_IFNAME, if_name(ifp)); + ifinfo->ifi_change = if_flags_mask; struct if_state ifs = {}; get_operstate(ifp, &ifs); + if (ifs.ifla_operstate == IF_OPER_UP) + ifinfo->ifi_flags |= IFF_LOWER_UP; + + nlattr_add_string(nw, IFLA_IFNAME, if_name(ifp)); nlattr_add_u8(nw, IFLA_OPERSTATE, ifs.ifla_operstate); nlattr_add_u8(nw, IFLA_CARRIER, ifs.ifla_carrier); @@ -387,7 +391,7 @@ rtnl_handle_getlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n NLP_LOG(LOG_DEBUG3, nlp, "fast track -> searching index %u", attrs.ifi_index); if (ifp != NULL) { if (match_iface(&attrs, ifp)) { - if (!dump_iface(wa.nw, ifp, &wa.hdr)) + if (!dump_iface(wa.nw, ifp, &wa.hdr, 0)) error = ENOMEM; } else error = ESRCH; @@ -439,7 +443,7 @@ rtnl_handle_getlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n NL_LOG(LOG_DEBUG2, "Matched %d interface(s), dumping", offset); for (int i = 0; error == 0 && i < offset; i++) { - if (!dump_iface(wa.nw, match_array[i], &wa.hdr)) + if (!dump_iface(wa.nw, match_array[i], &wa.hdr, 0)) error = ENOMEM; } for (int i = 0; i < offset; i++) @@ -767,9 +771,9 @@ rtnl_handle_ifaddr(void *arg __unused, struct ifaddr *ifa, int cmd) } static void -rtnl_handle_ifattach(void *arg, struct ifnet *ifp) +rtnl_handle_ifevent(struct ifnet *ifp, int nlmsg_type, int if_flags_mask) { - struct nlmsghdr hdr = { .nlmsg_type = NL_RTM_NEWLINK }; + struct nlmsghdr hdr = { .nlmsg_type = nlmsg_type }; struct nl_writer nw = {}; if (!nl_has_listeners(NETLINK_ROUTE, RTNLGRP_LINK)) @@ -779,25 +783,36 @@ rtnl_handle_ifattach(void *arg, struct ifnet *ifp) NL_LOG(LOG_DEBUG, "error allocating mbuf"); return; } - dump_iface(&nw, ifp, &hdr); + dump_iface(&nw, ifp, &hdr, if_flags_mask); nlmsg_flush(&nw); } +static void +rtnl_handle_ifattach(void *arg, struct ifnet *ifp) +{ + NL_LOG(LOG_DEBUG2, "ifnet %s", if_name(ifp)); + rtnl_handle_ifevent(ifp, NL_RTM_NEWLINK, 0); +} + static void rtnl_handle_ifdetach(void *arg, struct ifnet *ifp) { - struct nlmsghdr hdr = { .nlmsg_type = NL_RTM_DELLINK }; - struct nl_writer nw = {}; + NL_LOG(LOG_DEBUG2, "ifnet %s", if_name(ifp)); + rtnl_handle_ifevent(ifp, NL_RTM_DELLINK, 0); +} - if (!nl_has_listeners(NETLINK_ROUTE, RTNLGRP_LINK)) - return; +static void +rtnl_handle_iflink(void *arg, struct ifnet *ifp) +{ + NL_LOG(LOG_DEBUG2, "ifnet %s", if_name(ifp)); + rtnl_handle_ifevent(ifp, NL_RTM_NEWLINK, 0); +} - if (!nlmsg_get_group_writer(&nw, NLMSG_LARGE, NETLINK_ROUTE, RTNLGRP_LINK)) { - NL_LOG(LOG_DEBUG, "error allocating mbuf"); - return; - } - dump_iface(&nw, ifp, &hdr); - nlmsg_flush(&nw); +void +rtnl_handle_ifnet_event(struct ifnet *ifp, int if_flags_mask) +{ + NL_LOG(LOG_DEBUG2, "ifnet %s", if_name(ifp)); + rtnl_handle_ifevent(ifp, NL_RTM_NEWLINK, if_flags_mask); } static const struct rtnl_cmd_handler cmd_handlers[] = { @@ -867,6 +882,9 @@ rtnl_ifaces_init(void) ifaddr_event = EVENTHANDLER_REGISTER( rt_addrmsg, rtnl_handle_ifaddr, NULL, EVENTHANDLER_PRI_ANY); + iflink_event = EVENTHANDLER_REGISTER( + ifnet_link_event, rtnl_handle_iflink, NULL, + EVENTHANDLER_PRI_ANY); NL_VERIFY_PARSERS(all_parsers); rtnl_iface_drivers_register(); rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); @@ -878,4 +896,5 @@ rtnl_ifaces_destroy(void) EVENTHANDLER_DEREGISTER(ifnet_arrival_event, ifattach_event); EVENTHANDLER_DEREGISTER(ifnet_departure_event, ifdetach_event); EVENTHANDLER_DEREGISTER(rt_addrmsg, ifaddr_event); + EVENTHANDLER_DEREGISTER(ifnet_link_event, iflink_event); } diff --git a/sys/netlink/route/interface.h b/sys/netlink/route/interface.h index cae763cc4a58..1b8f1cf7b53d 100644 --- a/sys/netlink/route/interface.h +++ b/sys/netlink/route/interface.h @@ -42,6 +42,9 @@ struct ifinfomsg { unsigned ifi_change; /* IFF_* change mask */ }; +/* Linux-specific link-level state flag */ +#define IFF_LOWER_UP IFF_NETLINK_1 + #ifndef _KERNEL /* Compatilbility helpers */ #define _IFINFO_HDRLEN ((int)sizeof(struct ifinfomsg)) diff --git a/sys/netlink/route/route_var.h b/sys/netlink/route/route_var.h index 7a31a8c896a5..0bcfcc962020 100644 --- a/sys/netlink/route/route_var.h +++ b/sys/netlink/route/route_var.h @@ -88,6 +88,7 @@ void rtnl_ifaces_init(void); void rtnl_ifaces_destroy(void); void rtnl_iface_add_cloner(struct nl_cloner *cloner); void rtnl_iface_del_cloner(struct nl_cloner *cloner); +void rtnl_handle_ifnet_event(struct ifnet *ifp, int if_change_mask); /* iface_drivers.c */ void rtnl_iface_drivers_register(void); From nobody Mon Jan 23 22:12:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148Q2YBlz2t0nJ; Mon, 23 Jan 2023 22: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 4P148Q23qKz3LfT; Mon, 23 Jan 2023 22: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=1674511926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4lkWp1AjgxNB7AP8fCtq+/2ObeEWXfnUJm8jo7STV1c=; b=JEA+xBeh656y1fkMCVCyKlVVE4ANhzT8nmi8HSpxuu/8FRb9kHkIvMyglMVNXRh8SwOLMN RGI7P/xzcchxw1eM890M6fOq/YkTeeaFNt4cXpCKGL1X8w1sBVMVtCIydiVhRbHjA625I5 44JMlpF4NCFkl7Ra9baTSkakFYRUO/XqDiMkye940YvkoHrx3px33a4DP7KUobTwERMeaZ //AHwgfTgFiPYPxp1X/AixfXQsBn+wO848xkgJ73ynNeIivrlf3YXljwm+BxPWIri3yO0x 6zAioAX8k8IS0o7NvgM9Gl3PR9ZRagsHgkMkmB0bwyuIP/+6PfVYrOPsJELRVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4lkWp1AjgxNB7AP8fCtq+/2ObeEWXfnUJm8jo7STV1c=; b=yHVrBwF0g9fCV5IFQjrNYEQ0LkODemxL5DLQ2/C5SKgRCMmJBjpYGCaxyGqtYpZUJh+VB3 rRqm1bjuNZlj2w0eUkVsBzjOtlazc7MRDf+9VKoETJyBdqLG45E1DA71c7eaTt4qCuu+5J vbJQ2EHv+gIfcyIXXRfurYUVRUXIQpB8GIVBR3VE7FIB4nPr3yVbV5vWW2OWmTHpk4JN6w nQb+vTLEwKeulZt20X4ix9LRL0ptERu4SGoGH+pi7XWL4mvFVQaozEQ6/Dvj3Rs9Ddrvxo ox10wPm/pXtPCh8qQOOwmufbLaPJ75kyomGsTh4vHO23j4cSx6rvJMpcCPcPmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511926; a=rsa-sha256; cv=none; b=W1Bgf/ZPSPJgmxTC5CdKMzqiPnBo3FNMGT3qme8QO3N2SMek1zGPRGfscs6Z/AEbnRiYVG 7xi1u/3hKrYx8hObkpXTfPjW2cSrogjpafpmAiZZyUOd+UzEWRKt6ex4yqGFe/9+KSthAb EZWIu2mfvmuzETUFzur+8O5uSM0cudelMCHWA174/XF2Aj5/+KtHeC+Nq4uNc3Hkg9JWr+ w23js8erQEOCoFBeyZN/V4uz9ISDTN/LZ4ErCoKX26zIbcSHmQ7lrxwHgV6tzeeF0iMYV+ r8B7uX28qDfmEYxVqmxw6pbxyMdsSn6CG3LHP4tgq1rJyK2ziBfCRXWu+ntEFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148Q18Yjzltm; Mon, 23 Jan 2023 22:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC6je012982; Mon, 23 Jan 2023 22:12:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC6fe012980; Mon, 23 Jan 2023 22:12:06 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:06 GMT Message-Id: <202301232212.30NMC6fe012980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: db476bbc226a - stable/13 - netlink: improve interface handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: db476bbc226a11e6948a53e3fb8e8ca6b192f409 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=db476bbc226a11e6948a53e3fb8e8ca6b192f409 commit db476bbc226a11e6948a53e3fb8e8ca6b192f409 Author: Alexander V. Chernikov AuthorDate: 2022-12-14 19:45:01 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: improve interface handling * Separate interface creation from interface modification code * Support setting some interface attributes (ifdescr, mtu, up/down, promisc) * Improve interaction with the cloners requiring to parse/write custom interface attributes * Add bitmask-based way of checking if the attribute is present in the message * Don't use multipart RTM_GETLINK replies when searching for the specific interface names * Use ENODEV instead of ENOENT in case of failed RTM_GETLINK search * Add python netlink test helpers * Add some netlink interface tests Differential Revision: https://reviews.freebsd.org/D37668 (cherry picked from commit 80f03e63d67ede8fedbed4bd6bf6b12ec2ab2cfb) --- etc/mtree/BSD.tests.dist | 2 + share/man/man4/rtnetlink.4 | 2 + sys/netlink/netlink_message_parser.c | 20 +- sys/netlink/netlink_message_parser.h | 28 +- sys/netlink/route/iface.c | 208 ++++- sys/netlink/route/iface_drivers.c | 100 ++- sys/netlink/route/interface.h | 2 +- sys/netlink/route/route_var.h | 15 +- tests/atf_python/sys/net/Makefile | 2 +- tests/atf_python/sys/net/netlink.py | 1495 ++++++++++++++++++++++++++++++++++ tests/sys/netlink/Makefile | 14 + tests/sys/netlink/test_rtnl_iface.py | 281 +++++++ 12 files changed, 2116 insertions(+), 53 deletions(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 475b9571d8e9..0dabe96110d8 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -820,6 +820,8 @@ tunnel .. .. + netlink + .. netmap .. netpfil diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index 9f20671719f0..a06807809691 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -309,6 +309,8 @@ IFLA_ALT_IFNAME interface name (binary) (readonly) Link-level broadcast address. .It Dv IFLA_IFNAME (string) New interface name. +.It Dv IFLA_IFALIAS +(string) Interface description. .It Dv IFLA_LINK (uint32_t) (readonly) Interface index. .It Dv IFLA_MASTER diff --git a/sys/netlink/netlink_message_parser.c b/sys/netlink/netlink_message_parser.c index d33eddb800e4..451d9d497491 100644 --- a/sys/netlink/netlink_message_parser.c +++ b/sys/netlink/netlink_message_parser.c @@ -147,17 +147,23 @@ nl_parse_attrs_raw(struct nlattr *nla_head, int len, const struct nlattr_parser return (0); } -int -nl_parse_attrs(struct nlmsghdr *hdr, int hdrlen, struct nlattr_parser *ps, int pslen, - struct nl_pstate *npt, void *target) +void +nl_get_attrs_bmask_raw(struct nlattr *nla_head, int len, struct nlattr_bmask *bm) { - int off = NLMSG_HDRLEN + NETLINK_ALIGN(hdrlen); - int len = hdr->nlmsg_len - off; - struct nlattr *nla_head = (struct nlattr *)((char *)hdr + off); + struct nlattr *nla = NULL; + + bzero(bm->mask, sizeof(bm->mask)); - return (nl_parse_attrs_raw(nla_head, len, ps, pslen, npt, target)); + NLA_FOREACH(nla, nla_head, len) { + if (nla->nla_len < sizeof(struct nlattr)) + return; + int nla_type = nla->nla_type & NLA_TYPE_MASK; + if (nla_type <= sizeof(bm->mask) * 8) + bm->mask[nla_type / 8] |= 1 << (nla_type % 8); + } } + int nlattr_get_flag(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target) { diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index b23b223ef80e..96fd1c7337b7 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -152,15 +152,21 @@ static const struct nlhdr_parser _name = { \ .np_size = NL_ARRAY_LEN(_np), \ } -struct nlarr_hdr { - int num_items; - int max_items; +struct nlattr_bmask { + uint64_t mask[2]; }; +static inline bool +nl_has_attr(const struct nlattr_bmask *bm, unsigned int attr_type) +{ + MPASS(attr_type < sizeof(bm->mask) * 8); + + return ((bm->mask[attr_type / 8] & (1 << (attr_type % 8)))); +} +void nl_get_attrs_bmask_raw(struct nlattr *nla_head, int len, struct nlattr_bmask *bm); + int nl_parse_attrs_raw(struct nlattr *nla_head, int len, const struct nlattr_parser *ps, int pslen, struct nl_pstate *npt, void *target); -int nl_parse_attrs(struct nlmsghdr *hdr, int hdrlen, struct nlattr_parser *ps, - int pslen, struct nl_pstate *npt, void *target); int nlattr_get_flag(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target); @@ -270,5 +276,17 @@ nl_parse_nlmsg(struct nlmsghdr *hdr, const struct nlhdr_parser *parser, return (nl_parse_header(hdr + 1, hdr->nlmsg_len - sizeof(*hdr), parser, npt, target)); } +static inline void +nl_get_attrs_bmask_nlmsg(struct nlmsghdr *hdr, const struct nlhdr_parser *parser, + struct nlattr_bmask *bm) +{ + struct nlattr *nla_head; + + nla_head = (struct nlattr *)((char *)(hdr + 1) + parser->nl_hdr_off); + int len = hdr->nlmsg_len - sizeof(*hdr) - parser->nl_hdr_off; + + nl_get_attrs_bmask_raw(nla_head, len, bm); +} + #endif #endif diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 579869e9662c..b033ba71009d 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -75,6 +75,8 @@ static SLIST_HEAD(, nl_cloner) nl_cloners = SLIST_HEAD_INITIALIZER(nl_cloners); static struct sx rtnl_cloner_lock; SX_SYSINIT(rtnl_cloner_lock, &rtnl_cloner_lock, "rtnl cloner lock"); +static struct nl_cloner *rtnl_iface_find_cloner_locked(const char *name); + /* * RTM_GETLINK request * sendto(3, {{len=32, type=RTM_GETLINK, flags=NLM_F_REQUEST|NLM_F_DUMP, seq=1641940952, pid=0}, @@ -286,11 +288,23 @@ dump_iface(struct nl_writer *nw, struct ifnet *ifp, const struct nlmsghdr *hdr, nlattr_add_u32(nw, IFLA_MAX_MTU, 9000); nlattr_add_u32(nw, IFLA_GROUP, 0); */ + + if (ifp->if_description != NULL) + nlattr_add_string(nw, IFLA_IFALIAS, ifp->if_description); + get_stats(nw, ifp); uint32_t val = (ifp->if_flags & IFF_PROMISC) != 0; nlattr_add_u32(nw, IFLA_PROMISCUITY, val); + sx_slock(&rtnl_cloner_lock); + struct nl_cloner *cloner = rtnl_iface_find_cloner_locked(ifp->if_dname); + if (cloner != NULL && cloner->dump_f != NULL) { + /* Ignore any dump error */ + cloner->dump_f(ifp, nw); + } + sx_sunlock(&rtnl_cloner_lock); + if (nlmsg_end(nw)) return (true); @@ -320,6 +334,8 @@ check_ifmsg(void *hdr, struct nl_pstate *npt) static const struct nlfield_parser nlf_p_if[] = { { .off_in = _IN(ifi_type), .off_out = _OUT(ifi_type), .cb = nlf_get_u16 }, { .off_in = _IN(ifi_index), .off_out = _OUT(ifi_index), .cb = nlf_get_u32 }, + { .off_in = _IN(ifi_flags), .off_out = _OUT(ifi_flags), .cb = nlf_get_u32 }, + { .off_in = _IN(ifi_change), .off_out = _OUT(ifi_change), .cb = nlf_get_u32 }, }; static const struct nlattr_parser nla_p_linfo[] = { @@ -333,6 +349,7 @@ static const struct nlattr_parser nla_p_if[] = { { .type = IFLA_MTU, .off = _OUT(ifla_mtu), .cb = nlattr_get_uint32 }, { .type = IFLA_LINK, .off = _OUT(ifi_index), .cb = nlattr_get_uint32 }, { .type = IFLA_LINKINFO, .arg = &linfo_parser, .cb = nlattr_get_nested }, + { .type = IFLA_IFALIAS, .off = _OUT(ifla_ifalias), .cb = nlattr_get_string }, { .type = IFLA_GROUP, .off = _OUT(ifla_group), .cb = nlattr_get_string }, { .type = IFLA_ALT_IFNAME, .off = _OUT(ifla_ifname), .cb = nlattr_get_string }, }; @@ -379,28 +396,39 @@ rtnl_handle_getlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n .nw = npt->nw, .hdr.nlmsg_pid = hdr->nlmsg_pid, .hdr.nlmsg_seq = hdr->nlmsg_seq, - .hdr.nlmsg_flags = hdr->nlmsg_flags | NLM_F_MULTI, + .hdr.nlmsg_flags = hdr->nlmsg_flags, .hdr.nlmsg_type = NL_RTM_NEWLINK, }; - /* Fast track for an interface w/ explicit index match */ - if (attrs.ifi_index != 0) { - NET_EPOCH_ENTER(et); - ifp = ifnet_byindex_ref(attrs.ifi_index); - NET_EPOCH_EXIT(et); - NLP_LOG(LOG_DEBUG3, nlp, "fast track -> searching index %u", attrs.ifi_index); + /* Fast track for an interface w/ explicit name or index match */ + if ((attrs.ifi_index != 0) || (attrs.ifla_ifname != NULL)) { + if (attrs.ifi_index != 0) { + NLP_LOG(LOG_DEBUG3, nlp, "fast track -> searching index %u", + attrs.ifi_index); + NET_EPOCH_ENTER(et); + ifp = ifnet_byindex_ref(attrs.ifi_index); + NET_EPOCH_EXIT(et); + } else { + NLP_LOG(LOG_DEBUG3, nlp, "fast track -> searching name %s", + attrs.ifla_ifname); + ifp = ifunit_ref(attrs.ifla_ifname); + } + if (ifp != NULL) { if (match_iface(&attrs, ifp)) { if (!dump_iface(wa.nw, ifp, &wa.hdr, 0)) error = ENOMEM; } else - error = ESRCH; + error = ENODEV; if_rele(ifp); } else - error = ESRCH; + error = ENODEV; return (error); } + /* Always treat non-direct-match as a multipart message */ + wa.hdr.nlmsg_flags |= NLM_F_MULTI; + /* * Fetching some link properties require performing ioctl's that may be blocking. * Address it by saving referenced pointers of the matching links, @@ -504,48 +532,146 @@ rtnl_handle_dellink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n return (error); } +/* + * New link: + * type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK|NLM_F_EXCL|NLM_F_CREATE, seq=1668185590, pid=0}, + * {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0} + * [ + * {{nla_len=8, nla_type=IFLA_MTU}, 123}, + * {{nla_len=10, nla_type=IFLA_IFNAME}, "vlan1"}, + * {{nla_len=24, nla_type=IFLA_LINKINFO}, + * [ + * {{nla_len=8, nla_type=IFLA_INFO_KIND}, "vlan"...}, + * {{nla_len=12, nla_type=IFLA_INFO_DATA}, "\x06\x00\x01\x00\x7b\x00\x00\x00"}]}]} + * + * Update link: + * type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK, seq=1668185923, pid=0}, + * {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=if_nametoindex("lo"), ifi_flags=0, ifi_change=0}, + * {{nla_len=8, nla_type=IFLA_MTU}, 123}} + * + * + * Check command availability: + * type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK, seq=0, pid=0}, + * {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0} + */ + + static int -rtnl_handle_newlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) +create_link(struct nlmsghdr *hdr, struct nl_parsed_link *lattrs, + struct nlattr_bmask *bm, struct nlpcb *nlp, struct nl_pstate *npt) { - struct nl_cloner *cloner; - int error; + if (lattrs->ifla_ifname == NULL || strlen(lattrs->ifla_ifname) == 0) { + NLMSG_REPORT_ERR_MSG(npt, "empty IFLA_IFNAME attribute"); + return (EINVAL); + } + if (lattrs->ifla_cloner == NULL || strlen(lattrs->ifla_cloner) == 0) { + NLMSG_REPORT_ERR_MSG(npt, "empty IFLA_INFO_KIND attribute"); + return (EINVAL); + } - struct nl_parsed_link attrs = {}; - error = nl_parse_nlmsg(hdr, &ifmsg_parser, npt, &attrs); - if (error != 0) - return (error); + bool found = false; + int error = 0; + + sx_slock(&rtnl_cloner_lock); + struct nl_cloner *cloner = rtnl_iface_find_cloner_locked(lattrs->ifla_cloner); + if (cloner != NULL) { + found = true; + error = cloner->create_f(lattrs, bm, nlp, npt); + } + sx_sunlock(&rtnl_cloner_lock); + + if (!found) + error = generic_cloner.create_f(lattrs, bm, nlp, npt); + + return (error); +} + +static int +modify_link(struct nlmsghdr *hdr, struct nl_parsed_link *lattrs, + struct nlattr_bmask *bm, struct nlpcb *nlp, struct nl_pstate *npt) +{ + struct ifnet *ifp = NULL; + struct epoch_tracker et; - if (attrs.ifla_ifname == NULL || strlen(attrs.ifla_ifname) == 0) { - /* Applications like ip(8) verify RTM_NEWLINK existance - * by calling it with empty arguments. Always return "innocent" - * error. + if (lattrs->ifi_index == 0 && lattrs->ifla_ifname == NULL) { + /* + * Applications like ip(8) verify RTM_NEWLINK command + * existence by calling it with empty arguments. Always + * return "innocent" error in that case. */ - NLMSG_REPORT_ERR_MSG(npt, "empty IFLA_IFNAME attribute"); + NLMSG_REPORT_ERR_MSG(npt, "empty ifi_index field"); return (EPERM); } - if (attrs.ifla_cloner == NULL || strlen(attrs.ifla_cloner) == 0) { - NLMSG_REPORT_ERR_MSG(npt, "empty IFLA_INFO_KIND attribute"); - return (EINVAL); + if (lattrs->ifi_index != 0) { + NET_EPOCH_ENTER(et); + ifp = ifnet_byindex_ref(lattrs->ifi_index); + NET_EPOCH_EXIT(et); + if (ifp == NULL) { + NLMSG_REPORT_ERR_MSG(npt, "unable to find interface #%u", + lattrs->ifi_index); + return (ENOENT); + } } - sx_slock(&rtnl_cloner_lock); - SLIST_FOREACH(cloner, &nl_cloners, next) { - if (!strcmp(attrs.ifla_cloner, cloner->name)) { - error = cloner->create_f(&attrs, nlp, npt); - sx_sunlock(&rtnl_cloner_lock); - return (error); + if (ifp == NULL && lattrs->ifla_ifname != NULL) { + ifp = ifunit_ref(lattrs->ifla_ifname); + if (ifp == NULL) { + NLMSG_REPORT_ERR_MSG(npt, "unable to find interface %s", + lattrs->ifla_ifname); + return (ENOENT); } } + + MPASS(ifp != NULL); + + /* + * There can be multiple kinds of interfaces: + * 1) cloned, with additional options + * 2) cloned, but w/o additional options + * 3) non-cloned (e.g. "physical). + * + * Thus, try to find cloner-specific callback and fallback to the + * "default" handler if not found. + */ + bool found = false; + int error = 0; + + sx_slock(&rtnl_cloner_lock); + struct nl_cloner *cloner = rtnl_iface_find_cloner_locked(ifp->if_dname); + if (cloner != NULL) { + found = true; + error = cloner->modify_f(ifp, lattrs, bm, nlp, npt); + } sx_sunlock(&rtnl_cloner_lock); - /* TODO: load cloner module if not exists & privilege permits */ - NLMSG_REPORT_ERR_MSG(npt, "interface type %s not supported", attrs.ifla_cloner); - return (ENOTSUP); + if (!found) + error = generic_cloner.modify_f(ifp, lattrs, bm, nlp, npt); + + if_rele(ifp); return (error); } + +static int +rtnl_handle_newlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) +{ + struct nlattr_bmask bm; + int error; + + struct nl_parsed_link attrs = {}; + error = nl_parse_nlmsg(hdr, &ifmsg_parser, npt, &attrs); + if (error != 0) + return (error); + nl_get_attrs_bmask_nlmsg(hdr, &ifmsg_parser, &bm); + + if (hdr->nlmsg_flags & NLM_F_CREATE) + return (create_link(hdr, &attrs, &bm, nlp, npt)); + else + return (modify_link(hdr, &attrs, &bm, nlp, npt)); +} + /* {ifa_family=AF_INET, ifa_prefixlen=8, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_HOST, ifa_index=if_nametoindex("lo")}, @@ -863,13 +989,27 @@ rtnl_iface_add_cloner(struct nl_cloner *cloner) sx_xunlock(&rtnl_cloner_lock); } -void rtnl_iface_del_cloner(struct nl_cloner *cloner) +void +rtnl_iface_del_cloner(struct nl_cloner *cloner) { sx_xlock(&rtnl_cloner_lock); SLIST_REMOVE(&nl_cloners, cloner, nl_cloner, next); sx_xunlock(&rtnl_cloner_lock); } +static struct nl_cloner * +rtnl_iface_find_cloner_locked(const char *name) +{ + struct nl_cloner *cloner; + + SLIST_FOREACH(cloner, &nl_cloners, next) { + if (!strcmp(name, cloner->name)) + return (cloner); + } + + return (NULL); +} + void rtnl_ifaces_init(void) { diff --git a/sys/netlink/route/iface_drivers.c b/sys/netlink/route/iface_drivers.c index ccc8f2184fa3..7f098b808743 100644 --- a/sys/netlink/route/iface_drivers.c +++ b/sys/netlink/route/iface_drivers.c @@ -58,6 +58,95 @@ __FBSDID("$FreeBSD$"); #include _DECLARE_DEBUG(LOG_DEBUG); +/* + * Generic modification interface handler. + * Responsible for changing network stack interface attributes + * such as state, mtu or description. + */ +static int +modify_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nlpcb *nlp, struct nl_pstate *npt) +{ + int error; + + if (lattrs->ifla_ifalias != NULL) { + if (nlp_has_priv(nlp, PRIV_NET_SETIFDESCR)) { + int len = strlen(lattrs->ifla_ifalias) + 1; + char *buf = if_allocdescr(len, true); + + memcpy(buf, lattrs->ifla_ifalias, len); + if_setdescr(ifp, buf); + getmicrotime(&ifp->if_lastchange); + } else { + nlmsg_report_err_msg(npt, "Not enough privileges to set descr"); + return (EPERM); + } + } + + if ((lattrs->ifi_change & IFF_UP) && (lattrs->ifi_flags & IFF_UP) == 0) { + /* Request to down the interface */ + if_down(ifp); + } + + if (lattrs->ifla_mtu > 0) { + if (nlp_has_priv(nlp, PRIV_NET_SETIFMTU)) { + struct ifreq ifr = { .ifr_mtu = lattrs->ifla_mtu }; + error = ifhwioctl(SIOCSIFMTU, ifp, (char *)&ifr, curthread); + } else { + nlmsg_report_err_msg(npt, "Not enough privileges to set mtu"); + return (EPERM); + } + } + + if (lattrs->ifi_change & IFF_PROMISC) { + error = ifpromisc(ifp, lattrs->ifi_flags & IFF_PROMISC); + if (error != 0) { + nlmsg_report_err_msg(npt, "unable to set promisc"); + return (error); + } + } + + return (0); +} + +/* + * Generic creation interface handler. + * Responsible for creating interfaces w/o parameters and setting + * misc attributes such as state, mtu or description. + */ +static int +create_generic(struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, + struct nlpcb *nlp, struct nl_pstate *npt) +{ + int error = 0; + + struct ifc_data ifd = {}; + struct ifnet *ifp = NULL; + error = ifc_create_ifp(lattrs->ifla_ifname, &ifd, &ifp); + + NLP_LOG(LOG_DEBUG2, nlp, "clone for %s returned %d", lattrs->ifla_ifname, error); + + if (error == 0) { + struct epoch_tracker et; + + NET_EPOCH_ENTER(et); + bool success = if_try_ref(ifp); + NET_EPOCH_EXIT(et); + if (!success) + return (EINVAL); + error = modify_generic(ifp, lattrs, bm, nlp, npt); + if_rele(ifp); + } + + return (error); +} + +struct nl_cloner generic_cloner = { + .name = "_default_", + .create_f = create_generic, + .modify_f = modify_generic, +}; + /* * * {len=76, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK|NLM_F_EXCL|NLM_F_CREATE, seq=1662892737, pid=0}, @@ -87,7 +176,8 @@ static const struct nlattr_parser nla_p_vlan[] = { NL_DECLARE_ATTR_PARSER(vlan_parser, nla_p_vlan); static int -create_vlan(struct nl_parsed_link *lattrs, struct nlpcb *nlp, struct nl_pstate *npt) +create_vlan(struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, + struct nlpcb *nlp, struct nl_pstate *npt) { struct epoch_tracker et; struct ifnet *ifp; @@ -147,9 +237,17 @@ create_vlan(struct nl_parsed_link *lattrs, struct nlpcb *nlp, struct nl_pstate * return (error); } +static int +dump_vlan(struct ifnet *ifp, struct nl_writer *nw) +{ + return (0); +} + static struct nl_cloner vlan_cloner = { .name = "vlan", .create_f = create_vlan, + .modify_f = modify_generic, + .dump_f = dump_vlan, }; diff --git a/sys/netlink/route/interface.h b/sys/netlink/route/interface.h index 1b8f1cf7b53d..12a8aa718993 100644 --- a/sys/netlink/route/interface.h +++ b/sys/netlink/route/interface.h @@ -92,7 +92,7 @@ enum { #define IFLA_LINKINFO IFLA_LINKINFO IFLA_NET_NS_PID = 19, /* u32: vnet id (not supported) */ #define IFLA_NET_NS_PID IFLA_NET_NS_PID - IFLA_IFALIAS = 20, /* not supported */ + IFLA_IFALIAS = 20, /* string: interface description */ #define IFLA_IFALIAS IFLA_IFALIAS IFLA_NUM_VF = 21, /* not supported */ #define IFLA_NUM_VF IFLA_NUM_VF diff --git a/sys/netlink/route/route_var.h b/sys/netlink/route/route_var.h index 0bcfcc962020..f1e522c7ae05 100644 --- a/sys/netlink/route/route_var.h +++ b/sys/netlink/route/route_var.h @@ -66,24 +66,31 @@ struct nl_parsed_link { char *ifla_group; char *ifla_ifname; char *ifla_cloner; + char *ifla_ifalias; struct nlattr *ifla_idata; unsigned short ifi_type; int ifi_index; uint32_t ifla_mtu; + uint32_t ifi_flags; + uint32_t ifi_change; }; -typedef int rtnl_iface_create_f(struct nl_parsed_link *lattrs, struct nlpcb *nlp, - struct nl_pstate *npt); -typedef int rtnl_iface_modify_f(struct nl_parsed_link *lattrs, struct nlpcb *nlp, - struct nl_pstate *npt); +typedef int rtnl_iface_create_f(struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nlpcb *nlp, struct nl_pstate *npt); +typedef int rtnl_iface_modify_f(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nlpcb *nlp, struct nl_pstate *npt); +typedef int rtnl_iface_dump_f(struct ifnet *ifp, struct nl_writer *nw); struct nl_cloner { const char *name; rtnl_iface_create_f *create_f; rtnl_iface_modify_f *modify_f; + rtnl_iface_dump_f *dump_f; SLIST_ENTRY(nl_cloner) next; }; +extern struct nl_cloner generic_cloner; + void rtnl_ifaces_init(void); void rtnl_ifaces_destroy(void); void rtnl_iface_add_cloner(struct nl_cloner *cloner); diff --git a/tests/atf_python/sys/net/Makefile b/tests/atf_python/sys/net/Makefile index 05b1d8afe863..63efefd27142 100644 --- a/tests/atf_python/sys/net/Makefile +++ b/tests/atf_python/sys/net/Makefile @@ -2,7 +2,7 @@ .PATH: ${.CURDIR} -FILES= __init__.py rtsock.py tools.py vnet.py +FILES= __init__.py netlink.py rtsock.py tools.py vnet.py .include FILESDIR= ${TESTSBASE}/atf_python/sys/net diff --git a/tests/atf_python/sys/net/netlink.py b/tests/atf_python/sys/net/netlink.py new file mode 100644 index 000000000000..046519ce0343 --- /dev/null +++ b/tests/atf_python/sys/net/netlink.py @@ -0,0 +1,1495 @@ +#!/usr/local/bin/python3 +import os +import socket +import struct +import sys +import unittest +from ctypes import c_int +from ctypes import c_ubyte +from ctypes import c_uint +from ctypes import c_ushort +from ctypes import sizeof +from ctypes import Structure +from enum import auto +from enum import Enum +from typing import Any +from typing import Dict +from typing import List +from typing import NamedTuple + + +def roundup2(val: int, num: int) -> int: + if val % num: + return (val | (num - 1)) + 1 + else: + return val + + +def align4(val: int) -> int: + return roundup2(val, 4) + + +class SockaddrNl(Structure): + _fields_ = [ + ("nl_len", c_ubyte), + ("nl_family", c_ubyte), + ("nl_pad", c_ushort), + ("nl_pid", c_uint), + ("nl_groups", c_uint), + ] + + +class Nlmsghdr(Structure): + _fields_ = [ + ("nlmsg_len", c_uint), + ("nlmsg_type", c_ushort), + ("nlmsg_flags", c_ushort), + ("nlmsg_seq", c_uint), + ("nlmsg_pid", c_uint), + ] + + +class Nlmsgerr(Structure): + _fields_ = [ + ("error", c_int), + ("msg", Nlmsghdr), + ] + + +class NlErrattrType(Enum): + NLMSGERR_ATTR_UNUSED = 0 + NLMSGERR_ATTR_MSG = auto() + NLMSGERR_ATTR_OFFS = auto() + NLMSGERR_ATTR_COOKIE = auto() + NLMSGERR_ATTR_POLICY = auto() + + +class RtattrType(Enum): + RTA_UNSPEC = 0 + RTA_DST = auto() + RTA_SRC = auto() + RTA_IIF = auto() + RTA_OIF = auto() + RTA_GATEWAY = auto() + RTA_PRIORITY = auto() + RTA_PREFSRC = auto() + RTA_METRICS = auto() + RTA_MULTIPATH = auto() + RTA_PROTOINFO = auto() + RTA_FLOW = auto() + RTA_CACHEINFO = auto() + RTA_SESSION = auto() + RTA_MP_ALGO = auto() + RTA_TABLE = auto() + RTA_MARK = auto() + RTA_MFC_STATS = auto() + RTA_VIA = auto() + RTA_NEWDST = auto() + RTA_PREF = auto() + RTA_ENCAP_TYPE = auto() + RTA_ENCAP = auto() + RTA_EXPIRES = auto() + RTA_PAD = auto() + RTA_UID = auto() + RTA_TTL_PROPAGATE = auto() + RTA_IP_PROTO = auto() + RTA_SPORT = auto() + RTA_DPORT = auto() + RTA_NH_ID = auto() + + +class NlMsgType(Enum): + NLMSG_NOOP = 1 + NLMSG_ERROR = 2 + NLMSG_DONE = 3 + NLMSG_OVERRUN = 4 + + +class NlRtMsgType(Enum): + RTM_NEWLINK = 16 + RTM_DELLINK = 17 + RTM_GETLINK = 18 + RTM_SETLINK = 19 + RTM_NEWADDR = 20 + RTM_DELADDR = 21 + RTM_GETADDR = 22 + RTM_NEWROUTE = 24 + RTM_DELROUTE = 25 + RTM_GETROUTE = 26 + RTM_NEWNEIGH = 28 + RTM_DELNEIGH = 27 + RTM_GETNEIGH = 28 + RTM_NEWRULE = 32 + RTM_DELRULE = 33 + RTM_GETRULE = 34 + RTM_NEWQDISC = 36 + RTM_DELQDISC = 37 + RTM_GETQDISC = 38 + RTM_NEWTCLASS = 40 + RTM_DELTCLASS = 41 + RTM_GETTCLASS = 42 + RTM_NEWTFILTER = 44 + RTM_DELTFILTER = 45 + RTM_GETTFILTER = 46 + RTM_NEWACTION = 48 + RTM_DELACTION = 49 + RTM_GETACTION = 50 + RTM_NEWPREFIX = 52 + RTM_GETMULTICAST = 58 + RTM_GETANYCAST = 62 + RTM_NEWNEIGHTBL = 64 + RTM_GETNEIGHTBL = 66 + RTM_SETNEIGHTBL = 67 + RTM_NEWNDUSEROPT = 68 + RTM_NEWADDRLABEL = 72 + RTM_DELADDRLABEL = 73 + RTM_GETADDRLABEL = 74 + RTM_GETDCB = 78 + RTM_SETDCB = 79 + RTM_NEWNETCONF = 80 + RTM_GETNETCONF = 82 + RTM_NEWMDB = 84 + RTM_DELMDB = 85 + RTM_GETMDB = 86 + RTM_NEWNSID = 88 + RTM_DELNSID = 89 + RTM_GETNSID = 90 + RTM_NEWSTATS = 92 + RTM_GETSTATS = 94 + + +class RtAttr(Structure): + _fields_ = [ + ("rta_len", c_ushort), + ("rta_type", c_ushort), + ] + + +class RtMsgHdr(Structure): + _fields_ = [ + ("rtm_family", c_ubyte), + ("rtm_dst_len", c_ubyte), + ("rtm_src_len", c_ubyte), + ("rtm_tos", c_ubyte), + ("rtm_table", c_ubyte), + ("rtm_protocol", c_ubyte), + ("rtm_scope", c_ubyte), + ("rtm_type", c_ubyte), + ("rtm_flags", c_uint), + ] + + +class RtMsgFlags(Enum): + RTM_F_NOTIFY = 0x100 + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_PREFIX = 0x800 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_OFFLOAD = 0x4000 + RTM_F_TRAP = 0x8000 + RTM_F_OFFLOAD_FAILED = 0x20000000 + + +class AddressFamilyLinux(Enum): + AF_INET = socket.AF_INET + AF_INET6 = socket.AF_INET6 + AF_NETLINK = 16 + + +class AddressFamilyBsd(Enum): + AF_INET = socket.AF_INET + AF_INET6 = socket.AF_INET6 + AF_NETLINK = 38 + + +class NlmBaseFlags(Enum): + NLM_F_REQUEST = 0x01 + NLM_F_MULTI = 0x02 + NLM_F_ACK = 0x04 + NLM_F_ECHO = 0x08 + NLM_F_DUMP_INTR = 0x10 + NLM_F_DUMP_FILTERED = 0x20 + + +# XXX: in python3.8 it is possible to +# class NlmGetFlags(Enum, NlmBaseFlags): + + +class NlmGetFlags(Enum): + NLM_F_ROOT = 0x100 + NLM_F_MATCH = 0x200 + NLM_F_ATOMIC = 0x400 + + +class NlmNewFlags(Enum): + NLM_F_REPLACE = 0x100 + NLM_F_EXCL = 0x200 + NLM_F_CREATE = 0x400 + NLM_F_APPEND = 0x800 + + +class NlmDeleteFlags(Enum): + NLM_F_NONREC = 0x100 + + +class NlmAckFlags(Enum): + NLM_F_CAPPED = 0x100 + NLM_F_ACK_TLVS = 0x200 + + +class RtScope(Enum): + RT_SCOPE_UNIVERSE = 0 + RT_SCOPE_SITE = 200 + RT_SCOPE_LINK = 253 + RT_SCOPE_HOST = 254 + RT_SCOPE_NOWHERE = 255 + + +class RtType(Enum): + RTN_UNSPEC = 0 + RTN_UNICAST = auto() + RTN_LOCAL = auto() + RTN_BROADCAST = auto() + RTN_ANYCAST = auto() + RTN_MULTICAST = auto() + RTN_BLACKHOLE = auto() + RTN_UNREACHABLE = auto() + RTN_PROHIBIT = auto() + RTN_THROW = auto() + RTN_NAT = auto() + RTN_XRESOLVE = auto() + + +class RtProto(Enum): + RTPROT_UNSPEC = 0 + RTPROT_REDIRECT = 1 + RTPROT_KERNEL = 2 + RTPROT_BOOT = 3 + RTPROT_STATIC = 4 + RTPROT_GATED = 8 + RTPROT_RA = 9 + RTPROT_MRT = 10 + RTPROT_ZEBRA = 11 + RTPROT_BIRD = 12 + RTPROT_DNROUTED = 13 + RTPROT_XORP = 14 + RTPROT_NTK = 15 + RTPROT_DHCP = 16 + RTPROT_MROUTED = 17 + RTPROT_KEEPALIVED = 18 + RTPROT_BABEL = 42 + RTPROT_OPENR = 99 + RTPROT_BGP = 186 + RTPROT_ISIS = 187 + RTPROT_OSPF = 188 + RTPROT_RIP = 189 + RTPROT_EIGRP = 192 + + +class NlRtaxType(Enum): + RTAX_UNSPEC = 0 + RTAX_LOCK = auto() + RTAX_MTU = auto() + RTAX_WINDOW = auto() + RTAX_RTT = auto() + RTAX_RTTVAR = auto() + RTAX_SSTHRESH = auto() + RTAX_CWND = auto() + RTAX_ADVMSS = auto() + RTAX_REORDERING = auto() + RTAX_HOPLIMIT = auto() + RTAX_INITCWND = auto() + RTAX_FEATURES = auto() + RTAX_RTO_MIN = auto() + RTAX_INITRWND = auto() + RTAX_QUICKACK = auto() + RTAX_CC_ALGO = auto() + RTAX_FASTOPEN_NO_COOKIE = auto() + + +class NlRtGroup(Enum): + RTNLGRP_NONE = 0 + RTNLGRP_LINK = auto() + RTNLGRP_NOTIFY = auto() + RTNLGRP_NEIGH = auto() + RTNLGRP_TC = auto() + RTNLGRP_IPV4_IFADDR = auto() + RTNLGRP_IPV4_MROUTE = auto() + RTNLGRP_IPV4_ROUTE = auto() + RTNLGRP_IPV4_RULE = auto() + RTNLGRP_IPV6_IFADDR = auto() + RTNLGRP_IPV6_MROUTE = auto() + RTNLGRP_IPV6_ROUTE = auto() + RTNLGRP_IPV6_IFINFO = auto() + RTNLGRP_DECnet_IFADDR = auto() + RTNLGRP_NOP2 = auto() + RTNLGRP_DECnet_ROUTE = auto() + RTNLGRP_DECnet_RULE = auto() + RTNLGRP_NOP4 = auto() + RTNLGRP_IPV6_PREFIX = auto() + RTNLGRP_IPV6_RULE = auto() + RTNLGRP_ND_USEROPT = auto() *** 1470 LINES SKIPPED *** From nobody Mon Jan 23 22:12:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148R4GJjz2t0bq; Mon, 23 Jan 2023 22: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 4P148R2ZfMz3LTB; Mon, 23 Jan 2023 22:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZeCYFRDlVeYB7US5YOiC7PRKsGFNtFmZqYJVPvLlLxc=; b=A23rAg+/GQ6OOof2Y8O7ud1gS4o4T3IFeUyxv04XcX3YXpUr5pYLYdAWugJX2d2XM6h/mh L3KudD39Yjbmv0vXHymFo2NGl0lXkRyRTMZHNMkVfV2t4rl837gpTZ1rFot87XWbHZG/TQ T5vz0gJV0tbwaKthIQE4c27TuKhVfnYwlLRrGp+u6DgsM/bO/I4IycTtR/g2nkeRkazr21 BvMjX/OOexsts17tgRx6wJtqyTEYhLYl92t/pFvgU7cnhn++pzmydChVQgJSnK6LYflDUN UtBhbRZTbv1EPTIZPbn3YREhqtpGTArHAuOwPt3b2Q+Xu4g5/37igEKcCkqAGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZeCYFRDlVeYB7US5YOiC7PRKsGFNtFmZqYJVPvLlLxc=; b=hrcbntOULKQQfdn9I5w9jE7759hN77Z63n/VQxpIP9sreW7gGj7b6lnKp/i9Zq+TOIqX1y qx2T+taPH7Dsjv8RUFbplV9Bp+HzBVr8mq6eablXhFo3d5i3qEePWqKKRDsMGrckWryvQx FxOlAd2LM37AT4dp9jfkTqaRj/OKDEl7w9+Ow36U5YfKikNW4UoTBRnF6KKyWUWKJsL4qz BM2rQ/tQ8/mAXKPtfZb7CeYuYmeo4anmcDXkSv9kU+6FdxVjfvw8YkRkjVTB+WTgN1+2WN uUcmh/JkysO/zoPKTLugddZZVFIht8ijSGxdHavUhxt4SPGrTtBAVfOndLrbIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511927; a=rsa-sha256; cv=none; b=Bl5IFxNKMybFWhyvtUlLyIU3am0JTeHXQWx9s/uB7fVpTijtxaoq9j+BpFr3LplJ5tWgwr 69yx5TtTZr02vLfjs8AdhSKUjNTXeKqvfsU/C0ZiI5wodYfpgYhMwmdEz37l6zWEj6X2yp /+ju6ydNk3VmDSpj/5DhKUm3/v1FXnrH55N8OOTNOtBxzcAqkkPua0cHw4fjOv0nN+m6vh AQTvwZOKOMKPXD+9oIUjxduh4SALfHxHPT6YIjMNveRU9QtkpbI/x+gzgOqXJV9PFWD5QN v35REZsIMAu6CKwuGsikK8rESEH0zSmxFjEKinUQirXVrzxfGXP52n5iYy64+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 4P148R1dYczlrC; Mon, 23 Jan 2023 22:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC7Fi013944; Mon, 23 Jan 2023 22:12:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC7Px013939; Mon, 23 Jan 2023 22:12:07 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:07 GMT Message-Id: <202301232212.30NMC7Px013939@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: e121eaf737dd - stable/13 - netlink: Use NET_EPOCH_[CALL|WAIT] macros List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e121eaf737dd8131ca4a674a397cbd6af6321585 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=e121eaf737dd8131ca4a674a397cbd6af6321585 commit e121eaf737dd8131ca4a674a397cbd6af6321585 Author: Zhenlei Huang AuthorDate: 2022-12-21 01:40:05 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: Use NET_EPOCH_[CALL|WAIT] macros Reviewed by: melifaro, kp Approved by: kp (mentor) Differential Revision: https://reviews.freebsd.org/D37730 (cherry picked from commit ab591c874b68512170750a7a54e41fd508249814) --- sys/netlink/netlink_domain.c | 2 +- sys/netlink/netlink_generic.c | 2 +- sys/netlink/netlink_route.c | 2 +- sys/netlink/route/nexthop.c | 5 ++--- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index b0ff84401c84..f35cc7f09991 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -486,7 +486,7 @@ nl_pru_detach(struct socket *so) NL_LOG(LOG_DEBUG3, "socket %p, detached", so); /* XXX: is delayed free needed? */ - epoch_call(net_epoch_preempt, destroy_nlpcb_epoch, &nlp->nl_epoch_ctx); + NET_EPOCH_CALL(destroy_nlpcb_epoch, &nlp->nl_epoch_ctx); } static int diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 267024dfee4b..028ea24fc5e9 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -513,6 +513,6 @@ genl_unload(void *u __unused) { genl_nlctrl_destroy(); GENL_LOCK_DESTROY(); - epoch_wait_preempt(net_epoch_preempt); + NET_EPOCH_WAIT(); } SYSUNINIT(genl_unload, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, genl_unload, NULL); diff --git a/sys/netlink/netlink_route.c b/sys/netlink/netlink_route.c index 0622656715c4..42b0bc66666e 100644 --- a/sys/netlink/netlink_route.c +++ b/sys/netlink/netlink_route.c @@ -134,6 +134,6 @@ rtnl_unload(void *u __unused) rtnl_neighs_destroy(); /* Wait till all consumers read nlbridge data */ - epoch_wait_preempt(net_epoch_preempt); + NET_EPOCH_WAIT(); } SYSUNINIT(rtnl_unload, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, rtnl_unload, NULL); diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index cd184a635eb4..e9f008842644 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -553,8 +553,7 @@ delete_unhop(struct unhop_ctl *ctl, struct nlmsghdr *hdr, uint32_t uidx) while (unhop_base != NULL) { unhop_chain = unhop_base->un_nextchild; - epoch_call(net_epoch_preempt, destroy_unhop_epoch, - &unhop_base->un_epoch_ctx); + NET_EPOCH_CALL(destroy_unhop_epoch, &unhop_base->un_epoch_ctx); unhop_base = unhop_chain; } @@ -632,7 +631,7 @@ vnet_destroy_unhops(const void *unused __unused) V_un_ctl = NULL; /* Wait till all unhop users finish their reads */ - epoch_wait_preempt(net_epoch_preempt); + NET_EPOCH_WAIT(); UN_WLOCK(ctl); CHT_SLIST_FOREACH_SAFE(&ctl->un_head, unhop, unhop, tmp) { From nobody Mon Jan 23 22:12:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148S4Mvlz2t0c0; Mon, 23 Jan 2023 22: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 4P148S3B1Rz3Lty; Mon, 23 Jan 2023 22: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=1674511928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bD711XJCOZMvqQocgkAm6wZZRNgdgxrxP0I1oegFiE=; b=gatTtRFD+yHwRpZKztXj1RIauKDIaoLCIABrDF1DSv6Bl+oNM62km8MJE7PW8lFCeMXnIN UOWAJHFio6yzZilbYF06gSSijKj1rEuk+6y4+bk/+WE0QCfSBBjo0PLqrKVdwlXSr2IwCJ orjegyVrkFxrdcZZd+aOsbaxsQEQkzq+UsWU01gWqqXZxOuWx1TAfUSpYLTCF/d/VcfsLM lW4EF0VAb/hIsntFM3lVAS/PmBMS1LLJhARR4ndppThD3Xr5iNpa3ffWPyHA7Ra+okR+OC sf4XxibCPJ2t/pXTUaBkKbZlO0ZGix8JH8fLRfKNlPZDK6/WwrhJyyDedaGhqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bD711XJCOZMvqQocgkAm6wZZRNgdgxrxP0I1oegFiE=; b=wSRsGVI17JvB9JoHvoY/QRaJWwro0uSN0/P5xLc6fGugC+JZtCne2b4qTf3UpoNJp/Yl4E env8ccX6jzS3I6Taenajxhi3n9iYtoHZzE9YXQhp/K9dUsAz/q7fU5pdWkoUl9MqJmXmD8 O5Om3Vm5imdMkxtjFf+DxROQQv9YzQTmyu8xeQByYZHVgBC1LavhIVqlmBKJzJ6IfDGQBW HSuGOZQ50FjH+i3BExEo8p1Qxbn6n7hLo/AZXb80EiW1kpymrpel/D14al/scdAsbepl9i CJ502KWSPUS3tpox6kMaE/2I+Ht/iQygwxKG1VayTkblXR0PMVhp690b9Ue2Ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511928; a=rsa-sha256; cv=none; b=ItcZUXPXp/ipVTu2Bdnpu4bd0SlIWxOGH3nLV7ObSnnpnekcAUEZkNt7UbrtwZ81B5psfL 7sx/fkSV9hjmJqXxt0I85afLXqock6J4J9rBe78OoNR8+L2Rw1Qc5SML12V8X0/GadxTvS lQe4CWOjzT0GEoMzJZ3ISZ90xt3I8Fs6pB7AoLkthX3ILz4eXnW8q8amvbzWtV3KJgeMj9 fc5tvEjSRqwLdnSKGIzySttEK/M9l3teNXRXr3jX8TCerZADVtwh+ozCvS2meDT9zQN5c4 mEenH3Jykb8a85eC0aAn44lASQcrfXNKsWv7X/1liTilhu3HK44iEJfoLrPezw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148S2Gyvzlly; Mon, 23 Jan 2023 22:12:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC8IZ013971; Mon, 23 Jan 2023 22:12:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC8kh013970; Mon, 23 Jan 2023 22:12:08 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:08 GMT Message-Id: <202301232212.30NMC8kh013970@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 65f065ec7131 - stable/13 - netlink: connect netlink tests to the build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 65f065ec7131db4028ed37d951d94d905298bc31 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=65f065ec7131db4028ed37d951d94d905298bc31 commit 65f065ec7131db4028ed37d951d94d905298bc31 Author: Alexander V. Chernikov AuthorDate: 2022-12-16 12:02:17 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:04:03 +0000 netlink: connect netlink tests to the build Reviewed By: ngie Differential Revision: https://reviews.freebsd.org/D37708 (cherry picked from commit 3873bdc2f28f6aab6b426ccb6c85ab2a41483264) --- tests/atf_python/Makefile | 2 +- tests/atf_python/sys/net/tools.py | 7 ------ tests/atf_python/sys/net/vnet.py | 20 ++++++---------- tests/atf_python/utils.py | 46 ++++++++++++++++++++++++++++++++++++ tests/sys/Makefile | 1 + tests/sys/netlink/test_rtnl_iface.py | 2 ++ 6 files changed, 57 insertions(+), 21 deletions(-) diff --git a/tests/atf_python/Makefile b/tests/atf_python/Makefile index 26d419743257..1a2fec387eda 100644 --- a/tests/atf_python/Makefile +++ b/tests/atf_python/Makefile @@ -2,7 +2,7 @@ .PATH: ${.CURDIR} -FILES= __init__.py atf_pytest.py +FILES= __init__.py atf_pytest.py utils.py SUBDIR= sys .include diff --git a/tests/atf_python/sys/net/tools.py b/tests/atf_python/sys/net/tools.py index 23bb5f4b4128..567d9d4b21ac 100644 --- a/tests/atf_python/sys/net/tools.py +++ b/tests/atf_python/sys/net/tools.py @@ -1,13 +1,6 @@ #!/usr/local/bin/python3 import json import os -import socket -import time -from ctypes import cdll -from ctypes import get_errno -from ctypes.util import find_library -from typing import List -from typing import Optional class ToolsHelper(object): diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index 0d9f969b28d9..faae58e95b6f 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -5,17 +5,14 @@ import os import socket import sys import time -from ctypes import cdll -from ctypes import get_errno -from ctypes.util import find_library from multiprocessing import Pipe from multiprocessing import Process from typing import Dict from typing import List from typing import NamedTuple -from typing import Optional from atf_python.sys.net.tools import ToolsHelper +from atf_python.utils import libc, BaseTest def run_cmd(cmd: str, verbose=True) -> str: @@ -145,7 +142,7 @@ class IfaceFactory(object): def __init__(self, test_name: str): self.test_name = test_name - test_id = convert_test_name(test_name) + self.test_id = convert_test_name(test_name) self.file_name = self.INTERFACES_FNAME def _register_iface(self, iface_name: str): @@ -204,13 +201,9 @@ class VnetInstance(object): @staticmethod def attach_jid(jid: int): - _path: Optional[str] = find_library("c") - if _path is None: - raise Exception("libc not found") - path: str = _path - libc = cdll.LoadLibrary(path) - if libc.jail_attach(jid) != 0: - raise Exception("jail_attach() failed: errno {}".format(get_errno())) + error_code = libc.jail_attach(jid) + if error_code != 0: + raise Exception("jail_attach() failed: errno {}".format(error_code)) def attach(self): self.attach_jid(self.jid) @@ -290,7 +283,7 @@ class SingleInterfaceMap(NamedTuple): vnet_aliases: List[str] -class VnetTestTemplate(object): +class VnetTestTemplate(BaseTest): TOPOLOGY = {} def _get_vnet_handler(self, vnet_alias: str): @@ -395,6 +388,7 @@ class VnetTestTemplate(object): # 'test_ip6_output.py::TestIP6Output::test_output6_pktinfo[ipandif] (setup)' test_id = os.environ.get("PYTEST_CURRENT_TEST").split(" ")[0] test_name = test_id.split("::")[-1] + self.check_constraints() topology = self.TOPOLOGY # First, setup kernel objects - interfaces & vnets obj_map = self.setup_topology(topology, test_name) diff --git a/tests/atf_python/utils.py b/tests/atf_python/utils.py new file mode 100644 index 000000000000..12cd56c10149 --- /dev/null +++ b/tests/atf_python/utils.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import os +from ctypes import CDLL +from ctypes import get_errno +from ctypes.util import find_library +from typing import List +from typing import Optional + +import pytest + + +class LibCWrapper(object): + def __init__(self): + path: Optional[str] = find_library("c") + if path is None: + raise RuntimeError("libc not found") + self._libc = CDLL(path, use_errno=True) + + def modfind(self, mod_name: str) -> int: + if self._libc.modfind(bytes(mod_name, encoding="ascii")) == -1: + return get_errno() + return 0 + + def jail_attach(self, jid: int) -> int: + if self._libc.jail_attach(jid) != 0: + return get_errno() + return 0 + + +libc = LibCWrapper() + + +class BaseTest(object): + REQUIRED_MODULES: List[str] = [] + + def _check_modules(self): + for mod_name in self.REQUIRED_MODULES: + error_code = libc.modfind(mod_name) + if error_code != 0: + err_str = os.strerror(error_code) + pytest.skip( + "kernel module '{}' not available: {}".format(mod_name, err_str) + ) + + def check_constraints(self): + self._check_modules() diff --git a/tests/sys/Makefile b/tests/sys/Makefile index 2ba60f41b76c..14d96e053b64 100644 --- a/tests/sys/Makefile +++ b/tests/sys/Makefile @@ -24,6 +24,7 @@ TESTS_SUBDIRS+= ${_netgraph} TESTS_SUBDIRS+= netinet TESTS_SUBDIRS+= netinet6 TESTS_SUBDIRS+= netipsec +TESTS_SUBDIRS+= netlink TESTS_SUBDIRS+= netmap TESTS_SUBDIRS+= netpfil TESTS_SUBDIRS+= opencrypto diff --git a/tests/sys/netlink/test_rtnl_iface.py b/tests/sys/netlink/test_rtnl_iface.py index 38a3075f09c9..3340eaa4d16d 100644 --- a/tests/sys/netlink/test_rtnl_iface.py +++ b/tests/sys/netlink/test_rtnl_iface.py @@ -22,6 +22,8 @@ from atf_python.sys.net.vnet import SingleVnetTestTemplate class TestRtNlIface(SingleVnetTestTemplate): + REQUIRED_MODULES = ["netlink"] + def setup_method(self, method): super().setup_method(method) self.helper = NlHelper() From nobody Mon Jan 23 22:12:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148T3pGtz2t0gL; Mon, 23 Jan 2023 22:12: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 4P148T3dz9z3LlP; Mon, 23 Jan 2023 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=85bmLmdD0ME4I1IAGWirII0qOZUNiz1ctv/ebupK5Zg=; b=BgMvHuXP1anc8uf7Ejd5BqHtpp1rUNBBTsO0G9M78sy19AtWqjj5/DMMqS2aSxIhpPJfOb w4HPz5H9tLEl1437uGm1U3lkA0im2Y1gXZQSYtkK8TNw5Y9F/tw9XrzeRQJO3CR14+AZNU 6YCbsJ+Da8+0HN2u9TMqfvfIYWb3Cy6+4w5PzPchJUWcvrm7R2X2K3Y4gi/Ac/VoOc+qrp dTS4xOnudosBYGzJSfKeYUCoa2jaWUAqItqPIfxueTQXByiWen4JdUWM/FM9OoVRhmIxqp SQhHVrTmi9tHxTE21x4fP30gSieGqQRHLkTrdEIiNKUyxt2Bxn9gZ9ZAqefETg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=85bmLmdD0ME4I1IAGWirII0qOZUNiz1ctv/ebupK5Zg=; b=gL/9jTDyR60aIlYGNkcyi8AxCBknMKsoUI5iULkKiIw76b0vS2kHm1mNnL4EVOW5b6NbCQ U/NADKdhLMkd3hLMRaOcPhO6oJWAm7ajjWxU0VdYRB9+d/pMbMKJUYN9IW/J6S4bR4gGnL TCXpZ2cV1JgAFhoqnUK2US9KQO5rTOjKM5qTtGOQZ66mt5A2RAgRpBhLRreVRe9hNmD4aN BUAoXjP7dvAY1rKai5ChXyc8G4qHP5E9L0NhhFFSrYsOFmAX87hFF1vJMsYKBJh71TeA6/ ZQIH1pIgU3q7G6HWl3A7bW29yiTyblzUdAUbOycS5hmTQxjgMJUd54kyNjXElA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511929; a=rsa-sha256; cv=none; b=Klwj0FeS3btkj7TqCEaCX8lcIos5msPu2kBKh+aPVsT2jD8tMcUyns6YobHjOUeOv+hzqL HDYiaOY2pHwzzS1/kWh+agBhHMJzxqiKJO4L89Mk0D0c6LIcMALfrdkYlysYPzELHdCcfO A/IodGYIt1ZsyJfbGwrWteeO/QnEvfqhUCFeYcuqyhgSDz266+yubTpKZcgolzM6e449S/ EoU3biIDVi0r/JVFFeXft1LDyrk+NCuB8trtqh/PeodKzmyB4BXLgjXTY7sl0z0A1gN4xh r80tpDDsoU4lNCxK0PpiPFEh1/lGFseJy5vM4MxGw2DgqZBHiwjkpX21AufdLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148T2jzkzl8Q; Mon, 23 Jan 2023 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMC9cq013995; Mon, 23 Jan 2023 22:12:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMC9UJ013994; Mon, 23 Jan 2023 22:12:09 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:09 GMT Message-Id: <202301232212.30NMC9UJ013994@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: b309249b7fd8 - stable/13 - netlink: add snl(3) - simple netlink library List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b309249b7fd8f29312be7cf08ccd5693d8409260 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=b309249b7fd8f29312be7cf08ccd5693d8409260 commit b309249b7fd8f29312be7cf08ccd5693d8409260 Author: Alexander V. Chernikov AuthorDate: 2022-12-18 17:34:41 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:00 +0000 netlink: add snl(3) - simple netlink library Reviewed by: bapt, pauamma Differential Revision: https://reviews.freebsd.org/D37736 (cherry picked from commit f2c8381fce9b87695ea448591e4412cbed38aa77) --- share/man/man3/snl.3 | 303 ++++++++++++++++++++++++++++ sys/netlink/netlink_domain.c | 47 +++-- sys/netlink/netlink_snl.h | 435 ++++++++++++++++++++++++++++++++++++++++ sys/netlink/netlink_snl_route.h | 128 ++++++++++++ tests/sys/netlink/Makefile | 5 +- tests/sys/netlink/test_snl.c | 92 +++++++++ 6 files changed, 992 insertions(+), 18 deletions(-) diff --git a/share/man/man3/snl.3 b/share/man/man3/snl.3 new file mode 100644 index 000000000000..9fdeeaf56178 --- /dev/null +++ b/share/man/man3/snl.3 @@ -0,0 +1,303 @@ +.\" +.\" Copyright (C) 2022 Alexander Chernikov . +.\" +.\" 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$ +.Dd December 16, 2022 +.Dt SNL 3 +.Os +.Sh NAME +.Nm snl_init , +.Nm snl_free , +.Nm snl_read_message , +.Nm snl_send , +.Nm snl_get_seq , +.Nm snl_allocz , +.Nm snl_clear_lb , +.Nm snl_parse_nlmsg , +.Nm snl_parse_header , +.Nm snl_parse_attrs , +.Nm snl_parse_attrs_raw , +.Nm snl_attr_get_flag , +.Nm snl_attr_get_ip , +.Nm snl_attr_get_uint16 , +.Nm snl_attr_get_uint32 , +.Nm snl_attr_get_string , +.Nm snl_attr_get_stringn , +.Nm snl_attr_get_nla , +.Nm snl_field_get_uint8 , +.Nm snl_field_get_uint16 , +.Nm snl_field_get_uint32 +.Nd "simple netlink library" +.Sh SYNOPSIS +.In netlink/netlink_snl.h +.In netlink/netlink_snl_route.h +.Ft "bool" +.Fn snl_init "struct snl_state *ss" "int netlink_family" +.Fn snl_free "struct snl_state *ss" +.Ft "struct nlmsghdr *" +.Fn snl_read_message "struct snl_state *ss" +.Ft "bool" +.Fn snl_send "struct snl_state *ss" "void *data" "int sz" +.Ft "uint32_t" +.Fn snl_get_seq "struct snl_state *ss" +.Ft "void *" +.Fn snl_allocz "struct snl_state *ss" "int len" +.Fn snl_clear_lb "struct snl_state *ss" +.Ft "bool" +.Fn snl_parse_nlmsg "struct snl_state *ss" "struct nlmsghdr *hdr" "const struct snl_hdr_parser *ps" "void *target" +.Ft "bool" +.Fn snl_parse_header "struct snl_state *ss" "void *hdr" "int len" "const struct snl_hdr_parser *ps" "int pslen" "void *target" +.Ft "bool" +.Fn snl_parse_attrs "struct snl_state *ss" "struct nlmsghdr *hdr" "int hdrlen" "const struct snl_attr_parser *ps" "int pslen" "void *target" +.Ft "bool" +.Fn snl_parse_attrs_raw "struct snl_state *ss" "struct nlattr *nla_head" "int len" "const struct snl_attr_parser *ps" "int pslen" "void *target" +.Ft "bool" +.Fn snl_attr_get_flag "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_uint16 "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_uint32 "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_string "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_stringn "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_nla "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_ip "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Ft "bool" +.Fn snl_attr_get_ipvia "struct snl_state *ss" "struct nlattr *nla" "void *target" +.Sh DESCRIPTION +The +.Xr snl 3 +library provides an easy way of sending and receiving Netlink messages, +taking care of serialisation and deserialisation. +.Ss INITIALISATION +Call +.Fn snl_init +with a pointer to the +.Dv struct snl_state +and the desired Netlink family to initialise the library instance. +To free the library instance, call +.Fn snl_free . +.Pp +The library functions are NOT multithread-safe. +If multithreading is desired, consider initializing an instance +per thread. +.Ss MEMORY ALLOCATION +The library uses pre-allocated extendable memory buffers to handle message parsing. +The typical usage pattern is to allocate the necessary data structures during the +message parsing or writing process via +.Fn snl_allocz +and free all allocated data at once using +.Fn snl_clear_lb +after handling the message. +.Ss COMPOSING AND SENDING MESSAGES +The library does not currently offer any wrappers for writing netlink messages. +Simple request messages can be composed by filling in all needed fields directly. +Example for constructing an interface dump request: +.Bd -literal + struct { + struct nlmsghdr hdr; + struct ifinfomsg ifmsg; + } msg = { + .hdr.nlmsg_type = RTM_GETLINK, + .hdr.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST, + .hdr.nlmsg_seq = snl_get_seq(ss), + }; + msg.hdr.nlmsg_len = sizeof(msg); +.Ed +.Fn snl_get_seq +can be used to generate a unique message number. +To send the resulting message, +.Fn snl_send +can be used. +.Ss RECEIVING AND PARSING MESSAGES +To receive a message, use +.Fn snl_read_message . +Currently, this call is blocking. +.Pp +The library provides an easy way to convert the message to the pre-defined C +structure. +For each message type, one needs to define rules, converting the protocol header +fields and the desired attributes to the specified structure. +It can be accomplished by using message parsers. +Each message parser consists of an array of attribute getters and an array of +header field getters. +The former array needs to be sorted by the attribute type. +There is a +.Fn SNL_VERIFY_PARSERS +macro to check if the order is correct. +.Fn SNL_DECLARE_PARSER "parser_name" "family header type" "struct snl_field_parser[]" "struct snl_attr_parser[]" +can be used to create a new parser. +.Fn SNL_DECLARE_ATTR_PARSER "parser_name" "struct snl_field_parser[]" +can be used to create an attribute-only message parser. +.Pp +Each attribute getter needs to be embedded in the following structure: +.Bd -literal +typedef bool snl_parse_attr_f(struct snl_state *ss, struct nlattr *attr, const void *arg, void *target); +struct snl_attr_parser { + uint16_t type; /* Attribute type */ + uint16_t off; /* field offset in the target structure */ + snl_parse_attr_f *cb; /* getter function to call */ + const void *arg; /* getter function custom argument */ +}; +.Ed +The generic attribute getter has the following signature: +.Ft "bool" +.Fn snl_attr_get_ "struct snl_state *ss" "struct nlattr *nla" "const void *arg" "void *target" . +nla contains the pointer of the attribute to use as the datasource. +The target field is the pointer to the field in the target structure. +It is up to the getter to know the type of the target field. +The getter must check the input attribute and return +false if the attribute is not formed correctly. +Otherwise, the getter fetches the attribute value and stores it in the target, +then returns true. +It is possible to use +.Fn snl_allocz +to create the desired data structure . +A number of predefined getters for the common data types exist. +.Fn snl_attr_get_flag +converts a flag-type attribute to an uint8_t value of 1 or 0, depending on the +attribute presence. +.Fn snl_attr_get_uint16 +stores a uint16_t type attribute into the uint16_t target field. +.Fn snl_attr_get_uint32 +stores a uint32_t type attribute into the uint32_t target field. +.Fn snl_attr_get_ip +and +.Fn snl_attr_get_ipvia +stores a pointer to the sockaddr structure with the IPv4/IPv6 address contained +in the attribute. +Sockaddr is allocated using +.Fn snl_allocz . +.Fn snl_attr_get_string +stores a pointer to the NULL-terminated string. +The string itself is allocated using +.Fn snl_allocz . +.Fn snl_attr_get_nla +stores a pointer to the specified attribute. +.Fn snl_attr_get_stringn +stores a pointer to the non-NULL-terminated string. +.Pp +Similarly, each family header getter needs to be embedded in the following structure: +.Bd -literal +typedef void snl_parse_field_f(struct snl_state *ss, void *hdr, void *target); +struct snl_field_parser { + uint16_t off_in; /* field offset in the input structure */ + uint16_t off_out;/* field offset in the target structure */ + snl_parse_field_f *cb; /* getter function to call */ +}; +.Ed +The generic field getter has the following signature: +.Ft "void" +snl_field_get_ "struct snl_state *ss" "void *src" "void *target" . +A number of pre-defined getters for the common data types exist. +.Fn "snl_field_get_uint8" +fetches an uint8_t value and stores it in the target. +.Fn "snl_field_get_uint16" +fetches an uint8_t value and stores it in the target. +.Fn "snl_field_get_uint32" +fetches an uint32_t value and stores it in the target. +.Sh EXAMPLES +The following example demonstrates how to list all system interfaces +using netlink. +.Bd -literal +#include + +#include +#include +#include "netlink/netlink_snl.h" +#include "netlink/netlink_snl_route.h" + +struct nl_parsed_link { + uint32_t ifi_index; + uint32_t ifla_mtu; + char *ifla_ifname; +}; + +#define _IN(_field) offsetof(struct ifinfomsg, _field) +#define _OUT(_field) offsetof(struct nl_parsed_link, _field) +static const struct snl_attr_parser ap_link[] = { + { .type = IFLA_IFNAME, .off = _OUT(ifla_ifname), .cb = snl_attr_get_string }, + { .type = IFLA_MTU, .off = _OUT(ifla_mtu), .cb = snl_attr_get_uint32 }, +}; +static const struct snl_field_parser fp_link[] = { + {.off_in = _IN(ifi_index), .off_out = _OUT(ifi_index), .cb = snl_field_get_uint32 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(link_parser, struct ifinfomsg, fp_link, ap_link); + + +int +main(int ac, char *argv[]) +{ + struct snl_state ss; + + if (!snl_init(&ss, NETLINK_ROUTE)) + return (1); + + struct { + struct nlmsghdr hdr; + struct ifinfomsg ifmsg; + } msg = { + .hdr.nlmsg_type = RTM_GETLINK, + .hdr.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST, + .hdr.nlmsg_seq = snl_get_seq(&ss), + }; + msg.hdr.nlmsg_len = sizeof(msg); + + if (!snl_send(&ss, &msg, sizeof(msg))) { + snl_free(&ss); + return (1); + } + + struct nlmsghdr *hdr; + while ((hdr = snl_read_message(&ss)) != NULL && hdr->nlmsg_type != NLMSG_DONE) { + if (hdr->nlmsg_seq != msg.hdr.nlmsg_seq) + break; + + struct nl_parsed_link link = {}; + if (!snl_parse_nlmsg(&ss, hdr, &link_parser, &link)) + continue; + printf("Link#%u %s mtu %u\n", link.ifi_index, link.ifla_ifname, link.ifla_mtu); + } + + return (0); +} +.Ed +.Sh SEE ALSO +.Xr genetlink 4 , +.Xr netlink 4 , +and +.Xr rtnetlink 4 +.Sh HISTORY +The +.Dv SNL +library appeared in +.Fx 14.0 . +.Sh AUTHORS +This library was implemented by +.An Alexander Chernikov Aq Mt melifaro@FreeBSD.org . diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index f35cc7f09991..3b5e897164f8 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -76,7 +76,9 @@ SYSCTL_ULONG(_net_netlink, OID_AUTO, recvspace, CTLFLAG_RW, &nl_recvspace, 0, "Default netlink socket receive space"); extern u_long sb_max_adj; +#if 0 static u_long nl_maxsockbuf = 512 * 1024 * 1024; /* 512M, XXX: init based on physmem */ +#endif uint32_t nlp_get_pid(const struct nlpcb *nlp) @@ -671,6 +673,7 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) return (error); } +#if 0 static int nl_setsbopt(struct socket *so, struct sockopt *sopt) { @@ -697,32 +700,44 @@ nl_setsbopt(struct socket *so, struct sockopt *sopt) return (result ? 0 : ENOBUFS); } +#endif + +struct pr_usrreqs nl_usrreqs = { + .pru_abort = nl_pru_abort, + .pru_attach = nl_pru_attach, + .pru_bind = nl_pru_bind, + .pru_connect = nl_pru_connect, + .pru_detach = nl_pru_detach, + .pru_disconnect = nl_pru_disconnect, + .pru_peeraddr = nl_pru_peeraddr, + .pru_send = nl_pru_send, + //.pru_soreceive = soreceive_dgram, + //.pru_sosend = sosend_dgram, + .pru_shutdown = nl_pru_shutdown, + .pru_sockaddr = nl_pru_sockaddr, + //.pru_sosetlabel = in_pcbsosetlabel, + .pru_close = nl_pru_close, +}; + +static struct domain netlinkdomain; static struct protosw netlinksw = { .pr_type = SOCK_RAW, + .pr_domain = &netlinkdomain, + .pr_protocol = 0, // IPPROTO_UDP .pr_flags = PR_ATOMIC | PR_ADDR | PR_WANTRCVD, .pr_ctloutput = nl_ctloutput, - .pr_setsbopt = nl_setsbopt, - .pr_abort = nl_pru_abort, - .pr_attach = nl_pru_attach, - .pr_bind = nl_pru_bind, - .pr_connect = nl_pru_connect, - .pr_detach = nl_pru_detach, - .pr_disconnect = nl_pru_disconnect, - .pr_peeraddr = nl_pru_peeraddr, - .pr_send = nl_pru_send, - .pr_rcvd = nl_pru_rcvd, - .pr_shutdown = nl_pru_shutdown, - .pr_sockaddr = nl_pru_sockaddr, - .pr_close = nl_pru_close + .pr_usrreqs = &nl_usrreqs, }; static struct domain netlinkdomain = { - .dom_family = PF_NETLINK, + .dom_family = AF_NETLINK, .dom_name = "netlink", +#ifdef DOMF_UNLOADABLE .dom_flags = DOMF_UNLOADABLE, - .dom_nprotosw = 1, - .dom_protosw = { &netlinksw }, +#endif + .dom_protosw = &netlinksw, + .dom_protoswNPROTOSW = (&netlinksw + 1), }; DOMAIN_SET(netlink); diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h new file mode 100644 index 000000000000..4a137b4e5d08 --- /dev/null +++ b/sys/netlink/netlink_snl.h @@ -0,0 +1,435 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _NETLINK_NETLINK_SNL_H_ +#define _NETLINK_NETLINK_SNL_H_ + +/* + * Simple Netlink Library + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define _roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) + +#define NETLINK_ALIGN_SIZE sizeof(uint32_t) +#define NETLINK_ALIGN(_len) _roundup2(_len, NETLINK_ALIGN_SIZE) + +#define NLA_ALIGN_SIZE sizeof(uint32_t) +#define NLA_HDRLEN ((int)sizeof(struct nlattr)) +#define NLA_DATA_LEN(_nla) ((int)((_nla)->nla_len - NLA_HDRLEN)) +#define NLA_DATA(_nla) NL_ITEM_DATA(_nla, NLA_HDRLEN) +#define NLA_DATA_CONST(_nla) NL_ITEM_DATA_CONST(_nla, NLA_HDRLEN) + +#define NLA_TYPE(_nla) ((_nla)->nla_type & 0x3FFF) + +#define NLA_NEXT(_attr) (struct nlattr *)((char *)_attr + NLA_ALIGN(_attr->nla_len)) + +#define _NLA_END(_start, _len) ((char *)(_start) + (_len)) +#define NLA_FOREACH(_attr, _start, _len) \ + for (_attr = (_start); \ + ((char *)_attr < _NLA_END(_start, _len)) && \ + ((char *)NLA_NEXT(_attr) <= _NLA_END(_start, _len)); \ + _attr = NLA_NEXT(_attr)) + +#define NL_ARRAY_LEN(_a) (sizeof(_a) / sizeof((_a)[0])) + +struct linear_buffer { + char *base; /* Base allocated memory pointer */ + uint32_t offset; /* Currently used offset */ + uint32_t size; /* Total buffer size */ +}; + +static inline char * +lb_allocz(struct linear_buffer *lb, int len) +{ + len = roundup2(len, sizeof(uint64_t)); + if (lb->offset + len > lb->size) + return (NULL); + void *data = (void *)(lb->base + lb->offset); + lb->offset += len; + return (data); +} + +static inline void +lb_clear(struct linear_buffer *lb) +{ + memset(lb->base, 0, lb->offset); + lb->offset = 0; +} + +struct snl_state { + int fd; + char *buf; + size_t off; + size_t bufsize; + size_t datalen; + uint32_t seq; + bool init_done; + struct linear_buffer lb; +}; +#define SCRATCH_BUFFER_SIZE 1024 + +typedef void snl_parse_field_f(struct snl_state *ss, void *hdr, void *target); +struct snl_field_parser { + uint16_t off_in; + uint16_t off_out; + snl_parse_field_f *cb; +}; + +typedef bool snl_parse_attr_f(struct snl_state *ss, struct nlattr *attr, + const void *arg, void *target); +struct snl_attr_parser { + uint16_t type; /* Attribute type */ + uint16_t off; /* field offset in the target structure */ + snl_parse_attr_f *cb; /* parser function to call */ + const void *arg; /* Optional argument parser */ +}; + +struct snl_hdr_parser { + int hdr_off; /* aligned header size */ + int fp_size; + int np_size; + const struct snl_field_parser *fp; /* array of header field parsers */ + const struct snl_attr_parser *np; /* array of attribute parsers */ +}; + +#define SNL_DECLARE_PARSER(_name, _t, _fp, _np) \ +static const struct snl_hdr_parser _name = { \ + .hdr_off = sizeof(_t), \ + .fp = &((_fp)[0]), \ + .np = &((_np)[0]), \ + .fp_size = NL_ARRAY_LEN(_fp), \ + .np_size = NL_ARRAY_LEN(_np), \ +} + +#define SNL_DECLARE_ATTR_PARSER(_name, _np) \ +static const struct snl_hdr_parser _name = { \ + .np = &((_np)[0]), \ + .np_size = NL_ARRAY_LEN(_np), \ +} + + +static void +snl_free(struct snl_state *ss) +{ + if (ss->init_done) { + close(ss->fd); + if (ss->buf != NULL) + free(ss->buf); + if (ss->lb.base != NULL) + free(ss->lb.base); + } +} + +static inline bool +snl_init(struct snl_state *ss, int netlink_family) +{ + memset(ss, 0, sizeof(*ss)); + + ss->fd = socket(AF_NETLINK, SOCK_RAW, netlink_family); + if (ss->fd == -1) + return (false); + ss->init_done = true; + + int rcvbuf; + socklen_t optlen = sizeof(rcvbuf); + if (getsockopt(ss->fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, &optlen) == -1) { + snl_free(ss); + return (false); + } + + ss->bufsize = rcvbuf; + ss->buf = malloc(ss->bufsize); + if (ss->buf == NULL) { + snl_free(ss); + return (false); + } + + ss->lb.size = SCRATCH_BUFFER_SIZE; + ss->lb.base = calloc(1, ss->lb.size); + if (ss->lb.base == NULL) { + snl_free(ss); + return (false); + } + + return (true); +} + +static inline void * +snl_allocz(struct snl_state *ss, int len) +{ + return (lb_allocz(&ss->lb, len)); +} + +static inline void +snl_clear_lb(struct snl_state *ss) +{ + lb_clear(&ss->lb); +} + +static inline bool +snl_send(struct snl_state *ss, void *data, int sz) +{ + return (send(ss->fd, data, sz, 0) == sz); +} + +static inline uint32_t +snl_get_seq(struct snl_state *ss) +{ + return (++ss->seq); +} + +static inline struct nlmsghdr * +snl_read_message(struct snl_state *ss) +{ + if (ss->off == ss->datalen) { + struct sockaddr_nl nladdr; + struct iovec iov = { + .iov_base = ss->buf, + .iov_len = ss->bufsize, + }; + struct msghdr msg = { + .msg_name = &nladdr, + .msg_namelen = sizeof(nladdr), + .msg_iov = &iov, + .msg_iovlen = 1, + }; + ss->off = 0; + ss->datalen = 0; + for (;;) { + ssize_t datalen = recvmsg(ss->fd, &msg, 0); + if (datalen > 0) { + ss->datalen = datalen; + break; + } else if (errno != EINTR) + return (NULL); + } + } + struct nlmsghdr *hdr = (struct nlmsghdr *)&ss->buf[ss->off]; + ss->off += NLMSG_ALIGN(hdr->nlmsg_len); + return (hdr); +} + +/* + * Checks that attributes are sorted by attribute type. + */ +static inline void +snl_verify_parsers(const struct snl_hdr_parser **parser, int count) +{ + for (int i = 0; i < count; i++) { + const struct snl_hdr_parser *p = parser[i]; + int attr_type = 0; + for (int j = 0; j < p->np_size; j++) { + assert(p->np[j].type > attr_type); + attr_type = p->np[j].type; + } + } +} +#define SNL_VERIFY_PARSERS(_p) snl_verify_parsers((_p), NL_ARRAY_LEN(_p)) + +static const struct snl_attr_parser * +find_parser(const struct snl_attr_parser *ps, int pslen, int key) +{ + int left_i = 0, right_i = pslen - 1; + + if (key < ps[0].type || key > ps[pslen - 1].type) + return (NULL); + + while (left_i + 1 < right_i) { + int mid_i = (left_i + right_i) / 2; + if (key < ps[mid_i].type) + right_i = mid_i; + else if (key > ps[mid_i].type) + left_i = mid_i + 1; + else + return (&ps[mid_i]); + } + if (ps[left_i].type == key) + return (&ps[left_i]); + else if (ps[right_i].type == key) + return (&ps[right_i]); + return (NULL); +} + +static inline bool +snl_parse_attrs_raw(struct snl_state *ss, struct nlattr *nla_head, int len, + const struct snl_attr_parser *ps, int pslen, void *target) +{ + struct nlattr *nla; + + NLA_FOREACH(nla, nla_head, len) { + if (nla->nla_len < sizeof(struct nlattr)) + return (false); + int nla_type = nla->nla_type & NLA_TYPE_MASK; + const struct snl_attr_parser *s = find_parser(ps, pslen, nla_type); + if (s != NULL) { + void *ptr = (void *)((char *)target + s->off); + if (!s->cb(ss, nla, s->arg, ptr)) + return (false); + } + } + return (true); +} + +static inline bool +snl_parse_attrs(struct snl_state *ss, struct nlmsghdr *hdr, int hdrlen, + const struct snl_attr_parser *ps, int pslen, void *target) +{ + int off = NLMSG_HDRLEN + NETLINK_ALIGN(hdrlen); + int len = hdr->nlmsg_len - off; + struct nlattr *nla_head = (struct nlattr *)((char *)hdr + off); + + return (snl_parse_attrs_raw(ss, nla_head, len, ps, pslen, target)); +} + +static inline bool +snl_parse_header(struct snl_state *ss, void *hdr, int len, + const struct snl_hdr_parser *parser, void *target) +{ + /* Extract fields first (if any) */ + for (int i = 0; i < parser->fp_size; i++) { + const struct snl_field_parser *fp = &parser->fp[i]; + void *src = (char *)hdr + fp->off_in; + void *dst = (char *)target + fp->off_out; + + fp->cb(ss, src, dst); + } + + struct nlattr *nla_head = (struct nlattr *)((char *)hdr + parser->hdr_off); + bool result = snl_parse_attrs_raw(ss, nla_head, len - parser->hdr_off, + parser->np, parser->np_size, target); + + return (result); +} + +static inline bool +snl_parse_nlmsg(struct snl_state *ss, struct nlmsghdr *hdr, + const struct snl_hdr_parser *parser, void *target) +{ + return (snl_parse_header(ss, hdr + 1, hdr->nlmsg_len - sizeof(*hdr), parser, target)); +} + +static inline bool +snl_attr_get_flag(struct snl_state *ss, struct nlattr *nla, void *target) +{ + if (NLA_DATA_LEN(nla) == 0) { + *((uint8_t *)target) = 1; + return (true); + } + return (false); +} + +static inline bool +snl_attr_get_uint16(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + if (NLA_DATA_LEN(nla) == sizeof(uint16_t)) { + *((uint16_t *)target) = *((const uint16_t *)NL_RTA_DATA_CONST(nla)); + return (true); + } + return (false); +} + +static inline bool +snl_attr_get_uint32(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + if (NLA_DATA_LEN(nla) == sizeof(uint32_t)) { + *((uint32_t *)target) = *((const uint32_t *)NL_RTA_DATA_CONST(nla)); + return (true); + } + return (false); +} + +static inline bool +snl_attr_get_string(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + size_t maxlen = NLA_DATA_LEN(nla); + + if (strnlen((char *)NLA_DATA(nla), maxlen) < maxlen) { + *((char **)target) = (char *)NLA_DATA(nla); + return (true); + } + return (false); +} + +static inline bool +snl_attr_get_stringn(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + int maxlen = NLA_DATA_LEN(nla); + + char *buf = snl_allocz(ss, maxlen + 1); + if (buf == NULL) + return (false); + buf[maxlen] = '\0'; + memcpy(buf, NLA_DATA(nla), maxlen); + + *((char **)target) = buf; + return (true); +} + +static inline bool +snl_attr_get_nested(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + const struct snl_hdr_parser *p = (const struct snl_hdr_parser *)arg; + + /* Assumes target points to the beginning of the structure */ + return (snl_parse_header(ss, NLA_DATA(nla), NLA_DATA_LEN(nla), p, target)); +} + +static inline bool +snl_attr_get_nla(struct snl_state *ss, struct nlattr *nla, void *target) +{ + *((struct nlattr **)target) = nla; + return (true); +} + +static inline void +snl_field_get_uint8(struct snl_state *ss, void *src, void *target) +{ + *((uint8_t *)target) = *((uint8_t *)src); +} + +static inline void +snl_field_get_uint16(struct snl_state *ss, void *src, void *target) +{ + *((uint16_t *)target) = *((uint16_t *)src); +} + +static inline void +snl_field_get_uint32(struct snl_state *ss, void *src, void *target) +{ + *((uint32_t *)target) = *((uint32_t *)src); +} + +#endif diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h new file mode 100644 index 000000000000..d281ec051513 --- /dev/null +++ b/sys/netlink/netlink_snl_route.h @@ -0,0 +1,128 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _NETLINK_NETLINK_SNL_ROUTE_H_ +#define _NETLINK_NETLINK_SNL_ROUTE_H_ + +#include + +/* + * Simple Netlink Library - NETLINK_ROUTE helpers + */ + +#define snl_alloc_sockaddr(_ss, _len) ((struct sockaddr *)(snl_allocz(_ss, _len))) + +static inline struct sockaddr * +parse_rta_ip4(struct snl_state *ss, void *rta_data, int *perror) +{ + struct sockaddr_in *sin; + + sin = (struct sockaddr_in *)snl_alloc_sockaddr(ss, sizeof(struct sockaddr_in)); + if (sin == NULL) { + *perror = ENOBUFS; + return (NULL); + } + sin->sin_len = sizeof(struct sockaddr_in); + sin->sin_family = AF_INET; + memcpy(&sin->sin_addr, rta_data, sizeof(struct in_addr)); + return ((struct sockaddr *)sin); +} + +static inline struct sockaddr * +parse_rta_ip6(struct snl_state *ss, void *rta_data, int *perror) +{ + struct sockaddr_in6 *sin6; + + sin6 = (struct sockaddr_in6 *)snl_alloc_sockaddr(ss, sizeof(struct sockaddr_in6)); + if (sin6 == NULL) { + *perror = ENOBUFS; + return (NULL); + } + sin6->sin6_len = sizeof(struct sockaddr_in6); + sin6->sin6_family = AF_INET6; + memcpy(&sin6->sin6_addr, rta_data, sizeof(struct in6_addr)); + return ((struct sockaddr *)sin6); +} + +static inline struct sockaddr * +parse_rta_ip(struct snl_state *ss, struct rtattr *rta, int *perror) +{ + void *rta_data = NL_RTA_DATA(rta); + int rta_len = NL_RTA_DATA_LEN(rta); + + if (rta_len == sizeof(struct in_addr)) { + return (parse_rta_ip4(ss, rta_data, perror)); + } else if (rta_len == sizeof(struct in6_addr)) { + return (parse_rta_ip6(ss, rta_data, perror)); + } else { + *perror = ENOTSUP; + return (NULL); + } + return (NULL); +} + +static inline bool +snl_attr_get_ip(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + int error = 0; + struct sockaddr *sa = parse_rta_ip(ss, (struct rtattr *)nla, &error); + if (error == 0) { + *((struct sockaddr **)target) = sa; + return (true); + } + return (false); +} + +static inline struct sockaddr * +parse_rta_via(struct snl_state *ss, struct rtattr *rta, int *perror) +{ + struct rtvia *via = NL_RTA_DATA(rta); + + switch (via->rtvia_family) { + case AF_INET: + return (parse_rta_ip4(ss, via->rtvia_addr, perror)); + case AF_INET6: + return (parse_rta_ip6(ss, via->rtvia_addr, perror)); + default: + *perror = ENOTSUP; + return (NULL); + } +} + +static inline bool +snl_attr_get_ipvia(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + int error = 0; + + struct sockaddr *sa = parse_rta_via(ss, (struct rtattr *)nla, &error); + if (error == 0) { + *((struct sockaddr **)target) = sa; + return (true); *** 120 LINES SKIPPED *** From nobody Mon Jan 23 22:12:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148V4qR5z2t0gN; Mon, 23 Jan 2023 22:12: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 4P148V4MkPz3M7J; Mon, 23 Jan 2023 22:12:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=92dSY5c/VV3IJgUcavNhDhjSVShwHzgzEP48QDrtt4Q=; b=AYFGsjmHaa+Z0BDIdWZYcfqMn/k84+vcrKHayCzC7ZBOz3DmLpiFd3sl00Szd/npQP0ydP cgCW3R5IKSvKSdk+1tDkK1nKNsOU7r3UWOw4N2rV0vJ7MVe3wLRWJuHxZiy+B4k7Oopm/W ZckQxa2f3tW7xl+c1Dgsevd14jPRrP+R69rEWXAYEChAlceaK4frnXYuZazuh0111UM9Ne dCJ+nWLMXeeWUjoajJ3ayzM4bYMNp81XxnVbRBrnJw9FShOqUxev8D87k6/Jip/GxULwQu RE2J+6IpNfLQX/slZiYqcdO6QFpi3fDlwuPsXUwC8W6EqfHo31yqF0v1ws3G3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=92dSY5c/VV3IJgUcavNhDhjSVShwHzgzEP48QDrtt4Q=; b=eQxTWcqvgxK3AbRn+mEtbCDhP+xwnZxKd6CcUYFPQaRf6ma6tVcv+LZGRKMn7FJDVNZZ6c OBSHS9HT3vsX5WGB9TcAdtjIi+JC5KVcIX2stuon7EsnnEvEjw4rB3NBwYesWYjmWra0P2 aX00iwlMM13Iti5Jh8WaiL8UscGanO5xi5YD5aN83jrw8bUONGAOSiPUPDGYLc8OO0xa26 pp7rgwA77xSsd0URvdAfHHqWFtrd6fQeFrevcal2nKnCBLKv6vGlZO+uQiHURdr8Z8xAD5 25cApR+fjTtl5bzv7sJeeNUkMqvs2lLqq3G/xoE0D3qSbMz+/6+hJ40hcXPU6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511930; a=rsa-sha256; cv=none; b=itlp3u+jYclWpQZhxPBSORrCsyvNIV2JHpxibLfVdEUij2m18gfEXjt1Y05daVfowddh8l eCIjaCHfHKBQdKHlHqsaAGQJvtXvact3PJcTOHe990aNnBsPYvDykym9xi3i3kVpDVEEpi tW7kFt9KrO7k3+HLtX9Fk82ps5TbWsAiCgUch0ngTBC2e3V3ISgk1OrlH2vshTs0ZbR68i ZdqlVdoqvWx8VLMm7+nUogDErEwsmrD+pOUXf6ICXIPgpmqn/52yfcHZeDUsVXIVu/XIlH F7fZ8naF21m2Fbvpn8j1LmTlf0CYZLbZje+D/3Te0zculliFifuLCw46TswRYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148V3SJ4zlrG; Mon, 23 Jan 2023 22:12:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCARo014020; Mon, 23 Jan 2023 22:12:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCAvZ014019; Mon, 23 Jan 2023 22:12:10 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:10 GMT Message-Id: <202301232212.30NMCAvZ014019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: e46b64f4ebd4 - stable/13 - netlink: fix netlink_snl_route.h header includes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e46b64f4ebd49149a8c0388f2aa8102334ab8244 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=e46b64f4ebd49149a8c0388f2aa8102334ab8244 commit e46b64f4ebd49149a8c0388f2aa8102334ab8244 Author: Alexander V. Chernikov AuthorDate: 2022-12-23 15:24:21 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 netlink: fix netlink_snl_route.h header includes (cherry picked from commit f6f4ba0b05ab090f2bcc8865a63dfc378a8d8421) --- sys/netlink/netlink_snl_route.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h index d281ec051513..4de732bf739a 100644 --- a/sys/netlink/netlink_snl_route.h +++ b/sys/netlink/netlink_snl_route.h @@ -27,6 +27,7 @@ #ifndef _NETLINK_NETLINK_SNL_ROUTE_H_ #define _NETLINK_NETLINK_SNL_ROUTE_H_ +#include #include /* From nobody Mon Jan 23 22:12:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148W6Rj2z2t0Tj; Mon, 23 Jan 2023 22:12: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 4P148W55mSz3M1B; Mon, 23 Jan 2023 22:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JUNDaq9e9s2uSYPtgFh2/jYmqDMXkRz/zkhTZ6w7I84=; b=KsGnccByQ3Kcs533GF8YoRqiTVy+Bm6sI3aaW6sRBdZvNBrBqEl4XC/27kHbfUSSqcQpZZ wMZL3RaPCg5h7p6j+1EslZ0FNvGK6rtJn2W+UyPvaRI48vFNDBLNvt8jjdVDhfpP3NzrK+ M7p5q8r+r84Keb+B5391tBBH+p1x+PNHMATOoNKbgZB8kn5aVP8eeLqvArXQ+e/Vz7t2Lu 5bHqreTX6HGMz+te5j9sN6Dg47QvU0Gpkp+kQ1N3U57sjl3iJzo69oboCIleVLMa7bO90n WKTnXy+RCfyf05m+6AqOqymMwiEvX71rSku5UhIT878XEgJuF2F19SuPKdXjEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JUNDaq9e9s2uSYPtgFh2/jYmqDMXkRz/zkhTZ6w7I84=; b=Acb2lZTPfhhyciVvru0va5axKQbAFjZ5NMz1ZbkFhRuXQaUgi4XokiTHrq75e8aOfzZbHu +bPT49AX4EunA/OtxpEnUHQplXbOmiJ7H2bfg7GZ7ZO64oeq87Lbf4QIslhi+pbb57nPb6 T7Qirloj6NPi/ztCgLLU90r1SPiwQOQ7h7LeFGFIsOgClmGf+afhT3B9EcZN4mREFnUyvV LX1duXxv0n/CRa5vT+4rHMo8/KJ2yKt4zpGwvAU3SBYvn9l6/lNSwXlfDY6c5BMVMQCMVL RvqSLJN781+mkyUtKxqD73gAGLzg6pMfCc4wZcSRHPiSoYaJ8AAABDQJhQ8Bnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511931; a=rsa-sha256; cv=none; b=X7yjjBaESQ2FezxOBGQCB0Va4X8YiUdfbcL6btKNK6hIUMvuUUT6eRfpEbou859O6DoqYy 05Y+N8bhUXmSUNS4F4pA0aqkW6UHdjf6iOST4mWoylZZ9OVs6WoCzfEimlbUakF+5VvKia iWV4MyTV7i4Km7uEoBaTSeiUP72RWUICHMcOT1bPD0dTfztgmyfEfp69nxpO/xHCbub9i0 /N9QSpCh7mUWOjxeB8FvUPsYHH3LEkIQvdMK+OOecNr4Uaq4Na3V8bhZEAxa8GfYaFPTjG QtuiQVcLIDsHf1ENFvWnB1bsrjVxGrN25wI+OcaeZUz/WvCsPnQUpQfrg1ReGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148W4CMwzltn; Mon, 23 Jan 2023 22:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCB12014116; Mon, 23 Jan 2023 22:12:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCB3F014103; Mon, 23 Jan 2023 22:12:11 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:11 GMT Message-Id: <202301232212.30NMCB3F014103@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6e4e97103113 - stable/13 - netlink: make snl(3) headers self-contained. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6e4e97103113a1c95795c1454882ec36dde07dd3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6e4e97103113a1c95795c1454882ec36dde07dd3 commit 6e4e97103113a1c95795c1454882ec36dde07dd3 Author: Alexander V. Chernikov AuthorDate: 2022-12-23 15:52:33 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 netlink: make snl(3) headers self-contained. (cherry picked from commit 3e3875413128ff01f43b7ae8e0ca8db8d8d5efca) --- sys/netlink/netlink_snl.h | 4 ++++ sys/netlink/netlink_snl_route.h | 1 + 2 files changed, 5 insertions(+) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 4a137b4e5d08..1fafa37c6dcc 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -40,6 +40,10 @@ #include #include +#include +#include +#include + #define _roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h index 4de732bf739a..34dfb00a09cd 100644 --- a/sys/netlink/netlink_snl_route.h +++ b/sys/netlink/netlink_snl_route.h @@ -28,6 +28,7 @@ #define _NETLINK_NETLINK_SNL_ROUTE_H_ #include +#include #include /* From nobody Mon Jan 23 22:12:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148Y0J5fz2t0Zg; Mon, 23 Jan 2023 22:12: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 4P148X5tTJz3M7j; Mon, 23 Jan 2023 22:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3WYE9fkWK1vVMJdsOUZcwOmVQiVWTQSCcskvDKZD7Y0=; b=IaGn0sDioObD0DhCKrbUW7gjwDHS2PlAZ++dyIxi7mO5ixqDVsMEVhGR7K3f5cPkaK7nE+ PbS1ToRAlxt+zvZEwRu+KKoec5gXdT/gQZXfjnzteCOPo4l0SlGocS5f28gn4Z8v6V0NF7 zBNDKRmZOaRyKLXYoMBg620M/rsTuCYTL1bP5uvhOxtbsfOXNloF1719KjaTnq60jOYa+L qNCal1D2kDteiHN/GYs042RrCNi7LZ9lVkjR21ZsDACxokl+k0aKa1wzJjbmy6NlCd80Fa wsJ6pWq1qmdIOlXiq50MYUHqCQ9nHitB92fbL7H9+dofkD5unQR4y4gK4hFwig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3WYE9fkWK1vVMJdsOUZcwOmVQiVWTQSCcskvDKZD7Y0=; b=ZtCo5aAlE7e4QRsNDSnAyYu7J+YdoNATaZG/psdDnk+6kWPmlqInvk4K5NgNucoj74WkNj 3oONj9PvawCDIxW2Sj811IscoqhnIT1x7tIbOzzRJNR+6rWrVNxHucdZMen3gB86xLVGv1 +YwJx2vsmO618I/8MZ7Sh4FdW3ZjDPxfJxP9nU4XslyhwHUKHKCfwcnBRNy6e4MKW6QBkx sUCRyXHCZLSCBrJqnPmzn8f5AK4UjapdVksJF8+k6Gqa8niT/OzGYapo03lT/Jf8ORNdFM 5vjrB++2ragy+3NkzRNUTIWmVwoGjIxdlg91Q35CVTI7swUsJMykwMuI8DMAzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511932; a=rsa-sha256; cv=none; b=eUMb9S9Dj1eSp1uFQMd6skPkt2N3w9lV3l5/2JsdwhLGG7L4wNr7o6G4TXMqsOSXKKdz7k xw3kuQwI1lv/xSu0MPm5Ygpk2mbvYsr/sMbonmRena/IfXImS3dux1w/tQZZVKpKvpi9J7 9jj7ydT78BSxQ9xYZPjpeio4uSIsFngwAaAPaQexQlZNwM8leFle6M9HByBWmrEFJLTIMb +slRAP9Y+Yb+PEAaXsMHSPwSGF1x0V8N3J7muBCj0J4RFOcUXfnUX2NZDdBIpM2dk6PNiY kw741cgFWZIo7Ro5jDYAYWjCone4o3HrYPRhLl09cUIbTjTMIgz3uUJo5vIyDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148X4j0zzlnn; Mon, 23 Jan 2023 22:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCCnh015646; Mon, 23 Jan 2023 22:12:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCC9F015633; Mon, 23 Jan 2023 22:12:12 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:12 GMT Message-Id: <202301232212.30NMCC9F015633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: f8175ea00f84 - stable/13 - netlink: fix test-includes broken by f2c8381fce9b List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f8175ea00f8441c14115efc013e9d45115dc0e7a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=f8175ea00f8441c14115efc013e9d45115dc0e7a commit f8175ea00f8441c14115efc013e9d45115dc0e7a Author: Alexander V. Chernikov AuthorDate: 2022-12-23 17:57:09 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 netlink: fix test-includes broken by f2c8381fce9b Reported by: many (cherry picked from commit c89209c674f2c867a2a3a4cccd4760311399d7e4) --- sys/netlink/netlink_snl.h | 34 +++++++++++++++++++--------------- sys/netlink/netlink_snl_route.h | 12 ++++++------ 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 1fafa37c6dcc..6e2c4b89a7c4 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -58,7 +58,7 @@ #define NLA_TYPE(_nla) ((_nla)->nla_type & 0x3FFF) -#define NLA_NEXT(_attr) (struct nlattr *)((char *)_attr + NLA_ALIGN(_attr->nla_len)) +#define NLA_NEXT(_attr) (struct nlattr *)(void *)((char *)_attr + NLA_ALIGN(_attr->nla_len)) #define _NLA_END(_start, _len) ((char *)(_start) + (_len)) #define NLA_FOREACH(_attr, _start, _len) \ @@ -241,7 +241,7 @@ snl_read_message(struct snl_state *ss) return (NULL); } } - struct nlmsghdr *hdr = (struct nlmsghdr *)&ss->buf[ss->off]; + struct nlmsghdr *hdr = (struct nlmsghdr *)(void *)&ss->buf[ss->off]; ss->off += NLMSG_ALIGN(hdr->nlmsg_len); return (hdr); } @@ -313,7 +313,7 @@ snl_parse_attrs(struct snl_state *ss, struct nlmsghdr *hdr, int hdrlen, { int off = NLMSG_HDRLEN + NETLINK_ALIGN(hdrlen); int len = hdr->nlmsg_len - off; - struct nlattr *nla_head = (struct nlattr *)((char *)hdr + off); + struct nlattr *nla_head = (struct nlattr *)(void *)((char *)hdr + off); return (snl_parse_attrs_raw(ss, nla_head, len, ps, pslen, target)); } @@ -331,7 +331,7 @@ snl_parse_header(struct snl_state *ss, void *hdr, int len, fp->cb(ss, src, dst); } - struct nlattr *nla_head = (struct nlattr *)((char *)hdr + parser->hdr_off); + struct nlattr *nla_head = (struct nlattr *)(void *)((char *)hdr + parser->hdr_off); bool result = snl_parse_attrs_raw(ss, nla_head, len - parser->hdr_off, parser->np, parser->np_size, target); @@ -346,7 +346,7 @@ snl_parse_nlmsg(struct snl_state *ss, struct nlmsghdr *hdr, } static inline bool -snl_attr_get_flag(struct snl_state *ss, struct nlattr *nla, void *target) +snl_attr_get_flag(struct snl_state *ss __unused, struct nlattr *nla, void *target) { if (NLA_DATA_LEN(nla) == 0) { *((uint8_t *)target) = 1; @@ -356,27 +356,30 @@ snl_attr_get_flag(struct snl_state *ss, struct nlattr *nla, void *target) } static inline bool -snl_attr_get_uint16(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +snl_attr_get_uint16(struct snl_state *ss __unused, struct nlattr *nla, + const void *arg __unused, void *target) { if (NLA_DATA_LEN(nla) == sizeof(uint16_t)) { - *((uint16_t *)target) = *((const uint16_t *)NL_RTA_DATA_CONST(nla)); + *((uint16_t *)target) = *((const uint16_t *)NLA_DATA_CONST(nla)); return (true); } return (false); } static inline bool -snl_attr_get_uint32(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +snl_attr_get_uint32(struct snl_state *ss __unused, struct nlattr *nla, + const void *arg __unused, void *target) { if (NLA_DATA_LEN(nla) == sizeof(uint32_t)) { - *((uint32_t *)target) = *((const uint32_t *)NL_RTA_DATA_CONST(nla)); + *((uint32_t *)target) = *((const uint32_t *)NLA_DATA_CONST(nla)); return (true); } return (false); } static inline bool -snl_attr_get_string(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +snl_attr_get_string(struct snl_state *ss __unused, struct nlattr *nla, + const void *arg __unused, void *target) { size_t maxlen = NLA_DATA_LEN(nla); @@ -388,7 +391,8 @@ snl_attr_get_string(struct snl_state *ss, struct nlattr *nla, const void *arg, v } static inline bool -snl_attr_get_stringn(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +snl_attr_get_stringn(struct snl_state *ss, struct nlattr *nla, + const void *arg __unused, void *target) { int maxlen = NLA_DATA_LEN(nla); @@ -412,26 +416,26 @@ snl_attr_get_nested(struct snl_state *ss, struct nlattr *nla, const void *arg, v } static inline bool -snl_attr_get_nla(struct snl_state *ss, struct nlattr *nla, void *target) +snl_attr_get_nla(struct snl_state *ss __unused, struct nlattr *nla, void *target) { *((struct nlattr **)target) = nla; return (true); } static inline void -snl_field_get_uint8(struct snl_state *ss, void *src, void *target) +snl_field_get_uint8(struct snl_state *ss __unused, void *src, void *target) { *((uint8_t *)target) = *((uint8_t *)src); } static inline void -snl_field_get_uint16(struct snl_state *ss, void *src, void *target) +snl_field_get_uint16(struct snl_state *ss __unused, void *src, void *target) { *((uint16_t *)target) = *((uint16_t *)src); } static inline void -snl_field_get_uint32(struct snl_state *ss, void *src, void *target) +snl_field_get_uint32(struct snl_state *ss __unused, void *src, void *target) { *((uint32_t *)target) = *((uint32_t *)src); } diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h index 34dfb00a09cd..4adb3d697ecd 100644 --- a/sys/netlink/netlink_snl_route.h +++ b/sys/netlink/netlink_snl_route.h @@ -35,14 +35,12 @@ * Simple Netlink Library - NETLINK_ROUTE helpers */ -#define snl_alloc_sockaddr(_ss, _len) ((struct sockaddr *)(snl_allocz(_ss, _len))) - static inline struct sockaddr * parse_rta_ip4(struct snl_state *ss, void *rta_data, int *perror) { struct sockaddr_in *sin; - sin = (struct sockaddr_in *)snl_alloc_sockaddr(ss, sizeof(struct sockaddr_in)); + sin = (struct sockaddr_in *)snl_allocz(ss, sizeof(struct sockaddr_in)); if (sin == NULL) { *perror = ENOBUFS; return (NULL); @@ -58,7 +56,7 @@ parse_rta_ip6(struct snl_state *ss, void *rta_data, int *perror) { struct sockaddr_in6 *sin6; - sin6 = (struct sockaddr_in6 *)snl_alloc_sockaddr(ss, sizeof(struct sockaddr_in6)); + sin6 = (struct sockaddr_in6 *)snl_allocz(ss, sizeof(struct sockaddr_in6)); if (sin6 == NULL) { *perror = ENOBUFS; return (NULL); @@ -87,7 +85,8 @@ parse_rta_ip(struct snl_state *ss, struct rtattr *rta, int *perror) } static inline bool -snl_attr_get_ip(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +snl_attr_get_ip(struct snl_state *ss, struct nlattr *nla, + const void *arg __unused, void *target) { int error = 0; struct sockaddr *sa = parse_rta_ip(ss, (struct rtattr *)nla, &error); @@ -115,7 +114,8 @@ parse_rta_via(struct snl_state *ss, struct rtattr *rta, int *perror) } static inline bool -snl_attr_get_ipvia(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +snl_attr_get_ipvia(struct snl_state *ss, struct nlattr *nla, + const void *arg __unused, void *target) { int error = 0; From nobody Mon Jan 23 22:12:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148Y6KF6z2t0wd; Mon, 23 Jan 2023 22:12: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 4P148Y67R8z3MGt; Mon, 23 Jan 2023 22:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mAajF9l7eVqxxOFv9+H8pLhyXTYDCJ/2THNR4BfhLkc=; b=wsZqCfLLfp3VpM8wgYlSQXXmmU8uv5fmOixfYZujJlMg+Ki/0lD8Cd17/Lb9oPn1KRUuJC YhiDE3xgJPw37QsKRJEzweXik1rt4HaEr4piLb5KPtBumh9ohBdkxPHLqPkLPGrHmg3L5g gd2miL1fWmmTXKGOkrF8k+OVdS2Saih8XLnIcxx31KqKxrEzVHfMV7s6BYMd8spwAMm1PF NbR3j8eStUgzsfW7JpNmbQbbnXGgow0tBNsqp10GEO2aSj55QGglNT4mYrbg8vX1lt8aKx PbZXPYy12oPQJj1Bu9NQjMcS0HDIaF6gE428aVyfZ26u1feT2eQSI8B5FZiNGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mAajF9l7eVqxxOFv9+H8pLhyXTYDCJ/2THNR4BfhLkc=; b=O4+Hpjr8XTM0RigP6Y5QcFfmNbrndeacWTyepN5UrFoWhewTDCZD8iYpqH1iemM4CZFm+s /LgKox3hsmEiTVaCxGpw9I3PaT7YMzvAaLw2sl5t7E35YE137HOgPuw+RcuHO/+HM19Kt5 wE1Zvrdr9OJOAWFHMj54rHcqljwpaWHHtrhBqlVonF2o82TeDP+3LDaQky+idnG7VaSyLy QWPr/3QCalMdeQ7PcNnx301pGvA7SMVKJaDTeINq1sNLBqy6vIDrDRFuwp9aRXlzihi/Lm CaqQURV+FATEHqebO0A/URaAJNVur4/mKn6faiNsWvdaAiR4b9qLF1ecZBG4Bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511933; a=rsa-sha256; cv=none; b=kqGZP/T2dqP22o7SNkQ5g9NyKXfFWSN7jJxnxAbBaSwICUbUaQSdLYQsMUQ21tBkV7eFAQ sz9wm9OIn01Zau2uzRXrdcliXgzf2VZPRCCrH/HLUkKmeBsFtbA53J0eawdHksh8sXtwv1 KcMtJejlMidS0g8QZUN0gkW2Me4zHUrVuwzYT3EVpthcBv+Q2ccdLJdOGQfsu6SACAIHK3 7X7YzSmkuA13KmwTGnvP8uXb6bSCvALdFezSxOAMV5GxNS31WBRA+mKJrApATQNAnl6OtF lwGN/B4HRPShnis0XKgc3TiJxkZfoDGgKPBlBfEEzxjdzsCJDf3BDPn5P8Jxlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148Y59PDzm2T; Mon, 23 Jan 2023 22:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCDuU016888; Mon, 23 Jan 2023 22:12:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCDvn016878; Mon, 23 Jan 2023 22:12:13 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:13 GMT Message-Id: <202301232212.30NMCDvn016878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 2419f06beb88 - stable/13 - testing: improve python vnet wrapper. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2419f06beb88c5e0b27f269ff23676d04bbb4da9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=2419f06beb88c5e0b27f269ff23676d04bbb4da9 commit 2419f06beb88c5e0b27f269ff23676d04bbb4da9 Author: Alexander V. Chernikov AuthorDate: 2022-12-29 19:07:34 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 testing: improve python vnet wrapper. * Derive jail name from class name and method name, instead of just method name. This change reduces the chances of different tests clashing. Old: 'jail_test_one'. New: 'pytest:TestExampleSimplest:test_one' * Simplify vnetX_handler() method signature by skipping obj_map (unused) and pipe. The latter can be accessed as the vnet property. * Add `send_object()` method as a pair to the `wait_object` inside the VnetTestTemplate class. * Add `test_id` property to the BaseTest method. Previously it was provided only for the VnetTestTemplate class. This change makes the identifier easily accessible for all users. MFC after: 2 weeks (cherry picked from commit f63825ff21a3bee2630ea8b0ed27a4583cc4242b) --- tests/atf_python/sys/net/vnet.py | 92 +++++++++++++++++++++-------------- tests/atf_python/utils.py | 12 ++++- tests/sys/netinet6/test_ip6_output.py | 30 ++++++------ 3 files changed, 82 insertions(+), 52 deletions(-) diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index faae58e95b6f..aca1b53d388c 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -12,7 +12,8 @@ from typing import List from typing import NamedTuple from atf_python.sys.net.tools import ToolsHelper -from atf_python.utils import libc, BaseTest +from atf_python.utils import BaseTest +from atf_python.utils import libc def run_cmd(cmd: str, verbose=True) -> str: @@ -20,11 +21,20 @@ def run_cmd(cmd: str, verbose=True) -> str: return os.popen(cmd).read() +def get_topology_id(test_id: str) -> str: + """ + Gets a unique topology id based on the pytest test_id. + "test_ip6_output.py::TestIP6Output::test_output6_pktinfo[ipandif]" -> + "TestIP6Output:test_output6_pktinfo[ipandif]" + """ + return ":".join(test_id.split("::")[-2:]) + + def convert_test_name(test_name: str) -> str: """Convert test name to a string that can be used in the file/jail names""" ret = "" for char in test_name: - if char.isalnum() or char in ("_", "-"): + if char.isalnum() or char in ("_", "-", ":"): ret += char elif char in ("["): ret += "_" @@ -140,9 +150,7 @@ class VnetInterface(object): class IfaceFactory(object): INTERFACES_FNAME = "created_ifaces.lst" - def __init__(self, test_name: str): - self.test_name = test_name - self.test_id = convert_test_name(test_name) + def __init__(self): self.file_name = self.INTERFACES_FNAME def _register_iface(self, iface_name: str): @@ -213,9 +221,8 @@ class VnetInstance(object): class VnetFactory(object): JAILS_FNAME = "created_jails.lst" - def __init__(self, test_name: str): - self.test_name = test_name - self.test_id = convert_test_name(test_name) + def __init__(self, topology_id: str): + self.topology_id = topology_id self.file_name = self.JAILS_FNAME self._vnets: List[str] = [] @@ -240,7 +247,7 @@ class VnetFactory(object): return not_matched def create_vnet(self, vnet_alias: str, ifaces: List[VnetInterface]): - vnet_name = "jail_{}".format(self.test_id) + vnet_name = "pytest:{}".format(convert_test_name(self.topology_id)) if self._vnets: # add number to distinguish jails vnet_name = "{}_{}".format(vnet_name, len(self._vnets) + 1) @@ -248,10 +255,13 @@ class VnetFactory(object): cmd = "/usr/sbin/jail -i -c name={} persist vnet {}".format( vnet_name, iface_cmds ) - jid_str = run_cmd(cmd) - jid = int(jid_str) - if jid <= 0: - raise Exception("Jail creation failed, output: {}".format(jid)) + jid = 0 + try: + jid_str = run_cmd(cmd) + jid = int(jid_str) + except ValueError as e: + print("Jail creation failed, output: {}".format(jid_str)) + raise self._register_vnet(vnet_name) # Run expedited version of routing @@ -268,11 +278,11 @@ class VnetFactory(object): try: with open(self.file_name) as f: for line in f: - jail_name = line.strip() + vnet_name = line.strip() ToolsHelper.print_output( - "/usr/sbin/jexec {} ifconfig -l".format(jail_name) + "/usr/sbin/jexec {} ifconfig -l".format(vnet_name) ) - run_cmd("/usr/sbin/jail -r {}".format(line.strip())) + run_cmd("/usr/sbin/jail -r {}".format(vnet_name)) os.unlink(self.JAILS_FNAME) except OSError: pass @@ -283,6 +293,12 @@ class SingleInterfaceMap(NamedTuple): vnet_aliases: List[str] +class ObjectsMap(NamedTuple): + iface_map: Dict[str, SingleInterfaceMap] # keyed by ifX + vnet_map: Dict[str, VnetInstance] # keyed by vnetX + topo_map: Dict # self.TOPOLOGY + + class VnetTestTemplate(BaseTest): TOPOLOGY = {} @@ -297,8 +313,10 @@ class VnetTestTemplate(BaseTest): """ vnet.attach() print("# setup_vnet({})".format(vnet.name)) + if pipe is not None: + vnet.set_pipe(pipe) - topo = obj_map["topo_map"] + topo = obj_map.topo_map ipv6_ifaces = [] # Disable DAD if not vnet.need_dad: @@ -306,7 +324,7 @@ class VnetTestTemplate(BaseTest): for iface in vnet.ifaces: # check index of vnet within an interface # as we have prefixes for both ends of the interface - iface_map = obj_map["iface_map"][iface.alias] + iface_map = obj_map.iface_map[iface.alias] idx = iface_map.vnet_aliases.index(vnet.alias) prefixes6 = topo[iface.alias].get("prefixes6", []) prefixes4 = topo[iface.alias].get("prefixes4", []) @@ -327,14 +345,14 @@ class VnetTestTemplate(BaseTest): # Do unbuffered stdout for children # so the logs are present if the child hangs sys.stdout.reconfigure(line_buffering=True) - handler(vnet, obj_map, pipe) + handler(vnet) - def setup_topology(self, topo: Dict, test_name: str): + def setup_topology(self, topo: Dict, topology_id: str): """Creates jails & interfaces for the provided topology""" iface_map: Dict[str, SingleInterfaceMap] = {} vnet_map = {} - iface_factory = IfaceFactory(test_name) - vnet_factory = VnetFactory(test_name) + iface_factory = IfaceFactory() + vnet_factory = VnetFactory(topology_id) for obj_name, obj_data in topo.items(): if obj_name.startswith("if"): epair_ifaces = iface_factory.create_iface(obj_name, "epair") @@ -381,19 +399,18 @@ class VnetTestTemplate(BaseTest): ) ) print() - return {"iface_map": iface_map, "vnet_map": vnet_map, "topo_map": topo} + return ObjectsMap(iface_map, vnet_map, topo) - def setup_method(self, method): + def setup_method(self, _method): """Sets up all the required topology and handlers for the given test""" - # 'test_ip6_output.py::TestIP6Output::test_output6_pktinfo[ipandif] (setup)' - test_id = os.environ.get("PYTEST_CURRENT_TEST").split(" ")[0] - test_name = test_id.split("::")[-1] - self.check_constraints() + super().setup_method(_method) + # TestIP6Output.test_output6_pktinfo[ipandif] + topology_id = get_topology_id(self.test_id) topology = self.TOPOLOGY # First, setup kernel objects - interfaces & vnets - obj_map = self.setup_topology(topology, test_name) + obj_map = self.setup_topology(topology, topology_id) main_vnet = None # one without subprocess handler - for vnet_alias, vnet in obj_map["vnet_map"].items(): + for vnet_alias, vnet in obj_map.vnet_map.items(): if self._get_vnet_handler(vnet_alias): # Need subprocess to run parent_pipe, child_pipe = Pipe() @@ -417,23 +434,26 @@ class VnetTestTemplate(BaseTest): self.vnet = main_vnet self._setup_vnet(main_vnet, obj_map, None) # Save state for the main handler - self.iface_map = obj_map["iface_map"] - self.vnet_map = obj_map["vnet_map"] + self.iface_map = obj_map.iface_map + self.vnet_map = obj_map.vnet_map def cleanup(self, test_id: str): # pytest test id: file::class::test_name - test_name = test_id.split("::")[-1] + topology_id = get_topology_id(self.test_id) print("==== vnet cleanup ===") - print("# test_name: '{}'".format(test_name)) - VnetFactory(test_name).cleanup() - IfaceFactory(test_name).cleanup() + print("# topology_id: '{}'".format(topology_id)) + VnetFactory(topology_id).cleanup() + IfaceFactory().cleanup() def wait_object(self, pipe, timeout=5): if pipe.poll(timeout): return pipe.recv() raise TimeoutError + def send_object(self, pipe, obj): + pipe.send(obj) + @property def curvnet(self): pass diff --git a/tests/atf_python/utils.py b/tests/atf_python/utils.py index 12cd56c10149..17824262b1fd 100644 --- a/tests/atf_python/utils.py +++ b/tests/atf_python/utils.py @@ -42,5 +42,15 @@ class BaseTest(object): "kernel module '{}' not available: {}".format(mod_name, err_str) ) - def check_constraints(self): + @property + def test_id(self): + # 'test_ip6_output.py::TestIP6Output::test_output6_pktinfo[ipandif] (setup)' + return os.environ.get("PYTEST_CURRENT_TEST").split(" ")[0] + + def setup_method(self, method): + """Run all pre-requisits for the test execution""" self._check_modules() + + def cleanup(self, test_id: str): + """Cleanup all test resources here""" + pass diff --git a/tests/sys/netinet6/test_ip6_output.py b/tests/sys/netinet6/test_ip6_output.py index 112423698cdf..1166c4c1bb88 100644 --- a/tests/sys/netinet6/test_ip6_output.py +++ b/tests/sys/netinet6/test_ip6_output.py @@ -73,24 +73,24 @@ class BaseTestIP6Ouput(VnetTestTemplate): } DEFAULT_PORT = 45365 - def _vnet2_handler(self, vnet, obj_map, pipe, ip: str, os_ifname: str = None): + def _vnet2_handler(self, vnet, ip: str, os_ifname: str = None): """Generic listener that sends first received packet with metadata back to the sender via pipw """ ll_data = ToolsHelper.get_linklocals() # Start listener ss = VerboseSocketServer(ip, self.DEFAULT_PORT, os_ifname) - pipe.send(ll_data) + vnet.pipe.send(ll_data) tx_obj = ss.recv() tx_obj["dst_iface_alias"] = vnet.iface_map[tx_obj["dst_iface"]].alias - pipe.send(tx_obj) + vnet.pipe.send(tx_obj) class TestIP6Output(BaseTestIP6Ouput): - def vnet2_handler(self, vnet, obj_map, pipe): + def vnet2_handler(self, vnet): ip = str(vnet.iface_alias_map["if2"].first_ipv6.ip) - self._vnet2_handler(vnet, obj_map, pipe, ip, None) + self._vnet2_handler(vnet, ip, None) @pytest.mark.require_user("root") def test_output6_base(self): @@ -221,14 +221,14 @@ class TestIP6Output(BaseTestIP6Ouput): class TestIP6OutputLL(BaseTestIP6Ouput): - def vnet2_handler(self, vnet, obj_map, pipe): + def vnet2_handler(self, vnet): """Generic listener that sends first received packet with metadata back to the sender via pipw """ os_ifname = vnet.iface_alias_map["if2"].name ll_data = ToolsHelper.get_linklocals() ll_ip, _ = ll_data[os_ifname][0] - self._vnet2_handler(vnet, obj_map, pipe, ll_ip, os_ifname) + self._vnet2_handler(vnet, ll_ip, os_ifname) @pytest.mark.require_user("root") def test_output6_linklocal(self): @@ -258,12 +258,12 @@ class TestIP6OutputLL(BaseTestIP6Ouput): class TestIP6OutputNhopLL(BaseTestIP6Ouput): - def vnet2_handler(self, vnet, obj_map, pipe): + def vnet2_handler(self, vnet): """Generic listener that sends first received packet with metadata back to the sender via pipw """ ip = str(vnet.iface_alias_map["if2"].first_ipv6.ip) - self._vnet2_handler(vnet, obj_map, pipe, ip, None) + self._vnet2_handler(vnet, ip, None) @pytest.mark.require_user("root") def test_output6_nhop_linklocal(self): @@ -296,11 +296,11 @@ class TestIP6OutputNhopLL(BaseTestIP6Ouput): class TestIP6OutputScope(BaseTestIP6Ouput): - def vnet2_handler(self, vnet, obj_map, pipe): + def vnet2_handler(self, vnet): """Generic listener that sends first received packet with metadata back to the sender via pipw """ - bind_ip, bind_ifp = self.wait_object(pipe) + bind_ip, bind_ifp = self.wait_object(vnet.pipe) if bind_ip is None: os_ifname = vnet.iface_alias_map[bind_ifp].name ll_data = ToolsHelper.get_linklocals() @@ -308,7 +308,7 @@ class TestIP6OutputScope(BaseTestIP6Ouput): if bind_ifp is not None: bind_ifp = vnet.iface_alias_map[bind_ifp].name print("## BIND {}%{}".format(bind_ip, bind_ifp)) - self._vnet2_handler(vnet, obj_map, pipe, bind_ip, bind_ifp) + self._vnet2_handler(vnet, bind_ip, bind_ifp) @pytest.mark.parametrize( "params", @@ -402,10 +402,10 @@ class TestIP6OutputScope(BaseTestIP6Ouput): class TestIP6OutputMulticast(BaseTestIP6Ouput): - def vnet2_handler(self, vnet, obj_map, pipe): - group = self.wait_object(pipe) + def vnet2_handler(self, vnet): + group = self.wait_object(vnet.pipe) os_ifname = vnet.iface_alias_map["if2"].name - self._vnet2_handler(vnet, obj_map, pipe, group, os_ifname) + self._vnet2_handler(vnet, group, os_ifname) @pytest.mark.parametrize("group_scope", ["ff02", "ff05", "ff08", "ff0e"]) @pytest.mark.require_user("root") From nobody Mon Jan 23 22:12:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148b1WDPz2t109; Mon, 23 Jan 2023 22:12: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 4P148Z6k6Sz3MNG; Mon, 23 Jan 2023 22:12:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3MVQ6fOBeSt5GBbbqf4/xXUCN0f6CnrWm7fZsluv5WA=; b=XnXoMthY9sZBPZbae1u7Algm5ayDEsgJeX66FOSQYVBxYyHwXu92mZMcSv4BOWcMb0zD6p i54Id7kkqeZFeuDJ1bzV/R9u9hFOUn9B+c7tq3dYktE0IGE4IvdV5h/BG5zcVTMSrnFY+O gRLpdI6oaTMhc6w2rCh9P/2sCm+w3irEZJNVU3wcTv2FW7d6nSZBUfJ+o8ws4MsJ3NBA7T SoduHu261Aii3p/GIl+U1o7fhGedMVVaH3tRr/N98mhCYmljjj9gzB3orJZ1eerIs7oVR6 hJI1WF/Vkl861FmwqBF+QsMGfFX3KDtp5zJ2WXd4E8h4+rvyoNfcbHeEE+9iLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3MVQ6fOBeSt5GBbbqf4/xXUCN0f6CnrWm7fZsluv5WA=; b=MdWt85CbhYXVBWBmuTv3FSk3lDPy2J0Tvu9Axd4+UxHqty197Y/r5Oy0hfvUzp3vpH625Q Ni/v+LXHRxDGAtRrrRezmOD/dqukAA9gRslQAQuZSCWTlIXy/Ocnk56NdF1e5G+3qB0G/4 hd9t0HvrRXuxcGQxmOnAtfjyNDCRqpyG1/dVoNuds8zNnGW7uczEp7DX5GMYsl+21kK/tI 0A/P6XAOqFnX4EDzzW1RLyYfz6X1d1LFyy+oakJsHvuNrVld3iuVNsjGGSyMaZtdLhsEzR 2spsZhSThffxh+ZnOqKZzJ6nu5n7B0NYfRWyuMsrUXDC6hZ+lMqQ4L2vhL8YKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511934; a=rsa-sha256; cv=none; b=PF6AJLMOFARSNw83XFzSkUFh7Ab/VFX3KPsxj2Qn0lQDzc3AEC8rPptHZ9d0WgzthGNkSz UMrjL26RbhacLe0LvbO7l8LHSrRzRnd1iSDOrRwCSd65HAOxzEx62CkWjXgeXtAz91IEAl GnwltlY9dV6p7z2q9geVh4TcMroI3MRnDYz2QxVpMOXpUTq5dYB3NiPEuFsU8sYly+hahh MmXYc+U4xpfQE7KJiRx/6i/BjquKeHFo9via161LsIY8pXDZIGHdGKRpEPD4b9HjPhIPZc LvZw/JzoTy72rwxn2JZYomF9OdkGYgWlJGXn6dIC/x6LoOtccNVkTcq3WwxO8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148Z5qTmzm2V; Mon, 23 Jan 2023 22:12:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCEfW017176; Mon, 23 Jan 2023 22:12:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCE0g017175; Mon, 23 Jan 2023 22:12:14 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:14 GMT Message-Id: <202301232212.30NMCE0g017175@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 8db26a13caf4 - stable/13 - testing: allow custom test cleanup handlers in pytest List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8db26a13caf4122a4670b952d0e5d2ad4246f377 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=8db26a13caf4122a4670b952d0e5d2ad4246f377 commit 8db26a13caf4122a4670b952d0e5d2ad4246f377 Author: Alexander V. Chernikov AuthorDate: 2022-12-31 16:22:30 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 testing: allow custom test cleanup handlers in pytest In order to provide more flexibility for the test writers, add per-test-method cleanups in addition to the per-class cleanups. Now the test 'test_one' can perform cleanup by either defining per-class 'cleanup' method (typically used in VNET classes) and per-test method 'cleanup_test_one'. The latter has preference. In order to handle paramatrization, testid is passed as a single argument to both of the methods. MFC after: 2 weeks (cherry picked from commit 89ffac3b01fb3f6749799ac67b7d94056a36778e) --- tests/atf_python/atf_pytest.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/tests/atf_python/atf_pytest.py b/tests/atf_python/atf_pytest.py index f72122fb740e..d530c7b4515c 100644 --- a/tests/atf_python/atf_pytest.py +++ b/tests/atf_python/atf_pytest.py @@ -9,11 +9,21 @@ import pytest import os +def nodeid_to_method_name(nodeid: str) -> str: + """file_name.py::ClassName::method_name[parametrize] -> method_name""" + return nodeid.split("::")[-1].split("[")[0] + + class ATFCleanupItem(pytest.Item): def runtest(self): - """Runs cleanup procedure for the test instead of the test""" + """Runs cleanup procedure for the test instead of the test itself""" instance = self.parent.cls() - instance.cleanup(self.nodeid) + cleanup_name = "cleanup_{}".format(nodeid_to_method_name(self.nodeid)) + if hasattr(instance, cleanup_name): + cleanup = getattr(instance, cleanup_name) + cleanup(self.nodeid) + elif hasattr(instance, "cleanup"): + instance.cleanup(self.nodeid) def setup_method_noop(self, method): """Overrides runtest setup method""" @@ -91,15 +101,20 @@ class ATFHandler(object): obj.parent.cls.setup_method = ATFCleanupItem.setup_method_noop obj.parent.cls.teardown_method = ATFCleanupItem.teardown_method_noop - def get_object_cleanup_class(self, obj): + @staticmethod + def get_test_class(obj): if hasattr(obj, "parent") and obj.parent is not None: - if hasattr(obj.parent, "cls") and obj.parent.cls is not None: - if hasattr(obj.parent.cls, "cleanup"): - return obj.parent.cls - return None + if hasattr(obj.parent, "cls"): + return obj.parent.cls def has_object_cleanup(self, obj): - return self.get_object_cleanup_class(obj) is not None + cls = self.get_test_class(obj) + if cls is not None: + method_name = nodeid_to_method_name(obj.nodeid) + cleanup_name = "cleanup_{}".format(method_name) + if hasattr(cls, "cleanup") or hasattr(cls, cleanup_name): + return True + return False def list_tests(self, tests: List[str]): print('Content-Type: application/X-atf-tp; version="1"') From nobody Mon Jan 23 22:12:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148c0p19z2t14w; Mon, 23 Jan 2023 22:12: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 4P148c0LPyz3MFW; Mon, 23 Jan 2023 22:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/LuNFV/nmRYenN6gFxRtLQu1/l4GKAtBcfveIcBDBE=; b=o78cJleeEBILrQN1RY2OXKKluSNs/fST3M+W2wjxQ89jSyxOsCCiGYIgZOcYXrnG7dEnYq 8Rxe0L03kkLXdytKnSha25wz8wU8GzdVKpbq+6UZIGwcG0rxC9tg3NdbUS+0WceOjjHgLY /wL9ZgjtAnF+x+8fHM2Ea+v69IgMrZNOlKtzv8s7nmTNG9oPy7K3N5mJDMsAsLY1E8iEOX upb5I9JRxvB11Ln9vuG1DM3BuVnXoR0BByOSqjGEHfPSKmCA3yAw+X7STZDJ5wFd5YlHLg nDi1XnHNhC0EnRCSH4km8FGgvwDASqRdkckaK16QtFf41mCrjJnBXQ2DhbbqFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/LuNFV/nmRYenN6gFxRtLQu1/l4GKAtBcfveIcBDBE=; b=k6ysQuoFoHYgLje6hoYdR2eyM5sAW3njlElPu1setN8XT9gpFpoUAY+HJey0PB+LFypaXY uk6Y0RVVPdynkOOfI+6uCZ5fdgBA6L1Q4GWS4dvZcda/8boQ2eIzkessWcooHDW8QcrY8L w0wjugqnpHIEiosWZ59WoTMLWMZCPVj12hCc1jJrdi8fJl3xBT51MODc6n+o6cyNbshrhB uecjoiBTnimuMUcr9om4nvnN6CEXffKVr5hXKi1m190HY0/M7AzF6dy7gcB1zmVzEQl7y+ NV76OBOIjrf4U3zmMkgKJV4V+2UYuvz79UFznmUohvSF1fPaWPaRzg5EJvDJsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511936; a=rsa-sha256; cv=none; b=nIFOhO6YCNEq+8uGKQ1ZCW2RIWWVjVi3zD5V2hK0Tn75asN+iuG+vEZkSJQd/CA7ZJzb5h iVxEmJRp8SMYHxemWM/W4e7x6pyG4SRDw2xrMVgjbn9iUkuy2USj0FWMDfHz72UsVDKsqi tl25JNOO/UWb5/xwYw3DkJmK/eSZZMkokekbMgjMTyR0EtVQVU0JCusCBjzP1M6s37LRL7 zr6FLQlHhh46UiQBmvc75UkOGA11YzIgMf9foGc3almYH6fOmV1mVPsIZiqWA7tzlxQIJb nKTStiOtPBUZo7e4z5WBYDfiUH+RVv4ramOwYinpHdL7DK2/R6KLJ32tVE1Szw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148b6YhvzlC1; Mon, 23 Jan 2023 22:12:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCF6M017202; Mon, 23 Jan 2023 22:12:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCFFO017201; Mon, 23 Jan 2023 22:12:15 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:15 GMT Message-Id: <202301232212.30NMCFFO017201@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: fcb063e2226e - stable/13 - testing: fix tests without cleanup in pytest. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fcb063e2226e83d5fe19e837ad118143461d941f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=fcb063e2226e83d5fe19e837ad118143461d941f commit fcb063e2226e83d5fe19e837ad118143461d941f Author: Alexander V. Chernikov AuthorDate: 2023-01-01 14:11:18 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 testing: fix tests without cleanup in pytest. It was broken by 89ffac3b01fb3f6749799ac67b7d94056a36778e, which added "cleanup" method to the base test class, resulting in reporting cleanup for all of the tests. (cherry picked from commit bb60d265c9825d71cce84a42f66a435f05a6c5f7) --- tests/atf_python/utils.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/atf_python/utils.py b/tests/atf_python/utils.py index 17824262b1fd..fddfadac9a56 100644 --- a/tests/atf_python/utils.py +++ b/tests/atf_python/utils.py @@ -50,7 +50,3 @@ class BaseTest(object): def setup_method(self, method): """Run all pre-requisits for the test execution""" self._check_modules() - - def cleanup(self, test_id: str): - """Cleanup all test resources here""" - pass From nobody Mon Jan 23 22:12:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148d2czjz2t14y; Mon, 23 Jan 2023 22:12: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 4P148d1P9tz3MLW; Mon, 23 Jan 2023 22:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hr4ctser7LBBNSahpZesnlm5sqtrt8bW/92rs4IHNZg=; b=wY6r8NLI8niY7LPk1VaE0zY7KsKLHYf5+SsHAWhK/4vJza7sWlfVcIrKyvH5t+f1i85qux R5kwTeB5Gv5ZSwwOex276o4/2vcMwTL22708pTGW4I+RhK8/4VKvDf/XcnSuulBNaLFZ1c //KjoRj9611HgxFkXRGaXmCl12vBO6hni1CPq10XKr7G8KbQpKJ9uNvT8ijwDfs6/7c3SB jIh4K5LK21fBLnHhLSiPRXsJJiB00Sa64xRwAUakctRQenr9fvTEouc0WFJCM9JGdclzsI TcnwYj/Bjipde8j1e63cw7Z75CqSELtjS9iq55l/L0m2W6VSwGkG4PR5ZWKRlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hr4ctser7LBBNSahpZesnlm5sqtrt8bW/92rs4IHNZg=; b=s4rj3yGJ0f8kMdh0O3av/Jn4VH99HTEJppm/SW0CdNww3Ec6hWJzlLOIRcEE3QrJQggu/Y bl1ZUubF52TtQ1FDCRPvRKFLq+1nXaKzIHHN7CfPN9G9UEuxVdH2+mENwOCsvBi47XG7BF pHhHwIa2MRv23voDsIiHaHcHw58WzN1iCte9ajz6PtM03684JBM+wri/DRfIf6JL+ey23b rlCium/E43Gp1UbuU04fyMwdUy8XpLQUmjEX5uUBTBHR158Uyx8Ii+UJhQCrqcLMlRoucD bo4HQMVMarhIkjz4HA6UYkqnRKf/cR9S6eHJwAHwCHx1AeWI/bSWTH5sGPm6SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511937; a=rsa-sha256; cv=none; b=FcdMDUNcP6T01YuekzpVpCbvg2yifND0q6bqBX7Cd55wh+3T9oJqW01qWSiNfoC+qaKt3T v5YSn4Uo6y92thPTtktZ6K2ICu560bAFe0vEMXb+4oGk/jVxUnG4QtENgo7H7TqCE+NY0R ut7AGudtG1TNbGsdSDoccfBg0bg+RK4Lq/Jaix/sCZJtYgbdFGk24Q2oh7GqxALEG8jA62 BqTuJuOvdHGHOYY6yp3YTYJUMZfwnNzPeM+RLCctZ9kXzmWRW5DEnuqImbgE6nkW+M6spP LW45gk1VqSqEvYrw6OJws2257NYEkPZ6HGoYYU8y+diz7Sn9SyjtzkVmVHXssw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148d088szlrJ; Mon, 23 Jan 2023 22:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCGoS017227; Mon, 23 Jan 2023 22:12:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCGXa017226; Mon, 23 Jan 2023 22:12:16 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:16 GMT Message-Id: <202301232212.30NMCGXa017226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 176e0427b208 - stable/13 - testing: add python test examples List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 176e0427b208a326ef8256c53c79edeea43e13dc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=176e0427b208a326ef8256c53c79edeea43e13dc commit 176e0427b208a326ef8256c53c79edeea43e13dc Author: Alexander V. Chernikov AuthorDate: 2023-01-01 14:35:41 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 testing: add python test examples Simplify the adoption of python tests by proving some examples, utilising commonly-used patterns. Differential Revision: https://reviews.freebsd.org/D37902 Reviewed by: asomers MFC after: 2 weeks (cherry picked from commit 8161b823d77f9d89ffabd47444a83d693f74c515) --- etc/mtree/BSD.tests.dist | 2 + tests/Makefile | 1 + tests/examples/Makefile | 10 ++ tests/examples/test_examples.py | 198 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 211 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 0dabe96110d8..136877db00d6 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -263,6 +263,8 @@ rc.d .. .. + examples + .. games .. gnu diff --git a/tests/Makefile b/tests/Makefile index b406b8dc6c17..47fc9488f772 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -9,6 +9,7 @@ ${PACKAGE}FILES+= README __init__.py conftest.py KYUAFILE= yes SUBDIR+= etc +SUBDIR+= examples SUBDIR+= sys SUBDIR+= atf_python diff --git a/tests/examples/Makefile b/tests/examples/Makefile new file mode 100644 index 000000000000..7a5d84a98dfe --- /dev/null +++ b/tests/examples/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +PACKAGE= tests + +TESTSDIR= ${TESTSBASE}/examples + +ATF_TESTS_PYTEST += test_examples.py + +.include + diff --git a/tests/examples/test_examples.py b/tests/examples/test_examples.py new file mode 100644 index 000000000000..13fdcc420f0e --- /dev/null +++ b/tests/examples/test_examples.py @@ -0,0 +1,198 @@ +import pytest +from atf_python.utils import BaseTest +from atf_python.sys.net.tools import ToolsHelper +from atf_python.sys.net.vnet import SingleVnetTestTemplate +from atf_python.sys.net.vnet import VnetTestTemplate +from atf_python.sys.net.vnet import VnetInstance + +import errno +import socket +import subprocess +import json + +from typing import List + + +# Test classes should be inherited +# from the BaseTest + + +class TestExampleSimplest(BaseTest): + @pytest.mark.skip(reason="comment me to run the test") + def test_one(self): + assert ToolsHelper.get_output("uname -s").strip() == "FreeBSD" + + +class TestExampleSimple(BaseTest): + # List of required kernel modules (kldstat -v) + # that needs to be present for the tests to run + REQUIRED_MODULES = ["null"] + + @pytest.mark.skip(reason="comment me to run the test") + def test_one(self): + """Optional test description + This and the following lines are not propagated + to the ATF test description. + """ + pass + + @pytest.mark.skip(reason="comment me to run the test") + # List of all requirements supported by an atf runner + # See atf-test-case(4) for the detailed description + @pytest.mark.require_user("root") + @pytest.mark.require_arch(["amd64", "i386"]) + @pytest.mark.require_files(["/path/file1", "/path/file2"]) + @pytest.mark.require_machine(["amd64", "i386"]) + @pytest.mark.require_memory("200M") + @pytest.mark.require_progs(["prog1", "prog2"]) + @pytest.mark.timeout(300) + def test_two(self): + pass + + @pytest.mark.skip(reason="comment me to run the test") + @pytest.mark.require_user("unprivileged") + def test_syscall_failure(self): + s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) + with pytest.raises(OSError) as exc_info: + s.bind(("::1", 42)) + assert exc_info.value.errno == errno.EACCES + + @pytest.mark.skip(reason="comment me to run the test") + @pytest.mark.parametrize( + "family_tuple", + [ + pytest.param([socket.AF_INET, None], id="AF_INET"), + pytest.param([socket.AF_INET6, None], id="AF_INET6"), + pytest.param([39, errno.EAFNOSUPPORT], id="FAMILY_39"), + ], + ) + def test_parametrize(self, family_tuple): + family, error = family_tuple + try: + s = socket.socket(family, socket.SOCK_STREAM) + s.close() + except OSError as e: + if error is None or error != e.errno: + raise + + # @pytest.mark.skip(reason="comment me to run the test") + def test_with_cleanup(self): + print("TEST BODY") + + def cleanup_test_with_cleanup(self, test_id): + print("CLEANUP HANDLER") + + +class TestVnetSimple(SingleVnetTestTemplate): + """ + SingleVnetTestTemplate creates a topology with a single + vnet and a single epair between this vnet and the host system. + Additionally, lo0 interface is created inside the vnet. + + Both vnets and interfaces are aliased as vnetX and ifY. + They can be accessed via maps: + vnet: VnetInstance = self.vnet_map["vnet1"] + iface: VnetInterface = vnet.iface_alias_map["if1"] + + All prefixes from IPV4_PREFIXES and IPV6_PREFIXES are + assigned to the single epair interface inside the jail. + + One can rely on the fact that there are no IPv6 prefixes + in the tentative state when the test method is called. + """ + + IPV6_PREFIXES: List[str] = ["2001:db8::1/64"] + IPV4_PREFIXES: List[str] = ["192.0.2.1/24"] + + def setup_method(self, method): + """ + Optional pre-setup for all of the tests inside the class + """ + # Code to run before vnet setup + # + super().setup_method(method) + # + # Code to run after vnet setup + # Executed inside the vnet + + @pytest.mark.skip(reason="comment me to run the test") + @pytest.mark.require_user("root") + def test_ping(self): + assert subprocess.run("ping -c1 192.0.2.1".split()).returncode == 0 + assert subprocess.run("ping -c1 2001:db8::1".split()).returncode == 0 + + @pytest.mark.skip(reason="comment me to run the test") + def test_topology(self): + vnet = self.vnet_map["vnet1"] + iface = vnet.iface_alias_map["if1"] + print("Iface {} inside vnet {}".format(iface.name, vnet.name)) + + +class TestVnetDual1(VnetTestTemplate): + """ + VnetTestTemplate creates topology described in the self.TOPOLOGY + + Each vnet (except vnet1) can have a handler function, named + vnetX_handler. This function will be run in a separate process + inside vnetX jail. The framework automatically creates a pipe + to allow communication between the main test and the vnet handler. + + This topology contains 2 VNETs connected with 2 epairs: + + [ VNET1 ] [ VNET2 ] + if1(epair) 2001:db8:a::1/64 <-> 2001:db8:a::2/64 if1(epair) + if2(epair) 2001:db8:b::1/64 <-> 2001:db8:b::2/64 if2(epair) + lo0 lo0 + + """ + + TOPOLOGY = { + "vnet1": {"ifaces": ["if1", "if2"]}, + "vnet2": {"ifaces": ["if1", "if2"]}, + "if1": {"prefixes6": [("2001:db8:a::1/64", "2001:db8:a::2/64")]}, + "if2": {"prefixes6": [("2001:db8:b::1/64", "2001:db8:b::2/64")]}, + } + + def _get_iface_stat(self, os_ifname: str): + out = ToolsHelper.get_output( + "{} -I {} --libxo json".format(ToolsHelper.NETSTAT_PATH, os_ifname) + ) + js = json.loads(out) + return js["statistics"]["interface"][0] + + def vnet2_handler(self, vnet: VnetInstance): + """ + Test handler that runs in the vnet2 as a separate process. + + This handler receives an interface name, fetches received/sent packets + and returns this data back to the parent process. + """ + while True: + # receives 'ifX' with an infinite timeout + iface_alias = self.wait_object(vnet.pipe, None) + # Translates topology interface name to the actual OS-assigned name + os_ifname = vnet.iface_alias_map[iface_alias].name + self.send_object(vnet.pipe, self._get_iface_stat(os_ifname)) + + @pytest.mark.skip(reason="comment me to run the test") + @pytest.mark.require_user("root") + def test_ifstat(self): + """Checks that RX interface packets are properly accounted for""" + second_vnet = self.vnet_map["vnet2"] + pipe = second_vnet.pipe + + # Ping neighbor IP on if1 and verify that the counter was incremented + self.send_object(pipe, "if1") + old_stat = self.wait_object(pipe) + assert subprocess.run("ping -c5 2001:db8:a::2".split()).returncode == 0 + self.send_object(pipe, "if1") + new_stat = self.wait_object(pipe) + assert new_stat["received-packets"] - old_stat["received-packets"] >= 5 + + # Ping neighbor IP on if2 and verify that the counter was incremented + self.send_object(pipe, "if2") + old_stat = self.wait_object(pipe) + assert subprocess.run("ping -c5 2001:db8:b::2".split()).returncode == 0 + self.send_object(pipe, "if2") + new_stat = self.wait_object(pipe) + assert new_stat["received-packets"] - old_stat["received-packets"] >= 5 From nobody Mon Jan 23 22:12:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148f3Phfz2t12g; Mon, 23 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148f2VQTz3MPZ; Mon, 23 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOf5rmmMunVw+U+gIlUBc6amfCHqaH7o0zz/kBYl4/g=; b=lBgW81h7zsTZ+XSyVVqm9UHJUSi2mQGGiAvVhE2vwBVFjqHgfljRRdysrLZKhmpk30kNZs vVv1WybZryQ7LnjpIeCCvmGxPQUGOxKQlyrgSU+blGLwoquBV3fK804OhfTK6bKL2PKWhf fP6+yAySOyPTxFazD6IhSs0Xbrrjy30v5l963WJ3D6TPYwsuc9y/ee6ZuUIFWP+MxjO0Fc W0n3q1cmxDmu7FFQOyIMO5WLzeXHFpMxUbUOqjFcePKk7oWeu7DG7zgwGs4dZ5q+m2Rdke yS9d6WRG4XHHjUkOSwhsZy3wgUDZJ1WG6sB+VzYWNLWmRP1MtvuK5Ros+MAfWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOf5rmmMunVw+U+gIlUBc6amfCHqaH7o0zz/kBYl4/g=; b=PJ8NMLUswZg8JdOWu5KEgpia6gypWkQ4fxLUa9t3cmthDgRS3R2BfBYLbKvhNZnP0chSfl MfdCQJkBVCW6GPjJWrpzSPWZFflW4t9DhmMPbG1dlNJuS721Ratag17xtY3XAQfLakfpZh XdORZjTtn15E5Avm/+P1lIRJt/kwa6BCtsQ9qzgeKi69kGQnwZvm17Gshg0tj6z0W0nhs/ Cc7ftc78eogxnp5pwaZCuWCCZB8dNLsds6SLmoiQORxVLdXRENL68+JSBlrGTqS/nAEJdb pLymgxC0tk0MZ7rAK4Kc0JHPiCov08j8pWegIhAXF1D+PsNJkCCEKKKbtZOvuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511938; a=rsa-sha256; cv=none; b=Zrbpvpm14fDtNIlDW6LGkxC/ypdmdHSN8ZdgQ+hevVg57iOvi38SHItMOb75/wrDQtZJB9 0WJE5ziJXTt+hLXzhSlRl1so/g3B6dN7+8IT1blKxz0jhtMjR+OjZ/0BNqaT2tB+tRo9C1 jPqxaClleUJMiqKiPbXCroN40sPr6WgsNfZr+8i1163flhMJmjDAi1PERYOwQuBiygHc0Q nBeZrLp+k1GPAtgNoqMhoQr3zD6Bs8nJG9/Ioh+5ooSxB3EhwRVOizxEKBbKUXdp9Dn88E ryRnBgTCs9DIEaXwjzTdfS5XZfwwLbeu6dDq7TPT22LvmoNU7ugTwyzjfG5TUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148f1MZmzlm3; Mon, 23 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCI6P017256; Mon, 23 Jan 2023 22:12:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCIpV017255; Mon, 23 Jan 2023 22:12:18 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:18 GMT Message-Id: <202301232212.30NMCIpV017255@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 17e6123e6c93 - stable/13 - netlink: fix ifaddr reporting. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 17e6123e6c931375fa0cd5b0b8a578d9710008b8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=17e6123e6c931375fa0cd5b0b8a578d9710008b8 commit 17e6123e6c931375fa0cd5b0b8a578d9710008b8 Author: Alexander V. Chernikov AuthorDate: 2023-01-06 19:13:42 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 netlink: fix ifaddr reporting. Output the proper attributes for IPv4/IPvv6 ifaddrs: * IFA_ADDRESS contains local address in every case except p2p, in that case it contains the peer address * IFA_LOCAL contains local address. It is always present in IPv4, or in IPv6/p2p. * IFA_BROADCAST contains the network broadcast address (if any) Reported by: Adam Wood Tested by: Adam Wood (cherry picked from commit 13214c601a49d733bd17d42b927788bb9feea536) --- sys/netlink/route/iface.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index b033ba71009d..81ae5bc8090f 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -794,11 +794,23 @@ dump_iface_addr(struct nl_writer *nw, struct ifnet *ifp, struct ifaddr *ifa, ifamsg->ifa_scope = ifa_get_scope(ifa); ifamsg->ifa_index = ifp->if_index; - struct sockaddr *dst_sa = ifa->ifa_dstaddr; - if ((dst_sa == NULL) || (dst_sa->sa_family != sa->sa_family)) - dst_sa = sa; - dump_sa(nw, IFA_ADDRESS, dst_sa); - dump_sa(nw, IFA_LOCAL, sa); + if (ifp->if_flags & IFF_POINTOPOINT) { + dump_sa(nw, IFA_ADDRESS, ifa->ifa_dstaddr); + dump_sa(nw, IFA_LOCAL, sa); + } else { + dump_sa(nw, IFA_ADDRESS, sa); +#ifdef INET + /* + * In most cases, IFA_ADDRESS == IFA_LOCAL + * Skip IFA_LOCAL for anything except INET + */ + if (sa->sa_family == AF_INET) + dump_sa(nw, IFA_LOCAL, sa); +#endif + } + if (ifp->if_flags & IFF_BROADCAST) + dump_sa(nw, IFA_BROADCAST, ifa->ifa_broadaddr); + nlattr_add_string(nw, IFA_LABEL, if_name(ifp)); uint32_t val = 0; // ifa->ifa_flags; From nobody Mon Jan 23 22:12:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148g589Vz2t12k; Mon, 23 Jan 2023 22:12: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 4P148g2ssfz3MRp; Mon, 23 Jan 2023 22:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JNh2+g+8FyptwtorV7nxbEWkoFbNQ8xAiEvUYESLgs=; b=RQ5UK7K7mL16/LxBp/IAqmtDromvM0NkW754Hki0nyeHHmVkU1rX/atfbjnTHXlwwFnL86 5+7h3xS4HHP1P6TI8IC+TaQrxGqxiP6bpl3YLYLzlJacpbK4VUbonst3fzfb+odtz/xPsB 2X+Waq/thaVWFWNHRKXF1vIrJQ3O9S+/FmlOP8JghK89LkGreZPDFblffSGrkxUAxv+JGq LDXMVzu6vjV5kAPfmIyhlFDBc/F/hIbMdIVaLnxBTWimAYdPvUzjDO2JsK36vfV+Jhwh2k SlGxSWenH8NHBSdqIKl4sHeG/flcTLVEH2hUhBdFcVarWa7c1NjX9Qdgn63mng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JNh2+g+8FyptwtorV7nxbEWkoFbNQ8xAiEvUYESLgs=; b=pAfExHn5DQMx8F7uGFDv5ACmEhT4BtE45XGIxDcb3+grJLLonVITGmbTqxkxcXTai3FEkq lBZXGOcbPRYTD6V6m/OOvb/Z2yONZVItExLsJJya9TGbeE4jLTOu6cvZFsNzfZKvWWm4RX gZ+ZRa5bb8Xl6nSMgoz2XHxOt2QNmAd03yfHunximUIq92LHJc48XEzqFMpyC6GgHaJM1j arUS0vhtpnkTHsZBaYyGu0Q0zV+Zz5c0ciAwhKqdQoreRiRm/tPLLogIhRIwgZUUihCOjv ycmPA64KMCl3+kcWadY/VySWHpqhiVVaqm8FZeFfx2stg1EWzZSVO6LUf/AE2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511939; a=rsa-sha256; cv=none; b=FFfdw4S2c822W7kbpRwenhxewKpuilX8o0CuOikyPsq04Q0nudXeXGt3I530barTs8px4Z hPwDfQlgiN3SmGWni10+DizJFkjiSwpG81biddRzAc8e/zn7IXJwOtvGERcQ5HaMio3b9l Wcdz5aNOVIMeR236TnwitiwOaF4FiNHYrwvs+EWEWyBbkSJT50ApM+bF+U2poP7/v5wFI8 jG3d5wzfzMjIBDn7S1nYdplHiEygX6BFEOK/7T4kmUJy0nTf6UmgGdmmcfQIO1fmOvCOkA QGTdyyukbpRp4PTa9UdncCofSo6UAZj2PqloIUJS6BEVPaAICmUeElWNzIbTBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148g1zLczlC2; Mon, 23 Jan 2023 22:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCJ5Y017281; Mon, 23 Jan 2023 22:12:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCJJG017280; Mon, 23 Jan 2023 22:12:19 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:19 GMT Message-Id: <202301232212.30NMCJJG017280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 74115922268c - stable/13 - netlink: improve RTM_GETADDR handling. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 74115922268c7386ee18a90d08a25c7ccc94c06b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=74115922268c7386ee18a90d08a25c7ccc94c06b commit 74115922268c7386ee18a90d08a25c7ccc94c06b Author: Alexander V. Chernikov AuthorDate: 2023-01-07 16:18:39 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 netlink: improve RTM_GETADDR handling. * Allow filtering by ifa_family & ifa_index. * Add common RTM_ADDR parser * Add tests verifying RTM_GETADDR filtering behaviour & output * Factor out common netlink socket test methods into NetlinkTestTemplate * Add NLMSG_DONE message handler Reviewed By: pauamma Differential Revision: https://reviews.freebsd.org/D37970 (cherry picked from commit c1871a3372e382bfcd46452d1d8d4f06561508cc) --- share/man/man4/rtnetlink.4 | 17 +++- sys/netlink/route/iface.c | 87 +++++++++++++++----- sys/netlink/route/ifaddrs.h | 2 +- tests/atf_python/sys/net/netlink.py | 102 ++++++++++++++++++++---- tests/sys/netlink/test_rtnl_iface.py | 35 +-------- tests/sys/netlink/test_rtnl_ifaddr.py | 144 ++++++++++++++++++++++++++++++++++ 6 files changed, 320 insertions(+), 67 deletions(-) diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index a06807809691..dc40b277d934 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -403,14 +403,27 @@ Not supported .Ss RTM_DELADDR Not supported .Ss RTM_GETADDR +Fetches interface addresses in the current VNET matching conditions. +Each address is reported as a +.Dv RTM_NEWADDR +message. +The following filters are recognised by the kernel: +.Pp +.Bd -literal -offset indent -compact +ifa_family required family or AF_UNSPEC +ifa_index matching interface index or 0 +.Ed .Ss TLVs .Bl -tag -width indent .It Dv IFA_ADDRESS (binary) masked interface address or destination address for p2p interfaces. .It Dv IFA_LOCAL -(binary) local interface address +(binary) local interface address. +Set for IPv4 and p2p addresses. +.It Dv IFA_LABEL +(string) interface name. .It Dv IFA_BROADCAST -(binary) broacast interface address +(binary) broacast interface address. .El .Ss Groups The following groups are defined: diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 81ae5bc8090f..f4936bb2c35b 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -672,6 +672,36 @@ rtnl_handle_newlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n return (modify_link(hdr, &attrs, &bm, nlp, npt)); } +struct nl_parsed_ifa { + uint8_t ifa_family; + uint8_t ifa_prefixlen; + uint8_t ifa_scope; + uint32_t ifa_index; + uint32_t ifa_flags; + struct sockaddr *ifa_address; + struct sockaddr *ifa_local; +}; + +#define _IN(_field) offsetof(struct ifaddrmsg, _field) +#define _OUT(_field) offsetof(struct nl_parsed_ifa, _field) +static const struct nlfield_parser nlf_p_ifa[] = { + { .off_in = _IN(ifa_family), .off_out = _OUT(ifa_family), .cb = nlf_get_u8 }, + { .off_in = _IN(ifa_prefixlen), .off_out = _OUT(ifa_prefixlen), .cb = nlf_get_u8 }, + { .off_in = _IN(ifa_scope), .off_out = _OUT(ifa_scope), .cb = nlf_get_u8 }, + { .off_in = _IN(ifa_flags), .off_out = _OUT(ifa_flags), .cb = nlf_get_u8_u32 }, + { .off_in = _IN(ifa_index), .off_out = _OUT(ifa_index), .cb = nlf_get_u32 }, +}; + +static const struct nlattr_parser nla_p_ifa[] = { + { .type = IFA_ADDRESS, .off = _OUT(ifa_address), .cb = nlattr_get_ip }, + { .type = IFA_LOCAL, .off = _OUT(ifa_local), .cb = nlattr_get_ip }, + { .type = IFA_FLAGS, .off = _OUT(ifa_flags), .cb = nlattr_get_uint32 }, +}; +#undef _IN +#undef _OUT +NL_DECLARE_PARSER(ifaddrmsg_parser, struct ifaddrmsg, nlf_p_ifa, nla_p_ifa); + + /* {ifa_family=AF_INET, ifa_prefixlen=8, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_HOST, ifa_index=if_nametoindex("lo")}, @@ -826,15 +856,39 @@ enomem: } static int -rtnl_handle_getaddr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) +dump_iface_addrs(struct netlink_walkargs *wa, struct ifnet *ifp) { struct ifaddr *ifa; + + CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { + if (wa->family != 0 && wa->family != ifa->ifa_addr->sa_family) + continue; + if (ifa->ifa_addr->sa_family == AF_LINK) + continue; + wa->count++; + if (!dump_iface_addr(wa->nw, ifp, ifa, &wa->hdr)) + return (ENOMEM); + wa->dumped++; + } + + return (0); +} + +static int +rtnl_handle_getaddr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) +{ struct ifnet *ifp; int error = 0; + struct nl_parsed_ifa attrs = {}; + error = nl_parse_nlmsg(hdr, &ifaddrmsg_parser, npt, &attrs); + if (error != 0) + return (error); + struct netlink_walkargs wa = { .so = nlp, .nw = npt->nw, + .family = attrs.ifa_family, .hdr.nlmsg_pid = hdr->nlmsg_pid, .hdr.nlmsg_seq = hdr->nlmsg_seq, .hdr.nlmsg_flags = hdr->nlmsg_flags | NLM_F_MULTI, @@ -843,22 +897,19 @@ rtnl_handle_getaddr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n NL_LOG(LOG_DEBUG2, "Start dump"); - CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { - CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if (wa.family != 0 && wa.family != ifa->ifa_addr->sa_family) - continue; - if (ifa->ifa_addr->sa_family == AF_LINK) - continue; - wa.count++; - if (!dump_iface_addr(wa.nw, ifp, ifa, &wa.hdr)) { - error = ENOMEM; - break; - } - wa.dumped++; - } - if (error != 0) - break; - } + if (attrs.ifa_index != 0) { + ifp = ifnet_byindex(attrs.ifa_index); + if (ifp == NULL) + error = ENOENT; + else + error = dump_iface_addrs(&wa, ifp); + } else { + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { + error = dump_iface_addrs(&wa, ifp); + if (error != 0) + break; + } + } NL_LOG(LOG_DEBUG2, "End dump, iterated %d dumped %d", wa.count, wa.dumped); @@ -991,7 +1042,7 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { }, }; -static const struct nlhdr_parser *all_parsers[] = { &ifmsg_parser }; +static const struct nlhdr_parser *all_parsers[] = { &ifmsg_parser, &ifaddrmsg_parser }; void rtnl_iface_add_cloner(struct nl_cloner *cloner) diff --git a/sys/netlink/route/ifaddrs.h b/sys/netlink/route/ifaddrs.h index e2013cb266d7..7ada8f22bf7b 100644 --- a/sys/netlink/route/ifaddrs.h +++ b/sys/netlink/route/ifaddrs.h @@ -52,7 +52,7 @@ enum { IFA_UNSPEC, IFA_ADDRESS = 1, /* binary, prefix address (destination for p2p) */ IFA_LOCAL = 2, /* binary, interface address */ - IFA_LABEL = 3, /* not supported */ + IFA_LABEL = 3, /* string, interface name */ IFA_BROADCAST = 4, /* binary, broadcast ifa */ IFA_ANYCAST = 5, /* not supported */ IFA_CACHEINFO = 6, /* not supported */ diff --git a/tests/atf_python/sys/net/netlink.py b/tests/atf_python/sys/net/netlink.py index 046519ce0343..57c8582627cf 100644 --- a/tests/atf_python/sys/net/netlink.py +++ b/tests/atf_python/sys/net/netlink.py @@ -49,6 +49,12 @@ class Nlmsghdr(Structure): ] +class Nlmsgdone(Structure): + _fields_ = [ + ("error", c_int), + ] + + class Nlmsgerr(Structure): _fields_ = [ ("error", c_int), @@ -961,6 +967,8 @@ rtnl_route_attrs = [ ), ] +nldone_attrs = [] + nlerr_attrs = [ AttrDescr(NlErrattrType.NLMSGERR_ATTR_MSG, NlAttrStr), AttrDescr(NlErrattrType.NLMSGERR_ATTR_OFFS, NlAttrU32), @@ -989,6 +997,7 @@ rtnl_ifla_attrs = [ rtnl_ifa_attrs = [ AttrDescr(IfattrType.IFA_ADDRESS, NlAttrIp), AttrDescr(IfattrType.IFA_LOCAL, NlAttrIp), + AttrDescr(IfattrType.IFA_LABEL, NlAttrStr), AttrDescr(IfattrType.IFA_BROADCAST, NlAttrIp), AttrDescr(IfattrType.IFA_ANYCAST, NlAttrIp), AttrDescr(IfattrType.IFA_FLAGS, NlAttrU32), @@ -1167,6 +1176,25 @@ class StdNetlinkMessage(BaseNetlinkMessage): nla.print_attr(" ") +class NetlinkDoneMessage(StdNetlinkMessage): + messages = [NlMsgType.NLMSG_DONE.value] + nl_attrs_map = prepare_attrs_map(nldone_attrs) + + @property + def error_code(self): + return self.base_hdr.error + + def parse_base_header(self, data): + if len(data) < sizeof(Nlmsgdone): + raise ValueError("length less than nlmsgdone header") + done_hdr = Nlmsgdone.from_buffer_copy(data) + sz = sizeof(Nlmsgdone) + return (done_hdr, sz) + + def print_base_header(self, hdr, prepend=""): + print("{}error={}".format(prepend, hdr.error)) + + class NetlinkErrorMessage(StdNetlinkMessage): messages = [NlMsgType.NLMSG_ERROR.value] nl_attrs_map = prepare_attrs_map(nlerr_attrs) @@ -1340,6 +1368,7 @@ class Nlsock: NetlinkRtMessage, NetlinkIflaMessage, NetlinkIfaMessage, + NetlinkDoneMessage, NetlinkErrorMessage, ] xmap = {} @@ -1476,20 +1505,63 @@ class Nlsock: self.write_data(msg_bytes) -def main(): - helper = NlHelper() - if False: - nl = Nlsock(NlConst.NETLINK_GENERIC, helper) - nl.request_families() - else: - nl = Nlsock(NlConst.NETLINK_ROUTE, helper) - # nl.request_ifaddrs(socket.AF_INET) - # nl.request_raw() - nl.request_routes(0) - # nl.request_ifaces() - while True: - msg = nl.read_message() +class NetlinkMultipartIterator(object): + def __init__(self, obj, seq_number: int, msg_type): + self._obj = obj + self._seq = seq_number + self._msg_type = msg_type + + def __iter__(self): + return self + + def __next__(self): + msg = self._obj.read_message() + if self._seq != msg.nl_hdr.nlmsg_seq: + raise ValueError("bad sequence number") + if msg.is_type(NlMsgType.NLMSG_ERROR): + raise ValueError( + "error while handling multipart msg: {}".format(msg.error_code) + ) + elif msg.is_type(NlMsgType.NLMSG_DONE): + if msg.error_code == 0: + raise StopIteration + raise ValueError( + "error listing some parts of the multipart msg: {}".format( + msg.error_code + ) + ) + elif not msg.is_type(self._msg_type): + raise ValueError("bad message type: {}".format(msg)) + return msg + + +class NetlinkTestTemplate(object): + REQUIRED_MODULES = ["netlink"] + + def setup_netlink(self, netlink_family: NlConst): + self.helper = NlHelper() + self.nlsock = Nlsock(netlink_family, self.helper) + + def write_message(self, msg): print("") + print("============= >> TX MESSAGE =============") msg.print_message() - msg.print_as_bytes(msg._orig_data, "-- DATA --") - pass + self.nlsock.write_data(bytes(msg)) + msg.print_as_bytes(bytes(msg), "-- DATA --") + + def read_message(self): + msg = self.nlsock.read_message() + print("") + print("============= << RX MESSAGE =============") + msg.print_message() + return msg + + def get_reply(self, tx_msg): + self.write_message(tx_msg) + while True: + rx_msg = self.read_message() + if tx_msg.nl_hdr.nlmsg_seq == rx_msg.nl_hdr.nlmsg_seq: + return rx_msg + + def read_msg_list(self, seq, msg_type): + return list(NetlinkMultipartIterator(self, seq, msg_type)) diff --git a/tests/sys/netlink/test_rtnl_iface.py b/tests/sys/netlink/test_rtnl_iface.py index 3340eaa4d16d..8660051be8e2 100644 --- a/tests/sys/netlink/test_rtnl_iface.py +++ b/tests/sys/netlink/test_rtnl_iface.py @@ -6,49 +6,24 @@ from atf_python.sys.net.netlink import IflattrType from atf_python.sys.net.netlink import IflinkInfo from atf_python.sys.net.netlink import IfLinkInfoDataVlan from atf_python.sys.net.netlink import NetlinkIflaMessage +from atf_python.sys.net.netlink import NetlinkTestTemplate from atf_python.sys.net.netlink import NlAttrNested from atf_python.sys.net.netlink import NlAttrStr from atf_python.sys.net.netlink import NlAttrStrn from atf_python.sys.net.netlink import NlAttrU16 from atf_python.sys.net.netlink import NlAttrU32 from atf_python.sys.net.netlink import NlConst -from atf_python.sys.net.netlink import NlHelper from atf_python.sys.net.netlink import NlmBaseFlags from atf_python.sys.net.netlink import NlmNewFlags from atf_python.sys.net.netlink import NlMsgType from atf_python.sys.net.netlink import NlRtMsgType -from atf_python.sys.net.netlink import Nlsock from atf_python.sys.net.vnet import SingleVnetTestTemplate -class TestRtNlIface(SingleVnetTestTemplate): - REQUIRED_MODULES = ["netlink"] - +class TestRtNlIface(SingleVnetTestTemplate, NetlinkTestTemplate): def setup_method(self, method): super().setup_method(method) - self.helper = NlHelper() - self.nlsock = Nlsock(NlConst.NETLINK_ROUTE, self.helper) - - def write_message(self, msg): - print("") - print("============= >> TX MESSAGE =============") - msg.print_message() - self.nlsock.write_data(bytes(msg)) - msg.print_as_bytes(bytes(msg), "-- DATA --") - - def read_message(self): - msg = self.nlsock.read_message() - print("") - print("============= << RX MESSAGE =============") - msg.print_message() - return msg - - def get_reply(self, tx_msg): - self.write_message(tx_msg) - while True: - rx_msg = self.read_message() - if tx_msg.nl_hdr.nlmsg_seq == rx_msg.nl_hdr.nlmsg_seq: - return rx_msg + self.setup_netlink(NlConst.NETLINK_ROUTE) def get_interface_byname(self, ifname): msg = NetlinkIflaMessage(self.helper, NlRtMsgType.RTM_GETLINK.value) @@ -236,13 +211,11 @@ class TestRtNlIface(SingleVnetTestTemplate): # * # * {len=76, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK|NLM_F_EXCL|NLM_F_CREATE, seq=1662892737, pid=0}, # * {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0}, - # * [ # * {{nla_len=8, nla_type=IFLA_LINK}, 2}, # * {{nla_len=12, nla_type=IFLA_IFNAME}, "xvlan22"}, # * {{nla_len=24, nla_type=IFLA_LINKINFO}, - # * [ # * {{nla_len=8, nla_type=IFLA_INFO_KIND}, "vlan"...}, - # * {{nla_len=12, nla_type=IFLA_INFO_DATA}, "\x06\x00\x01\x00\x16\x00\x00\x00"}]}]}, iov_len=76}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 76 + # * {{nla_len=12, nla_type=IFLA_INFO_DATA}, "\x06\x00\x01\x00\x16\x00\x00\x00"} # */ @pytest.mark.skip(reason="vlan support needs more work") @pytest.mark.require_user("root") diff --git a/tests/sys/netlink/test_rtnl_ifaddr.py b/tests/sys/netlink/test_rtnl_ifaddr.py new file mode 100644 index 000000000000..5574644f7b2f --- /dev/null +++ b/tests/sys/netlink/test_rtnl_ifaddr.py @@ -0,0 +1,144 @@ +import ipaddress +import socket +import struct + +from atf_python.sys.net.netlink import IfattrType +from atf_python.sys.net.netlink import NetlinkIfaMessage +from atf_python.sys.net.netlink import NetlinkTestTemplate +from atf_python.sys.net.netlink import NlConst +from atf_python.sys.net.netlink import NlHelper +from atf_python.sys.net.netlink import NlmBaseFlags +from atf_python.sys.net.netlink import NlMsgType +from atf_python.sys.net.netlink import NlRtMsgType +from atf_python.sys.net.netlink import Nlsock +from atf_python.sys.net.netlink import RtScope +from atf_python.sys.net.vnet import SingleVnetTestTemplate + + +class TestRtNlIfaddr(SingleVnetTestTemplate, NetlinkTestTemplate): + def setup_method(self, method): + method_name = method.__name__ + if "4" in method_name: + self.IPV4_PREFIXES = ["192.0.2.1/24"] + if "6" in method_name: + self.IPV6_PREFIXES = ["2001:db8::1/64"] + super().setup_method(method) + self.setup_netlink(NlConst.NETLINK_ROUTE) + + def test_46_nofilter(self): + """Tests that listing outputs both IPv4/IPv6 and interfaces""" + msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) + msg.nl_hdr.nlmsg_flags = ( + NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value + ) + self.write_message(msg) + + ret = [] + for rx_msg in self.read_msg_list(msg.nl_hdr.nlmsg_seq, NlRtMsgType.RTM_NEWADDR): + ifname = socket.if_indextoname(rx_msg.base_hdr.ifa_index) + family = rx_msg.base_hdr.ifa_family + ret.append((ifname, family, rx_msg)) + + ifname = "lo0" + assert len([r for r in ret if r[0] == ifname]) > 0 + + ifname = self.vnet.iface_alias_map["if1"].name + assert len([r for r in ret if r[0] == ifname and r[1] == socket.AF_INET]) == 1 + assert len([r for r in ret if r[0] == ifname and r[1] == socket.AF_INET6]) == 2 + + def test_46_filter_iface(self): + """Tests that listing outputs both IPv4/IPv6 for the specific interface""" + epair_ifname = self.vnet.iface_alias_map["if1"].name + + msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) + msg.nl_hdr.nlmsg_flags = ( + NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value + ) + msg.base_hdr.ifa_index = socket.if_nametoindex(epair_ifname) + self.write_message(msg) + + ret = [] + for rx_msg in self.read_msg_list(msg.nl_hdr.nlmsg_seq, NlRtMsgType.RTM_NEWADDR): + ifname = socket.if_indextoname(rx_msg.base_hdr.ifa_index) + family = rx_msg.base_hdr.ifa_family + ret.append((ifname, family, rx_msg)) + + ifname = epair_ifname + assert len([r for r in ret if r[0] == ifname and r[1] == socket.AF_INET]) == 1 + assert len([r for r in ret if r[0] == ifname and r[1] == socket.AF_INET6]) == 2 + assert len(ret) == 3 + + def filter_iface_family(self, family, num_items): + """Tests that listing outputs IPv4 for the specific interface""" + epair_ifname = self.vnet.iface_alias_map["if1"].name + + msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) + msg.nl_hdr.nlmsg_flags = ( + NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value + ) + msg.base_hdr.ifa_family = family + msg.base_hdr.ifa_index = socket.if_nametoindex(epair_ifname) + self.write_message(msg) + + ret = [] + for rx_msg in self.read_msg_list(msg.nl_hdr.nlmsg_seq, NlRtMsgType.RTM_NEWADDR): + assert family == rx_msg.base_hdr.ifa_family + assert epair_ifname == socket.if_indextoname(rx_msg.base_hdr.ifa_index) + ret.append(rx_msg) + assert len(ret) == num_items + return ret + + def test_4_broadcast(self): + """Tests header/attr output for listing IPv4 ifas on broadcast iface""" + ret = self.filter_iface_family(socket.AF_INET, 1) + # Should be 192.0.2.1/24 + msg = ret[0] + # Family and ifindex has been checked already + assert msg.base_hdr.ifa_prefixlen == 24 + # Ignore IFA_FLAGS for now + assert msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + + assert msg.get_nla(IfattrType.IFA_ADDRESS).addr == "192.0.2.1" + assert msg.get_nla(IfattrType.IFA_LOCAL).addr == "192.0.2.1" + assert msg.get_nla(IfattrType.IFA_BROADCAST).addr == "192.0.2.255" + + epair_ifname = self.vnet.iface_alias_map["if1"].name + assert msg.get_nla(IfattrType.IFA_LABEL).text == epair_ifname + + def test_6_broadcast(self): + """Tests header/attr output for listing IPv6 ifas on broadcast iface""" + ret = self.filter_iface_family(socket.AF_INET6, 2) + # Should be 192.0.2.1/24 + if ret[0].base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value: + (gmsg, lmsg) = ret + else: + (lmsg, gmsg) = ret + # Start with global ( 2001:db8::1/64 ) + msg = gmsg + # Family and ifindex has been checked already + assert msg.base_hdr.ifa_prefixlen == 64 + # Ignore IFA_FLAGS for now + assert msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + + assert msg.get_nla(IfattrType.IFA_ADDRESS).addr == "2001:db8::1" + assert msg.get_nla(IfattrType.IFA_LOCAL) is None + assert msg.get_nla(IfattrType.IFA_BROADCAST) is None + + epair_ifname = self.vnet.iface_alias_map["if1"].name + assert msg.get_nla(IfattrType.IFA_LABEL).text == epair_ifname + + # Local: fe80::/64 + msg = lmsg + assert msg.base_hdr.ifa_prefixlen == 64 + # Ignore IFA_FLAGS for now + assert msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_LINK.value + + addr = ipaddress.ip_address(msg.get_nla(IfattrType.IFA_ADDRESS).addr) + assert addr.is_link_local + # Verify that ifindex is not emmbedded + assert struct.unpack("!H", addr.packed[2:4])[0] == 0 + assert msg.get_nla(IfattrType.IFA_LOCAL) is None + assert msg.get_nla(IfattrType.IFA_BROADCAST) is None + + epair_ifname = self.vnet.iface_alias_map["if1"].name + assert msg.get_nla(IfattrType.IFA_LABEL).text == epair_ifname From nobody Mon Jan 23 22:12:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148h5CCyz2t0sF; Mon, 23 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148h3x9vz3MQF; Mon, 23 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kQOIxn8E+/VBQTfxUBuiR2MMtI14w3i7QU/pxcvYlI=; b=PkXQLTsjxKYzea5z75hcjmPz7GAAgpp0zOAXUEWGKpYw+WyPCAh7sVSS5Ko/VeH42vP2bM lnjorBVKjm1elcxVd02i4hSmSbUt8igpU4CkSoXxaVMwTOp2UjWKv0fBcZIY6WraPCF2g8 aPVlK0Gj9i8gm4AtbACL+2JVZh3vKUYlxCv+ZI3FR41E2nRlZBbGUCqStBhRyM/MauYL4d +s8Fh5Ns5zlzsJoaGg6I6j5dqQTmhhJ9GUjmi2lv2Dmvh+CFUNHWhpunRlLcExelglA8xC U+/KkWr1Ti2E+SSTYZ7q1o7wIeDcs9URhnq27YcpfWMVnULJhU7KFtvEPVZpaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kQOIxn8E+/VBQTfxUBuiR2MMtI14w3i7QU/pxcvYlI=; b=FgTWzgjoqQUVsncdoWML+T2SAEIcjzzDR85TPufaM6XKNlYKQiI01MtGUD4bcD5pirzcsa k77MQagYaIVrfdxeCCPA3rlnD5D90akC2zU+l6clCT43AMzcfIxZG1ZVv96sLRgDq5aXcW /FzL3qHtQzK0hSi8derwBFa/dWHyy7dPycny4RKA64AF2+j8fCa1weNqBiz3HETwGeXEda vrCNbCDOJYUHjksehm7B33fCgDz9VRgbVCNfMOJ3TkrdCWFkbRN1XPGlRh6J+dOIGt4Qq6 Tp7UFKv4e2HYqZBxedWpN/mRTjXE6I19mVl4woe/G9zyE7aS8zHIOfH97xGS4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511940; a=rsa-sha256; cv=none; b=ViPhnIwWTCbAnIh7U0Ht7MN3XreY72+lgEM+hboRzOuLi3My22GeSRSzoac1YTr3FMXM7E Ia6ms9CLwInJcXABZCOBBX85UdPYl36t8Coe0hO66AvKoZEetKLKCV9WzWcCAvrNwGh6KC otTVtBZSAXulvKiikERQZoPZo4bGwPRFmVwwIvfJSsGLfE9TjsWnl4RlPNts6B8tAc9bP8 Zi+IcAb8hQl9HWL1JxRzZ0Ffl4/vcKg9YAwpTdUvOGYqINyh7kTyQ3E8TvOXrbR8rCWrzj F5tIzUfUST9lY4V/RNSHKWRZ74b68iDRVupaY8sKzcVVtAqqNzoaJH2jpgeALw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148h2ywzzm2W; Mon, 23 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCKn5017310; Mon, 23 Jan 2023 22:12:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCKkk017309; Mon, 23 Jan 2023 22:12:20 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:20 GMT Message-Id: <202301232212.30NMCKkk017309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 982fe5803470 - stable/13 - testing: fix skipping netlink tests if netlink module is not loaded. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 982fe580347015eff723b751535fe31c2055ff20 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=982fe580347015eff723b751535fe31c2055ff20 commit 982fe580347015eff723b751535fe31c2055ff20 Author: Alexander V. Chernikov AuthorDate: 2023-01-08 19:51:26 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 testing: fix skipping netlink tests if netlink module is not loaded. (cherry picked from commit 9408f36627b74a472dc82f7a43320235c0c9055a) --- tests/sys/netlink/test_rtnl_iface.py | 2 +- tests/sys/netlink/test_rtnl_ifaddr.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sys/netlink/test_rtnl_iface.py b/tests/sys/netlink/test_rtnl_iface.py index 8660051be8e2..7cff592b1676 100644 --- a/tests/sys/netlink/test_rtnl_iface.py +++ b/tests/sys/netlink/test_rtnl_iface.py @@ -20,7 +20,7 @@ from atf_python.sys.net.netlink import NlRtMsgType from atf_python.sys.net.vnet import SingleVnetTestTemplate -class TestRtNlIface(SingleVnetTestTemplate, NetlinkTestTemplate): +class TestRtNlIface(NetlinkTestTemplate, SingleVnetTestTemplate): def setup_method(self, method): super().setup_method(method) self.setup_netlink(NlConst.NETLINK_ROUTE) diff --git a/tests/sys/netlink/test_rtnl_ifaddr.py b/tests/sys/netlink/test_rtnl_ifaddr.py index 5574644f7b2f..bd1c55e268e7 100644 --- a/tests/sys/netlink/test_rtnl_ifaddr.py +++ b/tests/sys/netlink/test_rtnl_ifaddr.py @@ -15,7 +15,7 @@ from atf_python.sys.net.netlink import RtScope from atf_python.sys.net.vnet import SingleVnetTestTemplate -class TestRtNlIfaddr(SingleVnetTestTemplate, NetlinkTestTemplate): +class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): def setup_method(self, method): method_name = method.__name__ if "4" in method_name: From nobody Mon Jan 23 22:12:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148j59dJz2t0sK; Mon, 23 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148j4N4pz3Mdh; Mon, 23 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QxNd2Wv6LYCBqqgauVlNzPNqG6OmUXzq46jOrlvhHqY=; b=XesCdPFQw26pH9XE/u8DjSEiqAmFAYkFQky5NHCrDTuZ2X/939zQyl+P8B3G3+7u/8mDUc 0zYIevzNcI7ynB6DW8aqCN2SPNkTxiRTscrnXv0JFMZGSoARVDpuN3uMWuQ+L66x9K29HV 7SlgikCWudTcQdFM/CbkzdMztn44BbSTEezkNZz9NIusk4a/AQI7B110cJL4LHoa4Ks8RL Smfi9NzHLW2fFGwCMorOPX/+qeNWitTfSFTeOSsyG6nomYQ6H3TAqBCsuwsdoKT8ZueU0O CIy+LHIQ1dUFVimA0DMO7NqXu6Zssi75hhE4iqppvtsjsXzKGAQivhGIGuTA7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QxNd2Wv6LYCBqqgauVlNzPNqG6OmUXzq46jOrlvhHqY=; b=OsKo/TuQu9qwIlklFpKm3ERNr5GTynSlYYwYi2qqjx9h+cbp/m+lJW0vKW/rJ+X7el9f9a SVlopOdJ3BPfQgaLf0Y0ooAXLqu1qKZHiDZ4Dv/IuldVSP7AZlv7asgccLl9v/iEoMfTwM ImPA3xtl3bAIPuAywg3tAQU1yvQVVLV72FyYMUUpcUIShEK9RvGjVwweJUbjn8nNSTQkTx /LRS6W6fYXXUxn19yWwT+QGS4tZUPMP2SZbnLXeMFPNIaQ55RMOs8id3NZyPgWLVfvVU9J XdLqycOJnDrwl3Clf2jrkHBnfDyFKaaJeGnHGjBhDphDwUzh4DwW38BwMlQCtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511941; a=rsa-sha256; cv=none; b=BaKJVidy9ykdwDOqFevDnBM3vRYzZnMlZwooL8y1rXoBKvK4tfQFpA6QkCGR7/jNZN18mN LYU3GTSoxdUXLp0EmutK1MXc1sqN23rydVJu05FIXe2lfuPWfrGwKVfo57Zy9G3zmY7Pmq KWoQLIWBvOno80AvyUUY3zucpo9oi8r2yS7fIh8KJNjIxM/OkECeYf7w9mww8h9TNTwyhR FQ7z8Yq3oUlzYLaXOFHWv5B0g0vf1KEsi3mzdT0vvEOQbHnzWrb+/BrEbVA+CRMZdvRhHF gWs8xQpVj4d2/bnOLHMhHoFNhR3iozO8FuSaSe8VV1E96crc8nzDYxuT32O8Yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148j3V3nzlZ5; Mon, 23 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCLB3017334; Mon, 23 Jan 2023 22:12:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCLK9017333; Mon, 23 Jan 2023 22:12:21 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:21 GMT Message-Id: <202301232212.30NMCLK9017333@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: a16f805f820e - stable/13 - man: add Netlink reference to socket(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a16f805f820e00b6b2ef1f8b9a6c7408bd2aec6d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a16f805f820e00b6b2ef1f8b9a6c7408bd2aec6d commit a16f805f820e00b6b2ef1f8b9a6c7408bd2aec6d Author: Alexander V. Chernikov AuthorDate: 2023-01-14 17:35:43 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:04 +0000 man: add Netlink reference to socket(2) Reviewed by: lwhsu, pauamma, gbe Differential Revision: https://reviews.freebsd.org/D38054 (cherry picked from commit b0286ee504c605027c747e061591535c67032cf5) --- lib/libc/sys/socket.2 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/libc/sys/socket.2 b/lib/libc/sys/socket.2 index b23d207c9730..7cff244345e9 100644 --- a/lib/libc/sys/socket.2 +++ b/lib/libc/sys/socket.2 @@ -65,7 +65,11 @@ PF_LINK Link layer interface, PF_KEY Internal key-management function, PF_NATM Asynchronous transfer mode protocols, PF_NETGRAPH Netgraph sockets, +<<<<<<< HEAD PF_IEEE80211 IEEE 802.11 wireless link-layer protocols (WiFi), +======= +PF_NETLINK Netlink protocols, +>>>>>>> b0286ee504c6 (man: add Netlink reference to socket(2)) PF_BLUETOOTH Bluetooth protocols, PF_INET_SDP OFED socket direct protocol (IPv4), PF_INET6_SDP OFED socket direct protocol (IPv6) From nobody Mon Jan 23 22:12:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148k66Ckz2t10c; Mon, 23 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148k59T0z3MYh; Mon, 23 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hXC9Xle/qt/nKmN7XInBB+TzxtWjBKh5i66thDCSn8E=; b=DOME27Dl5H0tKAj9lgvX7TSelvSpYeMpFIuIhTdhBhmfwSHTKDyg8e2D3b5FReO/BHOmFJ ExhnqZi18xHw49STQz5Lr97NDhKHRpcO7BSFpO7NTIdihu8WgrrW5+EQQmWfPWxqZd+gf1 +BUq9biiHwJQ4aNwsy7+eM7oh04zm5VrDorxGAG6wl5k3tR72NctiL1VRuUOCXsTytUdlw wZ7sKxSD1mREFZ6c0FdyMmOE8f9G74So/Rk7WfEe0JXlpAKcO03oXecyoqKZFn9FlQHpKR hd7znSRDR86mJI8WPDQVHR+sRoK/CbgeccrnSMt4aDuh+YMjEmhPOPmrgY4GjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hXC9Xle/qt/nKmN7XInBB+TzxtWjBKh5i66thDCSn8E=; b=dB3wp+/WpKu8pOrDMXeOQTlDCiby0J+mgQIPB1p1y4XPZGF+c30wYNlCpRNWA4+RKPLyzB xpVQ07E+fSdHAr2b09ABsstgIufqO78LOrNKUyC0UwsxzIarKLTRPgilMQGbKVLsVuHCmm LuOMMe+lSQNJf27R2gZpbF2oR6PG5dQkNV6aS2PfbyCftlWOZ6z+eGMQhMkqWG6sKxKZVd dCdlB1N2qwmKzKDs3g2KcSehQYkDTgFCapSAMYyaGmr8Nkj40ZIXCxV8kKqXvLjuh75lcC /g1XdNXotTff4SL0dylAmVdShGBHMK/1Ho+NM6viCEL3LNHIye+vk0Nose1uCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511942; a=rsa-sha256; cv=none; b=fmQj/cwGnMQK85dEczfsz/ydS6zRRizDZ4s9JQmbMG5xxgJYyQB5YGaAJSxefF8CGWPxo3 DZvdb/HFRw2Lh+cUt7QI9oVN0MdSQxK0Szp/FzH+36jg5oNC21SuPHr44F1z8eBGwTWUKD 8/iUnPVCUfwNuzgv1ERQ90mnhUgs6Wi7kcZE1QGNHwtdr+O2qvpFByQRSR8lInpeXmhRUj vz08cJqeJlROAy0iLkWOpRdjVgYiklHs1Xyp23r5gsSogwFrB9i+qDDLCsXFEJA5hH4JFA 6YF9Lid/w9DmzX1mqy1y0wd/lrzFHDkerjvv0ZI7MfajUGDD+269M7b3ii3dZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148k4GJGzlC5; Mon, 23 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCMKF017358; Mon, 23 Jan 2023 22:12:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCM3T017357; Mon, 23 Jan 2023 22:12:22 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:22 GMT Message-Id: <202301232212.30NMCM3T017357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 1ce626b94897 - stable/13 - netlink: fix typo in netlink(4) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1ce626b94897f8afc6426823de4f03df622313d1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=1ce626b94897f8afc6426823de4f03df622313d1 commit 1ce626b94897f8afc6426823de4f03df622313d1 Author: Alexander V. Chernikov AuthorDate: 2023-01-16 10:56:10 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:05 +0000 netlink: fix typo in netlink(4) Reported by: Ihor Antonov (cherry picked from commit a8633361ab71fda3860f6b4ed1a602f9b52b36b8) --- share/man/man4/netlink.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 index bbfa55049e2e..2aa4903a4594 100644 --- a/share/man/man4/netlink.4 +++ b/share/man/man4/netlink.4 @@ -328,7 +328,7 @@ or . .El .Sh SEE ALSO -.Xr genetrlink 4 , +.Xr genetlink 4 , .Xr rtnetlink 4 .Rs .%A "J. Salim" From nobody Mon Jan 23 22:12:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148m2MRWz2t0qL; Mon, 23 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148l65Dnz3MfW; Mon, 23 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DFMiG/ysPE5mGedDeplw35mjpXPcmmwa60q6DJOoDAI=; b=xNmbyH6VPjK9df6OZSW3bs7SMZFHQH2LetiLqdhLvzfUUhpl1WaYK9y4YTcgqPkymskbrv zG1XVbKLolLJ6JTTSiAvxm1qVwKG2bf98WHuOtMMrO33SdwQGAhiSmgu5m0dqXo26zqlmb zrdSa2YQHjTy/TnzxGLBr8SmSyvd4B4/oW1Fe48p/brNxoBL0LgglycZUaPTw2ttYorIgY SvM0znyRR4jkNS+qLsnM5U+nH9G1tlnWAbmyXo0Ik/W2vU/XLplVRuD8QAN2dVydZkyk9N bs0WXurcwDkjKf1ZvN91moX2NsupSdaOxwBtNKrarzUQz458tkDj4K9ux83mhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DFMiG/ysPE5mGedDeplw35mjpXPcmmwa60q6DJOoDAI=; b=HslRmkgxxSCbjSggJY8wh7Lci9/n27b75xk04Z17+WLdbfRo25NCTrR+Q4th/71up7t1R/ zi8wXVky+P8nt1KTp9KfMgWCbhGriW5iu5nRigFu3kCQpJ6j3mZfop2FcT9qZtycvizBB3 5T9G/kN6U84SqPmpqt9mYHBFTAiOFpER7dN/Yt2HpXBYNRFnJKkWFj2vTshXEBbypHrNYC vY9959oXVmPvIb0yxyGXfFMf/kgiQaYXai489qWEYxzJIwgtG+TbBMP5ccx4XyTnJf2eVX 8xuRDesA7Q+uY/3siNpt1eWDhgmxy+7oLOMMYlkHcMtHJFgDbBCoNXLKfLPTkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511943; a=rsa-sha256; cv=none; b=fA31xenVM+FkWIuNCe1p1Oip1Nh84Kx/qzIwKePLhKaePwFBmqgoAVz0HJ0i+gDrj8AT41 eZDOMJyiZPk/wL7anvyk5Ea+HKk4pYSBzTpKZanB6gLNNwzRILgGXkKBn/Ox4GNrPBgFwP 3jrGe+lfQABURkDAUx2shMdqsiHdLv8sp1IpR5Cxl8GdmzE2NzbZ+s9ylg+D7xCbEz8mHW hsLsoOhbqGVWov5+fy7Pu6fmmg1pQcO17iksdm5pSqXiu2T2n7oeHtrFc4jsi2dDuFaHKx Hfuq3T8v0p3cHxbeLssS/MBOBel8ivX71EbaujHkXOo2tacYlrfmtZMGLkqZXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148l5BB6zlC6; Mon, 23 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCNRo017388; Mon, 23 Jan 2023 22:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCNVG017387; Mon, 23 Jan 2023 22:12:23 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:23 GMT Message-Id: <202301232212.30NMCNVG017387@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 92d8e0f13657 - stable/13 - netlink: fix compatibility with older netlink applications. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 92d8e0f136576d8a57e374fa4e460fc8903b68b6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=92d8e0f136576d8a57e374fa4e460fc8903b68b6 commit 92d8e0f136576d8a57e374fa4e460fc8903b68b6 Author: Alexander V. Chernikov AuthorDate: 2023-01-16 12:14:35 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:05 +0000 netlink: fix compatibility with older netlink applications. Some apps try to provide only the non-zero part of the required message header instead of the full one. It happens when fetching routes or interface addresses, where the first header byte is the family. This behavior is "illegal" under the "strict" Netlink socket option, however there are many applications out there doing things in the "old" way. Support this usecase by copying the provided bytes into the temporary zero-filled header and running the parser on this header instead. Reported by: Goran Mekić (cherry picked from commit 228c632ab3f6245df4a08d8692d49c8e12aacc27) --- sys/netlink/netlink_message_parser.h | 16 +++++++++++++--- tests/sys/netlink/test_rtnl_ifaddr.py | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 96fd1c7337b7..3f64c1967f09 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -213,9 +213,19 @@ nl_parse_header(void *hdr, int len, const struct nlhdr_parser *parser, int error; if (__predict_false(len < parser->nl_hdr_off)) { - nlmsg_report_err_msg(npt, "header too short: expected %d, got %d", - parser->nl_hdr_off, len); - return (EINVAL); + if (npt->strict) { + nlmsg_report_err_msg(npt, "header too short: expected %d, got %d", + parser->nl_hdr_off, len); + return (EINVAL); + } + + /* Compat with older applications: pretend there's a full header */ + void *tmp_hdr = npt_alloc(npt, parser->nl_hdr_off); + if (tmp_hdr == NULL) + return (EINVAL); + memcpy(tmp_hdr, hdr, len); + hdr = tmp_hdr; + len = parser->nl_hdr_off; } if (npt->strict && parser->sp != NULL && !parser->sp(hdr, npt)) diff --git a/tests/sys/netlink/test_rtnl_ifaddr.py b/tests/sys/netlink/test_rtnl_ifaddr.py index bd1c55e268e7..ec349fcd6fde 100644 --- a/tests/sys/netlink/test_rtnl_ifaddr.py +++ b/tests/sys/netlink/test_rtnl_ifaddr.py @@ -8,6 +8,7 @@ from atf_python.sys.net.netlink import NetlinkTestTemplate from atf_python.sys.net.netlink import NlConst from atf_python.sys.net.netlink import NlHelper from atf_python.sys.net.netlink import NlmBaseFlags +from atf_python.sys.net.netlink import Nlmsghdr from atf_python.sys.net.netlink import NlMsgType from atf_python.sys.net.netlink import NlRtMsgType from atf_python.sys.net.netlink import Nlsock @@ -68,6 +69,25 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): assert len([r for r in ret if r[0] == ifname and r[1] == socket.AF_INET6]) == 2 assert len(ret) == 3 + def test_46_filter_family_compat(self): + """Tests that family filtering works with the stripped header""" + + hdr = Nlmsghdr( + nlmsg_len=17, + nlmsg_type=NlRtMsgType.RTM_GETADDR.value, + nlmsg_flags=NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value, + nlmsg_seq=self.helper.get_seq() + ) + data = bytes(hdr) + struct.pack("@B", socket.AF_INET) + self.nlsock.write_data(data) + + ret = [] + for rx_msg in self.read_msg_list(hdr.nlmsg_seq, NlRtMsgType.RTM_NEWADDR): + ifname = socket.if_indextoname(rx_msg.base_hdr.ifa_index) + family = rx_msg.base_hdr.ifa_family + ret.append((ifname, family, rx_msg)) + assert len(ret) == 2 + def filter_iface_family(self, family, num_items): """Tests that listing outputs IPv4 for the specific interface""" epair_ifname = self.vnet.iface_alias_map["if1"].name From nobody Mon Jan 23 22:12:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148n0tlSz2t0kC; Mon, 23 Jan 2023 22:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148m74bNz3MWJ; Mon, 23 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLVMgfrfJ67VXnMUz5z1p97TEjb3YxBVI/a1gj1YhkM=; b=kxXR9LpcFVBsafPZsxkUa7yx32lA1MB/wDpn8WhT07gAlR7GcTFgwRBZEPIj1ryXtOirhY AHA3emleQMi+7ldoBt4kP/WgaXUaWsz6egg2WJyo1GgaihQ6Y0i1XQvTmSPSzUhUb23wJa XECURTLocairKQf4ZQP3tQBVMo/EqvKPm19bHmbzTtt+Xbh2gJobhzLkLOUh/pSgYyzuGv 6BdWnLGka6G5c0VJGwg/kLL/nDKw06mWZ6xe99LFhJSTJyefu4F6Hy1DKq6CIx/w5HiEWN fB5zneclh5n1u8kW8+VAcH8B7iGKnStK0ptdatL5pjdUntprN6CXHm5fVDQnYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLVMgfrfJ67VXnMUz5z1p97TEjb3YxBVI/a1gj1YhkM=; b=RXOPtcrE3kI5/wayU/nem/wq79bU8V+rmTPe673VirHpU3NzxrM8oF0cdsJduFZobg9PGp 9bCm4mbeSWPxfbnZhvBi3mtvmVdQ99UZhSq57Ttw9Fh0UnxsTp4AGpjkjfQ9TUwjJ7vqfE q0rxhDli195wwibheyi6dKrRqdLOvbdOBOwM5MHAoNihfb9RnN+DtCKgd+qbwKU4xy6PK7 0+fDMwcxGuSjTCA+FdHS4sBvv8R44rVHXU7m0Kr8R396wAFTIvGRl9cs1t6R/EiAiKnxkV VNtcj8LYZs1ldJpfONskJCY+lzg3oYSHznwPLcmV9pTd4MvIWJE2Ugss5qrREQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511945; a=rsa-sha256; cv=none; b=IwxMRAlO331FlcfxZB4eadbsXrfZdOW75QvuoCgYQGn1lsnLQbAtjPLOIVo0C7Ad/8Zx8g N/Jxz7icpyIDp8xp0TaGCaK3llebaC3AjyeA9gFq7WQgIOBFVGPYQyE6lC0X9Rg5iK7SIy W7DhWtlWmNgA0f+zZmZtbR40GUUWMRatZXWNtc9gxVGy1TWdZ6UAtUk5v9oi03iZBNZ+Yd bQ3F12XaqqDEksTYrTtV68PzUusNBvbZG7dQ09AOmh3N3gGrInDCWBKgjUXBTsR5YigHqd YDpNL8q29sro8djeWQWxk0bgNbZyDnzxOk6RrmD38ngnFGJ/+lej8tOUU4F9aw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148m67sVzm2Z; Mon, 23 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCOdh017417; Mon, 23 Jan 2023 22:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCObA017416; Mon, 23 Jan 2023 22:12:24 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:24 GMT Message-Id: <202301232212.30NMCObA017416@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: eb310021a4f6 - stable/13 - netlink: add snl(3) manpage to the build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb310021a4f67e08a7172e4474db690dc52e0fb5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=eb310021a4f67e08a7172e4474db690dc52e0fb5 commit eb310021a4f67e08a7172e4474db690dc52e0fb5 Author: Alexander V. Chernikov AuthorDate: 2023-01-16 20:24:49 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:05 +0000 netlink: add snl(3) manpage to the build (cherry picked from commit 7f2109f240c2cdb916ca0047422ccfb2a697cee7) --- share/man/man3/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 872aec1e83ab..a72c5ac8c31f 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -27,6 +27,7 @@ MAN= arb.3 \ queue.3 \ sigevent.3 \ siginfo.3 \ + snl.3 \ stats.3 \ stdarg.3 \ sysexits.3 \ From nobody Mon Jan 23 22:12:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148p1fgmz2t0x3; Mon, 23 Jan 2023 22:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148p0kbTz3Myb; Mon, 23 Jan 2023 22:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eab5bwzbVTbbW4lRSMUXSxSspfIY6vJVxgfS2DbhjFc=; b=vfKy/MoHB7Zro3LH1HttvHYopFHzOHNCgZp+zil5r13pmgX7BXblLDKt7uLUeAl7R3cwqs nhi5EixQZCBGH6G4HCHEGPR2hpNQDxhs303CFxevmE1zDJtqEVIGFynYOhmmlFlYHZ3X35 fNsa0g16+AHDhYwM4n36GF1/6ti7DnI9NaX2epo1hBS2/aeaLg52rt7rqS4DVQQ43pkAhw tP6i7vdxia9ugjryv0ENRO43Cib3lYHLfGpSzhCDQ6J8qZ69TrWgwTgUjWlqwq9Wwzhqfx il/DnRQvNTa/A51Mt7NmWacUpEH3idqH/1df1WYrLxtTh3P5sNpCRBdXhWs+7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eab5bwzbVTbbW4lRSMUXSxSspfIY6vJVxgfS2DbhjFc=; b=kkg7uDP9hJpQmaDLx7ns+z4QlnSMnP2mHxUDEYUmUKITix07o8FfXApQWPbhkeXU18kAps lfxpxjFGZ7tIC89hZRqsip6ockldQtuD31jQ1yZkHarqEGo4sbIHYUndqD5sF2fjBKf9tt XVYD3EqWYKSnaAYd09ZIWoENQ0uxK4h5eMMJwhPCSE/RFsltMwGeRt/SytcMCMbXfdxSJl Gm3sPUYS4e10RHJwMhqeoO1ptxt3dZ2ygFm2Lg/mD89gHSi3Hd3RTrjz/whJwa3G6++Is5 VN44iCCFiaVrOjdU41KfLbog2OyPu35KG+yxKQW9pn/xhPxyrZumrc3rx12l7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511946; a=rsa-sha256; cv=none; b=kPMzQIFDAQvbQ0ljnCpMInTqA7kvLo27mua4biItC7BudoqzdiXnFwEE/zL5li+lD0Xsbf 2ArXSHgWpgX2Wk7FXPAHZq1KP8MgsLX7kte3TeG4gTZ1/gL9Snub1OvNvJdS0aPCJeATsG kfsStIG99GdNGJGzG81/ol/63LUHQ1pDjAuxFNmKxxSwAMeZe1gjsTSTgK0ps+2/XVsrjp jJj0iuLc8aWY946LXhwFA+b2hp1bkDj9QltxafCAybwtU+ju0pO7WeDs6iBvLwu3m27OOF Q4weSDlMA7tjGdHzG+Gk5vxfVZeJjNnE3z8sJsm2Ovr6ILjbQY/mKMVbMjS68g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148n6gFmzltr; Mon, 23 Jan 2023 22:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCPm5017441; Mon, 23 Jan 2023 22:12:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCPcY017440; Mon, 23 Jan 2023 22:12:25 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:25 GMT Message-Id: <202301232212.30NMCPcY017440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: b2e826efd6c4 - stable/13 - netlink: fix OOB write when creating attribute bitmask. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b2e826efd6c4153f66af8aff3024f26d0f6cd63a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=b2e826efd6c4153f66af8aff3024f26d0f6cd63a commit b2e826efd6c4153f66af8aff3024f26d0f6cd63a Author: Alexander V. Chernikov AuthorDate: 2023-01-21 18:03:47 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:09:05 +0000 netlink: fix OOB write when creating attribute bitmask. Fix wrong arithmetics by moving to the standard bitset(9) functions. Reported by: markj, KASAN (cherry picked from commit 10f2a38769c7b2fa210a3ea077d3185448479013) --- sys/netlink/netlink_message_parser.c | 16 +++++++++++++--- sys/netlink/netlink_message_parser.h | 16 ++++++---------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/sys/netlink/netlink_message_parser.c b/sys/netlink/netlink_message_parser.c index 451d9d497491..dc0c38712613 100644 --- a/sys/netlink/netlink_message_parser.c +++ b/sys/netlink/netlink_message_parser.c @@ -152,17 +152,27 @@ nl_get_attrs_bmask_raw(struct nlattr *nla_head, int len, struct nlattr_bmask *bm { struct nlattr *nla = NULL; - bzero(bm->mask, sizeof(bm->mask)); + BIT_ZERO(NL_ATTR_BMASK_SIZE, bm); NLA_FOREACH(nla, nla_head, len) { if (nla->nla_len < sizeof(struct nlattr)) return; int nla_type = nla->nla_type & NLA_TYPE_MASK; - if (nla_type <= sizeof(bm->mask) * 8) - bm->mask[nla_type / 8] |= 1 << (nla_type % 8); + if (nla_type < NL_ATTR_BMASK_SIZE) + BIT_SET(NL_ATTR_BMASK_SIZE, nla_type, bm); + else + NL_LOG(LOG_DEBUG2, "Skipping type %d in the mask: too short", + nla_type); } } +bool +nl_has_attr(const struct nlattr_bmask *bm, unsigned int nla_type) +{ + MPASS(nla_type < NL_ATTR_BMASK_SIZE); + + return (BIT_ISSET(NL_ATTR_BMASK_SIZE, nla_type, bm)); +} int nlattr_get_flag(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target) diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 3f64c1967f09..94f0ca5260d7 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -29,6 +29,9 @@ #define _NETLINK_NETLINK_MESSAGE_PARSER_H_ #ifdef _KERNEL + +#include + /* * It is not meant to be included directly */ @@ -152,18 +155,11 @@ static const struct nlhdr_parser _name = { \ .np_size = NL_ARRAY_LEN(_np), \ } -struct nlattr_bmask { - uint64_t mask[2]; -}; - -static inline bool -nl_has_attr(const struct nlattr_bmask *bm, unsigned int attr_type) -{ - MPASS(attr_type < sizeof(bm->mask) * 8); +#define NL_ATTR_BMASK_SIZE 128 +BITSET_DEFINE(nlattr_bmask, NL_ATTR_BMASK_SIZE); - return ((bm->mask[attr_type / 8] & (1 << (attr_type % 8)))); -} void nl_get_attrs_bmask_raw(struct nlattr *nla_head, int len, struct nlattr_bmask *bm); +bool nl_has_attr(const struct nlattr_bmask *bm, unsigned int nla_type); int nl_parse_attrs_raw(struct nlattr *nla_head, int len, const struct nlattr_parser *ps, int pslen, struct nl_pstate *npt, void *target); From nobody Mon Jan 23 22:12:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148q2zdTz2t17h; Mon, 23 Jan 2023 22:12: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 4P148q1B5kz3MtV; Mon, 23 Jan 2023 22:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b3W5jy4aBmJ3OPmn3KlvWgj2C0RYHGGpQTKUYNIX5GA=; b=SIw0okb7OXQ/9w+jHWao8URK8XqVBb93i34guFWqUB77G9f2Ll3ow9qRegtAtfDS8Qnf2I yFSghWSWd+IlwpVYW+CzW+eIk1X3v9vxYM0K2T25ntHGLsK9wrYqKdd7E131BgZnlsJ0GO 30z/mPL8dsPGqr33c2QZOifBBy8xavJo1xD6izSDMjh/qnROW1wfFz9Z8G4CiVTkvkWB5Z eD0Z8UJKZ8kKvIu0Xlgoce8FyQ5rw5Z1AaWAIGWqUPZjdvnrarHokgonRDK8tIRXLWSfqy GyoiZH1/i4KTQxgwduUDsqkZUL1zCs04tbneKmSTY1pFyJZx6Vq1SheiL63Ohw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b3W5jy4aBmJ3OPmn3KlvWgj2C0RYHGGpQTKUYNIX5GA=; b=Qu0wXxPkbqsNn+DtoszUr1GpgNzQ2oiYBekCKc33t8/uosZTViIKGO4Vzgctjk/nSWg/mh CS4vwAgYUPclTNk9+ywcZE3TQL3uTEar4Jk1u03KiKdiXkXn71IdANniJyk+6JN8orK4VY k4Uxfo8y93AJYQtlZO139kh24TcZUM+jvsBKYSNeuvx/VH4thOXSw88vC3pFm4I0RKLycs Wl40VpswQXiUVRfX3opJnRI4CSc0Z3cx3wEfgfFhRO2oHmaq9jKS6LN6ElHPj5CxiizG2h BTyPM1R/B4AJJxmlL0sAzAptlBIXcTHrjDnx2dz+Gr2MRU/GuRRB7NCJGlksow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511947; a=rsa-sha256; cv=none; b=sEQd6JvtQw7m8rXY7vxw3A1AxvrEM9Z2Ua6heVI9fBX+KyWGYXfsBRaVAU5+ifFtjqaHqc 93EoDxrWY2KOJ/zaABXMaLg0VLX+95iozu8vmxc3w6QtJwfVTY3dEDMXgEVOf7L53u1/iW eWJnCNj26KoeRAHvwVXABVN1WXZSMAZRnlrcCIOEoJWvSoxjFDphL1diSt5aomvlXl8pty jKgTTGXhOmCQ9kEQYKdj13KXDNvcftUhertH/U225B1JJpRYoq70ez4LIf5tQCjmkFl3a1 0OyUvmj0M/Uju8KW4Q8QOZNsL0kI9fbuS/RUCsAlZN7iPd7oYWCdj80dbTY9eA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148q0H6Fzlts; Mon, 23 Jan 2023 22:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCQrN017466; Mon, 23 Jan 2023 22:12:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCQIV017465; Mon, 23 Jan 2023 22:12:26 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:26 GMT Message-Id: <202301232212.30NMCQIV017465@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: edf966085e44 - stable/13 - netlink: allow creating sockets with SOCK_DGRAM. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: edf966085e44b0aefcc8cd4f74d22b1bd09d3d60 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=edf966085e44b0aefcc8cd4f74d22b1bd09d3d60 commit edf966085e44b0aefcc8cd4f74d22b1bd09d3d60 Author: Alexander V. Chernikov AuthorDate: 2023-01-21 14:36:23 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:10:01 +0000 netlink: allow creating sockets with SOCK_DGRAM. Some existing applications setup Netlink socket with SOCK_DGRAM instead of SOCK_RAW. Update the manpage to clarify that the default way of creating the socket should be with SOCK_RAW. Update the code to support both SOCK_RAW and SOCK_DGRAM. Reviewed By: pauamma Differential Revision: https://reviews.freebsd.org/D38075 (cherry picked from commit 0079d177ab69168df5e103128a2b15bd8e74d4eb) --- share/man/man4/netlink.4 | 4 ++-- share/man/man4/rtnetlink.4 | 2 +- sys/netlink/netlink_domain.c | 16 +++++++++++++--- tests/sys/netlink/test_nl_core.py | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 index 2aa4903a4594..1894de5841fe 100644 --- a/share/man/man4/netlink.4 +++ b/share/man/man4/netlink.4 @@ -34,7 +34,7 @@ .In netlink/netlink.h .In netlink/netlink_route.h .Ft int -.Fn socket AF_NETLINK SOCK_DGRAM int family +.Fn socket AF_NETLINK SOCK_RAW "int family" .Sh DESCRIPTION Netlink is a user-kernel message-based communication protocol primarily used for network stack configuration. @@ -293,7 +293,7 @@ This is the default level, not impacting production performance. Socket events such as groups memberships, privilege checks, commands and dumps are logged. This level does not incur significant performance overhead. -.It Dv LOG_DEBUG9(9) +.It Dv LOG_DEBUG3(9) All socket events, each dumped or modified entities are logged. Turning it on may result in significant performance overhead. .El diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index dc40b277d934..5849508b74c2 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -34,7 +34,7 @@ .In netlink/netlink.h .In netlink/netlink_route.h .Ft int -.Fn socket AF_NETLINK SOCK_DGRAM NETLINK_ROUTE +.Fn socket AF_NETLINK SOCK_RAW NETLINK_ROUTE .Sh DESCRIPTION The .Dv NETLINK_ROUTE diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 3b5e897164f8..de96818d5e35 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -721,13 +721,23 @@ struct pr_usrreqs nl_usrreqs = { static struct domain netlinkdomain; -static struct protosw netlinksw = { +static struct protosw netlinksw[] = { +{ .pr_type = SOCK_RAW, .pr_domain = &netlinkdomain, .pr_protocol = 0, // IPPROTO_UDP .pr_flags = PR_ATOMIC | PR_ADDR | PR_WANTRCVD, .pr_ctloutput = nl_ctloutput, .pr_usrreqs = &nl_usrreqs, +}, +{ + .pr_type = SOCK_DGRAM, + .pr_domain = &netlinkdomain, + .pr_protocol = 0, // IPPROTO_UDP + .pr_flags = PR_ATOMIC | PR_ADDR | PR_WANTRCVD, + .pr_ctloutput = nl_ctloutput, + .pr_usrreqs = &nl_usrreqs, +} }; static struct domain netlinkdomain = { @@ -736,8 +746,8 @@ static struct domain netlinkdomain = { #ifdef DOMF_UNLOADABLE .dom_flags = DOMF_UNLOADABLE, #endif - .dom_protosw = &netlinksw, - .dom_protoswNPROTOSW = (&netlinksw + 1), + .dom_protosw = &netlinksw[0], + .dom_protoswNPROTOSW = (&netlinksw[0] + 2), }; DOMAIN_SET(netlink); diff --git a/tests/sys/netlink/test_nl_core.py b/tests/sys/netlink/test_nl_core.py new file mode 100644 index 000000000000..7af421a929dc --- /dev/null +++ b/tests/sys/netlink/test_nl_core.py @@ -0,0 +1,33 @@ +import errno +import socket + +import pytest +from atf_python.sys.net.netlink import NetlinkTestTemplate +from atf_python.sys.net.netlink import NlConst +from atf_python.sys.net.vnet import SingleVnetTestTemplate + + +class TestNlCore(NetlinkTestTemplate, SingleVnetTestTemplate): + @pytest.mark.parametrize( + "params", + [ + pytest.param({"type": socket.SOCK_RAW}, id="SOCK_RAW"), + pytest.param({"type": socket.SOCK_DGRAM}, id="SOCK_DGRAM"), + ], + ) + def test_socket_type(self, params): + s = socket.socket(NlConst.AF_NETLINK, params["type"], NlConst.NETLINK_ROUTE) + s.close() + + @pytest.mark.parametrize( + "params", + [ + pytest.param({"type": socket.SOCK_STREAM}, id="SOCK_STREAM"), + pytest.param({"type": socket.SOCK_RDM}, id="SOCK_RDM"), + pytest.param({"type": socket.SOCK_SEQPACKET}, id="SOCK_SEQPACKET"), + ], + ) + def test_socket_type_unsup(self, params): + with pytest.raises(OSError) as exc_info: + socket.socket(NlConst.AF_NETLINK, params["type"], NlConst.NETLINK_ROUTE) + assert exc_info.value.errno == errno.EPROTOTYPE From nobody Mon Jan 23 22:12:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148r2wNzz2t10p; Mon, 23 Jan 2023 22:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148r24CJz3N9S; Mon, 23 Jan 2023 22:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4C+fRVo/90zui5AMMlzOQiP40LEGHI4UBMTRpBqfPFo=; b=qzwMy9S3NrFXXvIae4nsxc76o3lRyTTJ7M1d49dGHNCZ2Cbb7WGjnkTR1tB4HE5AJGQYzB 2RXb1nxicELikPT75XEpPvMkc3q63J//Lnz8gI9ZfAZ5YwjFkbVPmHMLMpBPUVee6cD7Hi /w/7d43PZUYoskyJbDASbPBq94mkjlGNyoEQDOn2Xw6gj2uw18K/it4IhCUHMlOeNMatKC PeMXaizaW2iUXDfsCWjJP6WVZg+HW6huXjdlzUCb52vTg/ag10YuMgZWkysOzJfVTc3hXo S/nSLjSmEcTL1/oVEVCWZDjQf6S744SSd5bxe7z+Kcjv7OmMqomszDnhWwRAEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4C+fRVo/90zui5AMMlzOQiP40LEGHI4UBMTRpBqfPFo=; b=W9GcnDFwKOocnGNH9k0q6nb2Cuw1G4KVJp6tJvdiAFQmKcZDRZB/Y6n0aTrI8dJlsBoktt jV/WDG90lNLqVbDw4P2ovQNJRcu+ZwH8asx9YKWR+OapDI6+nUHFTVO5nU8/7g7XYHnB2z eKuRA8bb6eTBMUj3nr8mD2Ih1hS4vY3lvUcsCxWa8yJWTjflhMhloewvqXZofbvs+RR3ws mLYd8G4EkXgd4VqcKKNtsm6a5zYgfSNtcgpDfEqNSiGDnD/SW6wSrGn8QQyed/0Qb4RWDK 4nbF48Okgs4n4uwhzP6gSZFwaOzJFFL7W7mFFJKH3/ed7RBtax7BCCLfzp1wnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511948; a=rsa-sha256; cv=none; b=MD2Gg0ivzxlMDGc5K3hp2s7rzybRlGSvieN1snMO2wnmDo1Qaw1JRYp3FOiYt+aW40xNwq BqM0EbZYqJeH222QNdycmasV/H++sfVkGUmBck14/NkeENnPee85YQNgjJ4EfWD7O1aZpf dm/sR8CoG7c81L49xwoiDpykXE4MKOnf4i3roF5DHdlc9uVhqtGgEMozgw3olKPt/WDo5+ lpdSPGjWpaByP/VxfxS6Rol7dF5Ws8e8B1Y6AqicjNK/rCSgXkaj9QQAXYSY5pglCMSlTo u7n4i77lbIy2JImFJSFFCIZB5hevE2UWCgKjklndQrfsawMcEdWIgDaYMHk4ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148r19ZNzlm6; Mon, 23 Jan 2023 22:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCSIO017496; Mon, 23 Jan 2023 22:12:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCSxq017495; Mon, 23 Jan 2023 22:12:28 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:28 GMT Message-Id: <202301232212.30NMCSxq017495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: a9dcee4334b2 - stable/13 - ifp: add if_setdescr() / if_freedesrt() methods List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a9dcee4334b26c41ee3ce78ccb48d61ce21bc4f4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a9dcee4334b26c41ee3ce78ccb48d61ce21bc4f4 commit a9dcee4334b26c41ee3ce78ccb48d61ce21bc4f4 Author: Alexander V. Chernikov AuthorDate: 2022-09-24 19:37:29 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:10:07 +0000 ifp: add if_setdescr() / if_freedesrt() methods Add methods for setting and removing the description from the interface, so the external users can manage it without using ioctl API. MFC after: 2 weeks (cherry picked from commit 9a7c520a7811a036a8140effb352f44ad5640c0e) --- sys/net/if.c | 30 +++++++++++++++++++++--------- sys/net/if_var.h | 2 ++ 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 7423c4963f57..813525c2e7bd 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -703,7 +703,7 @@ if_free_internal(struct ifnet *ifp) for (int i = 0; i < IFCOUNTERS; i++) counter_u64_free(ifp->if_counters[i]); - free(ifp->if_description, M_IFDESCR); + if_freedescr(ifp->if_description); free(ifp->if_hw_addr, M_IFADDR); free(ifp, M_IFNET); } @@ -2486,7 +2486,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) int new_flags, temp_flags; size_t namelen, onamelen; size_t descrlen; - char *descrbuf, *odescrbuf; + char *descrbuf; char new_name[IFNAMSIZ]; struct ifaddr *ifa; struct sockaddr_dl *sdl; @@ -2578,18 +2578,13 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) error = copyin(ifr_buffer_get_buffer(ifr), descrbuf, ifr_buffer_get_length(ifr) - 1); if (error) { - free(descrbuf, M_IFDESCR); + if_freedescr(descrbuf); break; } } - sx_xlock(&ifdescr_sx); - odescrbuf = ifp->if_description; - ifp->if_description = descrbuf; - sx_xunlock(&ifdescr_sx); - + if_setdescr(ifp, descrbuf); getmicrotime(&ifp->if_lastchange); - free(odescrbuf, M_IFDESCR); break; case SIOCGIFFIB: @@ -4157,6 +4152,23 @@ if_getcapenable(if_t ifp) return ((struct ifnet *)ifp)->if_capenable; } +void +if_setdescr(if_t ifp, char *descrbuf) +{ + sx_xlock(&ifdescr_sx); + char *odescrbuf = ifp->if_description; + ifp->if_description = descrbuf; + sx_xunlock(&ifdescr_sx); + + if_freedescr(odescrbuf); +} + +void +if_freedescr(char *descrbuf) +{ + free(descrbuf, M_IFDESCR); +} + /* * This is largely undesirable because it ties ifnet to a device, but does * provide flexiblity for an embedded product vendor. Should be used with diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 48da169fd1d6..6738f00a4f08 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -708,6 +708,8 @@ int if_setcapenable(if_t ifp, int capenable); int if_setcapenablebit(if_t ifp, int setcap, int clearcap); int if_getcapenable(if_t ifp); const char *if_getdname(if_t ifp); +void if_setdescr(if_t ifp, char *descrbuf); +void if_freedescr(char *descrbuf); int if_setdev(if_t ifp, void *dev); int if_setdrvflagbits(if_t ifp, int if_setflags, int clear_flags); int if_getdrvflags(if_t ifp); From nobody Mon Jan 23 22:12:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148s3gSfz2t19y; Mon, 23 Jan 2023 22:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P148s3C1xz3N9y; Mon, 23 Jan 2023 22:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OpjCmYnowQ5ZX86JrIWQbdtg+BylS/hk1H4/BtfjhKY=; b=CckI5sbOb+2tk8bMHUBd8UOC9NNxuklR+rIzGgP6p1VRF27t2ILkryWoi3w5TJJv7b4PFz Aq/YV/sVlGhkINLIV1l89lNDzJ5JevmQAy5IeOxkxs/SwM8jbVHOB8W2UiW6zWLTlb6yhZ dvzPhiXa4QbMAuY/YEjmaxSouicEYr0G8OZd9D4Z30u1em7OFABQjicFEOlx4+1x0ozIwn gQa1S9PmVj5EhtxJS7MJRPaIIjuklassLX6HtbWZCzp7wfFHobbPeUqvWYsLlb2qse8qmi 82thQlNKtv92xfC0HAa3f7tCVdNdRsAamgdFq1PEVn6l2aDmbnaZvGh1TxhxOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OpjCmYnowQ5ZX86JrIWQbdtg+BylS/hk1H4/BtfjhKY=; b=mfoYBOsmvgHvHwUDXLkeJ8kdRIH7oGCW7p/K7dDKP7aRfHOl2VUbbqF6JGTI1gVRo8/TXm YgvP08QEJFvOvDyu0CpUCOJ4K2Xvz8OoWLIoblG6TOCw5+yhXJXFtrORrfQQQauiTyfRf9 gkgk2+8j1fczCHlrVrZuhFFhn1OEqktqLLkHh0KTnvqt4uGXgkPdzDTX7F15HMD3lAHsxs 7J3H3Nb2Hj2bMZMzsHdejf/kONsib6TkXBtyRTosOjTVw7R0xF/Gf1Jyz+Q6O9dC6NweMm oazXVmLCciAgo01fzssNPix2J0GWkYpFxdk/wjK1xsPZ2qJ+yqBuMBVh0p6oRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511949; a=rsa-sha256; cv=none; b=OHUYpTSg7W37getxNxN8A/+tQkb52VR9hByY6QNmutq+VUdqst2tcCwu4K5I+0Kw4YAQDD wGEu4YwhxVglOdETMd1+P/GJjIZfrKBcz7GnGkRmiZIOob5PF28p83ufIjA7kzPhyFHQN8 0hqdQP1mzRssSDp0K220pF2B35vKe+vsp71tntBp7/Ce2yml9fMejr8ZwrQF0T2Ij/ftpi 0J5ifsqoQm/lRi08DT3M+cWZVI1LGM+QxCauztrYbZF2tAsyVhUHtPDYN8FJDN5BbPVCF8 LYhozYxWJWzvPSvBg7lDhf0W95UWchET7vInnqtfsItcqSYfAdUaxXQnV0dNmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148s2B9gzltv; Mon, 23 Jan 2023 22:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCT6c017526; Mon, 23 Jan 2023 22:12:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCTEM017525; Mon, 23 Jan 2023 22:12:29 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:29 GMT Message-Id: <202301232212.30NMCTEM017525@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 40c711523e3a - stable/13 - net: add if_allocdescr() to permit updating iface description from the kernel List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 40c711523e3ae6323294c2a1ec8285e494a338da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=40c711523e3ae6323294c2a1ec8285e494a338da commit 40c711523e3ae6323294c2a1ec8285e494a338da Author: Alexander V. Chernikov AuthorDate: 2022-11-30 13:49:07 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:10:07 +0000 net: add if_allocdescr() to permit updating iface description from the kernel Reviewed by: kp,zlei Differential Revision: https://reviews.freebsd.org/D37566 MFC after: 2 weeks (cherry picked from commit 984b27d879e14d88834ddfb7b9f9a4c40a84c492) --- sys/net/if.c | 10 ++++++++-- sys/net/if_var.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 813525c2e7bd..4df376cbc7a6 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2573,8 +2573,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) else if (ifr_buffer_get_length(ifr) == 0) descrbuf = NULL; else { - descrbuf = malloc(ifr_buffer_get_length(ifr), - M_IFDESCR, M_WAITOK | M_ZERO); + descrbuf = if_allocdescr(ifr_buffer_get_length(ifr), M_WAITOK); error = copyin(ifr_buffer_get_buffer(ifr), descrbuf, ifr_buffer_get_length(ifr) - 1); if (error) { @@ -4163,6 +4162,13 @@ if_setdescr(if_t ifp, char *descrbuf) if_freedescr(odescrbuf); } +char * +if_allocdescr(size_t sz, int malloc_flag) +{ + malloc_flag &= (M_WAITOK | M_NOWAIT); + return (malloc(sz, M_IFDESCR, M_ZERO | malloc_flag)); +} + void if_freedescr(char *descrbuf) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 6738f00a4f08..c0f7de44dc55 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -709,6 +709,7 @@ int if_setcapenablebit(if_t ifp, int setcap, int clearcap); int if_getcapenable(if_t ifp); const char *if_getdname(if_t ifp); void if_setdescr(if_t ifp, char *descrbuf); +char *if_allocdescr(size_t sz, int malloc_flag); void if_freedescr(char *descrbuf); int if_setdev(if_t ifp, void *dev); int if_setdrvflagbits(if_t ifp, int if_setflags, int clear_flags); From nobody Mon Jan 23 22:12:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148t54wyz2t15G; Mon, 23 Jan 2023 22:12: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 4P148t3jLzz3N5Z; Mon, 23 Jan 2023 22:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0w58FlL8IiXVjTxAKkTDnSUYbbz3R/+NXn38JuPeI2w=; b=PkKto0TMW1GBNHn7J5HjpzQp1CPhlTTQvo6bE1xMrHPY5TnNNAplP7wA4pGY4WhnGgGyfA D9xUAbrnJJwmKRTaoaOVlbyPikMSMkjuMNAc0g8AOxCfI/m7G7hv5sqZ9x+H7ujbnSx+fn y0FmzJ6GdnD1P6GTcwcR2YOPd2tkvxlfCwfJHYWALWSnlCynomPU0QL/9cLM05PbqXNC1f fC+v+e53MiNWNobE3ImHEaCdviI0vJBUW9NjmOrAEzmMGEe/lj1bP3nVUZ0GsF57RD8OAg OfIAIFvbr7Y2gjNgltlA+z0jpnrWlPwE+9AomubQAEoNrSeozQ2NGt2lz6lmwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0w58FlL8IiXVjTxAKkTDnSUYbbz3R/+NXn38JuPeI2w=; b=dm2ktZJ9nF+nI/IdMsCH68UZAFvwBt9MOT/+E1k6QQURwBDYg6tjvM3TtHdXdAqXcMOHD8 iT1D17yMHR88RZD03I72yBEVxbQ0iRmIk++D+Eu5hOiSkMdbGPgrucE3YETLhjJ4WCo4xP 6LxtAauPuksnozR9JUHH4mYmHoA137AHDnbbpLMW8laBo2tsq1CpHsciUNAHyckKsdC4qt 1ptYZMCyvE5dkCtAzY2R5RsDu2HIMUp8PkpXgF4FokPTiD+57ECWXldnRd0lWlg+ZAJmiM Ceeua9N/H8CgejsbHCTo9zmrceg6B7FVOs6cVs3T5Rehyz03QGm/Xli6GKNZZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511950; a=rsa-sha256; cv=none; b=ivDxt4Mtolax1m7ZNclEpoUwUsZeUSzf4lJi9Cf9TAoniHEZ5lSQNsvgTFpXJhYl8xebhf g9N1GYvDiAJtDdBFWZQsk9oR9O6gb9eZzqtVuDANixIZMwHkBskQyQFyTkzMGTBKj3I8TB fAEpgJOy0f/ULUKU/Hh72x+Pazykh2CtQ6xm3eLpv8wGPKc37o3r6tUPeJV+88PGZrvTUX 8Zz3jKsOzw/DrshMUQErDH6nb6OClPUZVDZ3+Q6qu3Pn4WakRkQqXWbDsyDaJSipHDqSRB yT40KKcPhxDEH7s6ygwGaUIfrEkg6MaMzMbSm+HURO16vXMF2eEIrg8W9ikZ2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148t2k36zltx; Mon, 23 Jan 2023 22:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCU0m017550; Mon, 23 Jan 2023 22:12:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCUFu017549; Mon, 23 Jan 2023 22:12:30 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:30 GMT Message-Id: <202301232212.30NMCUFu017549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 0edb2cd13d89 - stable/13 - if_clone: rework cloning KPI List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0edb2cd13d895dc439915c25dee172f9e878c45a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=0edb2cd13d895dc439915c25dee172f9e878c45a commit 0edb2cd13d895dc439915c25dee172f9e878c45a Author: Alexander V. Chernikov AuthorDate: 2022-09-22 09:37:37 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:10:07 +0000 if_clone: rework cloning KPI The current cloning KPI does not provide a way of creating interfaces with parameres from within kernel. The reason is that those parameters are passed as an opaque pointer and it is not possible to specify whether this pointer references kernel-space or user-space. Instead of just adding a flag, generalise the KPI to simplify the extension process. Unify current notion of `SIMPLE` and `ADVANCED` users by leveraging newly-added IFC_C_AUTOUNIT flag to automatically pick unit number, which is a primary feature of the "SIMPLE" KPI. Use extendable structures everywhere instead of passing function pointers or parameters. Isolate all parts of the oldKPI under `CLONE_COMPAT_13` so it can be safely merged back to 13. Old KPI will be removed after the merge. Differential Revision: https://reviews.freebsd.org/D36632 MFC after: 2 weeks (cherry picked from commit 09ee0fc023c0c7ef90cb277afbb473abe4d95a9a) --- sys/net/if_clone.c | 262 +++++++++++++++++++++++++++++++++++------------------ sys/net/if_clone.h | 41 ++++++++- 2 files changed, 215 insertions(+), 88 deletions(-) diff --git a/sys/net/if_clone.c b/sys/net/if_clone.c index a98e43328e0c..9eddab286c31 100644 --- a/sys/net/if_clone.c +++ b/sys/net/if_clone.c @@ -72,12 +72,14 @@ struct if_clone { LIST_HEAD(, ifnet) ifc_iflist; /* (i) List of cloned interfaces */ struct mtx ifc_mtx; /* Mutex to protect members. */ - enum { SIMPLE, ADVANCED } ifc_type; /* (c) */ + ifc_match_f *ifc_match; /* (c) Matcher function */ + ifc_create_f *ifc_create; /* (c) Creates new interface */ + ifc_destroy_f *ifc_destroy; /* (c) Destroys cloned interface */ +#ifdef CLONE_COMPAT_13 /* (c) Driver specific cloning functions. Called with no locks held. */ union { struct { /* advanced cloner */ - ifc_match_t *_ifc_match; ifc_create_t *_ifc_create; ifc_destroy_t *_ifc_destroy; } A; @@ -88,23 +90,31 @@ struct if_clone { } S; } U; -#define ifc_match U.A._ifc_match -#define ifc_create U.A._ifc_create -#define ifc_destroy U.A._ifc_destroy +#define ifca_create U.A._ifc_create +#define ifca_destroy U.A._ifc_destroy #define ifcs_create U.S._ifcs_create #define ifcs_destroy U.S._ifcs_destroy #define ifcs_minifs U.S._ifcs_minifs +#endif LIST_ENTRY(if_clone) ifc_list; /* (e) On list of cloners */ }; + + static void if_clone_free(struct if_clone *ifc); static int if_clone_createif(struct if_clone *ifc, char *name, size_t len, - caddr_t params); + struct ifc_data *ifd, struct ifnet **ifpp); -static int ifc_simple_match(struct if_clone *, const char *); -static int ifc_simple_create(struct if_clone *, char *, size_t, caddr_t); -static int ifc_simple_destroy(struct if_clone *, struct ifnet *); +static int ifc_simple_match(struct if_clone *ifc, const char *name); +static int ifc_handle_unit(struct if_clone *ifc, char *name, size_t len, int *punit); + +#ifdef CLONE_COMPAT_13 +static int ifc_simple_create_wrapper(struct if_clone *ifc, char *name, size_t maxlen, + struct ifc_data *ifc_data, struct ifnet **ifpp); +static int ifc_advanced_create_wrapper(struct if_clone *ifc, char *name, size_t maxlen, + struct ifc_data *ifc_data, struct ifnet **ifpp); +#endif static struct mtx if_cloners_mtx; MTX_SYSINIT(if_cloners_lock, &if_cloners_mtx, "if_cloners lock", MTX_DEF); @@ -175,31 +185,25 @@ vnet_if_clone_init(void) * Lookup and create a clone network interface. */ int -if_clone_create(char *name, size_t len, caddr_t params) +ifc_create_ifp(const char *name, struct ifc_data *ifd, + struct ifnet **ifpp) { struct if_clone *ifc; + char ifname[IFNAMSIZ]; + struct ifnet *ifp = NULL; + int error; /* Try to find an applicable cloner for this request */ IF_CLONERS_LOCK(); LIST_FOREACH(ifc, &V_if_cloners, ifc_list) - if (ifc->ifc_type == SIMPLE) { - if (ifc_simple_match(ifc, name)) - break; - } else { - if (ifc->ifc_match(ifc, name)) - break; - } + if (ifc->ifc_match(ifc, name)) + break; #ifdef VIMAGE if (ifc == NULL && !IS_DEFAULT_VNET(curvnet)) { CURVNET_SET_QUIET(vnet0); LIST_FOREACH(ifc, &V_if_cloners, ifc_list) - if (ifc->ifc_type == SIMPLE) { - if (ifc_simple_match(ifc, name)) - break; - } else { - if (ifc->ifc_match(ifc, name)) - break; - } + if (ifc->ifc_match(ifc, name)) + break; CURVNET_RESTORE(); } #endif @@ -208,7 +212,26 @@ if_clone_create(char *name, size_t len, caddr_t params) if (ifc == NULL) return (EINVAL); - return (if_clone_createif(ifc, name, len, params)); + strlcpy(ifname, name, IFNAMSIZ); + error = if_clone_createif(ifc, ifname, IFNAMSIZ, ifd, &ifp); + if (ifpp != NULL) + *ifpp = ifp; + + return (error); +} + +int +if_clone_create(char *name, size_t len, caddr_t params) +{ + struct ifc_data ifd = { .params = params }; + struct ifnet *ifp; + + int error = ifc_create_ifp(name, &ifd, &ifp); + + if (error == 0) + strlcpy(name, if_name(ifp), len); + + return (error); } void @@ -227,26 +250,27 @@ if_clone_addif(struct if_clone *ifc, struct ifnet *ifp) * Create a clone network interface. */ static int -if_clone_createif(struct if_clone *ifc, char *name, size_t len, caddr_t params) +if_clone_createif(struct if_clone *ifc, char *name, size_t len, + struct ifc_data *ifd, struct ifnet **ifpp) { - int err; - struct ifnet *ifp; + int err, unit = 0; if (ifunit(name) != NULL) return (EEXIST); - if (ifc->ifc_type == SIMPLE) - err = ifc_simple_create(ifc, name, len, params); - else - err = (*ifc->ifc_create)(ifc, name, len, params); - - if (!err) { - ifp = ifunit(name); - if (ifp == NULL) - panic("%s: lookup failed for %s", __func__, name); - - if_clone_addif(ifc, ifp); + if (ifc->ifc_flags & IFC_F_AUTOUNIT) { + if ((err = ifc_handle_unit(ifc, name, len, &unit)) != 0) + return (err); + ifd->unit = unit; } + *ifpp = NULL; + err = (*ifc->ifc_create)(ifc, name, len, ifd, ifpp); + + if (err == 0) { + MPASS(*ifpp != NULL); + if_clone_addif(ifc, *ifpp); + } else if (ifc->ifc_flags & IFC_F_AUTOUNIT) + ifc_free_unit(ifc, unit); return (err); } @@ -276,13 +300,8 @@ if_clone_destroy(const char *name) if (ifc == NULL && !IS_DEFAULT_VNET(curvnet)) { CURVNET_SET_QUIET(vnet0); LIST_FOREACH(ifc, &V_if_cloners, ifc_list) - if (ifc->ifc_type == SIMPLE) { - if (ifc_simple_match(ifc, name)) - break; - } else { - if (ifc->ifc_match(ifc, name)) - break; - } + if (ifc->ifc_match(ifc, name)) + break; CURVNET_RESTORE(); } #endif @@ -300,15 +319,12 @@ if_clone_destroy(const char *name) /* * Destroy a clone network interface. */ -int -if_clone_destroyif(struct if_clone *ifc, struct ifnet *ifp) +static int +if_clone_destroyif_flags(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) { int err; struct ifnet *ifcifp; - if (ifc->ifc_type == ADVANCED && ifc->ifc_destroy == NULL) - return(EOPNOTSUPP); - /* * Given that the cloned ifnet might be attached to a different * vnet from where its cloner was registered, we have to @@ -328,26 +344,31 @@ if_clone_destroyif(struct if_clone *ifc, struct ifnet *ifp) CURVNET_RESTORE(); return (ENXIO); /* ifp is not on the list. */ } - if ((ifc->ifc_flags & IFC_NOGROUP) == 0) + if ((ifc->ifc_flags & IFC_F_NOGROUP) == 0) if_delgroup(ifp, ifc->ifc_name); - if (ifc->ifc_type == SIMPLE) - err = ifc_simple_destroy(ifc, ifp); - else - err = (*ifc->ifc_destroy)(ifc, ifp); + int unit = ifp->if_dunit; + err = (*ifc->ifc_destroy)(ifc, ifp, flags); if (err != 0) { - if ((ifc->ifc_flags & IFC_NOGROUP) == 0) + if ((ifc->ifc_flags & IFC_F_NOGROUP) == 0) if_addgroup(ifp, ifc->ifc_name); IF_CLONE_LOCK(ifc); IFC_IFLIST_INSERT(ifc, ifp); IF_CLONE_UNLOCK(ifc); - } + } else if (ifc->ifc_flags & IFC_F_AUTOUNIT) + ifc_free_unit(ifc, unit); CURVNET_RESTORE(); return (err); } +int +if_clone_destroyif(struct if_clone *ifc, struct ifnet *ifp) +{ + return (if_clone_destroyif_flags(ifc, ifp, 0)); +} + static struct if_clone * if_clone_alloc(const char *name, int maxunit) { @@ -385,6 +406,56 @@ if_clone_attach(struct if_clone *ifc) return (0); } +struct if_clone * +ifc_attach_cloner(const char *name, struct if_clone_addreq *req) +{ + if (req->create_f == NULL || req->destroy_f == NULL) + return (NULL); + if (strnlen(name, IFCLOSIZ) >= (IFCLOSIZ - 1)) + return (NULL); + + struct if_clone *ifc = if_clone_alloc(name, req->maxunit); + ifc->ifc_match = req->match_f != NULL ? req->match_f : ifc_simple_match; + ifc->ifc_create = req->create_f; + ifc->ifc_destroy = req->destroy_f; + ifc->ifc_flags = (req->flags & (IFC_F_AUTOUNIT | IFC_F_NOGROUP)); + + if (if_clone_attach(ifc) != 0) + return (NULL); + + EVENTHANDLER_INVOKE(if_clone_event, ifc); + + return (ifc); +} + +void +ifc_detach_cloner(struct if_clone *ifc) +{ + if_clone_detach(ifc); +} + + +#ifdef CLONE_COMPAT_13 + +static int +ifc_advanced_create_wrapper(struct if_clone *ifc, char *name, size_t maxlen, + struct ifc_data *ifc_data, struct ifnet **ifpp) +{ + int error = ifc->ifca_create(ifc, name, maxlen, ifc_data->params); + + if (error == 0) + *ifpp = ifunit(name); + return (error); +} + +static int +ifc_advanced_destroy_wrapper(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) +{ + if (ifc->ifca_destroy == NULL) + return (ENOTSUP); + return (ifc->ifca_destroy(ifc, ifp)); +} + struct if_clone * if_clone_advanced(const char *name, u_int maxunit, ifc_match_t match, ifc_create_t create, ifc_destroy_t destroy) @@ -392,10 +463,11 @@ if_clone_advanced(const char *name, u_int maxunit, ifc_match_t match, struct if_clone *ifc; ifc = if_clone_alloc(name, maxunit); - ifc->ifc_type = ADVANCED; ifc->ifc_match = match; - ifc->ifc_create = create; - ifc->ifc_destroy = destroy; + ifc->ifc_create = ifc_advanced_create_wrapper; + ifc->ifc_destroy = ifc_advanced_destroy_wrapper; + ifc->ifca_destroy = destroy; + ifc->ifca_create = create; if (if_clone_attach(ifc) != 0) return (NULL); @@ -405,6 +477,29 @@ if_clone_advanced(const char *name, u_int maxunit, ifc_match_t match, return (ifc); } +static int +ifc_simple_create_wrapper(struct if_clone *ifc, char *name, size_t maxlen, + struct ifc_data *ifc_data, struct ifnet **ifpp) +{ + int unit = 0; + + ifc_name2unit(name, &unit); + int error = ifc->ifcs_create(ifc, unit, ifc_data->params); + if (error == 0) + *ifpp = ifunit(name); + return (error); +} + +static int +ifc_simple_destroy_wrapper(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) +{ + if (ifp->if_dunit < ifc->ifcs_minifs && (flags & IFC_F_FORCE) == 0) + return (EINVAL); + + ifc->ifcs_destroy(ifp); + return (0); +} + struct if_clone * if_clone_simple(const char *name, ifcs_create_t create, ifcs_destroy_t destroy, u_int minifs) @@ -413,10 +508,13 @@ if_clone_simple(const char *name, ifcs_create_t create, ifcs_destroy_t destroy, u_int unit; ifc = if_clone_alloc(name, 0); - ifc->ifc_type = SIMPLE; + ifc->ifc_match = ifc_simple_match; + ifc->ifc_create = ifc_simple_create_wrapper; + ifc->ifc_destroy = ifc_simple_destroy_wrapper; ifc->ifcs_create = create; ifc->ifcs_destroy = destroy; ifc->ifcs_minifs = minifs; + ifc->ifc_flags = IFC_F_AUTOUNIT; if (if_clone_attach(ifc) != 0) return (NULL); @@ -424,9 +522,11 @@ if_clone_simple(const char *name, ifcs_create_t create, ifcs_destroy_t destroy, for (unit = 0; unit < minifs; unit++) { char name[IFNAMSIZ]; int error __unused; + struct ifc_data ifd = {}; + struct ifnet *ifp; snprintf(name, IFNAMSIZ, "%s%d", ifc->ifc_name, unit); - error = if_clone_createif(ifc, name, IFNAMSIZ, NULL); + error = if_clone_createif(ifc, name, IFNAMSIZ, &ifd, &ifp); KASSERT(error == 0, ("%s: failed to create required interface %s", __func__, name)); @@ -436,6 +536,7 @@ if_clone_simple(const char *name, ifcs_create_t create, ifcs_destroy_t destroy, return (ifc); } +#endif /* * Unregister a network interface cloner. @@ -449,13 +550,9 @@ if_clone_detach(struct if_clone *ifc) V_if_cloners_count--; IF_CLONERS_UNLOCK(); - /* Allow all simples to be destroyed */ - if (ifc->ifc_type == SIMPLE) - ifc->ifcs_minifs = 0; - /* destroy all interfaces for this cloner */ while (!LIST_EMPTY(&ifc->ifc_iflist)) - if_clone_destroyif(ifc, LIST_FIRST(&ifc->ifc_iflist)); + if_clone_destroyif_flags(ifc, LIST_FIRST(&ifc->ifc_iflist), IFC_F_FORCE); IF_CLONE_REMREF(ifc); } @@ -687,7 +784,7 @@ ifc_simple_match(struct if_clone *ifc, const char *name) } static int -ifc_simple_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) +ifc_handle_unit(struct if_clone *ifc, char *name, size_t len, int *punit) { char *dp; int wildcard; @@ -704,12 +801,6 @@ ifc_simple_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) if (err != 0) return (err); - err = ifc->ifcs_create(ifc, unit, params); - if (err != 0) { - ifc_free_unit(ifc, unit); - return (err); - } - /* In the wildcard case, we need to update the name. */ if (wildcard) { for (dp = name; *dp != '\0'; dp++); @@ -723,25 +814,22 @@ ifc_simple_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) panic("if_clone_create(): interface name too long"); } } + *punit = unit; return (0); } -static int -ifc_simple_destroy(struct if_clone *ifc, struct ifnet *ifp) +int +ifc_copyin(const struct ifc_data *ifd, void *target, size_t len) { - int unit; - - unit = ifp->if_dunit; - - if (unit < ifc->ifcs_minifs) + if (ifd->params == NULL) return (EINVAL); - ifc->ifcs_destroy(ifp); - - ifc_free_unit(ifc, unit); - - return (0); + if (ifd->flags & IFC_F_SYSSPACE) { + memcpy(target, ifd->params, len); + return (0); + } else + return (copyin(ifd->params, target, len)); } const char * diff --git a/sys/net/if_clone.h b/sys/net/if_clone.h index 6d7cfb20d829..1e99f396403a 100644 --- a/sys/net/if_clone.h +++ b/sys/net/if_clone.h @@ -39,10 +39,48 @@ #include -#define IFC_NOGROUP 0x1 +#define CLONE_COMPAT_13 struct if_clone; +/* Public KPI */ +struct ifc_data { + uint32_t flags; + uint32_t unit; /* Selected unit when IFC_C_AUTOUNIT set */ + void *params; + struct vnet *vnet; +}; + +typedef int ifc_match_f(struct if_clone *ifc, const char *name); +typedef int ifc_create_f(struct if_clone *ifc, char *name, size_t maxlen, + struct ifc_data *ifd, struct ifnet **ifpp); +typedef int ifc_destroy_f(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags); + +struct if_clone_addreq { + uint16_t version; /* Always 0 for now */ + uint16_t spare; + uint32_t flags; + uint32_t maxunit; /* Maximum allowed unit number */ + ifc_match_f *match_f; + ifc_create_f *create_f; + ifc_destroy_f *destroy_f; +}; + +#define IFC_F_NOGROUP 0x01 /* Creation flag: don't add unit group */ +#define IFC_F_AUTOUNIT 0x02 /* Creation flag: automatically select unit */ +#define IFC_F_SYSSPACE 0x04 /* Cloner callback: params pointer is in kernel memory */ +#define IFC_F_FORCE 0x08 /* Deletion flag: force interface deletion */ + +#define IFC_NOGROUP IFC_F_NOGROUP + +struct if_clone *ifc_attach_cloner(const char *name, struct if_clone_addreq *req); +void ifc_detach_cloner(struct if_clone *ifc); +int ifc_create_ifp(const char *name, struct ifc_data *ifd, + struct ifnet **ifpp); + +int ifc_copyin(const struct ifc_data *ifd, void *target, size_t len); +#ifdef CLONE_COMPAT_13 + /* Methods. */ typedef int ifc_match_t(struct if_clone *, const char *); typedef int ifc_create_t(struct if_clone *, char *, size_t, caddr_t); @@ -58,6 +96,7 @@ struct if_clone * struct if_clone * if_clone_simple(const char *, ifcs_create_t, ifcs_destroy_t, u_int); void if_clone_detach(struct if_clone *); +#endif /* Unit (de)allocating functions. */ int ifc_name2unit(const char *name, int *unit); From nobody Mon Jan 23 22:12:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P148v5vTKz2t17s; Mon, 23 Jan 2023 22:12: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 4P148v4xpQz3N5q; Mon, 23 Jan 2023 22:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=grv9pWCRmVyHKsXvgyCdKNV9Cu8l/KT3oCVDHP/sSOw=; b=JQdWp/Zx6+s44VQuyk3d8C8RQIdfi/r2lfLmlvu67HkmvPMKXoTJsXpn7KvGSnx8zi7KMb G7eaaDUbb+ICV00PvoxLeE7zNfqe7st08uBC6fEJQxgzrGXSLm8Csp3EMdkYORewH7sOhs gtGn8HeUlTB84N6bTO5mD/nla/b4NRcW3W8MKiYDn1inbGqkQnTte1zAq9jMIgIznS9lh1 KhVRh/CX05yDubCxa9nvJHP52dSlOr9Qv7Z8pJ+AcAgkFqYfi75eXGOH1w0kXuRVZRiH8k 4YjrL5KFT3IR5F9DVk9pF0o0XLCCnzCCGiibC9FRu70OomfJbMC1v/gYxF8LNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674511951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=grv9pWCRmVyHKsXvgyCdKNV9Cu8l/KT3oCVDHP/sSOw=; b=CdEnBi28Z6aVhYd8EiBwdxsc1TyNw/vR+NS8RfS1YeWkh+d98nBA4xQdIYd32e//NQxG5p ETghOocdT6T/EurvnSCpLs3NxTBrH0bfdGOZrNIyl2spGx+Q5qKt3kT4SZhdrjfKN5dqlJ CughLCfOfmgdeBCLNlUGL9eM9joFtvx7VG02BXf2kCodMwTsLmTVYvruQ4TN1MUftItxx1 ZQLpZhxnB9qfTmmiA2WlCQNlSD3+a0Amgpw2fuYbp23ZYczvkbhgrs2iLTg7g01Rzr4g5J +1yr8nrXoLKrNV47VXTAEsRpLPlRPBk66lDY5hf/zeZZQUxB2QGOfN9SfsncZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674511951; a=rsa-sha256; cv=none; b=NlkeXvZAIIVKpCjI+60ZCClD4jLt/B95QWXcu1F8yfYU1zBpMXgODrvKnebXsKqUyjw5X8 SGyG5ffAk5oolSzWxHZyI5iqxpvu47AcCW09nD4rqQIbtuXw2Dw1Eq6J8k80yHw14MinvH hKKbjG5hGBYDqjd3KLYlv6GylLMUOnQlXQpDw36U+ZMz6LsFlIHVdOr3J87jcIsQuBKC6q kOqrp+rhzGXwQePeXDh7QV9IXh3wVz+z00yplDl3N5Wid1y/fwhDm/FHRvR/2ndTKU8T3Q To3yP2dvKffwIEBqyYbO/Z1U7pnfGSLXh26UnE/WzOchtnHD2fIBt1YDFGk9Jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P148v3w5Wzm2d; Mon, 23 Jan 2023 22:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NMCVCN017574; Mon, 23 Jan 2023 22:12:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NMCVcG017573; Mon, 23 Jan 2023 22:12:31 GMT (envelope-from git) Date: Mon, 23 Jan 2023 22:12:31 GMT Message-Id: <202301232212.30NMCVcG017573@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 16ae7b665c7e - stable/13 - nhop: hash ifnet pointer instead of if_index List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 16ae7b665c7eac41fc717d9f09da2a2fb4ed1973 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=16ae7b665c7eac41fc717d9f09da2a2fb4ed1973 commit 16ae7b665c7eac41fc717d9f09da2a2fb4ed1973 Author: Gleb Smirnoff AuthorDate: 2021-12-04 18:05:46 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-23 22:10:07 +0000 nhop: hash ifnet pointer instead of if_index Yet another problem created by VIMAGE/if_vmove/epair design that relocates ifnet between vnets and changes if_index. Since if_index changes, nhop hash values also changes, unlink_nhop() isn't able to find entry in hash and leaks the nhop. Since nhop references ifnet, the latter is also leaked. As result running network tests leaks memory on every single test that creates vnet jail. While here, rewrite whole hash_priv() to use static initializer, per Alexander's suggestion. Reviewed by: melifaro (cherry picked from commit ad2a0aec295478e750158b8985422f15deee0e54) --- sys/net/route/nhop.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/sys/net/route/nhop.c b/sys/net/route/nhop.c index 782bdd037d3e..07bced3e8b11 100644 --- a/sys/net/route/nhop.c +++ b/sys/net/route/nhop.c @@ -186,13 +186,13 @@ nhops_destroy_rib(struct rib_head *rh) * With that in mind, hash nexthops by the combination of the interface * and GW IP address. * - * To optimize hash calculation, ignore higher bytes of ifindex, as they - * give very little entropy. + * To optimize hash calculation, ignore lower bits of ifnet pointer, + * as they give very little entropy. * Similarly, use lower 4 bytes of IPv6 address to distinguish between the * neighbors. */ struct _hash_data { - uint16_t ifindex; + uint16_t ifentropy; uint8_t family; uint8_t nh_type; uint32_t gw_addr; @@ -213,21 +213,15 @@ djb_hash(const unsigned char *h, const int len) static uint32_t hash_priv(const struct nhop_priv *priv) { - struct nhop_object *nh; - uint16_t ifindex; - struct _hash_data key; - - nh = priv->nh; - ifindex = nh->nh_ifp->if_index & 0xFFFF; - memset(&key, 0, sizeof(key)); - - key.ifindex = ifindex; - key.family = nh->gw_sa.sa_family; - key.nh_type = priv->nh_type & 0xFF; - if (nh->gw_sa.sa_family == AF_INET6) - memcpy(&key.gw_addr, &nh->gw6_sa.sin6_addr.s6_addr32[3], 4); - else if (nh->gw_sa.sa_family == AF_INET) - memcpy(&key.gw_addr, &nh->gw4_sa.sin_addr, 4); + struct nhop_object *nh = priv->nh; + struct _hash_data key = { + .ifentropy = (uint16_t)((((uintptr_t)nh->nh_ifp) >> 6) & 0xFFFF), + .family = nh->gw_sa.sa_family, + .nh_type = priv->nh_type & 0xFF, + .gw_addr = (nh->gw_sa.sa_family == AF_INET6) ? + nh->gw6_sa.sin6_addr.s6_addr32[3] : + nh->gw4_sa.sin_addr.s_addr + }; return (uint32_t)(djb_hash((const unsigned char *)&key, sizeof(key))); } From nobody Tue Jan 24 04:46:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1DvZ4tpFz3bG5s; Tue, 24 Jan 2023 04:46: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 4P1DvZ4896z4KnB; Tue, 24 Jan 2023 04:46:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NbofAEMOAMLKPcjfxj1ViWjsOxs/jvZj8BUfr3WnISk=; b=DvflChWESsp7oNp/ZUiB7CHhsjGZkGSm9FKFYBOsivrLVUOg/OmH0zcCT3QTB5ZwQC75h+ CN9Y/obuy91Vur89kSHOewHyq6qEqXirX2QzBnhfA3/cjuQJp6kX41NlmEVWKahs14zRyU rFSoxepYNOEPZhYEnTSLyfCpsOlcpA2u5GGxd25ABe4u8zfcak8TQNFWHkv29fmexJcEec GKYO9PeML8uXUutFucUMC/sCkHlc3ygbKin15/PMC+DZm1bNPIbM9OVB0MDs8n9ZVqQLy+ R/rLZAYIem/a/dFQnTeGScRFBt6Av9Iez6VD02PM5g+fAOj9zMNY8o5uvw5rAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NbofAEMOAMLKPcjfxj1ViWjsOxs/jvZj8BUfr3WnISk=; b=SZ6o/qOV8sfVfJEVYykZnO/HYZbepZ5Ppg+aPhfSYuaX41ZfzL1A4wmtlSd+76OB5pWYg5 EQxtR/gVRLFjqVIzdNul6BOyKtWps+LhpY9X5dwklm+W2hlsJplCqGVnsyF2v4iPR4u4K7 uh/vp2pWgxXTdCAkcU3lsPONYB4iuYJnrh0RFLadFpGtAyd95j+AYhg9p43QmIDcu01Eq0 3Yc7KG7eUwecHXXo+2hq6GbPQpgNiEzm2CvIARhvA6VOW31UZHZLYR9RZUI/Nk0NkWjucV 2YlpUYOsq6ed8XxMquBk1INTOSj/KXUjzJj0TegjKs2VxGmrPWXQOaf/r593mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674535594; a=rsa-sha256; cv=none; b=Qo1ekG4Qg2uAZS1hoHc5ZufeHC/MNbFaCAouf+/X43W7xW4yAhDyL8PjyQubFTRYtm4DYL xBJcWshv0kZXUNclRyNb5/AHX53l+UDymZwhvpJc4rtfjNuqtG2o3ZILPq/qCd9mvQBvhh hO88CRJfiuCIt2g7CcoM2UrzRxB3k9tIwJv+WVdP96PrmZiWleq3ArvAFMKMEW1UO0ZVfG Lv4GREhSU2XUw02APN8ivLangvmvEeovJGn0aHaR30jCRptAz3OcyDad1//q4/lkKrJ057 jO+vovBXkrtGL2Hfag71qPWCg3yFX+CKx4A06E8X7Nw913rSh25/4ilppZSh0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1DvZ36C0zwd3; Tue, 24 Jan 2023 04:46:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O4kYND076086; Tue, 24 Jan 2023 04:46:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O4kYu6076085; Tue, 24 Jan 2023 04:46:34 GMT (envelope-from git) Date: Tue, 24 Jan 2023 04:46:34 GMT Message-Id: <202301240446.30O4kYu6076085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b9cab0f39cc8 - stable/13 - iwlwifi: Disable -Wformat when building with GCC. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b9cab0f39cc88554bfd6338ee1b1a91227334856 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b9cab0f39cc88554bfd6338ee1b1a91227334856 commit b9cab0f39cc88554bfd6338ee1b1a91227334856 Author: John Baldwin AuthorDate: 2022-02-03 18:48:18 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:33:49 +0000 iwlwifi: Disable -Wformat when building with GCC. GCC's -Wformat complains about NULL format strings passed to iwl_fw_dbg_collect_trig (though the function handles NULL format strings). Curious that upstream iwlwifi in Linux is built with GCC and explicitly opts into this warning via the __printf() attribute. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D34146 (cherry picked from commit 87c5d39f77bc8c38738a6dc200f711f4418c5018) --- sys/modules/iwlwifi/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index 831fe97847a5..5cf652267354 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -63,4 +63,7 @@ CFLAGS+= -DCONFIG_IWLWIFI_DEVICE_TRACING=1 #CFLAGS+= -DCONFIG_THERMAL=1 #CFLAGS+= -DCONFIG_EFI=1 +# GCC warns about NULL format strings passed to iwl_fw_dbg_collect_trig +CWARNFLAGS.gcc+= -Wno-format + .include From nobody Tue Jan 24 04:46:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1Dvb6C83z3bGH6; Tue, 24 Jan 2023 04:46: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 4P1Dvb5HLqz4Khc; Tue, 24 Jan 2023 04:46:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QaSCI+fW8stemS7EkKUkLQBpOnXaZCyUAyHVH2h8SVY=; b=PPJqqFZ/Isu55F/zq1TYTmF/RvHQxim2Cw9z8KfOISfTrQp5QwNMz0dG4n1d7vnIv61oI8 dqJBd5LFnxRRfOqDX0CFA8/ajLXDdnSstQhwawgwBt6TNrG7MINUhfnZ1/ZpdjFC6171gA qPwRxnljsT6DWTPPPrXZBJCDV2OlglaTBYbEDmlrVYlS93/KTxmO8Bd/FsbjHxC+UP1rzJ p+R426R/aPM+Sg58/Wj5/BrV6IVYH90OBodtjBNvG5iE/uOXYN/V7Lz8ja3hsM1mOouQOb EhdPc7ihHEK2m/6GOnp2YcVkeDQjSsbxRpFppZhpM56vAvk8EuBCspIrerNP2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QaSCI+fW8stemS7EkKUkLQBpOnXaZCyUAyHVH2h8SVY=; b=kePvhb+9DDkZpwf7X4zRym0KTDb5V1dyjh7CBlphh/R0GlysQ35h9u73qevplP+19d5K64 LsQDOkd7G0i1w18LL3khM5D4kAQlllzo+lb/zt6kJf+cqmiudFHmZKla6k3a0HY3v+vgqV t6R5SUejYeH9ne7CrialqCLLZTBtVtJRr2wLSv3/IN/4IU/2+v5BKWSkFnxQORLzji3NTe w3kcwxnwxROmUuFJpaNZ345/u75MQbJMin1DDGExZGRsKySrB/qAzSw/hb23Zfxizy7PyJ PmP53y4+gsTNWyNpzhkw9VetByQTl81KgIrzbjU+WnBjwJRQbtBMMaLeDcGJYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674535595; a=rsa-sha256; cv=none; b=XpzPk90sUyJUBHNP74LTOFDUKYZnwLn9KfIA1sXUpK+33KnpLZPrBpiuWagVfJLXmv+sJ9 7l6QWav3eQrsQCaXNgcJmLEo9nTRkQrUBNAJwdCHHuyZGuXFMKXmkSrrJMc4/uajZOyAfI +QzRji760Gm9qKNgEvow63thD+i8pjrxRj/6rdIZgLSUIXcaqnN8hb/8RO2DlU4Bt0wJJN bp5U6nDc5vHBtEuqAxV3Yb/n5sqfA/TCwMZTmv2D5edrhLH4dvFrVOa1eXL97OTDZ4+WvZ sy4rx0i9qqQFVzLbesV9EbDxeKuTJ557a+SXcGJMwZUCmpu1U7FOjIj0g2zWGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1Dvb3XDPzwsk; Tue, 24 Jan 2023 04:46:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O4kZ57076113; Tue, 24 Jan 2023 04:46:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O4kZug076112; Tue, 24 Jan 2023 04:46:35 GMT (envelope-from git) Date: Tue, 24 Jan 2023 04:46:35 GMT Message-Id: <202301240446.30O4kZug076112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ac44dcce625e - stable/13 - smc: Rename constants for control register from CTR* to CTRL*. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ac44dcce625e1091cf126b16a1608cb079d68234 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ac44dcce625e1091cf126b16a1608cb079d68234 commit ac44dcce625e1091cf126b16a1608cb079d68234 Author: John Baldwin AuthorDate: 2022-04-13 00:11:28 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:34:43 +0000 smc: Rename constants for control register from CTR* to CTRL*. This avoids a conflict with the recently-added CTR macro in . (cherry picked from commit 613e07c07f3b069eae08d9c5f5642713621c4a43) --- sys/dev/smc/if_smc.c | 6 +++--- sys/dev/smc/if_smcreg.h | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/smc/if_smc.c b/sys/dev/smc/if_smc.c index c8cd345596ce..830a8af82923 100644 --- a/sys/dev/smc/if_smc.c +++ b/sys/dev/smc/if_smc.c @@ -1175,9 +1175,9 @@ smc_reset(struct smc_softc *sc) * Set up the control register. */ smc_select_bank(sc, 1); - ctr = smc_read_2(sc, CTR); - ctr |= CTR_LE_ENABLE | CTR_AUTO_RELEASE; - smc_write_2(sc, CTR, ctr); + ctr = smc_read_2(sc, CTRL); + ctr |= CTRL_LE_ENABLE | CTRL_AUTO_RELEASE; + smc_write_2(sc, CTRL, ctr); /* * Reset the MMU. diff --git a/sys/dev/smc/if_smcreg.h b/sys/dev/smc/if_smcreg.h index 4642966f0d49..2705cff1dee5 100644 --- a/sys/dev/smc/if_smcreg.h +++ b/sys/dev/smc/if_smcreg.h @@ -140,15 +140,15 @@ #define GPR 0xa /* Bank 1, Offset 0xc: Control Register */ -#define CTR 0xa -#define CTR_STORE 0x0001 /* Store registers to EEPROM */ -#define CTR_RELOAD 0x0002 /* Reload registers from EEPROM */ -#define CTR_EEPROM_SELECT 0x0004 /* Select registers to store/reload */ -#define CTR_TE_ENABLE 0x0020 /* TX error causes EPH interrupt */ -#define CTR_CR_ENABLE 0x0040 /* Ctr rollover causes EPH interrupt */ -#define CTR_LE_ENABLE 0x0080 /* Link error causes EPH interrupt */ -#define CTR_AUTO_RELEASE 0x0800 /* Automatically release TX packets */ -#define CTR_RCV_BAD 0x4000 /* Receive/discard bad CRC packets */ +#define CTRL 0xa +#define CTRL_STORE 0x0001 /* Store registers to EEPROM */ +#define CTRL_RELOAD 0x0002 /* Reload registers from EEPROM */ +#define CTRL_EEPROM_SELECT 0x0004 /* Select registers to store/reload */ +#define CTRL_TE_ENABLE 0x0020 /* TX error causes EPH interrupt */ +#define CTRL_CR_ENABLE 0x0040 /* Ctr rollover causes EPH interrupt */ +#define CTRL_LE_ENABLE 0x0080 /* Link error causes EPH interrupt */ +#define CTRL_AUTO_RELEASE 0x0800 /* Automatically release TX packets */ +#define CTRL_RCV_BAD 0x4000 /* Receive/discard bad CRC packets */ /* Bank 2, Offset 0x0: MMU Command Register */ #define MMUCR 0x0 From nobody Tue Jan 24 04:46:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1Dvc5yHtz3bGMy; Tue, 24 Jan 2023 04:46: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 4P1Dvc5Cdnz4Kj7; Tue, 24 Jan 2023 04:46:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gWG9KIbYgkewSEkv6E+N1dYVwAwcm93CohcT7Ln+CBg=; b=KirBYQ79CZBDA8hBFBkHVTy1vh2QVNUROyjBYhuux63UOvlDIc83o49oNdzM5ELackAhsB r/Qc47KgfPCBy5Y7HJF4BT2CkvoV+l4IDS4G7GXiZTo+T2nASVcTzRYpf3G5F9ZnqAIWN5 IHgYIMTl67QmxzJxpaguRK9+7l0s08pQKkB1XWQzt1kl9XFThMh/q8vIa17UOcsrD8yBVz nn7k5Qd2cqicXlZTsNcM2PCy18FX+9T1fIbx/ipo/IGDisf4tWql/jT6npea1TYHLVh3XC FyUfkQK9vEgDWiJJD7ee2FyZiQajg9Lw+rGIDAGy2a5O9KZVR7XOQiK981il5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gWG9KIbYgkewSEkv6E+N1dYVwAwcm93CohcT7Ln+CBg=; b=wyUQbqUy+e2F3vY1ylRI0tm00U9G06lxLGoBsP4DiBs/WMxnzSx7J2uq3uJs8khsu+jvNB 7bEDzNwiSXOD40WkzrgX6k+FIQJyec341LSoLitzwob1XJXelQ8GnhImAXRno3Fz4+qEn/ 7h9V2ZPBEAbpllwNOJ+vlYv02vacsCgXVQNoniJnwiEOJWcKcYU3/Jyl0+HRnp/rYdXl7o Ul15V+VFnbtXLYKrSkgGJiSnLK/pkCFEaxKTo9EStZ/gCucvwswXWohLQxs86JhdlDgvQT qKUjkYeRQWd+W5KfoYR8Ncqd0VKADqkZalUVRoFLbIj9FNVbiovJDmLf0oni9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674535596; a=rsa-sha256; cv=none; b=gi4wA/w8/6YtEEG0+pjuwsQOMOKYjxy2eDYos9uMU4k3c3xIJBtFkk3L8QT9e6BKJLvk9L 8K0+8hNTNg+hVXHxJOTCUJL47CxXhWeHjz3Iiy4mEnPSW7Wojd8DAYZpjc0OY4QRvuVDd7 tpozH+vP6qMBarKzDQEzYJml3PSRTorLHzfo9B2/pJCRPKjObWFL7AMf6gR2PmFkeY2E61 iQx8ql6vODxlRZu0ZFNju9SmaXxy/FJc5aSFr6iZnqnEvyN+HUKKLY0/XOEf69402Tm16w RFHJWs9LGMbOs4hYQmdtovKkselGsVJQrYogI+cLeJ4ok6D3W3YYCzBKRdLPKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1Dvc4CtHzwbd; Tue, 24 Jan 2023 04:46:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O4ka0K076138; Tue, 24 Jan 2023 04:46:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O4kadI076137; Tue, 24 Jan 2023 04:46:36 GMT (envelope-from git) Date: Tue, 24 Jan 2023 04:46:36 GMT Message-Id: <202301240446.30O4kadI076137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: cc50ec0289bc - stable/13 - Add device and ifnet logging methods, similar to device_printf / if_printf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cc50ec0289bca8f9e906f5c46e0c56b4681ce8f2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cc50ec0289bca8f9e906f5c46e0c56b4681ce8f2 commit cc50ec0289bca8f9e906f5c46e0c56b4681ce8f2 Author: Adrian Chadd AuthorDate: 2021-03-21 18:49:05 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:42:53 +0000 Add device and ifnet logging methods, similar to device_printf / if_printf * device_printf() is effectively a printf * if_printf() is effectively a LOG_INFO This allows subsystems to log device/netif stuff using different log levels, rather than having to invent their own way to prefix unit/netif names. Differential Revision: https://reviews.freebsd.org/D29320 Reviewed by: imp (cherry picked from commit 25bfa448602cac74723115d0b0bd145ac795b685) --- sys/kern/subr_bus.c | 41 +++++++++++++++++++++++++++++++++++++++++ sys/net/if.c | 26 +++++++++++++++++++++++--- sys/net/if_var.h | 1 + sys/sys/bus.h | 1 + 4 files changed, 66 insertions(+), 3 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index c1383add7e47..4512a9c83bb2 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -2443,6 +2443,47 @@ device_printf(device_t dev, const char * fmt, ...) return (retval); } +/** + * @brief Print the name of the device followed by a colon, a space + * and the result of calling log() with the value of @p fmt and + * the following arguments. + * + * @returns the number of characters printed + */ +int +device_log(device_t dev, int pri, const char * fmt, ...) +{ + char buf[128]; + struct sbuf sb; + const char *name; + va_list ap; + size_t retval; + + retval = 0; + + sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN); + + name = device_get_name(dev); + + if (name == NULL) + sbuf_cat(&sb, "unknown: "); + else + sbuf_printf(&sb, "%s%d: ", name, device_get_unit(dev)); + + va_start(ap, fmt); + sbuf_vprintf(&sb, fmt, ap); + va_end(ap); + + sbuf_finish(&sb); + + log(pri, "%.*s", (int) sbuf_len(&sb), sbuf_data(&sb)); + retval = sbuf_len(&sb); + + sbuf_delete(&sb); + + return (retval); +} + /** * @internal */ diff --git a/sys/net/if.c b/sys/net/if.c index 4df376cbc7a6..9de81b7da248 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -3975,15 +3975,35 @@ if_initname(struct ifnet *ifp, const char *name, int unit) strlcpy(ifp->if_xname, name, IFNAMSIZ); } +static int +if_vlog(struct ifnet *ifp, int pri, const char *fmt, va_list ap) +{ + char if_fmt[256]; + + snprintf(if_fmt, sizeof(if_fmt), "%s: %s", ifp->if_xname, fmt); + vlog(pri, if_fmt, ap); + return (0); +} + + int if_printf(struct ifnet *ifp, const char *fmt, ...) { - char if_fmt[256]; va_list ap; - snprintf(if_fmt, sizeof(if_fmt), "%s: %s", ifp->if_xname, fmt); va_start(ap, fmt); - vlog(LOG_INFO, if_fmt, ap); + if_vlog(ifp, LOG_INFO, fmt, ap); + va_end(ap); + return (0); +} + +int +if_log(struct ifnet *ifp, int pri, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + if_vlog(ifp, pri, fmt, ap); va_end(ap); return (0); } diff --git a/sys/net/if_var.h b/sys/net/if_var.h index c0f7de44dc55..db399d7c7485 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -660,6 +660,7 @@ void if_free(struct ifnet *); void if_initname(struct ifnet *, const char *, int); void if_link_state_change(struct ifnet *, int); int if_printf(struct ifnet *, const char *, ...) __printflike(2, 3); +int if_log(struct ifnet *, int, const char *, ...) __printflike(3, 4); void if_ref(struct ifnet *); void if_rele(struct ifnet *); bool __result_use_check if_try_ref(struct ifnet *); diff --git a/sys/sys/bus.h b/sys/sys/bus.h index a308810f158f..2179e718c668 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -624,6 +624,7 @@ int device_is_quiet(device_t dev); device_t device_lookup_by_name(const char *name); int device_print_prettyname(device_t dev); int device_printf(device_t dev, const char *, ...) __printflike(2, 3); +int device_log(device_t dev, int pri, const char *, ...) __printflike(3, 4); int device_probe(device_t dev); int device_probe_and_attach(device_t dev); int device_probe_child(device_t bus, device_t dev); From nobody Tue Jan 24 04:46:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1Dvd68W1z3bG8Q; Tue, 24 Jan 2023 04:46: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 4P1Dvd5pv4z4Kq1; Tue, 24 Jan 2023 04:46:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tkqlIXLSDICmytfodsoJInhrUHmmprKdecoSwDzCyEw=; b=eR44DiBdXc45J6mdV0NrIJxruKpgbGRlAEhaDAxm2Qa9SsuH8dl9gf0QYmLHXBeH+M9lzz FY9etfokKyZ7C3qMUmquNAicwoAZAejMgvBosiLCZI+te35UGdceqqiPtqc1o59sOpMTYw Y0QILk+a6GV/LY7GB60gBnjcE4i9F6cQBaea2G7rYOg27UmG8SCroqqBEvxIxdAXT7YrqO l6De33IRyghJXR0dRDGG5iBOF8ZuQUr36jiBYMrwpbpId1Bt5h5QgNSWobTbgN41SC7uxv lzW1kd5KQyJyDD8Qlo6gvXgqB0mesIZQK+4XKdfxZmwlNmkrL1NrvOZA0ecRUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674535597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tkqlIXLSDICmytfodsoJInhrUHmmprKdecoSwDzCyEw=; b=Ppqjeev5FfTvl1MgApwIgWnWLaG73V2H9j2YMeEutiFTcIKmcA0TN7GJ0kfO21dCBOwbI7 28q0Xv24eIvXAnZKcj6tXlWwgNWVyJR43CcLKyyfdcd3vb5+vdCipzU2r8gy7669022T2M /NbmgDTZvPyVN70RK56vu7KJ9GvNXF3PnRzV7jCzYncy0aY4lDdltJPCzEzXAip1O7jNGs gZboDHDGp9l8JTMaJs2jpulR5/18TcIrK4IUTaFsT3t7WaG7Bb7DbU9kV0EZJuPWzVRTTa JnLahF5i15tmJg7dMxXi2i0qPv4ltu0apU3I8U0S+lx+QIdKvVOqUhkr2D6UNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674535597; a=rsa-sha256; cv=none; b=K4ZS2irH1EKsir84pxTKD0PLA/ykJNEi2E3b7NwQDEmlTH1cdCI2qxrppw4Bh77Z/EOn7b lCkYqyn5P6bWUr9fkVqx69+khhI1nUV1C4bQn5W48YNSxtru/Sh3ctDR7QxueSNtONxriI kyvoT1Vxmt1vjlVHlgjamjCjmvMAksoRWCTnoGaYVTdyXFVL8Y1hJjv/VxXCVT4xCT5WkP 4KPGGPhkzcOe8eS+cbrHRY1ZLD+feQpfAGH91vpobP+HcrUi03IvE2MOnqvvRrT9BZfFBF AIG4+MsReQbHzytHKTstMLJUZedcreTtLWGsU/tCF+CxTlvedmbKrMkn3I2o/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1Dvd4wpTzwjC; Tue, 24 Jan 2023 04:46:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O4kbki076167; Tue, 24 Jan 2023 04:46:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O4kb4e076166; Tue, 24 Jan 2023 04:46:37 GMT (envelope-from git) Date: Tue, 24 Jan 2023 04:46:37 GMT Message-Id: <202301240446.30O4kb4e076166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: db3f075d8761 - stable/13 - psm: Swap the unit member in the softc for a device_t. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: db3f075d8761ced1132ce2dc1c4fc1b51a803691 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=db3f075d8761ced1132ce2dc1c4fc1b51a803691 commit db3f075d8761ced1132ce2dc1c4fc1b51a803691 Author: John Baldwin AuthorDate: 2022-04-21 20:52:48 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:43:52 +0000 psm: Swap the unit member in the softc for a device_t. This entails various changes to make this driver more "modern" (new-bus vs pre-new-bus) using device_log() and device_printf() rather than psm%d. It also fixes the device_busy/unbusy calls to use sc->dev directly rather than looking the device_t up via the devclass and unit. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35006 (cherry picked from commit a6c09f20e8e00bec7d9eb088b4f32dd38bf7f490) --- sys/dev/atkbdc/psm.c | 199 ++++++++++++++++++++++++--------------------------- 1 file changed, 92 insertions(+), 107 deletions(-) diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c index 438315ec9629..5ecddd7616ee 100644 --- a/sys/dev/atkbdc/psm.c +++ b/sys/dev/atkbdc/psm.c @@ -116,6 +116,10 @@ __FBSDID("$FreeBSD$"); if (verbose >= level) \ log args; \ } while (0) +#define VDLOG(level, ...) do { \ + if (verbose >= level) \ + device_log(__VA_ARGS__); \ +} while (0) #ifndef PSM_INPUT_TIMEOUT #define PSM_INPUT_TIMEOUT 2000000 /* 2 sec */ @@ -414,7 +418,7 @@ typedef struct elantechaction { /* driver control block */ struct psm_softc { /* Driver status information */ - int unit; + device_t dev; struct selinfo rsel; /* Process selecting for Input */ u_char state; /* Mouse driver state */ int config; /* driver configuration flags */ @@ -455,7 +459,7 @@ struct psm_softc { /* Driver status information */ int watchdog; /* watchdog timer flag */ struct callout callout; /* watchdog timer call out */ struct callout softcallout; /* buffer timer call out */ - struct cdev *dev; + struct cdev *cdev; struct cdev *bdev; int lasterr; int cmdcount; @@ -1045,9 +1049,8 @@ doinitialize(struct psm_softc *sc, mousemode_t *mode) case 3: case PSM_ACK: if (verbose) - log(LOG_DEBUG, - "psm%d: strange result for test aux port (%d).\n", - sc->unit, i); + device_log(sc->dev, LOG_DEBUG, + "strange result for test aux port (%d).\n", i); /* FALLTHROUGH */ case 0: /* no error */ break; @@ -1056,8 +1059,8 @@ doinitialize(struct psm_softc *sc, mousemode_t *mode) recover_from_error(kbdc); if (sc->config & PSM_CONFIG_IGNPORTERROR) break; - log(LOG_ERR, "psm%d: the aux port is not functioning (%d).\n", - sc->unit, i); + device_log(sc->dev, LOG_ERR, + "the aux port is not functioning (%d).\n", i); return (FALSE); } @@ -1073,8 +1076,8 @@ doinitialize(struct psm_softc *sc, mousemode_t *mode) */ if (!reset_aux_dev(kbdc)) { recover_from_error(kbdc); - log(LOG_ERR, "psm%d: failed to reset the aux device.\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to reset the aux device.\n"); return (FALSE); } } @@ -1084,8 +1087,8 @@ doinitialize(struct psm_softc *sc, mousemode_t *mode) * if the device can be enabled. */ if (!enable_aux_dev(kbdc) || !disable_aux_dev(kbdc)) { - log(LOG_ERR, "psm%d: failed to enable the aux device.\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to enable the aux device.\n"); return (FALSE); } empty_both_buffers(kbdc, 10); /* remove stray data if any */ @@ -1111,8 +1114,8 @@ doinitialize(struct psm_softc *sc, mousemode_t *mode) /* just check the status of the mouse */ if (get_mouse_status(kbdc, stat, 0, 3) < 3) - log(LOG_DEBUG, "psm%d: failed to get status (doinitialize).\n", - sc->unit); + device_log(sc->dev, LOG_DEBUG, + "failed to get status (doinitialize).\n"); return (TRUE); } @@ -1141,9 +1144,8 @@ doopen(struct psm_softc *sc, int command_byte) if (mux_enabled) set_active_aux_mux_port(sc->kbdc, sc->muxport); else - log(LOG_ERR, "psm%d: failed to enable " - "active multiplexing mode.\n", - sc->unit); + device_log(sc->dev, LOG_ERR, "failed to enable " + "active multiplexing mode.\n"); } mouse_ext_command(sc->kbdc, SYNAPTICS_READ_MODES); get_mouse_status(sc->kbdc, stat, 0, 3); @@ -1151,9 +1153,8 @@ doopen(struct psm_softc *sc, int command_byte) stat[1] == 0x47) && stat[2] == 0x40) { synaptics_set_mode(sc, synaptics_preferred_mode(sc)); - VLOG(5, (LOG_DEBUG, "psm%d: Synaptis Absolute Mode " - "hopefully restored\n", - sc->unit)); + VDLOG(5, sc->dev, LOG_DEBUG, "Synaptis Absolute Mode " + "hopefully restored\n"); } if (mux_enabled) disable_aux_mux(sc->kbdc); @@ -1165,14 +1166,12 @@ doopen(struct psm_softc *sc, int command_byte) */ if (sc->hw.model == MOUSE_MODEL_GENERIC) { if (tap_enabled > 0) { - VLOG(2, (LOG_DEBUG, - "psm%d: enable tap and drag gestures\n", - sc->unit)); + VDLOG(2, sc->dev, LOG_DEBUG, + "enable tap and drag gestures\n"); synaptics_set_mode(sc, synaptics_preferred_mode(sc)); } else if (tap_enabled == 0) { - VLOG(2, (LOG_DEBUG, - "psm%d: disable tap and drag gestures\n", - sc->unit)); + VDLOG(2, sc->dev, LOG_DEBUG, + "disable tap and drag gestures\n"); synaptics_set_mode(sc, synaptics_preferred_mode(sc)); } } @@ -1199,16 +1198,15 @@ doopen(struct psm_softc *sc, int command_byte) restore_controller(sc->kbdc, command_byte); /* mark this device is no longer available */ sc->state &= ~PSM_VALID; - log(LOG_ERR, - "psm%d: failed to enable the device (doopen).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to enable the device (doopen).\n"); return (EIO); } } if (get_mouse_status(sc->kbdc, stat, 0, 3) < 3) - log(LOG_DEBUG, "psm%d: failed to get status (doopen).\n", - sc->unit); + device_log(sc->dev, LOG_DEBUG, + "failed to get status (doopen).\n"); /* enable the aux port and interrupt */ if (!set_controller_command_byte(sc->kbdc, @@ -1218,9 +1216,8 @@ doopen(struct psm_softc *sc, int command_byte) /* CONTROLLER ERROR */ disable_aux_dev(sc->kbdc); restore_controller(sc->kbdc, command_byte); - log(LOG_ERR, - "psm%d: failed to enable the aux interrupt (doopen).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to enable the aux interrupt (doopen).\n"); return (EIO); } @@ -1250,9 +1247,8 @@ reinitialize(struct psm_softc *sc, int doinit) /* save the current controller command byte */ empty_both_buffers(sc->kbdc, 10); c = get_controller_command_byte(sc->kbdc); - VLOG(2, (LOG_DEBUG, - "psm%d: current command byte: %04x (reinitialize).\n", - sc->unit, c)); + VDLOG(2, sc->dev, LOG_DEBUG, + "current command byte: %04x (reinitialize).\n", c); /* enable the aux port but disable the aux interrupt and the keyboard */ if ((c == -1) || !set_controller_command_byte(sc->kbdc, @@ -1262,9 +1258,8 @@ reinitialize(struct psm_softc *sc, int doinit) /* CONTROLLER ERROR */ splx(s); kbdc_lock(sc->kbdc, FALSE); - log(LOG_ERR, - "psm%d: unable to set the command byte (reinitialize).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "unable to set the command byte (reinitialize).\n"); return (EIO); } @@ -1289,9 +1284,8 @@ reinitialize(struct psm_softc *sc, int doinit) /* the device has gone! */ restore_controller(sc->kbdc, c); sc->state &= ~PSM_VALID; - log(LOG_ERR, - "psm%d: the aux device has gone! (reinitialize).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "the aux device has gone! (reinitialize).\n"); err = ENXIO; } } @@ -1303,8 +1297,8 @@ reinitialize(struct psm_softc *sc, int doinit) /* enable the aux device and the port again */ err = doopen(sc, c); if (err != 0) - log(LOG_ERR, "psm%d: failed to enable the device " - "(reinitialize).\n", sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to enable the device (reinitialize).\n"); } else { /* restore the keyboard port and disable the aux port */ if (!set_controller_command_byte(sc->kbdc, @@ -1312,8 +1306,8 @@ reinitialize(struct psm_softc *sc, int doinit) (c & KBD_KBD_CONTROL_BITS) | KBD_DISABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) { /* CONTROLLER ERROR */ - log(LOG_ERR, "psm%d: failed to disable the aux port " - "(reinitialize).\n", sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to disable the aux port (reinitialize).\n"); err = EIO; } } @@ -1370,7 +1364,6 @@ psmidentify(driver_t *driver, device_t parent) static int psmprobe(device_t dev) { - int unit = device_get_unit(dev); struct psm_softc *sc = device_get_softc(dev); int stat[3]; int command_byte; @@ -1392,7 +1385,7 @@ psmprobe(device_t dev) } bus_release_resource(dev, SYS_RES_IRQ, rid, sc->intr); - sc->unit = unit; + sc->dev = dev; sc->kbdc = atkbdc_open(device_get_unit(device_get_parent(dev))); if (sc->kbdc == NULL) return (ENXIO); @@ -1414,7 +1407,7 @@ psmprobe(device_t dev) device_set_desc(dev, "PS/2 Mouse"); if (!kbdc_lock(sc->kbdc, TRUE)) { - printf("psm%d: unable to lock the controller.\n", unit); + device_printf(dev, "unable to lock the controller.\n"); if (bootverbose) --verbose; return (ENXIO); @@ -1433,12 +1426,11 @@ psmprobe(device_t dev) mask = kbdc_get_device_mask(sc->kbdc) & ~KBD_AUX_CONTROL_BITS; command_byte = get_controller_command_byte(sc->kbdc); if (verbose) - printf("psm%d: current command byte:%04x\n", unit, - command_byte); + device_printf(dev, "current command byte:%04x\n", command_byte); if (command_byte == -1) { /* CONTROLLER ERROR */ - printf("psm%d: unable to get the current command byte value.\n", - unit); + device_printf(dev, + "unable to get the current command byte value.\n"); endprobe(ENXIO); } @@ -1456,7 +1448,7 @@ psmprobe(device_t dev) */ if (ALWAYS_RESTORE_CONTROLLER(sc->kbdc)) restore_controller(sc->kbdc, command_byte); - printf("psm%d: unable to set the command byte.\n", unit); + device_printf(dev, "unable to set the command byte.\n"); endprobe(ENXIO); } write_controller_command(sc->kbdc, KBDC_ENABLE_AUX_PORT); @@ -1484,8 +1476,8 @@ psmprobe(device_t dev) case 3: case PSM_ACK: if (verbose) - printf("psm%d: strange result for test aux port " - "(%d).\n", unit, i); + device_printf(dev, "strange result for test aux port " + "(%d).\n", i); /* FALLTHROUGH */ case 0: /* no error */ break; @@ -1497,8 +1489,8 @@ psmprobe(device_t dev) if (ALWAYS_RESTORE_CONTROLLER(sc->kbdc)) restore_controller(sc->kbdc, command_byte); if (verbose) - printf("psm%d: the aux port is not functioning (%d).\n", - unit, i); + device_printf(dev, + "the aux port is not functioning (%d).\n", i); endprobe(ENXIO); } @@ -1521,14 +1513,14 @@ psmprobe(device_t dev) if (ALWAYS_RESTORE_CONTROLLER(sc->kbdc)) restore_controller(sc->kbdc, command_byte); if (verbose) - printf("psm%d: failed to reset the aux " - "device.\n", unit); + device_printf(dev, "failed to reset the aux " + "device.\n"); endprobe(ENXIO); } else if (!reset_aux_dev(sc->kbdc)) { recover_from_error(sc->kbdc); if (verbose >= 2) - printf("psm%d: failed to reset the aux device " - "(2).\n", unit); + device_printf(dev, "failed to reset the aux " + "device (2).\n"); } } @@ -1544,8 +1536,7 @@ psmprobe(device_t dev) if (ALWAYS_RESTORE_CONTROLLER(sc->kbdc)) restore_controller(sc->kbdc, command_byte); if (verbose) - printf("psm%d: failed to enable the aux device.\n", - unit); + device_printf(dev, "failed to enable the aux device.\n"); endprobe(ENXIO); } @@ -1567,7 +1558,7 @@ psmprobe(device_t dev) if (ALWAYS_RESTORE_CONTROLLER(sc->kbdc)) restore_controller(sc->kbdc, command_byte); if (verbose) - printf("psm%d: unknown device type (%d).\n", unit, + device_printf(dev, "unknown device type (%d).\n", sc->hw.hwid); endprobe(ENXIO); } @@ -1598,7 +1589,7 @@ psmprobe(device_t dev) for (i = 0; vendortype[i].probefunc != NULL; ++i) if ((*vendortype[i].probefunc)(sc, PROBE)) { if (verbose >= 2) - printf("psm%d: found %s\n", unit, + device_printf(dev, "found %s\n", model_name(vendortype[i].model)); break; } @@ -1628,7 +1619,7 @@ psmprobe(device_t dev) */ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS); if (verbose >= 2) - printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i); + device_printf(dev, "SET_DEFAULTS return code:%04x\n", i); #endif if (sc->config & PSM_CONFIG_RESOLUTION) sc->mode.resolution = @@ -1652,7 +1643,7 @@ psmprobe(device_t dev) * after ACK from the mouse. */ if (get_mouse_status(sc->kbdc, stat, 0, 3) < 3) - printf("psm%d: failed to get status.\n", unit); + device_printf(dev, "failed to get status.\n"); else { /* * When in its native mode, some mice operate with different @@ -1673,7 +1664,7 @@ psmprobe(device_t dev) */ if (ALWAYS_RESTORE_CONTROLLER(sc->kbdc)) restore_controller(sc->kbdc, command_byte); - printf("psm%d: unable to set the command byte.\n", unit); + device_printf(dev, "unable to set the command byte.\n"); endprobe(ENXIO); } @@ -1975,7 +1966,7 @@ psmattach(device_t dev) mda.mda_mode = 0666; mda.mda_si_drv1 = sc; - if ((error = make_dev_s(&mda, &sc->dev, "psm%d", unit)) != 0) + if ((error = make_dev_s(&mda, &sc->cdev, "psm%d", unit)) != 0) goto out; if ((error = make_dev_s(&mda, &sc->bdev, "bpsm%d", unit)) != 0) goto out; @@ -2020,16 +2011,16 @@ psmattach(device_t dev) } if (!verbose) - printf("psm%d: model %s, device ID %d\n", - unit, model_name(sc->hw.model), sc->hw.hwid & 0x00ff); + device_printf(dev, "model %s, device ID %d\n", + model_name(sc->hw.model), sc->hw.hwid & 0x00ff); else { - printf("psm%d: model %s, device ID %d-%02x, %d buttons\n", - unit, model_name(sc->hw.model), sc->hw.hwid & 0x00ff, + device_printf(dev, "model %s, device ID %d-%02x, %d buttons\n", + model_name(sc->hw.model), sc->hw.hwid & 0x00ff, sc->hw.hwid >> 8, sc->hw.buttons); - printf("psm%d: config:%08x, flags:%08x, packet size:%d\n", - unit, sc->config, sc->flags, sc->mode.packetsize); - printf("psm%d: syncmask:%02x, syncbits:%02x%s\n", - unit, sc->mode.syncmask[0], sc->mode.syncmask[1], + device_printf(dev, "config:%08x, flags:%08x, packet size:%d\n", + sc->config, sc->flags, sc->mode.packetsize); + device_printf(dev, "syncmask:%02x, syncbits:%02x%s\n", + sc->mode.syncmask[0], sc->mode.syncmask[1], sc->config & PSM_CONFIG_NOCHECKSYNC ? " (sync not checked)" : ""); } @@ -2040,7 +2031,7 @@ out: if (error != 0) { bus_release_resource(dev, SYS_RES_IRQ, rid, sc->intr); if (sc->dev != NULL) - destroy_dev(sc->dev); + destroy_dev(sc->cdev); if (sc->bdev != NULL) destroy_dev(sc->bdev); } @@ -2066,7 +2057,7 @@ psmdetach(device_t dev) bus_teardown_intr(dev, sc->intr, sc->ih); bus_release_resource(dev, SYS_RES_IRQ, rid, sc->intr); - destroy_dev(sc->dev); + destroy_dev(sc->cdev); destroy_dev(sc->bdev); callout_drain(&sc->callout); @@ -2170,7 +2161,7 @@ psm_cdev_open(struct cdev *dev, int flag, int fmt, struct thread *td) if (sc->state & PSM_OPEN) return (EBUSY); - device_busy(devclass_get_device(psm_devclass, sc->unit)); + device_busy(sc->dev); #ifdef EVDEV_SUPPORT /* Already opened by evdev */ @@ -2181,7 +2172,7 @@ psm_cdev_open(struct cdev *dev, int flag, int fmt, struct thread *td) if (err == 0) sc->state |= PSM_OPEN; else - device_unbusy(devclass_get_device(psm_devclass, sc->unit)); + device_unbusy(sc->dev); return (err); } @@ -2212,7 +2203,7 @@ psm_cdev_close(struct cdev *dev, int flag, int fmt, struct thread *td) funsetown(&sc->async); sc->async = NULL; } - device_unbusy(devclass_get_device(psm_devclass, sc->unit)); + device_unbusy(sc->dev); } return (err); @@ -2266,9 +2257,8 @@ psmopen(struct psm_softc *sc) /* CONTROLLER ERROR; do you know how to get out of this? */ kbdc_lock(sc->kbdc, FALSE); splx(s); - log(LOG_ERR, - "psm%d: unable to set the command byte (psmopen).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "unable to set the command byte (psmopen).\n"); return (EIO); } /* @@ -2313,9 +2303,8 @@ psmclose(struct psm_softc *sc) kbdc_get_device_mask(sc->kbdc), KBD_DISABLE_KBD_PORT | KBD_DISABLE_KBD_INT | KBD_ENABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) { - log(LOG_ERR, - "psm%d: failed to disable the aux int (psmclose).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to disable the aux int (psmclose).\n"); /* CONTROLLER ERROR; * NOTE: we shall force our way through. Because the only * ill effect we shall see is that we may not be able @@ -2340,15 +2329,13 @@ psmclose(struct psm_softc *sc) * It's OK because the interrupt routine will discard * any data from the mouse hereafter. */ - log(LOG_ERR, - "psm%d: failed to disable the device (psmclose).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to disable the device (psmclose).\n"); } if (get_mouse_status(sc->kbdc, stat, 0, 3) < 3) - log(LOG_DEBUG, - "psm%d: failed to get status (psmclose).\n", - sc->unit); + device_log(sc->dev, LOG_DEBUG, + "failed to get status (psmclose).\n"); } if (!set_controller_command_byte(sc->kbdc, @@ -2359,9 +2346,8 @@ psmclose(struct psm_softc *sc) * CONTROLLER ERROR; * we shall ignore this error; see the above comment. */ - log(LOG_ERR, - "psm%d: failed to disable the aux port (psmclose).\n", - sc->unit); + device_log(sc->dev, LOG_ERR, + "failed to disable the aux port (psmclose).\n"); } /* remove anything left in the output buffer */ @@ -2601,10 +2587,10 @@ psmwrite(struct cdev *dev, struct uio *uio, int flag) if (error) break; for (i = 0; i < l; i++) { - VLOG(4, (LOG_DEBUG, "psm: cmd 0x%x\n", buf[i])); + VDLOG(4, sc->dev, LOG_DEBUG, "cmd 0x%x\n", buf[i]); if (!write_aux_command(sc->kbdc, buf[i])) { - VLOG(2, (LOG_DEBUG, - "psm: cmd 0x%x failed.\n", buf[i])); + VDLOG(2, sc->dev, LOG_DEBUG, + "cmd 0x%x failed.\n", buf[i]); return (reinitialize(sc, FALSE)); } } @@ -2932,7 +2918,7 @@ psmtimeout(void *arg) sc = (struct psm_softc *)arg; s = spltty(); if (sc->watchdog && kbdc_lock(sc->kbdc, TRUE)) { - VLOG(6, (LOG_DEBUG, "psm%d: lost interrupt?\n", sc->unit)); + VDLOG(6, sc->dev, LOG_DEBUG, "lost interrupt?\n"); psmintr(sc); kbdc_lock(sc->kbdc, FALSE); } @@ -6344,7 +6330,7 @@ enable_synaptics_mux(struct psm_softc *sc, enum probearg arg) */ reset_kbd(kbdc); if (!enable_aux_dev(kbdc) || !disable_aux_dev(kbdc)) { - printf("psm%d: AUX MUX hang detected!\n", sc->unit); + device_printf(sc->dev, "AUX MUX hang detected!\n"); printf("Consider adding hw.psm.mux_disabled=1 to " "loader tunables\n"); } @@ -6456,7 +6442,7 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg) } psmcpnp = devclass_get_device(devclass_find(PSMCPNP_DRIVER_NAME), - sc->unit); + device_get_unit(sc->dev)); psmcpnp_sc = (psmcpnp != NULL) ? device_get_softc(psmcpnp) : NULL; /* Set the different capabilities when they exist. */ @@ -7439,10 +7425,9 @@ static int psmresume(device_t dev) { struct psm_softc *sc = device_get_softc(dev); - int unit = device_get_unit(dev); int err; - VLOG(2, (LOG_NOTICE, "psm%d: system resume hook called.\n", unit)); + VDLOG(2, dev, LOG_NOTICE, "system resume hook called.\n"); if ((sc->config & (PSM_CONFIG_HOOKRESUME | PSM_CONFIG_INITAFTERSUSPEND)) == 0) @@ -7459,7 +7444,7 @@ psmresume(device_t dev) wakeup(sc); } - VLOG(2, (LOG_DEBUG, "psm%d: system resume hook exiting.\n", unit)); + VDLOG(2, dev, LOG_DEBUG, "system resume hook exiting.\n"); return (err); } From nobody Tue Jan 24 05:43:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G8t4pspz3bNKW; Tue, 24 Jan 2023 05:43: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 4P1G8t4KP0z4Sdm; Tue, 24 Jan 2023 05:43:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZHx7MkfGfF8WoMSJX552pjVqwDdkdmYYdSd+54/zio=; b=U0+Bq/4jIrbMNdz58m7B9h0b7HHiKUSSGTlev3pcjOLWliSkWiwuJsmANBllmtelHxq2JJ Y/oPSF/3bmJT2irD6nCInHTD6bPQuh0AL0oT0VApjtOoGI8TQofFHuoPi/ORa11kBR66Ht fiWNsMx7b30BrDQDFW4mH02whWq7rcqLNtsrDrQTaUE3jQCrLpXm/swND99Szcp1IHyzNj kEs/uuJP0qfjsnBXhxR4ux3PwuFemSamrtOeQXV4NEhmOp7Y0vLadA7ZiHN+3ey48y7SfQ uY+YJjxmwSeEmT2qHsjeE/VDprEDOCwMo0i905S5c8N3b/hdeAFeDMqehusFTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZHx7MkfGfF8WoMSJX552pjVqwDdkdmYYdSd+54/zio=; b=HH6hQe/yO24sHvcLon5nWP/vJ7e9ipZIO/OajmTa0syonxdOUizRip5Odm3kV6rnFQaKjy 2KJZ2bdypcrSZReJCiZBrYeOx/IqXrBPRFrc8E89cg2fqtgS36t5p+nbpJ+YvIKYnTyBaA +uTudOvSk6vDzkHZBl3WG5/XQb7/ZECH6zTD+1pePy3Tns/UMZ3eT+D51sRhdhpHoVBVhf ndbE2R/EqZPSc4Su+5PY089XtvrAw+gn7FkP+bBnrJ5uMTFJpmcZJ8bocqC4EGNQYjLzvy zGDTyAZlW9I849K1yk6MuM7hNTK+PbXikvmdrboLWBi1OIPySOfVGxtZ1Hmtww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538990; a=rsa-sha256; cv=none; b=SJLPTO0VZYXTEeVvAnIhgz4nN8JZDdE+LqSWo+f3pl+FH0goykNojUzv7GFVIiIdNJApS5 3HncD/xLfRqe4LkDH9IhRYVkKUlYZ+MgqM32yTWd42AeSsMxqZurjKLVEWhzNfNYuZvB2Y vQR7OwY9RaeVpnmjHI5OTpOVnBzYxqMBkD/Q0tsgXtmXQyaUT1U7HmVk+IRjNTS8G1L0qk BubZ476ImsMg1nmfsf93pB1BpHwcKxkBwh5Um8X+9tJTkITprMV3a0221kV57g5suTTsyh 6VtI7VohWIyy3IOvlll6EmbaMoJqRK9iMKzs7xYKBPU3kJGgZQKjY2hdR0ZW3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G8t3N49zy2R; Tue, 24 Jan 2023 05:43:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hAYB061706; Tue, 24 Jan 2023 05:43:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hA6p061705; Tue, 24 Jan 2023 05:43:10 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:10 GMT Message-Id: <202301240543.30O5hA6p061705@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c512afff40c6 - stable/13 - wg.4: Update first appeared release to 13.2. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c512afff40c6996c71700dc85b980432f946de15 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c512afff40c6996c71700dc85b980432f946de15 commit c512afff40c6996c71700dc85b980432f946de15 Author: John Baldwin AuthorDate: 2022-11-11 22:11:33 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:53:05 +0000 wg.4: Update first appeared release to 13.2. MFC after: 3 days (cherry picked from commit 001830ea7aaf2f7de7afe85741f9662d9571e1ee) --- share/man/man4/wg.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/wg.4 b/share/man/man4/wg.4 index d5e712d38ab2..6d0d16d942df 100644 --- a/share/man/man4/wg.4 +++ b/share/man/man4/wg.4 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 30, 2022 +.Dd November 11, 2022 .Dt WG 4 .Os .Sh NAME @@ -199,7 +199,7 @@ is not assigned to the allowed IPs of Peer X. The .Nm device driver first appeared in -.Fx 14.0 . +.Fx 13.2 . .Sh AUTHORS .An -nosplit The From nobody Tue Jan 24 05:43:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G8v5pJLz3bNQh; Tue, 24 Jan 2023 05:43: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 4P1G8v560Bz4SjF; Tue, 24 Jan 2023 05:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=twM8ifbqN8fuXUFj9oNi/C+it+USv5AzabzqLdBRAP8=; b=x3cimFfhYuFvUOe422ye7IhB0JTinlSbC3LH+2XngDBpyUCnqdYZFY425epuki7coFC1qQ Eto3Ieq+SpEyZOa2krFBIbup1x1MMRzvW+5MSl2bf2T3Mjq1AgGSbpVzqzXcMRXIG7xGAj u/zwCHGydbxhoEWgwvt74HIGcnDQj+od7Ko2GjINrb1NQ8VfkFRKpWObgRpPoaf4sv6+5+ TpRtU5CmhMWFtK8BwrhM6ilyCmp5LBlxCYZf7fcEkCTv7yaz/fHe+xUEX6XM9HDseF5uw0 Wca/ua8NMvXDGzPI0tdlC+iPX8H5BriKMqg0Rb+0t9mEAaVjEWnTy7l+oycW9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=twM8ifbqN8fuXUFj9oNi/C+it+USv5AzabzqLdBRAP8=; b=b3ixc4e/LDAuDTyGbY4ViF+/EccgGaZm/OFsehkiLcgcjRs6hsnjqNtKJoTORrEIZ3sRDW JIICZb08+Zla9vix7YC8n8HW4Fr1MZ9brYPXMWnTLwHapmOmA9yDh0f+E7Z+nqs7/AqL/Q FASUEjrHNf5At4fpze7aRNMhInJLC+q5C9GDcOn81qWVNb6nv3oaS7KeBHB+gg7IRyithw UjWQiQyaSQ5rTVxucsQBl9MlOWfdxuIkQFb9eumJ9rWiLJsVWU4lrCnTW5Q+lstwnnpGz7 FcapPG+cZIIGt4zp1x0fGuerd4nzx2PDyVYysV7bPfnCWO9e6o6MSKRkNKKxFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538991; a=rsa-sha256; cv=none; b=sww3t7KxNh8qpOhk6RapCg5WiCO4Tgnrt2INrU4yx1U1lxO9mOUU1qOE2bMpb7RsfGZG4Z UZjZ4h0cT64Zv76A+SqG90MEOHVup/fE2GKYxunHs6m35BmvWsp/vVyN34wILL2gXjx0cI 3V+qOESMkQfl5DdvkRxTAR8b1xEi5NbUpXfnkkGt6zKpxGpGJPDV1A/jUrxp4sYv3URIGm zbn5p/eHmLB3JmagE/dzu/JkUnf4v5u4Iq9FVpn4kQPHxN7g/3Q6gXVJ6O8derICfEZW87 JQji0PmZT8iM83t8r753t1Tk2rZQQm4ZqHfRb6fH7igKdUUVXQj5bvnH6z23qQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G8v42DTzxw6; Tue, 24 Jan 2023 05:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hBAM061733; Tue, 24 Jan 2023 05:43:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hBqf061732; Tue, 24 Jan 2023 05:43:11 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:11 GMT Message-Id: <202301240543.30O5hBqf061732@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 39455b3d3771 - stable/13 - wg: Drop the compat shim for sbcreatecontrol(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39455b3d3771815daaa62c8ecf4527b56a2e8d14 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=39455b3d3771815daaa62c8ecf4527b56a2e8d14 commit 39455b3d3771815daaa62c8ecf4527b56a2e8d14 Author: John Baldwin AuthorDate: 2022-11-11 22:18:48 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:57:11 +0000 wg: Drop the compat shim for sbcreatecontrol(). I had to make a few other changes when merging the driver to stable/13 anyway, so adjusting this as well isn't really a big deal. MFC after: 3 days (cherry picked from commit 573bd1fcf532eae35ac30d6aa2c6ff4985a60fe8) --- sys/dev/wg/compat.h | 7 ------- sys/dev/wg/if_wg.c | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/sys/dev/wg/compat.h b/sys/dev/wg/compat.h index 29f6ea92a50e..72bbf8c3571d 100644 --- a/sys/dev/wg/compat.h +++ b/sys/dev/wg/compat.h @@ -7,11 +7,4 @@ * It is different from support.h, which is for code that is not _yet_ upstream. */ -#include - #define COMPAT_NEED_BLAKE2S - -#if __FreeBSD_version < 1400059 -#include -#define sbcreatecontrol(a, b, c, d, e) sbcreatecontrol(a, b, c, d) -#endif diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index ef4df5c0021e..94395c86f370 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -863,13 +863,13 @@ wg_send(struct wg_softc *sc, struct wg_endpoint *e, struct mbuf *m) if (e->e_local.l_in.s_addr != INADDR_ANY) control = sbcreatecontrol((caddr_t)&e->e_local.l_in, sizeof(struct in_addr), IP_SENDSRCADDR, - IPPROTO_IP, M_NOWAIT); + IPPROTO_IP); #ifdef INET6 } else if (e->e_remote.r_sa.sa_family == AF_INET6) { if (!IN6_IS_ADDR_UNSPECIFIED(&e->e_local.l_in6)) control = sbcreatecontrol((caddr_t)&e->e_local.l_pktinfo6, sizeof(struct in6_pktinfo), IPV6_PKTINFO, - IPPROTO_IPV6, M_NOWAIT); + IPPROTO_IPV6); #endif } else { m_freem(m); From nobody Tue Jan 24 05:43:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G8w6VXKz3bNHY; Tue, 24 Jan 2023 05:43: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 4P1G8w5n6yz4T4c; Tue, 24 Jan 2023 05:43:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AOMBbxkoD0V0cPv/qyAN0+7U0Bm1h2dlv7jFJ1iKvbo=; b=PfJRrqgYjCxANp+wENPC4mNa6AjOFOgLG2jQbv69+DhsHuF4LO8cevoxuOmgAWAn4Hezuv orCAng8u0dLMRYCfpc5xST10MnKXoniVKf8gPcYD1xRMp/uCN6Mqhnan5UVIbnEIFKnw18 X9/mxkP0sp8LkY4LTOkOSjmm897KVlkHm3AHk8XcPvpr8bO1UnYjMfWpoDHdKDiw2RqD3d mVGCIaOjCGnOF+8F3pCrx+B12CCxzRzBv5l7NI5iwvA8NpJjeMnQYKJ20Pv4WFSd6WUTfn /TCkxHcrXAm513U5wNlsrTA/Xf7PXpxBton0YOdBOBvMMMEB3BUYVVtBaCWeEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AOMBbxkoD0V0cPv/qyAN0+7U0Bm1h2dlv7jFJ1iKvbo=; b=eknwEcCb4By81ekHOkInj1vjrG1pzgR2hzWssg1Vt9705Mh53to68Z8KAjoRO02r9Laoj7 chNLOcZ/cpN4GO3UZF0O07v8xpfjPtktC88c09s4ditF3k1VmV42MK6ZXAk/mnQNicwQ8x 6wrlWJ5RSALHvXIA2Kp3FSB9ESyxflj3jy1igREExVibeYg4/j+Pj+ojiiY72sFJCBJ7Uh yKr3EnHZ5LWp4uRKJjlSY+KNdOZ6K2RaP2CoVPaQ2T2uIGB5u3RFGH/0Oj8WkfYokyjPnF igYQk0h7aCr3WZgWO4NYGWOLRohUDHOAIBn8JN1XJmZ3TYu59YMgabiMV9/uJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538992; a=rsa-sha256; cv=none; b=yIOg0gnuJQztPKioRVTF7Q3D76SPrQONbaih0oOHNoA/RgAhlUwdPRymhi4qxsHFWX6h8o mnrrIngMdoezv8s3ur68NamAKZhKXJPkpowjH31R3UTZbZ7R8EevBfgYXNhZQM+XdRwStj qHYP2dtswwytlaZ5H2tE2kzUachCJA80b46vV++ZP8j2CWtACvqQx9ZohhbfvOQAu6ni51 gRugaFLvXE/aX2SMA9YGil4XU1qO/KdJxm7wkFtFtP2Qk+p3Q0Ny/SAPKOgCx8V/ulxzx7 zF7/jBR+Qtb/M2DdzKEv9KfTQzYw1L+3SGXfdoSdshEHp09VPfJmVGhUmLPAkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G8w4nWMzxw7; Tue, 24 Jan 2023 05:43:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hCA6061761; Tue, 24 Jan 2023 05:43:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hCPB061760; Tue, 24 Jan 2023 05:43:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:12 GMT Message-Id: <202301240543.30O5hCPB061760@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4f1a2168f685 - stable/13 - ktls: Don't leak ktls session objects for certain errors. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4f1a2168f685cadd9e8720fc6220a7a686fba2d5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4f1a2168f685cadd9e8720fc6220a7a686fba2d5 commit 4f1a2168f685cadd9e8720fc6220a7a686fba2d5 Author: John Baldwin AuthorDate: 2022-11-12 00:00:37 +0000 Commit: John Baldwin CommitDate: 2023-01-24 04:57:41 +0000 ktls: Don't leak ktls session objects for certain errors. ktls_cleanup() does not free ktls session objects, it merely cleans (and frees) members of the object. Change callers to use ktls_free() instead. Reviewed by: gallatin, markj Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D37352 (cherry picked from commit d01db2b83705eb3557a32ea13143997cdb8135a3) --- sys/kern/uipc_ktls.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index f60d5e0948d0..e3f84171a976 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -682,7 +682,7 @@ ktls_create_session(struct socket *so, struct tls_enable *en, return (0); out: - ktls_cleanup(tls); + ktls_free(tls); return (error); } @@ -1099,7 +1099,7 @@ ktls_enable_rx(struct socket *so, struct tls_enable *en) error = ktls_try_sw(so, tls, KTLS_RX); if (error) { - ktls_cleanup(tls); + ktls_free(tls); return (error); } @@ -1170,13 +1170,13 @@ ktls_enable_tx(struct socket *so, struct tls_enable *en) error = ktls_try_sw(so, tls, KTLS_TX); if (error) { - ktls_cleanup(tls); + ktls_free(tls); return (error); } error = SOCK_IO_SEND_LOCK(so, SBL_WAIT); if (error) { - ktls_cleanup(tls); + ktls_free(tls); return (error); } From nobody Tue Jan 24 05:43:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G8y0CnKz3bNKZ; Tue, 24 Jan 2023 05:43: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 4P1G8x6fqZz4Sxx; Tue, 24 Jan 2023 05:43:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6qc5CvXI7kOmvkplm5CtyGSsAiEtM3moSWnDT1ErY9c=; b=FTgejU8Y5GGE8bTMQ2d8/IOIInPdybJEbph6kk6zmG40PpB85WvVShCEDCiKwpgDkNkBSw cZI9+UZJ/Vt/m6J2SKBNLFwQGKeQ17F+azANoj2erK3cgchsLxQzPxmH/oWzz12zCRLQtG YNYHBlfvfNLSbn/23B3GUX4F1FrSg8RyhQzTaOr4NoYFfWVP/FR9CBeqIKl3AxgFkuhb9F olv9sGq0sWHWFf4j4I62UDW1gKAHR3jTpEf3TTy+7FoikkCXrWm4PNAZWelX/N6q0ncBf0 whfO1+YB16SxhjwCVHk+BkrTuNd9LiyhYkiSmKOTY8WF8vBcuarp+h+/1x5n+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6qc5CvXI7kOmvkplm5CtyGSsAiEtM3moSWnDT1ErY9c=; b=yaJpqtmsJVqRiextbMB6UGQhDtd777zKQwCS/BkbFAZZWvxIaWlBeOvIUMIkl+vmQHcC+b 9dL+PXyo4y62lJUslVYlwx/OSM25NTxZVey/qqw+eODxa++5wGXM0NrdLiVKXz5t7fd321 8U5WDR/WMSq2zkSemdpUkbR8kSCi4xd+3n7wGErmq5AnQLbLkQz8FyqEgMHxG63PXo2MiT W1GAt/ZEZtdTgkAbL5oEachbmTRflvJAUMTaDKzh7woA6W5axSZlHeFZxdgeLtHemFgzeJ GI9yxpFPz1YicdjChL3IKveSMdFoAbkp+tLV28Jy1V2AC823mCn8wMEaIrhnsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538993; a=rsa-sha256; cv=none; b=NSdmEalisg45DrzHjBW1oRK/C1g2tcRXv0qF3Gmx+dNMTWvVpblIYIMBSEr+A5XVtMUGQ/ aE/CaE0YxkHaWQ8JJi9R3zbT6IemoE6O3oXiC0CBZZLy0uhZ8g8Jw3x2L5wNiq/AvHrMEB qigDegjsQKaO/EwChOT8Vj1qfswcTyaswrIucHeXXA7ptPMkUjOYgViUVvtJSZCFkKtyRp WtxcDruiGwlOV8cX1Umwug2A9rE2ZNCa8cpA4OXhJmBBhk0/qZcITiRJmdsJuG765MVRal RVE9Upvs+FTSCpieiFBsHlRSuhhC0T/5oZZElY9LZDi8Ynt6sXG4WBcUwfxQNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G8x5lQgzyHP; Tue, 24 Jan 2023 05:43:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hDpl061785; Tue, 24 Jan 2023 05:43:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hDGD061784; Tue, 24 Jan 2023 05:43:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:13 GMT Message-Id: <202301240543.30O5hDGD061784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 107daeb474b2 - stable/13 - ktls_ocf: Reject encrypted TLS records using AEAD that are too small. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 107daeb474b29ec587dfe7d8cf686eda99094249 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=107daeb474b29ec587dfe7d8cf686eda99094249 commit 107daeb474b29ec587dfe7d8cf686eda99094249 Author: John Baldwin AuthorDate: 2022-11-15 20:02:57 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:08:09 +0000 ktls_ocf: Reject encrypted TLS records using AEAD that are too small. If a TLS record is too small to contain the required explicit IV, record_type (TLS 1.3), and MAC, reject attempts to decrypt it with EMSGSIZE without submitting it to OCF. OCF drivers may not properly detect that regions in the crypto request are outside the bounds of the mbuf chain. The caller isn't supposed to submit such requests. Reviewed by: markj Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D37372 (cherry picked from commit 4e47414648894943413091984124d93bd43e5da1) --- sys/opencrypto/ktls_ocf.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sys/opencrypto/ktls_ocf.c b/sys/opencrypto/ktls_ocf.c index 56156b6a4988..805fab2ddac8 100644 --- a/sys/opencrypto/ktls_ocf.c +++ b/sys/opencrypto/ktls_ocf.c @@ -458,13 +458,19 @@ ktls_ocf_tls12_aead_decrypt(struct ktls_session *tls, struct ocf_session *os; struct ocf_operation oo; int error; - uint16_t tls_comp_len; + uint16_t tls_comp_len, tls_len; os = tls->cipher; oo.os = os; oo.done = false; + /* Ensure record contains at least an explicit IV and tag. */ + tls_len = ntohs(hdr->tls_length); + if (tls_len + sizeof(*hdr) < tls->params.tls_hlen + + tls->params.tls_tlen) + return (EMSGSIZE); + crypto_initreq(&crp, os->sid); /* Setup the IV. */ @@ -484,10 +490,10 @@ ktls_ocf_tls12_aead_decrypt(struct ktls_session *tls, /* Setup the AAD. */ if (tls->params.cipher_algorithm == CRYPTO_AES_NIST_GCM_16) - tls_comp_len = ntohs(hdr->tls_length) - + tls_comp_len = tls_len - (AES_GMAC_HASH_LEN + sizeof(uint64_t)); else - tls_comp_len = ntohs(hdr->tls_length) - POLY1305_HASH_LEN; + tls_comp_len = tls_len - POLY1305_HASH_LEN; ad.seq = htobe64(seqno); ad.type = hdr->tls_type; ad.tls_vmajor = hdr->tls_vmajor; @@ -619,14 +625,16 @@ ktls_ocf_tls13_aead_decrypt(struct ktls_session *tls, struct ocf_session *os; int error; u_int tag_len; + uint16_t tls_len; os = tls->cipher; tag_len = tls->params.tls_tlen - 1; /* Payload must contain at least one byte for the record type. */ - if (ntohs(hdr->tls_length) < tag_len + 1) - return (EBADMSG); + tls_len = ntohs(hdr->tls_length); + if (tls_len < tag_len + 1) + return (EMSGSIZE); crypto_initreq(&crp, os->sid); @@ -643,7 +651,7 @@ ktls_ocf_tls13_aead_decrypt(struct ktls_session *tls, crp.crp_aad_length = sizeof(ad); crp.crp_payload_start = tls->params.tls_hlen; - crp.crp_payload_length = ntohs(hdr->tls_length) - tag_len; + crp.crp_payload_length = tls_len - tag_len; crp.crp_digest_start = crp.crp_payload_start + crp.crp_payload_length; crp.crp_op = CRYPTO_OP_DECRYPT | CRYPTO_OP_VERIFY_DIGEST; From nobody Tue Jan 24 05:43:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G8z32F1z3bNQp; Tue, 24 Jan 2023 05:43: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 4P1G8z0fjGz4TGQ; Tue, 24 Jan 2023 05:43:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GER46Sl412vKaXXQQe7+rVhLqS20JzOr4UPn7V1gG84=; b=TNBBVEdWMc1jKooxOdQBPCBBjsOWWgFRbcll/a9VUEm3KpnaW5hbpmC3lJoU0CzmeHk6Zg SjEWch4nCOdRiWl3mBdMFEiZvGpWSKxQru5FjxW1vpWk0DRvlg/7yLlaO7at1Z8/6f765g bq1euOutYM0znjr1mopGLe+h3ILcM5QDjj+egScnF1RLI9kx8YH4QBQcPHUzoXjio7BOGJ 1FrXwth26iSW45JEucKhKHlH6ViBI2kBc+zc85J0Ykll3OMyV4BZnyTLPAZf9NasJa+1wG vIFhTNP/oI8QF3NPen+CpRvzesg0/37g1tzk3bXGK1utWSLYlrfjfMrvP/y9lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GER46Sl412vKaXXQQe7+rVhLqS20JzOr4UPn7V1gG84=; b=rJUN58qTbkm3bRJ+1V9BIAxbs3WBz4lvxR28d9Yh/39jzgYOZKlBMmJGvDePHK78b57/Ch rDbhLsVeC6/vAYRYnM0uTr7kecz3xaZ4b1CjL2vhc0MGCHOo+HaMj6ep53U1Z5XAXOw87F qiMK9Ta5QPcXNiyVSgwoOP9OfWvM56Dy0qLSanveu82glWbPFRbnM0gEuYp2gPE9cmMoOx hUGEp7AjEYhThUem3o+s7q4z9zu4ANyil/YLCpldOlkZcVrSYWPltv31b81Co3RXGlC9q2 AycQG332Jt+udr6bH4KHN3vv2Ctm4wUITOAOfwSRHdrfiu8S6+Y8b6f1xCIIlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538995; a=rsa-sha256; cv=none; b=r3P0Y91Ib0AEqC6FYb0YsRLkABx0Ig9bfOZf9lXOxe/yzClliyLY0EDusmFNHVINeCvcmW qTLAkHSB09ARI3rYR1lDtmViCT5Z4HOYOUeE3hNnkRxXJRoMuRZPvxyoTbPOnzOXgxsoCe BqFtku3l+vrRsFh8iFrgjY5JI0Mj60Rkj7ntgkuipymdRPD05PbJQcYdzKEK5fKOkUbzD/ CSGH3mSfTnUC3MY1HmnF7ApojZRhyiRgpWht3ooaYVlVbfOIFQuSpS6yFWhf5seVVMkmlm a4SxjN1y4RwdKsjulg6GXjCSFeJIeJIsziZV2S7YxLZhBKXuOpCZopxBIZWHew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G8y6t9Hzy5S; Tue, 24 Jan 2023 05:43:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hEMt061809; Tue, 24 Jan 2023 05:43:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hEbt061808; Tue, 24 Jan 2023 05:43:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:14 GMT Message-Id: <202301240543.30O5hEbt061808@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b0cb849d7f62 - stable/13 - cxgbe: Various whitespace fixes. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b0cb849d7f629408dd6ed532e26db3f4cf076131 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b0cb849d7f629408dd6ed532e26db3f4cf076131 commit b0cb849d7f629408dd6ed532e26db3f4cf076131 Author: John Baldwin AuthorDate: 2022-11-15 20:03:57 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:11:47 +0000 cxgbe: Various whitespace fixes. Mostly trailing whitespace and spaces before tabs. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D37350 (cherry picked from commit 21186bdb2d6a14dbfff7b4366425285b8612cc22) --- sys/dev/cxgbe/adapter.h | 18 +++++++++--------- sys/dev/cxgbe/cudbg/cudbg.h | 4 ++-- sys/dev/cxgbe/cudbg/cudbg_common.c | 4 ++-- sys/dev/cxgbe/iw_cxgbe/cm.c | 12 ++++++------ sys/dev/cxgbe/iw_cxgbe/cq.c | 2 +- sys/dev/cxgbe/iw_cxgbe/mem.c | 2 +- sys/dev/cxgbe/t4_main.c | 23 ++++++++++++----------- sys/dev/cxgbe/t4_netmap.c | 4 ++-- sys/dev/cxgbe/t4_sge.c | 6 +++--- sys/dev/cxgbe/tom/t4_cpl_io.c | 2 +- sys/dev/cxgbe/tom/t4_tls.c | 6 +++--- 11 files changed, 42 insertions(+), 41 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 9e6ccaf31754..b3bffcc32b52 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -129,7 +129,7 @@ enum { enum { /* adapter intr_type */ INTR_INTX = (1 << 0), - INTR_MSI = (1 << 1), + INTR_MSI = (1 << 1), INTR_MSIX = (1 << 2) }; @@ -166,10 +166,10 @@ enum { CXGBE_BUSY = (1 << 9), /* adapter error_flags. reg_lock for HW_OFF_LIMITS, atomics for the rest. */ - ADAP_STOPPED = (1 << 0), /* Adapter has been stopped. */ - ADAP_FATAL_ERR = (1 << 1), /* Encountered a fatal error. */ - HW_OFF_LIMITS = (1 << 2), /* off limits to all except reset_thread */ - ADAP_CIM_ERR = (1 << 3), /* Error was related to FW/CIM. */ + ADAP_STOPPED = (1 << 0), /* Adapter has been stopped. */ + ADAP_FATAL_ERR = (1 << 1), /* Encountered a fatal error. */ + HW_OFF_LIMITS = (1 << 2), /* off limits to all except reset_thread */ + ADAP_CIM_ERR = (1 << 3), /* Error was related to FW/CIM. */ /* port flags */ HAS_TRACEQ = (1 << 3), @@ -179,8 +179,8 @@ enum { DOOMED = (1 << 0), VI_INIT_DONE = (1 << 1), /* 1 << 2 is unused, was VI_SYSCTL_CTX */ - TX_USES_VM_WR = (1 << 3), - VI_SKIP_STATS = (1 << 4), + TX_USES_VM_WR = (1 << 3), + VI_SKIP_STATS = (1 << 4), /* adapter debug_flags */ DF_DUMP_MBOX = (1 << 0), /* Log all mbox cmd/rpl. */ @@ -223,7 +223,7 @@ struct vi_info { /* These need to be int as they are used in sysctl */ int ntxq; /* # of tx queues */ int first_txq; /* index of first tx queue */ - int rsrv_noflowq; /* Reserve queue 0 for non-flowid packets */ + int rsrv_noflowq; /* Reserve queue 0 for non-flowid packets */ int nrxq; /* # of rx queues */ int first_rxq; /* index of first rx queue */ int nofldtxq; /* # of offload tx queues */ @@ -331,7 +331,7 @@ struct port_info { struct link_config link_cfg; struct ifmedia media; - struct port_stats stats; + struct port_stats stats; u_int tnl_cong_drops; u_int tx_parse_error; int fcs_reg; diff --git a/sys/dev/cxgbe/cudbg/cudbg.h b/sys/dev/cxgbe/cudbg/cudbg.h index ae6c21ad095d..497ff4777856 100644 --- a/sys/dev/cxgbe/cudbg/cudbg.h +++ b/sys/dev/cxgbe/cudbg/cudbg.h @@ -452,8 +452,8 @@ void cudbg_free_handle(IN void *handle); /** * cudbg_read_flash_data - Read cudbg “flash” header from adapter flash. - * This will be used by the consumer mainly to - * know the size of the data in flash. + * This will be used by the consumer mainly to + * know the size of the data in flash. * ## Parameters ## * @handle : A pointer returned by cudbg_hello. * @data : A pointer to data/header buffer diff --git a/sys/dev/cxgbe/cudbg/cudbg_common.c b/sys/dev/cxgbe/cudbg/cudbg_common.c index f780e626da0c..841c3867ab07 100644 --- a/sys/dev/cxgbe/cudbg/cudbg_common.c +++ b/sys/dev/cxgbe/cudbg/cudbg_common.c @@ -61,8 +61,8 @@ void release_scratch_buff(struct cudbg_buffer *pscratch_buff, { pdbg_buff->size += pscratch_buff->size; /* Reset the used buffer to zero. - * If we dont do this, then it will effect the ext entity logic. - */ + * If we dont do this, then it will effect the ext entity logic. + */ memset(pscratch_buff->data, 0, pscratch_buff->size); pscratch_buff->data = NULL; pscratch_buff->offset = 0; diff --git a/sys/dev/cxgbe/iw_cxgbe/cm.c b/sys/dev/cxgbe/iw_cxgbe/cm.c index 6b3a06db7aa5..6d29116ff1bb 100644 --- a/sys/dev/cxgbe/iw_cxgbe/cm.c +++ b/sys/dev/cxgbe/iw_cxgbe/cm.c @@ -234,8 +234,8 @@ struct listen_port_info { * |listen_port_list | * |------------------| * | - * | |-----------| |-----------| - * | | port_num:X| | port_num:X| + * | |-----------| |-----------| + * | | port_num:X| | port_num:X| * |--------------|-list------|-------|-list------|-------.... * | lep_list----| | lep_list----| * | refcnt | | | refcnt | | @@ -245,13 +245,13 @@ struct listen_port_info { * | | * | | * | | - * | | lep1 lep2 + * | | lep1 lep2 * | | |----------------| |----------------| * | |----| listen_ep_list |----| listen_ep_list | * | |----------------| |----------------| * | * | - * | lep1 lep2 + * | lep1 lep2 * | |----------------| |----------------| * |---| listen_ep_list |----| listen_ep_list | * |----------------| |----------------| @@ -260,7 +260,7 @@ struct listen_port_info { * each TCP port number. * * Here 'lep1' is always marked as Master lep, because solisten() is always - * called through first lep. + * called through first lep. * */ static struct listen_port_info * @@ -1118,7 +1118,7 @@ process_socket_event(struct c4iw_ep *ep) if (ep->com.state == DEAD) { CTR3(KTR_IW_CXGBE, "%s: Pending socket event discarded " - "ep %p ep_state %s", __func__, ep, states[state]); + "ep %p ep_state %s", __func__, ep, states[state]); return; } diff --git a/sys/dev/cxgbe/iw_cxgbe/cq.c b/sys/dev/cxgbe/iw_cxgbe/cq.c index 55d50d5caf18..a00114150935 100644 --- a/sys/dev/cxgbe/iw_cxgbe/cq.c +++ b/sys/dev/cxgbe/iw_cxgbe/cq.c @@ -135,7 +135,7 @@ create_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, wr = alloc_wrqe(wr_len, &sc->sge.ctrlq[0]); if (wr == NULL) - return (0); + return (0); res_wr = wrtod(wr); memset(res_wr, 0, wr_len); diff --git a/sys/dev/cxgbe/iw_cxgbe/mem.c b/sys/dev/cxgbe/iw_cxgbe/mem.c index dab812d58eec..35b9f6f20088 100644 --- a/sys/dev/cxgbe/iw_cxgbe/mem.c +++ b/sys/dev/cxgbe/iw_cxgbe/mem.c @@ -489,7 +489,7 @@ struct ib_mr *c4iw_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, } shift = ffs(mhp->umem->page_size) - 1; - + n = mhp->umem->nmap; err = alloc_pbl(mhp, n); if (err) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index b21b5a795fe3..f0ef8073919c 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -112,8 +112,8 @@ static device_method_t t4_methods[] = { DEVMETHOD(device_resume, t4_resume), DEVMETHOD(bus_child_location_str, t4_child_location_str), - DEVMETHOD(bus_reset_prepare, t4_reset_prepare), - DEVMETHOD(bus_reset_post, t4_reset_post), + DEVMETHOD(bus_reset_prepare, t4_reset_prepare), + DEVMETHOD(bus_reset_post, t4_reset_post), DEVMETHOD(t4_is_main_ready, t4_ready), DEVMETHOD(t4_read_port_device, t4_read_port_device), @@ -177,8 +177,8 @@ static device_method_t t5_methods[] = { DEVMETHOD(device_resume, t4_resume), DEVMETHOD(bus_child_location_str, t4_child_location_str), - DEVMETHOD(bus_reset_prepare, t4_reset_prepare), - DEVMETHOD(bus_reset_post, t4_reset_post), + DEVMETHOD(bus_reset_prepare, t4_reset_prepare), + DEVMETHOD(bus_reset_post, t4_reset_post), DEVMETHOD(t4_is_main_ready, t4_ready), DEVMETHOD(t4_read_port_device, t4_read_port_device), @@ -216,8 +216,8 @@ static device_method_t t6_methods[] = { DEVMETHOD(device_resume, t4_resume), DEVMETHOD(bus_child_location_str, t4_child_location_str), - DEVMETHOD(bus_reset_prepare, t4_reset_prepare), - DEVMETHOD(bus_reset_post, t4_reset_post), + DEVMETHOD(bus_reset_prepare, t4_reset_prepare), + DEVMETHOD(bus_reset_post, t4_reset_post), DEVMETHOD(t4_is_main_ready, t4_ready), DEVMETHOD(t4_read_port_device, t4_read_port_device), @@ -1127,7 +1127,7 @@ t4_calibration(void *arg) cur = &sc->cal_info[sc->cal_current]; next_up = (sc->cal_current + 1) % CNT_CAL_INFO; - nex = &sc->cal_info[next_up]; + nex = &sc->cal_info[next_up]; if (__predict_false(sc->cal_count == 0)) { /* First time in, just get the values in */ cur->hw_cur = hw; @@ -1990,6 +1990,7 @@ t4_suspend(device_t dev) /* No more DMA or interrupts. */ stop_adapter(sc); + /* Quiesce all activity. */ for_each_port(sc, i) { pi = sc->port[i]; @@ -2428,7 +2429,7 @@ t4_resume(device_t dev) } /* Reset all calibration */ - t4_calibration_start(sc); + t4_calibration_start(sc); done: if (rc == 0) { @@ -9166,7 +9167,7 @@ dump_cimla(struct adapter *sc) rc = sbuf_finish(&sb); if (rc == 0) { log(LOG_DEBUG, "%s: CIM LA dump follows.\n%s\n", - device_get_nameunit(sc->dev), sbuf_data(&sb)); + device_get_nameunit(sc->dev), sbuf_data(&sb)); } } sbuf_delete(&sb); @@ -9607,7 +9608,7 @@ dump_devlog(struct adapter *sc) rc = sbuf_finish(&sb); if (rc == 0) { log(LOG_DEBUG, "%s: device log follows.\n%s", - device_get_nameunit(sc->dev), sbuf_data(&sb)); + device_get_nameunit(sc->dev), sbuf_data(&sb)); } } sbuf_delete(&sb); @@ -13102,7 +13103,7 @@ DB_FUNC(tcb, db_show_t4tcb, db_t4_table, CS_OWN, NULL) tid = db_tok_number; valid = true; } - } + } db_radix = radix; db_skip_to_eol(); if (!valid) { diff --git a/sys/dev/cxgbe/t4_netmap.c b/sys/dev/cxgbe/t4_netmap.c index 8c5b9f500661..75953b1b516b 100644 --- a/sys/dev/cxgbe/t4_netmap.c +++ b/sys/dev/cxgbe/t4_netmap.c @@ -486,7 +486,7 @@ alloc_nm_txq_hwq(struct vi_info *vi, struct sge_nm_txq *nm_txq) udb += (nm_txq->cntxt_id >> s_qpp) << PAGE_SHIFT; nm_txq->udb_qid = nm_txq->cntxt_id & mask; if (nm_txq->udb_qid >= PAGE_SIZE / UDBS_SEG_SIZE) - clrbit(&nm_txq->doorbells, DOORBELL_WCWR); + clrbit(&nm_txq->doorbells, DOORBELL_WCWR); else { udb += nm_txq->udb_qid << UDBS_SEG_SHIFT; nm_txq->udb_qid = 0; @@ -1453,7 +1453,7 @@ service_nm_rxq(struct sge_nm_rxq *nm_rxq) } else if (nframes > 0) netmap_rx_irq(ifp, nm_rxq->nid, &work); - t4_write_reg(sc, sc->sge_gts_reg, V_CIDXINC(ndesc) | + t4_write_reg(sc, sc->sge_gts_reg, V_CIDXINC(ndesc) | V_INGRESSQID((u32)nm_rxq->iq_cntxt_id) | V_SEINTARM(V_QINTR_TIMER_IDX(holdoff_tmr_idx))); } diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index defd7d996f10..1a291af2a24d 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -2035,7 +2035,7 @@ have_mbuf: (cpl->l2info & htobe32(F_RXF_IP6))); m0->m_pkthdr.csum_data = be16toh(cpl->csum); if (tnl_type == 0) { - if (!ipv6 && ifp->if_capenable & IFCAP_RXCSUM) { + if (!ipv6 && ifp->if_capenable & IFCAP_RXCSUM) { m0->m_pkthdr.csum_flags = CSUM_L3_CALC | CSUM_L3_VALID | CSUM_L4_CALC | CSUM_L4_VALID; @@ -2802,7 +2802,7 @@ restart: if (!needs_hwcsum(m0) #ifdef RATELIMIT - && !needs_eo(mst) + && !needs_eo(mst) #endif ) return (0); @@ -4476,7 +4476,7 @@ alloc_eq_hwq(struct adapter *sc, struct vi_info *vi, struct sge_eq *eq) udb += (eq->cntxt_id >> s_qpp) << PAGE_SHIFT; /* pg offset */ eq->udb_qid = eq->cntxt_id & mask; /* id in page */ if (eq->udb_qid >= PAGE_SIZE / UDBS_SEG_SIZE) - clrbit(&eq->doorbells, DOORBELL_WCWR); + clrbit(&eq->doorbells, DOORBELL_WCWR); else { udb += eq->udb_qid << UDBS_SEG_SHIFT; /* seg offset */ eq->udb_qid = 0; diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c index 29e469089b3d..601692cbcd76 100644 --- a/sys/dev/cxgbe/tom/t4_cpl_io.c +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c @@ -1412,7 +1412,7 @@ do_peer_close(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) switch (tp->t_state) { case TCPS_SYN_RECEIVED: tp->t_starttime = ticks; - /* FALLTHROUGH */ + /* FALLTHROUGH */ case TCPS_ESTABLISHED: tcp_state_change(tp, TCPS_CLOSE_WAIT); diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c index 18b9857ad1dc..a372015d4e10 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -494,7 +494,7 @@ tls_uninit_toep(struct toepcb *toep) #define MAX_OFLD_TX_CREDITS (SGE_MAX_WR_LEN / 16) #define MIN_OFLD_TLSTX_CREDITS(toep) \ - (howmany(sizeof(struct fw_tlstx_data_wr) + \ + (howmany(sizeof(struct fw_tlstx_data_wr) + \ sizeof(struct cpl_tx_tls_sfo) + sizeof(struct ulptx_idata) + \ sizeof(struct ulptx_sc_memrd) + \ AES_BLOCK_LEN + 1, 16)) @@ -524,7 +524,7 @@ write_tlstx_wr(struct fw_tlstx_data_wr *txwr, struct toepcb *toep, V_FW_TLSTX_DATA_WR_ADJUSTEDPLEN(tls_ofld->adjusted_plen)); txwr->expinplenmax_pkd = htobe16( V_FW_TLSTX_DATA_WR_EXPINPLENMAX(tls_ofld->expn_per_ulp)); - txwr->pdusinplenmax_pkd = + txwr->pdusinplenmax_pkd = V_FW_TLSTX_DATA_WR_PDUSINPLENMAX(tls_ofld->pdus_per_ulp); } @@ -760,7 +760,7 @@ t4_push_ktls(struct adapter *sc, struct toepcb *toep, int drop) toep->flags |= TPF_TX_SUSPENDED; return; } - + /* Shove if there is no additional data pending. */ shove = ((m->m_next == NULL || (m->m_next->m_flags & M_NOTAVAIL) != 0)) && From nobody Tue Jan 24 05:43:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G9029xPz3bMxl; Tue, 24 Jan 2023 05:43: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 4P1G901XgYz4T6X; Tue, 24 Jan 2023 05:43:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQCCyd8Yvlrt9+PeTV1y0ZGKaDNBGmJTi5mLxaBOobE=; b=VF5mYLOpVGJJAJYlC2dev/2Gd0baj2KEPvqd+kvK/5VWDKrWh3Pl3prK4dIERHSdZTSMGs 1LikUAQOJYOUMAFzmS7cq/fxAVWSRRZ1pF36xVwcRkKbsSITkI6TN153MnolHPIlnid2c7 5T2nAKnrygk/9Dotv1HXkvQ2zmPcvmQpW9MYRtZv9EG6PEQeE4t1Rtku8pFUW0KOFWVtMD iECOSlRYQ78adAoqEzVmEp0bZIg/1Lta7Nd+tehzYzHuvPKXK5RWAVPIHvaUA5MHZndQ/h zzwVwI4FxTtedqFSUbd9sZoJbyOOnYY2eKPciiyGENPEggmWDswuQdbgkdB8Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQCCyd8Yvlrt9+PeTV1y0ZGKaDNBGmJTi5mLxaBOobE=; b=V8gnYZtGodDc8oI4DkE9dKYR37asodfkeBw7JKARvaeV0A9XqdSlF47LWdTXBinKlpoYaL yy0T42EqikVultU50qxbaSJQh2OcmSL/WpurqDcAns1FJbE7z/2ZeLqc39/nugAWNIhi7S IlYUCKXtuy9/XZj6JMkFTMG7ithfNFNzgllR6UvzD8gLFTkGT2Ygmq3XQksowAOkMcbmDC aqOtweNJd5V4RlHMGjQ+Ce4ls9hEuupwAB2cOd/+xgtFUitekhxuKR6osWqf0VsJBcDnLh 3b22PoYa2rGIHgmtbGp5+gfym4Ol02JwpnhF8UOABRJWsZemIKcQc4EEU+F+8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538996; a=rsa-sha256; cv=none; b=GXUTO949u3AFxPR9NPikBa+yskYzfcflY18HrR8QgWvscTpQdvIx8mNxbxby8NWfGrGHHV OR5MzQG6uxRoUTjKpNSM0be9pZj53vPktmQRvtxFF7+BsS+fvEmYBtF9s9fRI/mvw034zk Kv+Q1t1cmZA4lsNAsWyjFkzIo+j5pg+mXcr5EsGXMOsdBQKKFqc0yf+B76aDuCMItHSG6R OPaIwh094xV3s6Fic/3AYboVc9AG4yV4uc++IhHaDcjklUuabwyWlnTCMhCDt8EoZVigG2 IHlRW3QGvO24LKQFQripxyv6ee/JUrZjQUCkDnuyPAyddyO9YkpMPz81+0U/5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G900f5Bzxw8; Tue, 24 Jan 2023 05:43:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hFNO061833; Tue, 24 Jan 2023 05:43:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hFNI061832; Tue, 24 Jan 2023 05:43:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:15 GMT Message-Id: <202301240543.30O5hFNI061832@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 95a52eb29ca9 - stable/13 - diff: Don't treat null characters like carriage returns in readhash(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 95a52eb29ca93fb457ac618b8de7a754700e55c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=95a52eb29ca93fb457ac618b8de7a754700e55c4 commit 95a52eb29ca93fb457ac618b8de7a754700e55c4 Author: John Baldwin AuthorDate: 2022-11-16 03:16:50 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:12:00 +0000 diff: Don't treat null characters like carriage returns in readhash(). The implicit fall-through in the !D_FORCEASCII case caused null characters to be treated as carriage returns honoring the D_STRIPCR, D_FOLDBLANKS, and D_IGNOREBLANKS flags. Reported by: GCC -Wimplicit-fallthrough Reviewed by: bapt Fixes: 3cbf98e2bee9 diff: read whole files to determine if they are ASCII text Differential Revision: https://reviews.freebsd.org/D36813 (cherry picked from commit 4e0771714d6192119dcf7553b921bf88866d8925) --- usr.bin/diff/diffreg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c index 72a4d5f25b07..94998a364715 100644 --- a/usr.bin/diff/diffreg.c +++ b/usr.bin/diff/diffreg.c @@ -1376,6 +1376,7 @@ readhash(FILE *f, int flags, unsigned *hash) case '\0': if ((flags & D_FORCEASCII) == 0) return (RH_BINARY); + goto hashchar; case '\r': if (flags & D_STRIPCR) { t = getc(f); @@ -1394,6 +1395,7 @@ readhash(FILE *f, int flags, unsigned *hash) } /* FALLTHROUGH */ default: + hashchar: if (space && (flags & D_IGNOREBLANKS) == 0) { i++; space = 0; From nobody Tue Jan 24 05:43:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G913CFkz3bNKm; Tue, 24 Jan 2023 05:43: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 4P1G912cPRz4TQf; Tue, 24 Jan 2023 05:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6SXNF2CoP4/fkZjf6ymqu95GEFtu3Bg1SXRaW4kWixU=; b=hU0mXJfbnIujZWYOZd0bIGg7OPVHpf8ffuQTmfoloXHu19/0NoffedosA+s1BQjkUXnyxT CstxyWqA3Pz9s86vuZnJHjCbFOOfW/gUwtXpp1Fm6aX/yD5VzalxExWgbv5dgox/xocXNN Y5BpIC8L587bWjISIb1sNsaKviP6QR7sid/tZ8sX2J1ojHjVIeKTYUR+/9fO0J8B37ncQR a8Deu400BdUAdMeX1q2AmqkM/aF9b1Bqe7QFhYGKjtXaWAxoVwUU8MzgBIakBojRH1nv0A nJSZ92ue11XuHZPS3OdH94JcH60mEGOVCWzSTQLlaiZs6XUEbShW5QoD5f0J+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6SXNF2CoP4/fkZjf6ymqu95GEFtu3Bg1SXRaW4kWixU=; b=fmx9UAUe+bfZchG2PU9Rq5ROInGfZ0tn0XvJsNxrAryowds7Nn8xPjVZlIT0znxMRTx2bx QKQEvPar1QA45jNqhmQrXY2fIWD2Q6Hg4QZFYcSSKj7jZgNPUqgrOtB23uRY6Q6LE9DE4c Vvrdj4fiN98s4a/ZL4oMoB+ifM4IHfFU3OjRUGZmJg/iY889aXtci6IGq8wjQNuB0VTAH9 vJWVShb7Sa+sh+spv4naABm1+xGV7c8/QgoYguQg8IRfWas3V3F91tTkyo3oBDCBf+Ss20 zvWMORMVnAmzUay6yUxqR8EE9ra+QV2ADQzr4CpJFE3atAthHtHKUgRxzLY/rA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538997; a=rsa-sha256; cv=none; b=Sw4o+PYeAeDYerED8e3dmWGbwOu0GkKJh1c3G8tBOMTwxXRROt3B5hGVMAEbHb9yp0JEa9 omKZOtfH6U/wcdc4QLmY84Kl+hFFiMlfou0SWdT8zFuoTbWnq3HJxpc4CP6Udxpg1w4knU aQmXQD+mtN0t/gW0dhTCL+t2Rn1E25JoFNemYykNhfTZfWsrl2GJDbTj85TOW97REG89C2 rxTPgtJuSV0hUS5xMfhPtIKXn+ajgi4SwDqRRQnlMxTYayysTaXPK/vNSZWg8LoXUYgpNf HuOGnAgyollzDzhQFbcUBboAPH/LtFRUALRAN2L3aT0ZJbUyrYzo5Hg97x2LWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G911L6hzyHQ; Tue, 24 Jan 2023 05:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hHFY061863; Tue, 24 Jan 2023 05:43:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hHQY061862; Tue, 24 Jan 2023 05:43:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:17 GMT Message-Id: <202301240543.30O5hHQY061862@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a8b6a13b0aa3 - stable/13 - diff: Don't (ab)use sprintf() as a kind of strcat(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a8b6a13b0aa3408a7793dad22ad0193a2c32477f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a8b6a13b0aa3408a7793dad22ad0193a2c32477f commit a8b6a13b0aa3408a7793dad22ad0193a2c32477f Author: John Baldwin AuthorDate: 2022-11-16 03:17:36 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:12:44 +0000 diff: Don't (ab)use sprintf() as a kind of strcat(). Previously print_header() used sprintf() of a buffer to itself as a kind of string builder but without checking for overflows. This raised -Wformat-truncation and -Wrestrict warnings in GCC. Instead, just conditionally print the new timestamp fields after the initial strftime()-formatted string. While here, use sizeof(buf) with strftime() rather than a magic number. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D36814 (cherry picked from commit 6100374ccf2644d3fd233bde8b8f4e73d9953c30) --- usr.bin/diff/diffreg.c | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c index 94998a364715..800f489e510a 100644 --- a/usr.bin/diff/diffreg.c +++ b/usr.bin/diff/diffreg.c @@ -1655,10 +1655,7 @@ static void print_header(const char *file1, const char *file2) { const char *time_format; - char buf1[256]; - char buf2[256]; - char end1[10]; - char end2[10]; + char buf[256]; struct tm tm1, tm2, *tm_ptr1, *tm_ptr2; int nsec1 = stb1.st_mtim.tv_nsec; int nsec2 = stb2.st_mtim.tv_nsec; @@ -1669,26 +1666,32 @@ print_header(const char *file1, const char *file2) time_format = "%c"; tm_ptr1 = localtime_r(&stb1.st_mtime, &tm1); tm_ptr2 = localtime_r(&stb2.st_mtime, &tm2); - strftime(buf1, 256, time_format, tm_ptr1); - strftime(buf2, 256, time_format, tm_ptr2); - if (!cflag) { - strftime(end1, 10, "%z", tm_ptr1); - strftime(end2, 10, "%z", tm_ptr2); - sprintf(buf1, "%s.%.9d %s", buf1, nsec1, end1); - sprintf(buf2, "%s.%.9d %s", buf2, nsec2, end2); - } if (label[0] != NULL) printf("%s %s\n", diff_format == D_CONTEXT ? "***" : "---", label[0]); - else - printf("%s %s\t%s\n", diff_format == D_CONTEXT ? "***" : "---", - file1, buf1); + else { + strftime(buf, sizeof(buf), time_format, tm_ptr1); + printf("%s %s\t%s", diff_format == D_CONTEXT ? "***" : "---", + file1, buf); + if (!cflag) { + strftime(buf, sizeof(buf), "%z", tm_ptr1); + printf(".%.9d %s", nsec1, buf); + } + printf("\n"); + } if (label[1] != NULL) printf("%s %s\n", diff_format == D_CONTEXT ? "---" : "+++", label[1]); - else - printf("%s %s\t%s\n", diff_format == D_CONTEXT ? "---" : "+++", - file2, buf2); + else { + strftime(buf, sizeof(buf), time_format, tm_ptr2); + printf("%s %s\t%s", diff_format == D_CONTEXT ? "---" : "+++", + file2, buf); + if (!cflag) { + strftime(buf, sizeof(buf), "%z", tm_ptr2); + printf(".%.9d %s", nsec2, buf); + } + printf("\n"); + } } /* From nobody Tue Jan 24 05:43:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G925pP7z3bN97; Tue, 24 Jan 2023 05:43: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 4P1G923N2wz4THr; Tue, 24 Jan 2023 05:43:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tlxPbcYoNjUb9ARxs8At49ziapvJHYMOLkScpG3I5Mc=; b=HNhWRXaR0YAGkVoebjwfGN4jHwlZzX2yJCRL+NkhARXzW28PXsWCqXSkamDRKIWk7/oZ/v k7ACh+SmAfNnDJNhsKh60ibUD/eFZSmEBu4ozjZrZFc1MGeVa88xP5II+s240WnNd9QhDi zbToAd9bjfnWQ1TN/KKPGExFn3YTGvUa/RnAofaMvCV0+divb7X3Z3TFKmvw7HBor0MZLD lUbTym9Hwtkhn+W7KnbsOAUzXRcW6KNitNyRoxVN0ZBQp1dR8WoCOcTGTh2AOE+XJSUN3q ciDWpPXjJdKtwdRvTsePWP5+ffCML5skGICwZfBqQ/tkMt49mV3y8hS6xb8lvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tlxPbcYoNjUb9ARxs8At49ziapvJHYMOLkScpG3I5Mc=; b=tq28f9BrRLGKHdETBkHwXQVwh0ffzGz81Kt/UJOsmxhwqmRJYvm+I13AEOJLRSjjJo1ka9 IQO+qNhZs5NCKJM/W7Hf2/SPAeZ3BSqbU5NNoxAGyOOBSQrqOa9IcBNNPICN9ZS+4nUZF3 rr0qUZ0BDnitAx9G8t7jZKOEb/MQTDKTvV+J3M8MbqMd5DG3acwnhGDgELNX1m7/GmiYgl vKLII7U254Z/k9Vtf9zcu88Zjapquq0HHcuzLDL417iCcOAd9yIYkB4qXyvfCWGP6P6S1k VkEgCoI8uoBvhAKMCyC+DsQN5aoD71NWDXSqxNMv1Rc0S/dVnCIySWslx8X/Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538998; a=rsa-sha256; cv=none; b=FvDaMY+PlG4y4Dte3kRAOl2pBeLEEWYJZrV6akJkqGOOaCCAng29ulIbwOy2ut8k3a1Cet 9zbpqU5Vl2BsJn4hpjv46en1yuVUeHK3TU5QEG/hRKohpTq/8cjO4IrCWXfx/t32G6F52H 4K3dZJgncpeCUMXu/MviepFbrs79dLg8kVGFA0bjwc2zQL9wrQCxE3W5ayYEgQG8mD5ljW xLLV1PWM88F5sC0OH1N/wQ5IWsQI+qr8VDLaWsfuHv0IW7A92XDD4/5G15ds42h0EAlb2j 0PIonr9T00QBLIInme9g597olNbpSYrRgzh4Mrc3IOb22VLxcl1CGIvgkxj+uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G922TydzyDy; Tue, 24 Jan 2023 05:43:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hIwe061887; Tue, 24 Jan 2023 05:43:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hICq061886; Tue, 24 Jan 2023 05:43:18 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:18 GMT Message-Id: <202301240543.30O5hICq061886@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 13961b5a48d1 - stable/13 - libfetch: Pass a zeroed digest to DigestCalcResponse. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 13961b5a48d10e3a045a54ce9a6639bce9416989 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=13961b5a48d10e3a045a54ce9a6639bce9416989 commit 13961b5a48d10e3a045a54ce9a6639bce9416989 Author: John Baldwin AuthorDate: 2022-11-16 03:18:58 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:13:19 +0000 libfetch: Pass a zeroed digest to DigestCalcResponse. GCC 12 warns that passing "" (a constant of char[1]) to a parameter of type char[33] could potentially overread. It is not clear from the context that c->qops can never be "auth-int" (and if it can't, then the "auth-int" handling in DigestCalcResponse is dead code that should be removed since this is the only place the function is called). Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D36825 (cherry picked from commit 57fbafb8deac75b924faf1fa6c2222a7719fdfec) --- lib/libfetch/http.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/libfetch/http.c b/lib/libfetch/http.c index c1d92d08b317..d4605aeccd9f 100644 --- a/lib/libfetch/http.c +++ b/lib/libfetch/http.c @@ -1281,9 +1281,10 @@ http_digest_auth(conn_t *conn, const char *hdr, http_auth_challenge_t *c, DigestCalcHA1(c->algo, parms->user, c->realm, parms->password, c->nonce, cnonce, HA1); DEBUGF("HA1: [%s]\n", HA1); - HASHHEX digest; + HASHHEX digest, null; + memset(null, 0, sizeof(null)); DigestCalcResponse(HA1, c->nonce, noncecount, cnonce, c->qop, - "GET", url->doc, "", digest); + "GET", url->doc, null, digest); if (c->qop[0]) { r = http_cmd(conn, "%s: Digest username=\"%s\",realm=\"%s\"," From nobody Tue Jan 24 05:43:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G934jNyz3bNNR; Tue, 24 Jan 2023 05:43: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 4P1G9347GWz4TJ1; Tue, 24 Jan 2023 05:43:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=voY2Ma2IT2Ni+qiY1a9GAeJbByIL++9Bpdd0+aKZtNs=; b=HgiNhD5+js6UosMpD6UTYV01OFZRXqEcKtWmbovm3K+zuADSgUwnCPpvc8BonQGCZhExkD nyR9yxcLZujkeCY0Vv4OIeY5TsTOb9kV6ULLy3R2hdHSV2FrQj9T0Rc7BKZmQrAu6gISg1 rng6bkAKZtrGqCR7V0Z2ardiy8RJb+/aaYI0f7WSwebnIEcUh95TxcapCFwtj0n9RkBcdV vtrPi3WhkJCHMJ4Td2KVPxLQ+gdZjzVGrmh+0jMfxloWi1TZXkdxcOtLwHYIE88VkfeR/T 3NhFkM+ZH6+kVheRyMeYJ+FKQ5Lg1HNrRCg5+h1Hm7lqnefq4dWpe0sCrEgdWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674538999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=voY2Ma2IT2Ni+qiY1a9GAeJbByIL++9Bpdd0+aKZtNs=; b=ARZUFDM5dpWOm6+pCuan0erpwcGtCrhTGX6Z7J6i/TJjv/2IBVBesg34Mn+5zSDpNrpoie BsGyLPADPnEx3f8rqxQRga2S48otzyo0KT7bYGebZ5NK3NiKXz+2I8HJaqRRfIaJjnq4sQ pnQPSJdvmxhX5gz7uR7q4Q503q84wi6m+MqRJwcth12g9sGIMvW+NdjjdSVzqH2XBtmZWI pYqmjQDYTpvWJSsNJar40VQdDc0eWLLS09Pp6N3NOd0vhrRDf0JizFuJGYeFHn/YjlRYKN SGmAn+Lie3b4Npbxa9rYMhjPo24+M3zvrsjZ2zwRf7W8C5Uw3F3HyNkfzQ3lGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674538999; a=rsa-sha256; cv=none; b=c8U17GibcU0tPOnZUAO6hX16Ihd+sewSbFkh1qqgV4Z6eKC3D3+u/k5rhyOyg7nXowZAgP iub5KjcSWmvramjWJ2IPqOf0ExHQzr2pK1dpKjDJIWSlY2eg1wYYUMEWF/PU4zfNGZ5FXc J2ixDc8opsNlGNU/KIKNNebWUczmDmFkB8gert0mtbZBy3vjvbr+/rDyc8xBgu3PwXj2wq k7tANBBoSDvFodpMXpQtV5Hblu+jZyXhw1eQd/JYlqTDMjStaH4BArhb8DGzb3rC+TbUGH R3ppi2jGoEskswHrEpCkwOoRindShn1Y5gCUosfwAHkDZw/xb1uhI47oYaQumQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G933DzyzyHR; Tue, 24 Jan 2023 05:43:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hJoS061911; Tue, 24 Jan 2023 05:43:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hJOa061910; Tue, 24 Jan 2023 05:43:19 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:19 GMT Message-Id: <202301240543.30O5hJOa061910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1154290b4646 - stable/13 - bhyve: Use XHCI_PORTREG_PTR in one place that open-coded it. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1154290b4646ab9ac9686e65c41729fdb078b58f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1154290b4646ab9ac9686e65c41729fdb078b58f commit 1154290b4646ab9ac9686e65c41729fdb078b58f Author: John Baldwin AuthorDate: 2022-11-16 03:19:35 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:13:55 +0000 bhyve: Use XHCI_PORTREG_PTR in one place that open-coded it. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D36888 (cherry picked from commit fd104a6ebc35cfc9cadeb981b23200e805a88b3f) --- usr.sbin/bhyve/pci_xhci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 5502f95c3b46..13fc3a3b1bb4 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -2131,6 +2131,7 @@ pci_xhci_rtsregs_write(struct pci_xhci_softc *sc, uint64_t offset, static uint64_t pci_xhci_portregs_read(struct pci_xhci_softc *sc, uint64_t offset) { + struct pci_xhci_portregs *portregs; int port; uint32_t *p; @@ -2149,7 +2150,8 @@ pci_xhci_portregs_read(struct pci_xhci_softc *sc, uint64_t offset) offset = (offset - 0x3F0) % 0x10; - p = &sc->portregs[port].portsc; + portregs = XHCI_PORTREG_PTR(sc, port); + p = &portregs->portsc; p += offset / sizeof(uint32_t); DPRINTF(("pci_xhci: portregs read offset 0x%lx port %u -> 0x%x", From nobody Tue Jan 24 05:43:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G946070z3bNLN; Tue, 24 Jan 2023 05:43: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 4P1G945NdLz4TTW; Tue, 24 Jan 2023 05:43:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVcGywpHclCYuoQEK/VGyJdhY48aesKt2NYjAp6IXEs=; b=pdhrPgNMcXggnsVqkBNBWIV03Qf19wXaUFBm/lw9oxzblXstpn8a8GBDVihblkMkNEXn2s BkNC0M8MqWVdw9aoew32vgzFZCCZRPBihcCu7uE5hKzX5TqJpUAZItrY7Vbn3LELKSoQ9O jHP5czIZJz1wSKpfsGXD5q8WrMu2ViNhNenlL/CPM6sy3lijFn7hpXaZdvNzBrSUEPaG5h jgV1GPio89lK8vxLsVwLrGOV51o9F62ke2pwQrbL1/1id3kr3Xfo72EiWVByLKxkpSl3NS l7xrjv17xAAtIfySxjghabGhgVnX3ujR0bS4QY7bMxdFnAACGYcvb0w7gIFydQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVcGywpHclCYuoQEK/VGyJdhY48aesKt2NYjAp6IXEs=; b=xD623G5POek+rIT7rfLG181kPSglla3dp44AQRw3X5DUmfcVO6R49zqPcltQ4/g0xACMyr X08pr1rw+tmBwozotAx8lRRVrgiWmUyIbF5BeAvtBxts8Hlx1+0YFRebzP/o8ETu+K36ax 3Y+m8nA1LIqbVsHIN04MhciFgLyh9QyUKaPmqwE413eFSsgGiOVFNofdbYwit7VB0ASag7 VHKxG9J/JjY313pn0kF32J2ec9I9qt9FV+nIgGtICzaAPLvNpqSHpezCC6Amm/gkEPfWTM 3uU3w2KZfyCkw9R9U+rc7kq3z3AXALZaFwxqD9jPWytfYoyrqkKoTqidkmgkSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674539000; a=rsa-sha256; cv=none; b=EScNYocgeeCV0bufERXemXAj4bJdQyJw31xnXYln3u2DHMqSxQfOgaH8ddfu/jlq3VDKFy bRkIq9qIw+3l5/1EU7z4qBwfudAQSwxdEhIdtnMok7B70JZR3mYbwPe7a6TQAy1ZlzKUjc MjbG57y0ZSURSRxnu0cRGreIoaFuFONk39Ll4GamPpcP+zCaCE5zHtVd2soRBlg1lE82KR ZdeKI2d7I+LCP4soJt/qij0Dz7OlSODNbBtZqcCtWbztp9NzIjgId00B83DoTOjjfY5RKY /OU8e4S21FwTTJprrDyVb8R4gXQL2Qk8MQFmqPPtN4rM9w57L3K7eva9cNHaTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G944VRgzxnx; Tue, 24 Jan 2023 05:43:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hKQ9061944; Tue, 24 Jan 2023 05:43:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hKGr061943; Tue, 24 Jan 2023 05:43:20 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:20 GMT Message-Id: <202301240543.30O5hKGr061943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8975a501bb23 - stable/13 - src.opts.mk: Disable all of LLVM if C++ support is disabled. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8975a501bb236d1edd69650014627358b0dbf8aa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8975a501bb236d1edd69650014627358b0dbf8aa commit 8975a501bb236d1edd69650014627358b0dbf8aa Author: John Baldwin AuthorDate: 2022-11-16 03:21:20 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:14:11 +0000 src.opts.mk: Disable all of LLVM if C++ support is disabled. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D36891 (cherry picked from commit f53dc31bb3ef387338a7678581e8c7d587da8d2c) --- share/mk/src.opts.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 90405ce4b80c..b6b69869c8bb 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -393,6 +393,9 @@ MK_KERBEROS_SUPPORT:= no .if ${MK_CXX} == "no" MK_CLANG:= no +MK_LLD:= no +MK_LLDB:= no +MK_LLVM_BINUTILS:= no MK_GOOGLETEST:= no MK_OFED:= no MK_OPENMP:= no From nobody Tue Jan 24 05:43:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G960T30z3bNWj; Tue, 24 Jan 2023 05:43: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 4P1G956Ksgz4Tcc; Tue, 24 Jan 2023 05:43:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9AOhJRdgRS7BZD7jQ79YGLPlZIid+sRgDAmqKzkYwDQ=; b=MK/Nkj1Sp4i0ziBbdRBnOK+FL01jRCTsUPLRq8Gl+3Wsr4XIr0HIdOc7+2Fgncx1CPzYVN dQKO5jWi+cC3ACreNPEDTxBjEYtTICtuXX6ryZPZ8S1FyCtB3pLmNzwr6B1/YJowF3s7iN ENWI4Na48PWN55SbswoRdpSWOnGs1J13rs1VnKcT29lxUUae9+bGaOudhtwLPut7MLTSL2 z6/zHhA1+keueTDAeBm4UAji/wXZ5q8ZuL7wJvxr81dFeOZzcs8T8XFK5sT2b6v+nm/OB1 Qg+TrYJ6K/qzJbj2fFUM14PBAQ8dG+i9WZicQ3rRB4qGws7UbMcmm9j6+1DbOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9AOhJRdgRS7BZD7jQ79YGLPlZIid+sRgDAmqKzkYwDQ=; b=YBGKHBDStjRSxCFkGXlu9BVH3zXfk9HqOjPH8qNgsyr9OA8e/il+kvWDALX3g+V7xG0I1k 91hXmdcH1id02mnQd1hN4IcPRWx7SGSI3gmEhIBRVB2w4jCH+sURRuIZpeT10EupRIa/M7 RcVjZzG44ylX4KyH9B1Bf5s+Jztd1psmUDj4teO23u3Q8B/vPr8oYKbHrDQXP93IUawdK7 EBmFCsAYdufGpBkWOzhTnuIBOEKT16085MHLIQKxvSHdI51ZjSsbNIJC0GNFxC3BRChpPr RkyBClhdWe192L3g8CiFPncNBuH3Q08NVaZs6urMm4wjyoEdn9bA6ke/e0wXWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674539001; a=rsa-sha256; cv=none; b=OghBP3RAw8n9p0464fYelAiKcFCObkFkM6ESesf48HKS8tL3GrokA5zcBqc9asxcd5nY6l DpubyCKPExbFRLGZFZUVM5eAFEnP+ZeFcJoy1dd1Y4PjILl5eskKrY6lqFntCuzXH8Caid 3VaL84sWpXqkDmWrnNh2/0nWlB0X8ZqO2v6sXrfqzEGxLL/by/oJFuniM6m4KTJeeITFnx ai+Q/OjK/bkqMlQkFpOxrquI7f5YfubLX/tr91NqNkLo2MP1Gs7UvXFFRdrCH9cInYaf6w 1+Ub9nLXOG5KytM3T0cpE5rYPJEBU15YB5tqcJrruc3cB6VyrI3I7JvY8ghlxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G955GDgzyF0; Tue, 24 Jan 2023 05:43:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hLkx061968; Tue, 24 Jan 2023 05:43:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hLNF061967; Tue, 24 Jan 2023 05:43:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:21 GMT Message-Id: <202301240543.30O5hLNF061967@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c45a44b20ae0 - stable/13 - wg: Re-add basic if_wg(4) tests. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c45a44b20ae078144454a63ca82861581c456635 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c45a44b20ae078144454a63ca82861581c456635 commit c45a44b20ae078144454a63ca82861581c456635 Author: John Baldwin AuthorDate: 2022-12-16 20:01:26 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:18:28 +0000 wg: Re-add basic if_wg(4) tests. These were originally added in commit 74ae3f3e33b810248da19004c58b3581cd367843 but have been updated to use wg(8). Reviewed by: kevans, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37400 (cherry picked from commit 8fb9739615da8922fbd8988ccd77093d4ca335ba) --- tests/sys/net/Makefile | 1 + tests/sys/net/if_wg.sh | 197 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) diff --git a/tests/sys/net/Makefile b/tests/sys/net/Makefile index 0eed6cf734fa..cdf31477137e 100644 --- a/tests/sys/net/Makefile +++ b/tests/sys/net/Makefile @@ -14,6 +14,7 @@ ATF_TESTS_SH+= if_lagg_test ATF_TESTS_SH+= if_stf ATF_TESTS_SH+= if_tun_test ATF_TESTS_SH+= if_vlan +ATF_TESTS_SH+= if_wg TESTS_SUBDIRS+= routing diff --git a/tests/sys/net/if_wg.sh b/tests/sys/net/if_wg.sh new file mode 100644 index 000000000000..6946fb72524a --- /dev/null +++ b/tests/sys/net/if_wg.sh @@ -0,0 +1,197 @@ +# $FreeBSD$ +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2021 The FreeBSD Foundation +# +# This software was developed by Mark Johnston under sponsorship +# from the FreeBSD Foundation. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/../common/vnet.subr + +atf_test_case "wg_basic" "cleanup" +wg_basic_head() +{ + atf_set descr 'Create a wg(4) tunnel over an epair and pass traffic between jails' + atf_set require.user root +} + +wg_basic_body() +{ + local epair pri1 pri2 pub1 pub2 wg1 wg2 + local endpoint1 endpoint2 tunnel1 tunnel2 + + kldload -n if_wg + + pri1=$(wg genkey) + pri2=$(wg genkey) + + endpoint1=192.168.2.1 + endpoint2=192.168.2.2 + tunnel1=169.254.0.1 + tunnel2=169.254.0.2 + + epair=$(vnet_mkepair) + + vnet_init + + vnet_mkjail wgtest1 ${epair}a + vnet_mkjail wgtest2 ${epair}b + + # Workaround for PR 254212. + jexec wgtest1 ifconfig lo0 up + jexec wgtest2 ifconfig lo0 up + + jexec wgtest1 ifconfig ${epair}a ${endpoint1}/24 up + jexec wgtest2 ifconfig ${epair}b ${endpoint2}/24 up + + wg1=$(jexec wgtest1 ifconfig wg create) + echo "$pri1" | jexec wgtest1 wg set $wg1 listen-port 12345 \ + private-key /dev/stdin + pub1=$(jexec wgtest1 wg show $wg1 public-key) + wg2=$(jexec wgtest2 ifconfig wg create) + echo "$pri2" | jexec wgtest2 wg set $wg2 listen-port 12345 \ + private-key /dev/stdin + pub2=$(jexec wgtest2 wg show $wg2 public-key) + + atf_check -s exit:0 -o ignore \ + jexec wgtest1 wg set $wg1 peer "$pub2" \ + endpoint ${endpoint2}:12345 allowed-ips ${tunnel2}/32 + atf_check -s exit:0 \ + jexec wgtest1 ifconfig $wg1 inet ${tunnel1}/24 up + + atf_check -s exit:0 -o ignore \ + jexec wgtest2 wg set $wg2 peer "$pub1" \ + endpoint ${endpoint1}:12345 allowed-ips ${tunnel1}/32 + atf_check -s exit:0 \ + jexec wgtest2 ifconfig $wg2 inet ${tunnel2}/24 up + + # Generous timeout since the handshake takes some time. + atf_check -s exit:0 -o ignore jexec wgtest1 ping -c 1 -t 5 $tunnel2 + atf_check -s exit:0 -o ignore jexec wgtest2 ping -c 1 $tunnel1 +} + +wg_basic_cleanup() +{ + vnet_cleanup +} + +# The kernel is expected to silently ignore any attempt to add a peer with a +# public key identical to the host's. +atf_test_case "wg_key_peerdev_shared" "cleanup" +wg_key_peerdev_shared_head() +{ + atf_set descr 'Create a wg(4) interface with a shared pubkey between device and a peer' + atf_set require.user root +} + +wg_key_peerdev_shared_body() +{ + local epair pri1 pub1 wg1 + local endpoint1 tunnel1 + + kldload -n if_wg + + pri1=$(wg genkey) + + endpoint1=192.168.2.1 + tunnel1=169.254.0.1 + + vnet_mkjail wgtest1 + + wg1=$(jexec wgtest1 ifconfig wg create) + echo "$pri1" | jexec wgtest1 wg set $wg1 listen-port 12345 \ + private-key /dev/stdin + pub1=$(jexec wgtest1 wg show $wg1 public-key) + + atf_check -s exit:0 \ + jexec wgtest1 wg set ${wg1} peer "${pub1}" \ + allowed-ips "${tunnel1}/32" + + atf_check -o empty jexec wgtest1 wg show ${wg1} peers +} + +wg_key_peerdev_shared_cleanup() +{ + vnet_cleanup +} + +# When a wg(8) interface has a private key reassigned that corresponds to the +# public key already on a peer, the kernel is expected to deconfigure the peer +# to resolve the conflict. +atf_test_case "wg_key_peerdev_makeshared" "cleanup" +wg_key_peerdev_makeshared_head() +{ + atf_set descr 'Create a wg(4) interface and assign peer key to device' + atf_set require.progs wg +} + +wg_key_peerdev_makeshared_body() +{ + local epair pri1 pub1 pri2 wg1 wg2 + local endpoint1 tunnel1 + + kldload -n if_wg + + pri1=$(wg genkey) + pri2=$(wg genkey) + + endpoint1=192.168.2.1 + tunnel1=169.254.0.1 + + vnet_mkjail wgtest1 + + wg1=$(jexec wgtest1 ifconfig wg create) + echo "$pri1" | jexec wgtest1 wg set $wg1 listen-port 12345 \ + private-key /dev/stdin + pub1=$(jexec wgtest1 wg show $wg1 public-key) + wg2=$(jexec wgtest1 ifconfig wg create) + echo "$pri2" | jexec wgtest1 wg set $wg2 listen-port 12345 \ + private-key /dev/stdin + + atf_check -s exit:0 -o ignore \ + jexec wgtest1 wg set ${wg2} peer "${pub1}" \ + allowed-ips "${tunnel1}/32" + + atf_check -o not-empty jexec wgtest1 wg show ${wg2} peers + + jexec wgtest1 sh -c "echo '${pri1}' > pri1" + + atf_check -s exit:0 \ + jexec wgtest1 wg set ${wg2} private-key pri1 + + atf_check -o empty jexec wgtest1 wg show ${wg2} peers +} + +wg_key_peerdev_makeshared_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "wg_basic" + atf_add_test_case "wg_key_peerdev_shared" + atf_add_test_case "wg_key_peerdev_makeshared" +} From nobody Tue Jan 24 05:43:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G971bF3z3bNSD; Tue, 24 Jan 2023 05:43: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 4P1G966vRWz4TVQ; Tue, 24 Jan 2023 05:43:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XQBth9klTyqmbJkEMHDzHi6nAkQ6fPVzI9LNZPJI3Ro=; b=FwIjlXKhAaDUHfTvl1Tqkk7R1H4qpgDk38oHe7/vSKoOM6Z/yguOHdOTtM+32lvitYhqEp nd4i8IxqHelCu1B6+w4k5Vt1YdjIhNxt4kG0tIN5evwfKWmjTKvdLDl1t7mXhFnheHLiou vchXqwwZaIR9VOUgJnDBKoeDoLeCqxQtmOkvZkQiIvhknv6ct1aE51GVBn7umN5eCjykm6 FeAF3Ii6HgnJ/WdJM7yCUpSb9MGSEMNUtn3EZT4fS3ejbgR73Yovaaiet9YzFTP5Hu3Wqo HbDDFfTECeBquuHKhOCfcNtMrmggkzf8qsxF1Dg7z43gFqVbbOg9txZLXie+Gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XQBth9klTyqmbJkEMHDzHi6nAkQ6fPVzI9LNZPJI3Ro=; b=MQNnUoToeOXZIpAyH1pGs5iePHq611O2wPVg+opiv2zPSB2MT+OvJhbhQJBbbURa73usL+ BGxa+AMQQ0TbL7IJK0DXQy5TZMZj3otqsEIUcJBqoOGLfBxQIpvQyNgqoUtNtJNZEVZjEB gnBZ1+FyNY7LRZZv6m4xJlUgQTX5taT+5/8EZgYZljNzegaNeLHRPxAaTnq2evpjSp7CPZ PYdEIHG/jKPAKwGBnYYBIh6bfj2o5eUSgZC6M0xG7IMtDxWmQ6STHK1+EDA6ZMfok/6PvA cSBxgRUg+znrnZ1FGelhTRxNH06lWXDJiJjMJjrWNGRhZpcqaPUAdBxYRk2E/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674539003; a=rsa-sha256; cv=none; b=K/YexpA4nClVsl/l8/lyA3yi3IGCCUyflSO5oUu9xtJKGwHLOLwzqiJHpBIhDsce14QeM6 RI5LDWHBkVxfa5e3Scp2Aw3iLGQnbmM3Ax4hwdtoagnUjGFxbuQsEyVXfC91lt9s87+Zzr Zmfw7m0jhX/pumHGfI5+noayg1ou2JhFTDNa4ex5raA9dz8a0KpbQXPgJIH6R97NnHmKVc lI6lB4Ej7+Rv+cqQE/6SQ2ZLsZUOJrHhvTas4PYquNnaR3uhT7eQa8fu3L4ZSopmj96Ifa iTI0+t2aULTOfpnbcZumUwhiL3bItZAZoOp/EODNituyPTq3YWYNpo/MQNtTiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G9660PhzyF1; Tue, 24 Jan 2023 05:43:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hMgg061998; Tue, 24 Jan 2023 05:43:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hMcM061997; Tue, 24 Jan 2023 05:43:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:22 GMT Message-Id: <202301240543.30O5hMcM061997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: cc17f41e0792 - stable/13 - ktls: Close a race with setting so_error when dropping a connection. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cc17f41e07925875ce5d004c287c4ef1f4f543be Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cc17f41e07925875ce5d004c287c4ef1f4f543be commit cc17f41e07925875ce5d004c287c4ef1f4f543be Author: John Baldwin AuthorDate: 2022-12-15 20:06:26 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:21:22 +0000 ktls: Close a race with setting so_error when dropping a connection. pr_abort calls tcp_usr_abort which calls tcp_drop with ECONNABORTED. After pr_abort returns, the so_error is then set to a more specific error. However, a reader can observe and return the ECONNABORTED error before so_error is set to the desired error value. This is resulting in spurious test failures of recently added tests for invalid conditions such as invalid headers. To fix, refactor the code to abort a connection to call tcp_drop directly with the desired error value. ktls_reset_send_tag already calls tcp_drop directly when it aborts a connection due to an error. Reviewed by: gallatin Reported by: CI (jenkins), gallatin, olivier Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D37692 (cherry picked from commit 69542f26820b7edb8351398b36edda5299c1db56) --- sys/kern/uipc_ktls.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index e3f84171a976..711b38ec7f99 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1865,6 +1865,27 @@ tls13_find_record_type(struct ktls_session *tls, struct mbuf *m, int tls_len, return (0); } +static void +ktls_drop(struct socket *so, int error) +{ + struct epoch_tracker et; + struct inpcb *inp = sotoinpcb(so); + struct tcpcb *tp; + + NET_EPOCH_ENTER(et); + INP_WLOCK(inp); + if (!(inp->inp_flags & INP_DROPPED)) { + tp = intotcpcb(inp); + CURVNET_SET(inp->inp_vnet); + tp = tcp_drop(tp, error); + CURVNET_RESTORE(); + if (tp != NULL) + INP_WUNLOCK(inp); + } else + INP_WUNLOCK(inp); + NET_EPOCH_EXIT(et); +} + static void ktls_decrypt(struct socket *so) { @@ -1921,10 +1942,7 @@ ktls_decrypt(struct socket *so) SOCKBUF_UNLOCK(sb); counter_u64_add(ktls_offload_corrupted_records, 1); - CURVNET_SET(so->so_vnet); - so->so_proto->pr_usrreqs->pru_abort(so); - so->so_error = error; - CURVNET_RESTORE(); + ktls_drop(so, error); goto deref; } @@ -2331,8 +2349,7 @@ retry_page: if (error == 0) { (void)(*so->so_proto->pr_usrreqs->pru_ready)(so, top, npages); } else { - so->so_proto->pr_usrreqs->pru_abort(so); - so->so_error = EIO; + ktls_drop(so, EIO); mb_free_notready(top, total_pages); } From nobody Tue Jan 24 05:43:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1G982LQFz3bNSN; Tue, 24 Jan 2023 05:43: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 4P1G9817Cmz4Tb6; Tue, 24 Jan 2023 05:43:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NqVG4bjZGBSL/8ckGsQ70Ls/HTG0tGgg3+rqJR6l60E=; b=BbR8BVSFS/6F5TNYB/nkQ3+m7LTBHFnTGnQQyt4RWZEj2+2EB+5k+dlnunsrv1c/T/RX66 KS+wmd80cKwxq+jPXXGtB9/5Gy9ZaxtB8MxHitkdCNbY3FKWeJZbwYhgjx1WstJgGUsC23 uobOo32t649ZwVEKyLag5IteIUBg/viOeyO4VZx4wCWJxRhQFgML1+ym2O5q8zxxfHjED2 frsEgj/ZfC0ygwpeoOaE3GnTdLBTkrubjAaWwbIozscCNqS9HJQIC+aMIFGCr9IHCceD+o 7xVocToPPDOyX4+yNZzFW9rb1qE1o3+vvkQ0/T3o3VBFNP3Ozs7M+4aq2hyVPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674539004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NqVG4bjZGBSL/8ckGsQ70Ls/HTG0tGgg3+rqJR6l60E=; b=RsNQmWlCF7GgyB6n6yl7ei5d0Yt63OEMq2fqpnth0dlvqojMxyaH2TaiQHe0NfdA3vyuJx yfFw8h62VTRW6W9OVMgLzFQMXMaUE1lU7cDXNCWv0vKXkl/b984evVlfVDTSnz41rLg9Vk KDnzsMffY7gk/gXQoNSx238L13HceK8t/lYWqz5qlOHa1hQcCQIvtIXPEYCO5loss2+6iG Wr8QksjzCaFxf0rq9fbN4HOI5cma0DCOfCk6D9m8NFEJyTQ+UuO+pCaEH9C80cuJufU6Pe bV43UYDAgLG1wKPePmT4268tF7CGo/KItcmG4fgQo1d2qHDdMbkvT2Ns2oYGvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674539004; a=rsa-sha256; cv=none; b=akemEYj2xreVszY8TJN6SJ5rbSxGa+CMe5bvFRbiWfsfhIgG1ZgeQUaAmuJ3jwxy+INL8P dPK4dN87IBatWwvw8nFcDcnJJsbyreKL3K3XKUxcxIiJxD5ouIlrNFbJYLvZJSutl9P8hi F2L+yYGnRzkMLcccUyX5GSGe7aBB6ZwDdpbJUvJ+nCyp2FDyAzdOkWGH4OM/is0GyzBxZQ +4wfpBphiCEQhsiUO8XJS/ceFuzdlVtCIY09ImjQlbfBahp0lc1mbwOybOpi9Kb/JIorkE Lr4jgs4AFWfgVoPLBQeKMBrvw3gcxU/4cdx+oIr8x1L0kf5GYXALiQEyRF+3zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1G976x2FzyCx; Tue, 24 Jan 2023 05:43:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O5hNQx062024; Tue, 24 Jan 2023 05:43:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O5hNKg062023; Tue, 24 Jan 2023 05:43:23 GMT (envelope-from git) Date: Tue, 24 Jan 2023 05:43:23 GMT Message-Id: <202301240543.30O5hNKg062023@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 28327968c2cb - stable/13 - ktls: Post receive errors on partially closed sockets. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 28327968c2cbac4e4edf3bc55504bedcbd3d8c30 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=28327968c2cbac4e4edf3bc55504bedcbd3d8c30 commit 28327968c2cbac4e4edf3bc55504bedcbd3d8c30 Author: John Baldwin AuthorDate: 2022-12-28 00:00:17 +0000 Commit: John Baldwin CommitDate: 2023-01-24 05:24:42 +0000 ktls: Post receive errors on partially closed sockets. If an error such as an invalid record or one whose decryption fails is detected on a socket that has received a RST then ktls_drop() could ignore the error since INP_DROPPED could already be set. In this case soreceive_generic hangs since it does not return from a KTLS socket with pending encrypted data unless there is an error (so_error) (this behavior is to ensure that soreceive_generic doesn't return a premature EOF when there is pending data still being decrypted). Note that this was a bug prior to 69542f26820b7edb8351398b36edda5299c1db56 as tcp_usr_abort would also have ignored the error in this case. Reviewed by: gallatin Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D37775 (cherry picked from commit 07be7517270e7cc8f51612efce9e6375ad1fc12e) --- sys/kern/uipc_ktls.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 711b38ec7f99..901a2df0bd74 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1881,8 +1881,12 @@ ktls_drop(struct socket *so, int error) CURVNET_RESTORE(); if (tp != NULL) INP_WUNLOCK(inp); - } else + } else { + so->so_error = error; + SOCKBUF_LOCK(&so->so_rcv); + sorwakeup_locked(so); INP_WUNLOCK(inp); + } NET_EPOCH_EXIT(et); } From nobody Tue Jan 24 07:28:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1JTs1qdYz2v2TQ; Tue, 24 Jan 2023 07:28: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 4P1JTs1Gqtz3CwG; Tue, 24 Jan 2023 07:28:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674545281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9qQzqAAGaVh6OjxaqFF93TS1cYbgmKGplLVi+lpkQuQ=; b=n+Tb7vfvaxAJiqTnYe2WNAD2CvaU1trFuzvHPBGg2SiKldbwK/ofdhPnGTHkBeFJo6lywY gy9vRB0ry2BepQDck5BSGY9MHI9W+2jMClz393yNSdn5CkkS7RDuH+63qAqc0q9QvK8lMN 8GaLI/3eP99fzelDAbis0wDO7hwEEdlj115cd0KAwwSHqpJ1cDYt0g3VLdgB0zd7vDKpuO g4kWfxfkJcxm5nIlei7WUA/anbm0h6LsGh0uYDjFUUCgedAErro8FXm1GKMzdSvi+KxNla zwFGYx5D5iSZ7yo9vcE49LhOOuxOi3tHofRYFH7HooCpgivAXIrL9IAiLPAMGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674545281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9qQzqAAGaVh6OjxaqFF93TS1cYbgmKGplLVi+lpkQuQ=; b=ySs69/incCqubea1BKE5fipyIrTRwYeEoKzp5KLOQnNFeFJ4d3mQBY+CjQ0OqvBebFS/YR DpgnhvmbZdWk0s32NADE+xV9/b2p/pvZPwTPs8o+vHGuLBrKhNgR4oOHkhUKxBuZhTf6z+ dktcgkLjveYfdRyDV1kP+GMGFVmfhjObBbt0uNegQ0ZcAUwf/AJMQULGJXzUWa2gmtgMvd 5fsv33CEP7c4OSAnhWyEuTL/ecLlX+wzRMGPgCP1IJc01DAaRiaqOsdisCzMOSMkXlxqgE Nj+8A+aFibqdg0MbcafYXQZoMi3a/Na2YCBKZUUiS6EXgv5SLOTMgmxdt6ufnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674545281; a=rsa-sha256; cv=none; b=WTMxMS3ngPAKYTeXef0wChXpjxWFtKhfOgFHEqC7TTQtGCFPk432Ni1pTj3tvemERltY/y Ehq8n9IsB6YOled2dJ1qZ+hb51ZPoFy9DyGOAtwyBhbSVZOuypW7bUYWJz4GG7iupzzGsP HWzpDfD7zTP9N8iOXvy80t8QgMWWfA2gPJXJYs8xwlfo21UHwiKboTsRKslh60x3wt9ne4 Tnp6C8Zf2z5jT3gG1M0q/Zr4DphDrm9fKs4JZQth2UcI8/lh0ajOqrIPDZ2pxt/aZbkAuJ /e5cYfb7nrN/jofkzDgS6c2oTXcLTjIVVOtBWpMM2/l9+DOD5+mynlOYI/1B/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 4P1JTs0D4sz11Xf; Tue, 24 Jan 2023 07:28:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O7S09H006565; Tue, 24 Jan 2023 07:28:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O7S0uV006564; Tue, 24 Jan 2023 07:28:00 GMT (envelope-from git) Date: Tue, 24 Jan 2023 07:28:00 GMT Message-Id: <202301240728.30O7S0uV006564@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 6192776124c5 - stable/13 - Add a virtio-input device emulation. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6192776124c5b79521ca290dfbf5f62560c4a163 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=6192776124c5b79521ca290dfbf5f62560c4a163 commit 6192776124c5b79521ca290dfbf5f62560c4a163 Author: Corvin Köhne AuthorDate: 2021-06-08 08:56:43 +0000 Commit: Corvin Köhne CommitDate: 2023-01-24 06:42:27 +0000 Add a virtio-input device emulation. This will be used to inject keyboard/mouse input events into a guest. The command line syntax is: -s ,virtio-input,/dev/input/eventX Reviewed by: jhb (bhyve), grehan Obtained from: Corvin Köhne MFC after: 3 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D30020 (cherry picked from commit 054accac71e0944ab588c3ab052bea6947df7885) --- usr.sbin/bhyve/Makefile | 1 + usr.sbin/bhyve/bhyve.8 | 10 + usr.sbin/bhyve/bhyve_config.5 | 11 + usr.sbin/bhyve/pci_virtio_input.c | 782 ++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/virtio.c | 10 +- usr.sbin/bhyve/virtio.h | 16 + 6 files changed, 828 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 5147bb6b71d9..bd78a3362672 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -51,6 +51,7 @@ SRCS= \ pci_virtio_9p.c \ pci_virtio_block.c \ pci_virtio_console.c \ + pci_virtio_input.c \ pci_virtio_net.c \ pci_virtio_rnd.c \ pci_virtio_scsi.c \ diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index d9f31a09b7db..c82bbce74c8c 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -329,6 +329,8 @@ Virtio RNG interface. Virtio console interface, which exposes multiple ports to the guest in the form of simple char devices for simple IO between the guest and host userspaces. +.It Cm virtio-input +Virtio input interface. .It Cm ahci AHCI controller attached to arbitrary devices. .It Cm ahci-cd @@ -591,6 +593,14 @@ resize at present. Emergency write is advertised, but no-op at present. .El .Pp +Virtio input device backends: +.Bl -tag -width 10n +.It Ar /dev/input/eventX +Send input events of +.Ar /dev/input/eventX +to guest by VirtIO Input Interface. +.El +.Pp Framebuffer devices backends: .Bl -bullet .Sm off diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index f14773313180..666c7c907e36 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -275,6 +275,8 @@ VirtIO 9p (VirtFS) interface. VirtIO block storage interface. .It Li virtio-console VirtIO console interface. +.It Li virtio-input +VirtIO input interface. .It Li virtio-net VirtIO network interface. .It Li virtio-rnd @@ -631,6 +633,15 @@ The name of the port exposed to the guest. .It Va path Ta path Ta Ta The path of a UNIX domain socket providing the host connection for the port. .El +.Ss VirtIO Input Interface Settings +Each VirtIO Input device contains one input event device. +All input events of the input event device are send to the guest by VirtIO Input interface. +VirtIO Input Interfaces support the following variables: +.Bl -column "Name" "Format" "Default" +.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description +.It Va path Ta path Ta Ta +The path of the input event device exposed to the guest +.El .Ss VirtIO Network Interface Settings In addition to the network backend settings, VirtIO network interfaces support the following variables: diff --git a/usr.sbin/bhyve/pci_virtio_input.c b/usr.sbin/bhyve/pci_virtio_input.c new file mode 100644 index 000000000000..4517333b1603 --- /dev/null +++ b/usr.sbin/bhyve/pci_virtio_input.c @@ -0,0 +1,782 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG + * 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 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. + */ + +/* + * virtio input device emulation. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#ifndef WITHOUT_CAPSICUM +#include + +#include +#endif +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "bhyverun.h" +#include "config.h" +#include "debug.h" +#include "mevent.h" +#include "pci_emul.h" +#include "virtio.h" + +#define VTINPUT_RINGSZ 64 + +#define VTINPUT_MAX_PKT_LEN 10 + +/* + * Queue definitions. + */ +#define VTINPUT_EVENTQ 0 +#define VTINPUT_STATUSQ 1 + +#define VTINPUT_MAXQ 2 + +static int pci_vtinput_debug; +#define DPRINTF(params) \ + if (pci_vtinput_debug) \ + PRINTLN params +#define WPRINTF(params) PRINTLN params + +enum vtinput_config_select { + VTINPUT_CFG_UNSET = 0x00, + VTINPUT_CFG_ID_NAME = 0x01, + VTINPUT_CFG_ID_SERIAL = 0x02, + VTINPUT_CFG_ID_DEVIDS = 0x03, + VTINPUT_CFG_PROP_BITS = 0x10, + VTINPUT_CFG_EV_BITS = 0x11, + VTINPUT_CFG_ABS_INFO = 0x12 +}; + +struct vtinput_absinfo { + uint32_t min; + uint32_t max; + uint32_t fuzz; + uint32_t flat; + uint32_t res; +} __packed; + +struct vtinput_devids { + uint16_t bustype; + uint16_t vendor; + uint16_t product; + uint16_t version; +} __packed; + +struct vtinput_config { + uint8_t select; + uint8_t subsel; + uint8_t size; + uint8_t reserved[5]; + union { + char string[128]; + uint8_t bitmap[128]; + struct vtinput_absinfo abs; + struct vtinput_devids ids; + } u; +} __packed; + +struct vtinput_event { + uint16_t type; + uint16_t code; + uint32_t value; +} __packed; + +struct vtinput_event_elem { + struct vtinput_event event; + struct iovec iov; + uint16_t idx; +}; + +struct vtinput_eventqueue { + struct vtinput_event_elem *events; + uint32_t size; + uint32_t idx; +}; + +/* + * Per-device softc + */ +struct pci_vtinput_softc { + struct virtio_softc vsc_vs; + struct vqueue_info vsc_queues[VTINPUT_MAXQ]; + pthread_mutex_t vsc_mtx; + const char *vsc_evdev; + int vsc_fd; + struct vtinput_config vsc_config; + int vsc_config_valid; + struct mevent *vsc_evp; + struct vtinput_eventqueue vsc_eventqueue; +}; + +static void pci_vtinput_reset(void *); +static int pci_vtinput_cfgread(void *, int, int, uint32_t *); +static int pci_vtinput_cfgwrite(void *, int, int, uint32_t); + +static struct virtio_consts vtinput_vi_consts = { + "vtinput", /* our name */ + VTINPUT_MAXQ, /* we support 1 virtqueue */ + sizeof(struct vtinput_config), /* config reg size */ + pci_vtinput_reset, /* reset */ + NULL, /* device-wide qnotify -- not used */ + pci_vtinput_cfgread, /* read virtio config */ + pci_vtinput_cfgwrite, /* write virtio config */ + NULL, /* apply negotiated features */ + 0, /* our capabilities */ +}; + +static void +pci_vtinput_reset(void *vsc) +{ + struct pci_vtinput_softc *sc = vsc; + + DPRINTF(("%s: device reset requested", __func__)); + vi_reset_dev(&sc->vsc_vs); +} + +static void +pci_vtinput_notify_eventq(void *vsc, struct vqueue_info *vq) +{ + DPRINTF(("%s", __func__)); +} + +static void +pci_vtinput_notify_statusq(void *vsc, struct vqueue_info *vq) +{ + struct pci_vtinput_softc *sc = vsc; + + while (vq_has_descs(vq)) { + /* get descriptor chain */ + struct iovec iov; + struct vi_req req; + const int n = vq_getchain(vq, &iov, 1, &req); + if (n <= 0) { + WPRINTF(("%s: invalid descriptor: %d", __func__, n)); + return; + } + + /* get event */ + struct vtinput_event event; + memcpy(&event, iov.iov_base, sizeof(event)); + + /* + * on multi touch devices: + * - host send EV_MSC to guest + * - guest sends EV_MSC back to host + * - host writes EV_MSC to evdev + * - evdev saves EV_MSC in it's event buffer + * - host receives an extra EV_MSC by reading the evdev event + * buffer + * - frames become larger and larger + * avoid endless loops by ignoring EV_MSC + */ + if (event.type == EV_MSC) { + vq_relchain(vq, req.idx, sizeof(event)); + continue; + } + + /* send event to evdev */ + struct input_event host_event; + host_event.type = event.type; + host_event.code = event.code; + host_event.value = event.value; + if (gettimeofday(&host_event.time, NULL) != 0) { + WPRINTF(("%s: failed gettimeofday", __func__)); + } + if (write(sc->vsc_fd, &host_event, sizeof(host_event)) == -1) { + WPRINTF(("%s: failed to write host_event", __func__)); + } + + vq_relchain(vq, req.idx, sizeof(event)); + } + vq_endchains(vq, 1); +} + +static int +pci_vtinput_get_bitmap(struct pci_vtinput_softc *sc, int cmd, int count) +{ + if (count <= 0 || !sc) { + return (-1); + } + + /* query bitmap */ + memset(sc->vsc_config.u.bitmap, 0, sizeof(sc->vsc_config.u.bitmap)); + if (ioctl(sc->vsc_fd, cmd, sc->vsc_config.u.bitmap) < 0) { + return (-1); + } + + /* get number of set bytes in bitmap */ + for (int i = count - 1; i >= 0; i--) { + if (sc->vsc_config.u.bitmap[i]) { + return i + 1; + } + } + + return (-1); +} + +static int +pci_vtinput_read_config_id_name(struct pci_vtinput_softc *sc) +{ + char name[128]; + if (ioctl(sc->vsc_fd, EVIOCGNAME(sizeof(name) - 1), name) < 0) { + return (1); + } + + memcpy(sc->vsc_config.u.string, name, sizeof(name)); + sc->vsc_config.size = strnlen(name, sizeof(name)); + + return (0); +} + +static int +pci_vtinput_read_config_id_serial(struct pci_vtinput_softc *sc) +{ + /* serial isn't supported */ + sc->vsc_config.size = 0; + + return (0); +} + +static int +pci_vtinput_read_config_id_devids(struct pci_vtinput_softc *sc) +{ + struct input_id devids; + if (ioctl(sc->vsc_fd, EVIOCGID, &devids)) { + return (1); + } + + sc->vsc_config.u.ids.bustype = devids.bustype; + sc->vsc_config.u.ids.vendor = devids.vendor; + sc->vsc_config.u.ids.product = devids.product; + sc->vsc_config.u.ids.version = devids.version; + sc->vsc_config.size = sizeof(struct vtinput_devids); + + return (0); +} + +static int +pci_vtinput_read_config_prop_bits(struct pci_vtinput_softc *sc) +{ + /* + * Evdev bitmap countains 1 bit per count. Additionally evdev bitmaps + * are arrays of longs instead of chars. Calculate how many longs are + * required for evdev bitmap. Multiply that with sizeof(long) to get the + * number of elements. + */ + const int count = howmany(INPUT_PROP_CNT, sizeof(long) * 8) * + sizeof(long); + const unsigned int cmd = EVIOCGPROP(count); + const int size = pci_vtinput_get_bitmap(sc, cmd, count); + if (size <= 0) { + return (1); + } + + sc->vsc_config.size = size; + + return (0); +} + +static int +pci_vtinput_read_config_ev_bits(struct pci_vtinput_softc *sc, uint8_t type) +{ + int count; + + switch (type) { + case EV_KEY: + count = KEY_CNT; + break; + case EV_REL: + count = REL_CNT; + break; + case EV_ABS: + count = ABS_CNT; + break; + case EV_MSC: + count = MSC_CNT; + break; + case EV_SW: + count = SW_CNT; + break; + case EV_LED: + count = LED_CNT; + break; + default: + return (1); + } + + /* + * Evdev bitmap countains 1 bit per count. Additionally evdev bitmaps + * are arrays of longs instead of chars. Calculate how many longs are + * required for evdev bitmap. Multiply that with sizeof(long) to get the + * number of elements. + */ + count = howmany(count, sizeof(long) * 8) * sizeof(long); + const unsigned int cmd = EVIOCGBIT(sc->vsc_config.subsel, count); + const int size = pci_vtinput_get_bitmap(sc, cmd, count); + if (size <= 0) { + return (1); + } + + sc->vsc_config.size = size; + + return (0); +} + +static int +pci_vtinput_read_config_abs_info(struct pci_vtinput_softc *sc) +{ + /* check if evdev has EV_ABS */ + if (!pci_vtinput_read_config_ev_bits(sc, EV_ABS)) { + return (1); + } + + /* get abs information */ + struct input_absinfo abs; + if (ioctl(sc->vsc_fd, EVIOCGABS(sc->vsc_config.subsel), &abs) < 0) { + return (1); + } + + /* save abs information */ + sc->vsc_config.u.abs.min = abs.minimum; + sc->vsc_config.u.abs.max = abs.maximum; + sc->vsc_config.u.abs.fuzz = abs.fuzz; + sc->vsc_config.u.abs.flat = abs.flat; + sc->vsc_config.u.abs.res = abs.resolution; + sc->vsc_config.size = sizeof(struct vtinput_absinfo); + + return (0); +} + +static int +pci_vtinput_read_config(struct pci_vtinput_softc *sc) +{ + switch (sc->vsc_config.select) { + case VTINPUT_CFG_UNSET: + return (0); + case VTINPUT_CFG_ID_NAME: + return pci_vtinput_read_config_id_name(sc); + case VTINPUT_CFG_ID_SERIAL: + return pci_vtinput_read_config_id_serial(sc); + case VTINPUT_CFG_ID_DEVIDS: + return pci_vtinput_read_config_id_devids(sc); + case VTINPUT_CFG_PROP_BITS: + return pci_vtinput_read_config_prop_bits(sc); + case VTINPUT_CFG_EV_BITS: + return pci_vtinput_read_config_ev_bits( + sc, sc->vsc_config.subsel); + case VTINPUT_CFG_ABS_INFO: + return pci_vtinput_read_config_abs_info(sc); + default: + return (1); + } +} + +static int +pci_vtinput_cfgread(void *vsc, int offset, int size, uint32_t *retval) +{ + struct pci_vtinput_softc *sc = vsc; + + /* check for valid offset and size */ + if (offset + size > sizeof(struct vtinput_config)) { + WPRINTF(("%s: read to invalid offset/size %d/%d", __func__, + offset, size)); + memset(retval, 0, size); + return (0); + } + + /* read new config values, if select and subsel changed. */ + if (!sc->vsc_config_valid) { + if (pci_vtinput_read_config(sc) != 0) { + DPRINTF(("%s: could not read config %d/%d", __func__, + sc->vsc_config.select, sc->vsc_config.subsel)); + memset(retval, 0, size); + return (0); + } + sc->vsc_config_valid = 1; + } + + uint8_t *ptr = (uint8_t *)&sc->vsc_config; + memcpy(retval, ptr + offset, size); + + return (0); +} + +static int +pci_vtinput_cfgwrite(void *vsc, int offset, int size, uint32_t value) +{ + struct pci_vtinput_softc *sc = vsc; + + /* guest can only write to select and subsel fields */ + if (offset + size > 2) { + WPRINTF(("%s: write to readonly reg %d", __func__, offset)); + return (1); + } + + /* copy value into config */ + uint8_t *ptr = (uint8_t *)&sc->vsc_config; + memcpy(ptr + offset, &value, size); + + /* select/subsel changed, query new config on next cfgread */ + sc->vsc_config_valid = 0; + + return (0); +} + +static int +vtinput_eventqueue_add_event( + struct vtinput_eventqueue *queue, struct input_event *e) +{ + /* check if queue is full */ + if (queue->idx >= queue->size) { + /* alloc new elements for queue */ + const uint32_t newSize = queue->idx; + const void *newPtr = realloc(queue->events, + queue->size * sizeof(struct vtinput_event_elem)); + if (newPtr == NULL) { + WPRINTF(("%s: realloc memory for eventqueue failed!", + __func__)); + return (1); + } + /* save new size and eventqueue */ + queue->events = (struct vtinput_event_elem *)newPtr; + queue->size = newSize; + } + + /* save event */ + struct vtinput_event *event = &queue->events[queue->idx].event; + event->type = e->type; + event->code = e->code; + event->value = e->value; + queue->idx++; + + return (0); +} + +static void +vtinput_eventqueue_clear(struct vtinput_eventqueue *queue) +{ + /* just reset index to clear queue */ + queue->idx = 0; +} + +static void +vtinput_eventqueue_send_events( + struct vtinput_eventqueue *queue, struct vqueue_info *vq) +{ + /* + * First iteration through eventqueue: + * Get descriptor chains. + */ + for (uint32_t i = 0; i < queue->idx; ++i) { + /* get descriptor */ + if (!vq_has_descs(vq)) { + /* + * We don't have enough descriptors for all events. + * Return chains back to guest. + */ + vq_retchains(vq, i); + WPRINTF(( + "%s: not enough available descriptors, dropping %d events", + __func__, queue->idx)); + goto done; + } + + /* get descriptor chain */ + struct iovec iov; + struct vi_req req; + const int n = vq_getchain(vq, &iov, 1, &req); + if (n <= 0) { + WPRINTF(("%s: invalid descriptor: %d", __func__, n)); + return; + } + if (n != 1) { + WPRINTF( + ("%s: invalid number of descriptors in chain: %d", + __func__, n)); + /* release invalid chain */ + vq_relchain(vq, req.idx, 0); + return; + } + if (iov.iov_len < sizeof(struct vtinput_event)) { + WPRINTF(("%s: invalid descriptor length: %lu", __func__, + iov.iov_len)); + /* release invalid chain */ + vq_relchain(vq, req.idx, 0); + return; + } + + /* save descriptor */ + queue->events[i].iov = iov; + queue->events[i].idx = req.idx; + } + + /* + * Second iteration through eventqueue: + * Send events to guest by releasing chains + */ + for (uint32_t i = 0; i < queue->idx; ++i) { + struct vtinput_event_elem event = queue->events[i]; + memcpy(event.iov.iov_base, &event.event, + sizeof(struct vtinput_event)); + vq_relchain(vq, event.idx, sizeof(struct vtinput_event)); + } +done: + /* clear queue and send interrupt to guest */ + vtinput_eventqueue_clear(queue); + vq_endchains(vq, 1); + + return; +} + +static int +vtinput_read_event_from_host(int fd, struct input_event *event) +{ + const int len = read(fd, event, sizeof(struct input_event)); + if (len != sizeof(struct input_event)) { + if (len == -1 && errno != EAGAIN) { + WPRINTF(("%s: event read failed! len = %d, errno = %d", + __func__, len, errno)); + } + + /* host doesn't have more events for us */ + return (1); + } + + return (0); +} + +static void +vtinput_read_event(int fd __attribute((unused)), + enum ev_type t __attribute__((unused)), void *arg __attribute__((unused))) +{ + struct pci_vtinput_softc *sc = arg; + + /* skip if driver isn't ready */ + if (!(sc->vsc_vs.vs_status & VIRTIO_CONFIG_STATUS_DRIVER_OK)) + return; + + /* read all events from host */ + struct input_event event; + while (vtinput_read_event_from_host(sc->vsc_fd, &event) == 0) { + /* add events to our queue */ + vtinput_eventqueue_add_event(&sc->vsc_eventqueue, &event); + + /* only send events to guest on EV_SYN or SYN_REPORT */ + if (event.type != EV_SYN || event.type != SYN_REPORT) { + continue; + } + + /* send host events to guest */ + vtinput_eventqueue_send_events( + &sc->vsc_eventqueue, &sc->vsc_queues[VTINPUT_EVENTQ]); + } +} + +static int +pci_vtinput_legacy_config(nvlist_t *nvl, const char *opts) +{ + if (opts == NULL) + return (-1); + + /* + * parse opts: + * virtio-input,/dev/input/eventX + */ + char *cp = strchr(opts, ','); + if (cp == NULL) { + set_config_value_node(nvl, "path", opts); + return (0); + } + char *path = strndup(opts, cp - opts); + set_config_value_node(nvl, "path", path); + free(path); + + return (pci_parse_legacy_config(nvl, cp + 1)); +} + +static int +pci_vtinput_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +{ + struct pci_vtinput_softc *sc; + + /* + * Keep it here. + * Else it's possible to access it uninitialized by jumping to failed. + */ + pthread_mutexattr_t mtx_attr = NULL; + + sc = calloc(1, sizeof(struct pci_vtinput_softc)); + + sc->vsc_evdev = get_config_value_node(nvl, "path"); + if (sc->vsc_evdev == NULL) { + WPRINTF(("%s: missing required path config value", __func__)); + goto failed; + } + + /* + * open evdev by using non blocking I/O: + * read from /dev/input/eventX would block our thread otherwise + */ + sc->vsc_fd = open(sc->vsc_evdev, O_RDWR | O_NONBLOCK); + if (sc->vsc_fd < 0) { + WPRINTF(("%s: failed to open %s", __func__, sc->vsc_evdev)); + goto failed; + } + + /* check if evdev is really a evdev */ + int evversion; + int error = ioctl(sc->vsc_fd, EVIOCGVERSION, &evversion); + if (error < 0) { + WPRINTF(("%s: %s is no evdev", __func__, sc->vsc_evdev)); + goto failed; + } + + /* gain exclusive access to evdev */ + error = ioctl(sc->vsc_fd, EVIOCGRAB, 1); + if (error < 0) { + WPRINTF(("%s: failed to grab %s", __func__, sc->vsc_evdev)); + goto failed; + } + + if (pthread_mutexattr_init(&mtx_attr)) { + WPRINTF(("%s: init mutexattr failed", __func__)); + goto failed; + } + if (pthread_mutexattr_settype(&mtx_attr, PTHREAD_MUTEX_RECURSIVE)) { + WPRINTF(("%s: settype mutexattr failed", __func__)); + goto failed; + } + if (pthread_mutex_init(&sc->vsc_mtx, &mtx_attr)) { + WPRINTF(("%s: init mutex failed", __func__)); + goto failed; + } + + /* init softc */ + sc->vsc_eventqueue.idx = 0; + sc->vsc_eventqueue.size = VTINPUT_MAX_PKT_LEN; + sc->vsc_eventqueue.events = calloc( + sc->vsc_eventqueue.size, sizeof(struct vtinput_event_elem)); + sc->vsc_config_valid = 0; + if (sc->vsc_eventqueue.events == NULL) { + WPRINTF(("%s: failed to alloc eventqueue", __func__)); + goto failed; + } + + /* register event handler */ + sc->vsc_evp = mevent_add(sc->vsc_fd, EVF_READ, vtinput_read_event, sc); + if (sc->vsc_evp == NULL) { + WPRINTF(("%s: could not register mevent", __func__)); + goto failed; + } + +#ifndef WITHOUT_CAPSICUM + cap_rights_t rights; + cap_rights_init(&rights, CAP_EVENT, CAP_IOCTL, CAP_READ, CAP_WRITE); + if (caph_rights_limit(sc->vsc_fd, &rights) == -1) { + errx(EX_OSERR, "Unable to apply rights for sandbox"); + } +#endif + + /* link virtio to softc */ + vi_softc_linkup( + &sc->vsc_vs, &vtinput_vi_consts, sc, pi, sc->vsc_queues); + sc->vsc_vs.vs_mtx = &sc->vsc_mtx; + + /* init virtio queues */ + sc->vsc_queues[VTINPUT_EVENTQ].vq_qsize = VTINPUT_RINGSZ; + sc->vsc_queues[VTINPUT_EVENTQ].vq_notify = pci_vtinput_notify_eventq; + sc->vsc_queues[VTINPUT_STATUSQ].vq_qsize = VTINPUT_RINGSZ; + sc->vsc_queues[VTINPUT_STATUSQ].vq_notify = pci_vtinput_notify_statusq; + + /* initialize config space */ + pci_set_cfgdata16(pi, PCIR_DEVICE, VIRTIO_DEV_INPUT); + pci_set_cfgdata16(pi, PCIR_VENDOR, VIRTIO_VENDOR); + pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_INPUTDEV); + pci_set_cfgdata8(pi, PCIR_SUBCLASS, PCIS_INPUTDEV_OTHER); + pci_set_cfgdata8(pi, PCIR_REVID, VIRTIO_REV_INPUT); + pci_set_cfgdata16(pi, PCIR_SUBDEV_0, VIRTIO_SUBDEV_INPUT); + pci_set_cfgdata16(pi, PCIR_SUBVEND_0, VIRTIO_SUBVEN_INPUT); + + /* add MSI-X table BAR */ + if (vi_intr_init(&sc->vsc_vs, 1, fbsdrun_virtio_msix())) + goto failed; + /* add virtio register */ + vi_set_io_bar(&sc->vsc_vs, 0); + + return (0); + +failed: + if (sc == NULL) { + return (-1); + } + + if (sc->vsc_evp) + mevent_delete(sc->vsc_evp); + if (sc->vsc_eventqueue.events) + free(sc->vsc_eventqueue.events); + if (sc->vsc_mtx) + pthread_mutex_destroy(&sc->vsc_mtx); + if (mtx_attr) + pthread_mutexattr_destroy(&mtx_attr); + if (sc->vsc_fd) + close(sc->vsc_fd); + + free(sc); + + return (-1); +} + +struct pci_devemu pci_de_vinput = { + .pe_emu = "virtio-input", + .pe_init = pci_vtinput_init, + .pe_legacy_config = pci_vtinput_legacy_config, + .pe_barwrite = vi_pci_write, + .pe_barread = vi_pci_read, +}; +PCI_EMUL_SET(pci_de_vinput); diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index b55b36bb5978..90c3471e5d3b 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -602,7 +602,10 @@ vi_pci_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, max = vc->vc_cfgsize ? vc->vc_cfgsize : 0x100000000; if (newoff + size > max) goto bad; - error = (*vc->vc_cfgread)(DEV_SOFTC(vs), newoff, size, &value); + if (vc->vc_cfgread != NULL) + error = (*vc->vc_cfgread)(DEV_SOFTC(vs), newoff, size, &value); + else + error = 0; if (!error) goto done; } @@ -718,7 +721,10 @@ vi_pci_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, max = vc->vc_cfgsize ? vc->vc_cfgsize : 0x100000000; if (newoff + size > max) goto bad; - error = (*vc->vc_cfgwrite)(DEV_SOFTC(vs), newoff, size, value); + if (vc->vc_cfgwrite != NULL) + error = (*vc->vc_cfgwrite)(DEV_SOFTC(vs), newoff, size, value); + else + error = 0; if (!error) goto done; } diff --git a/usr.sbin/bhyve/virtio.h b/usr.sbin/bhyve/virtio.h index 51c57da8c46d..7b50969e57a9 100644 --- a/usr.sbin/bhyve/virtio.h +++ b/usr.sbin/bhyve/virtio.h @@ -171,6 +171,22 @@ #define VIRTIO_DEV_SCSI 0x1004 #define VIRTIO_DEV_RANDOM 0x1005 #define VIRTIO_DEV_9P 0x1009 +#define VIRTIO_DEV_INPUT 0x1052 + +/* + * PCI revision IDs + */ +#define VIRTIO_REV_INPUT 1 + +/* + * PCI subvendor IDs + */ +#define VIRTIO_SUBVEN_INPUT 0x108E + +/* + * PCI subdevice IDs + */ +#define VIRTIO_SUBDEV_INPUT 0x1100 /* From section 2.3, "Virtqueue Configuration", of the virtio specification */ static inline int From nobody Tue Jan 24 07:35:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1Jf16NmCz2v3dg; Tue, 24 Jan 2023 07:35: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 4P1Jf15vK2z3DPS; Tue, 24 Jan 2023 07:35:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674545705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9rL4yuVEWzYVf8dzUzS7e+y8sypFCGUq55PAO1P40do=; b=M9LAEvUeCU49og0gmOOwMwWt4XWI3OrGvVrI56WhCXkin9eRgFcZzlDcW/g37eK95Ts+wn cjH+6KILZZe96RASqx18+y5wAMrJp+3fF7I0kkwJ6ZuHQJuIY50JPbx2z2NN8adrr5K5a7 Ji5jApxp4yk9C0ZjLy0mRC4QIME0/vQhi8cgndm4q9KgTr/Nhxve/1Ji5+KdS/7rhsPw8T Fq0chk2X7SpVop776mhUcSoPqz3oSOhcJYp5ao/0vZhYyqbxjLeJ3+1EwNAgxLf0WQm6eO A3ZYXvs07ubENduX0XkMpkij11benXxSNsT0zBy5Ss+UtbplyMZpaevEpgdjaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674545705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9rL4yuVEWzYVf8dzUzS7e+y8sypFCGUq55PAO1P40do=; b=RLyHPhLC3apSNga+9d2OEVPmwVtK2LMWusrU04jq7fmtJAhnfq94CdQK/e6enl3Ps9J0CI orJWKfU5dEAE3BA3g/L9JUtm8lW9x0JRVfT09hheYuxMhb7ZUdeJD00UyvA3JaiNRRq7iv yMO3XSRjbX8yhQxzd71u7iU7MFPCE2EoH3ZSYeDhe4KQPlecwFJhriuRP2uG7Nb6079IRZ 2KqnaxYM78iT7YfujPD/ZpNy0VMrCg8WQk9DBR7BHIPfRWyg6pqt6VJYRIRcxhZTMknCee E9SRbVLFXGItIBt0BJnkvelmzi578jOFFPFI+iX/o8oPWXHnEOQ/JDzttNVDyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674545705; a=rsa-sha256; cv=none; b=rGxzvoOijc3oPykDwUb+r4Iet+T6pePZSS65dM740bjJTxmmBtuT/aU5lIiBAYk4uTaodf f3N2TJ4G/ADzd5jIyT5sSkB5QCIgUe+9U5onwvT2/8DwPTbi4YZE6pPiDRnBMzI+FczETo G5gNn/DbZNJxDOBriZGJPONzCy4ZIPntJlmV5JMAUc53Ni88Hqxp/Xi9xoLyWoZY/0s6tF H2g3E8jHtF4/Hp/OuEUo3yaT2wAsQShHPrBLFZqMk/2qBLY2aEyDWxmJPSO347VCD4dGdc 1BL2Mso1drIs1b/1cPz5dmAS/n4yXfOyt+e2k/N5Ab8gEL215niycQDZTy20tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1Jf14xcHz11mn; Tue, 24 Jan 2023 07:35:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O7Z593020287; Tue, 24 Jan 2023 07:35:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O7Z5mn020286; Tue, 24 Jan 2023 07:35:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 07:35:05 GMT Message-Id: <202301240735.30O7Z5mn020286@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: dab4775da308 - stable/13 - linprocfs: Add net/route. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: dab4775da30809c65df81837c74a9d634375a704 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=dab4775da30809c65df81837c74a9d634375a704 commit dab4775da30809c65df81837c74a9d634375a704 Author: John Grafton AuthorDate: 2022-10-22 10:52:58 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-24 07:34:29 +0000 linprocfs: Add net/route. PR: 266482 Reviewed by: melifaro, me Differential revision: https://reviews.freebsd.org/D36949 MFC after: 1 week (cherry picked from commit 4c9db9566e67779905c667c2719e5b1628c3af3d) --- sys/compat/linprocfs/linprocfs.c | 79 ++++++++++++++++++++++++++++++++++++++++ sys/modules/linprocfs/Makefile | 2 +- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 6f6cd3f5f55f..a93f8a1dbb8b 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -41,6 +41,8 @@ * @(#)procfs_status.c 8.4 (Berkeley) 6/15/94 */ +#include "opt_inet.h" + #include __FBSDID("$FreeBSD$"); @@ -86,6 +88,10 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include +#include + #include #include #include @@ -1546,6 +1552,77 @@ linprocfs_donetdev(PFS_FILL_ARGS) return (0); } +struct walkarg { + struct sbuf *sb; +}; + +static int +linux_route_print(struct rtentry *rt, void *vw) +{ +#ifdef INET + struct walkarg *w = vw; + struct route_nhop_data rnd; + struct in_addr dst, mask; + struct nhop_object *nh; + char ifname[16]; + uint32_t scopeid = 0; + uint32_t gw = 0; + uint32_t linux_flags = 0; + + rt_get_inet_prefix_pmask(rt, &dst, &mask, &scopeid); + + rt_get_rnd(rt, &rnd); + + /* select only first route in case of multipath */ + nh = nhop_select_func(rnd.rnd_nhop, 0); + + linux_ifname(nh->nh_ifp, ifname, sizeof(ifname)); + + gw = (nh->nh_flags & NHF_GATEWAY) + ? nh->gw4_sa.sin_addr.s_addr : 0; + + linux_flags = RTF_UP | + (nhop_get_rtflags(nh) & (RTF_GATEWAY | RTF_HOST)); + + sbuf_printf(w->sb, + "%s\t" + "%08X\t%08X\t%04X\t" + "%d\t%u\t%d\t" + "%08X\t%d\t%u\t%u", + ifname, + dst.s_addr, gw, linux_flags, + 0, 0, rnd.rnd_weight, + mask.s_addr, nh->nh_mtu, 0, 0); + + sbuf_printf(w->sb, "\n\n"); +#endif + return (0); +} + +/* + * Filler function for proc/net/route + */ +static int +linprocfs_donetroute(PFS_FILL_ARGS) +{ + struct walkarg w = { + .sb = sb + }; + uint32_t fibnum = curthread->td_proc->p_fibnum; + + sbuf_printf(w.sb, "%-127s\n", "Iface\tDestination\tGateway " + "\tFlags\tRefCnt\tUse\tMetric\tMask\t\tMTU" + "\tWindow\tIRTT"); + + CURVNET_SET(TD_TO_VNET(curthread)); + IFNET_RLOCK(); + rib_walk(fibnum, AF_INET, false, linux_route_print, &w); + IFNET_RUNLOCK(); + CURVNET_RESTORE(); + + return (0); +} + /* * Filler function for proc/sys/kernel/osrelease */ @@ -2100,6 +2177,8 @@ linprocfs_init(PFS_INIT_ARGS) dir = pfs_create_dir(root, "net", NULL, NULL, NULL, 0); pfs_create_file(dir, "dev", &linprocfs_donetdev, NULL, NULL, NULL, PFS_RD); + pfs_create_file(dir, "route", &linprocfs_donetroute, + NULL, NULL, NULL, PFS_RD); /* /proc//... */ dir = pfs_create_dir(root, "pid", NULL, NULL, NULL, PFS_PROCDEP); diff --git a/sys/modules/linprocfs/Makefile b/sys/modules/linprocfs/Makefile index fa7ac8725d14..16f9f8c703be 100644 --- a/sys/modules/linprocfs/Makefile +++ b/sys/modules/linprocfs/Makefile @@ -4,7 +4,7 @@ KMOD= linprocfs SRCS= vnode_if.h \ - device_if.h bus_if.h \ + device_if.h bus_if.h opt_inet.h \ linprocfs.c .if !defined(KERNBUILDDIR) From nobody Tue Jan 24 08:03:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1KHC3NM7z2v6rw; Tue, 24 Jan 2023 08:03: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 4P1KHC2svFz3HZD; Tue, 24 Jan 2023 08:03:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=87JarBK5q1xUacRusfvx+0b+UhMlWPmJvvqA1t89s/0=; b=Ha0G34RSLI+vMIFduHxQILhmPX0v3H+SNhkKFjZy/03fHNI5hHlYiOAz9gC4nDGSTZ+KDl DBG951eyIX/uVQA22I6rPIU4eQ7d8tOIYxyHmOq026ZAq4PCuY/W6v1tZKqpFchAfRN5rs cPh1a9VShEUZrJB3ytfRDWBaDDqLc+hcy6tkck8y6nm58m1yJQ+08ZVjMxqPD+etoB7EqP hKpSXJWZlV15pVhWwOIrxVAmCQW1NdH5AUoE5IysrnXiREi7fSA2RYgMuaPeJ/lr4cbiIw U+XQd8nYEAYNSs7GSiqFw9N++B2pgO65rnQLUOTnA3FrcbxYSBQjqmxfI2J15g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=87JarBK5q1xUacRusfvx+0b+UhMlWPmJvvqA1t89s/0=; b=C6rk9TuH5bN6SfkyI4wouaQ/0EunCJfLlXSxuQKcgrXNelLCWGdER8a5+X5IdwaTCXRrDf GYt3MRvyP3chUMVmRdzbK4tc45x3DYxPIEcwIPVz5D3tOfdJFRpD49nW1aLOlgVpC8ApFQ H06if9EBPUZ3pHmV/qx+sxpXxj+Lqf0+dl6NHJhEW4T2iIN9I7oEj7Qo1+FU51HV8JdV5E QI8RJ4nHGPk5mpPs/sQw5/ojAluBx1H7Sz8ACLNa2EBnz/n7zIh+nshRRbDnKTkAH/TREs qZ5xm1H4A2BTHucetT5Hea+q27ngE45sKYHzzCFKcsZhTitVfWAAL+/Z6m1I4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674547431; a=rsa-sha256; cv=none; b=p/FWksJtas0OXHwr8FgAO+C3/S+MCEGl4rdWe98eKviQ7aIpdOQS+8++IhLk9+CxTJacOG vEfWeyixaxw1pWFPUIZBOxQAh16Kvekr88fYsjdYYeW5A9NgyJ2FRxrQ+svgJXsvEztX4F 8UAs0RBxtPToKHx6+q4VHxiIei+8xnre5XfxBVZy2lgFTFxrgsVVpp9h/KhzXMXYnlOFmj e642FCnFH58a0CzEbSZi18u6gWJE2czKZGcsADzktj5EZLnvL6EYk6bvmlV33Ecmd79JBJ U2oUiq9VklDhtzn/LX44J+zt4sVL2HKAVEcqUqVG8wwBhelofw5a+E/KNRaNMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1KHC1wfrz11sG; Tue, 24 Jan 2023 08:03:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O83pIB064018; Tue, 24 Jan 2023 08:03:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O83ppa064017; Tue, 24 Jan 2023 08:03:51 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:03:51 GMT Message-Id: <202301240803.30O83ppa064017@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 81d8988a75a1 - stable/13 - cxgbetool(8): Fix common typos in sysctl descriptions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 81d8988a75a1ba24db33027c6ce16aa2167c30d8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=81d8988a75a1ba24db33027c6ce16aa2167c30d8 commit 81d8988a75a1ba24db33027c6ce16aa2167c30d8 Author: Gordon Bergling AuthorDate: 2023-01-19 13:22:00 +0000 Commit: Gordon Bergling CommitDate: 2023-01-24 08:03:18 +0000 cxgbetool(8): Fix common typos in sysctl descriptions - s/addres/address/ (cherry picked from commit 74d2a3c16d74376f594162ee622ba470d631b386) --- usr.sbin/cxgbetool/tcbinfot4.c | 2 +- usr.sbin/cxgbetool/tcbinfot5.c | 2 +- usr.sbin/cxgbetool/tcbinfot6.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/cxgbetool/tcbinfot4.c b/usr.sbin/cxgbetool/tcbinfot4.c index 9daff0af3338..9ee72458d38d 100644 --- a/usr.sbin/cxgbetool/tcbinfot4.c +++ b/usr.sbin/cxgbetool/tcbinfot4.c @@ -872,7 +872,7 @@ _TCBVAR g_tcb_info4[]={ NULL , 0, 0, /* faka,flo,fhi */ "rq_start" , /* aka */ COMP_NONE , /* comp */ - "DW aligned starting addres of RQ", /*desc*/ + "DW aligned starting address of RQ", /*desc*/ NULL, /*akadesc */ }, {"rq_MSN" , 2, 986, 998, /* name,aux,lo,hi */ diff --git a/usr.sbin/cxgbetool/tcbinfot5.c b/usr.sbin/cxgbetool/tcbinfot5.c index b4baa31a82e2..e15dc998c683 100644 --- a/usr.sbin/cxgbetool/tcbinfot5.c +++ b/usr.sbin/cxgbetool/tcbinfot5.c @@ -879,7 +879,7 @@ _TCBVAR g_tcb_info5[]={ NULL , 0, 0, /* faka,flo,fhi */ "rq_start" , /* aka */ COMP_NONE , /* comp */ - "DW aligned starting addres of RQ", /*desc*/ + "DW aligned starting address of RQ", /*desc*/ NULL, /*akadesc */ }, {"rq_MSN" , 2, 986, 998, /* name,aux,lo,hi */ diff --git a/usr.sbin/cxgbetool/tcbinfot6.c b/usr.sbin/cxgbetool/tcbinfot6.c index 81499136807a..d1f2c24ae7a6 100644 --- a/usr.sbin/cxgbetool/tcbinfot6.c +++ b/usr.sbin/cxgbetool/tcbinfot6.c @@ -879,7 +879,7 @@ _TCBVAR g_tcb_info6[]={ NULL , 0, 0, /* faka,flo,fhi */ "rq_start" , /* aka */ COMP_NONE , /* comp */ - "DW aligned starting addres of RQ", /*desc*/ + "DW aligned starting address of RQ", /*desc*/ NULL, /*akadesc */ }, {"rq_MSN" , 2, 986, 998, /* name,aux,lo,hi */ From nobody Tue Jan 24 08:03:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1KHD4l09z2v7BP; Tue, 24 Jan 2023 08:03: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 4P1KHD3J2xz3HrW; Tue, 24 Jan 2023 08:03:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OxCc56w5g8FnuyF1ugmzdHZqvq4GGv7cqkk9dXTpR1s=; b=jRhEAsQ6yC/78yuYj+tpA3DORke8YT5BC8B3/c6wGalvpogJEuNWiNsEvmbI0mu5femX9a I1KUcINcq2L7A3HEkq5J5ScG5chhzWe1A+j2KC/R8zMZaSCSQ0i6OLOpWw+6UlUcpdfi9y ofMTYz+AWAOhdJDpCAERbpOI6Kv3zFZsxrA/B8+K3Qz67ItDSQhaEx7BMSVRqnzG1M9pTw Drg/JhH98G3fbXt7fOOzC9Kuq4FzPNpQ37FEnkdsS1m791RjySB4i25zVm4Uu980MiXXqs hXcF2OgYzoddCo85wlPp9bVJPNeS+F/Zev2r5ohEuyz2GiU15h5NOchC9S7C/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OxCc56w5g8FnuyF1ugmzdHZqvq4GGv7cqkk9dXTpR1s=; b=LUsIsIaX9InuBBvcUyOPrckmhHQOjVzeemLwynkwLWG+4Kd6Cr0ROqeat5SUrjm0J9adGm xA/9HkiD28uXLHuxaRqIF1+To8i1TFNaJh8ZY5mUBsr0qdinE2Z1Q6aDA940pILSi0Q9o6 134vlD1anzIYDrc1DWBl0G5L4zBHjsOARWTcfJRR6yZ6FAIgvvJ/+FK+x1Ab+Vo0c3xT8j ySN/JTjLVjkNxkpsfeOFKY/I+B3j7LMyhXtZz1vAeTnrY3J2r18XUbIcCXjPa45+4P2mIu 9DlVygO+AfOPMubrx393IsAaXVSEXdX9KwsgZiWpWeOsR9iepxDEp1WRJlJosQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674547432; a=rsa-sha256; cv=none; b=nECR3LA8IXqBJ03Px9OWhQRhGw4NAO7UoAzWou0WaoVvgUryJcpNzbYxNQ+T0Bh92GYtmj BycizRxDy1R3ezqrRNow3i0hd//UnZolrJ0Lxk2H3VN5uH7ndigYzsgQA6306BWkc12/47 OaQOMEt8ULTEDoPxhFcxSKuoBinGle2tj/evl/3uVJv2W9ZPAx3kBdkJ1XJ4AcS9NvfdXk Ah6lxHomf1+aSprFBClBwcvdpFk1h0nhKdIkaKF/t/FWJu6ilVynj4qCyo7RYtyrSXk0N/ cWtwIszR+aFz+dEEv3byS6mOTIQ+QJ0raC9U3/zAqNmbJU8uxt9/XZZRjm1VXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1KHD2Lg1z12Dr; Tue, 24 Jan 2023 08:03:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O83q1D064043; Tue, 24 Jan 2023 08:03:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O83qrU064042; Tue, 24 Jan 2023 08:03:52 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:03:52 GMT Message-Id: <202301240803.30O83qrU064042@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: ed89b5fe0bec - stable/13 - rc.initdiskless: Fix a typo in a comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed89b5fe0becd92f0f886b829420cb996f1c6f27 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=ed89b5fe0becd92f0f886b829420cb996f1c6f27 commit ed89b5fe0becd92f0f886b829420cb996f1c6f27 Author: Gordon Bergling AuthorDate: 2023-01-19 13:17:37 +0000 Commit: Gordon Bergling CommitDate: 2023-01-24 08:03:40 +0000 rc.initdiskless: Fix a typo in a comment - s/attemping/attempting/ (cherry picked from commit 30985d19b00da3ea3ba808b57e5a46ce6403b8d7) --- libexec/rc/rc.initdiskless | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.initdiskless b/libexec/rc/rc.initdiskless index 60cfa8b174f8..164e89e9e78c 100644 --- a/libexec/rc/rc.initdiskless +++ b/libexec/rc/rc.initdiskless @@ -306,7 +306,7 @@ handle_remount /conf # be sure to export those filesystems -alldirs, however. # If the diskless_remount file contains a string beginning with a # '/' it is assumed that the local nfsroot should be prepended to -# it before attemping to the remount. This allows the root to be +# it before attempting to the remount. This allows the root to be # relocated without needing to change the remount files. # log "templates are ${templates}" From nobody Tue Jan 24 08:04:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1KHn52FSz2v7Kv; Tue, 24 Jan 2023 08:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1KHn4Xj3z3JWm; Tue, 24 Jan 2023 08:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ygiAHAThZmksfOyTBzbSz6Ozf5oy6fddxC527Uh29rY=; b=bl9aB8w2xXnNlaqtW8BSIpOMKYx4BHav6cAMWfTDrwSN8r+pgaCRPlijbkCmZubcM1ccla OF7ozSswRieUvsEuwBjyG/JhADpN5RuKwyWVYZpnkSKowgk44XmbVkP6klruP+R2T0vE8/ wAoRZdxrf006cEBhwVFXtBplYzaBr+b41o/gofYpKRB7/WD7qTbJkxUhqQmNDOKyYxy27o fguBt68W1czw1wy2d53spQrf3oPMrouEgcoVCn/S8MeEQarmIOjj5CD2w/oDxIFGRhKZTi lN95HEOAx/1Yl6CAPkDs3vfOBIZodFCstMbdxNVZThdY9R6tB2POjeFUeeWtLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ygiAHAThZmksfOyTBzbSz6Ozf5oy6fddxC527Uh29rY=; b=JP+lCRmeH6sxylFPUII3kFnwMrFPmLE4zCozp/jBPcA5P/OMCuYWykh7X3SzcuWZLZvpvk +tufkPJihhMQMMBxjL23hmxcMOQfGYrLLMu8Gh5L7Lax/hfuN1rSOwmqEauRl/HMkT3jr+ ur9b/VpyfimNQdy30/+HwphSb4M+txRO5A7e9/umQuLW+1+F+uewqAzoMJx5/mDHnJsuhd mD1AkH2B87dj7F+fVTMSMFiRMHpJc0mnAeNW5Ox80pbWQLlXgDWAlBUFfrjCgL2ISTl4ny gQzJlPRqXcu9gbAJerPq7OxBTGNByLKsB2DOs1Uno4k1te8BJeZ8/DdEQ0itCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674547461; a=rsa-sha256; cv=none; b=emEkmeae88sOz5SUyit2SkvfjV3LBQ7SGESKIxJMQqBGJZTcbGx4Th70AylXaiPjsZ8SsR cpRnxw09Ea1nvi9Z7etkarQqq+8riAXlFbVmfLAP1Jg4gN2bZGkkCfLKAPCnVJe35Q2od7 H+63j74ZKLw1YgG4dJziJQqL9a+UsqeOoINY9jxePabyDWHABOgQeAwzlDiomxAiPR3K4W 5C/BMnkzvB9XgKL125Rt2M3X2ffq10UWdqkaniLb82K/xaEmxwjhm68oJr1bd9icvazCjY q2Egobn0boIJrzenA74WVFrNqQitk7MsJLZ14L2K2VUIGXoihfkqjecG1YN5KQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1KHn3Zlvz12R0; Tue, 24 Jan 2023 08:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O84LHr064225; Tue, 24 Jan 2023 08:04:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O84Lxw064224; Tue, 24 Jan 2023 08:04:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:04:21 GMT Message-Id: <202301240804.30O84Lxw064224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 2a811ae423ad - stable/12 - rc.initdiskless: Fix a typo in a comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 2a811ae423ad1b9229f497a45332fb713858d9e3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=2a811ae423ad1b9229f497a45332fb713858d9e3 commit 2a811ae423ad1b9229f497a45332fb713858d9e3 Author: Gordon Bergling AuthorDate: 2023-01-19 13:17:37 +0000 Commit: Gordon Bergling CommitDate: 2023-01-24 08:04:02 +0000 rc.initdiskless: Fix a typo in a comment - s/attemping/attempting/ (cherry picked from commit 30985d19b00da3ea3ba808b57e5a46ce6403b8d7) --- libexec/rc/rc.initdiskless | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.initdiskless b/libexec/rc/rc.initdiskless index 172f419d945f..4ec9d545c4b2 100644 --- a/libexec/rc/rc.initdiskless +++ b/libexec/rc/rc.initdiskless @@ -302,7 +302,7 @@ handle_remount /conf # be sure to export those filesystems -alldirs, however. # If the diskless_remount file contains a string beginning with a # '/' it is assumed that the local nfsroot should be prepended to -# it before attemping to the remount. This allows the root to be +# it before attempting to the remount. This allows the root to be # relocated without needing to change the remount files. # log "templates are ${templates}" From nobody Tue Jan 24 08:04:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1KHp5q7rz2v7Bt; Tue, 24 Jan 2023 08:04: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 4P1KHp54nYz3JV1; Tue, 24 Jan 2023 08:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ntHZUgprGeuTfxwyPTwFR3bKyWO56/Du32GeU1ruN0A=; b=ED3ANPWZNS3w423riuRXVIOifwD9r2wf/N7wFtzrxPD/FlB9ydvVMjmYH5Tx7+BMJoJily sqz2suYQ1hnauYkAbYiA7o8ICFNLqoNrYj2H9PllzTvM3sgF1dlbRJk+IStapR6tI3AxLb FMCO7Wb3Rybhggq6yyK41ynC+klGiphkUJs3fshOs7IldtIcoLegFwKBVVF+ul99kv11YC XAuNEU7vQaXQ4CRKaZ9AxzUWLdPHIaXKMY4L7pul/195Tv9rokwWQtnJS3kQSWpcAzQCFh OOieAEI64QmuBbwQ/JvBoljOOwIvGttKrA5d6ULhiyPKFJZ/bCUqf2LZIKU4MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674547462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ntHZUgprGeuTfxwyPTwFR3bKyWO56/Du32GeU1ruN0A=; b=pXUNr5qgyd+XT5onV3tLKj2k6LRjLwiwqcr0hkeDISQSptFdjEkaduqP4PRAybstauv98H +0+cTGV1IplxTCtQBNQAJOtsNysglMcA1fc7hgdt25Gz1TXW/DGB37C3RXRamK40sPo5TQ CoFjMPyk4e7YlGqFlId294PLyMOKDX1tTLdge9uanhxCivWJoL3jap46hpaCpYzzb7uTYd vRHKkMlbFZPc3kPFKnMbA/AIiiFg7j9JBqC2S/Q+//USMi++ZN3oTPRTlRanZ+NyyS0mIX zRnAE6FWutrvu1Kx3cNu/AaeuBwCIGWihYDMTe0gf2OKeWPBwWX6uhYB7+ofPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674547462; a=rsa-sha256; cv=none; b=yPRTiw8w/8ONp7VS480pyceq6N/abf+3pyehgCO+IIOeaWIGXjqv8WT0cQelMAvW34b0iS RvyGYWV2kkS0ny4Rm9W370MbZh/qXB9oERhrhbi3DlfXf+rdxUhJL79pw5PMeFwNoJ2VVR rlzcQDs1L8SjI+rwpn4Z9uTX+dTOztBrPTDXKY960ulf+xZ0TDtlJnU3fvEc0ujuvmglFZ ld1in0q60lJ7VXogin27HD/oGgTCP+HqnKuj2Na45tYuaGMxrPBSZzxDr5l6MO2/7kGEEY PuUrxMu6tOLU8YbO5jQXcFgDfdfvS393a5tQC8ka7Q7btV0+cqTHarWKTIhHJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1KHp49Gzz12T8; Tue, 24 Jan 2023 08:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O84Mgc064251; Tue, 24 Jan 2023 08:04:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O84MUs064250; Tue, 24 Jan 2023 08:04:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:04:22 GMT Message-Id: <202301240804.30O84MUs064250@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 71315f155675 - stable/12 - cxgbetool(8): Fix common typos in sysctl descriptions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 71315f1556753a4f2caacc1cf381fcc4edfcc078 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=71315f1556753a4f2caacc1cf381fcc4edfcc078 commit 71315f1556753a4f2caacc1cf381fcc4edfcc078 Author: Gordon Bergling AuthorDate: 2023-01-19 13:22:00 +0000 Commit: Gordon Bergling CommitDate: 2023-01-24 08:04:13 +0000 cxgbetool(8): Fix common typos in sysctl descriptions - s/addres/address/ (cherry picked from commit 74d2a3c16d74376f594162ee622ba470d631b386) --- usr.sbin/cxgbetool/tcbinfot4.c | 2 +- usr.sbin/cxgbetool/tcbinfot5.c | 2 +- usr.sbin/cxgbetool/tcbinfot6.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/cxgbetool/tcbinfot4.c b/usr.sbin/cxgbetool/tcbinfot4.c index 9daff0af3338..9ee72458d38d 100644 --- a/usr.sbin/cxgbetool/tcbinfot4.c +++ b/usr.sbin/cxgbetool/tcbinfot4.c @@ -872,7 +872,7 @@ _TCBVAR g_tcb_info4[]={ NULL , 0, 0, /* faka,flo,fhi */ "rq_start" , /* aka */ COMP_NONE , /* comp */ - "DW aligned starting addres of RQ", /*desc*/ + "DW aligned starting address of RQ", /*desc*/ NULL, /*akadesc */ }, {"rq_MSN" , 2, 986, 998, /* name,aux,lo,hi */ diff --git a/usr.sbin/cxgbetool/tcbinfot5.c b/usr.sbin/cxgbetool/tcbinfot5.c index b4baa31a82e2..e15dc998c683 100644 --- a/usr.sbin/cxgbetool/tcbinfot5.c +++ b/usr.sbin/cxgbetool/tcbinfot5.c @@ -879,7 +879,7 @@ _TCBVAR g_tcb_info5[]={ NULL , 0, 0, /* faka,flo,fhi */ "rq_start" , /* aka */ COMP_NONE , /* comp */ - "DW aligned starting addres of RQ", /*desc*/ + "DW aligned starting address of RQ", /*desc*/ NULL, /*akadesc */ }, {"rq_MSN" , 2, 986, 998, /* name,aux,lo,hi */ diff --git a/usr.sbin/cxgbetool/tcbinfot6.c b/usr.sbin/cxgbetool/tcbinfot6.c index 81499136807a..d1f2c24ae7a6 100644 --- a/usr.sbin/cxgbetool/tcbinfot6.c +++ b/usr.sbin/cxgbetool/tcbinfot6.c @@ -879,7 +879,7 @@ _TCBVAR g_tcb_info6[]={ NULL , 0, 0, /* faka,flo,fhi */ "rq_start" , /* aka */ COMP_NONE , /* comp */ - "DW aligned starting addres of RQ", /*desc*/ + "DW aligned starting address of RQ", /*desc*/ NULL, /*akadesc */ }, {"rq_MSN" , 2, 986, 998, /* name,aux,lo,hi */ From nobody Tue Jan 24 08:17:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1KZk45SWz2v8pf; Tue, 24 Jan 2023 08:17:18 +0000 (UTC) (envelope-from freebsd@oldach.net) Received: from nuc.oldach.net (hmo.in-vpn.de [IPv6:2001:67c:1407:60::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-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "nuc.oldach.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1KZh72G3z3KNB; Tue, 24 Jan 2023 08:17:16 +0000 (UTC) (envelope-from freebsd@oldach.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of freebsd@oldach.net designates 2001:67c:1407:60::1 as permitted sender) smtp.mailfrom=freebsd@oldach.net; dmarc=none Received: from nuc.oldach.net (localhost [127.0.0.1]) by nuc.oldach.net (8.17.1/8.17.1/hmo04jun22) with ESMTPS id 30O8H5h2015543 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 24 Jan 2023 09:17:05 +0100 (CET) (envelope-from freebsd@oldach.net) Received: (from hmo@localhost) by nuc.oldach.net (8.17.1/8.17.1/hmo04jun22/Submit) id 30O8H53k015541; Tue, 24 Jan 2023 09:17:05 +0100 (CET) (envelope-from freebsd@oldach.net) Message-Id: <202301240817.30O8H53k015541@nuc.oldach.net> Subject: Re: git: 6bbfbaa6ae46 - stable/13 - netlink: add netlink support In-Reply-To: <202301232211.30NMBfdA012401@gitrepo.freebsd.org> from "Alexander V. Chernikov" at "23 Jan 2023 22:11:41" To: melifaro@FreeBSD.org (Alexander V. Chernikov) Date: Tue, 24 Jan 2023 09:17:05 +0100 (CET) Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: freebsd@oldach.net (Helge Oldach) X-No-Archive: Yes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: inspected by milter-greylist-4.6.4 (nuc.oldach.net [0.0.0.0]); Tue, 24 Jan 2023 09:17:05 +0100 (CET) for IP:127.0.0.1 DOMAIN:localhost HELO:nuc.oldach.net FROM:freebsd@oldach.net RCPT: X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; FROM_NO_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-branches@FreeBSD.org]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:29670, ipnet:2001:67c:1400::/45, country:DE]; RCPT_COUNT_THREE(0.00)[4]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[oldach.net]; TO_DN_NONE(0.00)[]; RCVD_TLS_LAST(0.00)[] X-Rspamd-Queue-Id: 4P1KZh72G3z3KNB X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N Alexander V. Chernikov wrote on Mon, 23 Jan 2023 23:11:41 +0100 (CET): > The branch stable/13 has been updated by melifaro: > > URL: https://cgit.FreeBSD.org/src/commit/?id=6bbfbaa6ae46f732603c2a23c7ece6dfe39c1e03 > > commit 6bbfbaa6ae46f732603c2a23c7ece6dfe39c1e03 > Author: Alexander V. Chernikov > AuthorDate: 2022-01-20 21:39:21 +0000 > Commit: Alexander V. Chernikov > CommitDate: 2023-01-23 19:18:08 +0000 > > netlink: add netlink support Please connect netlink(4) and friends as well. Kind regards Helge From nobody Tue Jan 24 08:53:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LNx2BTRz30wjx; Tue, 24 Jan 2023 08:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LNx1YwRz3Q8y; Tue, 24 Jan 2023 08:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0pC/GnWhx1IlU1MCJd7BUmxFLnaXL2YCtem2xHqVOc8=; b=colaCCYtB1nyG0HPY5q+IbAJeuWoUVut0W4LYg4yTJa1d/vyCVfqn57L029a2fmL11wL7a spUHnpB4Ildxk6BsPp0rbe7c4bLNTUYQJcP6W8E0T3XvbeJ1/uRW0qRea4LnEM2fNgL0M7 fSHfs7k1x2G65ub9u83tcaYAFsst4h8vmNAMEPf/HJSfkrVkFoUOUAc6F1qAPtBgJe+R8S SJnfaZoe/B77prd0dQPWnJ+QZViEKLNMFBFAwGEgcBeDlEkyON5tzx+HKdjlTPNl27MJYE XNUtJubUTcAwllgypYQumosEeQid4gCQK7oCSl7CmCJ1us4/ahmDVTt1BjP1cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0pC/GnWhx1IlU1MCJd7BUmxFLnaXL2YCtem2xHqVOc8=; b=lYYNHm5dsSdOeNmmckdQIyqxVJoyH+7W5Hc4BGM5DPlJtMzeCsv1MVZmbUGutDFI9AJ0Us NpzkD++v0gF0A3TdqChRBH0XcFYFZ35dZZlozM+zQH1ayAuI5xwjINmlo5xnFsEnP35Ltd W9U2X3EUC/7IQ48LoFhvPTPGGW9GovYFW1N9t/6naunhwjUDcR7SCgiZf+KYCCaiv6sO2S Xq3mFDUEwuYZj7IYscuN1djvFpJgH6uxXgq05sWS6je/5w4+PaqE9Sn+u1R7kKIkLDo2uY Pw2Hnk/ABNri1+rJTCPI/F/1+EG89m1i8ATQqaN4uy9bqNwqsdUE2aPsAprkrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550433; a=rsa-sha256; cv=none; b=bqRAirrpYYMuK06Ke/Z+/psCrCcVAAfaPsFcLoUfl05FD3QfZwhUNSy46n2gQjiQM045ww yFdS996xSujEQEYwkZ0q0/Nm3dl7KccavMzRIZsYaTG8QCm5ZPcAsURkFpFaTJZz85yZlz Qe41ttx/vfRv4+DZGGhAH/to5rOcDxt59Cd0RAM1Szs8HFLBkin888uREuv90WmRXxXh6M DPyHdOibo+fWZvfyqmemeAJRETAGMdkY3AxoT2SWFjAv+7sz+NfmfUK5B3sD3B3gqCUltG Lwvg3vQHbfYjatH9WFuUK97Vg94B9Ou0SJao2mSjZEkTUou7RxQCDkfqC5ghVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LNx0cLcz13Dv; Tue, 24 Jan 2023 08:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8rqSf035610; Tue, 24 Jan 2023 08:53:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rql9035609; Tue, 24 Jan 2023 08:53:52 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:52 GMT Message-Id: <202301240853.30O8rql9035609@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 252dea8f39de - stable/13 - linuxkpi: Add `__GFP_NOMEMALLOC` kmalloc flag List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 252dea8f39de86110007d618ac514ebfe51b904f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=252dea8f39de86110007d618ac514ebfe51b904f commit 252dea8f39de86110007d618ac514ebfe51b904f Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:30:31 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add `__GFP_NOMEMALLOC` kmalloc flag Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36954 (cherry picked from commit bfe6bfd79e05041f0b3ca2ca2f18405f5c4a6484) --- sys/compat/linuxkpi/common/include/linux/gfp.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/gfp.h b/sys/compat/linuxkpi/common/include/linux/gfp.h index 7657e78b0950..a2930b44b0c4 100644 --- a/sys/compat/linuxkpi/common/include/linux/gfp.h +++ b/sys/compat/linuxkpi/common/include/linux/gfp.h @@ -47,6 +47,7 @@ #define __GFP_HIGHMEM 0 #define __GFP_ZERO M_ZERO #define __GFP_NORETRY 0 +#define __GFP_NOMEMALLOC 0 #define __GFP_RECLAIM 0 #define __GFP_RECLAIMABLE 0 #define __GFP_RETRY_MAYFAIL 0 From nobody Tue Jan 24 08:53:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LNy3GWKz30wwq; Tue, 24 Jan 2023 08:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LNy2Y9cz3Q7G; Tue, 24 Jan 2023 08:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K+ieS1GdU6+90yYQctZtLf6AFOSd5FXib1mITqXB/18=; b=puOAMvhyZ6Tu217w4syv3hWkyFzA78vZAFrSZKFlUsNYJRJ9kEhJg538b7SCbWgFcs0kiT O3JziqOzD97qzw9rXJWyFNk6GvurwBrKXINuAV2CwXQ4XuTFTnJckl3RB56FRGFBUA4JBR gNsdhw+aNAsqukC4hXQSC4rXXbZs/DtEIwbo7q1xE4ZfmNr+TM6DsxsHxdx7PlFUO09cel E5LLv7HCacFQPRpBiUF1U8iawLI7HrOYkfyPqgu9knFzqUuy+lALvvjTXbzFK+KDciq0Ul DugeubwRYcznXmjQ2vgLdsiUgsyzy7rx0j45yQYOHOCIQTteBcvJj1aPgwDxhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K+ieS1GdU6+90yYQctZtLf6AFOSd5FXib1mITqXB/18=; b=aVp1uL1Ur97AJGO4y95ENMndMwjyB67Tvpcm/Q3N5E/5F8GOidNQneZ65VeJ3nv7L421eb 4nEN22uKR80/XqY8/LjsnBB1gjM/jfKZPJFP6X5Zkqxxl/NXib7lzbhtYLdkO2xnN2CBVK CbwEgqJpkDuQ61fc5J2MSdI6YVK5FQbp6tyDTdDpMLyGjQ7Lix/4qx3AekG4TXmIITGxvi /CFIZXKg/kPdqY0W0aW5FT2Q1v/6/quBa1tkZsm/VG+v14e+NuTxl2LW5aUfWfosFP7YU3 ghUsEwO6upGmd6xyuFvJG/SbrOXhSTnkcJGQ9rAonQDXXkcuRGHoL8I6NeLWrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550434; a=rsa-sha256; cv=none; b=CPfOAn+6GhAyYAOAMJolSKgT/2gyZ1TxyeyJnAmXWYE2CP1DD5UtRV3xWMfwtM/SEtKuhw fk5FyIyZK9xuNTbDunwTtVj3Xgk40jvfVeKaNRaO27zESRRAwCFqqwpcokR8pPn7Qchew9 eMxiURs9WEuDMI6y/IbtdNn2MVHeG48A5Tgyv4b073xO+zQUlYNch4cZosFSggmr6GQCXV 170TZoD1w0joKL2u9GfducmSHmcFgfQnQvVoE2FQt27tpQkz7zLYzyAHE6xc5SVEW0/zl6 rd5nkZeyltiYmADJyzOD8voLGbcAvrV7CgDdcO9e8uGIedvgFvE/XUA7oUdqag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LNy1YK4z13Dw; Tue, 24 Jan 2023 08:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8rsAE035635; Tue, 24 Jan 2023 08:53:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rsqW035634; Tue, 24 Jan 2023 08:53:54 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:54 GMT Message-Id: <202301240853.30O8rsqW035634@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 1a78ed73c1c0 - stable/13 - linuxkpi: Include in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1a78ed73c1c01cf6d9f6dd424d92343d6996a6aa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=1a78ed73c1c01cf6d9f6dd424d92343d6996a6aa commit 1a78ed73c1c01cf6d9f6dd424d92343d6996a6aa Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:34:19 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Include in This is done like this in Linux. Reviewed by: emaste manu Approved by: emaste manu Differential Revision: https://reviews.freebsd.org/D36956 (cherry picked from commit 415ca4d27d76e0787d65108fd96c980ea68c6eff) --- sys/compat/linuxkpi/common/include/linux/mm.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index d2db343fc094..dd0fb6e2d8f8 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -40,6 +40,7 @@ #include #include #include +#include #include From nobody Tue Jan 24 08:53:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LNz5Dztz30wk4; Tue, 24 Jan 2023 08:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LNz3FWvz3QRc; Tue, 24 Jan 2023 08:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nwRNGY4bgO5oivqPLUEHJLlmglO8ZfqW7dDL+SDkiyM=; b=Dst5FWO+ZjH0xLhifu7tjpYkNYIOf5XhcJgbGv4S6wQyxD5MRsg4KjA+mdp9q2SjcTD2iC 9gRDOaTxRIdcsWe0ALVuE2iMkqVbPqjLZqRLdv3J7q2Vl8FiqI0ia1N1iH2MT0R8z1hzU8 ru0qyRCgZJ0Auiw+xuICBOysfVVq3fX/DigFaSehkcXAEh/JhpdOMlYkrCYU3K/Kss5xCC Vsp8Sy/NT8oZbuIbP1sya6jr5eK8uEzI/59Qhjo/EQ7YYXgmHk71n3EUpbITi1Kzr66LSK qpG6aYRwCGPfSUCuGsKN416q4J1eMq9PRknbMZlXYI+DpY/zsKJHOwoqc4qcXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nwRNGY4bgO5oivqPLUEHJLlmglO8ZfqW7dDL+SDkiyM=; b=f0r/2hOWlN8K4G9mRQBaAgRBVFaCaVXmf/cV+lhLx2sUkYTs+Ig61uKu0iAoO/zTnTzhRa rY0Xh3cTofLlwWY9xzCrthaCD3fE4tKrgUXavFg9HPv7VH52Cz26L4VzvPQ9lAQBYb/lPC YT0PyDX0UGM2qBZId+27hpIjvTMALCV3kAjPqh68spf73pdPxvHqhBnDfkx7AwTWBaZMYN L5Ndha9ggOkfd94m0F2314xisRkOhvlqJY3XnOz0IbCAqZAoUxiIFIscuJrT0sGqICBnIE fIaIjye5QUKERK9FQ2tvTtfJ/HjYH+iPQQHllKwlHrKIuv1Otkv+3KXTuJX7qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550435; a=rsa-sha256; cv=none; b=EGKgUG5bFOQyXZGlI+VilY78VeZIhOjceTlhNfRG9jvdmBj4GlINkdqL4PB5dkDSvnsZoR 4OzX1wLKT06mNY0rIU3cMw6mc7wgJ7yP4j9oIfuD1cwrDIihXRaXgPKgzYIYA0H6VCtNDF fG5/35F4f0u5bnD27gqZEG9PxYt28Aw/zUYRolU2aTZjBAPL1q9ah0PlhS4yD33wUNBbet w8AfggxVZIYWu3/pwzw8cLHdhgyQpaaNj7t8V2QeSHBHHqC9lioXBoloz88Z1tsPPIZPgY ohI3TQeX2j/rRe255M7xfdxehSjSUZiNxhJsYJpp2lTqwTWXcThWm1a0yLYICQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LNz2Blmz13Qc; Tue, 24 Jan 2023 08:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8rtSI035660; Tue, 24 Jan 2023 08:53:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rtbg035659; Tue, 24 Jan 2023 08:53:55 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:55 GMT Message-Id: <202301240853.30O8rtbg035659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 6024bee614f2 - stable/13 - linuxkpi: Introduce `vma_set_file()` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6024bee614f2e90442666ebb0829f3424f975830 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=6024bee614f2e90442666ebb0829f3424f975830 commit 6024bee614f2e90442666ebb0829f3424f975830 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:36:00 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Introduce `vma_set_file()` This code was moved from the i915 driver in Linux 5.11. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36957 (cherry picked from commit c72dd0aabe25dd4ea82e5b83d36f706d8bd2e783) --- sys/compat/linuxkpi/common/include/linux/mm.h | 2 ++ sys/compat/linuxkpi/common/src/linux_compat.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index dd0fb6e2d8f8..4afc1a953f8e 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -311,4 +311,6 @@ void lkpi_unmap_mapping_range(void *obj, loff_t const holebegin __unused, #define PAGE_ALIGNED(p) __is_aligned(p, PAGE_SIZE) +void vma_set_file(struct vm_area_struct *vma, struct linux_file *file); + #endif /* _LINUXKPI_LINUX_MM_H_ */ diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 33da7dd1c8e1..082219721de1 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -834,6 +834,18 @@ zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, return (0); } +void +vma_set_file(struct vm_area_struct *vma, struct linux_file *file) +{ + struct linux_file *tmp; + + /* Changing an anonymous vma with this is illegal */ + get_file(file); + tmp = vma->vm_file; + vma->vm_file = file; + fput(tmp); +} + static struct file_operations dummy_ldev_ops = { /* XXXKIB */ }; From nobody Tue Jan 24 08:53:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP04mmFz30wvD; Tue, 24 Jan 2023 08:53: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 4P1LP03mrZz3QdB; Tue, 24 Jan 2023 08:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53+VqOQFLZ7lGiIQUHpkBfnXbHDs0shm6we6AQ2X+DM=; b=Nn9jec2Oa5ec1qDpaDxskhOMkCbMht0pKpi+MLsaXL3Wkv+fMcCSxB5oOGQaL2540/6DIc 5YYPyMvq76SrEK9zTIuyQQ9m64dZhAEO+eRtjjMAaaKd2SNv+IXvUuq+ndmtidTs+Nu/bM nYJPke1NgZ0eG/QzQQfL83RKAwnyyTh9wTyHIrSdPtuDulEBBhksZIb/cIw3GHM8xNeVwd NMRh7yrOBAf1nDQIvSOas7QvsCj1pfww+l7tbOw4CWynVB8UDjDbZk6Y2IRtfFh1Gzhszg BUG+q3cxbbZcfVciElD2hyk8vBnGv/f0JueHXx25mO+qkl+/9/AGv1HLcgxVNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53+VqOQFLZ7lGiIQUHpkBfnXbHDs0shm6we6AQ2X+DM=; b=HDt36sjkzAphr2karxa8m49esMLMcpkggI2mT4wem3ZNb3gtJn/1zyPh2gaxr9tfgId71H bNGkQAdZJ84VMKw26BZp92irO2Co/ZY/XNJAc7AyhfxGRtmV4o8mSHyaXaH00XXWYd8sZV i1ebfq3zQqjvcggkcvD4rgfU2FQxjuJhQ/qUGq1bH9Ev5r5gLYcCgBGdLgrmYoths6besN eDyUeHUPgq4WSqoXWYTgd7nIbo7HBVQqViLIOm/o5DNBJNcJ4R3tE8bI8WwXM1Kxj8Nsa9 nthr9XgO6mD6H13MCSyPn8XRMwU+GAGHxY0DNnNqJQYB5MSfOyGKlspqfSTKhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550436; a=rsa-sha256; cv=none; b=ZGArVfLr8MdDNfyUWr+4rYsC6RAwMT0e4hptv9SUgrtAp+k8Gtw36LANmVfO/J0Y6yuQI8 XyCnPH0WAC66+HEA1dUrGiF2Tn9VJFlc1aujX0AOBDFADDWBrudjUhU4EyytaDPWSiOPpO t+2y3/EIZf87F/DmV+9Ap6BdMqwB20nO594rtxBtV6fVqWKzJUch77ObqdrAa+a9VxB2aa WreGbqhA6BBeiHhZ+stjmtvVV0R5WVB4y9ADKKzWsTXC2aYCS2pwrUBAM4t3A+XON7JDHs CY0e7lMvXZOKm7lX6IvQEIVsQ76Xr/RFjZKXG8cZ1+E86v6dZPeDpfWZOhhBIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP02tWkz13Np; Tue, 24 Jan 2023 08:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8ru3M035684; Tue, 24 Jan 2023 08:53:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rul6035683; Tue, 24 Jan 2023 08:53:56 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:56 GMT Message-Id: <202301240853.30O8rul6035683@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 5001242e807f - stable/13 - linuxkpi: Introduce module_param() of type `hexint` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5001242e807f9d609071d5451ec2eeff78add6b2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=5001242e807f9d609071d5451ec2eeff78add6b2 commit 5001242e807f9d609071d5451ec2eeff78add6b2 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:36:46 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Introduce module_param() of type `hexint` In Linux, this affects how the value is formatted. In FreeBSD, this remains an unsigned integer. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36958 (cherry picked from commit 0b8a423d073309ab5f24501c2f6b3f6b2cd8f422) --- sys/compat/linuxkpi/common/include/linux/moduleparam.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/moduleparam.h b/sys/compat/linuxkpi/common/include/linux/moduleparam.h index d9485de88f56..ebf3b7a95c02 100644 --- a/sys/compat/linuxkpi/common/include/linux/moduleparam.h +++ b/sys/compat/linuxkpi/common/include/linux/moduleparam.h @@ -90,6 +90,12 @@ LINUXKPI_PARAM_NAME(name), LINUXKPI_PARAM_PERM(perm), &(var), 0, \ LINUXKPI_PARAM_DESC(name))) +#define LINUXKPI_PARAM_hexint(name, var, perm) \ + extern const char LINUXKPI_PARAM_DESC(name)[]; \ + LINUXKPI_PARAM_PASS(SYSCTL_UINT(LINUXKPI_PARAM_PARENT, OID_AUTO, \ + LINUXKPI_PARAM_NAME(name), LINUXKPI_PARAM_PERM(perm), &(var), 0, \ + LINUXKPI_PARAM_DESC(name))) + #define LINUXKPI_PARAM_long(name, var, perm) \ extern const char LINUXKPI_PARAM_DESC(name)[]; \ LINUXKPI_PARAM_PASS(SYSCTL_LONG(LINUXKPI_PARAM_PARENT, OID_AUTO, \ From nobody Tue Jan 24 08:53:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP15F5Gz30wX8; Tue, 24 Jan 2023 08:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP14dSgz3Qk1; Tue, 24 Jan 2023 08:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9bWYrJcln5S7E9f471Z1zbb2m/g9n7d+JzeIHW2mNjA=; b=GWHet1eB8NWQy+IatBR7lJucv1RDG5pBOvPqUwlpEFRq5bJWLtTGmpdGj/Egw4Ezt7m+Ij yKuVz/qkpR3/Ejl8eGsVSVAFK5PGyT24nSu6qCoN+Lj33es4WW/K9gNXlkvqcemmGQVZtb 9ID/dN6219DuC2/jsOpPzRwxKIr87ePJt+2pm6R+Juytaqj4YrcLPJ3ttkkPbetw7lidpH Z9il41yG/f1qPdjiNpWeDnpVIimkEtCWus131aIQJmraAc11nPA4ibyUOBdl9bqqFbwxRh lpwP7GeEQSzlzLcn4uj+4l51Aigv+xsMDQ1eWFD9/hZjGnoEoTwyj/bTmzqCew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9bWYrJcln5S7E9f471Z1zbb2m/g9n7d+JzeIHW2mNjA=; b=OS9a1hxlOGmQ1PHX9rnlAJQO83eX8yf6j2ykGHBiD+CfaEFOVOuYeJ6DLQ0yxxdvmJ6+zp XIMwakx96D32+pSE5YKiPLhYas8vAIC6WcHOZdF8gwAq4BDJipp1PxpFMAzh47YA9I7Sqe Xsptz8uAIoUnLAembzcd+muLyekfVqs0Q/n2vBh/z2VcMxNeYIFN4E6b8XVqEcphEVhTe/ 2CcC+Dd51vpq4X+ryIoc/qOAFkzPUHljeJK4QLc3H3uhxUrHXVwQQVctF63VsL2paEgnzy z2I23iqlbkLmxhPkyh5ALNDEm4H3YzUi7orpAmGI+ViYMpPBXAUlF1YX8vlUeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550437; a=rsa-sha256; cv=none; b=IiWc8Bs5Vu3eFGi5J0aJfo0zAhPzNxvV3CrXT6/amvFHemhaUm/gBQBnzePW95N4+cl74p CwO2CQgRbdhT8JsVUm3mvv3GiCKBv9RY5I6TQz5v0Dsn/ime/nicyhnHb1e6Xj6oSz+Zxp x9g041/QT1itCWQncQNzz7fSeVfaAFDQyrPgVR3PNerhr/yWbtTtgVt5/VWf6P8yty91J8 MvRvEXVwBx2V+5z8A5dIDLLA3rqvFNnEwSg4m58iSUmszqYQR296g8cG6+9+oGTEKlrSfF XVK4q4tQBO6pY203u2FmG/ULdyQ1yytSuM+Pdh3QMj8C+y7Eze6V+EqGIX/ILg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP13gP9z13Nq; Tue, 24 Jan 2023 08:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8rvEH035710; Tue, 24 Jan 2023 08:53:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rv9L035709; Tue, 24 Jan 2023 08:53:57 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:57 GMT Message-Id: <202301240853.30O8rv9L035709@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: e1534bafdab9 - stable/13 - linuxkpi: Add `krealloc_array()` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e1534bafdab9c09f82b4a2bc429e5bf81fac75fb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=e1534bafdab9c09f82b4a2bc429e5bf81fac75fb commit e1534bafdab9c09f82b4a2bc429e5bf81fac75fb Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:37:34 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add `krealloc_array()` In FreeBSD, this is a wrapper on top of `realloc()`. V2: Check if `n * size` would overflow and return `NULL` if that's the case. Suggested by hselasky@ and emaste@. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36959 (cherry picked from commit 1ad6b2b1daa8937b2e1ced43802adba5734ba92b) --- sys/compat/linuxkpi/common/include/linux/slab.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index 7d590683f346..d76b376c01a2 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -178,6 +178,16 @@ krealloc(void *ptr, size_t size, gfp_t flags) return (realloc(ptr, size, M_KMALLOC, linux_check_m_flags(flags))); } +static inline void * +krealloc_array(void *ptr, size_t n, size_t size, gfp_t flags) +{ + if (WOULD_OVERFLOW(n, size)) { + return NULL; + } + + return (realloc(ptr, n * size, M_KMALLOC, linux_check_m_flags(flags))); +} + extern void linux_kfree_async(void *); static inline void From nobody Tue Jan 24 08:53:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP2632Fz30wx6; Tue, 24 Jan 2023 08:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP25b5yz3QY9; Tue, 24 Jan 2023 08:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oOMCnrlyPMvSqtH+0YnUhOy3XnbiEHrpUYfCL+JQS94=; b=Li1nvFyzTfN8UCYqd/BQost2UHsYC0Hg8+sm1bi3xtnI8bfvZjBt6tv+bBk2hWfIDAMIYd AI1mio294/E1vFS5GPcNI6r+8Mq1X764dpE8mqudWbpwD/DYJBzS+ZPGiMwQr29/oVt63A qJT7Qwfr+jMgnpHJNApmQlw57SiF/CmrIFHf35yQjHer7Qgnlq3EI5RhmUoo/5AFwkqvYl rHnfBW/FHQGvewduQJpsyJRYjH2lkDzzcuk0NIPQpqwlIEK6DQ43pz9FG22MpXpMAAfkSM oq0Eh5RWrmzEnbRFQgR2+Ba/jgqdLWMzlE+bL0wfOQyrdBZ3CJagN5P/PW70Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oOMCnrlyPMvSqtH+0YnUhOy3XnbiEHrpUYfCL+JQS94=; b=oVnUWKtxHhJdauAMMW83BgcGInYLtlKaYDWfxL1RDo9BuYK1591TJ9fM+2Z3QKv7DIMPD0 kZuSpfZC3qWlJge0DHlRU2wCuJrPNhGdVS/6yI3JD0xAAi6DuGRFDLjV3QAR5RKrhbWreY 2PFhtBuM8ozXS5BPVNS5HkybvFiXHW/zoxPhIbnrWuQJ6kUb7Dr9C+JWfJVhY9eaVHXUYA 3XvxqBXF3ZTCTJHdv9B1znDV+oPaT3zVvik0hW8PZ8L+7jEoMYn8aMzNRyUc3PBMugQOMg 3VTNUxPFUxkp1mttkAaXw22m0Ld5BcIOyoz+HM3SiDAS3hZpwGydfY8m9vXw+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550438; a=rsa-sha256; cv=none; b=KEYYbWMeMDIFo+Wf3c+aVgxlPZ2/qcV0BYxcQuc3Bjbkkwq8NqmJCTFXfdlmdJ8aW+1Y5+ fYPOmyggutoU0RG0WRnyaLjUt5+vnULiEsYCYvQhZr5PA7rLhtEb6smOsxQhyU0BP4EL6d slkBSUp2tvqOr5e82LVWuYTmiJQouxlZQrh8t6BL77JZoMcVNSa0zB/Slo92whvLZjdxpG wDf+Eg/NXlBNPuofeuyqI6foCw+iMxZHkuqSYBvvHXQce+8ACJLfJGPTLiSZkSadgXl8mN 1CKjmi6/gecxI7MtqXRgr0TrpZPqYAkos92sZg6ZseEvUDWX6rfATjW7rG5s7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP24dzjz13YW; Tue, 24 Jan 2023 08:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8rwFN035750; Tue, 24 Jan 2023 08:53:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rwJt035749; Tue, 24 Jan 2023 08:53:58 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:58 GMT Message-Id: <202301240853.30O8rwJt035749@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: ff18d610f3ec - stable/13 - linuxkpi: Add List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ff18d610f3eccd76182b259925e89be7244cfa47 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=ff18d610f3eccd76182b259925e89be7244cfa47 commit ff18d610f3eccd76182b259925e89be7244cfa47 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:38:06 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add It simply includes the same header in FreeBSD (which is located elsewhere). Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36960 (cherry picked from commit 1676c97d5de2f367526041cb8f76b1b68074ae34) --- sys/compat/linuxkpi/common/include/acpi/actbl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/acpi/actbl.h b/sys/compat/linuxkpi/common/include/acpi/actbl.h new file mode 100644 index 000000000000..dbb7db41bb66 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/acpi/actbl.h @@ -0,0 +1 @@ +#include From nobody Tue Jan 24 08:53:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP40gMBz30wrK; Tue, 24 Jan 2023 08:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP36HM5z3Qsg; Tue, 24 Jan 2023 08:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QeqQMjzSC6ivwJd1OS7chWfymwxglXzFyxdrkwUYy34=; b=f08SGdKqUFL8wkprUDQad9ajPkFGwz7WRsFH3T5JYj+jsqN52lzWjNfdA54JpVaRiAo3/E wBJkunX/y5dURtZzprQ3kpD6P0Y18QLq9a7ZvkR4zSWX+hlc6zBQsBMIJ0nTGX8znlUGDX EWf+I2uRMg8XzpJUKYVTlzyW6n3S9VtNveAvfGvIcH9u4LppMB26/6WjKrvCs2Z8Z5hYDb HKF8OSCWIP+eKKNwjITqtcXWT4tbAihsX6xabWwzJqU048Vz3v8Z4pLtmOhGeGzpq8aFXc P9WPxO0aKjr6Zxt2+155+4V7e+sKokzn4iSbQ6aTWfVUiry48nPFkeRh1sCP1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QeqQMjzSC6ivwJd1OS7chWfymwxglXzFyxdrkwUYy34=; b=iH/G+fHhes7NnwyYmCU+ihxN1hBSIYi2dCP7fW6ogkY3Y0xR/nIS4tuWGOuEfFE9CMu9UA Zx1ttvU0nqcNXE8+HGDaeMe+IsonSsq1JdkWwTISsU6ITAzwPftgiw0uVJtfBSF5oJ1osE +J3/q5qSg/ukCko8NnP5J2IsO1XFX78ULeut554LtHuTzOPiOPmejPUBnV1sBWdF7qtIGv Mp3/ZA6dODfJoUZZe/DJdY+LQ8tLlyTsnig00GBrLQm0wAZtNUqyNa9XJ4ox60EUs6bk4B wu9JxpLJZiDw49xMHVvXd4RQeVmOGEj88h9xgjxRLOpF6+6lUrhpLkgz7H6I6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550439; a=rsa-sha256; cv=none; b=UF4bXIkG+3cKj+M+Q0N+Ce7FEMiF93w5FeA3XK7M4u2kADzL4WmPRYBej/QUw6o5AiGJkv pXy9VXIbZXrxbyHH6G1RUhS/xmfrBWGyJVHT3YFqyI1nwjYCI3yZHD+7jiueW024owMD/e frCDKyX/B+ZKejjSgEpd615Sel58iWtuNK3IVuKbEEmhOkaM+A7c42gOlQVNvOfftEpJaI UgXPIcEySWrB6JUCU3QYMuFt6S7qWFRThjWKSqEdhq/6MQ79GAkuHwgbsF1hgOyLfIQE4U nfwdxPQI2cBFr5CD7OuqqbootoU32KNxap/BgvGSi9KPty4VgHHJ4l+yhEmKfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP35K8kz135h; Tue, 24 Jan 2023 08:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8rxut035860; Tue, 24 Jan 2023 08:53:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8rxxZ035859; Tue, 24 Jan 2023 08:53:59 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:53:59 GMT Message-Id: <202301240853.30O8rxxZ035859@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 16ccda32623a - stable/13 - linuxkpi: Add List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 16ccda32623a98cf4a2ab3804b5ae6277c01395e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=16ccda32623a98cf4a2ab3804b5ae6277c01395e commit 16ccda32623a98cf4a2ab3804b5ae6277c01395e Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:39:48 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add It provides the `MAX_ORDER` constant. Reviewed by: emaste manu Approved by: emaste manu Differential Revision: https://reviews.freebsd.org/D36962 (cherry picked from commit c9c1255012de441ec642b7521da4c9fbad40a839) --- sys/compat/linuxkpi/common/include/linux/mmzone.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mmzone.h b/sys/compat/linuxkpi/common/include/linux/mmzone.h new file mode 100644 index 000000000000..49cc218c6fce --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/mmzone.h @@ -0,0 +1,11 @@ +/* Public domain. */ + +#ifndef _LINUX_MMZONE_H +#define _LINUX_MMZONE_H + +#include +#include + +#define MAX_ORDER 11 + +#endif From nobody Tue Jan 24 08:54:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP51FBVz30x0Q; Tue, 24 Jan 2023 08:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP50JzQz3R4C; Tue, 24 Jan 2023 08:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lYYVcvC/qLccrnq6rs6UWL/ONAmezfAbl0KRavmQ1es=; b=AaEbVm2ADF6GE3sQ41yjimvDpJ81d+ZysbQlccJrOYuAFJku13rH9F77XmaOnzDlSDCVTW OG6bv4bJCEoaTeO5pVse+y8siLQITiCW4awjQ9S9DI8TMnCDjur0UG44c5j90YQYGoSz1z e5VExly2FMyMSe9S7HdMHd+wCl+wosAvVcTJXmavU92FSfGKoMerchSn1PRlpJ2tDVrIG8 1n9Fi8O4aum7uFVJhMEyEbGA9nyQsL/OKfnjGW/rfvaZ8bAzvioUFJ0lLZlbsm4JLJ8kb7 vZZH+vue6yT4JQbUDNxfMKGNfLwrPC8qsLvHSOngl2SonogSukQzmbo6D907Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lYYVcvC/qLccrnq6rs6UWL/ONAmezfAbl0KRavmQ1es=; b=GZ63ysOVA/XEO8Gn0GioLHNWgjwlb8kmummkJ37OD7l9m35ws7fiSGP/Z7IKJ2S/LS7u0Q HgZjwHzi1Z+o1CDj5Tw3eKl8gXVeafXEm0mT9EodYITq8aDKmSfTJQY1VednfPbhVlwcdl m/wfOihEwgyD43KNgpzX367akqjtb8XirDBRY2Xx5ulLI8K9ty3KlKJSkJYAu3lxfoCkLB 6ZiiY2Sdr3e+44yDcclri3FR25sDsfwWnV1X4sLOJqJKC5NnRNzWUuk3hw0wJDV5v5KLFO eVWaFNSbCYPyUwnPcbKIXh3zM/JzDDkTy7UkjDKksk/ptptFFXI/uOTsqNdoBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550441; a=rsa-sha256; cv=none; b=HzrTokEJCtFUrmLTtgAZUSpt3p5dJead9RbgwQU1mUhsYvI9uWzRimvp/MlXNIRX2CILp7 vj2cHIPZ3+eM0CA7ALx3mPEH3Xmao3iG3QYLLc7O3fm5UAgCwkHIV+yjRrfTV7Dbz+iTMK lRjZEtY4HCU8F6MuTGxJ1k7Hm1ZS2VtraaE5wInaWDsmFyncJSafwydVmHhetgS1Nxj6wK 3h+dEA892eTwFjUPcSDq/JWkR6k5F92q+9m5zUYbxxMwVE00TZcmQQ9qDTGwlWcE1huZ+H j1HQu6jK90lB8d83kQ0xJEH1FyW82ZnLC14x32pN7HeQ5ewrXmhIvMEsSkVLzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP46VRtz13Qd; Tue, 24 Jan 2023 08:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s0fY035913; Tue, 24 Jan 2023 08:54:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s0RD035912; Tue, 24 Jan 2023 08:54:00 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:00 GMT Message-Id: <202301240854.30O8s0RD035912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 67f40afb696e - stable/13 - linuxkpi: Add List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 67f40afb696ea31bb340ea48b2ce185f076b0179 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=67f40afb696ea31bb340ea48b2ce185f076b0179 commit 67f40afb696ea31bb340ea48b2ce185f076b0179 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:40:57 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add I took the implementation from OpenBSD, commit d55ef580b1748517027c3eabdb715316ca5b1442. The only difference is the addition of `dma_buf_map_is_equal()`. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36963 (cherry picked from commit 0e5569a08cf02e036774235e54e1008a26167b36) --- .../linuxkpi/common/include/linux/dma-buf-map.h | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/dma-buf-map.h b/sys/compat/linuxkpi/common/include/linux/dma-buf-map.h new file mode 100644 index 000000000000..567ce3b072b3 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/dma-buf-map.h @@ -0,0 +1,91 @@ +/* Public domain. */ + +#ifndef _LINUX_DMA_BUF_MAP_H +#define _LINUX_DMA_BUF_MAP_H + +#include +#include + +struct dma_buf_map { + union { + void *vaddr_iomem; + void *vaddr; + }; + bool is_iomem; +}; + +static inline void +dma_buf_map_incr(struct dma_buf_map *dbm, size_t n) +{ + if (dbm->is_iomem) + dbm->vaddr_iomem += n; + else + dbm->vaddr += n; +} + +static inline void +dma_buf_map_memcpy_to(struct dma_buf_map *dbm, const void *src, size_t len) +{ + if (dbm->is_iomem) + memcpy_toio(dbm->vaddr_iomem, src, len); + else + memcpy(dbm->vaddr, src, len); +} + +static inline bool +dma_buf_map_is_null(const struct dma_buf_map *dbm) +{ + if (dbm->is_iomem) + return (dbm->vaddr_iomem == NULL); + else + return (dbm->vaddr == NULL); +} + +static inline bool +dma_buf_map_is_set(const struct dma_buf_map *dbm) +{ + if (dbm->is_iomem) + return (dbm->vaddr_iomem != NULL); + else + return (dbm->vaddr != NULL); +} + +static inline bool +dma_buf_map_is_equal( + const struct dma_buf_map *dbm_a, const struct dma_buf_map *dbm_b) +{ + if (dbm_a->is_iomem != dbm_b->is_iomem) + return (false); + + if (dbm_a->is_iomem) + return (dbm_a->vaddr_iomem == dbm_b->vaddr_iomem); + else + return (dbm_a->vaddr == dbm_b->vaddr); +} + +static inline void +dma_buf_map_clear(struct dma_buf_map *dbm) +{ + if (dbm->is_iomem) { + dbm->vaddr_iomem = NULL; + dbm->is_iomem = false; + } else { + dbm->vaddr = NULL; + } +} + +static inline void +dma_buf_map_set_vaddr_iomem(struct dma_buf_map *dbm, void *addr) +{ + dbm->vaddr_iomem = addr; + dbm->is_iomem = true; +} + +static inline void +dma_buf_map_set_vaddr(struct dma_buf_map *dbm, void *addr) +{ + dbm->vaddr = addr; + dbm->is_iomem = false; +} + +#endif From nobody Tue Jan 24 08:54:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP62DTJz30wrM; Tue, 24 Jan 2023 08:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP61Lgzz3R52; Tue, 24 Jan 2023 08:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EiuJsnAk5LfhY3T1R+AEn8n+OwLE5xgbSJlJYVrscLM=; b=Wty0TOiVpUF5EpEFfhcuLxHHv3xzbc+ZvXZpUg2mbYJD7GwmHcTfXPPAHYPpLCcD7VIuLW 3ySOynfuXcPHPIf2XhSptnKARv438pe/RM0Xahr40b7yfSMr+928RK6g4zxSACV11+4QZu EZjJ2NlkBaImZBdxGTtb7zHvMSivBPeuHPD/eBUSlJ+r4w8OdF9HIp2xmj2pL6EMkwatPU RwPhEA1zaVK7+eItH5+xRnAL9/EPCwMCVn5936B4Di5yj/OQ4kTwQsCDuv54UwGDTx6wpG Ar2evuPu4ggb3ytAZlvZQ59opN4Xm/pBj2DGSiKiwU+E6G84psb1SpW/kZ7Zgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EiuJsnAk5LfhY3T1R+AEn8n+OwLE5xgbSJlJYVrscLM=; b=LNLK4VW2W9r5k+mdElAGAl2R6aeJPIVct3O+ZoHvJ96x0vd+b6fj1TByu+q3pJKPn3oil0 rrHYPIrKUcNbIEjEh3s0svBPGTUdqt1WY2iYtK2MMO59C2UPlhyWSPifdudCioWhis8vlj doChRCOjpYOHY46zEGFPzt1UDl8jGV7RYGOlaZzCWRYd/2ZZNKXpzFmKnaA6l+3DtlBnDb PmYOaXxms+pDf0vTUAuH3iKfXHSM1xtSNhiBYnF2TlUVblnaisne1vfMRQzeYQY70MeKGF bWhQSsSpfCgiZ39zQ/l7CRmOww+WsFgVMwciuPsEYYitV4EIaOb6zv68dqhlKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550442; a=rsa-sha256; cv=none; b=B1/MMA2fIdY2sZO9KmTo5nhoty4JZUaCjVzS/LXXnLgI339z2T5HdKqrkOjdncR8vqqBMf RRKyJXofpAMC30CUNKRNBG4ohTMHWKRmylsGxLHyzgacZKFGVAQvbTkB/r776XtxfYgZfJ nI3YXJuiaXqJxsZg/q2N6sAUf0NF9MKq8FvHaCIDgcHoZX/EQHxTzS/abiopT6GKTnEfQq aG1QGnkbb9AUGAkDopIKH/ELKH1Elu0R/KaSCoEIip8ub6ShUR4uHa1fGVYn8GPIwchyfC V+bLb19sVni5v4uD4ucNHB12LFtroWw/KcOR2rW8QwcViMNpLQ3z5BOrQ0hffA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP60Kdqz12pH; Tue, 24 Jan 2023 08:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s1em035940; Tue, 24 Jan 2023 08:54:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s1PM035939; Tue, 24 Jan 2023 08:54:01 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:01 GMT Message-Id: <202301240854.30O8s1PM035939@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 680731566e68 - stable/13 - linuxkpi: Define `typeof_member()` in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 680731566e6848c92fa8f6f567d98f67cb5e0fbe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=680731566e6848c92fa8f6f567d98f67cb5e0fbe commit 680731566e6848c92fa8f6f567d98f67cb5e0fbe Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:41:36 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Define `typeof_member()` in Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36964 (cherry picked from commit d3584f92835a07d76bc579168ac5fdc3e020d5f0) --- sys/compat/linuxkpi/common/include/linux/kernel.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h index f3078d94b2b5..54b558d0bea2 100644 --- a/sys/compat/linuxkpi/common/include/linux/kernel.h +++ b/sys/compat/linuxkpi/common/include/linux/kernel.h @@ -574,6 +574,8 @@ kstrtou8_from_user(const char __user *s, size_t count, unsigned int base, #define offsetofend(t, m) \ (offsetof(t, m) + sizeof((((t *)0)->m))) +#define typeof_member(s, e) typeof(((s *)0)->e) + #define clamp_t(type, _x, min, max) min_t(type, max_t(type, _x, min), max) #define clamp(x, lo, hi) min( max(x,lo), hi) #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi) From nobody Tue Jan 24 08:54:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP75Wskz30x2S; Tue, 24 Jan 2023 08:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP71qyLz3R5j; Tue, 24 Jan 2023 08:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Th9YGC1IWSFvfqm5Eq6E2wMhfy1epWLYV9YncLfc8Js=; b=YJicuqavgnI2SvtvY+jYQ9LMY2dQtam7qoRDWDRRxpqlH4WQQ42cwEf/Dg0FSVmEebMV1Y xqs3aETiIpzqw8bgOQU0O8TkI8+7PP7rLHiPEmLeJYgB0rvnVNW6TOY2LUPd4HeczHITUj 9/CAA7qUWqbaYdA5gSH56c67l6iJbNWgwPi4q1KQPkNyLixXXVkXQrlyxhmIOMZ8O95ayo M3SYQNwLC5+yIMhC+n3NLYk1jbN8EGnQKtzuKyVSu68FjeiykGfuB0VSaQ2kYa+liJCueJ zm2SE6WOGy4esut5J9x5ZNdhDwxwuEsj+Hc/y4wZ11vooBdhQaCxYHHyXhswrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Th9YGC1IWSFvfqm5Eq6E2wMhfy1epWLYV9YncLfc8Js=; b=A0sd5tHMYm/3uFpd3aZrRhU1qEWi6qzMPooikw7eeC0u5Sndi023wF/2B5SXfvcTwckO/y agjy1uot0833TLgkoKAYSlfzZQ+COSn7LRPcbMHCh7skQn/hdP9bfSzImlk8/Q2VZkoKDc MGYQfyNgHCjXdSdXqv2GCNOznODoZJri+MviU2YRkivgsDi0mgRkm7QLmyqqcdzdtQL6gW zpgObqYZW53iiDec4DF17Z+JXyg32dIZ2VAUjc6ED1LgqtxNEJbWNKN3NO2bWu565Wfdh9 f71SMhAtzqA9N0BZgAwHL6SqtcWeUcPGR6ZZfh2VYf3fNzfKJzmqDzdtucTMAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550443; a=rsa-sha256; cv=none; b=v7y/XexttVrKLrqT92uzpuhMkP2VxPIgaYKV21PWe6G7zPRAO1MDyrHvGwzBQptbHwpIDs xaLFZTXVRZ97ro6RlGjF3H160lv+/k9RFSikDSTHpR1JzpX+adLBmvZYGVkLz+/A1uuhz7 9l0c+YTU9SYF0TfPeVIU2k7UGZsN+bxeHBd9MeTHxTW9rrprvu2OQ0MWAJWvl5H2CFm2hp oX4gON5YLIit1SGwxhEVVu4tHFRJKyz2Lz4pC9RcIVOfxTyMd0weZydNY4HoQgktGh9Tlo 9YhAXinFQ+/U7c3nEWz21RoHqE9nO7Z/KmGKjbDwI3EVcd23dPsXZZ11d/SXRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP70xDCz13MB; Tue, 24 Jan 2023 08:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s3rj035969; Tue, 24 Jan 2023 08:54:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s3FC035968; Tue, 24 Jan 2023 08:54:03 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:03 GMT Message-Id: <202301240854.30O8s3FC035968@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: d0e22c1cf1d7 - stable/13 - linuxkpi: Add `list_for_each_entry_from_rcu()` in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d0e22c1cf1d7c8e847f719e8c8d35aaf4f042d21 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=d0e22c1cf1d7c8e847f719e8c8d35aaf4f042d21 commit d0e22c1cf1d7c8e847f719e8c8d35aaf4f042d21 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:42:10 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add `list_for_each_entry_from_rcu()` in Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36967 (cherry picked from commit 23ebeac87f400e1c35b18392f968f6fa38ae128d) --- sys/compat/linuxkpi/common/include/linux/rculist.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/rculist.h b/sys/compat/linuxkpi/common/include/linux/rculist.h index e0c3f79d9e5a..305c425574b4 100644 --- a/sys/compat/linuxkpi/common/include/linux/rculist.h +++ b/sys/compat/linuxkpi/common/include/linux/rculist.h @@ -44,6 +44,11 @@ &(pos)->member != (head); \ pos = list_entry_rcu((pos)->member.next, typeof(*(pos)), member)) +#define list_for_each_entry_from_rcu(pos, head, member) \ + for (; \ + &(pos)->member != (head); \ + pos = list_entry_rcu((pos)->member.next, typeof(*(pos)), member)) + #define list_for_each_entry_lockless(pos, head, member) \ list_for_each_entry_rcu(pos, head, member) From nobody Tue Jan 24 08:54:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP855cfz30wm4; Tue, 24 Jan 2023 08:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP830sQz3Qs1; Tue, 24 Jan 2023 08:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NJmVJ3ATiNfCWol873aYDzz/W++QeobpgJ/a+r/XYs4=; b=qksgvnGNx9H16CX0PW6m1Iq6NO0BcURhGumb/JR3DXk7hA0ZY1/sI+ikv9GSThjdVshs2o TJ4AObIEEjZe9X1me4Wj8/SeQEXtsYCUmuz5TD3Cd9AzpONr/Pr0JeM4yhtnWKHtoA7K3N fTXnvY2mqjhLXZJe6841UzHtZ01gqLxfcmcyV47lcbIdqtILyezMHnZx6I3CFIZltNWvhd H037xrHmcZ54j6JJlFD6DpJVqB660bWBfrMsIkEiIuXRAh9j/nAEanKbB8MMwO8ioCYpFO NVR/t16Cm7+3WPN+crg38FDe2a0EX3SSZExT3sH07llqN3cS5MFbP+7F2L+8KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NJmVJ3ATiNfCWol873aYDzz/W++QeobpgJ/a+r/XYs4=; b=fwz3tIRRoBmy4lkY17AdAq3lHjtEI5/rvTL6foOD4WAoRzV2jzQ8zQ1Iystivy1oVPaTes M0fV4UkyuuwPKCpqx8vm54UJZsShjxKkRHKAKZXbZcFPPXX8soxppQxC9t1jw940ASZFix Sx2I/Hq45jDyG9BZ2pMKW68LypZxOxK485vBJcxBlzlFhHePg6ApPuEQh81U/x0zv1XwFw ql2zeLOAA4vXjr0Pr7n8oV2YS12vSmVe1DNQr0v02i1ANukMMXq8lJVlfjv+YuVV3y12k5 p64C/jfvF/COtHtDSvWUBRQsFdhp6wYiGzdBeijcWWsqsO4BewghXI0W+zbYYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550444; a=rsa-sha256; cv=none; b=xieDzYSjgPTQ0+YNOKEUA3DzEuW5+yD8MPufdxH0TUYvUHBX41moH9yPm8ra+5pEu5NSXg pQMCdIirGCFABGIfXkqGARZADjRyZKhmbhARCZhsQKNbokmcSuoJPD3+Dg4vZNFhNB8SOe DEkbmaaG10XcTxSArggcOzP04JiPE1I472hIBbE1CAIa/3bsABDhRSEH8bPbdc7sGZFqB9 UmzPsjhCSQpdnWVbGbb2jprsC7hqbKtHnkjwL7BZt4g1dXbS3kIMT3L2DdmQ76HtRKzo2H 3nBF3/LtlOu13jQJ8JD+SHrJioq13DHV5E+GEXRm6Vz8vhTLrqXJZ0VlJbAUDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP825zfz135j; Tue, 24 Jan 2023 08:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s4ne035995; Tue, 24 Jan 2023 08:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s4uf035994; Tue, 24 Jan 2023 08:54:04 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:04 GMT Message-Id: <202301240854.30O8s4uf035994@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: c4b72d285c7a - stable/13 - linuxkpi: Add `dev_warn_once()` in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c4b72d285c7a5b09e5f733b129df01e76f08be84 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=c4b72d285c7a5b09e5f733b129df01e76f08be84 commit c4b72d285c7a5b09e5f733b129df01e76f08be84 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:42:31 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add `dev_warn_once()` in Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36968 (cherry picked from commit c4163160e44d1f329301b0fe943854b9dc0750dc) --- sys/compat/linuxkpi/common/include/linux/device.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index 6c76836c4d94..70015fb7d81f 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -204,6 +204,14 @@ show_class_attr_string(struct class *class, } \ } while (0) +#define dev_warn_once(dev, ...) do { \ + static bool __dev_warn_once; \ + if (!__dev_warn_once) { \ + __dev_warn_once = 1; \ + dev_warn(dev, __VA_ARGS__); \ + } \ +} while (0) + #define dev_err_once(dev, ...) do { \ static bool __dev_err_once; \ if (!__dev_err_once) { \ From nobody Tue Jan 24 08:54:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LP954hQz30wvb; Tue, 24 Jan 2023 08:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LP93wxjz3R3b; Tue, 24 Jan 2023 08:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xEryyTgxoWLLBBMjQ7mbC9gwbvQWFnGT3wdyo3oo40w=; b=F4OE1c7iHqz7iuftw+bWHPi6c6CRc8oYJ9UzEyyW9wNYpABtSuv+t4KTzZeAbxm0SApRwZ hlRJ0Oi8m4eNnvX9GyO8h+fafJX66FiTMflol+nzi2yI81E32mZ89c1nSCiu0iJEK3P37m 2JtqlMDPy/DW5yXGRkFpFY8B4PWSPQEvYJ/c36ysV5dHKiACgFPvxffo/GmCorLj5pIufD zgCuPu491uZBc3e7Z8kInNoeShjboNKjBLqXbyYfw7yzxGcDZmoKuFN17X5OIFlESWjkFC UozZW7v75/WFBUbaYxve0FxPIyRK2gRHQZ3wtwm+3MpZTsTWHC9Wz4O2T25tog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xEryyTgxoWLLBBMjQ7mbC9gwbvQWFnGT3wdyo3oo40w=; b=GIEnYyBnhJPeLY1jb+QYG/Lw+iMWzdNlZmNsKXlXZhkWR6U5e4PbsMbyB/lsDwEbvcs9l5 pJ969x/pXYEZ08ra38fOhTxTBSXvSn0AVMR8T6Oc2yRINyjs4+oBV82IlOA3I2S6aJ31Vw Kjt7ZUZxDZG6CN0fJV+L79dcVqdPR5ZFrTrxmegS+aVjtvncYxOGz09QvY56/aXF3MaYRX kzR/S+mwaSd+d1gJ+eR9E5EwWhjysGHikCmbUQ/UIBdMGUTsAqokfLuv4vAX0GA2FF9fkB o/IT8JKGGbBJmX7STeRj2tBw4LEG1vmk6z2bqetOajK7TZKQ5ipHbwh3+bUAdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550445; a=rsa-sha256; cv=none; b=AzrCfLqvCnU3vEw86WGZGvlSAC9AuZRCywzwKrCMbZkbiVVjgc6MbNBIfFIlYMoYIZyH5l RkTEX5VsrrMIS3aAbRGqy0Cabp5JmnLk/szVpi15KWIT5NLCmbLePJq7+6XpBSpDH7TmH5 VY5jqoLugwZL76Ly7FDwvkBFEw2qVBxHfKvOtxlZ5HoWYGtPzMd3HufuztgftOeIqAoIw+ wdK57BbIWKzmxI+jTW4XSw0ZHd3BNSMktJBY6gIu8R6zN01S3gS/5BQVEToMImGM+kcBie xt7oALwy7WG+qX2srxmzl40YqdU67PjREZarrInJzorDOWb9e7S26UyWKMD/zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LP932Jyz13MC; Tue, 24 Jan 2023 08:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s5cZ036027; Tue, 24 Jan 2023 08:54:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s50P036026; Tue, 24 Jan 2023 08:54:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:05 GMT Message-Id: <202301240854.30O8s50P036026@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: cec94450c299 - stable/13 - linuxkpi: Add List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cec94450c2996dea8f6eda50f12056d264c64c1c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=cec94450c2996dea8f6eda50f12056d264c64c1c commit cec94450c2996dea8f6eda50f12056d264c64c1c Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 19:56:42 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add It just provides a `PageHighMem()` macro stub. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36961 (cherry picked from commit 708a570255a491b5979d1b12f5b77ad4bc8ac8f0) --- .../linuxkpi/common/include/linux/page-flags.h | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/page-flags.h b/sys/compat/linuxkpi/common/include/linux/page-flags.h new file mode 100644 index 000000000000..9dd49c8492a5 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/page-flags.h @@ -0,0 +1,34 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Jean-Sébastien Pédron + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _LINUXKPI_LINUX_PAGEFLAGS_H_ +#define _LINUXKPI_LINUX_PAGEFLAGS_H_ + +#define PageHighMem(p) (0) + +#endif /* _LINUXKPI_LINUX_PAGEFLAGS_H_ */ From nobody Tue Jan 24 08:54:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPB4y3wz30wrT; Tue, 24 Jan 2023 08:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPB4FLMz3RKZ; Tue, 24 Jan 2023 08:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZ9aEJdapzvco0bbj5WjDuW7MtJ60GSjix6+ZAhEGKE=; b=scGFGrZJSbAnMB8wwuMdpoLYjS+YkkQhDTKDiAJJFpgCsvJK419PDeSRIMgSQp+tue65QD chIEwMzLFUq60kXuJ84XahERlYyC9d3/8lRpN2JOiCCbVVAsUmrjqJt8eB11+w2cycwkm9 iNnCO66NUBzoF/WdJr57x/zxFo+c/7pUwBvYzlxlEbl3MuudsybPe7ebX+hZsv2a6Va5IV HxOxnwaBIvVqLZBcSObL7TBqpRcdOyL6osewTBSnYBu6P9Bh//H9bZmpLoaSAnewjKJSQF n4aZIBIzQC5AAwb1//XOcn7sJWQ/yokvgeKKInRsxflKYQ50tCioas8S6xZ7sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZ9aEJdapzvco0bbj5WjDuW7MtJ60GSjix6+ZAhEGKE=; b=gIhfyx/h6VlAY1RLmKu6P+B6ZJsm4F+ycDKLfZpFrZn7fF4faP2su9Ge2YlzSsv7vC+LfX VWAMIx2cYqtjTXiKLddLMEp+IMNa6U87PTs7GQfiQag1eptxzhL45VfLq87jefIcXoCoGt fuqKmgLiso6xo4jTtpUaGvFaoa40u4PVPf9ybUTcCy+BSF1/tv2W0LtZFOxojH9o20cf+r b+DhNbA88XxRLaAZETmirkHYrbpIG0ehQsrG0zGCT91su9BwbtcQA4ePhqUUd39AEBNPBD b+syzhawnXlLMelVjBZDbFJEUMbHNtlnRXRacIBmgc4VVNq6JoOS7lpQlHT8mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550446; a=rsa-sha256; cv=none; b=jKCDF0a91otIHiAACsdb/WPWzf6LG2XwsQlWglk8RdoLtT/zi4JtLHseZLlPn2hwlnK+ZU UnnjT+hjMfoH0zDJOrYoL75cQtZN6oOf8gZXq1ZoaurHEra8vJfpfl80xD1z/QCZSEqQV7 EqexiCbONGDq9X0Xijs8l5pSNic7RtSJBkCqCqV/ulzegUgK2sCZLpa1mjTovgz2NFAR+o jxoX4MnKljl2pirpDcue0UOM87yH+12y3tplTE8PQUgPmY78hkSW1r6tds6lGq7quYE7Id 6+LlmOzfFdCYqFtJn164GQxaSRmPMRZRbjaEiSJ4cAm0Bc2/zyyoMaxLrNZnqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPB3Lqlz12pJ; Tue, 24 Jan 2023 08:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s6eN036052; Tue, 24 Jan 2023 08:54:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s6S5036051; Tue, 24 Jan 2023 08:54:06 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:06 GMT Message-Id: <202301240854.30O8s6S5036051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 313977cc0c04 - stable/13 - linuxkpi: Add which includes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 313977cc0c04ec92c9fc3b8a3e89d8ae5feecbc5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=313977cc0c04ec92c9fc3b8a3e89d8ae5feecbc5 commit 313977cc0c04ec92c9fc3b8a3e89d8ae5feecbc5 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 19:57:46 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Add which includes This is used by `i915_gem.c` in the i915 DRM driver to get access to `wbinvd_on_all_cpus()`. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36970 (cherry picked from commit 24c7853f39d0f68d92f97880df2428f9e78e165d) --- sys/compat/linuxkpi/common/include/linux/mman.h | 38 +++++++++++++++++++++++++ sys/compat/linuxkpi/common/include/linux/smp.h | 2 ++ 2 files changed, 40 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mman.h b/sys/compat/linuxkpi/common/include/linux/mman.h new file mode 100644 index 000000000000..eff80759b4cd --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/mman.h @@ -0,0 +1,38 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Jean-Sébastien Pédron + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _LINUX_MMAN_H +#define _LINUX_MMAN_H + +/* + * In Linux, includes , which includes + * . + */ +#include + +#endif /* _LINUX_MMAN_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/smp.h b/sys/compat/linuxkpi/common/include/linux/smp.h index c6d011fceb5f..581a5e6205b6 100644 --- a/sys/compat/linuxkpi/common/include/linux/smp.h +++ b/sys/compat/linuxkpi/common/include/linux/smp.h @@ -29,6 +29,8 @@ #ifndef _LINUXKPI_LINUX_SMP_H_ #define _LINUXKPI_LINUX_SMP_H_ +#include + /* * Important note about the use of the function provided below: * From nobody Tue Jan 24 08:54:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPD0LkDz30wmN; Tue, 24 Jan 2023 08:54: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 4P1LPC5JsGz3RCG; Tue, 24 Jan 2023 08:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yf+lDMDWAE1w1XWYNrKo4ZMBVayrJ+MJLPpZ1K3fre8=; b=o4FusBINnRXUOfvQmY5aOTIUN9mNk0+N7VksMK3u1SNtI6/6aq5cfLPie9J2j07P7jhjWP 5vYxM9Z5gQf3z0F92q+uc6rHlVOBXu/mk0D8ANxb9TdOsVCT0aso8oNvzIyi0/Kp/oMDLI t5JoEHO3jpK8URXjbOwBfHNhaMIJTaNrmjSp3eapIkfxY1U5lIBuMh+XgrTbCcdSDtT6om ysA0WMqGUj0PpmgUzm+KuCjmAYtzxumb161KxyS83OrM8JGX7JY6hdFPeuyZaHVbDxh6pF cTTSkhMI+QHBxUDgiLR40BtKXPQeEfWyrN5ni/6But/pod5+CjeyeHulzDyeBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yf+lDMDWAE1w1XWYNrKo4ZMBVayrJ+MJLPpZ1K3fre8=; b=nMyAi/SaKrY7o3LlW6sQ+we2cfem91bLPdGyjy7MeOmtNYzqnEhe398LJ8BegysfybI5Hs 5oMn0sDzk6J1gHBNft08Cqw51FcnJsVTPtLkQWLO+S3u7zI6ZRAZt1Kk1aZEidZXd9HUAi as3K/dRa/s7ehOgfj0k4DLZpAVJ/x+E77BRfrxaUkJn7r/eOJZW+PQeAutooipTKrxQLN9 j4r9sxGlkoJKK9bzf1/KHIWz+awHSUFSVnSaqAKZLUTjgMaOTBmyRyCL9k4j3YTHzFKqwh 6rldM9gKF3tuVoIUv/mpLgg5PRCVBcM8DLKICGKvKwlMyS0oq4mfI1A8lwcQuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550447; a=rsa-sha256; cv=none; b=MymoNZV/joJJbf46hsPtIKra/7rAhTZKPMNcgiMqOIbsGar/wUozsGhwSQfsISrx9hn3iw SVWLJCTtOQjBqkyUAXveVvblbN0onsJDbUvLa4Mn//b8uJ6SYHsMK5US5+xdT6UhEgyC+D cNBjQTcKnLq4jfRWCjO/XduUwLYnoOj2+870NZhVHk7p3rA70phO4KbOQGtZ7S/gQDGeqV E+AzDxt+y0DZhJZAmNdJIXK2fYUAAo8xK6xwlkND95dDeTnW+FVIyzZ/ICkjwWXwTclsnJ tXeGT/HzR9afleKW8H2uKRMy0jfXCp6/3fmCFyvjXroflGgk1EgDPFFtLELLZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPC4PqFz13Nr; Tue, 24 Jan 2023 08:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s7Fs036076; Tue, 24 Jan 2023 08:54:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s7vJ036075; Tue, 24 Jan 2023 08:54:07 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:07 GMT Message-Id: <202301240854.30O8s7vJ036075@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 98a8abd1118c - stable/13 - linuxkpi: Include and from List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 98a8abd1118c33b9c9d7afe042f536f38db2221c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=98a8abd1118c33b9c9d7afe042f536f38db2221c commit 98a8abd1118c33b9c9d7afe042f536f38db2221c Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 19:59:40 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:00 +0000 linuxkpi: Include and from They are not really used in this header. However they are included in Linux and at least the DRM drivers unfortunately rely on this namespace pollution. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D37365 (cherry picked from commit 42bb5861162f071708406a8f70bcc6da5b832dc3) --- sys/compat/linuxkpi/common/include/linux/mutex.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mutex.h b/sys/compat/linuxkpi/common/include/linux/mutex.h index 7af95e9d2dc5..3490c6e59a70 100644 --- a/sys/compat/linuxkpi/common/include/linux/mutex.h +++ b/sys/compat/linuxkpi/common/include/linux/mutex.h @@ -36,6 +36,8 @@ #include #include +#include +#include #include #include From nobody Tue Jan 24 08:54:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPF0ySyz30wmh; Tue, 24 Jan 2023 08:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPD6g3jz3h4L; Tue, 24 Jan 2023 08:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53cQZ8kotX5U6QDBtjAf6VDFuQoL76begCw1F5j7P6Q=; b=WaohqFOSv/uZPQms0rMXni+q+TfOWWbFJeg2+YkF4Rja3F58t8QOnUKiIEFILhMIm+/Q6U kWmHLwAEAyjinL7QbX5bIcFtOZy3XBlK/A/QER6eKNhBC6q+veq9Ok2bALD1FZozDquxWp OH9rf3zGmyNC+0eXnfs2hz2wKoYpbGRFiyefA+M1MvncfFog2VdD7434S2Z4vsaevF+z9B vEYYPfvrlBJRQ6+eyV9Zf7PkND9K56PYAxd+1Ba3L/C8Ejrfkt9GN48g4+y3hMOsN3o+Q0 vemCqoKKGqOxP2iYLPTMjv9sdbWiaqEUMFiMlRyIjNDIQ/O33ndSZZihw3qOtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53cQZ8kotX5U6QDBtjAf6VDFuQoL76begCw1F5j7P6Q=; b=US7+3iRJyD+VkuscCUpZ1pmxpXUQyj8WDmKwPJ+TJyflZX3tS/ewvmaVIHUHsXi21Kcr5k eg46lh/1oPNuiUCJodYJgLRN5fII4gUp15Tf/RBAJ3IZsIul7/aHYmZDghdNbLQVqVdQgw 9UOZpVKcAV69V/JoJamTGbyAvyPSR5hBzDk0Jrfl0OlLC76ItVrDpsMbTcBWdouznpghLC VlaaOeU6fLFkuUxuiCmTU8d9UhjSssgUFLV8Ywc7JxPdjr2S25ejqT3f7Osktqc0z0Uji+ bnmPnxykvSbNf30EGOvF+8hWUj4whFF9T74cHZjuPgeOf1REu894Z987nQ1/Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550449; a=rsa-sha256; cv=none; b=TzktiYhOsyRCcqJZp3IBInh+UcWprzl2bXiWPVNcOjYkNUY5zS+HR8CULihnPQ3InvhDR/ 2Y/41GpZ6ECLBtjqfDFyOqEdL+J0lxjJeRwpxfqxcGc9gpmAycVcRrr1D58P97tJA7aN8X q9OIisID/GCuaHxPn9/UhdoaoEn6z818yiNEKK+KJ+MGjrZxzJHH0bccoZnfSUlOUxj2BL YYv/2iK2bik254IRhQzCldhJvSEIwjVqsLdfvKccx47LUd1n/7oEcalGJdYLsZyIFkx6Dt sk6ba/ePNMRQ35vRri8fzN/VhG0hvjIsMwx377dNMOfsUf5hvMIWwLqcrKTpqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPD5VCQz13YX; Tue, 24 Jan 2023 08:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s8vj036100; Tue, 24 Jan 2023 08:54:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s8ND036099; Tue, 24 Jan 2023 08:54:08 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:08 GMT Message-Id: <202301240854.30O8s8ND036099@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 577e5458c520 - stable/13 - linuxkpi: Define `pci_reset_function()` in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 577e5458c520d606216bdaf530d750676635f026 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=577e5458c520d606216bdaf530d750676635f026 commit 577e5458c520d606216bdaf530d750676635f026 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 20:00:36 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Define `pci_reset_function()` in Currently, it always returns an error on FreeBSD. Reviewed by: bz manu Approved by: bz manu Differential Revision: https://reviews.freebsd.org/D37366 (cherry picked from commit 86a1c5d1294579d6787811a5d9cde2aad2567cd9) --- sys/compat/linuxkpi/common/include/linux/pci.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index de041fa966ea..a271bc6a1360 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -965,6 +965,13 @@ lkpi_pci_restore_state(struct pci_dev *pdev) #define pci_save_state(dev) lkpi_pci_save_state(dev) #define pci_restore_state(dev) lkpi_pci_restore_state(dev) +static inline int +pci_reset_function(struct pci_dev *pdev) +{ + + return (-ENOSYS); +} + #define DEFINE_PCI_DEVICE_TABLE(_table) \ const struct pci_device_id _table[] __devinitdata From nobody Tue Jan 24 08:54:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPG0hhQz30x81; Tue, 24 Jan 2023 08:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPG01xrz3RLl; Tue, 24 Jan 2023 08:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x5lcv72oNLJmq64tTTpWiozPJbx68B8wB+bUU1T0CFU=; b=YpVrz9Q2x5HmqmKSJvieSQBaVcXpZD8TJ5gAB7vJVyXEQjzJt97iz5dZwz0M/KrFRDVBnE jLvMs1QA6XLOEDuHU+rTMWvIWF+9crgt2xQDD4Z3NCK9bUeWTQlAvnRQGUQXOLsxC/e4ZJ QKbI4PdvMZTOWBdZUracStjd7zitCAQf0HgH7C6fmujvZ/zMxtO1f1WjO8/7ZIhCFiJrlt RXaQzopZM1WtXTb6+RW8vwshoL5ueJygOygc8ZIyNVtHIVt6yr6YYmkCwANt5zjKeGMWx5 fQv8To3pPzkKUvOLAAqoA5Zi933AV5rfTyp0Y69LGRRSOpE5LVFVf/A2r55JZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x5lcv72oNLJmq64tTTpWiozPJbx68B8wB+bUU1T0CFU=; b=NgvIr7GMFcfgla2nxrjboTufU+g5YxqJY1p9Pz3XnoXyoY69djXbkqrNLzA2bTna0H/mNG EAC2iulOP0xWA0oPef2zsSIP0YFWCNQ30ghYTMl+Wuavo6KF91g+6RxKQhLrc0XpaBM/JX /vyNLynuxGGLMC5ZAqGUsmFOJlj9fryX6Rc+6pdrox1zdYiH4y4bfeVNMcIadhXNRhnXKx aXfzhQ+Ssj2WNpdAloCa2wNQJRji7VO0O8wMA/h/v2b3muMuRs+jjFJcpaNi2TGJ5Fn9LZ ouVOhuoL5FSFdyiNbgmTXFxMDsD9BFQ+ZQZ9OJOamw2uSMeMbotTUR3dmZze5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550450; a=rsa-sha256; cv=none; b=ldQMc8FKurQZezebaV4yu9+QGbo89rhY+D2YHHD5UtUwVVcvZnE3unnexOxIu3Gq9J/Llv Cs1zW3otn8M+ksxI34wpJF2cluyJucY5Og7g/+far8SP5CGgNl3rSTl0KWYWj2wlYQDWzo EOlXFfaRiXeDCLg2X2QzcZym1ENAI18+CcThe5xKHTmMI2AIVK02rjvVJTUz03evfrQWtR 4UWmrMUbFCODU7eS5sBPjvMQRsLxk3wqrbL76k/oGy93unTw5Qs2QCtrmUzyRYjIhp+Bur JygSPXJCX+EbLZPwp/ujep4f/MiJVpQCtdw7H2CL1OaYrOG1p8jv4ya37CBUBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPF66bzz13Dx; Tue, 24 Jan 2023 08:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8s9nQ036126; Tue, 24 Jan 2023 08:54:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8s9Tq036125; Tue, 24 Jan 2023 08:54:09 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:09 GMT Message-Id: <202301240854.30O8s9Tq036125@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 0ce099e9e391 - stable/13 - linuxkpi: Define `ZERO_OR_NULL_PTR()` in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0ce099e9e39154a53689fcd8e3cc06d8b67a2088 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=0ce099e9e39154a53689fcd8e3cc06d8b67a2088 commit 0ce099e9e39154a53689fcd8e3cc06d8b67a2088 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 20:03:25 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Define `ZERO_OR_NULL_PTR()` in On Linux, the `kmalloc()` family of functions returns a special value if the size of the allocation is zero. This macro verifies if the pointer is NULL (the allocation failed) or the size is 0 (the allocation was not performed AFAIU). This special value can be passed to `kfree()`. On FreeBSD, our `malloc(9)` functions don't return a special value for 0-size allocations. Therefore we can simply compare the result against NULL. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D37367 (cherry picked from commit 208d02fd5d165389aed0c2b60519cb6b0f5b89f9) --- sys/compat/linuxkpi/common/include/linux/slab.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index d76b376c01a2..131c7c417649 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -90,6 +90,8 @@ struct linux_kmem_cache; /* drm-kmod 5.4 compat */ #define kfree_async(ptr) kfree(ptr); +#define ZERO_OR_NULL_PTR(x) ((x) == NULL) + static inline gfp_t linux_check_m_flags(gfp_t flags) { From nobody Tue Jan 24 08:54:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPH2yCbz30xGs; Tue, 24 Jan 2023 08:54: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 4P1LPH0k6Wz3RFx; Tue, 24 Jan 2023 08:54:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acwRyR2ofwAFceGPIRfiBydGNc8UT4SnIcALPSsdcls=; b=H4DFmJ6eMRHCUqn1+Db00QAl5623a2Y7XGkottaye9Ll88Xkj/5YOK5AhIyZLNL5p6mFrJ G3li5SUB+QJ3kVIFEQi2tnxY+qwh29XvqwSCnTnIU6nndUwWV9kbT5C1J1wDejGEX2rRDa vv3FV1182ouWbhdHqA+0MlMCBmCNIn+HTVD6M4V/i05pQOJGrGWjwpN0XjK2EZE7Z0Pj35 jjVh+8VauF+/Fp+K4hf5PEIGKyZV+5udfpk5ZDDXE6hsa1rQVzMPGIcIlmInqiDw6rA8EU pDnau0f19VVl6vS0Di0SP4Cio9WKWi2r6pDPJqtMS3tZSYxtXPEpgnVTPGczrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acwRyR2ofwAFceGPIRfiBydGNc8UT4SnIcALPSsdcls=; b=xFmiH6jJ08jdSqSlKhAS1PHSoD1XnOlmTW7nApqJn8V/icnWINcLgLGamIX32jiQC+tRSW XWt7RNzLXiniHL8x/4kmZbH4K1yX+8ngSslaz1CYqo974kwbJuKBDBbaV5o8A3ZItYgCr7 +s5FXZ4Q6U3GFUFPtR1GIibMoi6f1OjjX2HpC0eLkoByKKp4UU89d7F8I0Dvfe3jipoY1v 0+8G1uCi0td9P4EGJtVHEK3fUImtbAS8peLnCRhVVREY0Ai3N3y6OWhvLBl94fMeBfuXeg Fl/b7tIwfKVms4WM4i0A7l3dATGnTdhbw2opFVkSGvHUyi7B4m9RUMTU3XiHcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550451; a=rsa-sha256; cv=none; b=pRU9FiO30kIuue067CJJDlyFL7NZWJ45Kzoj/8oINdk1g5lQz3WOg64Ahc1IdWsDRuHswx Qjd9gm2UTxsy1Isw7KGnxju5qMH3X61hvUY1qu6Ae3Ty8vpaSOD4Gk2avdSpXB5srpSHKR q2tAh6MGNjjY56UlowL3rXRHH81KMA00LQvevFDJ775VetJe9ZucUROoO1ZKH/QL9iGtjJ cJlttHxYeBlRcpnAmeT2oHUqqIlCp2/wck5+skughweeFL2W/cRzbb7RMawynO/cygqjSc bYENwG8+CVD7kkuxE3g8siI1b6kUv6ff8+UX5QIIFUV2U72PG5bqyCbt61duaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPG6x2Nz13YY; Tue, 24 Jan 2023 08:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sA0V036156; Tue, 24 Jan 2023 08:54:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sAW6036155; Tue, 24 Jan 2023 08:54:10 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:10 GMT Message-Id: <202301240854.30O8sAW6036155@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: e279c1fcfafb - stable/13 - linuxkpi: Add `cmpxchg64()` in List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e279c1fcfafb4e6621118db48df9ba2b32faef03 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=e279c1fcfafb4e6621118db48df9ba2b32faef03 commit e279c1fcfafb4e6621118db48df9ba2b32faef03 Author: Jean-Sébastien Pédron AuthorDate: 2022-12-01 13:59:16 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Add `cmpxchg64()` in Differential Revision: https://reviews.freebsd.org/D36966 (cherry picked from commit e79a57d4ecb73b7e779260b80f7b747eb29ce4d2) --- sys/compat/linuxkpi/common/include/asm/atomic.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/asm/atomic.h b/sys/compat/linuxkpi/common/include/asm/atomic.h index d7e5338c0356..67f7d3858e24 100644 --- a/sys/compat/linuxkpi/common/include/asm/atomic.h +++ b/sys/compat/linuxkpi/common/include/asm/atomic.h @@ -220,6 +220,7 @@ atomic_cmpxchg(atomic_t *v, int old, int new) __ret.val; \ }) +#define cmpxchg64(...) cmpxchg(__VA_ARGS__) #define cmpxchg_relaxed(...) cmpxchg(__VA_ARGS__) #define xchg(ptr, new) ({ \ From nobody Tue Jan 24 08:54:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPJ2TSjz30x8D; Tue, 24 Jan 2023 08:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPJ1zJxz3hLy; Tue, 24 Jan 2023 08:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l5p/PP3+yH9aL3rjUtXEBjRC8YnVqZYH0wYOUikSV/g=; b=KuT4SA9fpNW+6vzBcI1ljYzah/oyCXUrGx3bs7O39ptCx92m0xGelNAKctLKDQIYAhceYj q2XIJYW6C/kK6jFy8R09IWZgL2Oqkvf+asGevRfk9FNr/TfBf4X0UsWtKWlPSVIAbStkGA QctoMBRKYwJupXza25yVzwTGIG5NW//YsmI8tdF0JmFFyLU259qrCb8j+3Cncz46hveM9d KQccIYaSVyLIDMI/Era+n9tBax4zHeJhlzgSh3D4UdJkjOpyh3t2KSYm7ohhcG/h8nroxM /Y/akVcYu5IzERwF1m+a97h0ryOq9SVSG23nlUul0e2PTo5EgDwfZsD/4gmpAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l5p/PP3+yH9aL3rjUtXEBjRC8YnVqZYH0wYOUikSV/g=; b=wjOkdcpxqvPcmgMfF6b0RRdSWOd3QKHx5BVo00KkKPQ29ZQtBpjMN7wBcv21Qkg/KBu6Jl NWRNiCTaTviU9MXO8FYgebZLXIYEjcqj6Z2TR+sXJ+JJGP86DOqUjTCAvKetBcgZ/LTKR1 E9NgEz6cQ6iAJBoVe3NqpvmmEzk2RxSVY/XX69zBoHaV0SGBUBJPoZT8W+MY0V/biT3iI8 c3FiPdDF7cagEpn7QKbvNO9Icqt3cLl/OeE/uCq1shfSCpzAlFJl9YNxxmVDPC4WAZKnIf 3XWnebTtj56VHOT/+YlyWoA6Br3SCb1Z5HChCXKF99eQln7iZvEu7N1ynxyKkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550452; a=rsa-sha256; cv=none; b=muabTqViAFZuN8vKJYjL5tMEEh3WzW7jk+9OpAxrE41wws0NZLOvzaFwRisZK5nRmvsw2k GG9kj3gJygVnxQoPU642P4idix6fuo521Lq/L+zp1TEgpWE9xEgHoVnkgTLEPEWPmQaVXj AVziZKkgF/VqLGUuWa2sEMp2D1OpssgTmRXPeIGRDQe49ELTYLv6fiFdpZRc7EqJRt11dq dm+Z2My3fzIjhhFVSqVOOJdtMUKmCNdEpKRhHk+GcMW/GmjVjzd415oPn2N2z+UcPIR8LF x0OO3onjq0H3a6uMhfVIcnebR8ovdh00YCM7t7tch20X2OIgU98EhX8MzZhvQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPJ0wd6z13MD; Tue, 24 Jan 2023 08:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sCGL036180; Tue, 24 Jan 2023 08:54:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sCHx036179; Tue, 24 Jan 2023 08:54:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:12 GMT Message-Id: <202301240854.30O8sCHx036179@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: fe5b301ed2e8 - stable/13 - linuxkpi: Add `PCIE_SPEED_{32,64}_0GT` PCI-E bus speed constants List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fe5b301ed2e8ea376d298f3adf60df822ee5df86 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=fe5b301ed2e8ea376d298f3adf60df822ee5df86 commit fe5b301ed2e8ea376d298f3adf60df822ee5df86 Author: Jean-Sébastien Pédron AuthorDate: 2022-12-01 14:00:54 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Add `PCIE_SPEED_{32,64}_0GT` PCI-E bus speed constants This change is a requirement to update our DRM drivers to Linux 5.12. Differential Revision: https://reviews.freebsd.org/D37363 (cherry picked from commit 0adc02a97989f0a396740ffb64314fe8e816c877) --- sys/compat/linuxkpi/common/include/linux/pci.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index a271bc6a1360..8d41e33b0da8 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -147,19 +147,24 @@ MODULE_PNP_INFO("U32:vendor;U32:device;V32:subvendor;V32:subdevice", \ #define PCI_EXP_TYPE_RC_EC PCIEM_TYPE_ROOT_EC /* Root Complex Event Collector */ #define PCI_EXP_LNKCAP_SLS_2_5GB 0x01 /* Supported Link Speed 2.5GT/s */ #define PCI_EXP_LNKCAP_SLS_5_0GB 0x02 /* Supported Link Speed 5.0GT/s */ -#define PCI_EXP_LNKCAP_SLS_8_0GB 0x04 /* Supported Link Speed 8.0GT/s */ -#define PCI_EXP_LNKCAP_SLS_16_0GB 0x08 /* Supported Link Speed 16.0GT/s */ +#define PCI_EXP_LNKCAP_SLS_8_0GB 0x03 /* Supported Link Speed 8.0GT/s */ +#define PCI_EXP_LNKCAP_SLS_16_0GB 0x04 /* Supported Link Speed 16.0GT/s */ +#define PCI_EXP_LNKCAP_SLS_32_0GB 0x05 /* Supported Link Speed 32.0GT/s */ +#define PCI_EXP_LNKCAP_SLS_64_0GB 0x06 /* Supported Link Speed 64.0GT/s */ #define PCI_EXP_LNKCAP_MLW 0x03f0 /* Maximum Link Width */ #define PCI_EXP_LNKCAP2_SLS_2_5GB 0x02 /* Supported Link Speed 2.5GT/s */ #define PCI_EXP_LNKCAP2_SLS_5_0GB 0x04 /* Supported Link Speed 5.0GT/s */ #define PCI_EXP_LNKCAP2_SLS_8_0GB 0x08 /* Supported Link Speed 8.0GT/s */ #define PCI_EXP_LNKCAP2_SLS_16_0GB 0x10 /* Supported Link Speed 16.0GT/s */ +#define PCI_EXP_LNKCAP2_SLS_32_0GB 0x20 /* Supported Link Speed 32.0GT/s */ +#define PCI_EXP_LNKCAP2_SLS_64_0GB 0x40 /* Supported Link Speed 64.0GT/s */ #define PCI_EXP_LNKCTL2_TLS 0x000f #define PCI_EXP_LNKCTL2_TLS_2_5GT 0x0001 /* Supported Speed 2.5GT/s */ #define PCI_EXP_LNKCTL2_TLS_5_0GT 0x0002 /* Supported Speed 5GT/s */ #define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 /* Supported Speed 8GT/s */ #define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 /* Supported Speed 16GT/s */ #define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 /* Supported Speed 32GT/s */ +#define PCI_EXP_LNKCTL2_TLS_64_0GT 0x0006 /* Supported Speed 64GT/s */ #define PCI_EXP_LNKCTL2_ENTER_COMP 0x0010 /* Enter Compliance */ #define PCI_EXP_LNKCTL2_TX_MARGIN 0x0380 /* Transmit Margin */ @@ -181,6 +186,8 @@ enum pci_bus_speed { PCIE_SPEED_5_0GT, PCIE_SPEED_8_0GT, PCIE_SPEED_16_0GT, + PCIE_SPEED_32_0GT, + PCIE_SPEED_64_0GT, }; enum pcie_link_width { @@ -1270,6 +1277,10 @@ pcie_get_speed_cap(struct pci_dev *dev) return (PCIE_SPEED_8_0GT); if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_16_0GB) return (PCIE_SPEED_16_0GT); + if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_32_0GB) + return (PCIE_SPEED_32_0GT); + if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_64_0GB) + return (PCIE_SPEED_64_0GT); } else { /* pre-r3.0 */ lnkcap = pci_read_config(root, pos + PCIER_LINK_CAP, 4); if (lnkcap & PCI_EXP_LNKCAP_SLS_2_5GB) @@ -1280,6 +1291,10 @@ pcie_get_speed_cap(struct pci_dev *dev) return (PCIE_SPEED_8_0GT); if (lnkcap & PCI_EXP_LNKCAP_SLS_16_0GB) return (PCIE_SPEED_16_0GT); + if (lnkcap & PCI_EXP_LNKCAP_SLS_32_0GB) + return (PCIE_SPEED_32_0GT); + if (lnkcap & PCI_EXP_LNKCAP_SLS_64_0GB) + return (PCIE_SPEED_64_0GT); } return (PCI_SPEED_UNKNOWN); } @@ -1307,6 +1322,10 @@ PCIE_SPEED2MBS_ENC(enum pci_bus_speed spd) { switch(spd) { + case PCIE_SPEED_64_0GT: + return (64000 * 128 / 130); + case PCIE_SPEED_32_0GT: + return (32000 * 128 / 130); case PCIE_SPEED_16_0GT: return (16000 * 128 / 130); case PCIE_SPEED_8_0GT: From nobody Tue Jan 24 08:54:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPK48Bfz30xHK; Tue, 24 Jan 2023 08:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPK3D0tz3hGT; Tue, 24 Jan 2023 08:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RZ+0wII2VC7jH2XisCWC300pmVCp1Pq1p9vsI8jigoc=; b=L43c2um6RkgEu+tS2xLKUYpAlnisTWVa0cauhSDvpdJp2Z5lgK9+SAyGeSipnqQDWLmvNp gl0GH1rY25sbiA5uqxuvb9do3ntmS0wkqzSqtlrZ/DfFalCV8QXhkgjcIkAHXZAhbsW2tt maQbR18Uyf/ykLnYuPl6eYNCIW5nlTjk26lasHCqx/egkjveUD2kb71BADzignYNNPknGZ /NI/3ZaIDuBoRhat3y18S/90qrSKGjH6Jepeu6X3PGhiWSX2rxY2gKhnZBS21Rhecpm25k frW3ckTSl3w9WKe1SjIiJbCu5zsbxix8oaTWmrllmftNjwr7RN2NeDPJUJa5DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RZ+0wII2VC7jH2XisCWC300pmVCp1Pq1p9vsI8jigoc=; b=fJq0ZCaLIgioxp/k5ozByjGTRqWBb/XV5hqT+kYVq7AlWMhoTVO8z89n63Hz48v+E3FVvi fEtdeoECr9gkw/o333twZNDDKTsOw2hBt6L0UpjuIx6txsaSjuFkTAQPlwlPpEBRa3KwjC 8hUIozjzMQT/WKwpUj+D1utaR6MszPqvPbKo0jUuhoIcz9cDSOSEjkfvc6cI6z5jkqDV2E qEsWlZQAj0EUQbVJ55hYttFZprI7mzv2e9Q2vU6iidK2irFy9ga219BuRLB8MbvVEY50Gf Qyq+iYmnK3lB2cYyppQB+mMr3wS2wEIWJhi4M2snSlKp20ziJzuhVLgDTe7+xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550453; a=rsa-sha256; cv=none; b=nbqZshojFQYZ6o4VVXnwKdwz1CSYdUeI+3TF4xbgo3oR8kzleaxucYibSKFJJW4ps1pmfd +C0mVQioJEXCw0PxcBKnOJC7KlGmKJC3AIdCm07MB4N9j491ZPA2MVfSGZpTNF5LrNtrk9 G5NhA7+v9HmOzo5M8PYvtJc8kkqrnRRmCgS2b1/max2oSxbBPrfuyzqEij+6RJCS983+ZG 2LGRw351pOE1gGnk411wmltzNMQN4Rt6zxZdcAq4QLMYzs4r7I1pMchU1CrkpnVbw3n4+c zyCuxB3HvZCJu3fgWaILDMXMfeC7BTluDwX4DQDjV09DnSqQWpnSHNILsGLcHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPK2FMQz13MF; Tue, 24 Jan 2023 08:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sDt5036204; Tue, 24 Jan 2023 08:54:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sDM0036203; Tue, 24 Jan 2023 08:54:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:13 GMT Message-Id: <202301240854.30O8sDM0036203@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: a1a8fe776916 - stable/13 - linuxkpi: Introduce module_param() of type `bint` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a1a8fe77691694ebc55c0d940300badb48554a03 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=a1a8fe77691694ebc55c0d940300badb48554a03 commit a1a8fe77691694ebc55c0d940300badb48554a03 Author: Jean-Sébastien Pédron AuthorDate: 2022-12-01 14:03:00 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Introduce module_param() of type `bint` In Linux, this limits the accepted value to -1, 0 and 1. In FreeBSD, this remains a signed integer with no specific constraints. This change is a requirement to update our DRM drivers to Linux 5.12. Differential Revision: https://reviews.freebsd.org/D37364 (cherry picked from commit e101c1c2c9ba18b1dd0eb2000106fafc915babdc) --- sys/compat/linuxkpi/common/include/linux/moduleparam.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/moduleparam.h b/sys/compat/linuxkpi/common/include/linux/moduleparam.h index ebf3b7a95c02..b5c6ef95637c 100644 --- a/sys/compat/linuxkpi/common/include/linux/moduleparam.h +++ b/sys/compat/linuxkpi/common/include/linux/moduleparam.h @@ -90,6 +90,9 @@ LINUXKPI_PARAM_NAME(name), LINUXKPI_PARAM_PERM(perm), &(var), 0, \ LINUXKPI_PARAM_DESC(name))) +#define LINUXKPI_PARAM_bint(name, var, perm) \ + LINUXKPI_PARAM_int(name, var, perm) + #define LINUXKPI_PARAM_hexint(name, var, perm) \ extern const char LINUXKPI_PARAM_DESC(name)[]; \ LINUXKPI_PARAM_PASS(SYSCTL_UINT(LINUXKPI_PARAM_PARENT, OID_AUTO, \ From nobody Tue Jan 24 08:54:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPM1rkJz30xHL; Tue, 24 Jan 2023 08:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPL4FnQz3hQ7; Tue, 24 Jan 2023 08:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z1GVH0+uZVDEtGPIlQm7phqBr1e3S1EftyVdNHypHDE=; b=VfJTftSNvHDoRJftVK9mJdbz/hR6WjHogQ64Qg2SP0s6VKt5UJkxKoA3HrGTqzgAVNv9kb hqhe/+Y/cHnWxZE100CmyqG7SV+UBz6GUgK5I8DMgN2t+P4MbTEzDydpyB3gZSkhlQ6oQ1 ASD63i2BsrIJVv2UImHBrWRaRwz1nQvZv6KrjZrTf+Fk3+ZApKLU4y0/rIHWLjqS+DLnhN 4nnhha7a7k04T8l0Rb/sS70QvWjLXStl7EbiNoNh3Rl33+5yJIuXtc9rYadNVkXNw9zsgg n2XoWHOdy4bHX2tssGnn2wyBFwqBFmgmn5D/JEUBS+HO+bJoyTIfB11FriP+Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z1GVH0+uZVDEtGPIlQm7phqBr1e3S1EftyVdNHypHDE=; b=mNQnYbMu8KgDTxYjpKjO55xmjFtepYX1v1jyT6Gv4Pd6OPXHDaR+kKcISzVnqB1MSq0/Ls G+JvxWArqjn+V+rtV7LAEGCW8fvsq3Qr0Q+emlleA1FvIgY9m0whOeTjHreZmkyN19YQX9 HjpWoTD8vbLzNsyymUvKGIeVTqZdrQQm/tdXXuKCUWiAyaE6alKIRdvCO4ORE6D2vDhF2z DPjIuJ9EqMlyFkjaP7RMR4h1dVX5bpUwZGBP12I9vbewOU1pSw+8YNH6TZouFvEwixtQY3 RYxVKGsioU8KYYd7kDxG4p7RUz3ZqUXv8ypkLQ9jWI92oGRYwTO0DQaLEdot2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550454; a=rsa-sha256; cv=none; b=I3ruq8WXPqPnLxoh6v7BfcQFe/UDVFNdAs9fCXAHxzuqccO44DdUtVKB7UQCItTSI4HnEd S/9qR9K86vGGTAlsH8dPsSXqL7LKfbATF1NgD/2i7HGJEwkGYoHX+7Lg+GVBGOarFVhdBJ tW6rfk7kXqC2Tnl4B1j1lbRmghXbZE7O0gnreNk7zlf/MMhy9SpOU290+2/YohEsDN0Scz OzqAUdNRU8Pw+DpL3JvrqjKGcBd2N5RnQAMj2FGoO2uAA5xnuQT1gggl2aDuElGxnmIFY9 hEsFpmY/rAoDH36rnV5mlXorR85LbNa0Xap+NMr4l43M/gpy410soEDpY/XQWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPL3MQKz13Ns; Tue, 24 Jan 2023 08:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sEjb036228; Tue, 24 Jan 2023 08:54:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sEiP036227; Tue, 24 Jan 2023 08:54:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:14 GMT Message-Id: <202301240854.30O8sEiP036227@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 1e7e886bab96 - stable/13 - linuxkpi: Include `errno.h` from `acpi/video.h` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1e7e886bab969f44ca4eb00d5b2d8636a3ddef09 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=1e7e886bab969f44ca4eb00d5b2d8636a3ddef09 commit 1e7e886bab969f44ca4eb00d5b2d8636a3ddef09 Author: Jean-Sébastien Pédron AuthorDate: 2022-12-30 09:48:01 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Include `errno.h` from `acpi/video.h` This defines `ENODEV` used in this header. This fixes a build failure in the DRM drivers. Reviewed by: bz Approved by: bz Differential Revision: https://reviews.freebsd.org/D37909 (cherry picked from commit 8dfb5571c4d88b2320407968b14590aa80b44fb3) --- sys/compat/linuxkpi/common/include/acpi/video.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/acpi/video.h b/sys/compat/linuxkpi/common/include/acpi/video.h index df1844502ba8..ace4a42a1016 100644 --- a/sys/compat/linuxkpi/common/include/acpi/video.h +++ b/sys/compat/linuxkpi/common/include/acpi/video.h @@ -31,6 +31,8 @@ #ifndef _LINUXKPI_ACPI_VIDEO_H_ #define _LINUXKPI_ACPI_VIDEO_H_ +#include + #define ACPI_VIDEO_CLASS "video" #define ACPI_VIDEO_NOTIFY_PROBE 0x81 From nobody Tue Jan 24 08:54:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPN2CHtz30xDw; Tue, 24 Jan 2023 08:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPM5Kz9z3hQM; Tue, 24 Jan 2023 08:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JsN9gLoHt0CrsPEh41nnq0Y7/7pJvHce+uqAEBI09nM=; b=UuWg0UPrjfUBeYFwWE2SIMtnLjYb/e87PffBOqjkLfGLO/4tndsdjCn/GuIpsPwrHic9Xl +xh2mkxFGJtzUDHqrGGiMv2hGZQ3r/B5o6YqM/eEJFS/K77cSGuNtl21TZYmDaP5IzDtAL 8Yz7yfADd0+VFEesgrT0dABHyIFISYeDhAoAYu7Ai/nr+uL7eZVcC8+opBd/bLM3cg69KQ iIiPPJmVk5QLEM/aoMKkzxKoVi2x9vV+C8q4VAhC4lfUJ8GtAcvfOdfiGQrpiBcktzpU6w 3YHJfJeqvYUnJ683XAw+x8Bos+kQ1cFbmw5b1+CgTrny+YVeJB0NP8PFpn2vbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JsN9gLoHt0CrsPEh41nnq0Y7/7pJvHce+uqAEBI09nM=; b=G7OBj8F7prLGpUHu8PXJCjj4CtJXHNpIukKPZ9vq3+mHH2yxt7J810SA4cVpWIFY6j1KbX Itvw55+kZaVQ/ZrLoJRMdyO8TVKIuUuyLcLUQ9lGJ27HzSNFrO9jZq5TjtW56BTvJlTdDK Qrru3nIwl9WRCq0GbCLbsZiC5hRuWlCw5xWLDJnL1D1pMhJPD0coVGxJV92xvhED6Y+bo0 8qFY6h/YFKSUtCrcOjW/CMJjWp57qhkJSJIUnOIsjc7VCzdt+YE3pVkTLGoIcH02moRKF7 pCFzjxxl2843i6fOpBBwie26RP6p9kZZm9elMbWW1VTwkFRowPKSrrYN2A8q3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550455; a=rsa-sha256; cv=none; b=d/h+k1rQ5+yYFLBFTrf+IdhM5saPcWhEuX5pnSSsiIiUdN3hvdNo6IXgZoYsvbXbkv7D7M djQjzIaR95JXT0wVmcJt+d44l8Qi49J65OVe9pPgUz1B7Z6zUt+/jnPP3YkcYFTBbStH3G v4COOK13lkZN1/Qu1zirHzI4JVoj+vuf+zlfyh5oX+hYR1MAk7u5uoaKoS8B1bv2xIIqW4 j6C1PgMbwh1URGxbjNWOvVmTX5r8yi5iU8HfCjLOios+uw8c7NeQZVzGM1QBzUCJhJzUWs CraZv0uS3hzOVUy6LiE630GHqAjvM1RlWEhoQRHv6u0NrQp2LUql/isDlCRGnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPM48G6z13Nt; Tue, 24 Jan 2023 08:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sFGF036252; Tue, 24 Jan 2023 08:54:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sFYq036251; Tue, 24 Jan 2023 08:54:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:15 GMT Message-Id: <202301240854.30O8sFYq036251@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 281150a7c0bd - stable/13 - linuxkpi: Define `lockdep_assert_none_held_once()` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 281150a7c0bde92a6853123ac1dfffd089187948 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=281150a7c0bde92a6853123ac1dfffd089187948 commit 281150a7c0bde92a6853123ac1dfffd089187948 Author: Jean-Sébastien Pédron AuthorDate: 2022-12-30 09:50:02 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Define `lockdep_assert_none_held_once()` This is defined as a no-op even when INVARIANTS is defined. I admit I don't know how to implement that in FreeBSD and didn't search thoroughly. Reviewed by: bz Approved by: bz Differential Revision: https://reviews.freebsd.org/D37911 (cherry picked from commit 17f2b12a3877f460f72123242c068881806388c2) --- sys/compat/linuxkpi/common/include/linux/lockdep.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/lockdep.h b/sys/compat/linuxkpi/common/include/linux/lockdep.h index 6e375d05d477..f1bec0efeee8 100644 --- a/sys/compat/linuxkpi/common/include/linux/lockdep.h +++ b/sys/compat/linuxkpi/common/include/linux/lockdep.h @@ -67,6 +67,8 @@ struct pin_cookie { LOCK_CLASS(__lock)->lc_assert(__lock, LA_LOCKED | LA_NOTRECURSED); \ } while (0) +#define lockdep_assert_none_held_once() do { } while (0) + static __inline bool lockdep_is_held(void *__m) { @@ -81,6 +83,7 @@ lockdep_is_held(void *__m) #else #define lockdep_assert_not_held(m) do { (void)(m); } while (0) #define lockdep_assert_held(m) do { (void)(m); } while (0) +#define lockdep_assert_none_held_once() do { } while (0) #define lockdep_assert_held_once(m) do { (void)(m); } while (0) From nobody Tue Jan 24 08:54:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPP0nVNz30x3j; Tue, 24 Jan 2023 08:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPN6t8Zz3hQr; Tue, 24 Jan 2023 08:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y5tOKIuU8afe906B7bEvJhGGs57cEvWzZfXEUpHGD/U=; b=KDMIx8Ln9kkwRpwQBRr1I/J/yRvNY6COQIphp+ND7N3/+Yts3/HzOOEn9CW5NeD1/WBI7c ftjqpWXbjobIndzEwCIMXJuf8empjPGs1Wq1oOwYg0YZ36dBUahSl7ByAFxDqyE3VksKVI 4mx+Yx2s3JLiYrfui5avlgkHYlotuVp8BUQIQurTYxb0clfAA4PARENBAhiLvTiCCXHvcT DFNx1TThAVJmG+5HYpJ9hRdDh9D0dWTIj0jebFnwvhq6Sy6eFoGBAKLcuyN38MBV9pNsUm KAdomt/f5ku8eXY5H2isB6opODj/DNGM1d1VUu4w27JHzriPprFUuEgBH5z/lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y5tOKIuU8afe906B7bEvJhGGs57cEvWzZfXEUpHGD/U=; b=rq7845zemX0i35hAJRcnNQ1yubVhNUAUFvDbm+JAq6hqsu1yLTBdNpRbJvOjBVKQubNux3 9fox84kxgOhbNTGkEVJ+fVMkFfcsf3Bc8XYYtaMIP0P+gdeFSNY9W6Fb7gcpKBctM5Z3Qe tMO75vSBCvBIDD+juY2j24aWBY3qLT3S5zXv4BUjiGP2uKaFH4CHRFuJ6o1qRxyiH+ERsD /HSETG8PPYqyoMJ3iK4UUM2QUNWBTlEhKqdJthtUY+mVxgvzHaT502p7UJRbocFu3vHsSC HNGF/PmQZGN4ZUBp7R+TaeRdNxw2AJu2dDSTslAcd5W8qqeubvn66k+sy9jkfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550457; a=rsa-sha256; cv=none; b=FxtpdY1ZAi990SJ/V5kWVLmfoh5Yk+HX8GS3DN7l/uTUh89BDXANlB530m/SoWQ1Y3S+C/ crdIzRM2w48TvxXChjtPwhplfTcZu/LwoSUc6AttrfufEsdjUOAAvM7huNmrFQ6FQSVQIc pRRFufuMU+EVMCc+VdypnoVwTeQOBaRL1YwOqEroX18iktcA2iA0gDm2Qw7jF9Qxtej5Lj oTJS4+nr3JN12K9ZEd+/tS0MJE1nFJvoZYf/m9TAAnzpD/61+6KTXMk2StEmXIDouzEw4h r/rDbN7eGmg9Vr3ooTA1ugD4vMcYywZlnUeJ95w4onHiiOP3b3sofER7uiv+Rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPN5Q11z13Nv; Tue, 24 Jan 2023 08:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sGn7036282; Tue, 24 Jan 2023 08:54:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sGUq036281; Tue, 24 Jan 2023 08:54:16 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:16 GMT Message-Id: <202301240854.30O8sGUq036281@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: a509f71358b7 - stable/13 - linuxkpi: Define `boot_cpu_data.x86_max_cores` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a509f71358b7ceb9a3846e77cb411ce7bf720791 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=a509f71358b7ceb9a3846e77cb411ce7bf720791 commit a509f71358b7ceb9a3846e77cb411ce7bf720791 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:43:07 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Define `boot_cpu_data.x86_max_cores` Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36971 (cherry picked from commit 58cf3a69a5590a159b6271b0cb74bbec72245f26) --- sys/compat/linuxkpi/common/include/asm/processor.h | 1 + sys/compat/linuxkpi/common/src/linux_compat.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/asm/processor.h b/sys/compat/linuxkpi/common/include/asm/processor.h index 450192750612..ee2f48b50b44 100644 --- a/sys/compat/linuxkpi/common/include/asm/processor.h +++ b/sys/compat/linuxkpi/common/include/asm/processor.h @@ -36,6 +36,7 @@ struct cpuinfo_x86 { uint8_t x86; uint16_t x86_clflush_size; + uint16_t x86_max_cores; }; #define cpu_relax() cpu_spinwait() diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 082219721de1..0714106ca418 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -2768,6 +2768,7 @@ linux_compat_init(void *arg) #if defined(__i386__) || defined(__amd64__) linux_cpu_has_clflush = (cpu_feature & CPUID_CLFSH); boot_cpu_data.x86_clflush_size = cpu_clflush_line_size; + boot_cpu_data.x86_max_cores = mp_ncpus; boot_cpu_data.x86 = ((cpu_id & 0xf0000) >> 12) | ((cpu_id & 0xf0) >> 4); #endif rw_init(&linux_vma_lock, "lkpi-vma-lock"); From nobody Tue Jan 24 08:54:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1LPQ1PNPz30xBJ; Tue, 24 Jan 2023 08:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1LPQ0Mq7z3hKf; Tue, 24 Jan 2023 08:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tQeyWWmPriEMXBsYGIRnJrW73y53zqr2K8foMx+ke8Q=; b=YEdMRE1X/t+1hBInFUnrGP2u9h6O6UZVHWHJD4g3nB/t+zqkj1l4XvnIfudbsXGQRxagCU iXAzvZ7bptPpuztrrvihnFMPQFEzGiF4t+j7ifMoIBAgX5/AanXMgbbuGfKpHihJMWJPbF 1c2MNe41DAyWh0jVdkAcbQqFBNorppZ5CjJl32wMtdYCKGWFmZBjfBRcf48CY9F07Gxb9L l+yhul0NZdPVMP/UCTvDzEgJOs8KQvZI9LfI/PjyP1xSF6gEyslKklKTC3S7yKi4I8Meou qPap8H+WmmEfLiehMC7VanXYfGe4/SXmP7ZnMeRPmsQwzeHLfmwTp9XrkRb81w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674550458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tQeyWWmPriEMXBsYGIRnJrW73y53zqr2K8foMx+ke8Q=; b=W5B3L8YqBUiFVLGKoylotIXU/VoSKc6BwrETqXn+QjflyoRZDEVPF6iYifV8Z1wUjdpVnr SbLaFeuOg0LRIix3hPl8+te3ti9En3KNGVWtjriPLqlqGjHAyb7XLgIwoBLlrOVqiBt4PY z6qTyg/Lv/kisdjz8adP8fqRzVWctguiA71rdBukG+iWdU8CXccAftELHL+Ge9Nyz+hp8x nsndvGqSIeT7FEOBZ0hq/y3XyM+1x1p2zxJ+CHh4RtpSVYKcuaqqr6EMZ0A89qSL6pvQ3q pC0fkXGtIgzf6pJgz5k8Mq06BOEcyJzPH7thnE9qDdl3mDIbdx5fdsPuud7dGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674550458; a=rsa-sha256; cv=none; b=jTB3QNshi199ClAzAGWZagO2ZjiNOHoo83WY5v6dmqDAyTa1Pi9cJzizwQHs3Qeq/iuLkb +ypjxvCpC6THMCInwGSSX9QpJVaYBLPnKoc1ocUs5G0rZx+oWeHaOWN/bnlPg4BGrargNV AHkvmro1fliFOw6BsQ5vjXJEBwvBfLhxy2BS1IE5xco8/wJXQJQnKH4H0dm+LL+fxW8t9u eK6Lap+gkG+wASyco3ZRuzfUi1aZv4J2nFwv4J3ghdBRpKqzK81lp0asiSpYNqcMi55c9v wqXrny4Nc5qeIlQpVnqK6gK8BzUaNyW7tft2R1TnwKR+xj30eKstte+TNJOy9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1LPP6ZV0z13MG; Tue, 24 Jan 2023 08:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30O8sH8F036307; Tue, 24 Jan 2023 08:54:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30O8sHa2036306; Tue, 24 Jan 2023 08:54:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 08:54:17 GMT Message-Id: <202301240854.30O8sHa2036306@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 04c127d58d05 - stable/13 - linuxkpi: Update `struct irq_work` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 04c127d58d055891657f13ef988ba3dd0ee657f4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=04c127d58d055891657f13ef988ba3dd0ee657f4 commit 04c127d58d055891657f13ef988ba3dd0ee657f4 Author: Jean-Sébastien Pédron AuthorDate: 2022-11-11 17:32:58 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-24 09:08:01 +0000 linuxkpi: Update `struct irq_work` The previous `llnode` field is moved inside another field `node`. This `node` field is a `struct __call_single_node` in Linux. Here, we simply add an anonymous struct with the `llnode` field inside. That field's new name is `llist` now. V2: Use an anonymous union to keep the structure backward compatible with drivers using the previous `llnode` field. This was suggested by wufl@ and hselasky@. Thank you! Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D36955 (cherry picked from commit f021c5c4a1770987f01530fa59e5ccba3759c0ab) --- sys/compat/linuxkpi/common/include/linux/irq_work.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/irq_work.h b/sys/compat/linuxkpi/common/include/linux/irq_work.h index 9e2bd31ddb71..3fbc7690b798 100644 --- a/sys/compat/linuxkpi/common/include/linux/irq_work.h +++ b/sys/compat/linuxkpi/common/include/linux/irq_work.h @@ -52,7 +52,12 @@ typedef void (*irq_work_func_t)(struct irq_work *); struct irq_work { struct task irq_task; irq_work_func_t func; - struct llist_node llnode; + union { + struct llist_node llnode; + struct { + struct llist_node llist; + } node; + }; }; extern struct taskqueue *linux_irq_work_tq; From nobody Tue Jan 24 21:46:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1gXj66Yqz3bZJL; Tue, 24 Jan 2023 21:46: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 4P1gXj5HNRz49Zk; Tue, 24 Jan 2023 21:46:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674596805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGHUvx4HsBmEpM/cXurYmBfJXuTMyVCtuUZ1ABphlLU=; b=Ef26SXQ49MTnetV2bY8rVmcvKJsXycTq2DzSka6putnedmCj8HHCjChuNdiu+pV18K1Gbh 2ZgXHhaZpeFnVzitbUzKx07fGoSLjPUMy41I7DVvKUE0LglMzf8eUNX33nVzXbzSTyfAhw wrB3LAGf8EwBWRvmdiiHTXrCJ7LRpAiU8cDfVDSVMT53qRIzGXbG+fpqWtZVBhxd/NNVE2 fpdkwMolcOXmeax6khMx5IezQFcJBYfU/0TVrLNfNllpZ3P6gr010Po9AsNp+gHZvpDGDg wUksHP5Lz2c9L12nvwGzXh2aZbExB4AtfloaXAAqm1IP5mfZDSB5kbVASHjqQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674596805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGHUvx4HsBmEpM/cXurYmBfJXuTMyVCtuUZ1ABphlLU=; b=O/JlwpbVWUHMT556YCxuOrXxvsv5UCarjmOBghxHm3qcmr3X3+/RAqMn0MngZr3g/1CCQ+ 5xx6ZIthPhu/La0yOF8/daUtxYg9cYWEmQJdhVlGNUKlbxNDiFFhckzCtXm69jKFmXP2sO GtNBu1Div/yOhC3twZKfluMNizV1crq16+hZim9SAOJHeE6kEPH3fMipSCBrC7hA7DLOxZ ufqkM6uNz1HP3Yz0G43NzMzB04QyKflvGSVEM5OYaC+C6xCzn59RqEMBkF0lTLoo3fKVg7 58GSBjF09L19CZXgLouMudgSutm40jHSt6I1uxb5Fi8Qije6cpkJlQ1mcmIG0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674596805; a=rsa-sha256; cv=none; b=FNaIicSSr8wrOSpspZq+dvSRrpDuRqxnyFFjl1yURREclqTSxxsxST9wMxI0Onzpc4E0n+ KkO74hbk3UrR5AgZVd9XECQim2JBAFK3C3RTxPBEuqetjVFT4dYXLgPMwg9e9FKgpE/KHg 1aubUEejS//RPa5QynPrTzsw1CYaVEek6dlI12SNmeeczhPlR6wJCZl0AX2b8uwbMGX8Dr QAoTHfe6XQwFpMm1zmyBOwdfSDHpA01qSi4yc/8z7A32iULg9OwYp0TCtV3SZ8rRSHfDRW pvG7mjFHTzirb8W1Uobp9Vhab9jchpVsqpZ7Od2x7tOR3FLgMCHX4RG30UBlCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1gXj4JpszP5V; Tue, 24 Jan 2023 21:46:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OLkjeb039978; Tue, 24 Jan 2023 21:46:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OLkjiL039977; Tue, 24 Jan 2023 21:46:45 GMT (envelope-from git) Date: Tue, 24 Jan 2023 21:46:45 GMT Message-Id: <202301242146.30OLkjiL039977@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 99e4ea083c57 - stable/13 - netlink: connect netlink(4), rtnetlink(4), genetlinl(4) to build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 99e4ea083c57a9d002055a48a9e12eb333ee90cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=99e4ea083c57a9d002055a48a9e12eb333ee90cd commit 99e4ea083c57a9d002055a48a9e12eb333ee90cd Author: Li-Wen Hsu AuthorDate: 2022-11-07 16:50:00 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-24 21:42:18 +0000 netlink: connect netlink(4), rtnetlink(4), genetlinl(4) to build MFC after: 2 months (after 7366c0a49c9a60d3eea7520d7ae4bc2b3ab172f3) (cherry picked from commit 82e4a85de50b6e0acd6dc443e80919ad09e88365) --- share/man/man4/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 45182387cd4e..0af0246f9328 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -169,6 +169,7 @@ MAN= aac.4 \ gdb.4 \ gem.4 \ genet.4 \ + genetlink.4 \ geom.4 \ geom_linux_lvm.4 \ geom_map.4 \ @@ -340,6 +341,7 @@ MAN= aac.4 \ netgdb.4 \ netgraph.4 \ netintro.4 \ + netlink.4 \ netmap.4 \ ${_nfe.4} \ ${_nfsmb.4} \ @@ -474,6 +476,7 @@ MAN= aac.4 \ rl.4 \ rndtest.4 \ route.4 \ + rtnetlink.4 \ rtsx.4 \ rtw88.4 \ rtw88fw.4 \ From nobody Tue Jan 24 21:46:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1gXl04pbz3bZhH; Tue, 24 Jan 2023 21:46: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 4P1gXk6MDGz49f6; Tue, 24 Jan 2023 21:46:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674596806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=umtsQKWk96hE7A/GrLvl4pwDZaSOlzwbmf65RJOv3Uo=; b=s1foQW2TAiLL6rxx9oLa7l1VLkU3ntFJu4rU89SkuTjfO8QbMDJWfkMWKz2rwNVpJG+eNF CvBb1gMmUpIzOiLL6NqdTghs+MmjKFXHrifqF8n7RixwdhP6oLAJT+VkXYfyh8h0c/OXJ9 wWH2HruTYIirRMkVHqGXsXyizSsoUj00yriAzbts1JQ1FIDbrhyqs1NGXkFs2FHSJDhp21 wAElhPwtgM133PvP4x+zO38FjUwRJhWyMOG23AG3Rl8HBYQogShJ7P+rC2R7PNsHIgUkcn TmaD7QoGrrldms/DS5XWdi3GT6ve6dqdLh9k9odL8fPdROLOW8mblJp7Ny+g3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674596806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=umtsQKWk96hE7A/GrLvl4pwDZaSOlzwbmf65RJOv3Uo=; b=kAT/O0Xndg8r+Y7PYxHvGOCfHBd3dw26fs91naDKFMNMxe3nKT0hX6Kz38nPU/Zsr/cRl3 6mO644imnau6WGBMLwqhanRiiZhWhUAeetokV0KwC8K3Hd0Bn1KKr2Z6KjyNHW7Do/1W40 GMu/Wpn1Z44QiuZmTVmPSlQvg4yryT5sjY9W+ty+of5tMoN2OzjkXjtZHfszsAopZLpOgZ 8fyfWso1dKaQVNBb2pIAp98eQ7KmSPaeudulIdyy2wXHlGXttj8c7TVYhnaCh+Vvrj1kFd YGqFfoHO7camgE95HL+S5d1jVFT1ElMbak5MBFuTlcp8Fo8zl6+CH6xRDwFlvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674596806; a=rsa-sha256; cv=none; b=eW8zSwn7jUpkfmCS20dYq09pDFSQG9vGfWJT67KLYTUi0o7DMoVfJ9zUOePycVko4peyc9 8d2nQZEb5E3arcnF/IYIyq08780sNSYKrWBJX+rR7m6UH3OAO3q22tc8OYLHK91hVyxQYT E2xePel5VF1/dn3X5zhyhvEEtzSSxm0Vdnu78U4hEQlkUEU3yYen/zoB3eSEtNkspEZ0iE 1mB4hZnb00z/aFffdOr1gv0nedRH4dJNBgKyoCvESYm49cBTCv23DDQYZgvGQ9ZZU/Hv+E WbUkVPKv0nwuHwq1KFyPYjI4OSvSRfWNOQxeNbSN7N6+VgbFG84C3UemJhLXNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1gXk5FDCzPr9; Tue, 24 Jan 2023 21:46:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OLkkES040002; Tue, 24 Jan 2023 21:46:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OLkkdB040001; Tue, 24 Jan 2023 21:46:46 GMT (envelope-from git) Date: Tue, 24 Jan 2023 21:46:46 GMT Message-Id: <202301242146.30OLkkdB040001@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 9fcc6175008c - stable/13 - man: fix socket.2 merge from a16f805f820e List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9fcc6175008cf0aea9dce6d30f4259080b791325 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=9fcc6175008cf0aea9dce6d30f4259080b791325 commit 9fcc6175008cf0aea9dce6d30f4259080b791325 Author: Alexander V. Chernikov AuthorDate: 2023-01-24 21:44:51 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-24 21:44:51 +0000 man: fix socket.2 merge from a16f805f820e Reported by: Herbert J. Skuhra --- lib/libc/sys/socket.2 | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/libc/sys/socket.2 b/lib/libc/sys/socket.2 index 7cff244345e9..cbe74809d214 100644 --- a/lib/libc/sys/socket.2 +++ b/lib/libc/sys/socket.2 @@ -65,11 +65,8 @@ PF_LINK Link layer interface, PF_KEY Internal key-management function, PF_NATM Asynchronous transfer mode protocols, PF_NETGRAPH Netgraph sockets, -<<<<<<< HEAD PF_IEEE80211 IEEE 802.11 wireless link-layer protocols (WiFi), -======= PF_NETLINK Netlink protocols, ->>>>>>> b0286ee504c6 (man: add Netlink reference to socket(2)) PF_BLUETOOTH Bluetooth protocols, PF_INET_SDP OFED socket direct protocol (IPv4), PF_INET6_SDP OFED socket direct protocol (IPv6) From nobody Tue Jan 24 21:49:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1gcX3VmPz3bbJ5; Tue, 24 Jan 2023 21:50:04 +0000 (UTC) (envelope-from melifaro@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 4P1gcX30Q9z4CqX; Tue, 24 Jan 2023 21:50:04 +0000 (UTC) (envelope-from melifaro@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674597004; 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=w536ZerA4bIYvm1Uh6rLuyrj7SxGZwX2YQFPrhKflNE=; b=rHdMBZRDunDq+49ZwTId5gy/XcXFteJrWAKss6nfqhGVVY00wPn14/nYqsKNqaVg3bfMPs 0h5yOnq1niycjLhlSrQBRCKX8uB2UasWn0ug4pUCfbHC04ftPS+HPdicj5RKmsOOMXKNqP obcFg14Ybe8i0LnNk5/6FWWb7lchJ0T2u64TmOZTw44h5WMAlWj4hk1qWSCnwwDHfw2LvP oJBzOcqRaKqMaJIR5qKppkHZap6fSSmgEzIJI2qTSiTNPUWfNDgmzgoGbXu56C/HvdUph7 SPSy19C9yLlLhsWzfvaSfDnZZree/xOD7W0IdyOr2YHUXhwZ2boLBW6N/A1B7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674597004; 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=w536ZerA4bIYvm1Uh6rLuyrj7SxGZwX2YQFPrhKflNE=; b=YsasUL6Mw0kVr9ER06E3T2TvFf4OVSqm65yzO9jYJ7BE9OJKo3XsZunJ9yt5gZ5OaGCwen annVFCZhJhaYumX2oobwkjAc5QUgXD4qX4YxOSGWDcE+FVVBc8f/FULjfvphz/D1Q6XkeP pg2pvK940huO4rwUoy12Qlv94WgGu4cjuQSjhRnifN4q+A51PjJtvtUWv1YdT1AEGmJQWR fO54FRYrMtn8rqbKuTGG6f2IciD/EQEYvMcdoCcXMHW2Spzr8dTmji9y1z5+uQRq2a9IBD Q6OMVKkofRA6Ec3ObvEOD9yQLDL8qiSWxtR1SU3M4eudxOubkjdrXJj4aO7P5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674597004; a=rsa-sha256; cv=none; b=aJYKsWbmi++ioR9l94DAewy8msIBaGC1rhU/f+krmJty4A7WSuxpleio0bgDXWHPDPLOgW FLOIcpSEoUlHbhaq2L4g3SATQ7pW3pPbMrNcZW39znDuTmvvCTih5NCYJQiDD76VA6v6rx 2a6T1pfuVM7HdHs/Ft9OFyNDvwAXenLHnVbUn4MbX+peGHK5fO1U6uaI6VK2aYTy7pA1aC cLdRsTFvwR7ftuKmBwCphOKVS4w5wyNGg75r3cfDNPNAtPK88tmjAhGQiV6kSx8iYNN1OF AwbwOyMihitRRt2qwv5lkyKa4xoKY1waDNmvPcOoX3OLA37e0F8bCa1e5vYS0w== Received: from smtpclient.apple (unknown [IPv6:2a02:8084:d6bb:510:9144:3028:c5d0:e0f2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: melifaro/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P1gcW5lmfztkb; Tue, 24 Jan 2023 21:50:03 +0000 (UTC) (envelope-from melifaro@freebsd.org) Content-Type: text/plain; charset=us-ascii List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\)) Subject: Re: git: 6bbfbaa6ae46 - stable/13 - netlink: add netlink support From: Alexander Chernikov In-Reply-To: <202301240817.30O8H53k015541@nuc.oldach.net> Date: Tue, 24 Jan 2023 21:49:52 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <818EA8FD-28BF-4A7C-95FD-7CA900A1BF9B@freebsd.org> References: <202301240817.30O8H53k015541@nuc.oldach.net> To: Helge Oldach X-Mailer: Apple Mail (2.3731.200.110.1.12) X-ThisMailContainsUnwantedMimeParts: N > On 24 Jan 2023, at 08:17, Helge Oldach wrote: >=20 > Alexander V. Chernikov wrote on Mon, 23 Jan 2023 23:11:41 +0100 (CET): >> The branch stable/13 has been updated by melifaro: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D6bbfbaa6ae46f732603c2a23c7ece6df= e39c1e03 >>=20 >> commit 6bbfbaa6ae46f732603c2a23c7ece6dfe39c1e03 >> Author: Alexander V. Chernikov >> AuthorDate: 2022-01-20 21:39:21 +0000 >> Commit: Alexander V. Chernikov >> CommitDate: 2023-01-23 19:18:08 +0000 >>=20 >> netlink: add netlink support >=20 > Please connect netlink(4) and friends as well. Thank you for reporting! Merged 99e4ea083c57a9d002055a48a9e12eb333ee90cd, should be better now. >=20 > Kind regards > Helge From nobody Tue Jan 24 22:09:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h354gMzz3bdcF; Tue, 24 Jan 2023 22:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h354714z4GSD; Tue, 24 Jan 2023 22:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5m3+u9CPu1qWy7LEzvkuwYe0TGmhujvdrMH2HDLuXxs=; b=dLYyjK/DAgGNHnrbFxpptxE49tw0izOnp4MWaH+6AplW9y+SIegEeOh+k2PybNk6bvsHz4 pP22kvHw5R+r4vUc5cv8SMDyVif6sEyY8lIHrguVWSOG7I0hQtUJLiwq3iNU8Yi5a909lD hvqrexmZ7sQeToBeYVEIaN115OGa4OdcnIazXThK4eHTWNHXd1kqL8dKKTtynS4KD3ueoZ LZ4fyv622VLhFbVGkKFE927IYhmgSoIDzRJi5rfcxwRANp/T9VZq51vldpQfLyjUbQSlEr cTkwbXEiFsDf2D8jQxomJEL0lpG6WFNEw/hcwV0ayepUXdrXA5lXPt4KHklHjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5m3+u9CPu1qWy7LEzvkuwYe0TGmhujvdrMH2HDLuXxs=; b=Xke0Sw8WOseWiObtirZ0FFmLumLvaHhIHeZVnjo4qnoXf4NrlLbCG2S0J3vp2LFWNBDdkH QNe5dD21va4xocM1xGwrziU8X0UXZBcvvCTOLUn3djJNaErNSjTakwKW531I+y4c0QZQHP 8b4U0hRXQLGl0fgEvecv6iG6AMYFAKDXPKlhTtHC+7U9g1X1ObwCxi8/OOPE5pQo1Fy+n2 a/g2cc22tS8EWRw0CtOoYtt8RvgIBJ+WGV07o2vZe8iaLbUDE9SG4zh+wa0sfzQhVlFBVs RENqTbCb6t8jAgS/wn9W4Cp701kQgo3zxghawZaOWXygMxw2uBg6go5OgAONgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598177; a=rsa-sha256; cv=none; b=eHgNmn9FpPHBfiLKY9HdZRS9eTEhj1/KCcq+6yvAYbT9FyMxu8HWj+CA90Y8T2VF5HYykE URRKMhKfMVmJsUKUZ8+oHE+fqSduTIdQIoeC9C+Bybj+Lii1imYDNDlTobKMedBtWoe8dO PdOzbelmDtGjzcR41AfZA50mXoESKjREXWXPOdSwEcTecJHSQCPOMJz7tsFozXcKbp7Iqx iknyzpt4cYJl/mXVP5phLjlfyidCstaVc4SaNkgH/D8SH6BIlGRZMWXYBoNHf2q8vo50KO P1atFpD5SWb/0V3BtacLSWOlOfe/6r3v6gUPPVNsRI3DcdXXx7PoOWSHTPvBUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h353BDKzPmX; Tue, 24 Jan 2023 22:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9b0d070407; Tue, 24 Jan 2023 22:09:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9b0v070405; Tue, 24 Jan 2023 22:09:37 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:37 GMT Message-Id: <202301242209.30OM9b0v070405@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: 4b7d03df65c3 - stable/13 - Remove obsolete code gated on _ARM_ARCH_* List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4b7d03df65c3a4cf536bd4d8235df5ca5d37366e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4b7d03df65c3a4cf536bd4d8235df5ca5d37366e commit 4b7d03df65c3a4cf536bd4d8235df5ca5d37366e Author: Andrew Turner AuthorDate: 2021-01-28 10:41:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:15 +0000 Remove obsolete code gated on _ARM_ARCH_* This is all code only run on ARMv4 and ARMv5. Support for these have been dropped from FreeBSD. Differential Revision: https://reviews.freebsd.org/D28314 (cherry picked from commit 4e76e4c301c72698e111580e278872a8323fba50) --- lib/libc/arm/string/ffs.S | 28 ---------------------------- lib/libc/arm/string/memset.S | 41 ----------------------------------------- stand/arm/uboot/start.S | 2 -- sys/arm/arm/machdep.c | 2 +- sys/libkern/arm/ffs.S | 29 ----------------------------- 5 files changed, 1 insertion(+), 101 deletions(-) diff --git a/lib/libc/arm/string/ffs.S b/lib/libc/arm/string/ffs.S index 1e25960d9bec..5756dd81d21d 100644 --- a/lib/libc/arm/string/ffs.S +++ b/lib/libc/arm/string/ffs.S @@ -48,38 +48,10 @@ ENTRY(ffs) /* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry */ rsb r1, r0, #0 ands r0, r0, r1 -#ifndef _ARM_ARCH_5 - /* - * now r0 has at most one set bit, call this X - * if X = 0, all further instructions are skipped - */ - adrne r2, .L_ffs_table - orrne r0, r0, r0, lsl #4 /* r0 = X * 0x11 */ - orrne r0, r0, r0, lsl #6 /* r0 = X * 0x451 */ - rsbne r0, r0, r0, lsl #16 /* r0 = X * 0x0450fbaf */ - - /* now lookup in table indexed on top 6 bits of r0 */ - ldrbne r0, [ r2, r0, lsr #26 ] - - RET -.text; -.type .L_ffs_table, _ASM_TYPE_OBJECT; -.L_ffs_table: -/* 0 1 2 3 4 5 6 7 */ - .byte 0, 1, 2, 13, 3, 7, 0, 14 /* 0- 7 */ - .byte 4, 0, 8, 0, 0, 0, 0, 15 /* 8-15 */ - .byte 11, 5, 0, 0, 9, 0, 0, 26 /* 16-23 */ - .byte 0, 0, 0, 0, 0, 22, 28, 16 /* 24-31 */ - .byte 32, 12, 6, 0, 0, 0, 0, 0 /* 32-39 */ - .byte 10, 0, 0, 25, 0, 0, 21, 27 /* 40-47 */ - .byte 31, 0, 0, 0, 0, 24, 0, 20 /* 48-55 */ - .byte 30, 0, 23, 19, 29, 18, 17, 0 /* 56-63 */ -#else itt ne clzne r0, r0 rsbne r0, r0, #32 RET -#endif END(ffs) .section .note.GNU-stack,"",%progbits diff --git a/lib/libc/arm/string/memset.S b/lib/libc/arm/string/memset.S index 96d2f93183c4..6ac64274db95 100644 --- a/lib/libc/arm/string/memset.S +++ b/lib/libc/arm/string/memset.S @@ -105,20 +105,14 @@ ENTRY(memset) #ifndef _BZERO orr r3, r3, r3, lsl #8 /* Extend value to 16-bits */ #endif -#ifdef _ARM_ARCH_5E tst ip, #0x04 /* Quad-align for armv5e */ -#else - cmp r1, #0x10 -#endif #ifndef _BZERO orr r3, r3, r3, lsl #16 /* Extend value to 32-bits */ #endif -#ifdef _ARM_ARCH_5E itt ne subne r1, r1, #0x04 /* Quad-align if necessary */ strne r3, [ip], #0x04 cmp r1, #0x10 -#endif blt .Lmemset_loop4 /* If less than 16 then use words */ mov r2, r3 /* Duplicate data */ cmp r1, #0x80 /* If < 128 then skip the big loop */ @@ -127,7 +121,6 @@ ENTRY(memset) /* Do 128 bytes at a time */ .Lmemset_loop128: subs r1, r1, #0x80 -#ifdef _ARM_ARCH_5E itttt ge strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 @@ -148,24 +141,6 @@ ENTRY(memset) strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 -#else - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} -#endif bgt .Lmemset_loop128 it eq RETeq /* Zero length so just exit */ @@ -176,17 +151,10 @@ ENTRY(memset) .Lmemset_loop32: subs r1, r1, #0x20 itttt ge -#ifdef _ARM_ARCH_5E strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 -#else - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} -#endif bgt .Lmemset_loop32 it eq RETeq /* Zero length so just exit */ @@ -195,13 +163,8 @@ ENTRY(memset) /* Deal with 16 bytes or more */ itt ge -#ifdef _ARM_ARCH_5E strdge r2, [ip], #0x08 strdge r2, [ip], #0x08 -#else - stmiage ip!, {r2-r3} - stmiage ip!, {r2-r3} -#endif it eq RETeq /* Zero length so just exit */ @@ -217,15 +180,11 @@ ENTRY(memset) it eq RETeq /* Zero length so just exit */ -#ifdef _ARM_ARCH_5E /* Compensate for 64-bit alignment check */ adds r1, r1, #0x04 it eq RETeq cmp r1, #2 -#else - cmp r1, #-2 -#endif strb r3, [ip], #0x01 /* Set 1 byte */ it ge diff --git a/stand/arm/uboot/start.S b/stand/arm/uboot/start.S index ede6a620e08f..781d4829df35 100644 --- a/stand/arm/uboot/start.S +++ b/stand/arm/uboot/start.S @@ -39,12 +39,10 @@ .globl _start _start: -#ifdef _ARM_ARCH_6 mrc p15, 0, ip, c1, c0, 0 orr ip, ip, #(CPU_CONTROL_UNAL_ENABLE) orr ip, ip, #(CPU_CONTROL_AFLT_ENABLE) mcr p15, 0, ip, c1, c0, 0 -#endif /* Save the arguments and return register before calling self_reloc */ push {r0, r1, r9, lr} diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index c2e5a29bd244..d1d595e9593d 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -107,7 +107,7 @@ __FBSDID("$FreeBSD$"); #endif -#ifndef _ARM_ARCH_6 +#if __ARM_ARCH < 6 #error FreeBSD requires ARMv6 or later #endif diff --git a/sys/libkern/arm/ffs.S b/sys/libkern/arm/ffs.S index 1ddec95de0b1..871ca64b9a84 100644 --- a/sys/libkern/arm/ffs.S +++ b/sys/libkern/arm/ffs.S @@ -51,37 +51,8 @@ ENTRY(ffs) /* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry */ rsb r1, r0, #0 ands r0, r0, r1 -#ifndef _ARM_ARCH_5 - - /* - * now r0 has at most one set bit, call this X - * if X = 0, all further instructions are skipped - */ - adrne r2, .L_ffs_table - orrne r0, r0, r0, lsl #4 /* r0 = X * 0x11 */ - orrne r0, r0, r0, lsl #6 /* r0 = X * 0x451 */ - rsbne r0, r0, r0, lsl #16 /* r0 = X * 0x0450fbaf */ - - /* now lookup in table indexed on top 6 bits of r0 */ - ldrbne r0, [ r2, r0, lsr #26 ] - - RET -.text; -.type .L_ffs_table, _ASM_TYPE_OBJECT; -.L_ffs_table: -/* 0 1 2 3 4 5 6 7 */ - .byte 0, 1, 2, 13, 3, 7, 0, 14 /* 0- 7 */ - .byte 4, 0, 8, 0, 0, 0, 0, 15 /* 8-15 */ - .byte 11, 5, 0, 0, 9, 0, 0, 26 /* 16-23 */ - .byte 0, 0, 0, 0, 0, 22, 28, 16 /* 24-31 */ - .byte 32, 12, 6, 0, 0, 0, 0, 0 /* 32-39 */ - .byte 10, 0, 0, 25, 0, 0, 21, 27 /* 40-47 */ - .byte 31, 0, 0, 0, 0, 24, 0, 20 /* 48-55 */ - .byte 30, 0, 23, 19, 29, 18, 17, 0 /* 56-63 */ -#else clzne r0, r0 rsbne r0, r0, #32 RET -#endif END(ffs) From nobody Tue Jan 24 22:09:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h365Lzvz3bdjM; Tue, 24 Jan 2023 22:09: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 4P1h364yPjz4GXt; Tue, 24 Jan 2023 22:09:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mdt5HlQpI124TdYefIqJDa2+bDcdY2RAH6q9NNl6UgM=; b=dmdIHbqW1lnika5XJEZjtYiwP2q7Fre87No+ilgSoDDILmnkofmYE2A3fodTj3prLLWtZK /R1IfI7/tUxWgMKJsPCtdjn4ndqRIv557reiscdUif983fSUFYa6zoE906SraF8ztIbiXd bLmedH1oBdMNgV50iGBUIDuuulT8OTK47h5PWlsZmLNKethKG6BBYybVH3ZRBtFU8B8UEA gIo9Ma1A1BRtrvp1z6LCf6DiCNSZ58znvPy6ImSVqeO3WGCuarX3gLRPCmbSzu9IUKEeiY TBwWIkYW9yaqKVMg1HE48ik+MJJpe6FXAtroj4xX5J7EccQL91cIUvIfgUpQvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mdt5HlQpI124TdYefIqJDa2+bDcdY2RAH6q9NNl6UgM=; b=ZZ9hiNtKTah+1SrTkH8QX+7qE5cAhxlBRxmrvFpKYRDdEB8wDdZ/3kB3tWOAsABM//p0lI dI+hlpxytwMXFDGLQDPC82eaS0yulBsLoSD6q7xmCJikAsNe2qDBFoZg1qSezS3GaXoSN5 jZnXolSWgV5wtcPSTCI4smXJj+K39JavOXwL0tCAVP48gK8pdGba2Y/4HjXabJ316WQItT fkg8Wy95tj6mBGANqgp1Okw3/rrReIegEbB4rEdMmZ14bKkyTvg/57qx9HrL8Nl9Ixj9PB jGFATdnTV7gQNNg8FKalAsZYcVEC6aVvX16qyOE/rxcs0VX9GKBRLeS11+uROw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598178; a=rsa-sha256; cv=none; b=n+XM/0uLVwEiKih52Us+T4OeteSrOHSpJD7Xb/tcTgSJ4Tb3SEoReZ4mdc/7jqIwCal68K fLBnijBkuM7Z2TXNtvHJrYl14XI7Q3UfODoGuj23lySYqscb7LIVj6AA65t0KGQC1Rbrxi CQX76Pk6FPIL78kZLXxETdPDihQ0A8FRIxiU3j2sewiIXNmvGCX5jdGGJHeq5k/+uhC8LC 1A0kREB56MDKT5Vnn1/yJJ6AZOoJ9NNkNzGp/yf1HySv5NW1Tt0Q4+Wo8UAeLqcupyv9yj RVTAGSHdlH7n5k2eDKou+wkPSMqRa/fx3vfdnNE+swqF4F3uVFUmNeoJrOUyAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3644VzzQF5; Tue, 24 Jan 2023 22:09:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9c8f070439; Tue, 24 Jan 2023 22:09:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9cXq070437; Tue, 24 Jan 2023 22:09:38 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:38 GMT Message-Id: <202301242209.30OM9cXq070437@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: 50ceb4089843 - stable/13 - stand/amd64: remove unused addr parameter from bi_load64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 50ceb408984322133cec4e9627a86315a9d84ff4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=50ceb408984322133cec4e9627a86315a9d84ff4 commit 50ceb408984322133cec4e9627a86315a9d84ff4 Author: Roger Pau Monné AuthorDate: 2021-01-29 11:29:37 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:15 +0000 stand/amd64: remove unused addr parameter from bi_load64 All callers of bi_load64 pass 0 as the addr parameter, so just remove it and always calculate the last load address from the module chain. No functional change. Sponsored by: Citrix Systems R&D Reviewed by: tsoome, imp Differential revision: https://reviews.freebsd.org/D28412 (cherry picked from commit 45ecda8ebf80bb341aa3b4955810518ae6fab158) --- stand/i386/libi386/bootinfo64.c | 14 +++++++------- stand/i386/libi386/elf64_freebsd.c | 2 +- stand/i386/libi386/libi386.h | 2 +- stand/i386/libi386/multiboot.c | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index 9f038f2a4f2b..1ffa4188d926 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -182,7 +182,7 @@ bi_checkcpu(void) * - Module metadata are formatted and placed in kernel space. */ int -bi_load64(char *args, vm_offset_t addr, vm_offset_t *modulep, +bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, int add_smap) { struct preloaded_file *xp, *kfp; @@ -191,6 +191,7 @@ bi_load64(char *args, vm_offset_t addr, vm_offset_t *modulep, uint64_t kernend; uint64_t envp; uint64_t module; + uint64_t addr; vm_offset_t size; char *rootdevname; int howto; @@ -217,12 +218,11 @@ bi_load64(char *args, vm_offset_t addr, vm_offset_t *modulep, /* Try reading the /etc/fstab file to select the root device */ getrootmount(i386_fmtdev((void *)rootdev)); - if (addr == 0) { - /* find the last module in the chain */ - for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { - if (addr < (xp->f_addr + xp->f_size)) - addr = xp->f_addr + xp->f_size; - } + addr = 0; + /* find the last module in the chain */ + for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { + if (addr < (xp->f_addr + xp->f_size)) + addr = xp->f_addr + xp->f_size; } /* pad to a page boundary */ addr = roundup(addr, PAGE_SIZE); diff --git a/stand/i386/libi386/elf64_freebsd.c b/stand/i386/libi386/elf64_freebsd.c index 6bf884045eea..1108a9e4d713 100644 --- a/stand/i386/libi386/elf64_freebsd.c +++ b/stand/i386/libi386/elf64_freebsd.c @@ -80,7 +80,7 @@ elf64_exec(struct preloaded_file *fp) return(EFTYPE); ehdr = (Elf_Ehdr *)&(md->md_data); - err = bi_load64(fp->f_args, 0, &modulep, &kernend, 1); + err = bi_load64(fp->f_args, &modulep, &kernend, 1); if (err != 0) return(err); diff --git a/stand/i386/libi386/libi386.h b/stand/i386/libi386/libi386.h index dbd6565f8d1c..a52a1190e7ec 100644 --- a/stand/i386/libi386/libi386.h +++ b/stand/i386/libi386/libi386.h @@ -151,7 +151,7 @@ void bi_setboothowto(int howto); vm_offset_t bi_copyenv(vm_offset_t addr); int bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t *modulep, vm_offset_t *kernend); -int bi_load64(char *args, vm_offset_t addr, vm_offset_t *modulep, +int bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernend, int add_smap); void pxe_enable(void *pxeinfo); diff --git a/stand/i386/libi386/multiboot.c b/stand/i386/libi386/multiboot.c index 71fd63bb4c88..2d0a4a9b2274 100644 --- a/stand/i386/libi386/multiboot.c +++ b/stand/i386/libi386/multiboot.c @@ -274,7 +274,7 @@ multiboot_exec(struct preloaded_file *fp) bzero(mb_mod, sizeof(struct multiboot_mod_list) * NUM_MODULES); - error = bi_load64(fp->f_args, 0, &modulep, &kernend, 0); + error = bi_load64(fp->f_args, &modulep, &kernend, 0); if (error != 0) { printf("bi_load64 failed: %d\n", error); goto error; From nobody Tue Jan 24 22:09:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3765nsz3bdYx; Tue, 24 Jan 2023 22:09: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 4P1h375gyHz4GWB; Tue, 24 Jan 2023 22:09:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLAR8NxiHtcN/mOx97b4OHa3QLS66+RvY8VgTxFgJ4I=; b=LxKcpsmcpPRqq2p6681PD0wcBZoV5VfD18OOMTHsro45r8xIi0c4dP15H6ERhcSCVB5dLB Gur8oQzSFgt5G5kENBpkddlmsJgLNAa8GjbMFucJ2n1NA05431WiPIJlEpFR8awFPyUVmE A9wWzo9SaGBPHcq5EOeg/rErT3f8u7iTOCA2ZwqqbznoTWAtu9QIlL1wl0fWMZRwUEscDN MMUPp1x2vI/R08ibRaDXhkZ4uduaXaK1vB8cBWxBise333BIlNt7wZivV1fTfK2M4bPcgd X+aT1V6xjlN5kUQDPEVktCE5VQ0Y6ozCpKEzdscfHRLVVo4bgmaXT2gpxJHgmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLAR8NxiHtcN/mOx97b4OHa3QLS66+RvY8VgTxFgJ4I=; b=WgCqfNh/MMTiVAm5BUFufHPabjqf3S9GVqlpIDvUkaRMztkoq5YJKfdkhegMa1cJJYV7uA xOgfqf2eobzxz2ttxRvWuOnyvHwGbOSggvy8CXQQrePqQZQJEXtRKMc4VEs/Fk+OOsNy1P yAjU7W2E2xIVIlsjo+LRWUIsOCGN3IgrVMDm/rT7S/m0SILLEQqfcexHpnGi/yeDfteilt YV8Xdx66EC/CDGHo+8ksmQNIt3I3ZZBGy+I3cJAFuhIdRKe1MQ8nAyhy322lVJ3xBLNFlj PsWR00dFu45utL8WIMFsZn/ziG1lbG71kd5HWq/gEEpjemfjUt6N9y0rF62jwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598179; a=rsa-sha256; cv=none; b=KOZvWikkAa5IIu0iOm6fICw+Y+Cju6A8s4dMuS4iOiv35hsoMUHTgUTJVuZIsgTmOKC1yE mu/yeyKDAkiMKnswpJqDlmWiFzkMvo52sYvSv2TABc4CUCzRVV9rL9N5uN3x4Q724VEYxA 9oZFJtgoQFDWYM7lwE/7zClN04yUIHkfgbfoCAhhFWQAMyOcBFWOaFueYoyjbrXp5SGmHG hRS8LiNcXwV1cBupoLp/G/LZv/MtafA7IrgRpgQV5HdEzisWQQHuqt8mbqbqPN4kM3PWZm vL6n/R5S7kO5nVNIOTSpWWrTCPeGbR8VXEFUgypaTMAF9kq4qAZAILdbYZQA6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h374m2TzQT3; Tue, 24 Jan 2023 22:09:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9dOD070468; Tue, 24 Jan 2023 22:09:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9dtu070467; Tue, 24 Jan 2023 22:09:39 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:39 GMT Message-Id: <202301242209.30OM9dtu070467@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: b38b585da053 - stable/13 - stand/efi: allow not exiting boot services List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b38b585da0533b47c9545d239d6fca28cf673cac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b38b585da0533b47c9545d239d6fca28cf673cac commit b38b585da0533b47c9545d239d6fca28cf673cac Author: Roger Pau Monné AuthorDate: 2021-02-05 10:15:19 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:15 +0000 stand/efi: allow not exiting boot services Xen requires that UEFI BootServices are enabled in order to boot, so introduce a new parameter to bi_load in order to select whether BS should be exited. No functional change introduced in this patch, as all current users of bi_load request BS to be exited. Further changes will make use of this functionality. Note the memory map is still appended to the kernel metadata, even when it could be modified by further calls to the Boot Services, as it will be used to detect if the kernel has been booted from UEFI. Sponsored by: Citrix Systems R&D Reviewed by: tsoome, imp Differential revision: https://reviews.freebsd.org/D28495 (cherry picked from commit ed87efbe24a5734c7150153cf201f3db42b6ddab) --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 5 +++-- stand/efi/loader/arch/arm/exec.c | 4 ++-- stand/efi/loader/arch/arm64/exec.c | 5 +++-- stand/efi/loader/arch/i386/elf32_freebsd.c | 5 +++-- stand/efi/loader/arch/riscv/exec.c | 4 ++-- stand/efi/loader/bootinfo.c | 13 ++++++++----- 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 7aa5735e0cfc..354f86f090ce 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -54,7 +54,8 @@ __FBSDID("$FreeBSD$"); static EFI_GUID acpi_guid = ACPI_TABLE_GUID; static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; -extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp); +extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); @@ -269,7 +270,7 @@ elf64_exec(struct preloaded_file *fp) printf("Start @ 0x%lx ...\n", ehdr->e_entry); efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend); + err = bi_load(fp->f_args, &modulep, &kernend, true); if (err != 0) { efi_time_init(); if (copy_auto) diff --git a/stand/efi/loader/arch/arm/exec.c b/stand/efi/loader/arch/arm/exec.c index 86c931bcbbe8..a110f3d07cbc 100644 --- a/stand/efi/loader/arch/arm/exec.c +++ b/stand/efi/loader/arch/arm/exec.c @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); #include "loader_efi.h" extern vm_offset_t md_load(char *, vm_offset_t *); -extern int bi_load(char *, vm_offset_t *, vm_offset_t *); +extern int bi_load(char *, vm_offset_t *, vm_offset_t *, bool); static int __elfN(arm_load)(char *filename, uint64_t dest, @@ -80,7 +80,7 @@ __elfN(arm_exec)(struct preloaded_file *fp) printf("Kernel entry at %p...\n", entry); printf("Kernel args: %s\n", fp->f_args); - if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) { + if ((error = bi_load(fp->f_args, &modulep, &kernend, true)) != 0) { efi_time_init(); return (error); } diff --git a/stand/efi/loader/arch/arm64/exec.c b/stand/efi/loader/arch/arm64/exec.c index a3021083dc08..6cf4a4fd8e4d 100644 --- a/stand/efi/loader/arch/arm64/exec.c +++ b/stand/efi/loader/arch/arm64/exec.c @@ -55,7 +55,8 @@ static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); -int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp); +int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); static struct file_format arm64_elf = { elf64_loadfile, @@ -114,7 +115,7 @@ elf64_exec(struct preloaded_file *fp) entry = efi_translate(ehdr->e_entry); efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernendp); + err = bi_load(fp->f_args, &modulep, &kernendp, true); if (err != 0) { efi_time_init(); return (err); diff --git a/stand/efi/loader/arch/i386/elf32_freebsd.c b/stand/efi/loader/arch/i386/elf32_freebsd.c index 847d6eead097..97d114f09610 100644 --- a/stand/efi/loader/arch/i386/elf32_freebsd.c +++ b/stand/efi/loader/arch/i386/elf32_freebsd.c @@ -43,7 +43,8 @@ __FBSDID("$FreeBSD$"); #include "../btx/lib/btxv86.h" extern void __exec(caddr_t addr, ...); -extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp); +extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); static int elf32_exec(struct preloaded_file *amp); static int elf32_obj_exec(struct preloaded_file *amp); @@ -80,7 +81,7 @@ elf32_exec(struct preloaded_file *fp) printf("Start @ 0x%x ...\n", entry); - err = bi_load(fp->f_args, &modulep, &kernend); + err = bi_load(fp->f_args, &modulep, &kernend, true); if (err != 0) { efi_time_init(); return(err); diff --git a/stand/efi/loader/arch/riscv/exec.c b/stand/efi/loader/arch/riscv/exec.c index fe40003a475b..c7d90a4f31d0 100644 --- a/stand/efi/loader/arch/riscv/exec.c +++ b/stand/efi/loader/arch/riscv/exec.c @@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "loader_efi.h" -extern int bi_load(char *, vm_offset_t *, vm_offset_t *); +extern int bi_load(char *, vm_offset_t *, vm_offset_t *, bool); static int __elfN(exec)(struct preloaded_file *fp) @@ -66,7 +66,7 @@ __elfN(exec)(struct preloaded_file *fp) printf("Kernel entry at %p...\n", entry); printf("Kernel args: %s\n", fp->f_args); - if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) { + if ((error = bi_load(fp->f_args, &modulep, &kernend, true)) != 0) { efi_time_init(); return (error); } diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index b560bf268aad..1a6de233b8cf 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -60,7 +60,8 @@ __FBSDID("$FreeBSD$"); #include "geliboot.h" #endif -int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp); +int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); extern EFI_SYSTEM_TABLE *ST; @@ -284,7 +285,7 @@ efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) } static int -bi_load_efi_data(struct preloaded_file *kfp) +bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) { EFI_MEMORY_DESCRIPTOR *mm; EFI_PHYSICAL_ADDRESS addr = 0; @@ -393,7 +394,9 @@ bi_load_efi_data(struct preloaded_file *kfp) sz = (EFI_PAGE_SIZE * pages) - efisz; } - status = efi_exit_boot_services(efi_mapkey); + if (!exit_bs) + break; + status = BS->ExitBootServices(IH, efi_mapkey); if (!EFI_ERROR(status)) break; } @@ -431,7 +434,7 @@ bi_load_efi_data(struct preloaded_file *kfp) * - Module metadata are formatted and placed in kernel space. */ int -bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) +bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) { struct preloaded_file *xp, *kfp; struct devdesc *rootdev; @@ -530,7 +533,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) #ifdef LOADER_GELI_SUPPORT geli_export_key_metadata(kfp); #endif - bi_load_efi_data(kfp); + bi_load_efi_data(kfp, exit_bs); /* Figure out the size and location of the metadata. */ *modulep = addr; From nobody Tue Jan 24 22:09:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h391T9Jz3bdRK; Tue, 24 Jan 2023 22:09: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 4P1h39059Gz4GYc; Tue, 24 Jan 2023 22:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vH2rC+WXzJ7nyBCiKiBUdY3SgCx9787BzjrC/WyH8iU=; b=e3KGcRdonQnGJ4ZFFr9RuM2GoEoHBcLP6HxRSK1l+uKffTkwzZ+UE3DZ6gx4wisEaBIOgl 9Z4uu4tuQ4NvB41J8AyHxEWXByi67axxCpOTbqJ8NFEaWfbqHzFi+MCfJ4hd6/LQz2yuNv /7y0Be0zPnjKXR52ilOM3e702VjVvqAd5VLpizwjxn0vVf9YjI0+ZsV8iGtcRdtHmxQEBe aSmM55cLwtFRBT1eliVsu2nm7JRRapbiW/rRfVOFwrETSpI8l6yF+fFx2WxrsQrmzY3kvj yjaZ/pb5D2g7+c0NIM6IFhoSdfY3rCrL065f5Jgiw4rhdBxtJjAbmXyHqgUWuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vH2rC+WXzJ7nyBCiKiBUdY3SgCx9787BzjrC/WyH8iU=; b=I0V6tg9H0en/m9XIZWbeBvMtrK98aSPBp40INOhPjgiS6rWaGezLYr7JJEUie33gQMLo2j +NZO7R1fi8VFBzoFx41AvnaVPLqweWAwTmRmwxP6JPOqdm0hlMJWcHRw7GPel1Fxo/zePO wC0plRA5dl3jJdKaRiXVkOAd1u2wX/1DY1ilwAeEdpLpyNLxjBjV7wk9WoY/UJPco89Isc RX25UAgT0576UNCKUIRlPHlD07Q/mf1aDkjLthfkbbFVP8g8yHKNcgnC6ONvsO4r0yliOj i0W2cc78Dt0eTMXIucueRJ6Y+1GqhKAvTG9kodYGZtHbd0O0MR9esEvUa25uoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598181; a=rsa-sha256; cv=none; b=Nd/tl4Uo1hL9DjhKfKTzopnlxBGLLvjOd9TJnCJ2YG0uUbJ2SyHMEi0B1PyiO82LknLtVn Z/ClvIy+AxQy2ACJZppbAeHv820Or19JnRE5p7BnjF8PF2XhWtp64//SwVNbwGLNTUEMvf i41fs0c7OhKlLPLEiJ63qAI7goc+1Kh/aZ6dDLqQ3Fq63cGy2E1PDNKg5+x6u+igrl0p2G ty+QGVr/nHfrC9szCnc5xr252LO/8L13sM69InEIFAQAL1dfJvQtSR+OzqmyEpf0j4VI/q XhZx0RVJ82qqAnEauf/onak2l3uBjiKBf7gKstz7qazq78ffmOrldoZO4hG9Rw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h385hqyzQT4; Tue, 24 Jan 2023 22:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9eZf070492; Tue, 24 Jan 2023 22:09:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9eft070491; Tue, 24 Jan 2023 22:09:40 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:40 GMT Message-Id: <202301242209.30OM9eft070491@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: 8f6f1e27fd18 - stable/13 - stand/efi: add modulep to kernel metadata List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8f6f1e27fd187622edcbd7c8d3b36ffa6bbdba70 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8f6f1e27fd187622edcbd7c8d3b36ffa6bbdba70 commit 8f6f1e27fd187622edcbd7c8d3b36ffa6bbdba70 Author: Roger Pau Monné AuthorDate: 2021-02-05 10:11:36 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 stand/efi: add modulep to kernel metadata This mirrors the functionality of the BIOS amd64 bi_load function, that stashes the absolute address of the module metadata. This is required for booting as a Xen dom0 that does relocate the modulep and the loaded modules, and thus requires adjusting the offset. No functional change introduced, further patches will make use of this functionality for Xen dom0 loading. Sponsored by: Citrix Systems R&D Reviewed by: imp Differential revision: https://reviews.freebsd.org/D28496 (cherry picked from commit 7d3259775cb69f250df3e7fe51d6fff2283c6f20) --- stand/efi/loader/bootinfo.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 1a6de233b8cf..74be4f8f5d74 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -440,7 +440,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) struct devdesc *rootdev; struct file_metadata *md; vm_offset_t addr; - uint64_t kernend; + uint64_t kernend, module; uint64_t envp; vm_offset_t size; char *rootdevname; @@ -519,6 +519,10 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) if (kfp == NULL) panic("can't find kernel file"); kernend = 0; /* fill it in later */ + + /* Figure out the size and location of the metadata. */ + module = *modulep = addr; + file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof(howto), &howto); file_addmetadata(kfp, MODINFOMD_ENVP, sizeof(envp), &envp); #if defined(LOADER_FDT_SUPPORT) @@ -529,14 +533,13 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) "device tree blob found!\n"); #endif file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof(kernend), &kernend); + file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); #ifdef LOADER_GELI_SUPPORT geli_export_key_metadata(kfp); #endif bi_load_efi_data(kfp, exit_bs); - /* Figure out the size and location of the metadata. */ - *modulep = addr; size = bi_copymodules(0); kernend = roundup(addr + size, PAGE_SIZE); *kernendp = kernend; From nobody Tue Jan 24 22:09:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3B0CrSz3bdfm; Tue, 24 Jan 2023 22:09: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 4P1h396yMlz4GNK; Tue, 24 Jan 2023 22:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+DGHP3IdmwzjbcwTU6VZsAozb8RiNd3huzskmxzrtw=; b=xQVUnFt9QPuPzA1c/95fCXa3wGH0j1UEkgnjgC3d2A0bBHAtvGwsYYPcNQdPEUYoqXD7j7 KJhGT0hfwAzdXb+9qDF9ECoKU9X5j3Zam/fz25VEf0u3r/oXiYvxGHj0HIwjkF6zbqjKa5 6C3Nz7bzvzRUlioy/TuLs9bHZBUm4iRf9CtFZ1U2IDTyQOp9MzuJKL7jeT/JQiVPqg846T kW2hP6m6uSA/LZ+j4/F5vx5rzNIIy5cwTQw7V577kS+Eah/RliXUc+MXsOKgoFPsE9NKfJ GeM2TXDwGXZ06uwCfaJ101Pfl+cbmIXscex3OBc8l//gFuXpMboqhNjP0ej70w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+DGHP3IdmwzjbcwTU6VZsAozb8RiNd3huzskmxzrtw=; b=Lf+Rd2TcfdUVwAnOJ3bKKqOYzMQDZ4eR8s/tj0yaYWXGpnkA+dRoKSXT5IbPp1rexap9VS xlBh14u88wcTtiFfNoVQWtlSgmJKKmkTqgWeb9VpNCj4XvM8k2KbTPV8SQG8P8jNMdzB9u u6UfEekwuFRD987N7pxzHpi/o4csCb7KDoNfJ3o3HYKu+tgpuDJj+grLJ78qHU7Ryv37rM 4HT4wWYZWfbrZ7Z84mIbaL40IGOHog/xArtohwtMuN9X7NXqkyKivA2LZG/Oc0LMyo44V4 kX7P1nA9lR5T98kTO/CTqpmrINylY5PxdBZVC1xSTv2kqmjOfcgq1IBrxmZ7Jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598181; a=rsa-sha256; cv=none; b=mqsZ/njEeSY/RO40Ur+hqQMeV+GyOk2MXNQ9yI+ECrFfw82aHfk9YRhUxqAB9a3brrHwWE tD9zMrvz/YQfDKCozwtjreXQ0mvkHtaORg2uGib9wNaduFHMuYaEmp/NU1GAydrosjvMSV cZ0q4cbVXzFMPCXlQfRspIfx06wHs63lFhsOj58dRa8u7KUdqd/VxjDjEZ1Ij3ebRHNPEW z17tVKpDErmW1wFZ7wEzpQ1YbVKDG2lTT19dW0SyDNJTpuBVi7p0ggjT6Ao1dEmXC9SAzb t8OOmZcE1F96gFO5b3a9mhnDFLi2JrT1UeraRiyalgOtCRyabO2t9p8RAsYSJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h39619tzQ19; Tue, 24 Jan 2023 22:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9fiT070527; Tue, 24 Jan 2023 22:09:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9fbk070526; Tue, 24 Jan 2023 22:09:41 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:41 GMT Message-Id: <202301242209.30OM9fbk070526@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: 39917afeed9d - stable/13 - stand/multiboot2: add support for booting a Xen dom0 in UEFI mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39917afeed9de5f01445f9a08b8aec22153387a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=39917afeed9de5f01445f9a08b8aec22153387a0 commit 39917afeed9de5f01445f9a08b8aec22153387a0 Author: Roger Pau Monné AuthorDate: 2021-01-27 11:23:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 stand/multiboot2: add support for booting a Xen dom0 in UEFI mode Add some basic multiboot2 infrastructure to the EFI loader in order to be capable of booting a FreeBSD/Xen dom0 when booted from UEFI. Only a very limited subset of the multiboot2 protocol is implemented in order to support enough to boot into Xen, the implementation doesn't intend to be a full multiboot2 capable implementation. Such multiboot2 functionality is hooked up into the amd64 EFI loader, which is the only architecture that supports Xen dom0 on FreeBSD. The options to boot a FreeBSD/Xen dom0 system are exactly the same as on BIOS, and requires setting the xen_kernel and xen_cmdline options in loader.conf. Sponsored by: Citrix Systems R&D Reviewed by: tsoome, imp Differential revision: https://reviews.freebsd.org/D28497 (cherry picked from commit adda2797eb2a29487fe26640a9c990fea7e6585d) stand/multiboot2: fix error message format Add a missing space in one error message. Sponsored by: Citrix Systems R&D MFC after: 3 days Fixes: adda2797eb2a ('stand/multiboot2: add support for booting a Xen dom0 in UEFI mode') (cherry picked from commit ab379c15af6fd7c2b94f0e91769fe7e1a4102e25) stand/multiboot2: fix header length check Check whether we have reached the end of the buffer using search_size instead of MULTIBOOT_SEARCH, which is the maximum defined by the specification, but the file can be shorter than that. This prevents printing a harmless error message when loading a file that is smaller than MULTIBOOT_SEARCH. Sponsored by: Citrix Systems R&D MFC after: 3 days Fixes: adda2797eb2a ('stand/multiboot2: add support for booting a Xen dom0 in UEFI mode') (cherry picked from commit 0eaa97f0e8629bcf678ff4de2678e4cba00f1c91) --- stand/efi/loader/arch/amd64/Makefile.inc | 1 + stand/efi/loader/arch/amd64/amd64_tramp.S | 12 + stand/efi/loader/arch/amd64/elf64_freebsd.c | 5 + stand/efi/loader/arch/amd64/multiboot2.c | 567 ++++++++++++++++++++++++++++ stand/efi/loader/arch/amd64/multiboot2.h | 416 ++++++++++++++++++++ sys/sys/linker.h | 1 + 6 files changed, 1002 insertions(+) diff --git a/stand/efi/loader/arch/amd64/Makefile.inc b/stand/efi/loader/arch/amd64/Makefile.inc index f64adf08ec13..0d9e2648cb59 100644 --- a/stand/efi/loader/arch/amd64/Makefile.inc +++ b/stand/efi/loader/arch/amd64/Makefile.inc @@ -4,6 +4,7 @@ SRCS+= amd64_tramp.S \ start.S \ elf64_freebsd.c \ trap.c \ + multiboot2.c \ exc.S .PATH: ${BOOTSRC}/i386/libi386 diff --git a/stand/efi/loader/arch/amd64/amd64_tramp.S b/stand/efi/loader/arch/amd64/amd64_tramp.S index c102d9243589..877705407f92 100644 --- a/stand/efi/loader/arch/amd64/amd64_tramp.S +++ b/stand/efi/loader/arch/amd64/amd64_tramp.S @@ -30,6 +30,9 @@ #include +#define ASM_FILE +#include "multiboot2.h" + .text .globl amd64_tramp @@ -58,6 +61,15 @@ amd64_tramp: ALIGN_TEXT amd64_tramp_end: +/* void multiboot2_exec(uint64_t entry, uint64_t multiboot_info, uint64_t stack) */ + .globl multiboot2_exec +multiboot2_exec: + movq %rdx,%rsp + pushq %rdi + movq %rsi,%rbx + movq $MULTIBOOT2_BOOTLOADER_MAGIC,%rax + ret + .data .globl amd64_tramp_size amd64_tramp_size: diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 354f86f090ce..4bdf675cd5a3 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -69,7 +69,12 @@ static struct file_format amd64_elf_obj = { .l_exec = elf64_obj_exec, }; +extern struct file_format multiboot2; +extern struct file_format multiboot2_obj; + struct file_format *file_formats[] = { + &multiboot2, + &multiboot2_obj, &amd64_elf, &amd64_elf_obj, NULL diff --git a/stand/efi/loader/arch/amd64/multiboot2.c b/stand/efi/loader/arch/amd64/multiboot2.c new file mode 100644 index 000000000000..4d7b2713685d --- /dev/null +++ b/stand/efi/loader/arch/amd64/multiboot2.c @@ -0,0 +1,567 @@ +/*- + * Copyright (c) 2021 Roger Pau Monné + * 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. + */ + +/* + * This multiboot2 implementation only implements a subset of the full + * multiboot2 specification in order to be able to boot Xen and a + * FreeBSD Dom0. Trying to use it to boot other multiboot2 compliant + * kernels will most surely fail. + * + * The full multiboot specification can be found here: + * https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html + */ + +#include + +#include +#include +#include +#include +#include +#define _MACHINE_ELF_WANT_32BIT +#include +#include +#include +#include + +#include +#include + +#include "bootstrap.h" +#include "multiboot2.h" +#include "loader_efi.h" + +extern int elf32_loadfile_raw(char *filename, uint64_t dest, + struct preloaded_file **result, int multiboot); +extern int elf64_load_modmetadata(struct preloaded_file *fp, uint64_t dest); +extern int elf64_obj_loadfile(char *filename, uint64_t dest, + struct preloaded_file **result); +extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); + +extern void multiboot2_exec(void *entry, uint64_t multiboot_info, + uint64_t stack); + +/* + * Multiboot2 header information to pass between the loading and the exec + * functions. + */ +struct mb2hdr { + uint32_t efi64_entry; +}; + +static int +loadfile(char *filename, uint64_t dest, struct preloaded_file **result) +{ + unsigned int i; + int error, fd; + void *header_search = NULL; + void *multiboot = NULL; + ssize_t search_size; + struct multiboot_header *header; + char *cmdline; + struct mb2hdr hdr; + bool keep_bs = false; + + /* + * Read MULTIBOOT_SEARCH size in order to search for the + * multiboot magic header. + */ + if (filename == NULL) + return (EFTYPE); + if ((fd = open(filename, O_RDONLY)) == -1) + return (errno); + header_search = malloc(MULTIBOOT_SEARCH); + if (header_search == NULL) { + error = ENOMEM; + goto out; + } + search_size = read(fd, header_search, MULTIBOOT_SEARCH); + + for (i = 0; i < search_size; i += MULTIBOOT_HEADER_ALIGN) { + header = header_search + i; + if (header->magic == MULTIBOOT2_HEADER_MAGIC) + break; + } + + if (i >= search_size) { + error = EFTYPE; + goto out; + } + + /* Valid multiboot header has been found, validate checksum */ + if (header->magic + header->architecture + header->header_length + + header->checksum != 0) { + printf("Multiboot checksum failed, magic: %#x " + "architecture: %#x header_length %#x checksum: %#x\n", + header->magic, header->architecture, header->header_length, + header->checksum); + error = EFTYPE; + goto out; + } + + if (header->architecture != MULTIBOOT2_ARCHITECTURE_I386) { + printf("Unsupported architecture: %#x\n", + header->architecture); + error = EFTYPE; + goto out; + } + + multiboot = malloc(header->header_length - sizeof(*header)); + error = lseek(fd, i + sizeof(*header), SEEK_SET); + if (error != i + sizeof(*header)) { + printf("Unable to set file pointer to header location: %d\n", + error); + goto out; + } + search_size = read(fd, multiboot, + header->header_length - sizeof(*header)); + + bzero(&hdr, sizeof(hdr)); + for (i = 0; i < search_size; ) { + struct multiboot_header_tag *tag; + struct multiboot_header_tag_entry_address *entry; + struct multiboot_header_tag_information_request *req; + unsigned int j; + + tag = multiboot + i; + + switch(tag->type) { + case MULTIBOOT_HEADER_TAG_INFORMATION_REQUEST: + req = (void *)tag; + for (j = 0; + j < (tag->size - sizeof(*tag)) / sizeof(uint32_t); + j++) { + switch (req->requests[j]) { + case MULTIBOOT_TAG_TYPE_MMAP: + case MULTIBOOT_TAG_TYPE_BASIC_MEMINFO: + /* Only applicable to BIOS. */ + break; + + case MULTIBOOT_TAG_TYPE_EFI_BS: + case MULTIBOOT_TAG_TYPE_EFI64: + case MULTIBOOT_TAG_TYPE_EFI64_IH: + /* Tags unconditionally added. */ + break; + + default: + if (req->flags & + MULTIBOOT_HEADER_TAG_OPTIONAL) + break; + + printf( + "Unknown non-optional information request %u\n", + req->requests[j]); + error = EINVAL; + goto out; + } + } + break; + + case MULTIBOOT_HEADER_TAG_EFI_BS: + /* Never shut down BS. */ + keep_bs = true; + break; + + case MULTIBOOT_HEADER_TAG_MODULE_ALIGN: + /* We will align modules by default already. */ + case MULTIBOOT_HEADER_TAG_END: + break; + + case MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS_EFI64: + entry = (void *)tag; + hdr.efi64_entry = entry->entry_addr; + break; + + default: + if (tag->flags & MULTIBOOT_HEADER_TAG_OPTIONAL) + break; + printf("Unknown header tag %#x not optional\n", + tag->type); + error = EINVAL; + goto out; + } + + i += roundup2(tag->size, MULTIBOOT_TAG_ALIGN); + if (tag->type == MULTIBOOT_HEADER_TAG_END) + break; + } + + if (hdr.efi64_entry == 0) { + printf("No EFI64 entry address provided\n"); + error = EINVAL; + goto out; + } + if (!keep_bs) { + printf("Unable to boot MB2 with BS exited\n"); + error = EINVAL; + goto out; + } + + error = elf32_loadfile_raw(filename, dest, result, 1); + if (error != 0) { + printf( + "elf32_loadfile_raw failed: %d unable to load multiboot kernel\n", + error); + goto out; + } + + file_addmetadata(*result, MODINFOMD_NOCOPY | MODINFOMD_MB2HDR, + sizeof(hdr), &hdr); + + /* + * f_addr is already aligned to PAGE_SIZE, make sure + * f_size it's also aligned so when the modules are loaded + * they are aligned to PAGE_SIZE. + */ + (*result)->f_size = roundup((*result)->f_size, PAGE_SIZE); + +out: + if (header_search != NULL) + free(header_search); + if (multiboot != NULL) + free(multiboot); + close(fd); + return (error); +} + +static unsigned int add_string(void *buf, unsigned int type, const char *str) +{ + struct multiboot_tag *tag; + + tag = buf; + tag->type = type; + tag->size = sizeof(*tag) + strlen(str) + 1; + strcpy(buf + sizeof(*tag), str); + return (roundup2(tag->size, MULTIBOOT_TAG_ALIGN)); +} + +static unsigned int add_efi(void *buf) +{ + struct multiboot_tag *bs; + struct multiboot_tag_efi64 *efi64; + struct multiboot_tag_efi64_ih *ih; + unsigned int len; + + len = 0; + bs = buf; + bs->type = MULTIBOOT_TAG_TYPE_EFI_BS; + bs->size = sizeof(*bs); + len += roundup2(bs->size, MULTIBOOT_TAG_ALIGN); + + efi64 = buf + len; + efi64->type = MULTIBOOT_TAG_TYPE_EFI64; + efi64->size = sizeof(*efi64); + efi64->pointer = (uintptr_t)ST; + len += roundup2(efi64->size, MULTIBOOT_TAG_ALIGN); + + ih = buf + len; + ih->type = MULTIBOOT_TAG_TYPE_EFI64_IH; + ih->size = sizeof(*ih); + ih->pointer = (uintptr_t)IH; + + return (len + roundup2(ih->size, MULTIBOOT_TAG_ALIGN)); +} + +static unsigned int add_module(void *buf, vm_offset_t start, vm_offset_t end, + const char *cmdline) +{ + struct multiboot_tag_module *mod; + + mod = buf; + mod->type = MULTIBOOT_TAG_TYPE_MODULE; + mod->size = sizeof(*mod); + mod->mod_start = start; + mod->mod_end = end; + if (cmdline != NULL) + { + strcpy(buf + sizeof(*mod), cmdline); + mod->size += strlen(cmdline) + 1; + } + + return (roundup2(mod->size, MULTIBOOT_TAG_ALIGN)); +} + +static unsigned int add_end(void *buf) +{ + struct multiboot_tag *tag; + + tag = buf; + tag->type = MULTIBOOT_TAG_TYPE_END; + tag->size = sizeof(*tag); + + return (roundup2(tag->size, MULTIBOOT_TAG_ALIGN)); +} + +static int +exec(struct preloaded_file *fp) +{ + EFI_PHYSICAL_ADDRESS addr = 0; + EFI_PHYSICAL_ADDRESS stack = 0; + EFI_STATUS status; + void *multiboot_space; + vm_offset_t modulep, kernend, kern_base, + payload_base; + char *cmdline = NULL; + size_t len; + int error; + uint32_t *total_size; + struct file_metadata *md; + struct xen_header header; + struct mb2hdr *hdr; + + + CTASSERT(sizeof(header) <= PAGE_SIZE); + + if ((md = file_findmetadata(fp, + MODINFOMD_NOCOPY | MODINFOMD_MB2HDR)) == NULL) { + printf("Missing Multiboot2 EFI64 entry point\n"); + return(EFTYPE); + } + hdr = (void *)&md->md_data; + + status = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, + EFI_SIZE_TO_PAGES(PAGE_SIZE), &addr); + if (EFI_ERROR(status)) { + printf("Failed to allocate pages for multiboot2 header: %lu\n", + EFI_ERROR_CODE(status)); + error = ENOMEM; + goto error; + } + status = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, + EFI_SIZE_TO_PAGES(128 * 1024), &stack); + if (EFI_ERROR(status)) { + printf("Failed to allocate pages for Xen stack: %lu\n", + EFI_ERROR_CODE(status)); + error = ENOMEM; + goto error; + } + + /* + * Scratch space to build the multiboot2 header. Reserve the start of + * the space to place the header with the size, which we don't know + * yet. + */ + multiboot_space = (void *)(uintptr_t)(addr + sizeof(uint32_t) * 2); + + /* + * Don't pass the memory size found by the bootloader, the memory + * available to Dom0 will be lower than that. + */ + unsetenv("smbios.memory.enabled"); + + /* Set the Xen command line. */ + if (fp->f_args == NULL) { + /* Add the Xen command line if it is set. */ + cmdline = getenv("xen_cmdline"); + if (cmdline != NULL) { + fp->f_args = strdup(cmdline); + if (fp->f_args == NULL) { + error = ENOMEM; + goto error; + } + } + } + if (fp->f_args != NULL) { + len = strlen(fp->f_name) + 1 + strlen(fp->f_args) + 1; + cmdline = malloc(len); + if (cmdline == NULL) { + error = ENOMEM; + goto error; + } + snprintf(cmdline, len, "%s %s", fp->f_name, fp->f_args); + multiboot_space += add_string(multiboot_space, + MULTIBOOT_TAG_TYPE_CMDLINE, cmdline); + free(cmdline); + } + + multiboot_space += add_string(multiboot_space, + MULTIBOOT_TAG_TYPE_BOOT_LOADER_NAME, "FreeBSD Loader"); + multiboot_space += add_efi(multiboot_space); + + /* + * Prepare the multiboot module list, Xen assumes the first + * module is the Dom0 kernel, and the second one is the initramfs. + * This is not optimal for FreeBSD, that doesn't have a initramfs + * but instead loads modules dynamically and creates the metadata + * info on-the-fly. + * + * As expected, the first multiboot module is going to be the + * FreeBSD kernel loaded as a raw file. The second module is going + * to contain the metadata info and the loaded modules. + * + * There's a small header prefixed in the second module that contains + * some information required to calculate the relocated address of + * modulep based on the original offset of modulep from the start of + * the module address. Note other fields might be added to this header + * if required. + * + * Native layout: + * fp->f_addr + fp->f_size + * +---------+----------------+------------+ + * | | | | + * | Kernel | Modules | Metadata | + * | | | | + * +---------+----------------+------------+ + * fp->f_addr modulep kernend + * + * Xen dom0 layout: + * fp->f_addr fp->f_addr + fp->f_size + * +---------+------------+----------------+------------+ + * | | | | | + * | Kernel | xen_header | Modules | Metadata | + * | | | | | + * +---------+------------+----------------+------------+ + * modulep kernend + * \________/\__________________________________________/ + * module 0 module 1 + */ + + fp = file_findfile(NULL, "elf kernel"); + if (fp == NULL) { + printf("No FreeBSD kernel provided, aborting\n"); + error = EINVAL; + goto error; + } + + error = bi_load(fp->f_args, &modulep, &kernend, false); + if (error != 0) + goto error; + + /* + * Note that the Xen kernel requires to be started with BootServices + * enabled, and hence we cannot use efi_copy_finish to relocate the + * loaded data from the staging area to the expected loaded addresses. + * This is fine because the Xen kernel is relocatable, so it can boot + * fine straight from the staging area. We use efi_translate to get the + * staging addresses where the kernels and metadata are currently + * loaded. + */ + kern_base = (uintptr_t)efi_translate(fp->f_addr); + payload_base = kern_base + fp->f_size - PAGE_SIZE; + multiboot_space += add_module(multiboot_space, kern_base, payload_base, + NULL); + multiboot_space += add_module(multiboot_space, payload_base, + (uintptr_t)efi_translate(kernend), "header"); + + header.flags = XENHEADER_HAS_MODULEP_OFFSET; + header.modulep_offset = modulep - (fp->f_addr + fp->f_size - PAGE_SIZE); + archsw.arch_copyin(&header, fp->f_addr + fp->f_size - PAGE_SIZE, + sizeof(header)); + + multiboot_space += add_end(multiboot_space); + total_size = (uint32_t *)(uintptr_t)(addr); + *total_size = (uintptr_t)multiboot_space - addr; + + if (*total_size > PAGE_SIZE) + panic("Multiboot header exceeds fixed size"); + + efi_time_fini(); + dev_cleanup(); + multiboot2_exec(efi_translate(hdr->efi64_entry), addr, + stack + 128 * 1024); + + panic("exec returned"); + +error: + if (addr) + BS->FreePages(addr, EFI_SIZE_TO_PAGES(PAGE_SIZE)); + if (stack) + BS->FreePages(stack, EFI_SIZE_TO_PAGES(128 * 1024)); + return (error); +} + +static int +obj_loadfile(char *filename, uint64_t dest, struct preloaded_file **result) +{ + struct preloaded_file *mfp, *kfp, *rfp; + struct kernel_module *kmp; + int error; + + /* See if there's a multiboot kernel loaded */ + mfp = file_findfile(NULL, "elf multiboot kernel"); + if (mfp == NULL) + return (EFTYPE); + + /* + * We have a multiboot kernel loaded, see if there's a FreeBSD + * kernel loaded also. + */ + kfp = file_findfile(NULL, "elf kernel"); + if (kfp == NULL) { + /* + * No kernel loaded, this must be it. The kernel has to + * be loaded as a raw file, it will be processed by + * Xen and correctly loaded as an ELF file. + */ + rfp = file_loadraw(filename, "elf kernel", 0); + if (rfp == NULL) { + printf( + "Unable to load %s as a multiboot payload kernel\n", + filename); + return (EINVAL); + } + + /* Load kernel metadata... */ + setenv("kernelname", filename, 1); + error = elf64_load_modmetadata(rfp, rfp->f_addr + rfp->f_size); + if (error) { + printf("Unable to load kernel %s metadata error: %d\n", + rfp->f_name, error); + return (EINVAL); + } + + + /* + * Reserve one page at the end of the kernel to place some + * metadata in order to cope for Xen relocating the modules and + * the metadata information. + */ + rfp->f_size = roundup(rfp->f_size, PAGE_SIZE); + rfp->f_size += PAGE_SIZE; + *result = rfp; + } else { + /* The rest should be loaded as regular modules */ + error = elf64_obj_loadfile(filename, dest, result); + if (error != 0) { + printf("Unable to load %s as an object file, error: %d", + filename, error); + return (error); + } + } + + return (0); +} + +static int +obj_exec(struct preloaded_file *fp) +{ + + return (EFTYPE); +} + +struct file_format multiboot2 = { loadfile, exec }; +struct file_format multiboot2_obj = { obj_loadfile, obj_exec }; diff --git a/stand/efi/loader/arch/amd64/multiboot2.h b/stand/efi/loader/arch/amd64/multiboot2.h new file mode 100644 index 000000000000..5693923c014f --- /dev/null +++ b/stand/efi/loader/arch/amd64/multiboot2.h @@ -0,0 +1,416 @@ +/* multiboot2.h - Multiboot 2 header file. */ +/* Copyright (C) 1999,2003,2007,2008,2009,2010 Free Software Foundation, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ANY + * DEVELOPER OR DISTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR + * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef MULTIBOOT_HEADER +#define MULTIBOOT_HEADER 1 + +/* How many bytes from the start of the file we search for the header. */ +#define MULTIBOOT_SEARCH 32768 +#define MULTIBOOT_HEADER_ALIGN 8 + +/* The magic field should contain this. */ +#define MULTIBOOT2_HEADER_MAGIC 0xe85250d6 + +/* This should be in %eax. */ +#define MULTIBOOT2_BOOTLOADER_MAGIC 0x36d76289 + +/* Alignment of multiboot modules. */ +#define MULTIBOOT_MOD_ALIGN 0x00001000 + +/* Alignment of the multiboot info structure. */ +#define MULTIBOOT_INFO_ALIGN 0x00000008 + +/* Flags set in the 'flags' member of the multiboot header. */ + +#define MULTIBOOT_TAG_ALIGN 8 +#define MULTIBOOT_TAG_TYPE_END 0 +#define MULTIBOOT_TAG_TYPE_CMDLINE 1 +#define MULTIBOOT_TAG_TYPE_BOOT_LOADER_NAME 2 +#define MULTIBOOT_TAG_TYPE_MODULE 3 +#define MULTIBOOT_TAG_TYPE_BASIC_MEMINFO 4 +#define MULTIBOOT_TAG_TYPE_BOOTDEV 5 +#define MULTIBOOT_TAG_TYPE_MMAP 6 +#define MULTIBOOT_TAG_TYPE_VBE 7 +#define MULTIBOOT_TAG_TYPE_FRAMEBUFFER 8 +#define MULTIBOOT_TAG_TYPE_ELF_SECTIONS 9 +#define MULTIBOOT_TAG_TYPE_APM 10 +#define MULTIBOOT_TAG_TYPE_EFI32 11 +#define MULTIBOOT_TAG_TYPE_EFI64 12 +#define MULTIBOOT_TAG_TYPE_SMBIOS 13 +#define MULTIBOOT_TAG_TYPE_ACPI_OLD 14 +#define MULTIBOOT_TAG_TYPE_ACPI_NEW 15 +#define MULTIBOOT_TAG_TYPE_NETWORK 16 +#define MULTIBOOT_TAG_TYPE_EFI_MMAP 17 +#define MULTIBOOT_TAG_TYPE_EFI_BS 18 +#define MULTIBOOT_TAG_TYPE_EFI32_IH 19 +#define MULTIBOOT_TAG_TYPE_EFI64_IH 20 +#define MULTIBOOT_TAG_TYPE_LOAD_BASE_ADDR 21 + +#define MULTIBOOT_HEADER_TAG_END 0 +#define MULTIBOOT_HEADER_TAG_INFORMATION_REQUEST 1 +#define MULTIBOOT_HEADER_TAG_ADDRESS 2 +#define MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS 3 +#define MULTIBOOT_HEADER_TAG_CONSOLE_FLAGS 4 +#define MULTIBOOT_HEADER_TAG_FRAMEBUFFER 5 +#define MULTIBOOT_HEADER_TAG_MODULE_ALIGN 6 +#define MULTIBOOT_HEADER_TAG_EFI_BS 7 +#define MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS_EFI64 9 +#define MULTIBOOT_HEADER_TAG_RELOCATABLE 10 + +#define MULTIBOOT2_ARCHITECTURE_I386 0 +#define MULTIBOOT2_ARCHITECTURE_MIPS32 4 +#define MULTIBOOT_HEADER_TAG_OPTIONAL 1 + +#define MULTIBOOT_LOAD_PREFERENCE_NONE 0 +#define MULTIBOOT_LOAD_PREFERENCE_LOW 1 +#define MULTIBOOT_LOAD_PREFERENCE_HIGH 2 + +#define MULTIBOOT_CONSOLE_FLAGS_CONSOLE_REQUIRED 1 +#define MULTIBOOT_CONSOLE_FLAGS_EGA_TEXT_SUPPORTED 2 + +#ifndef ASM_FILE + +typedef unsigned char multiboot_uint8_t; +typedef unsigned short multiboot_uint16_t; +typedef unsigned int multiboot_uint32_t; +typedef unsigned long long multiboot_uint64_t; + +struct multiboot_header +{ + /* Must be MULTIBOOT_MAGIC - see above. */ + multiboot_uint32_t magic; + + /* ISA */ + multiboot_uint32_t architecture; + + /* Total header length. */ + multiboot_uint32_t header_length; + + /* The above fields plus this one must equal 0 mod 2^32. */ + multiboot_uint32_t checksum; +}; + +struct multiboot_header_tag +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; +}; + +struct multiboot_header_tag_information_request +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t requests[0]; +}; + +struct multiboot_header_tag_address +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t header_addr; + multiboot_uint32_t load_addr; + multiboot_uint32_t load_end_addr; + multiboot_uint32_t bss_end_addr; +}; + +struct multiboot_header_tag_entry_address +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t entry_addr; +}; + +struct multiboot_header_tag_console_flags +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t console_flags; +}; + +struct multiboot_header_tag_framebuffer +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t width; + multiboot_uint32_t height; + multiboot_uint32_t depth; +}; + +struct multiboot_header_tag_module_align +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; +}; + +struct multiboot_header_tag_relocatable +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t min_addr; + multiboot_uint32_t max_addr; + multiboot_uint32_t align; + multiboot_uint32_t preference; +}; + +struct multiboot_color +{ + multiboot_uint8_t red; + multiboot_uint8_t green; + multiboot_uint8_t blue; +}; + +struct multiboot_mmap_entry +{ + multiboot_uint64_t addr; + multiboot_uint64_t len; +#define MULTIBOOT_MEMORY_AVAILABLE 1 +#define MULTIBOOT_MEMORY_RESERVED 2 +#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE 3 +#define MULTIBOOT_MEMORY_NVS 4 +#define MULTIBOOT_MEMORY_BADRAM 5 + multiboot_uint32_t type; + multiboot_uint32_t zero; +}; +typedef struct multiboot_mmap_entry multiboot_memory_map_t; + +struct multiboot_tag +{ + multiboot_uint32_t type; + multiboot_uint32_t size; +}; + +struct multiboot_tag_string +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + char string[0]; +}; + +struct multiboot_tag_module +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t mod_start; + multiboot_uint32_t mod_end; + char cmdline[0]; +}; + +struct multiboot_tag_basic_meminfo +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t mem_lower; + multiboot_uint32_t mem_upper; +}; + +struct multiboot_tag_bootdev +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t biosdev; + multiboot_uint32_t slice; + multiboot_uint32_t part; +}; + +struct multiboot_tag_mmap +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t entry_size; + multiboot_uint32_t entry_version; + struct multiboot_mmap_entry entries[0]; +}; + +struct multiboot_vbe_info_block +{ + multiboot_uint8_t external_specification[512]; +}; + +struct multiboot_vbe_mode_info_block +{ + multiboot_uint8_t external_specification[256]; +}; + +struct multiboot_tag_vbe +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + + multiboot_uint16_t vbe_mode; + multiboot_uint16_t vbe_interface_seg; + multiboot_uint16_t vbe_interface_off; + multiboot_uint16_t vbe_interface_len; + + struct multiboot_vbe_info_block vbe_control_info; + struct multiboot_vbe_mode_info_block vbe_mode_info; +}; + +struct multiboot_tag_framebuffer_common +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + + multiboot_uint64_t framebuffer_addr; + multiboot_uint32_t framebuffer_pitch; + multiboot_uint32_t framebuffer_width; + multiboot_uint32_t framebuffer_height; + multiboot_uint8_t framebuffer_bpp; +#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED 0 *** 144 LINES SKIPPED *** From nobody Tue Jan 24 22:09:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3C1KWZz3bdlS; Tue, 24 Jan 2023 22:09: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 4P1h3C0Zzjz4GZC; Tue, 24 Jan 2023 22:09:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4VR+mzBJZgRKlAl83b3WWXfp/E+8+9NX20zwuerv73c=; b=Nl678a9dOzP1mnVeZ83J5VMHlSTXKmrCKYRzW50ypzVybamsXA8Rhlkgh2qBo49kY+Z1mM sdVhmwU0C/0aF54QAB/tjaL3qt9vRKsIhqd1PXP6GmM4HQj7dU5EdWeeEdUD5fiDmqOpUv tgOVNnZvL72unHphjluaybXyXL+Rq8MydEFTEplmgiE8BvdEpwu2jGBEFiFqthW84/KYob Ppj4AgT6Uiry9GmMZI0kN5fkOC9W7TnYbLUsop4UPcu/KxWolGtHOAtXVeoHbNoW7Y2Pag yIw0W91+Ka5QZl5LD6AULNSUcSDxUGFqjeYTVxKu0V+CQW05APa0JwDD9dTslQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4VR+mzBJZgRKlAl83b3WWXfp/E+8+9NX20zwuerv73c=; b=XE+WvzpXm7kOPWZd4YcAUhmDAWVD0nHnKXggWeGRMeW58Z9Pgyzvgw645SiNTwttvq5yyg mF2pGYsBgGcDaf1a9OpnAktmZaqOXnSuyd5P1OquTbZq/sU8t38PjSOSBT5AkeZc7GHqrp EspaBXiyUJ/4hd6r8rIHLojm3Ub4FVZJZgsDfPJQn/vQMNAc2B2LHwLQgTqsdEMFOyX88b 0/PKsMjZCC83zrZXd/vdzFJ2j0I3R3HjR2gSZzgneupyT0yYWR0aq2Uaxpga0s3lVQZ1LN NmlrSx5bySGdL1MJejGp69d9YdnVWaTsOvvx6fDl403ur9UiVz3J7jd0hnhmwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598183; a=rsa-sha256; cv=none; b=axpcCiiZ4Mq0cJj3yAwoTu57epmsCQy5g5/gCxjuNkLJJu2KOR1puE5fCIUWuOOp0UNlPt +LQYhGlA8PPT3Ube8bWOo4ZAl7YkHBGdqPAK3KfSjxk07ruLwwyqswp2V9R/TeIux0Bhq8 RN1pDYf2jiAwu1s1Edc3xzpyD3dUgx4hI2myRFIgFqIaB4EiA/HDdE1aARCEWYwzeaQeLy 2PsJHTthO9KONe5p4+vb4FyQFlgLaVHW3MyK74axtIr1VLZXYS0ZLIGXz41yspBQa5X2Hj 7jz8nqnVXCSh8XRpv3+vTC8OG8vaWwgZtCiXTL6fIMei/AelBtAUDGYeAg/f0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3B6jgmzQQj; Tue, 24 Jan 2023 22:09:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9gPa070557; Tue, 24 Jan 2023 22:09:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9gRl070556; Tue, 24 Jan 2023 22:09:42 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:42 GMT Message-Id: <202301242209.30OM9gRl070556@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: e1c95a0233c6 - stable/13 - bi_load: only add MODULEP on arches that have it defined List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e1c95a0233c646db795a98638093525392fc9b9b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e1c95a0233c646db795a98638093525392fc9b9b commit e1c95a0233c646db795a98638093525392fc9b9b Author: Roger Pau Monné AuthorDate: 2021-02-16 15:06:14 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 bi_load: only add MODULEP on arches that have it defined Do not attempt to add MODINFOMD_MODULEP to the kernel medatada on arches that don't have it defined. This fixes the build for arches different than amd64 after 7d3259775cb69f250df3e7fe51d6fff2283c6f20. Sponsored by: Citrix Systems R&D Reported by: lwhsu, arichardson (cherry picked from commit 97527e9c4fd37140da3129bc12003172edbf7a23) --- stand/efi/loader/bootinfo.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 74be4f8f5d74..046d56a2b4fb 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -533,7 +533,9 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) "device tree blob found!\n"); #endif file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof(kernend), &kernend); +#ifdef MODINFOMD_MODULEP file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); +#endif file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); #ifdef LOADER_GELI_SUPPORT geli_export_key_metadata(kfp); From nobody Tue Jan 24 22:09:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3D2nlvz3bdcQ; Tue, 24 Jan 2023 22:09: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 4P1h3D1STgz4GwR; Tue, 24 Jan 2023 22:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vvh5hj+MQshrboG9oeQ/yEr6lwV7GPOX2F1t+U3aUVw=; b=R9zN6tztRZMG8NyErbdIoOPFaoEMhiAPOEXh9W8R6ClLjOyP492jvsCjOaamMW2gJGPGsk kroLzDoe0Rnjx2Lt6g8Rs6HlfPH/2M9U4ro2dEZ2WsDG/HaneHjmtn8dvlkDlWpmSjyDU6 f0Ku8TNEiXMWakadtbi1qXFAIXY/o2CukP4mzLQ+tCtiK9lkjj1HvvT6pCTdk5swQKsLd4 IfND/dE48xdbgA/X7w/5DXIScIGDbeICLA2VfXw+3n8sW59VpMDibSVjGcE4WplrJUuLj6 xwD5RAEgEBoEHxM1aftd0GwjfzrtyDFNWmekz9xe+tcYawn7fOtqwsbT2VbxmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vvh5hj+MQshrboG9oeQ/yEr6lwV7GPOX2F1t+U3aUVw=; b=IfMwXNbRgVPSJu5sN8fqFDkJKamCZhsbTYy+3CyfVxCRVAg0EUBzZOqI7LQejNHDs4JTJt FkhENwj6eOWjzkqxhuo8dLs5054g/8NK/5I4/qBkcSbZ/GWJkL+/zegPaOyPCIxO0QCbxi r6ztcox+rrBqFI8W6pkmA5cFk6YMr9pFdxByA8t2vWk9eq1/hKhc26Z3Cr73OB35mX2QEw BtXCibUbLM/pnJQEyb0533mU607KYicPYRbPcr32JHpL0tpvKD4EWdEopeQZfEgUrKkC8K Cgv2SfcFY04XVqiDGBApipLTqSiZLRvVKh6hXSTlEF8N2IPIJAG0qVnBLcHBow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598184; a=rsa-sha256; cv=none; b=txQYhrUa7lIW0+3net7QreHviIRWLSpuGvaCXRVQTdyATj4bITaYQugjvdDWdBVw9gOozV 8qEtf6ffN8i/D/cZj+9LPIlUf/TdqvNI5U2ZPzz08iJTC9AZr+DR/j2RhCgABw9AnevFEf Dljxqfr5VvoRMFhETf5gUPwhinNiJiKlY6oMWUnoSMhJjotnnRP/05zsiiqyGa8OOFjgon 9a/16X5qDl0YqTv5bmYEDJGJ+Y3uF7QClIdBC1IUgFCmNcozdL6qMkfC0zd89Km7TlI5bq Ml2dfeq1e91xkUZUqe4bMKdrwNfGXS9oPZXbfeMqgiWXNGUi8Q2u33wSwmbLqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3D0W0yzQQk; Tue, 24 Jan 2023 22:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9hIA070672; Tue, 24 Jan 2023 22:09:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9h98070671; Tue, 24 Jan 2023 22:09:43 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:43 GMT Message-Id: <202301242209.30OM9h98070671@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: 8cc2156f85bb - stable/13 - Bump the FreeBSD kernel version in kernel boot shim. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8cc2156f85bb5cd0c4bae6882b72b215281b1fc5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8cc2156f85bb5cd0c4bae6882b72b215281b1fc5 commit 8cc2156f85bb5cd0c4bae6882b72b215281b1fc5 Author: Hans Petter Selasky AuthorDate: 2021-02-17 15:45:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 Bump the FreeBSD kernel version in kernel boot shim. Sponsored by: Mellanox Technologies // NVIDIA Networking (cherry picked from commit d23b583dfdd5669aeeb0693bdf3b30bfde98d4b4) --- stand/kshim/bsd_kernel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kshim/bsd_kernel.h b/stand/kshim/bsd_kernel.h index 9e870475127f..808b1b078db5 100644 --- a/stand/kshim/bsd_kernel.h +++ b/stand/kshim/bsd_kernel.h @@ -32,7 +32,7 @@ #endif #undef __FreeBSD_version -#define __FreeBSD_version 1300000 +#define __FreeBSD_version 1400000 #include #include From nobody Tue Jan 24 22:09:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3F3dZtz3bdRS; Tue, 24 Jan 2023 22:09: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 4P1h3F2LPqz4Gwm; Tue, 24 Jan 2023 22:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DvwWsB2InK1QbEFt3qN1dbSjeqfZmZDIM2fBuYjkGb0=; b=Bol0gwtTic1CHM9mmUJgdsgkinIufqQ1YCZKdp0wxnPUPPfLNVok3skJJ2e/sEUCSbLxva SvfWT4u/1p5t6TOt9byFyy4jo0vZ6QhBDUSDuRW7N14OQNJxOEtywpXsoJpCl5e8oJsJTZ U22ynJ46VQvR59mVLK3Lk/ld2l27ZbtlTqFqSXPk3vGR+6Q0nkUnVzkblcOXaHV614Ayv9 F/DPS+Ek/7hNycdmQfGNuu5l+41UAP1zsfZLtfRgfpI+SUrRLYE946IARc9UZnnh62lqzZ 1Mcqo8Bgrze+dUIgAJ66wQbiOkqtLtgOoxhR6nr4+ZATsOvJuIkmQR2KsRJthA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DvwWsB2InK1QbEFt3qN1dbSjeqfZmZDIM2fBuYjkGb0=; b=Yb9qZBiY+P89r0gQxSi1nbc/lWDCDwqqXppDHn2kWg8n1KIWg88xn9yUUuw+qCOFK/Cqln wlzrTuf42HtJ1jmpu6FFuS9jhdp05b6Ib7HzISPvCx4eyiowFWINUeFZ9PwQfoAndvVdJr d2TO04AfF6JidsA9kgkTHm9Wqoj3m0Z1jyiInYXi12s/U4SVn39V3LpVrEbYQN0V60KLXk 0Xy/3B5nkAarihRoXIPjAdK5Y3g+Y3r4JMuKa2L4Gx+tJ6MyYiluwXZ0o5KKoXHGcJ/nzT LxgUSieGwWNK2ZLhAoZgdO+wI1PcS3aYvY7s9n3HidDCA02xx/s4pqB1el8umg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598185; a=rsa-sha256; cv=none; b=Z1k+FuPXrxK60SvLXxDjS9GOcf7xWIKSk16iehlnTJsC75BJGw3fjUoKv2ZUTQIhkZnQfD HWnoMftEiLNJJpZJZx7YrFRtP4sI1bN/AQL8fXws50Avsr4mvT34m2Sw+NIxXa+iwrhS4d ihR9GVxsAtLfZcZ+GnYaNICbafQLyyp8AI/BPnpuf004FHJAM+s/MfhJy4pEbYQIcmQpHW WZ859GWQi1OeOsWzGgljUT8iLMrDnAocwZyhLrW3+luaMyfNZRblvGWPUT8XUXcBo95avI AgttShE6VqGBlLo18S52S1LuvuSy5uhjG35/mnP9Dp9Smzk948ra8gRpbLweYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3F1SCBzQNQ; Tue, 24 Jan 2023 22:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9jJh070719; Tue, 24 Jan 2023 22:09:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9j31070718; Tue, 24 Jan 2023 22:09:45 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:45 GMT Message-Id: <202301242209.30OM9j31070718@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: 0f4dfa3fd45d - stable/13 - loader: create a generic vendor sub-menu place holder List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0f4dfa3fd45d3e3a01e52ccae2aac989d1a1696f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0f4dfa3fd45d3e3a01e52ccae2aac989d1a1696f commit 0f4dfa3fd45d3e3a01e52ccae2aac989d1a1696f Author: Warner Losh AuthorDate: 2021-03-31 00:35:29 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 loader: create a generic vendor sub-menu place holder Add a dummy vendor menu entry on the main welcome menu. Vendors can override this in their local.lua file to create whatever sub-menu they need for their products. Also fix the adding a 'welcome' entry as well based on a suggestion from Kyle. Silly option menu code also from Kyle. They seem to work for me, but any transcription error is likely mine. Reviewed by: kevans@ (the vendor stuff) (cherry picked from commit e7ccd5b4187d15cd91697f1f4e12cf40e3ce86c3) --- stand/lua/menu.lua | 5 ++++ stand/lua/menu.lua.8 | 83 +++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 78 insertions(+), 10 deletions(-) diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index fe6f7da64283..0db52d7c3920 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -257,6 +257,7 @@ menu.welcome = { menu_entries.zpool_checkpoints, menu_entries.boot_envs, menu_entries.chainload, + menu_entries.vendor, } end, all_entries = { @@ -400,6 +401,10 @@ menu.welcome = { end, alias = {"l", "L"}, }, + vendor = { + entry_type = core.MENU_ENTRY, + visible = false, + }, }, } diff --git a/stand/lua/menu.lua.8 b/stand/lua/menu.lua.8 index 4358981d4755..82863791903d 100644 --- a/stand/lua/menu.lua.8 +++ b/stand/lua/menu.lua.8 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 23, 2018 +.Dd March 31, 2021 .Dt MENU.LUA 8 .Os .Sh NAME @@ -204,19 +204,82 @@ To add another option to the welcome menu: local core = require("core") local menu = require("menu") +local my_entry = { + entry_type = core.MENU_ENTRY, + name = "Fancy Boot", + func = core.boot, +}, + +local stock_entries = menu.welcome.entries +function menu.welcome.entries() + local ents = stock_entries() + ents[#ents + 1] = my_entry + return ents +end +.Ed +.Pp +To create a vendor submenu or other vendor menu option, +override +.Ic menu.welcome.all_entires.vendor +like so: +.Pp +.Bd -literal -offset indent -compact +local core = require("core") +local menu = require("menu") + +-- Fill in with vendor specific entries +local vendor_options = { + entries = { + ... + }, +} + local welcome_entries = menu.welcome.all_entries -welcome_entries[#welcome_entries + 1] = { - entry_type = core.MENU_CAROUSEL_ENTRY, - carousel_id = "unique_boot_entry_name", - items = {"NO", "YES"}, - name = function(_, choice, _) - return "Option: " .. choice +welcome_entries.vendor = { + entry_type = core.MENU_SUBMENU, + name = color.highlight("V") .. "endor Options", + submenu = vendor_options, + alias = {"v", "V"}, +} +.Ed +In the above example, +.Ic vendor_options +is a local variable that defines the vendor submenu. +.Pp +To add an additional option, change the +.Ic menu.boot_options.entries +array. +The following illustrates this concept: +.Pp +.Bd -literal -offset indent -compact +-- This is a silly example that rotates local_option through the values +-- 0 to 4. local_option would still need to be used elsewhere. +local local_option = 0 + +-- The `entries` of a menu may either be a table or a function. In this +-- example we're augmenting a menu that just has a static table, but if we +-- wanted to be more robust then we would need to instead check the type +-- of `stock_options` here to determine our next move. +-- +-- If `entries` is a table, then the stock menu system won't be changing it +-- so we can just add our menu option as we do below. +-- +-- If `entries` is a function, then we would need to provide a new function to +-- replace `entries` that does a core.deepCopyTable() of the result and adds +-- the below item to it. The deep copy is necessary to avoid duplicating our +-- new menu item and allowing the menu to alter its behavior however it pleases. +local stock_options = menu.boot_options.entries +stock_options[#stock_options + 1] = { + entry_type = core.MENU_ENTRY, + name = function() + return color.highlight('L') .. + "ocal Option : " .. local_option end, - func = function(_, _, _) - loader.setenv("some_envvar", "some_value") + func = function() + local_option = (local_option + 1) % 5 end, + alias= {"l", "L"} } -.Ed .Sh SEE ALSO .Xr loader.conf 5 , .Xr core.lua 8 , From nobody Tue Jan 24 22:09:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3G46Qlz3bdjb; Tue, 24 Jan 2023 22:09:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h3G340fz4Gx2; Tue, 24 Jan 2023 22:09:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGos1H2XX7AXafKKHPQspPmdPmC1qz6a25yaqNCe3uc=; b=Rhvu4fImYpmGC/N7HEDiW0x8U1IOugA8ET5Eg264u9ZVErptcSA8vbPgwLZI4WZLUKHMoa SJDC6UudFOUMiOLZcJlNrhdvCf101n3TPITVP8J+Fffp1mWM8kS3y0P6qpnYMybMJmnJBc dzv3Xk7qJfwc/mbuoI59nIW7vR8o1M3sqLbHNezRstwWQ8iEbcX5c6TvEyVUTYIXdUroS+ x7YOYDkbcYzw6R/lQlfClUS2NLfULWWzvy2BI2Ju2bwEbpebs+67fXwGsENAKjRAFNPc4P tK/ISC7UKNsmQa/pzTZ5JlJvessLqAi1gH+NeaQRpFM29GwY/tV/t57KJnm0/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGos1H2XX7AXafKKHPQspPmdPmC1qz6a25yaqNCe3uc=; b=l9LJAWjsqvYJ3FcNTX1falFcpi4DJ5/CwIbc3JArlXCQ/fpRVjkh9CosGDKoAAzXx344Jv JM6MHOEON+9mLj5HClMwW+wAB29rtYp4+KG+Px3gsbQKlHRYLk0yyVeKBv3twu9j5L+/RP /brebDhNHNdXZRoM+ZtXeTl1ntCtbW/4en6qOdKNjTwG0h+M5tfxA/rWJl5WVArra9B9pv F3xZiwAcfn6W3m6e8AT/g8xlqmFVBwSbmQNQrXIZplMJ9VE/xqDD92ye1gqzDd26hgmR1S KrQfPIqa4a+haQRhIgbG1O0lLUzYYs6gZNyWo8mr1iJm03MfA6enuVmA6hWGpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598186; a=rsa-sha256; cv=none; b=Wp8PfyrFICiLNVHH8YyneJWVf3Lt6zZAzbtkxh3asqzIFZod1yyH9bmNvlo3M6/qy1QdBb NQlCBB74fANkrwx/DBq6JOVyVbw4vQUVfmlDgsBU6XeX4wk76iRBUuMKjDfWA99FZQLBxz ghaFvX8MyKQBiZ6LW/jzfmEIqFj9eGFGfPRmqBkbAeBhIQraEAgKaKlLo+raFf+eCYz5Wx Znujl1170uH78JjIpBBEIWGCecpxucFL1GbB0bs4TgVwnzx2GJR2EGc6Hm61iC4wWJhJT9 YDS08SRnDzrZR8uU16KeS1bG9GB1UGeZqnf3Y9shgqrTu3KHrQ2kDPKDiNew1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3G22NgzPmY; Tue, 24 Jan 2023 22:09:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9kLK070743; Tue, 24 Jan 2023 22:09:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9kBi070742; Tue, 24 Jan 2023 22:09:46 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:46 GMT Message-Id: <202301242209.30OM9kBi070742@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: 2c040e347370 - stable/13 - luaboot: visible must be a function List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2c040e347370a343b48776d86d80413919c44219 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2c040e347370a343b48776d86d80413919c44219 commit 2c040e347370a343b48776d86d80413919c44219 Author: Warner Losh AuthorDate: 2021-04-01 04:34:50 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 luaboot: visible must be a function Visible needs to be a function. Looks like I tested the wrong thing. (cherry picked from commit 556e66b7b0763d36ddf5af98d06a1a13090bb729) --- stand/lua/menu.lua | 4 +++- stand/lua/menu.lua.8 | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index 0db52d7c3920..f1a4f07a8d73 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -403,7 +403,9 @@ menu.welcome = { }, vendor = { entry_type = core.MENU_ENTRY, - visible = false, + visible = function() + return false + end }, }, } diff --git a/stand/lua/menu.lua.8 b/stand/lua/menu.lua.8 index 82863791903d..38655414258f 100644 --- a/stand/lua/menu.lua.8 +++ b/stand/lua/menu.lua.8 @@ -240,6 +240,9 @@ welcome_entries.vendor = { name = color.highlight("V") .. "endor Options", submenu = vendor_options, alias = {"v", "V"}, + visible = function() + return true + end, } .Ed In the above example, From nobody Tue Jan 24 22:09:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3H5Tcqz3bdlc; Tue, 24 Jan 2023 22:09: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 4P1h3H46nwz4H2x; Tue, 24 Jan 2023 22:09:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+imdih8NUSrYK9GxQ+aBbKIrQhatCIWxnE+7XuIPvM=; b=i5Gbx7USWEnUx4ZAQwoTW8rGC9NaVbuuWQkz1Rr3wxTOYBmGb14k5YyqijhXn4VIQERQJp 1gPw7X0B9K7QcCzPwOqATukjsQYaiaHgTZy7vI1MSo0OxZkPS6en6elECOslw8CcsZarLa soh9g+G29k2yqF8mk/+ycCbbMhwdsFJikiZVF3w/97PR+FxtNIuTJCczarVxUqnM68QfsA 7/qZaDR+ycUHwoF1pwqAwheFXEtJkbM0fwDQ8dPAtz0gok0oTpbENA+tFdTZAz4XaDkT/D h/tuj2+jng5U03MAZSDN3aRilrBBjE3K2g3xHMnz8hUMWNb0kH6hkSBWZfbDKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+imdih8NUSrYK9GxQ+aBbKIrQhatCIWxnE+7XuIPvM=; b=yFU7Q3N7V1HIWPSnr8Zk54+3IRstfx5wO1KMTvFQtM5WR8PvMC3TI7aw4E8sH8ddNK3jNl 66feLxrsmPad6w5XUpNKhsXZB9JTL7WS7UO7a5y25HbiNc/56lH9kLTR1pPj7rQ62ok3e9 GK9uXOn9gMRrcUCW9j+SJknnqaR8xNGnxcninYrC9nm+6O15Ss3QYM5PII4lmM1ZJduL9r ke9f/E9Y52Cvkn9UeKUabrGITVL7fLbN4h2Hyc66eC/0v49RLaXCqTBLc6zPmVgG7CS7jX U+gCuEuxb0AuppUt6ygUGQS6pUnmt9nYgL4/iNX06mZhi66/wUBJAI0jQrTteA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598187; a=rsa-sha256; cv=none; b=WIDQx4GuqiSndmJWKfua1mTAygqioEPk7DNIeykGTd78ZQvcLsFjnxH3FUsJH5F/D9V56l XwCGasJjizQZP4LIBwSBu9Jrud0nvLIWxEyA9Q8jfDq70eKir8fQyB0y7RCD0Q9bjULD1q efmew7q5wpGzyC+TuTFv2Ib4m7fpQNjAvt6FZLk89oXhTS2JEg6qJjlURc/lGj4Iqnr/sY W4K+Ok641s71mp5D87t99qDRlfyx/QD9ortc1G8wDF0XYW8aESKNmIVJo78UXB++VHtQjo dV+qLHJBPnZoW7d1OIQOzmKLoTBbNiP6C2+VAj60sxT4RfOY1qhV1AsRueAMKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3H3Cy6zQ7K; Tue, 24 Jan 2023 22:09:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9lE9070772; Tue, 24 Jan 2023 22:09:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9lG1070771; Tue, 24 Jan 2023 22:09:47 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:47 GMT Message-Id: <202301242209.30OM9lG1070771@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: a12800fd291e - stable/13 - gptboot.efi: Add man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a12800fd291e9551147cc9d1fb6ae6c6612592fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a12800fd291e9551147cc9d1fb6ae6c6612592fc commit a12800fd291e9551147cc9d1fb6ae6c6612592fc Author: Warner Losh AuthorDate: 2021-04-06 05:55:08 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 gptboot.efi: Add man page Add a man page for gptboot.efi. Describe when and how to use this as it differs from the BIOS cases. Include cross reference for the preferred method described in efibootmgr(8) as well as cross links in both gptboot(8) and gptboot.efi(8) to the other. This man page was heavily copied from the gptboot.8 man page by Warren Block. They are different enough to need separate man pages for clarity, but there's enough similarity that I worry about the duplication. In the really long term, gptboot(8) will disappear, so having the same info here will help when that day comes. In the short to medium term, the information is likely to not change in gptboot(8) and any changes to gptboot.efi(8) will be easier to make in a separate copy. loader.efi(8) needs a complete rewrite from scratch, otherwise I'd have referenced gptboot.efi(8) from there. Suggetions from: cress@, mhorne@ Reviewed by: rpokala@ Differential Revision: https://reviews.freebsd.org/D29591 (cherry picked from commit 42cd37dfbd1b2feff8f7aba32d2577e08b058231) Sponsored by: Netflix --- stand/efi/gptboot/Makefile | 1 + stand/efi/gptboot/gptboot.efi.8 | 282 ++++++++++++++++++++++++++++++++++++++++ stand/i386/gptboot/gptboot.8 | 6 +- stand/man/boot1.efi.8 | 14 +- 4 files changed, 300 insertions(+), 3 deletions(-) diff --git a/stand/efi/gptboot/Makefile b/stand/efi/gptboot/Makefile index 7d6dee85f93f..2dcf8dda8f59 100644 --- a/stand/efi/gptboot/Makefile +++ b/stand/efi/gptboot/Makefile @@ -6,6 +6,7 @@ MK_LOADER_ZFS=no EFI_DEBUG=yes BOOT1?= gptboot +MAN= gptboot.efi.8 .PATH: ${SRCTOP}/stand/efi/boot1 ${SRCTOP}/stand/libsa CFLAGS+= -I${SRCTOP}/stand/efi/boot1 CFLAGS+= -I${.CURDIR} diff --git a/stand/efi/gptboot/gptboot.efi.8 b/stand/efi/gptboot/gptboot.efi.8 new file mode 100644 index 000000000000..134c5353e9f1 --- /dev/null +++ b/stand/efi/gptboot/gptboot.efi.8 @@ -0,0 +1,282 @@ +.\" Copyright (c) 2013 Warren Block All rights reserved. +.\" Copyright (c) 2021 Warner Losh +.\" +.\" 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 April 6, 2021 +.Dt GPTBOOT.EFI 8 +.Os +.Sh NAME +.Nm gptboot.efi +.Nd GPT bootcode for UFS on UEFI computers +.Sh DESCRIPTION +.Nm +is used on UEFI computers to boot from a UFS partition on a +GPT-partitioned disk. +.Nm +is installed in the EFI System Partition (ESP). +For BIOS-based computers, +see +.Xr gptboot 8 +for details. +While conceptually similar, the details differ. +.Nm +works only with UFS root file systems. +Users with ZFS partitions should use +.Xr loader.efi 8 +with +.Xr bectl 8 +to control what dataset is used for root. +.Pp +What UEFI computers boot is usually controlled via the mechanisms explained in +.Xr efibootmgr 8 +using +.Xr loader.efi 8 +or +.Xr boot1.efi 8 . +However, some setups cannot use those mechanisms. +When the users cannot rely on host-supplied UEFI variables +or they want the contents of the media alone to decide root, +.Nm +accomplishes these goals. +.Pp +When it starts, +.Nm +first reads the GPT and determines which drive and partition to +boot from, as described under +.Sx BOOTING , +below. +If it does not find an eligible partition, it returns to the UEFI +firmware. +The firmware will then try the next bootable item in the UEFI Boot Manager's +list, if any, usually a different disk. +.Sh IMPLEMENTATION NOTES +The GPT standard allows a variable number of partitions, but +.Nm +only boots from tables with 128 partitions or less. +.Sh PARTITION ATTRIBUTES +.Nm +checks and manages several attributes of GPT UFS partitions. +These flags are +.Fx +specific and non-standard. +.Bl -tag -width ".Cm bootfailed" +.It Cm bootme +Attempt to boot from this partition. +If more than one partition has the +.Cm bootme +attribute set, +.Nm +will attempt to boot each one until successful. +.It Cm bootonce +Attempt to boot from this partition only one time. +Setting this attribute with +.Xr gpart 8 +automatically also sets the +.Cm bootme +attribute. +Multiple partitions may have the +.Cm bootonce +and +.Cm bootme +attributes set. +.It Cm bootfailed +The +.Cm bootfailed +attribute marks partitions that had the +.Cm bootonce +attribute set, but failed to boot. +This attribute is managed by the system. +See +.Sx "BOOTING" +and +.Sx "POST-BOOT ACTIONS" +below for details. +.El +.Sh USAGE +For normal usage, the user does not have to set or manage any of the +partition attributes. +.Nm +will boot from the first UFS partition found on the device. +.Pp +The +.Cm bootonce +attribute can be used for testing an upgraded operating system on +an already-working computer. +The existing system partition is left untouched, and the new version +of the operating system to be tested is installed on another partition. +The +.Cm bootonce +attribute is set on that new test partition. +The next boot is attempted from the test partition. +Success or failure will be shown in the system log files. +After a successful boot of the test partition, a user script can check +the logs and change the +.Cm bootme +attributes so the test partition becomes the new system partition. +Because the +.Cm bootonce +attribute is cleared after an attempted boot, a failed boot will not +leave the system attempting to boot from a partition that will never +succeed. +Instead, the system will boot from the older, known-working operating +system that has not been modified. +If the +.Cm bootme +attribute is set on any partitions, booting will be attempted from them +first. +If no partitions with +.Cm bootme +attributes are found, booting will be attempted from the first UFS +partition found. +.Sh BOOTING +.Nm +first reads the partition table. +All +.Cm freebsd-ufs +partitions with only the +.Cm bootonce +attribute set, indicating a failed boot, are set to +.Cm bootfailed . +.Nm +then scans through all of the +.Cm freebsd-ufs +partitions. +Boot behavior depends on the combination of +.Cm bootme +and +.Cm bootonce +attributes set on those partitions. +.Bl -tag -width ".Cm bootonce + .Cm bootme" +.It Cm bootonce + Cm bootme +Highest priority: booting is attempted from each of the +.Cm freebsd-ufs +partitions with both of these attributes. +On each partition, the +.Cm bootme +attribute is removed and the boot attempted. +.It Cm bootme +Middle priority: booting is attempted from each of the +.Cm freebsd-ufs +partitions with the +.Cm bootme +attribute. +.El +.Pp +If neither +.Cm bootonce +nor +.Cm bootme +attributes are found on any partitions, booting is attempted from the +first +.Cm freebsd-ufs +partition on the disk. +.Sh POST-BOOT ACTIONS +The startup script +.Pa /etc/rc.d/gptboot +checks the attributes of +.Cm freebsd-ufs +partitions on all GPT disks. +Partitions with the +.Cm bootfailed +attribute generate a +.Dq boot from X failed +system log message. +Partitions with only the +.Cm bootonce +attribute, indicating a partition that successfully booted, generate a +.Dq boot from X succeeded +system log message. +The +.Cm bootfailed +attributes are cleared from all the partitions. +The +.Cm bootonce +attribute is cleared from the partition that successfully booted. +There is normally only one of these. +.Sh FILES +.Bl -tag -width /boot/gptboot.efi -compact +.It Pa /boot/gptboot.efi +bootcode binary +.It Pa /boot/efi/efi/boot/bootx64.efi +Default boot loader for amd64 systems. +.It Pa /boot/efi/efi/boot/bootaa64.efi +Default boot loader for arm64 systems. +.It Pa /boot/efi/efi/boot/bootarm.efi +Default boot loader for arm systems. +.It Pa /boot/efi/efi/boot/bootriscv64.efi +Default boot loader for riscv systems. +.El +.Sh EXAMPLES +.Nm +is installed in the ESP with +.Xr cp 1 . +.Pp +Install +.Nm +into the ESP for the system. +This assumes the ESP is mounted in the standard +.Pa /boot/efi +directory. +For amd64, use the following +.Bd -literal -offset indent -compact +cp /boot/gptboot.efi /boot/efi/efi/boot/bootx64.efi +.Ed +For other systems, use the file listed in the +.Sx FILES +section. +.Pp +Set the +.Cm bootme +attribute for partition 2: +.Bd -literal -offset indent +gpart set -a bootme -i 2 ada0 +.Ed +.Pp +Set the +.Cm bootonce +attribute for partition 2, automatically also setting the +.Cm bootme +attribute: +.Bd -literal -offset indent +gpart set -a bootonce -i 2 ada0 +.Ed +.Sh SEE ALSO +.Xr rc.conf 5 , +.Xr boot 8 , +.Xr efibootmgr 8 , +.Xr gpart 8 , +.Xr gptboot 8 , +.Xr loader.efi 8 +.Sh HISTORY +.Nm +appeared in +.Fx 13.0 +.Sh AUTHORS +This manual page written by +.An Warner Losh Aq imp@FreeBSD.org . +It is based heavily on the +.Xr gptboot 8 +man page by +.An Warren Block Aq wblock@FreeBSD.org . diff --git a/stand/i386/gptboot/gptboot.8 b/stand/i386/gptboot/gptboot.8 index b812cdbefffc..e68d73758f89 100644 --- a/stand/i386/gptboot/gptboot.8 +++ b/stand/i386/gptboot/gptboot.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 18, 2022 +.Dd January 23, 2023 .Dt GPTBOOT 8 .Os .Sh NAME @@ -39,6 +39,10 @@ is installed in a .Cm freebsd-boot partition with .Xr gpart 8 . +For UEFI, +.Xr gptboot.efi 8 +is used instead. +While conceptually similar, the details differ. .Pp When it starts, .Nm diff --git a/stand/man/boot1.efi.8 b/stand/man/boot1.efi.8 index 74758a0c5660..efd3c2c93d5e 100644 --- a/stand/man/boot1.efi.8 +++ b/stand/man/boot1.efi.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 1, 2020 +.Dd April 6, 2021 .Dt BOOT1.EFI 8 .Os .Sh NAME @@ -33,13 +33,19 @@ .Sh DESCRIPTION .Nm has been deprecated and will be removed from a future release. -.Xr loader.efi 8 handles all its former use cases with more flexibility. +.Xr loader.efi 8 +handles all its former use cases with more flexibility. .Pp On UEFI systems, .Nm loads .Pa /boot/loader.efi from the default root file system and transfers execution there. +Some systems may need to use +.Xr gptboot.efi 8 +when +.Xr loader.efi 8 +cannot be used directly on the ESP (EFI System Partition). .Ss Initialization Before looking for the boot device, .Nm @@ -94,6 +100,10 @@ When configuring a serial console for FreeBSD, but not for UEFI, no output will show up on the serial console from boot1.efi. .It There's no support for marking partitions as the preferred one. +See +.Xr gptboot.efi 8 . .It There's no support for boot-once functionality. +See +.Xr gptboot.efi 8 . .El From nobody Tue Jan 24 22:09:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3J5yKNz3bdZK; Tue, 24 Jan 2023 22:09: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 4P1h3J4shGz4H7T; Tue, 24 Jan 2023 22:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vt4h6m38cvS1hne+8S4rVan8Qye2SsJC3eDgGCDi1YU=; b=KjGX37LTskp+nx9UFyZ9bMhkOQnSpEmR0vdCiAcfgAfOdTqBs24wxGrmLkTm7e4LSHYCtE GNK9A420Kofht6IZBcy8UrugiIKqqZ1pTQKDIEf1wPIManVBJiekij2m54Dqvpd0SWmyqg 492V/lftuDIoRmhfG9oOTkwvFEQQD/YP6Bb2zy38DJqoB5WIUhzeVt/utjz+Y5YqVMa2rA qYrKYALLLuMhwqcqzJJ8EdkztMR9gKlkLBCiH0yhlhw8NTi1O0jeehxVx9LIR7gSaxtmOG nb8pwVxu0WpwS8+JtF4rZ+0T01e5QQAeWTCixmxcvDfldfo7fh6MmyzgblOqOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vt4h6m38cvS1hne+8S4rVan8Qye2SsJC3eDgGCDi1YU=; b=n4XLFuCyjzA9o3MkOf3v6CCMhkALPZHyEnmevHPXXlpaMlKxXnWjW12YKmzcYgzftezytS 7DAVGD+PmNyhYGvsx4mqy+EV/RXYvJAGrHfLukDnoOWCj4QrTihAZdc018HiAVhd1v7UXo 3+NPvUiB0RgyVjGpMSZTv/fuFljWGxhfsrBkniIoTtO+nzZEQXuJkujZQjegdrU+zwVfbL SrmhAowjsMJ4fLg/15i/Ig83qshdGpE0HRlIxo+sf33huVrdZceTe7l3QGvJItNY7EGk5t TVQ0sG/og2Ow1DvdmV7qMmANVHbHQKKAVWtoAkTjGeAkmoslXXt0AVJUp/gDMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598188; a=rsa-sha256; cv=none; b=WE57G8ccqJ7pfI8vjnUso+0BZlFFcMMPVoZdrh3MCgMNvTCwRqxP8O99fppVmZDIC+S6aZ NWeIVKl/G6og6264/S8IGmNQmw5FINb7Vvzg2wKp9976064T0xa597KYrPH/5cvMWaGnQX ruItKysHNZ3X65CUlsg2uWbve/bx9s53Qxm+Rt0FObnZQEWgWpU5CPO0B/cXep7r2AyY/4 7Qa4ea0Ko5CVDUDfF5cfj03zs81m61WjRVLBVx5pkCQr6jp/3vbfvtqWuPcKc3oX+dKKo2 3MSCcTdUZk5rTV+B3tsv6shgUPuIz7qO3acKv0QnLWJo+giuXxZmpvXdsDOkkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3J3wr4zQ1B; Tue, 24 Jan 2023 22:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9md2070798; Tue, 24 Jan 2023 22:09:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9m2f070797; Tue, 24 Jan 2023 22:09:48 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:48 GMT Message-Id: <202301242209.30OM9m2f070797@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: 90c1ca326de1 - stable/13 - EFI secure boot VECTX related changes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 90c1ca326de1931c87632fa0351b7fd39e26fe91 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=90c1ca326de1931c87632fa0351b7fd39e26fe91 commit 90c1ca326de1931c87632fa0351b7fd39e26fe91 Author: Eric van Gyzen AuthorDate: 2021-04-30 17:53:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:16 +0000 EFI secure boot VECTX related changes When VECTX is enabled as a kernel option and non-EFI loaders are built, many reads will fail due to the mis-match of whether LOADER_VERIEXEC_VECTX or not in readin.h. Source that includes bootstrap.h must ensure the kernel option agrees with the compile time CFLAGS in the various make related files. Submitted by: bret_ketchum@dell.com (original revision) Reviewed by: sjg, bdrewery, dab, bret_ketchum@dell.com MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D29993 (cherry picked from commit eda28feb2e070e21db3d50b3fc177f88380b8fb4) --- stand/efi/boot1/Makefile | 2 ++ stand/efi/fdt/Makefile | 2 ++ stand/efi/libefi/Makefile | 2 ++ stand/fdt/Makefile | 2 ++ stand/ficl.mk | 4 +--- stand/i386/libfirewire/Makefile | 2 ++ stand/i386/libi386/Makefile | 2 ++ stand/liblua/Makefile | 5 ++--- stand/loader.mk | 11 +---------- stand/veriexec.mk | 9 +++++++++ 10 files changed, 25 insertions(+), 16 deletions(-) diff --git a/stand/efi/boot1/Makefile b/stand/efi/boot1/Makefile index 6ed777727552..7e3d762c768d 100644 --- a/stand/efi/boot1/Makefile +++ b/stand/efi/boot1/Makefile @@ -53,6 +53,8 @@ CFLAGS+= -DEFI_UFS_BOOT CFLAGS+= -DEFI_DEBUG .endif +.include "${BOOTSRC}/veriexec.mk" + # Always add MI sources and REGULAR efi loader bits .PATH: ${EFISRC}/loader/arch/${MACHINE} .PATH: ${EFISRC}/loader diff --git a/stand/efi/fdt/Makefile b/stand/efi/fdt/Makefile index 8166f481dc99..7f69ce1b3f11 100644 --- a/stand/efi/fdt/Makefile +++ b/stand/efi/fdt/Makefile @@ -9,6 +9,8 @@ WARNS?= 6 SRCS= efi_fdt.c +.include "${BOOTSRC}/veriexec.mk" + # EFI library headers CFLAGS+= -I${EFISRC}/include CFLAGS+= -I${EFISRC}/include/${MACHINE} diff --git a/stand/efi/libefi/Makefile b/stand/efi/libefi/Makefile index 88f6d3fa0826..8f1a30d86900 100644 --- a/stand/efi/libefi/Makefile +++ b/stand/efi/libefi/Makefile @@ -68,4 +68,6 @@ CFLAGS+= ${FORMAT_EXTENSIONS} CFLAGS+= -DTERM_EMU +.include "${BOOTSRC}/veriexec.mk" + .include diff --git a/stand/fdt/Makefile b/stand/fdt/Makefile index 3eee143a9433..e0fd2dbb4e8d 100644 --- a/stand/fdt/Makefile +++ b/stand/fdt/Makefile @@ -17,4 +17,6 @@ CFLAGS+= -I${SYSDIR}/contrib/libfdt/ -I${LDRSRC} CFLAGS+= -Wformat -Wall +.include "${BOOTSRC}/veriexec.mk" + .include diff --git a/stand/ficl.mk b/stand/ficl.mk index caa4aab951c3..2adbccb34f9d 100644 --- a/stand/ficl.mk +++ b/stand/ficl.mk @@ -17,6 +17,4 @@ CFLAGS+= -fPIC CFLAGS+= -I${FICLSRC} -I${FICLSRC}/${FICL_CPUARCH} -I${LDRSRC} CFLAGS+= -DBF_DICTSIZE=30000 -.if ${MK_LOADER_VERIEXEC} != "no" -CFLAGS+= -DLOADER_VERIEXEC -I${SRCTOP}/lib/libsecureboot/h -.endif +.include "${BOOTSRC}/veriexec.mk" diff --git a/stand/i386/libfirewire/Makefile b/stand/i386/libfirewire/Makefile index 6a34efd0acb3..bf42c26a918f 100644 --- a/stand/i386/libfirewire/Makefile +++ b/stand/i386/libfirewire/Makefile @@ -8,6 +8,8 @@ LIB= firewire SRCS+= firewire.c fwohci.c dconsole.c SRCS+= dcons.c fwcrom.c +.include "${BOOTSRC}/veriexec.mk" + CFLAGS+= -D_BOOT CFLAGS+= -I${LDRSRC} diff --git a/stand/i386/libi386/Makefile b/stand/i386/libi386/Makefile index 3dea78f16929..1b23cd53d137 100644 --- a/stand/i386/libi386/Makefile +++ b/stand/i386/libi386/Makefile @@ -17,6 +17,8 @@ CFLAGS+= -I${ZFSSRC} .PATH: ${SYSDIR}/teken SRCS+= teken.c +.include "${BOOTSRC}/veriexec.mk" + BOOT_COMCONSOLE_PORT?= 0x3f8 CFLAGS+= -DCOMPORT=${BOOT_COMCONSOLE_PORT} diff --git a/stand/liblua/Makefile b/stand/liblua/Makefile index 68fa2da64fdb..385f1493bd38 100644 --- a/stand/liblua/Makefile +++ b/stand/liblua/Makefile @@ -40,8 +40,7 @@ CFLAGS.lutils.c+= -I${SRCTOP}/sys/teken -I${SRCTOP}/contrib/pnglite .if ${MACHINE_CPUARCH} == "amd64" && ${DO32:U0} == 0 CFLAGS+= -fPIC .endif -.if ${MK_LOADER_VERIEXEC} == "yes" -CFLAGS+= -I${SRCTOP}/lib/libsecureboot/h -DLOADER_VERIEXEC -.endif + +.include "${BOOTSRC}/veriexec.mk" .include diff --git a/stand/loader.mk b/stand/loader.mk index 2246b42b91d8..e71508a1cefc 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -90,16 +90,7 @@ SRCS+= interp_simple.c .error Unknown interpreter ${LOADER_INTERP} .endif -.if ${MK_LOADER_VERIEXEC} != "no" -CFLAGS+= -DLOADER_VERIEXEC -I${SRCTOP}/lib/libsecureboot/h -.if ${MK_LOADER_VERIEXEC_VECTX} != "no" -CFLAGS+= -DLOADER_VERIEXEC_VECTX -.endif -.endif - -.if ${MK_LOADER_VERIEXEC_PASS_MANIFEST} != "no" -CFLAGS+= -DLOADER_VERIEXEC_PASS_MANIFEST -I${SRCTOP}/lib/libsecureboot/h -.endif +.include "${BOOTSRC}/veriexec.mk" .if defined(BOOT_PROMPT_123) CFLAGS+= -DBOOT_PROMPT_123 diff --git a/stand/veriexec.mk b/stand/veriexec.mk new file mode 100644 index 000000000000..930e933be0a9 --- /dev/null +++ b/stand/veriexec.mk @@ -0,0 +1,9 @@ +.if ${MK_LOADER_VERIEXEC} != "no" +CFLAGS+= -DLOADER_VERIEXEC -I${SRCTOP}/lib/libsecureboot/h +.if ${MK_LOADER_VERIEXEC_VECTX} != "no" +CFLAGS+= -DLOADER_VERIEXEC_VECTX +.endif +.if ${MK_LOADER_VERIEXEC_PASS_MANIFEST} != "no" +CFLAGS+= -DLOADER_VERIEXEC_PASS_MANIFEST +.endif +.endif From nobody Tue Jan 24 22:09:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3L4tgsz3bdZP; Tue, 24 Jan 2023 22:09: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 4P1h3K61rtz4H81; Tue, 24 Jan 2023 22:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MhIq+10HVZLiPeFTBdxnFCV5NYJoYYzQaSYCJNJCpNM=; b=T2oYJUdX3/oTdkr1M42aGnyW1Lk685fWpqWv2Mb35AmG1+7lk6LLUPPbQ/owCgkmcibChB OoBPo///pDKpc5AiAGCubcMcrJiaGRb6G3WQLzkxNyO8TEFEtKt1BskjL2X6+D3GerxZNZ W0h1t/dA2mb84EHdr6pnGy7Zom5A3L4gVZvyoj9d13IeucWaGhb60EbzbbJs7zMDAgQdLT 6WLLu2muO2FjRmYu8fZEJCOWC+Zp2AZFvjaDQM3+TMYEWYRUHJeHRoSNP5IqXCS+3yrfFn UAkRGOblPmYTIDdl+aAZOnsVCdYyLjWYtJjpg50DRNd6csJ8k85COrJfJVlnfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MhIq+10HVZLiPeFTBdxnFCV5NYJoYYzQaSYCJNJCpNM=; b=Y43v8wg1kRveqBYHEucyxz3W3SBjstdDKHk2KjEJ+/IqFS5pcvXzgeuDHq+uYwWYfLZrDC lV0/OwEljiOnmJPPgMHZZ9aek0TIZTSrOww32GDhOEWRBLLC4Sy9BzxGEZSORR9ZoaHTNe fm61Zzlji/UB4Cq0FsjNZ9kZ202kPYdezEUtmwze9sc0B9cbBifQhzFcOOgrUNNEBs+bKJ cB8JjVyyK4HEWjilLribW2eswKFbZNCgLFf3AOUStGqkd5EKQ8eK/sR8W4MKKWZv7Zo5o5 rrQ+lZ8i/G1IYobWhNswZ5rOJVBvQkg1sL6CbZvb0Z3pkft2Isk4HooCQSv/9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598189; a=rsa-sha256; cv=none; b=WvnnRvBBfjtYaFxjrGnqEsuXXDvmbDqGnI9+pZ2OAoAs67yLVjQNhqTKX+f4yP+I5uZqoa 5xbwbKyYiKyvTwRclbcIqF9bkYbZANlNdW/2UaQS1Vd//e1dR1wxNWR5/Ep6wbrILQPcI5 ovv2AsKrrAJnHf6zlAppLZvOWqO8MJYp1bGMFRdkYKAfTuaOFgkc+V2/R1rCb6e7ng21vg uJPygwGJa3ZFQ7LnIO1UaMCr5XjKlclh3taXACdL56RrtzKIEpuyFBw16XxADVVn3W5BNA jolb9A1xTycj0UNQg+PmDLxtrC6hy+k4HoT4Sq5mLdXYUCY5csDewmzCWDwTsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3K54gpzQT5; Tue, 24 Jan 2023 22:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9njV070824; Tue, 24 Jan 2023 22:09:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9noc070823; Tue, 24 Jan 2023 22:09:49 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:49 GMT Message-Id: <202301242209.30OM9noc070823@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: d85c2360a759 - stable/13 - loader: small Makefile style change List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d85c2360a75927f2399f64499f0284ac94a50223 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d85c2360a75927f2399f64499f0284ac94a50223 commit d85c2360a75927f2399f64499f0284ac94a50223 Author: Warner Losh AuthorDate: 2021-07-14 13:54:44 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader: small Makefile style change Move to using M.${option} and M.yes to collecting man pages to install. Sponsored by: Netflix (cherry picked from commit 29c8295312dc5eef8a0573bccdacd56167859cb2) --- stand/man/Makefile | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/stand/man/Makefile b/stand/man/Makefile index 5dbdc52183bd..d5e7ad791ffb 100644 --- a/stand/man/Makefile +++ b/stand/man/Makefile @@ -2,12 +2,10 @@ .include -.if ${MK_EFI} != "no" -MAN+= boot1.efi.8 -.endif -MAN+= loader.8 -.if ${MK_EFI} != "no" -MAN+= loader.efi.8 -.endif +M.${MK_EFI}+= boot1.efi.8 +M.yes+= loader.8 +M.${MK_EFI}+= loader.efi.8 + +MAN=${M.yes} .include From nobody Tue Jan 24 22:09:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3M3l8Jz3bdRl; Tue, 24 Jan 2023 22:09: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 4P1h3L71Jmz4H4L; Tue, 24 Jan 2023 22:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g6SqB7CCzttAKZoj7CZtLAMoNAOkxMsAR83VFpxs13M=; b=kmE8j09cwwmjVz4hCrS4XXH2qEdmk7yFwywsuNLOkKiFEAzm9ceqxtE3ihhkCpxYnzxJbr QRE2agzZ/XxI5wBTrjkK7wDbQWVxovkfn3psHeQL3lXuRtYv6PTk3Bstvea9odCb9BT+H+ ZeiJmHyp0dv71DfglnuXWyMYbjJZnG0am5/GaPc8SP9cw7/iX0FmbVNZGD5Temv27bDlBr NRzketkuHMORoj9rbpuepvE2zKikJ9FTJ+PiCbLY9c/s2VSUH57q2zU5fHSIgnNWI6Hoe3 12GYxqx0Ks3xa4Co7eVVSlbokKeGJOlowRmVlupS+sy0dptWkCkMUB0yUF5QGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g6SqB7CCzttAKZoj7CZtLAMoNAOkxMsAR83VFpxs13M=; b=RFeCSuxSL417XuVWdxCwONVI7gpTSpGDtkU+rH5Co5M4E9r6z7KqUkJ4mS03TT3DwpbKWW IaI1HbeTVzN8fwODGgYI6kWLpFea7w+8cK2WVSikcMuk4YX9/ia99SEAxxqtONGPcUZHho GbLv16IaIciQO1vOlyIhsgHnp8j/v15+1FpGiRjQ7ewapxKGj8TpYrkGDCfm2jTrvssE9a qc7YPJn69ekSH8HsDAdWwmy4X8O6DJL4GZDcrybpNqpbF1j8+0r9ztgn6tJayWovbkJyii poF2Eza9pffePCY3Lhzb0Mlkvxerb+IFa/hWA0jhKWoLpYnryu+fduK5h1k62g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598191; a=rsa-sha256; cv=none; b=LrAHoVauc6OVntEqvdpDI3Ns+BKW9ehyxbym2ESqFnX2RXAUqfw0S4pRH0DqIgfGzT06Bu 6YF58g0DQmpOqRO/bhGRHba6PKFFuAQyWLZeM6w40buJ+BihHTkLWKr1ngjyg0Jcry3k5b 6AlS9p8UmonmGBF55Dxx72Y2vDnLXYJQ2aIjRKqlzsu8Mu30vZm2a6RnmCOQkmrgA/D38X EjyTe0RGwYO8FVnVRHEi8TUE8xiSRFHzsQqYML+4lqZ9w9uHcQhKLyqfGquJAy0HWpzhFP qOysZLQwnxiHTnsunLGQx/zaRRZCigVRqDj5iLb2SWI9nJjQvShpPHzmAgTm1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3L63MGzQ7L; Tue, 24 Jan 2023 22:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9omS070850; Tue, 24 Jan 2023 22:09:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9oJw070849; Tue, 24 Jan 2023 22:09:50 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:50 GMT Message-Id: <202301242209.30OM9oJw070849@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: e500b7de32bc - stable/13 - loader(8): fix path to be correct loader.4th. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e500b7de32bca5763b18d693512cfe4d1dec4458 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e500b7de32bca5763b18d693512cfe4d1dec4458 commit e500b7de32bca5763b18d693512cfe4d1dec4458 Author: Warner Losh AuthorDate: 2021-07-14 22:34:43 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader(8): fix path to be correct loader.4th. boot.4th was a thing for only a few months around FreeBSD 3.1. The correct name has been loader.4th for a long time. MFC After: 2 days Sponsored by: Netflix (cherry picked from commit 13c98cd06b80afd0d062211ee8f1bfeb8c6cb065) --- stand/man/loader.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/man/loader.8 b/stand/man/loader.8 index 4027063e891d..c606068941a7 100644 --- a/stand/man/loader.8 +++ b/stand/man/loader.8 @@ -76,7 +76,7 @@ is set to 24. Next, .Tn FICL is initialized, the builtin words are added to its vocabulary, and -.Pa /boot/boot.4th +.Pa /boot/loader.4th is processed if it exists. No disk switching is possible while that file is being read. The inner interpreter @@ -983,7 +983,7 @@ Currently, MD is only supported in .It Pa /boot/loader .Nm itself. -.It Pa /boot/boot.4th +.It Pa /boot/loader.4th Additional .Tn FICL initialization. From nobody Tue Jan 24 22:09:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3N24tdz3bdZX; Tue, 24 Jan 2023 22:09: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 4P1h3N0PrZz4GyV; Tue, 24 Jan 2023 22:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=li6wor3X7Y1xFEBuxWWV0j35SjwiayK6EiWzwgvrA+g=; b=NX+DoRm+GZ/FTuqj9k1bcdEPP8Iv20hmB1nykTwpLCqEkPa6w+MBApOxe8XejAMyFqmC+6 atfcyTp6ZKapaGIur1zd+4GHzuB2ytIlHeBP4bpJfKVfKTY0FYX1SQn5K86ONPc4uyZYQv a6dBmH+GwYktJRwsA2bfklpOBggQX59adyz524wyVpRTmdod0XxqGHB9nCMORO5cDxcAWL 6DjmpIEmqV3dJZxIOnrPyarvDSvFxKlENV57aQ12gFxv9+nUSPnz70965RWTLGWgtcCmKx 2VNG7q+EcSYu7EPWKhGz5IES6hGItwadE8nQeUmIUhcP0jdoIa12mkDPZEBROw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=li6wor3X7Y1xFEBuxWWV0j35SjwiayK6EiWzwgvrA+g=; b=XdfPOzrU7FAV/8O0sgOhIBozDbndwRRDK+kq8fX+SxGJzLh/eyoVOTl9ndEfD6qH/A/owK nt0+pXX3DvXDywhfpMm+samPQSofOm0FOFKJaPf6sGYbAz4rkLyWkgNu2cqtDj56ESEyFo iVoENs/0fvLoprVsEvIi6PbF7ML/1qSU5pXvSLrfHM8xxoxBYJg/+VqoesOMGaYaWf39wV EEkqiVOetE640fhfRpNr2d6Fn9SEJMCigCiFuJ7hz+woZySLQXYHYaqLDV312/gRjYGtkY EydPxFabc8l3MPunV+CsxPDi1IV0QrUGzkZfDKD9q+gSH43GCjY99Dvha++2jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598192; a=rsa-sha256; cv=none; b=C/llXrYHDF5bAhWOlW2DeI0da/GO4x3QuwqRtvwKLo2nHb/F81CwDxEdb+3GBrD5FE88F5 km5FOnDxj80iccyxXUwSSxGGPWH88Eo0SiO+0NXFtpBMJ70vu53/EM6jA1KbsulkJnYpe3 sATbAhfkSqU5MPws5r9Z+BkYlJdhYw6XTFO/gXaa1LTJkoz5cWkRfrFvI2i5bOqtr3T7rO w4PvtzqqZ6OzSA6duOe/IEsCVUU9AYvyURi57E3RE3K38m/lvEJOJQ2tCxPbiOW5+ZHE7N B/DUAy0tMz0ebj6CtDMxSuH5ucFjdjPFpASrc259C8+JXr7Bk3Wj8A3D+Hrtlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3M6cZDzQF6; Tue, 24 Jan 2023 22:09:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9p7N070875; Tue, 24 Jan 2023 22:09:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9p4o070874; Tue, 24 Jan 2023 22:09:51 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:51 GMT Message-Id: <202301242209.30OM9p4o070874@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: d7b483f34f0d - stable/13 - loader: Create loader_simp(8) to document simple version of loader List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d7b483f34f0d83a82c071455dbd89e684762a4ca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d7b483f34f0d83a82c071455dbd89e684762a4ca commit d7b483f34f0d83a82c071455dbd89e684762a4ca Author: Warner Losh AuthorDate: 2021-07-14 22:43:25 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader: Create loader_simp(8) to document simple version of loader loader_simp is a much simplified version of loader that will process a linear sequence of commands from loader.rc. It has neither Forth nor Lua built in and is much smaller. Document it. This is largely copied from loader.8 since it implements those built-in commands. Future revisions will fix this duplication. Sponsored by: Netflix (cherry picked from commit 9873c807dac1f8b83b9f7bc9a8d4e318ea295b55) --- stand/man/Makefile | 1 + stand/man/loader_simp.8 | 762 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 763 insertions(+) diff --git a/stand/man/Makefile b/stand/man/Makefile index d5e7ad791ffb..5523908b6814 100644 --- a/stand/man/Makefile +++ b/stand/man/Makefile @@ -5,6 +5,7 @@ M.${MK_EFI}+= boot1.efi.8 M.yes+= loader.8 M.${MK_EFI}+= loader.efi.8 +M.yes+= loader_simp.8 MAN=${M.yes} diff --git a/stand/man/loader_simp.8 b/stand/man/loader_simp.8 new file mode 100644 index 000000000000..689996f244fd --- /dev/null +++ b/stand/man/loader_simp.8 @@ -0,0 +1,762 @@ +.\" Copyright (c) 1999 Daniel C. Sobral +.\" 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$ +.\" +.Dd July 14, 2021 +.Dt LOADER 8 +.Os +.Sh NAME +.Nm loader +.Nd kernel bootstrapping final stage +.Sh DESCRIPTION +The program called +.Nm +is the final stage of +.Fx Ns 's +kernel bootstrapping process. +On IA32 (i386) architectures, it is a +.Pa BTX +client. +It is linked statically to +.Xr libstand 3 +and usually located in the directory +.Pa /boot . +.Pp +It provides a scripting language that can be used to +automate tasks, do pre-configuration or assist in recovery +procedures. +This scripting language is roughly divided in +two main components. +The smaller one is a set of commands +designed for direct use by the casual user, called "builtin +commands" for historical reasons. +The main drive behind these commands is user-friendliness. +The bigger component is an +.Tn ANS +Forth compatible Forth interpreter based on FICL, by +.An John Sadler . +.Pp +During initialization, +.Nm +will probe for a console and set the +.Va console +variable, or set it to serial console +.Pq Dq Li comconsole +if the previous boot stage used that. +If multiple consoles are selected, they will be listed separated by spaces. +Then, devices are probed, +.Va currdev +and +.Va loaddev +are set, and +.Va LINES +is set to 24. +After that, +.Pa /boot/loader.rc +is processed if available. +These files are processed through the +.Ic include +command, which reads all of them into memory before processing them, +making disk changes possible. +.Pp +At this point, if an +.Ic autoboot +has not been tried, and if +.Va autoboot_delay +is not set to +.Dq Li NO +(not case sensitive), then an +.Ic autoboot +will be tried. +If the system gets past this point, +.Va prompt +will be set and +.Nm +will engage interactive mode. +Please note that historically even when +.Va autoboot_delay +is set to +.Dq Li 0 +user will be able to interrupt autoboot process by pressing some key +on the console while kernel and modules are being loaded. +In some +cases such behaviour may be undesirable, to prevent it set +.Va autoboot_delay +to +.Dq Li -1 , +in this case +.Nm +will engage interactive mode only if +.Ic autoboot +has failed. +.Sh BUILTIN COMMANDS +In +.Nm , +builtin commands take parameters from the command line. +Presently, +the only way to call them from a script is by using +.Pa evaluate +on a string. +If an error condition occurs, an exception will be generated, +which can be intercepted using +.Tn ANS +Forth exception handling +words. +If not intercepted, an error message will be displayed and +the interpreter's state will be reset, emptying the stack and restoring +interpreting mode. +.Pp +The builtin commands available are: +.Pp +.Bl -tag -width Ds -compact +.It Ic autoboot Op Ar seconds Op Ar prompt +Proceeds to bootstrap the system after a number of seconds, if not +interrupted by the user. +Displays a countdown prompt +warning the user the system is about to be booted, +unless interrupted by a key press. +The kernel will be loaded first if necessary. +Defaults to 10 seconds. +.Pp +.It Ic bcachestat +Displays statistics about disk cache usage. +For debugging only. +.Pp +.It Ic boot +.It Ic boot Ar kernelname Op Cm ... +.It Ic boot Fl flag Cm ... +Immediately proceeds to bootstrap the system, loading the kernel +if necessary. +Any flags or arguments are passed to the kernel, but they +must precede the kernel name, if a kernel name is provided. +.Pp +.It Ic echo Xo +.Op Fl n +.Op Aq message +.Xc +Displays text on the screen. +A new line will be printed unless +.Fl n +is specified. +.Pp +.It Ic heap +Displays memory usage statistics. +For debugging purposes only. +.Pp +.It Ic help Op topic Op subtopic +Shows help messages read from +.Pa /boot/loader.help . +The special topic +.Em index +will list the topics available. +.Pp +.It Ic include Ar file Op Ar +Process script files. +Each file, in turn, is completely read into memory, +and then each of its lines is passed to the command line interpreter. +If any error is returned by the interpreter, the include +command aborts immediately, without reading any other files, and +returns an error itself (see +.Sx ERRORS ) . +.Pp +.It Ic load Xo +.Op Fl t Ar type +.Ar file Cm ... +.Xc +Loads a kernel, kernel loadable module (kld), disk image, +or file of opaque contents tagged as being of the type +.Ar type . +Kernel and modules can be either in a.out or ELF format. +Any arguments passed after the name of the file to be loaded +will be passed as arguments to that file. +Use the +.Li md_image +type to make the kernel create a file-backed +.Xr md 4 +disk. +This is useful for booting from a temporary rootfs. +Currently, argument passing does not work for the kernel. +.Pp +.It Ic load_geli Xo +.Op Fl n Ar keyno +.Ar prov Ar file +.Xc +Loads a +.Xr geli 8 +encryption keyfile for the given provider name. +The key index can be specified via +.Ar keyno +or will default to zero. +.Pp +.It Ic ls Xo +.Op Fl l +.Op Ar path +.Xc +Displays a listing of files in the directory +.Ar path , +or the root directory if +.Ar path +is not specified. +If +.Fl l +is specified, file sizes will be shown too. +.Pp +.It Ic lsdev Op Fl v +Lists all of the devices from which it may be possible to load modules, +as well as ZFS pools. +If +.Fl v +is specified, more details are printed, including ZFS pool information +in a format that resembles +.Nm zpool Cm status +output. +.Pp +.It Ic lsmod Op Fl v +Displays loaded modules. +If +.Fl v +is specified, more details are shown. +.Pp +.It Ic lszfs Ar filesystem +A ZFS extended command that can be used to explore the ZFS filesystem +hierarchy in a pool. +Lists the immediate children of the +.Ar filesystem . +The filesystem hierarchy is rooted at a filesystem with the same name +as the pool. +.Pp +.It Ic more Ar file Op Ar +Display the files specified, with a pause at each +.Va LINES +displayed. +.Pp +.It Ic pnpscan Op Fl v +Scans for Plug-and-Play devices. +This is not functional at present. +.Pp +.It Ic read Xo +.Op Fl t Ar seconds +.Op Fl p Ar prompt +.Op Va variable +.Xc +Reads a line of input from the terminal, storing it in +.Va variable +if specified. +A timeout can be specified with +.Fl t , +though it will be canceled at the first key pressed. +A prompt may also be displayed through the +.Fl p +flag. +.Pp +.It Ic reboot +Immediately reboots the system. +.Pp +.It Ic set Ar variable +.It Ic set Ar variable Ns = Ns Ar value +Set loader's environment variables. +.Pp +.It Ic show Op Va variable +Displays the specified variable's value, or all variables and their +values if +.Va variable +is not specified. +.Pp +.It Ic unload +Remove all modules from memory. +.Pp +.It Ic unset Va variable +Removes +.Va variable +from the environment. +.Pp +.It Ic \&? +Lists available commands. +.El +.Ss BUILTIN ENVIRONMENT VARIABLES +The +.Nm +has actually two different kinds of +.Sq environment +variables. +There are ANS Forth's +.Em environmental queries , +and a separate space of environment variables used by builtins, which +are not directly available to Forth words. +It is the latter type that this section covers. +.Pp +Environment variables can be set and unset through the +.Ic set +and +.Ic unset +builtins, and can have their values interactively examined through the +use of the +.Ic show +builtin. +Their values can also be accessed as described in +.Sx BUILTIN PARSER . +.Pp +Notice that these environment variables are not inherited by any shell +after the system has been booted. +.Pp +A few variables are set automatically by +.Nm . +Others can affect the behavior of either +.Nm +or the kernel at boot. +Some options may require a value, +while others define behavior just by being set. +Both types of builtin variables are described below. +.Bl -tag -width bootfile +.It Va autoboot_delay +Number of seconds +.Ic autoboot +will wait before booting. +Configuration options are described in +.Xr loader.conf 5 . +.It Va boot_askname +Instructs the kernel to prompt the user for the name of the root device +when the kernel is booted. +.It Va boot_cdrom +Instructs the kernel to try to mount the root file system from CD-ROM. +.It Va boot_ddb +Instructs the kernel to start in the DDB debugger, rather than +proceeding to initialize when booted. +.It Va boot_dfltroot +Instructs the kernel to mount the statically compiled-in root file system. +.It Va boot_gdb +Selects gdb-remote mode for the kernel debugger by default. +.It Va boot_multicons +Enables multiple console support in the kernel early on boot. +In a running system, console configuration can be manipulated +by the +.Xr conscontrol 8 +utility. +.It Va boot_mute +All kernel console output is suppressed when console is muted. +In a running system, the state of console muting can be manipulated by the +.Xr conscontrol 8 +utility. +.It Va boot_pause +During the device probe, pause after each line is printed. +.It Va boot_serial +Force the use of a serial console even when an internal console +is present. +.It Va boot_single +Prevents the kernel from initiating a multi-user startup; instead, +a single-user mode will be entered when the kernel has finished +device probing. +.It Va boot_verbose +Setting this variable causes extra debugging information to be printed +by the kernel during the boot phase. +.It Va bootfile +List of semicolon-separated search path for bootable kernels. +The default is +.Dq Li kernel . +.It Va comconsole_speed +Defines the speed of the serial console (i386 and amd64 only). +If the previous boot stage indicated that a serial console is in use +then this variable is initialized to the current speed of the console +serial port. +Otherwise it is set to 9600 unless this was overridden using the +.Va BOOT_COMCONSOLE_SPEED +variable when +.Nm +was compiled. +Changes to the +.Va comconsole_speed +variable take effect immediately. +.It Va comconsole_port +Defines the base i/o port used to access console UART +(i386 and amd64 only). +If the variable is not set, its assumed value is 0x3F8, which +corresponds to PC port COM1, unless overridden by +.Va BOOT_COMCONSOLE_PORT +variable during the compilation of +.Nm . +Setting the +.Va comconsole_port +variable automatically set +.Va hw.uart.console +environment variable to provide a hint to kernel for location of the console. +Loader console is changed immediately after variable +.Va comconsole_port +is set. +.It Va comconsole_pcidev +Defines the location of a PCI device of the 'simple communication' +class to be used as the serial console UART (i386 and amd64 only). +The syntax of the variable is +.Li 'bus:device:function[:bar]' , +where all members must be numeric, with possible +.Li 0x +prefix to indicate a hexadecimal value. +The +.Va bar +member is optional and assumed to be 0x10 if omitted. +The bar must decode i/o space. +Setting the variable +.Va comconsole_pcidev +automatically sets the variable +.Va comconsole_port +to the base of the selected bar, and hint +.Va hw.uart.console . +Loader console is changed immediately after variable +.Va comconsole_pcidev +is set. +.It Va console +Defines the current console or consoles. +Multiple consoles may be specified. +In that case, the first listed console will become the default console for +userland output (e.g.\& from +.Xr init 8 ) . +.It Va currdev +Selects the default device to loader the kernel from. +The syntax is: +.Dl Ic loader_device: +or +.Dl Ic zfs:dataset: +Examples: +.Dl Ic disk0p2: +.Dl Ic zfs:zroot/ROOT/default: +.It Va dumpdev +Sets the device for kernel dumps. +This can be used to ensure that a device is configured before the corresponding +.Va dumpdev +directive from +.Xr rc.conf 5 +has been processed, allowing kernel panics that happen during the early stages +of boot to be captured. +.It Va init_chroot +See +.Xr init 8 . +.It Va init_exec +See +.Xr init 8 . +.It Va init_path +Sets the list of binaries which the kernel will try to run as the initial +process. +The first matching binary is used. +The default list is +.Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:\:/rescue/init . +.It Va init_script +See +.Xr init 8 . +.It Va init_shell +See +.Xr init 8 . +.It Va interpret +Has the value +.Dq Li OK +if the Forth's current state is interpreting. +.It Va LINES +Define the number of lines on the screen, to be used by the pager. +.It Va module_path +Sets the list of directories which will be searched for modules +named in a load command or implicitly required by a dependency. +The default value for this variable is +.Dq Li /boot/kernel;/boot/modules . +.It Va num_ide_disks +Sets the number of IDE disks as a workaround for some problems in +finding the root disk at boot. +This has been deprecated in favor of +.Va root_disk_unit . +.It Va prompt +Value of +.Nm Ns 's +prompt. +Defaults to +.Dq Li "${interpret}" . +If variable +.Va prompt +is unset, the default prompt is +.Ql > . +.It Va root_disk_unit +If the code which detects the disk unit number for the root disk is +confused, e.g.\& by a mix of SCSI and IDE disks, or IDE disks with +gaps in the sequence (e.g.\& no primary slave), the unit number can +be forced by setting this variable. +.It Va rootdev +By default the value of +.Va currdev +is used to set the root file system +when the kernel is booted. +This can be overridden by setting +.Va rootdev +explicitly. +.El +.Pp +Other variables are used to override kernel tunable parameters. +The following tunables are available: +.Bl -tag -width Va +.It Va efi.rt.disabled +Disable UEFI runtime services in the kernel, if applicable. +Runtime services are only available and used if the kernel is booted in a UEFI +environment. +.It Va hw.physmem +Limit the amount of physical memory the system will use. +By default the size is in bytes, but the +.Cm k , K , m , M , g +and +.Cm G +suffixes +are also accepted and indicate kilobytes, megabytes and gigabytes +respectively. +An invalid suffix will result in the variable being ignored by the +kernel. +.It Va hw.pci.host_start_mem , hw.acpi.host_start_mem +When not otherwise constrained, this limits the memory start +address. +The default is 0x80000000 and should be set to at least size of the +memory and not conflict with other resources. +Typically, only systems without PCI bridges need to set this variable +since PCI bridges typically constrain the memory starting address +(and the variable is only used when bridges do not constrain this +address). +.It Va hw.pci.enable_io_modes +Enable PCI resources which are left off by some BIOSes or are not +enabled correctly by the device driver. +Tunable value set to ON (1) by default, but this may cause problems +with some peripherals. +.It Va kern.maxusers +Set the size of a number of statically allocated system tables; see +.Xr tuning 7 +for a description of how to select an appropriate value for this +tunable. +When set, this tunable replaces the value declared in the kernel +compile-time configuration file. +.It Va kern.ipc.nmbclusters +Set the number of mbuf clusters to be allocated. +The value cannot be set below the default +determined when the kernel was compiled. +.It Va kern.ipc.nsfbufs +Set the number of +.Xr sendfile 2 +buffers to be allocated. +Overrides +.Dv NSFBUFS . +Not all architectures use such buffers; see +.Xr sendfile 2 +for details. +.It Va kern.maxswzone +Limits the amount of KVM to be used to hold swap +metadata, which directly governs the +maximum amount of swap the system can support, +at the rate of approximately 200 MB of swap space +per 1 MB of metadata. +This value is specified in bytes of KVA space. +If no value is provided, the system allocates +enough memory to handle an amount of swap +that corresponds to eight times the amount of +physical memory present in the system. +.Pp +Note that swap metadata can be fragmented, +which means that the system can run out of +space before it reaches the theoretical limit. +Therefore, care should be taken to not configure +more swap than approximately half of the +theoretical maximum. +.Pp +Running out of space for swap metadata can leave +the system in an unrecoverable state. +Therefore, you should only change +this parameter if you need to greatly extend the +KVM reservation for other resources such as the +buffer cache or +.Va kern.ipc.nmbclusters . +Modifies kernel option +.Dv VM_SWZONE_SIZE_MAX . +.It Va kern.maxbcache +Limits the amount of KVM reserved for use by the +buffer cache, specified in bytes. +The default maximum is 200MB on i386, +and 400MB on amd64. +This parameter is used to +prevent the buffer cache from eating too much +KVM in large-memory machine configurations. +Only mess around with this parameter if you need to +greatly extend the KVM reservation for other resources +such as the swap zone or +.Va kern.ipc.nmbclusters . +Note that +the NBUF parameter will override this limit. +Modifies +.Dv VM_BCACHE_SIZE_MAX . +.It Va kern.msgbufsize +Sets the size of the kernel message buffer. +The default limit of 96KB is usually sufficient unless +large amounts of trace data need to be collected +between opportunities to examine the buffer or +dump it to a file. +Overrides kernel option +.Dv MSGBUF_SIZE . +.It Va machdep.disable_mtrrs +Disable the use of i686 MTRRs (x86 only). +.It Va net.inet.tcp.tcbhashsize +Overrides the compile-time set value of +.Dv TCBHASHSIZE +or the preset default of 512. +Must be a power of 2. +.It Va twiddle_divisor +Throttles the output of the +.Sq twiddle +I/O progress indicator displayed while loading the kernel and modules. +This is useful on slow serial consoles where the time spent waiting for +these characters to be written can add up to many seconds. +The default is 1 (full speed); a value of 2 spins half as fast, and so on. +.It Va vm.kmem_size +Sets the size of kernel memory (bytes). +This overrides the value determined when the kernel was compiled. +Modifies +.Dv VM_KMEM_SIZE . +.It Va vm.kmem_size_min +.It Va vm.kmem_size_max +Sets the minimum and maximum (respectively) amount of kernel memory +that will be automatically allocated by the kernel. +These override the values determined when the kernel was compiled. +Modifies +.Dv VM_KMEM_SIZE_MIN +and +.Dv VM_KMEM_SIZE_MAX . +.El +.Ss ZFS FEATURES +.Nm +supports the following format for specifying ZFS filesystems which +can be used wherever +.Xr loader 8 +refers to a device specification: +.Pp +.Ar zfs:pool/filesystem: +.Pp +where +.Pa pool/filesystem +is a ZFS filesystem name as described in +.Xr zfs 8 . +.Pp +If +.Pa /etc/fstab +does not have an entry for the root filesystem and +.Va vfs.root.mountfrom +is not set, but +.Va currdev +refers to a ZFS filesystem, then +.Nm +will instruct kernel to use that filesystem as the root filesystem. +.Sh SECURITY +Access to the +.Nm +command line provides several ways of compromising system security, +including, but not limited to: +.Pp +.Bl -bullet +.It +Booting from removable storage. +.Pp +One can prevent unauthorized access +to the +.Nm +command line by booting unconditionally in +.Pa loader.rc . +In order for this to be effective, one should also configure the firmware +(BIOS or UEFI) to prevent booting from unauthorized devices. +.Sh FILES +.Bl -tag -width /boot/loader_simp -compact +.It Pa /boot/loader_simp +.Nm +itself. +.It Pa /boot/loader.rc +The script run by +.Nm +on startup. +.Sh EXAMPLES +Boot in single user mode: +.Pp +.Dl boot -s +.Pp +Load the kernel, a splash screen, and then autoboot in five seconds. +Notice that a kernel must be loaded before any other +.Ic load +command is attempted. +.Bd -literal -offset indent +load kernel +load splash_bmp +load -t splash_image_data /boot/chuckrulez.bmp +autoboot 5 +.Ed +.Pp +Set the disk unit of the root device to 2, and then boot. +This would be needed in a system with two IDE disks, +with the second IDE disk hardwired to ada2 instead of ada1. +.Bd -literal -offset indent +set root_disk_unit=2 +boot /boot/kernel/kernel +.Ed +.Pp +Set the default device used for loading a kernel from a ZFS filesystem: +.Bd -literal -offset indent +set currdev=zfs:tank/ROOT/knowngood: +.Ed +.Pp +.Sh ERRORS +The following values are thrown by +.Nm : +.Bl -tag -width XXXXX -offset indent +.It 100 +Any type of error in the processing of a builtin. +.It -1 +.Ic Abort +executed. +.It -2 +.Ic Abort" +executed. +.It -56 +.Ic Quit +executed. +.It -256 +Out of interpreting text. +.It -257 +Need more text to succeed -- will finish on next run. +.It -258 +.Ic Bye +executed. +.It -259 +Unspecified error. +.El +.Sh SEE ALSO +.Xr libstand 3 , +.Xr loader.conf 5 , +.Xr tuning 7 , +.Xr boot 8 , +.Xr btxld 8 +.Sh HISTORY +The +.Nm +first appeared in +.Fx 3.1 . +.Sh AUTHORS +.An -nosplit +The +.Nm +was written by +.An Michael Smith Aq msmith@FreeBSD.org . From nobody Tue Jan 24 22:09:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3P2Trdz3bdRv; Tue, 24 Jan 2023 22:09: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 4P1h3P1MZbz4HCF; Tue, 24 Jan 2023 22:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1klWYLZ6F+mE12hqhMu2fxLzXD10IKJ5c0tP5UQ0BLM=; b=WF8VroZcCe2MNlb2uUdyIGhqX3tumEXool+VyYw9TIejIN8RY/qHOM9Zu0jnt7hYEhDZRq 2KHfe65i+DJcIYI6Pp1c0P55COmiaybAkuqYmmsfXCwTTGQv7HUgVTm/LSl9GWeBuKAV2x iuhEBfB/VDyNbo92UEOkZII1Xj9pywzUfhVw/zNfeXIUE+iwNaXef+gC+9mWbozVDjth3I tRS8zTxaZGmNB7wrq6CmKQSbLKFQeukbOyD3VOufWT7P/pLTCUzKRP7c44OtYT3MPIiBq0 6d8Uj17Rp3f+gHNL19ZMNM2rg9+rgWEdby2ONeNRXl06RMePBLsZOHUSTgBvEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1klWYLZ6F+mE12hqhMu2fxLzXD10IKJ5c0tP5UQ0BLM=; b=fc1ocCNkjnORhyre6ayrS/a05snBqFh9FexnS0s3GZ+Sg8JwkxaxOtH7O9W1lR8tbxL/3K ypzRL4Xv4rDVcrIprFq4aAaLB6r8A/QjqvgOx2eqk1Qy7XXGgeMqQcHHbW420GVs7dc/F7 ZQXL85o0g5pMtOIXAqEXqtWEJECAWnCtL0Xz6t+Y9fVhvnhdin8Bz1Wg19Bo1eVbMvSvV5 rTzv+Iy3aR2I0S6GKz4P/qaL/8yRbvxGaVp1F7kKR45XSwhUTnv9DWux9/iswE+WwSjiYW kizJ0sjH1Zu75wnDVO1yx7TvKfNIlKw5eQJr24d8Qd711WhioQVXVL6VP3JPmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598193; a=rsa-sha256; cv=none; b=TebEvd27YIj6IZG1sJj28MLg2AZISHg9QGKrzu0bbbiM0ohs0G2VKRFYzqb40oKk3pywfQ nwDj5TII+gk3WpuvnHbdXTSq/7qf+OwSJy1lONAJ6C35Nhq3IeQyxvn7W+YMF1EDGwobqS En30kJktFgBqJ0cX5JYq+sor4JyvAcjXcNupUbXiV3JXmuRQtAByI0BCKihqJWG+BFu19L RYpX1EmOVX2GUYX6zoHtBNqYCKgb/2kr01htIXiwel92GiMVq634NdpIVIz+qHFCvVUEzC 93lrlJ3JSUyI2MFg3hrEcSfx4YkfouJ2qIm6P1u9FPDYbOHIwMwtzzU5xgbKhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3P0PkPzQF7; Tue, 24 Jan 2023 22:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9qVT070901; Tue, 24 Jan 2023 22:09:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9q3C070900; Tue, 24 Jan 2023 22:09:52 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:52 GMT Message-Id: <202301242209.30OM9q3C070900@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: 4f2e5793d753 - stable/13 - Fix build of stand/ when building world with ASAN List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4f2e5793d753cdd2e5625fc292a9d8e1ab4dfa39 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4f2e5793d753cdd2e5625fc292a9d8e1ab4dfa39 commit 4f2e5793d753cdd2e5625fc292a9d8e1ab4dfa39 Author: Alex Richardson AuthorDate: 2021-08-02 08:50:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 Fix build of stand/ when building world with ASAN The userboot/test program links against the default userspace libraries (e.g. shared libgcc_s.so) that will be instrumented if WITH_ASAN is set. All other programs link against libsa instead of libc and therefore can't use the sanitizer runtime library. To fix the stand/ build with sanitizers, we disable MK_ASAN/MK_UBSAN if -nostdlib is found in the LDFLAGS (i.e. we are using libsa instead of libc). Reviewed By: imp, tsoome Differential Revision: https://reviews.freebsd.org/D31047 (cherry picked from commit 5e9226f063bc43574e2168b4aafad8232f08002a) --- stand/defs.mk | 6 ++++++ stand/userboot/userboot/Makefile | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/stand/defs.mk b/stand/defs.mk index bbebf270c7ef..765fd046a879 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -25,6 +25,12 @@ INTERNALLIB= # enough to make that hassle worth chasing. _CPUCFLAGS= +.if ${LDFLAGS:M-nostdlib} +# Sanitizers won't work unless we link against libc (e.g. in userboot/test). +MK_ASAN:= no +MK_UBSAN:= no +.endif + .include .include diff --git a/stand/userboot/userboot/Makefile b/stand/userboot/userboot/Makefile index 767840101200..60fcf57d9697 100644 --- a/stand/userboot/userboot/Makefile +++ b/stand/userboot/userboot/Makefile @@ -6,6 +6,9 @@ LOADER_CD9660_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= no PIC=yes +# Note: -nostdlib needs to be added to LDFLAGS before including defs.mk +LDFLAGS+= -nostdlib -Wl,-Bsymbolic + .include SHLIB_NAME= userboot_${LOADER_INTERP}.so @@ -39,8 +42,6 @@ CFLAGS.main.c+= -I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs CFLAGS.gfx_fb.c+= -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite CWARNFLAGS.main.c += -Wno-implicit-function-declaration -LDFLAGS+= -nostdlib -Wl,-Bsymbolic - NEWVERSWHAT= "User boot ${LOADER_INTERP}" ${MACHINE_CPUARCH} VERSION_FILE= ${.CURDIR}/../userboot/version From nobody Tue Jan 24 22:09:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3Q36J6z3bdZh; Tue, 24 Jan 2023 22:09: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 4P1h3Q2RgNz4HJj; Tue, 24 Jan 2023 22:09:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OwovLsPJ5/D0R8GnZwi2MQU1lVF8HOmUFSQTPAVNmiA=; b=Z7RPbQ+qWotayMHvRZA92xkngj1kQD25fXL5qD03CdgAJdeTvhXy0LptRuSzuujvlLfTeo qYin+RV8/xTnW8amhzifLuXKMjacrmiETxhyt8Hk8H+iU5bbrr4y0wBreU1i7vrRY2lcxr jIdwoHM+K+2jf+4eWBfTSg9uDC3pK8/4LB8QvP5HwZJHISdGaxvQJV6ryGX109FbOFk5Y5 R3Joo5vWK9ckgydkzZpvbuhwLf5rzgRJKhFgkM0u66RStw+/mLROrbTzDtiQ9IOLcbwPfa MjRhmP61xJQzDxKOTYLDDCtnOQLkMYGk3XlEUwxZWl1Y2p25vo+9JhzZQoB4qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OwovLsPJ5/D0R8GnZwi2MQU1lVF8HOmUFSQTPAVNmiA=; b=rgHYhdlUXYsf8xiDl4yuUq9QOL8W45+pMA4rNioVlvmNXZH8r8LotAPVde2ZwQCpAu3cHy MXkqPjdtufLeUVL9RPPUiwB/aM7BoiRi/SavhYzaiTYTMW+jGc/VemN5ywOKLduExNyCKk dkoBDRvvxHcedECiAke271OW63p1bgbRuh5Tf7gbpWEskidX57eV1vsKpsyptqw7SibhQL cTD32O2ZAfz9vrFtqnu3VmBFjy1z/bRgg+8BkILotO3mV6yE/K9rwXMl9zqmhqyvzX4hxr BYs81xkIQZHOe2yK3vWwNv1sS3YqBGZZKxt2Pspu27qGnnjW5J+6cCTuLufhvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598194; a=rsa-sha256; cv=none; b=WdtVf5MhcMYyUAsJUse3DSKkoPUndYpVVArU9Z7E5Es4fTfAU+KTwBhFIu3mYxMRAQKRhf RYO0o1ipFs+jsKHDCyaIXSN9Im7x41lRwxUoNxdb5N1UQh+a+mDaCpdHYRn0DllZfbE9nx Y2cMhrpbzBVKtjGWUhz8lPlOG7pusPCaCk5yImcMHKsoHXxHByf/lDVBGX1mTrtzFmrcum t++llriYCUxL8L/uEk7Rue/hPYpkPKOK3tvUNxam/4tcY54P3Or612FTRiSss7lYmH7BZh tmRS2rvEEonB3vtKUxk6rnJ9fQIcvZzwfUlFMDLkDc9zUsDw17uJQuSMbOPGZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3Q1RNSzQQl; Tue, 24 Jan 2023 22:09:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9sbn070929; Tue, 24 Jan 2023 22:09:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9sEC070928; Tue, 24 Jan 2023 22:09:54 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:54 GMT Message-Id: <202301242209.30OM9sEC070928@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: 80a80b130ab1 - stable/13 - loader: create separate man pages for each of the loaders List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 80a80b130ab1f2be89a17758baab48ec04de7444 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=80a80b130ab1f2be89a17758baab48ec04de7444 commit 80a80b130ab1f2be89a17758baab48ec04de7444 Author: Warner Losh AuthorDate: 2021-09-29 15:21:17 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader: create separate man pages for each of the loaders Create a man page per loader. Loader(8) will have information common to all of them, while loader_${INTERP}(8) will have information relevant to that specific loader. Rewrite loader(8) to give an overview and point to the appropriate man page. Rewrite each of the loader_${INTER}(8) man pages to contain only the relevant information to that loader. Put all the common commands, environment variables, etc in loader_simp(8) and refernce that from the loader_lua or loader_4th man pages. The loader_lua(8) could use more details about the Lua integration. Additional organization may be benefitial. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31340 (cherry picked from commit 9e1dc7bec331b4d120d4b0687cfd54692e4fddcb) --- stand/man/Makefile | 2 + stand/man/loader.8 | 1083 ++--------------------------------------------- stand/man/loader_4th.8 | 585 +++++++++++++++++++++++++ stand/man/loader_lua.8 | 277 ++++++++++++ stand/man/loader_simp.8 | 28 +- 5 files changed, 911 insertions(+), 1064 deletions(-) diff --git a/stand/man/Makefile b/stand/man/Makefile index 5523908b6814..27370624ff62 100644 --- a/stand/man/Makefile +++ b/stand/man/Makefile @@ -5,6 +5,8 @@ M.${MK_EFI}+= boot1.efi.8 M.yes+= loader.8 M.${MK_EFI}+= loader.efi.8 +M.${MK_FORTH}+= loader_4th.8 +M.${MK_LOADER_LUA}+= loader_lua.8 M.yes+= loader_simp.8 MAN=${M.yes} diff --git a/stand/man/loader.8 b/stand/man/loader.8 index c606068941a7..b71ac71e16ce 100644 --- a/stand/man/loader.8 +++ b/stand/man/loader.8 @@ -1,5 +1,6 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. +.\" Copyright (c) 2021 Warner Losh .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -24,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 7, 2021 +.Dd September 29, 2021 .Dt LOADER 8 .Os .Sh NAME @@ -36,13 +37,14 @@ The program called is the final stage of .Fx Ns 's kernel bootstrapping process. -On IA32 (i386) architectures, it is a -.Pa BTX -client. -It is linked statically to -.Xr libstand 3 -and usually located in the directory -.Pa /boot . +It is responsible for bringing the kernel, kernel modules and other files into +memory. +It creates a set of +.Xr sh 1 +like environment variables that are passed to the kernel. +It executes boot scripts written in one of several interpreters. +Together with the scripts, it controls the booting process and +interaction with the user. .Pp It provides a scripting language that can be used to automate tasks, do pre-configuration or assist in recovery @@ -53,10 +55,17 @@ The smaller one is a set of commands designed for direct use by the casual user, called "builtin commands" for historical reasons. The main drive behind these commands is user-friendliness. -The bigger component is an -.Tn ANS -Forth compatible Forth interpreter based on FICL, by +The larger component is the scripting language built into +the boot loader. +.Fx +provides three different interpreters: Forth, Lua and Simple. +The Forth loader is based on an ANS Forth compatible +Forth interpreter based on FICL, by .An John Sadler . +The Lua loader is includes a full Lua interpreter from +.Pa https://www.lua.org/ . +The Simple loader only interprets a list of builtin commands +without any control structure. .Pp During initialization, .Nm @@ -73,1039 +82,36 @@ and are set, and .Va LINES is set to 24. -Next, -.Tn FICL -is initialized, the builtin words are added to its vocabulary, and -.Pa /boot/loader.4th -is processed if it exists. -No disk switching is possible while that file is being read. -The inner interpreter -.Nm -will use with -.Tn FICL -is then set to -.Ic interpret , -which is -.Tn FICL Ns 's -default. -After that, -.Pa /boot/loader.rc -is processed if available. -These files are processed through the -.Ic include -command, which reads all of them into memory before processing them, -making disk changes possible. -.Pp -At this point, if an -.Ic autoboot -has not been tried, and if -.Va autoboot_delay -is not set to -.Dq Li NO -(not case sensitive), then an -.Ic autoboot -will be tried. -If the system gets past this point, -.Va prompt -will be set and -.Nm -will engage interactive mode. -Please note that historically even when -.Va autoboot_delay -is set to -.Dq Li 0 -user will be able to interrupt autoboot process by pressing some key -on the console while kernel and modules are being loaded. -In some -cases such behaviour may be undesirable, to prevent it set -.Va autoboot_delay -to -.Dq Li -1 , -in this case -.Nm -will engage interactive mode only if -.Ic autoboot -has failed. +Finally, an interpreter specific file will be executed. .Sh BUILTIN COMMANDS -In -.Nm , -builtin commands take parameters from the command line. -Presently, -the only way to call them from a script is by using -.Pa evaluate -on a string. -If an error condition occurs, an exception will be generated, -which can be intercepted using -.Tn ANS -Forth exception handling -words. -If not intercepted, an error message will be displayed and -the interpreter's state will be reset, emptying the stack and restoring -interpreting mode. -.Pp -The builtin commands available are: -.Pp -.Bl -tag -width Ds -compact -.It Ic autoboot Op Ar seconds Op Ar prompt -Proceeds to bootstrap the system after a number of seconds, if not -interrupted by the user. -Displays a countdown prompt -warning the user the system is about to be booted, -unless interrupted by a key press. -The kernel will be loaded first if necessary. -Defaults to 10 seconds. -.Pp -.It Ic bcachestat -Displays statistics about disk cache usage. -For debugging only. -.Pp -.It Ic boot -.It Ic boot Ar kernelname Op Cm ... -.It Ic boot Fl flag Cm ... -Immediately proceeds to bootstrap the system, loading the kernel -if necessary. -Any flags or arguments are passed to the kernel, but they -must precede the kernel name, if a kernel name is provided. -.Pp -.Em WARNING : -The behavior of this builtin is changed if -.Xr loader.4th 8 -is loaded. -.Pp -.It Ic echo Xo -.Op Fl n -.Op Aq message -.Xc -Displays text on the screen. -A new line will be printed unless -.Fl n -is specified. -.Pp -.It Ic heap -Displays memory usage statistics. -For debugging purposes only. -.Pp -.It Ic help Op topic Op subtopic -Shows help messages read from -.Pa /boot/loader.help . -The special topic -.Em index -will list the topics available. -.Pp -.It Ic include Ar file Op Ar -Process script files. -Each file, in turn, is completely read into memory, -and then each of its lines is passed to the command line interpreter. -If any error is returned by the interpreter, the include -command aborts immediately, without reading any other files, and -returns an error itself (see -.Sx ERRORS ) . -.Pp -.It Ic load Xo -.Op Fl t Ar type -.Ar file Cm ... -.Xc -Loads a kernel, kernel loadable module (kld), disk image, -or file of opaque contents tagged as being of the type -.Ar type . -Kernel and modules can be either in a.out or ELF format. -Any arguments passed after the name of the file to be loaded -will be passed as arguments to that file. -Use the -.Li md_image -type to make the kernel create a file-backed -.Xr md 4 -disk. -This is useful for booting from a temporary rootfs. -Currently, argument passing does not work for the kernel. -.Pp -.It Ic load_geli Xo -.Op Fl n Ar keyno -.Ar prov Ar file -.Xc -Loads a -.Xr geli 8 -encryption keyfile for the given provider name. -The key index can be specified via -.Ar keyno -or will default to zero. -.Pp -.It Ic ls Xo -.Op Fl l -.Op Ar path -.Xc -Displays a listing of files in the directory -.Ar path , -or the root directory if -.Ar path -is not specified. -If -.Fl l -is specified, file sizes will be shown too. -.Pp -.It Ic lsdev Op Fl v -Lists all of the devices from which it may be possible to load modules, -as well as ZFS pools. -If -.Fl v -is specified, more details are printed, including ZFS pool information -in a format that resembles -.Nm zpool Cm status -output. -.Pp -.It Ic lsmod Op Fl v -Displays loaded modules. -If -.Fl v -is specified, more details are shown. -.Pp -.It Ic lszfs Ar filesystem -A ZFS extended command that can be used to explore the ZFS filesystem -hierarchy in a pool. -Lists the immediate children of the -.Ar filesystem . -The filesystem hierarchy is rooted at a filesystem with the same name -as the pool. -.Pp -.It Ic more Ar file Op Ar -Display the files specified, with a pause at each -.Va LINES -displayed. -.Pp -.It Ic pnpscan Op Fl v -Scans for Plug-and-Play devices. -This is not functional at present. -.Pp -.It Ic read Xo -.Op Fl t Ar seconds -.Op Fl p Ar prompt -.Op Va variable -.Xc -Reads a line of input from the terminal, storing it in -.Va variable -if specified. -A timeout can be specified with -.Fl t , -though it will be canceled at the first key pressed. -A prompt may also be displayed through the -.Fl p -flag. -.Pp -.It Ic reboot -Immediately reboots the system. -.Pp -.It Ic set Ar variable -.It Ic set Ar variable Ns = Ns Ar value -Set loader's environment variables. -.Pp -.It Ic show Op Va variable -Displays the specified variable's value, or all variables and their -values if -.Va variable -is not specified. -.Pp -.It Ic unload -Remove all modules from memory. -.Pp -.It Ic unset Va variable -Removes -.Va variable -from the environment. -.Pp -.It Ic \&? -Lists available commands. -.El +The commands common to all interpreters are described in the +.Xr loader_simp 8 +.Dq BUILTIN COMMANDS +section. .Ss BUILTIN ENVIRONMENT VARIABLES -The -.Nm -has actually two different kinds of -.Sq environment -variables. -There are ANS Forth's -.Em environmental queries , -and a separate space of environment variables used by builtins, which -are not directly available to Forth words. -It is the latter type that this section covers. -.Pp -Environment variables can be set and unset through the -.Ic set -and -.Ic unset -builtins, and can have their values interactively examined through the -use of the -.Ic show -builtin. -Their values can also be accessed as described in -.Sx BUILTIN PARSER . -.Pp -Notice that these environment variables are not inherited by any shell -after the system has been booted. -.Pp -A few variables are set automatically by -.Nm . -Others can affect the behavior of either -.Nm -or the kernel at boot. -Some options may require a value, -while others define behavior just by being set. -Both types of builtin variables are described below. -.Bl -tag -width bootfile -.It Va autoboot_delay -Number of seconds -.Ic autoboot -will wait before booting. -Configuration options are described in -.Xr loader.conf 5 . -.It Va boot_askname -Instructs the kernel to prompt the user for the name of the root device -when the kernel is booted. -.It Va boot_cdrom -Instructs the kernel to try to mount the root file system from CD-ROM. -.It Va boot_ddb -Instructs the kernel to start in the DDB debugger, rather than -proceeding to initialize when booted. -.It Va boot_dfltroot -Instructs the kernel to mount the statically compiled-in root file system. -.It Va boot_gdb -Selects gdb-remote mode for the kernel debugger by default. -.It Va boot_multicons -Enables multiple console support in the kernel early on boot. -In a running system, console configuration can be manipulated -by the -.Xr conscontrol 8 -utility. -.It Va boot_mute -All kernel console output is suppressed when console is muted. -In a running system, the state of console muting can be manipulated by the -.Xr conscontrol 8 -utility. -.It Va boot_pause -During the device probe, pause after each line is printed. -.It Va boot_serial -Force the use of a serial console even when an internal console -is present. -.It Va boot_single -Prevents the kernel from initiating a multi-user startup; instead, -a single-user mode will be entered when the kernel has finished -device probing. -.It Va boot_verbose -Setting this variable causes extra debugging information to be printed -by the kernel during the boot phase. -.It Va bootfile -List of semicolon-separated search path for bootable kernels. -The default is -.Dq Li kernel . -.It Va comconsole_speed -Defines the speed of the serial console (i386 and amd64 only). -If the previous boot stage indicated that a serial console is in use -then this variable is initialized to the current speed of the console -serial port. -Otherwise it is set to 9600 unless this was overridden using the -.Va BOOT_COMCONSOLE_SPEED -variable when -.Nm -was compiled. -Changes to the -.Va comconsole_speed -variable take effect immediately. -.It Va comconsole_port -Defines the base i/o port used to access console UART -(i386 and amd64 only). -If the variable is not set, its assumed value is 0x3F8, which -corresponds to PC port COM1, unless overridden by -.Va BOOT_COMCONSOLE_PORT -variable during the compilation of -.Nm . -Setting the -.Va comconsole_port -variable automatically set -.Va hw.uart.console -environment variable to provide a hint to kernel for location of the console. -Loader console is changed immediately after variable -.Va comconsole_port -is set. -.It Va comconsole_pcidev -Defines the location of a PCI device of the 'simple communication' -class to be used as the serial console UART (i386 and amd64 only). -The syntax of the variable is -.Li 'bus:device:function[:bar]' , -where all members must be numeric, with possible -.Li 0x -prefix to indicate a hexadecimal value. -The -.Va bar -member is optional and assumed to be 0x10 if omitted. -The bar must decode i/o space. -Setting the variable -.Va comconsole_pcidev -automatically sets the variable -.Va comconsole_port -to the base of the selected bar, and hint -.Va hw.uart.console . -Loader console is changed immediately after variable -.Va comconsole_pcidev -is set. -.It Va console -Defines the current console or consoles. -Multiple consoles may be specified. -In that case, the first listed console will become the default console for -userland output (e.g.\& from -.Xr init 8 ) . -.It Va currdev -Selects the default device to loader the kernel from. -The syntax is: -.Dl Ic loader_device: -or -.Dl Ic zfs:dataset: -Examples: -.Dl Ic disk0p2: -.Dl Ic zfs:zroot/ROOT/default: -.It Va dumpdev -Sets the device for kernel dumps. -This can be used to ensure that a device is configured before the corresponding -.Va dumpdev -directive from -.Xr rc.conf 5 -has been processed, allowing kernel panics that happen during the early stages -of boot to be captured. -.It Va init_chroot -See -.Xr init 8 . -.It Va init_exec -See -.Xr init 8 . -.It Va init_path -Sets the list of binaries which the kernel will try to run as the initial -process. -The first matching binary is used. -The default list is -.Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:\:/rescue/init . -.It Va init_script -See -.Xr init 8 . -.It Va init_shell -See -.Xr init 8 . -.It Va interpret -Has the value -.Dq Li OK -if the Forth's current state is interpreting. -.It Va LINES -Define the number of lines on the screen, to be used by the pager. -.It Va module_path -Sets the list of directories which will be searched for modules -named in a load command or implicitly required by a dependency. -The default value for this variable is -.Dq Li /boot/kernel;/boot/modules . -.It Va num_ide_disks -Sets the number of IDE disks as a workaround for some problems in -finding the root disk at boot. -This has been deprecated in favor of -.Va root_disk_unit . -.It Va prompt -Value of -.Nm Ns 's -prompt. -Defaults to -.Dq Li "${interpret}" . -If variable -.Va prompt -is unset, the default prompt is -.Ql > . -.It Va root_disk_unit -If the code which detects the disk unit number for the root disk is -confused, e.g.\& by a mix of SCSI and IDE disks, or IDE disks with -gaps in the sequence (e.g.\& no primary slave), the unit number can -be forced by setting this variable. -.It Va rootdev -By default the value of -.Va currdev -is used to set the root file system -when the kernel is booted. -This can be overridden by setting -.Va rootdev -explicitly. -.El -.Pp -Other variables are used to override kernel tunable parameters. -The following tunables are available: -.Bl -tag -width Va -.It Va efi.rt.disabled -Disable UEFI runtime services in the kernel, if applicable. -Runtime services are only available and used if the kernel is booted in a UEFI -environment. -.It Va hw.physmem -Limit the amount of physical memory the system will use. -By default the size is in bytes, but the -.Cm k , K , m , M , g -and -.Cm G -suffixes -are also accepted and indicate kilobytes, megabytes and gigabytes -respectively. -An invalid suffix will result in the variable being ignored by the -kernel. -.It Va hw.pci.host_start_mem , hw.acpi.host_start_mem -When not otherwise constrained, this limits the memory start -address. -The default is 0x80000000 and should be set to at least size of the -memory and not conflict with other resources. -Typically, only systems without PCI bridges need to set this variable -since PCI bridges typically constrain the memory starting address -(and the variable is only used when bridges do not constrain this -address). -.It Va hw.pci.enable_io_modes -Enable PCI resources which are left off by some BIOSes or are not -enabled correctly by the device driver. -Tunable value set to ON (1) by default, but this may cause problems -with some peripherals. -.It Va kern.maxusers -Set the size of a number of statically allocated system tables; see -.Xr tuning 7 -for a description of how to select an appropriate value for this -tunable. -When set, this tunable replaces the value declared in the kernel -compile-time configuration file. -.It Va kern.ipc.nmbclusters -Set the number of mbuf clusters to be allocated. -The value cannot be set below the default -determined when the kernel was compiled. -.It Va kern.ipc.nsfbufs -Set the number of -.Xr sendfile 2 -buffers to be allocated. -Overrides -.Dv NSFBUFS . -Not all architectures use such buffers; see -.Xr sendfile 2 -for details. -.It Va kern.maxswzone -Limits the amount of KVM to be used to hold swap -metadata, which directly governs the -maximum amount of swap the system can support, -at the rate of approximately 200 MB of swap space -per 1 MB of metadata. -This value is specified in bytes of KVA space. -If no value is provided, the system allocates -enough memory to handle an amount of swap -that corresponds to eight times the amount of -physical memory present in the system. -.Pp -Note that swap metadata can be fragmented, -which means that the system can run out of -space before it reaches the theoretical limit. -Therefore, care should be taken to not configure -more swap than approximately half of the -theoretical maximum. -.Pp -Running out of space for swap metadata can leave -the system in an unrecoverable state. -Therefore, you should only change -this parameter if you need to greatly extend the -KVM reservation for other resources such as the -buffer cache or -.Va kern.ipc.nmbclusters . -Modifies kernel option -.Dv VM_SWZONE_SIZE_MAX . -.It Va kern.maxbcache -Limits the amount of KVM reserved for use by the -buffer cache, specified in bytes. -The default maximum is 200MB on i386, -and 400MB on amd64. -This parameter is used to -prevent the buffer cache from eating too much -KVM in large-memory machine configurations. -Only mess around with this parameter if you need to -greatly extend the KVM reservation for other resources -such as the swap zone or -.Va kern.ipc.nmbclusters . -Note that -the NBUF parameter will override this limit. -Modifies -.Dv VM_BCACHE_SIZE_MAX . -.It Va kern.msgbufsize -Sets the size of the kernel message buffer. -The default limit of 96KB is usually sufficient unless -large amounts of trace data need to be collected -between opportunities to examine the buffer or -dump it to a file. -Overrides kernel option -.Dv MSGBUF_SIZE . -.It Va machdep.disable_mtrrs -Disable the use of i686 MTRRs (x86 only). -.It Va net.inet.tcp.tcbhashsize -Overrides the compile-time set value of -.Dv TCBHASHSIZE -or the preset default of 512. -Must be a power of 2. -.It Va twiddle_divisor -Throttles the output of the -.Sq twiddle -I/O progress indicator displayed while loading the kernel and modules. -This is useful on slow serial consoles where the time spent waiting for -these characters to be written can add up to many seconds. -The default is 16; a value of 32 spins half as fast, -while a value of 8 spins twice as fast. -.It Va vm.kmem_size -Sets the size of kernel memory (bytes). -This overrides the value determined when the kernel was compiled. -Modifies -.Dv VM_KMEM_SIZE . -.It Va vm.kmem_size_min -.It Va vm.kmem_size_max -Sets the minimum and maximum (respectively) amount of kernel memory -that will be automatically allocated by the kernel. -These override the values determined when the kernel was compiled. -Modifies -.Dv VM_KMEM_SIZE_MIN -and -.Dv VM_KMEM_SIZE_MAX . -.El -.Ss ZFS FEATURES -.Nm -supports the following format for specifying ZFS filesystems which -can be used wherever -.Xr loader 8 -refers to a device specification: -.Pp -.Ar zfs:pool/filesystem: -.Pp -where -.Pa pool/filesystem -is a ZFS filesystem name as described in -.Xr zfs 8 . -.Pp -If -.Pa /etc/fstab -does not have an entry for the root filesystem and -.Va vfs.root.mountfrom -is not set, but -.Va currdev -refers to a ZFS filesystem, then -.Nm -will instruct kernel to use that filesystem as the root filesystem. -.Ss BUILTIN PARSER -When a builtin command is executed, the rest of the line is taken -by it as arguments, and it is processed by a special parser which -is not used for regular Forth commands. -.Pp -This special parser applies the following rules to the parsed text: -.Bl -enum -.It -All backslash characters are preprocessed. -.Bl -bullet -.It -\eb , \ef , \er , \en and \et are processed as in C. -.It -\es is converted to a space. -.It -\ev is converted to -.Tn ASCII -11. -.It -\ez is just skipped. -Useful for things like -.Dq \e0xf\ez\e0xf . -.It -\e0xN and \e0xNN are replaced by the hex N or NN. -.It -\eNNN is replaced by the octal NNN -.Tn ASCII -character. -.It -\e" , \e' and \e$ will escape these characters, preventing them from -receiving special treatment in Step 2, described below. -.It -\e\e will be replaced with a single \e . -.It -In any other occurrence, backslash will just be removed. -.El -.It -Every string between non-escaped quotes or double-quotes will be treated -as a single word for the purposes of the remaining steps. -.It -Replace any -.Li $VARIABLE -or -.Li ${VARIABLE} -with the value of the environment variable -.Va VARIABLE . -.It -Space-delimited arguments are passed to the called builtin command. -Spaces can also be escaped through the use of \e\e . -.El -.Pp -An exception to this parsing rule exists, and is described in -.Sx BUILTINS AND FORTH . -.Ss BUILTINS AND FORTH -All builtin words are state-smart, immediate words. -If interpreted, they behave exactly as described previously. -If they are compiled, though, -they extract their arguments from the stack instead of the command line. -.Pp -If compiled, the builtin words expect to find, at execution time, the -following parameters on the stack: -.D1 Ar addrN lenN ... addr2 len2 addr1 len1 N -where -.Ar addrX lenX -are strings which will compose the command line that will be parsed -into the builtin's arguments. -Internally, these strings are concatenated in from 1 to N, -with a space put between each one. -.Pp -If no arguments are passed, a 0 -.Em must -be passed, even if the builtin accepts no arguments. -.Pp -While this behavior has benefits, it has its trade-offs. -If the execution token of a builtin is acquired (through -.Ic ' -or -.Ic ['] ) , -and then passed to -.Ic catch -or -.Ic execute , -the builtin behavior will depend on the system state -.Bf Em -at the time -.Ic catch -or -.Ic execute -is processed! -.Ef -This is particularly annoying for programs that want or need to -handle exceptions. -In this case, the use of a proxy is recommended. -For example: -.Dl : (boot) boot ; -.Sh FICL -.Tn FICL -is a Forth interpreter written in C, in the form of a forth -virtual machine library that can be called by C functions and vice -versa. -.Pp -In -.Nm , -each line read interactively is then fed to -.Tn FICL , -which may call -.Nm -back to execute the builtin words. -The builtin -.Ic include -will also feed -.Tn FICL , -one line at a time. -.Pp -The words available to -.Tn FICL -can be classified into four groups. -The -.Tn ANS -Forth standard words, extra -.Tn FICL -words, extra -.Fx -words, and the builtin commands; -the latter were already described. -The -.Tn ANS -Forth standard words are listed in the -.Sx STANDARDS +The environment variables common to all interpreters are described in the +.Xr loader_simp 8 +.Dq BUILTIN ENVIRONMENT VARIABLES section. -The words falling in the two other groups are described in the -following subsections. -.Ss FICL EXTRA WORDS -.Bl -tag -width wid-set-super -.It Ic .env -.It Ic .ver -.It Ic -roll -.It Ic 2constant -.It Ic >name -.It Ic body> -.It Ic compare -This is the STRING word set's -.Ic compare . -.It Ic compile-only -.It Ic endif -.It Ic forget-wid -.It Ic parse-word -.It Ic sliteral -This is the STRING word set's -.Ic sliteral . -.It Ic wid-set-super -.It Ic w@ -.It Ic w! -.It Ic x. -.It Ic empty -.It Ic cell- -.It Ic -rot -.El -.Ss FREEBSD EXTRA WORDS -.Bl -tag -width XXXXXXXX -.It Ic \&$ Pq -- -Evaluates the remainder of the input buffer, after having printed it first. -.It Ic \&% Pq -- -Evaluates the remainder of the input buffer under a -.Ic catch -exception guard. -.It Ic .# -Works like -.Ic "." -but without outputting a trailing space. -.It Ic fclose Pq Ar fd -- -Closes a file. -.It Ic fkey Pq Ar fd -- char -Reads a single character from a file. -.It Ic fload Pq Ar fd -- -Processes a file -.Em fd . -.It Ic fopen Pq Ar addr len mode Li -- Ar fd -Opens a file. -Returns a file descriptor, or \-1 in case of failure. -The -.Ar mode -parameter selects whether the file is to be opened for read access, write -access, or both. -The constants -.Dv O_RDONLY , O_WRONLY , -and -.Dv O_RDWR -are defined in -.Pa /boot/support.4th , -indicating read only, write only, and read-write access, respectively. -.It Xo -.Ic fread -.Pq Ar fd addr len -- len' -.Xc -Tries to read -.Em len -bytes from file -.Em fd -into buffer -.Em addr . -Returns the actual number of bytes read, or -1 in case of error or end of -file. -.It Ic heap? Pq -- Ar cells -Return the space remaining in the dictionary heap, in cells. -This is not related to the heap used by dynamic memory allocation words. -.It Ic inb Pq Ar port -- char -Reads a byte from a port. -.It Ic key Pq -- Ar char -Reads a single character from the console. -.It Ic key? Pq -- Ar flag -Returns -.Ic true -if there is a character available to be read from the console. -.It Ic ms Pq Ar u -- -Waits -.Em u -microseconds. -.It Ic outb Pq Ar port char -- -Writes a byte to a port. -.It Ic seconds Pq -- Ar u -Returns the number of seconds since midnight. -.It Ic tib> Pq -- Ar addr len -Returns the remainder of the input buffer as a string on the stack. -.It Ic trace! Pq Ar flag -- -Activates or deactivates tracing. -Does not work with -.Ic catch . -.El -.Ss FREEBSD DEFINED ENVIRONMENTAL QUERIES -.Bl -tag -width Ds -.It arch-i386 -.Ic TRUE -if the architecture is IA32. -.It FreeBSD_version -.Fx -version at compile time. -.It loader_version -.Nm -version. -.El -.Sh SECURITY -Access to the -.Nm -command line provides several ways of compromising system security, -including, but not limited to: -.Pp -.Bl -bullet -.It -Booting from removable storage, by setting the -.Va currdev -or -.Va loaddev -variables *** 1136 LINES SKIPPED *** From nobody Tue Jan 24 22:09:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3S1Vccz3bdZj; Tue, 24 Jan 2023 22:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h3S06zSz4HcF; Tue, 24 Jan 2023 22:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SYlSxHaFjNuovme4tK0oNtmea5A4Ua6rpMl5cvHs3Kk=; b=JQO6Aj74duheuQeeLCTVjjyjbN2p7cifHDPJVudMkwTBDecKM4RfcwCdXJP2EewQygwKMl rjHt/Wx2j5Q4by0m/BbbqGdzkdzE6CGsG3MzobLrMtTeF6VkutnOFtj5eZ5NXWqVX0b6Pu L781GF65gl1BguavJ4o9X0eepa8RsuHeqRpIx44b1ZXx7AnrUjWdiZr4HdTjM/CiYrPTmR 2Rpn2qJKgDkdJldxYXV5kVVnYOMpr+fwvcYn3FM6F+BHZ4i0wLB1mQeskToJf04j+DpaAk KtCZzJ4sQ1GblMv8xvaHe2JeWPV9ECTWWVla5AtUUfUn/1ecQ0qVc9S2m6i9VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SYlSxHaFjNuovme4tK0oNtmea5A4Ua6rpMl5cvHs3Kk=; b=HAe23MmE7EKzkTTBBfxf1UJM5lKjXfdeoH6n0kR5gCDPoEXgsspBADCdFnvnFhxK4QowVQ hoMGf/0/iROgu/90H/KDqPlxiKNJmyZSvAwN/jVx/8tEpeQEiyJib0CgHLrrU4dKJAOSWa OVXO63nB0XOXndlvOKfaibXAGwvUfadhfQv3luiBj8LQCdHWK9DYdDo7zDNcLbY7LXdVhU UyCEgVkq8cs+D3u7Fx5j/yTsH5RLg09CxVotNymnNNJe2JHZ+lybY75N8bjRztEF+cXnce leRTQZ+UkzXD7Vd++m2bVJiW8nIp5j0YI/woJwDemPJF0WEGGUlJbt+o7ZD1DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598196; a=rsa-sha256; cv=none; b=BB+HKIgYDOv7E6EpuWgj/9ahckB9aCN8pJMVABzNJC0Uaq05cnebc4vicHepgUbf8bf4Z2 SQ4/rfzofbPaJDSuWVoIhb0SlrFhAB7OSTFuGHeYmUu0mfOPMDG0Q1jKX9yQ+EBemGJBvP W4ao7pGD2okI2NCP7DqkjT59/C/AEtB1vem3LHpI2w66Up8n8ZJ3tYMbvnGprI90OpZlP2 DN4udGQipCZbeKsnttQiYo9ugbGroKaUTBVVUj0zIud/L81jk7bC//EH7TeJwGEhXEQ8dk rvyjOtMnOCZnepWhgoTjUfu5j7dxPpNFuuxBqzDbEJgCKM74syrBAA8pUv/s0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3R2GXgzQLp; Tue, 24 Jan 2023 22:09:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9tfd070953; Tue, 24 Jan 2023 22:09:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9t8i070952; Tue, 24 Jan 2023 22:09:55 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:55 GMT Message-Id: <202301242209.30OM9t8i070952@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: 34bf57b688ba - stable/13 - loader_lua.8: Fix first version List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 34bf57b688baec5bae67ab41e2949aa205209431 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=34bf57b688baec5bae67ab41e2949aa205209431 commit 34bf57b688baec5bae67ab41e2949aa205209431 Author: Warner Losh AuthorDate: 2021-09-29 23:14:14 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader_lua.8: Fix first version Lua bindings appeared in FreeBSD 12.0. Delete the authors section of the man page, since it's unclear who wrote different parts of the man page. Noted by: Trond Endrestol Sponsored by: Netflix (cherry picked from commit 9aa29457d55e4c9c4eac72785886eff756fef22c) --- stand/man/loader_lua.8 | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/stand/man/loader_lua.8 b/stand/man/loader_lua.8 index 876f75676fc0..32085748bf1c 100644 --- a/stand/man/loader_lua.8 +++ b/stand/man/loader_lua.8 @@ -264,14 +264,4 @@ Unspecified error. The .Nm first appeared in -.Fx 3.1 . -.Sh AUTHORS -.An -nosplit -The -.Nm -was written by -.An Michael Smith Aq msmith@FreeBSD.org . -.Pp -.Tn FICL -was written by -.An John Sadler Aq john_sadler@alum.mit.edu . +.Fx 12.0 . From nobody Tue Jan 24 22:09:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3S563Xz3bdgC; Tue, 24 Jan 2023 22:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h3S3xrPz4HWc; Tue, 24 Jan 2023 22:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QUM3HEU+1RAVPy8k3SNK5p9IINf5q80lpe8DdxvccB4=; b=o3gdaOG04qVy75YVFsanEVOlhAormonq76nS6GKaqLCZvYiCc3TvYaznGglL+iz+0xzalL /H2z7nZBA6y2vIn4CfaSUqbc/p+h2Udvkb1q9svfSEgxbNbL4QWuIOC8nb+URGZq9bK+ED SCfwgZOuQnfAG1DVB6/TF9bvwABOqgPlDQjxk/rKYDFPze6WpocW6Fz7V3zfjR0J8sNgAD clSA7IZ9U5ejLO7PzEHKnjEYMHHd4hiTZtsxe/2+ZYFs2Z0HlFrkPwDZSsAjl+0dpqQJNH HkB2EArWWdsySgKOA1vuO+Fi8TL6pXaEeXKgpvhslAis7G7kTPXA2Hf4GML26w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QUM3HEU+1RAVPy8k3SNK5p9IINf5q80lpe8DdxvccB4=; b=SOZYVDFr5B73aLRM0i+IONExD841bL/TYXlWvMutbcuvC8CJQXVvHn5q8PBuWlAZRDYJ6B 63QmNA5lN2y4+cQQcptXoRaajgT4loNQfN9687aH4o4T6lVW6nHWBOytAuOs8156Rh1cxg BWJ3/+Fh/hDdZ1ffkT2M527xgMgaH6sw9xsF7ciXL7BsrUgAijoEwptQg/jgWcvAISyYI1 JcqRh6Rqip81pjSl5Llye7C38Run8iQ9a4qsrmfUL9lMnXGqoOixRefapyHkRy1BhO2ZVf nsEZXgV2ZaiBE8dWVhVqzQfipIsLzTYpOjBZTJlOs3i3ACRmiHK2Hta2bfEzHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598196; a=rsa-sha256; cv=none; b=Dd2Jw3dzT5Ut1FycOJf5iZG+e7DFsxDvRT57YzcPoINp/sJqKmOuJb2fay87qM3ziQ7ZRr TTyn0nqqLmpklqWljBu6DQizp9EVCGM22Jq4S6m2IxeQUGj+iN7BBcJhRR96wn9+1UL/Of JP/0hjQR2leJTRjCdZLAY8BqlPQcKCC9XSntBVBBAjWb6KzbwucAVC2YIZs3R3Ym6Lourw gXUgzKq8rdeDnRqwYJY2r9Gwurxa565nzp+O7cMeQoaFyuUYpdsq2cacFDSH4JPxP2w6N+ 9ckQCc5UbK6hQNfYawX+oy14p6CDlAbuJP+uVQyjXzwrGPavEJYLV5cEL77urQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3S33SfzQNS; Tue, 24 Jan 2023 22:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9uie070978; Tue, 24 Jan 2023 22:09:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9uBS070977; Tue, 24 Jan 2023 22:09:56 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:56 GMT Message-Id: <202301242209.30OM9uBS070977@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: f67328181236 - stable/13 - loader.efi: remove extra extern ST List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f67328181236767aaade8746e4224d671434a22c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f67328181236767aaade8746e4224d671434a22c commit f67328181236767aaade8746e4224d671434a22c Author: Warner Losh AuthorDate: 2021-09-30 02:07:13 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader.efi: remove extra extern ST The definition for 'ST' is in efilib.h, so we don't need extern ST here. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D32225 (cherry picked from commit 8ea95b2fbab8eb891c4191c1879199685951b1f6) --- stand/efi/loader/bootinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 046d56a2b4fb..da9577803b12 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$"); int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); -extern EFI_SYSTEM_TABLE *ST; +int boot_services_gone; static int bi_getboothowto(char *kargs) From nobody Tue Jan 24 22:09:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3T5rxNz3bdXc; Tue, 24 Jan 2023 22:09: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 4P1h3T5Bg6z4Hcs; Tue, 24 Jan 2023 22:09:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RXdJZif3R3FzccCb8NMpsClZfdqsOW/TqLzIbzJ48+A=; b=ojeCKAOZRGbCwwbpU1sG2iWswzQQ1WCdYOKRiQvZ56tBJ/e8BZkxA595wP18WEv+37OxKp nxCJs1f1KM8uHlt8q9qmUIuBhM/G1Kxjcji4j1Kv8k50GrRHB0A94Cdh1rN3WPYm9siOoZ 6N+rLdeCglIvlXcJTR16Ka16/kuntnqt0HnnjFi0+khGnzr51A9VB3a2LV1taNC27rBXdu TreRzc1m1fug/Vd1qNMI8AZbh0OwbxXIgtWjtI7+Y/hAK5KGuBhNsnqXsHQEb+uSXwPmif lSuxWgp6RuAAkgFNuxxltB/fumfVRjPuQS+Lta1oVzxLgxyuSCEq5pXR5hRR/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RXdJZif3R3FzccCb8NMpsClZfdqsOW/TqLzIbzJ48+A=; b=jdkOAIXRF/O37suYzq0IdUx9AmyNOwuZA9KKd687Eon5WA6Z9ygJBN5du5UhtnRYW0iZsH A10Qdnz1531Y3EEipH0aFKqXO2vOKIeF1wb+L4vbNIOCkAHO0wb8SbXc++MjLq0TpeLMqZ aJmGX1bFHQoqFosJySMzNaJndll7utqJplLNu6wgfjpW5+UobVnqXNIin2dwnL5wK8Dt1+ rzhAd5ovN6Sl1DiZm3SJVjPdcHZUtLJ7Bcyt8Zr2dbZDsFfQ3R+IEEwPN0i/zMJac2R0ou XvfHBL/1mwE/mnWQe/SnoRIyne46NR4LSHTfAq5mwpXM3jLdkRDVfb2KUE36YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598197; a=rsa-sha256; cv=none; b=F4Hs45Ztv5209KPk6zbhCp4vl9V6d230/mqfNBBpgm3ewt1Z1mOxmpc780J+EADtqfbzL7 xhsNaklATRLZD8xutpiS5+QUdUubpTb3IqHm2GIG3ih8z3x4vUulloXhu8gMfpyo+tfrA0 GPEjxnTX8es7slpNO+uQLd/gLoGBjQ+xH0S0aFmG5wbb1oyjsgOcthYdR+s1IIcOIjWjO8 LBmkpvhOMdcFWjIOv6ew89n3z4iPvnG+MTfJK0mprK6senW2Xi5A6YCGtL+y0x2SKv9HxE WdB4CO8gcUAPTmuvuVb0G40xT5M9aAoaL8BAOhDHqAcUWetOH5csUESEZA23jA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3T4FKYzQLq; Tue, 24 Jan 2023 22:09:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9ve3071002; Tue, 24 Jan 2023 22:09:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9vNa071001; Tue, 24 Jan 2023 22:09:57 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:57 GMT Message-Id: <202301242209.30OM9vNa071001@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: fd3226dc5769 - stable/13 - loader: net_open() should not replace f->f_devdata List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fd3226dc576965aeb76d22e77595f339ecca833d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fd3226dc576965aeb76d22e77595f339ecca833d commit fd3226dc576965aeb76d22e77595f339ecca833d Author: Toomas Soome AuthorDate: 2021-09-24 15:04:31 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:17 +0000 loader: net_open() should not replace f->f_devdata net_open() does replace f_devdata with pointer to netdev_sock, this will cause memory leak when device is closed, but also does alter the devopen() logic. We should store &netdev_sock to dev->d_opendata instead, this would preserve and follow the devopen() logic. Fixes network boot on aarch64 (tested by bz). Reviewed-by: imp MFC After: 2 weeks Differential Revision: https://reviews.freebsd.org/D32227 (cherry picked from commit 98e805b4a18d6ef4d3c9924166e1217e0430290d) --- stand/common/dev_net.c | 8 +++++--- stand/libsa/nfs.c | 4 +++- stand/libsa/tftp.c | 7 +++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/stand/common/dev_net.c b/stand/common/dev_net.c index db13e618e822..70b571047d56 100644 --- a/stand/common/dev_net.c +++ b/stand/common/dev_net.c @@ -114,7 +114,7 @@ net_init(void) /* * Called by devopen after it sets f->f_dev to our devsw entry. - * This opens the low-level device and sets f->f_devdata. + * This opens the low-level device and sets dev->d_opendata. * This is declared with variable arguments... */ static int @@ -193,20 +193,22 @@ net_open(struct open_file *f, ...) } netdev_opens++; - f->f_devdata = &netdev_sock; + dev->d_opendata = &netdev_sock; return (error); } static int net_close(struct open_file *f) { + struct devdesc *dev; #ifdef NETIF_DEBUG if (debug) printf("%s: opens=%d\n", __func__, netdev_opens); #endif - f->f_devdata = NULL; + dev = f->f_devdata; + dev->d_opendata = NULL; return (0); } diff --git a/stand/libsa/nfs.c b/stand/libsa/nfs.c index 084c7261f054..5757395caba2 100644 --- a/stand/libsa/nfs.c +++ b/stand/libsa/nfs.c @@ -464,6 +464,7 @@ nfs_readdata(struct nfs_iodesc *d, off_t off, void *addr, size_t len) int nfs_open(const char *upath, struct open_file *f) { + struct devdesc *dev; struct iodesc *desc; struct nfs_iodesc *currfd = NULL; char buf[2 * NFS_V3MAXFHSIZE + 3]; @@ -484,6 +485,7 @@ nfs_open(const char *upath, struct open_file *f) if (netproto != NET_NFS) return (EINVAL); + dev = f->f_devdata; #ifdef NFS_DEBUG if (debug) printf("nfs_open: %s (rootip=%s rootpath=%s)\n", upath, @@ -497,7 +499,7 @@ nfs_open(const char *upath, struct open_file *f) if (f->f_dev->dv_type != DEVT_NET) return (EINVAL); - if (!(desc = socktodesc(*(int *)(f->f_devdata)))) + if (!(desc = socktodesc(*(int *)(dev->d_opendata)))) return (EINVAL); /* Bind to a reserved port. */ diff --git a/stand/libsa/tftp.c b/stand/libsa/tftp.c index d3f3048e0257..c520a9e3b3b1 100644 --- a/stand/libsa/tftp.c +++ b/stand/libsa/tftp.c @@ -37,7 +37,8 @@ __FBSDID("$FreeBSD$"); /* * Simple TFTP implementation for libsa. * Assumes: - * - socket descriptor (int) at open_file->f_devdata + * - socket descriptor (int) at dev->d_opendata, dev stored at + * open_file->f_devdata * - server host IP in global rootip * Restrictions: * - read only @@ -443,6 +444,7 @@ tftp_getnextblock(struct tftp_handle *h) static int tftp_open(const char *path, struct open_file *f) { + struct devdesc *dev; struct tftp_handle *tftpfile; struct iodesc *io; int res; @@ -463,7 +465,8 @@ tftp_open(const char *path, struct open_file *f) return (ENOMEM); tftpfile->tftp_blksize = TFTP_REQUESTED_BLKSIZE; - tftpfile->iodesc = io = socktodesc(*(int *)(f->f_devdata)); + dev = f->f_devdata; + tftpfile->iodesc = io = socktodesc(*(int *)(dev->d_opendata)); if (io == NULL) { free(tftpfile); return (EINVAL); From nobody Tue Jan 24 22:09:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3V6z7Lz3bdjm; Tue, 24 Jan 2023 22:09: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 4P1h3V5wgTz4HZr; Tue, 24 Jan 2023 22:09:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O/4o8prtEtcVfiASyjfhWHvxFKqH0z9ZZFgrVsbySlw=; b=CoE1Gf1JUBVHKCujro3LtyWxFZr4oBb7r7eC0dMd8lHyfpxhqt3FqG0NqZp84P2COO59M+ hkESecjWOkOmZgc+qeSX/UHZoP29MvKUO4Jxy41uTvyTMf4IU7Yys7wFT5EjyWBXqV697W n3sH5+qQesihMriw8XKFFMJDWFZEFxFU+FzM4/tN1I07LCs7AAz6OofcHgTZaa067RHHlq GRy0tE0aVWa6C9JXopeBwiPZ005BU9MOkIMpxZX7u1GhyBRXhsY2sCBkZeMfMAzd+uFi7v Cs4oXtMHKusklV5slitcywuVjkcA+cOLNba69VFjlaQMzoVkOJcmNWQPZ0yrnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O/4o8prtEtcVfiASyjfhWHvxFKqH0z9ZZFgrVsbySlw=; b=nD8vcRBJLzU7SFcZB7qOc+0nVySVjZ4uTzAChN3UkDQJVjrf2P1615cC88HRidUk1jOoKP WhtxO5WY5bly/MNNBuh4SaR0s6qZD5UaZgXwMadVD6sRRblNFPA9E8to2ripjDSg0A+Uml FA/3Si2LpiYYyo2MRkwvhh6Ym36JbiQlHDqgDzjtJGjbjEBhKibC+mx8AXQ1aU4hIktMyg F5wilk4QqQiRkQmEvUKq+ZHKjzc7+iU2hiax5ZZOG8Af+ZfAGpSLrN5WL2SJ8wG9G3kDmf vDkueBVFUxqVKml6Qd6Aa4nMXQk8lE/EMl4xBB9+0QswGWcf18Y2T5R2fXkrwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598198; a=rsa-sha256; cv=none; b=SWkTjhbTQwEkINYju52+H/e24s6sYRqFlI9aNJ0ULkp33INjWei618vUx1gO7rxfotI2lx trvOuYez4bWZr+6kK7wxxNmlODfnLO+10Is/XvpsxCyqKfKPIOUAaUcnI6OfUq/ZaPIril 8Kc0qoKN4/yii5UDa9H9MBXmmbbUeleptujzUivDkx3y6CqPBIZ37cIZtkm8nxFxIZi2tH oc3DDU1oP3SPiJisGVT1+p8eWf/PCJYFchxpRvYvQEr9SuiqaFQe+lbpBBWmDpIyBXx4cj p+UeqXnl8IEbQIlrA/ath47YD+9S48PcOjCsT5HVzsVP0akaYfEEtWBljXYklQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3V5310zQLr; Tue, 24 Jan 2023 22:09:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9wsi071027; Tue, 24 Jan 2023 22:09:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9wCH071026; Tue, 24 Jan 2023 22:09:58 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:58 GMT Message-Id: <202301242209.30OM9wCH071026@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: 07f1bcde03be - stable/13 - kboot: simplify _start List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 07f1bcde03be9d09360fa5b862b93134efc3ff4a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=07f1bcde03be9d09360fa5b862b93134efc3ff4a commit 07f1bcde03be9d09360fa5b862b93134efc3ff4a Author: Warner Losh AuthorDate: 2021-12-09 08:16:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 kboot: simplify _start _start can be implemented directly like this. The code generated is identical. It's also portable. Reviewed by: md5 Sponsored by: Netflix (cherry picked from commit 1d66269db39319ec1b22e48a5e56a15087aba0ae) --- stand/powerpc/kboot/main.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/stand/powerpc/kboot/main.c b/stand/powerpc/kboot/main.c index d25b6216f421..9cb4cd2a68d7 100644 --- a/stand/powerpc/kboot/main.c +++ b/stand/powerpc/kboot/main.c @@ -482,18 +482,7 @@ kboot_kseg_get(int *nseg, void **ptr) void _start(int argc, const char **argv, char **env) { -// This makes error "variable 'sp' is uninitialized" be just a warning on clang. -// Initializing 'sp' is not desired here as it would overwrite "r1" original value -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic warning "-Wuninitialized" -#endif - register volatile void **sp asm("r1"); - main((int)sp[0], (const char **)&sp[1]); -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - + main(argc, argv); } /* From nobody Tue Jan 24 22:09:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3X4Bgrz3bdgM; Tue, 24 Jan 2023 22:10: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 4P1h3X0jt1z4HZw; Tue, 24 Jan 2023 22:10:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iLLIqUATCGSfCWX6gJhv5plbyKqJIpJeCiQ8eXgGJGA=; b=ohWj0Qr4U6q9R/ndi+s0LCSTX17pMU7i6CpbMd79MCqSe3aT+YbWq0mHpBIUQh8shIJk/h QepzGIHZbV6do91/5Cf37Hf3pQJQ03VZJQDXC4AGhOU1qKuoyshL2GyQgR8k/HVZg9kT07 5o8/B5xT9aOS+6j/VQ0OY9Js15YXod3fMWg2x7U3I6g44U9aBJ8OvzMH7V8wlFHTEDkD72 JIQHhrScIuHndGz+kPn0xoll35YKOlFRPWfVZ9cbD/sSw0+dHyN/3aGgrlt5D7IU2ABEWz Lk6llXLbJWUMO3aobKCCj4Yyw58QByn/j5uA3jdFmj1dW1Dp+viLG0hzn/oTEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iLLIqUATCGSfCWX6gJhv5plbyKqJIpJeCiQ8eXgGJGA=; b=w8U9dtojLyqyCXrxHeNBMVq7japHbt41uxvL9AznGbbU9RMiMD/eLjyaa7EHdBw357eQB9 w9Y0B4xLsqtypH7KbhuCWR46GifzB6XG/7EVdNvetxyS7MisBPvryikMHvfx4SjpL/w6PS Wi8Xax5KWbaFxzQpBVKLS0u2cARPqex5eaH5SmLQbOIfDH1OvqA+1oo6yLGA3Hh9oorC09 IwBA0AWnHxwfrqRXHmJI+GovCjxOyTRlxWwKC1XrMWezdZsm+cV2HLNRDX1r/IioJ4gb3e e6vI65sD2So9A0ido9f/SKhPgZ3T3gjhwOFw9u95DWcZaTmnuj4O7/dx64QmDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598200; a=rsa-sha256; cv=none; b=W+YMJZ/bG69xolWWMA0Gy4crNbq1DHAnImkmHWC4DjpLgb5PfdK8PVmHlizQGzx2/sFTPf j9ef1DU3dW1SljYycJx3WL/6EDuWKKWCSOXM3SZFzAVyn00h3AeGvlyxxJ8fjwoiqc4qDo hmzLdTIH8gpfJ5hSA6wYaK8IvuqF4m8tSxtYx6ht0mqgLbBC4J2vLTZ4DDcKlTGZMCpdBW gQgSukbzarbAOoRaG0zp39+ccRlyV45r8Fj9VWyC2RF2D9h4U/Mt9Z630KMNlQFfTkFsVC ezsKhHWUKkKI1GRLbZMqIyOl/KGSuwDzFepvq9dJN04hzRErcjFysOW17bGXcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3W5srBzQF8; Tue, 24 Jan 2023 22:09:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OM9xt0071057; Tue, 24 Jan 2023 22:09:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OM9xWS071056; Tue, 24 Jan 2023 22:09:59 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:09:59 GMT Message-Id: <202301242209.30OM9xWS071056@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: eca37d33d8e5 - stable/13 - kboot: remove host_seek List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eca37d33d8e5a92d942c25a40faf2e9483d66b0d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=eca37d33d8e5a92d942c25a40faf2e9483d66b0d commit eca37d33d8e5a92d942c25a40faf2e9483d66b0d Author: Warner Losh AuthorDate: 2021-12-09 08:19:26 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 kboot: remove host_seek host_llseek has replaced all instances of host_seek, so retire the latter. It's unused. Sponsored by: Netflix (cherry picked from commit f953785b3df142f744789ade3acbfe2a65e6de70) --- stand/powerpc/kboot/host_syscall.S | 9 --------- stand/powerpc/kboot/host_syscall.h | 1 - 2 files changed, 10 deletions(-) diff --git a/stand/powerpc/kboot/host_syscall.S b/stand/powerpc/kboot/host_syscall.S index dc236afdeda7..a5556aa1b2dc 100644 --- a/stand/powerpc/kboot/host_syscall.S +++ b/stand/powerpc/kboot/host_syscall.S @@ -21,15 +21,6 @@ ENTRY(host_write) blr END(host_write) -ENTRY(host_seek) - mr %r4,%r5 - mr %r5,%r6 - mr %r6,%r7 - li %r0, 140 # SYS_llseek - sc - blr -END(host_seek) - ENTRY(host_llseek) li %r0, 140 # SYS_llseek sc diff --git a/stand/powerpc/kboot/host_syscall.h b/stand/powerpc/kboot/host_syscall.h index 50b0725be675..60b006e5dba4 100644 --- a/stand/powerpc/kboot/host_syscall.h +++ b/stand/powerpc/kboot/host_syscall.h @@ -32,7 +32,6 @@ ssize_t host_read(int fd, void *buf, size_t nbyte); ssize_t host_write(int fd, const void *buf, size_t nbyte); -ssize_t host_seek(int fd, int64_t offset, int whence); int host_open(const char *path, int flags, int mode); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); int host_close(int fd); From nobody Tue Jan 24 22:10:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3Y2ztKz3bdVY; Tue, 24 Jan 2023 22:10: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 4P1h3Y0MK3z4Hh7; Tue, 24 Jan 2023 22:10:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pjr5F3PffNj9/isLHt4Ki+CNoYbi7KyMSo6LWEu6O1M=; b=TxnxFRTH4NZeOEWq7fGK/TzV5Z5TTvMrbpGjnCl2Kmj3cM5kD98TFuURwvOu/UpdJEEa+q Gtf8goOYkp5JVOgXm3Q3/GQx5zU7cfC3c808rIjY4eZ1/17nRcH2NYdrX2gBvDb1EzaH42 8xf2UVjE0EVBEZ2CE44Rl32q5103zES3C8tNdyhddGxECno+Q+gNbdmdkEO3Le0+d6bVBj KzF8bSf+6QX+YgJ3gkFAPmNR3TvV0kPUBrRzNPtfFxwOKjND+9GBP+b4YQiom6wv2HWc1g v0XD7Zb6iczyawKTmLjyE1zTAr+uSL7F+sRCoj93OJwqMEB6nADVEqe5XM3KHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pjr5F3PffNj9/isLHt4Ki+CNoYbi7KyMSo6LWEu6O1M=; b=db/Cx3FJIUXeC0h1pyWYuxH+1YkP3gVGePkKLJB82o9R+wBtpzjZFu46Taj+Jim2oNm0Fq k6orGSYzsG5zE/ndRIiPDUcRk+eamKr/7yTf4UAamuhMbwcQhFcpWRq4xsz2dZ/Bt39sX9 VMcWxWQCXpgk5vFaJ9hLX64duRclTmBQKfQ0puqxyjn8y41Uk2GWYyKcRQNuEx/ttXhtWS sYe07YYgggLNt2CiR5W8zlfGulyx15unHD4iTB4oKw8LSUpGqr3oByNrImvvewVLbhv8jO SY25TOWuIgnpKHpHKSA0+9Fj0+ODdTuy/dQp2PWfGQVwgl50ScnFd6/k9pDO4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598201; a=rsa-sha256; cv=none; b=RaupBCjPYQVexycr+orXWawIeNm9MfgkqIKdup29q+ukSDfbFepajrVyGcmHevieIPn/Vi nYHA3+6b8WORuVk4IOq0a32rU/jEQNHy8WOawPpP5jOo8F6jh/fg8NDwCu/MYqfA7BW/6r oM+tNS/4pULFQbBuKTXcNGQex8pB0O6ytHwlJur+EOzcs+QwPZXuM+3iQD+WiDPt4OV18N A10JV41NpWb5uYBHyp2+9rBJZ8YwubgZ/mt4dH44FNcs9mtDBKapg4dEdiR3k/p290hlmr C4NTOl3Ly4Qa+R8sLeHTF5Q9DTT2Bu6tYkZNpiqiwtrDVo/M+rKw/oQZ4TXIcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3X6JGQzQNT; Tue, 24 Jan 2023 22:10:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA0IB072667; Tue, 24 Jan 2023 22:10:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA04Q072648; Tue, 24 Jan 2023 22:10:00 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:00 GMT Message-Id: <202301242210.30OMA04Q072648@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: c24f457a7d9a - stable/13 - loader.mk: Simplify a little bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c24f457a7d9a9eb0929c91484215d9aed3a0efcf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c24f457a7d9a9eb0929c91484215d9aed3a0efcf commit c24f457a7d9a9eb0929c91484215d9aed3a0efcf Author: Warner Losh AuthorDate: 2021-12-10 18:04:37 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 loader.mk: Simplify a little bit The elf loader needs to know how to reach into the gfx_fb code, so simplify how we include files to find that stuff. Sponsored by: Netflix Reviewed by: manu, tsoome Differential Revision: https://reviews.freebsd.org/D33376 (cherry picked from commit 2220b759d6b8cf912572fb22052edc5db4683dca) --- stand/loader.mk | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/stand/loader.mk b/stand/loader.mk index e71508a1cefc..6e3ca887fcb9 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -17,33 +17,27 @@ CFLAGS.pnglite.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib .if ${MACHINE} == "i386" || ${MACHINE_CPUARCH} == "amd64" SRCS+= load_elf32.c load_elf32_obj.c reloc_elf32.c SRCS+= load_elf64.c load_elf64_obj.c reloc_elf64.c -CFLAGS.load_elf32.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite -CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .elif ${MACHINE_CPUARCH} == "aarch64" SRCS+= load_elf64.c reloc_elf64.c -CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .elif ${MACHINE_CPUARCH} == "arm" SRCS+= load_elf32.c reloc_elf32.c -CFLAGS.load_elf32.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .elif ${MACHINE_CPUARCH} == "powerpc" SRCS+= load_elf32.c reloc_elf32.c SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c -CFLAGS.load_elf32.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite -CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .elif ${MACHINE_ARCH:Mmips64*} != "" SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c -CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .elif ${MACHINE} == "mips" SRCS+= load_elf32.c reloc_elf32.c SRCS+= metadata.c -CFLAGS.load_elf32.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .elif ${MACHINE_CPUARCH} == "riscv" SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c -CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .endif +# elf loaders set frame buffer things, so add includes for that. +CFLAGS.load_elf32.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite +CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .if ${LOADER_DISK_SUPPORT:Uyes} == "yes" CFLAGS.part.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib From nobody Tue Jan 24 22:10:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3Z27RLz3bdnj; Tue, 24 Jan 2023 22:10: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 4P1h3Z0sYWz4Hlx; Tue, 24 Jan 2023 22:10:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n9pVvTs55Ax60c6rG+J9ujxvr1k54HiIpqNmbPPQw1A=; b=exbnnXwpa2kfzhvQ+oy5XpUmI7icjrvo7M2zQxnDoyNWSAJslI07x65zInqrt7YkkVW9l/ NkCSs3zXTSbGKLo8E/at4/seUhdBiaI3SLttNrrWqZErXPl6lKLCE8KBZiStfjLKJ3+kvH OmzP+RUn5tDnlEKNKixOQYD1WCSyttd46NqAx/NFJ5z9Hlol7SSeG9Q79NprnlExwcA1eO 1/hw+XcLcbOIB00qdnth9uMiY8L1mh0KUvzqbw9p9eaCrMJdmIHj1Wb1caHCzVuWDmNI5H EH4VJ/1FoWgO656vzBdMJuc9Olsc+ZS1I3iJIx3KZJUKLFwrf/5BY+XxpFW8Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n9pVvTs55Ax60c6rG+J9ujxvr1k54HiIpqNmbPPQw1A=; b=NoVUnXL0dzjdSmGoNBD3tuvEdaQDax+tkNzKxVP1GNbIwZcIgU61x2BP/yrJadCWF0UJuO jeO27GsnDOfAXJJjmW22CJjgrrPxJSL55nNgU/cOj+5BlEeR8x4BmW/2xme1rJX1H5b4XZ sgm7c12XdIrMvH7oN7HCxjIztyyztepYDGT2fyHu3b9NStLSOgvveaqb/EWJdkTrT2PNVx vZHjElnPPBVzN+F7OG6OWmCi6bmdNAoNE+S0ehYiI/h1AL+8jXEwliGUp1tWlc2uEBoMZf C7sb1iuwg4ZQmEvWsLxeeVbvQ7BO2muxSzMWUkLr8JFEiJ+8uLnqkSF9fbqNQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598202; a=rsa-sha256; cv=none; b=fqZkr5TPGNFhHcA7lyszI7WuX6ZzLdz1YJELaTRxz2jvkzc8weq1fwS0gHlbDk0Bi8ApBZ O/M4/VStT+XaR7xYdTtLRboYidKWzhnsx8TJqsf23T5DQl4fxlk5jGxXikYJcWUqfikzvE GKMfRpLNC+zdShkpa2C7uOCMQmDQsifHAwovJvSxzaKuGL3fE1iiWQrbu95GtYFe+pR78z S0CRIAIMelmPoyFRDTa1zWMyoi+AxRR+zRDu7xYU9ZHamETPjLi3o5wfDTcFcnHlfle0ha PHxw9EQZdJqmeTD5LKMUm9WyxQVJQWRo+m4/x5D9P87Ef6AwH5uaQxcn5iQz4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3Y6nTlzQQm; Tue, 24 Jan 2023 22:10:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA1bL073036; Tue, 24 Jan 2023 22:10:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA17X073026; Tue, 24 Jan 2023 22:10:01 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:01 GMT Message-Id: <202301242210.30OMA17X073026@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: e006859bce01 - stable/13 - stand: remove mips support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e006859bce01b2f10349a804cade3688f40557e3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e006859bce01b2f10349a804cade3688f40557e3 commit e006859bce01b2f10349a804cade3688f40557e3 Author: Warner Losh AuthorDate: 2021-12-10 18:04:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 stand: remove mips support As part of decommissioning mips support, remove the boot loader support. Do this in advance of other boot loader work to limit the amount of work that will be thrown away. Sponsored by: Netflix Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D33377 (cherry picked from commit 20b23ae74b2bd60ba87c626b86713be746116d1e) --- stand/common/metadata.c | 2 +- stand/defs.mk | 4 - stand/ficl.mk | 2 - stand/libsa/zalloc_defs.h | 2 +- stand/loader.mk | 6 - stand/mips/Makefile | 16 - stand/mips/Makefile.inc | 3 - stand/mips/beri/Makefile | 5 - stand/mips/beri/Makefile.inc | 9 - stand/mips/beri/boot2/Makefile | 78 ---- stand/mips/beri/boot2/boot2.c | 669 ------------------------------ stand/mips/beri/boot2/flashboot.ldscript | 65 --- stand/mips/beri/boot2/jtagboot.ldscript | 64 --- stand/mips/beri/boot2/relocate.S | 103 ----- stand/mips/beri/boot2/start.S | 82 ---- stand/mips/beri/common/altera_jtag_uart.c | 175 -------- stand/mips/beri/common/beri.h | 42 -- stand/mips/beri/common/cfi.c | 75 ---- stand/mips/beri/common/cfi.h | 40 -- stand/mips/beri/common/common.ldscript | 76 ---- stand/mips/beri/common/cons.h | 40 -- stand/mips/beri/common/mips.h | 156 ------- stand/mips/beri/common/sdcard.c | 333 --------------- stand/mips/beri/common/sdcard.h | 41 -- stand/mips/beri/loader/Makefile | 109 ----- stand/mips/beri/loader/arch.c | 97 ----- stand/mips/beri/loader/beri_console.c | 90 ---- stand/mips/beri/loader/beri_disk_cfi.c | 141 ------- stand/mips/beri/loader/beri_disk_sdcard.c | 147 ------- stand/mips/beri/loader/devicename.c | 206 --------- stand/mips/beri/loader/exec.c | 125 ------ stand/mips/beri/loader/gfx_fb.c | 78 ---- stand/mips/beri/loader/help.mips | 1 - stand/mips/beri/loader/loader.h | 61 --- stand/mips/beri/loader/loader.ldscript | 84 ---- stand/mips/beri/loader/main.c | 245 ----------- stand/mips/beri/loader/start.S | 49 --- stand/mips/beri/loader/version | 6 - stand/mips/uboot/Makefile | 64 --- stand/mips/uboot/conf.c | 117 ------ stand/mips/uboot/help.uboot | 27 -- stand/mips/uboot/ldscript.mips | 134 ------ stand/mips/uboot/start.S | 71 ---- stand/mips/uboot/version | 10 - stand/uboot/lib/elf_freebsd.c | 4 - stand/uboot/lib/glue.h | 9 - stand/usb/Makefile | 4 - 47 files changed, 2 insertions(+), 3965 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index e0a9518ab233..a9c81added02 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -353,7 +353,7 @@ md_load(char *args, vm_offset_t *modulep, vm_offset_t *dtb) return (md_load_dual(args, modulep, dtb, 0)); } -#if defined(__mips__) || defined(__powerpc__) +#if defined(__powerpc__) int md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb) { diff --git a/stand/defs.mk b/stand/defs.mk index 765fd046a879..e9c97f7720ab 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -186,10 +186,6 @@ CFLAGS+= -mno-relax DD_NOSTATUS!=(dd status=none count=0 2> /dev/null && echo status=none) || true DD=dd ${DD_NOSTATUS} -.if ${MACHINE_CPUARCH} == "mips" -CFLAGS+= -G0 -fno-pic -mno-abicalls -.endif - # # Have a sensible default # diff --git a/stand/ficl.mk b/stand/ficl.mk index 2adbccb34f9d..e9fa1eb84f4b 100644 --- a/stand/ficl.mk +++ b/stand/ficl.mk @@ -4,8 +4,6 @@ .if ${MACHINE_CPUARCH} == "amd64" && ${DO32:U0} == 1 FICL_CPUARCH= i386 -.elif ${MACHINE_ARCH:Mmips64*} != "" -FICL_CPUARCH= mips64 .else FICL_CPUARCH= ${MACHINE_CPUARCH} .endif diff --git a/stand/libsa/zalloc_defs.h b/stand/libsa/zalloc_defs.h index bb7c593ba822..66f943549340 100644 --- a/stand/libsa/zalloc_defs.h +++ b/stand/libsa/zalloc_defs.h @@ -63,7 +63,7 @@ * least sizeof(struct MemNode); this is asserted in zalloc.c. */ -#if defined(__arm__) || defined(__mips__) || defined(__powerpc__) +#if defined(__arm__) || defined(__powerpc__) #define MALLOCALIGN 64 #else #define MALLOCALIGN 16 diff --git a/stand/loader.mk b/stand/loader.mk index 6e3ca887fcb9..bad2fe107ee9 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -25,12 +25,6 @@ SRCS+= load_elf32.c reloc_elf32.c SRCS+= load_elf32.c reloc_elf32.c SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c -.elif ${MACHINE_ARCH:Mmips64*} != "" -SRCS+= load_elf64.c reloc_elf64.c -SRCS+= metadata.c -.elif ${MACHINE} == "mips" -SRCS+= load_elf32.c reloc_elf32.c -SRCS+= metadata.c .elif ${MACHINE_CPUARCH} == "riscv" SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c diff --git a/stand/mips/Makefile b/stand/mips/Makefile deleted file mode 100644 index 90341b2f7e50..000000000000 --- a/stand/mips/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ - -NO_OBJ=t - -SUBDIR= uboot - -# -# The BERI boot loader port works only on 64-bit MIPS; not a hard port to -# 32-bit if someone is interested. Build on all 64-bit MIPS platforms to -# ensure it gets adequate build-test coverage. -# -.if ${MACHINE_ARCH} == "mips64" -SUBDIR+= beri -.endif - -.include diff --git a/stand/mips/Makefile.inc b/stand/mips/Makefile.inc deleted file mode 100644 index 265f86d1ed55..000000000000 --- a/stand/mips/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -.include "../Makefile.inc" diff --git a/stand/mips/beri/Makefile b/stand/mips/beri/Makefile deleted file mode 100644 index afcb538816b8..000000000000 --- a/stand/mips/beri/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -SUBDIR= boot2 loader - -.include diff --git a/stand/mips/beri/Makefile.inc b/stand/mips/beri/Makefile.inc deleted file mode 100644 index a95ca3dc1861..000000000000 --- a/stand/mips/beri/Makefile.inc +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -LDFLAGS+= -nostdlib - -# BERI boot loader is built with '-mno-abicalls' flag, -# which is incompatible with PIE -MK_PIE= no - -.include "../Makefile.inc" diff --git a/stand/mips/beri/boot2/Makefile b/stand/mips/beri/boot2/Makefile deleted file mode 100644 index afc061b4eb05..000000000000 --- a/stand/mips/beri/boot2/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -#- -# Copyright (c) 2013-2014 Robert N. M. Watson -# All rights reserved. -# -# This software was developed by SRI International and the University of -# Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -# ("CTSRD"), as part of the DARPA CRASH research programme. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ - -.include - -INSTALLFLAGS= -b - -LOADERS= flashboot jtagboot -FILES= ${LOADERS} ${LOADERS:S/$/.md5/} - -SRCS= relocate.S \ - start.S \ - boot2.c \ - altera_jtag_uart.c \ - cfi.c \ - sdcard.c - -AFLAGS= -G0 - -CFLAGS+= -I${LDRSRC} \ - -Wall \ - -G0 \ - -fno-pic -mno-abicalls \ - -g - -LDFLAGS+= -static \ - -Wl,-N \ - -G0 \ - -L${.CURDIR} - -.PATH: ${BOOTSRC}/mips/beri/common -CFLAGS+= -I${BOOTSRC}/mips/beri/common - -flashboot.elf: relocate.o start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o - ${CC:N${CCACHE_BIN}} ${LDFLAGS} -T ${.CURDIR}/flashboot.ldscript \ - -o ${.TARGET} ${.ALLSRC} ${LIBSA} -flashboot: flashboot.elf - ${OBJCOPY} -S -O binary ${.TARGET}.elf ${.TARGET} -flashboot.md5: flashboot - md5 flashboot > flashboot.md5 - -jtagboot: start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o - ${CC:N${CCACHE_BIN}} ${LDFLAGS} -T ${.CURDIR}/jtagboot.ldscript \ - -o ${.TARGET} ${.ALLSRC} ${LIBSA} -jtagboot.md5: jtagboot - md5 jtagboot > jtagboot.md5 - -CLEANFILES+= flashboot.elf - -.include diff --git a/stand/mips/beri/boot2/boot2.c b/stand/mips/beri/boot2/boot2.c deleted file mode 100644 index f771da856e4c..000000000000 --- a/stand/mips/beri/boot2/boot2.c +++ /dev/null @@ -1,669 +0,0 @@ -/*- - * Copyright (c) 2013-2014 Robert N. M. Watson - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * Copyright (c) 1998 Robert Nordier - * All rights reserved. - * - * Redistribution and use in source and binary forms are freely - * permitted provided that the above copyright notice and this - * paragraph and the following disclaimer are duplicated in all - * such forms. - * - * This software is provided "AS IS" and without any express or - * implied warranties, including, without limitation, the implied - * warranties of merchantability and fitness for a particular - * purpose. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "paths.h" -#include "rbx.h" - -static int beri_argc; -static const char **beri_argv, **beri_envv; -static uint64_t beri_memsize; - -#define IO_KEYBOARD 1 -#define IO_SERIAL 2 - -#define SECOND 1 /* Circa that many ticks in a second. */ - -#define ARGS 0x900 -#define NOPT 14 -#define MEM_BASE 0x12 -#define MEM_EXT 0x15 - -/* - * XXXRW: I think this has to do with whether boot2 expects a partition - * table? - */ -#define DRV_HARD 0x80 -#define DRV_MASK 0x7f - -/* Default to using CFI flash. */ -#define TYPE_DEFAULT BOOTINFO_DEV_TYPE_SDCARD - -/* Hard-coded assumption about location of JTAG-loaded kernel. */ -#define DRAM_KERNEL_ADDR ((void *)mips_phys_to_cached(0x20000)) - -extern uint32_t _end; - -static const char optstr[NOPT] = "DhaCcdgmnpqrsv"; /* Also 'P', 'S' */ -static const unsigned char flags[NOPT] = { - RBX_DUAL, - RBX_SERIAL, - RBX_ASKNAME, - RBX_CDROM, - RBX_CONFIG, - RBX_KDB, - RBX_GDB, - RBX_MUTE, - RBX_NOINTR, - RBX_PAUSE, - RBX_QUIET, - RBX_DFLTROOT, - RBX_SINGLE, - RBX_VERBOSE -}; - -/* These must match BOOTINFO_DEV_TYPE constants. */ -static const char *const dev_nm[] = {"dram", "cfi", "sdcard"}; -static const u_int dev_nm_count = nitems(dev_nm); - -static struct dsk { - unsigned type; /* BOOTINFO_DEV_TYPE_x object type. */ - uintptr_t unitptr; /* Unit number or pointer to object. */ - uint8_t slice; - uint8_t part; -#if 0 - unsigned start; - int init; -#endif -} dsk; -static char cmd[512], cmddup[512], knamebuf[1024]; -static const char *kname; -uint32_t opts; -#if 0 -static int comspeed = SIOSPD; -#endif -struct bootinfo bootinfo; -static uint8_t ioctrl = IO_KEYBOARD; - -void putchar(int); -static void boot_fromdram(void); -static void boot_fromfs(void); -static void load(void); -static int parse(void); -static int dskread(void *, unsigned, unsigned); -static int xputc(int); -static int xgetc(int); - -#define UFS_SMALL_CGBASE -#include "ufsread.c" - -static struct dmadat __dmadat; - -static inline int -xfsread(ufs_ino_t inode, void *buf, size_t nbyte) -{ - if ((size_t)fsread(inode, buf, nbyte) != nbyte) { - printf("Invalid %s\n", "format"); - return -1; - } - return 0; -} - -static inline void -getstr(void) -{ - char *s; - int c; - - s = cmd; - for (;;) { - switch (c = xgetc(0)) { - case 0: - break; - case '\177': - case '\b': - if (s > cmd) { - s--; - printf("\b \b"); - } - break; - case '\n': - case '\r': - putchar('\n'); - *s = 0; - return; - default: - if (s - cmd < sizeof(cmd) - 1) - *s++ = c; - putchar(c); - } - } -} - -int -main(u_int argc, const char *argv[], const char *envv[], uint64_t memsize) -{ - uint8_t autoboot; - ufs_ino_t ino; - size_t nbyte; - - /* Arguments from Miniboot. */ - beri_argc = argc; - beri_argv = argv; - beri_envv = envv; - beri_memsize = memsize; - - dmadat = &__dmadat; -#if 0 - /* XXXRW: more here. */ - v86.ctl = V86_FLAGS; - v86.efl = PSL_RESERVED_DEFAULT | PSL_I; - dsk.drive = *(uint8_t *)PTOV(ARGS); -#endif - dsk.type = TYPE_DEFAULT; -#if 0 - dsk.unit = dsk.drive & DRV_MASK; - dsk.slice = *(uint8_t *)PTOV(ARGS + 1) + 1; -#endif - bootinfo.bi_version = BOOTINFO_VERSION; - bootinfo.bi_size = sizeof(bootinfo); - - /* Process configuration file */ - - autoboot = 1; - - if ((ino = lookup(PATH_CONFIG)) || - (ino = lookup(PATH_DOTCONFIG))) { - nbyte = fsread(ino, cmd, sizeof(cmd) - 1); - cmd[nbyte] = '\0'; - } - - if (*cmd) { - memcpy(cmddup, cmd, sizeof(cmd)); - if (parse()) - autoboot = 0; - if (!OPT_CHECK(RBX_QUIET)) - printf("%s: %s", PATH_CONFIG, cmddup); - /* Do not process this command twice */ - *cmd = 0; - } - - /* - * Try to exec stage 3 boot loader. If interrupted by a keypress, - * or in case of failure, try to load a kernel directly instead. - */ - - if (!kname) { - kname = PATH_LOADER; - if (autoboot && !keyhit(3*SECOND)) { - boot_fromfs(); - kname = PATH_KERNEL; - } - } - - /* Present the user with the boot2 prompt. */ - - for (;;) { - if (!autoboot || !OPT_CHECK(RBX_QUIET)) - printf("\nFreeBSD/mips boot\n" - "Default: %s%ju:%s\n" - "boot: ", - dev_nm[dsk.type], dsk.unitptr, kname); -#if 0 - if (ioctrl & IO_SERIAL) - sio_flush(); -#endif - if (!autoboot || keyhit(3*SECOND)) - getstr(); - else if (!autoboot || !OPT_CHECK(RBX_QUIET)) - putchar('\n'); - autoboot = 0; - if (parse()) - putchar('\a'); - else - load(); - } -} - -static void -boot(void *entryp, int argc, const char *argv[], const char *envv[]) -{ - - bootinfo.bi_kernelname = (bi_ptr_t)kname; - bootinfo.bi_boot2opts = opts & RBX_MASK; - bootinfo.bi_boot_dev_type = dsk.type; - bootinfo.bi_boot_dev_unitptr = dsk.unitptr; - bootinfo.bi_memsize = beri_memsize; -#if 0 - /* - * XXXRW: A possible future way to distinguish Miniboot passing a memory - * size vs DTB..? - */ - if (beri_memsize <= BERI_MEMVSDTB) - bootinfo.bi_memsize = beri_memsize; - else - bootinfo.bi_dtb = beri_memsize; -#endif - ((void(*)(int, const char **, const char **, void *))entryp)(argc, argv, - envv, &bootinfo); -} - -/* - * Boot a kernel that has mysteriously (i.e., by JTAG) appeared in DRAM; - * assume that it is already properly relocated, etc, and invoke its entry - * address without question or concern. - */ -static void -boot_fromdram(void) -{ - void *kaddr = DRAM_KERNEL_ADDR; /* XXXRW: Something better here. */ - Elf64_Ehdr *ehp = kaddr; - - if (!IS_ELF(*ehp)) { - printf("Invalid %s\n", "format"); - return; - } - boot((void *)ehp->e_entry, beri_argc, beri_argv, beri_envv); -} - -static void -boot_fromfs(void) -{ - union { - Elf64_Ehdr eh; - } hdr; - static Elf64_Phdr ep[2]; -#if 0 - static Elf64_Shdr es[2]; -#endif - caddr_t p; - ufs_ino_t ino; - uint64_t addr; - int i, j; - - if (!(ino = lookup(kname))) { - if (!ls) - printf("No %s\n", kname); - return; - } - if (xfsread(ino, &hdr, sizeof(hdr))) - return; - - if (IS_ELF(hdr.eh)) { - fs_off = hdr.eh.e_phoff; - for (j = i = 0; i < hdr.eh.e_phnum && j < 2; i++) { - if (xfsread(ino, ep + j, sizeof(ep[0]))) - return; - if (ep[j].p_type == PT_LOAD) - j++; - } - for (i = 0; i < 2; i++) { - p = (caddr_t)ep[i].p_paddr; - fs_off = ep[i].p_offset; - if (xfsread(ino, p, ep[i].p_filesz)) - return; - } - p += roundup2(ep[1].p_memsz, PAGE_SIZE); -#if 0 - bootinfo.bi_symtab = VTOP(p); - if (hdr.eh.e_shnum == hdr.eh.e_shstrndx + 3) { - fs_off = hdr.eh.e_shoff + sizeof(es[0]) * - (hdr.eh.e_shstrndx + 1); - if (xfsread(ino, &es, sizeof(es))) - return; - for (i = 0; i < 2; i++) { - *(Elf32_Word *)p = es[i].sh_size; - p += sizeof(es[i].sh_size); - fs_off = es[i].sh_offset; - if (xfsread(ino, p, es[i].sh_size)) - return; - p += es[i].sh_size; - } - } -#endif - addr = hdr.eh.e_entry; -#if 0 - bootinfo.bi_esymtab = VTOP(p); -#endif - } else { - printf("Invalid %s\n", "format"); - return; - } - boot((void *)addr, beri_argc, beri_argv, beri_envv); -} - -static void -load(void) -{ - - switch (dsk.type) { - case BOOTINFO_DEV_TYPE_DRAM: - boot_fromdram(); - break; - - default: - boot_fromfs(); - break; - } -} - -static int -parse() -{ - char *arg = cmd; - char *ep, *p, *q; - char unit; - size_t len; - const char *cp; -#if 0 - int c, i, j; -#else - int c, i; -#endif - - while ((c = *arg++)) { - if (c == ' ' || c == '\t' || c == '\n') - continue; - for (p = arg; *p && *p != '\n' && *p != ' ' && *p != '\t'; p++); - ep = p; - if (*p) - *p++ = 0; - if (c == '-') { - while ((c = *arg++)) { - if (c == 'P') { - cp = "yes"; -#if 0 - } else { - opts |= OPT_SET(RBX_DUAL) | OPT_SET(RBX_SERIAL); - cp = "no"; - } -#endif - printf("Keyboard: %s\n", cp); - continue; -#if 0 - } else if (c == 'S') { - j = 0; - while ((unsigned int)(i = *arg++ - '0') <= 9) - j = j * 10 + i; - if (j > 0 && i == -'0') { - comspeed = j; - break; - } - /* Fall through to error below ('S' not in optstr[]). */ -#endif - } - for (i = 0; c != optstr[i]; i++) - if (i == NOPT - 1) - return -1; - opts ^= OPT_SET(flags[i]); - } - ioctrl = OPT_CHECK(RBX_DUAL) ? (IO_SERIAL|IO_KEYBOARD) : - OPT_CHECK(RBX_SERIAL) ? IO_SERIAL : IO_KEYBOARD; -#if 0 - if (ioctrl & IO_SERIAL) { - if (sio_init(115200 / comspeed) != 0) - ioctrl &= ~IO_SERIAL; - } -#endif - } else { - /*- - * Parse a device/kernel name. Format(s): - * - * path - * deviceX:path - * - * NB: Utterly incomprehensible but space-efficient ARM/i386 - * parsing removed in favour of larger but easier-to-read C. This - * is still not great, however -- e.g., relating to unit handling. - * - * TODO: it would be nice if a DRAM pointer could be specified - * here. - * - * XXXRW: Pick up pieces here. - */ - - /* - * Search for a parens; if none, then it's just a path. - * Otherwise, it's a devicename. - */ - arg--; - q = strsep(&arg, ":"); - if (arg != NULL) { - len = strlen(q); - if (len < 2) { - printf("Invalid device: name too short\n"); - return (-1); - } - - /* - * First, handle one-digit unit. - */ - unit = q[len-1]; - if (unit < '0' || unit > '9') { - printf("Invalid device: invalid unit %c\n", - unit); - return (-1); - } - unit -= '0'; - q[len-1] = '\0'; - - /* - * Next, find matching device. - */ - for (i = 0; i < dev_nm_count; i++) { - if (strcmp(q, dev_nm[i]) == 0) - break; - } - if (i == dev_nm_count) { - printf("Invalid device: no driver match\n"); - return (-1); - } - dsk.type = i; - dsk.unitptr = unit; /* Someday: also a DRAM pointer? */ - } else - arg = q; - if ((i = ep - arg)) { - if ((size_t)i >= sizeof(knamebuf)) - return -1; - memcpy(knamebuf, arg, i + 1); - kname = knamebuf; - } - } - arg = p; - } - return 0; -} - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - - /* XXXRW: eventually, we may want to pass 'drive' and 'unit' here. */ - switch (dsk.type) { - case BOOTINFO_DEV_TYPE_CFI: - return (cfi_read(buf, lba, nblk)); - - case BOOTINFO_DEV_TYPE_SDCARD: - return (altera_sdcard_read(buf, lba, nblk)); - - default: - return (-1); - } -} - -static int -dskread(void *buf, unsigned lba, unsigned nblk) -{ -#if 0 - /* - * XXXRW: For now, assume no partition table around the file system; it's - * just in raw flash. - */ - struct dos_partition *dp; - struct disklabel *d; - char *sec; - unsigned i; - uint8_t sl; - - if (!dsk_meta) { - sec = dmadat->secbuf; - dsk.start = 0; - if (drvread(sec, DOSBBSECTOR, 1)) - return -1; - dp = (void *)(sec + DOSPARTOFF); - sl = dsk.slice; - if (sl < BASE_SLICE) { - for (i = 0; i < NDOSPART; i++) - if (dp[i].dp_typ == DOSPTYP_386BSD && - (dp[i].dp_flag & 0x80 || sl < BASE_SLICE)) { - sl = BASE_SLICE + i; - if (dp[i].dp_flag & 0x80 || - dsk.slice == COMPATIBILITY_SLICE) - break; - } - if (dsk.slice == WHOLE_DISK_SLICE) - dsk.slice = sl; - } - if (sl != WHOLE_DISK_SLICE) { - if (sl != COMPATIBILITY_SLICE) - dp += sl - BASE_SLICE; - if (dp->dp_typ != DOSPTYP_386BSD) { - printf("Invalid %s\n", "slice"); - return -1; - } - dsk.start = le32toh(dp->dp_start); - } - if (drvread(sec, dsk.start + LABELSECTOR, 1)) - return -1; - d = (void *)(sec + LABELOFFSET); - if (le32toh(d->d_magic) != DISKMAGIC || - le32toh(d->d_magic2) != DISKMAGIC) { - if (dsk.part != RAW_PART) { - printf("Invalid %s\n", "label"); - return -1; - } - } else { - if (!dsk.init) { - if (le16toh(d->d_type) == DTYPE_SCSI) - dsk.type = TYPE_DA; - dsk.init++; - } - if (dsk.part >= le16toh(d->d_npartitions) || - !(le32toh(d->d_partitions[dsk.part].p_size))) { - printf("Invalid %s\n", "partition"); - return -1; - } - dsk.start += le32toh(d->d_partitions[dsk.part].p_offset); - dsk.start -= le32toh(d->d_partitions[RAW_PART].p_offset); - } - } - return drvread(buf, dsk.start + lba, nblk); -#else - return drvread(buf, lba, nblk); -#endif -} - -void -putchar(int c) -{ - if (c == '\n') - xputc('\r'); - xputc(c); -} - -static int -xputc(int c) -{ - if (ioctrl & IO_KEYBOARD) - beri_putc(c); -#if 0 - if (ioctrl & IO_SERIAL) - sio_putc(c); -#endif - return c; -} - -static int -xgetc(int fn) -{ - if (OPT_CHECK(RBX_NOINTR)) - return 0; - for (;;) { - if (ioctrl & IO_KEYBOARD && keyhit(0)) - return fn ? 1 : beri_getc(); -#if 0 - if (ioctrl & IO_SERIAL && sio_ischar()) - return fn ? 1 : sio_getc(); -#endif - if (fn) - return 0; - } -} - -int -getchar(void) -{ - - return xgetc(0); -} - -void -exit(int code) -{ - - printf("error: loader exit\n"); - while (1); - __unreachable(); -} diff --git a/stand/mips/beri/boot2/flashboot.ldscript b/stand/mips/beri/boot2/flashboot.ldscript deleted file mode 100644 index 4d61438bd9b8..000000000000 --- a/stand/mips/beri/boot2/flashboot.ldscript +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * Copyright (c) 2011-2014 Robert N. M. Watson - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS *** 3378 LINES SKIPPED *** From nobody Tue Jan 24 22:10:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3b2qHRz3bdXn; Tue, 24 Jan 2023 22:10: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 4P1h3b0sLkz4Hhb; Tue, 24 Jan 2023 22:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xKCmirLuzfqym9npMMiTk0jMmvNz7dznsNi6t9LfsaY=; b=RbcT1rhvl37xBUI2aUXFZfB3lzXU5zxH1IztCVUzxBNfDVhbUhMZK7d4vClPck4TpHbYg6 pqJz18D752LJnjukdOtwgXwb+ooEr0TrMMqEl/tBTqh/759H1laI/Ps25TvLg6GUURh1sB KNJ4rlkd28Gd9BBkzhGfp9uDsyW0qWDrlTsr9f40nXOoBnfGO3SNoY13NK1GcC4jjFwAH1 CWksR/eKGCDxZjKF52WW6RirECG0fOkitcfhTjhXpyH2gy/LInF66mInR6oieNJa0hdlNU Cgpj5+nEpqfmWNWPhmc3GMpOBPg6Ls64uMd5vrVYZB1Fv2P+Uc27hXx62MUsjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xKCmirLuzfqym9npMMiTk0jMmvNz7dznsNi6t9LfsaY=; b=fxzt/byl4aAPx/1vbAfJ972xB2CZLe1KPrh3vObr9UbLyePl82BWlYi3uH5vh3MR6sYBTw jIjS/E6Om14Cp/KxC22THyKT9IuKygpFou6zTjUoGZs28C8l7HRYSXZETqeZcCokt29vnO +h9pjCdnz6YcKvCo7JHy5IR2qRSeRoqHa2eSgJOTkTFXd9u5/EemRQNIV6Ri4bsKY/kHYP UewI5tBH2NM4pBR4S4uNfOIiBJl4FDg1DCGO53V1MtEi6VLtVy92zWyWzCbXSARvsQxhhk ORZmP3LPaVUWxLYJtmK3SnE3YE9/HXuPozJMCjoGr5UWrGvENOYnfRgz0esBaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598203; a=rsa-sha256; cv=none; b=vpkVBEtUsDxBEvrT9NXLFWWDzK/ezX+d7xruUCCdgDxkFOpb5ioQxd3HZg8K7e4Zg8qb64 fR2WugfrWUYd931FqhPEw0Gu0ejOaavrr+1VlqO+9Rg3SFRp2jsFzbnAb5kPKz/VhxehSW tfZpcjl6jvma6fSq/80HgHSwfnfWMhDoA30w5EF89jV9LHzIgfHSUa9a0e8aJVY5eIQ1OW nWTJ5j75mb57k1VgiQ2lTj1QJyK7rxru1SQD2LnVYFvJsDhUhmM0GiCVxD5O0bBVGI9zKx WBuuclrzgOODef2q4PXX2GRaNYZD5h4m+3x5TSoY87pK7sQZybDEd9iIX2S8mQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3Z738XzQQn; Tue, 24 Jan 2023 22:10:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA2ef073286; Tue, 24 Jan 2023 22:10:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA2Pu073283; Tue, 24 Jan 2023 22:10:02 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:02 GMT Message-Id: <202301242210.30OMA2Pu073283@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: 26d6cf83968c - stable/13 - loader:prefix is only used for LOADER_VERIEXEC List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 26d6cf83968c388a80fb0fe1f06edfddf36177bd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=26d6cf83968c388a80fb0fe1f06edfddf36177bd commit 26d6cf83968c388a80fb0fe1f06edfddf36177bd Author: Warner Losh AuthorDate: 2021-12-13 19:02:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 loader:prefix is only used for LOADER_VERIEXEC Only define and set prefix when LOADER_VERIEXEC is defined. It's only used by the LOADER_VERIEXEC code. Sponsored by: Netflix (cherry picked from commit 5c68a21697027311892481d6d615a5d6e5b47433) --- stand/common/module.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/stand/common/module.c b/stand/common/module.c index fdc65541b1a5..8e9e72c8a004 100644 --- a/stand/common/module.c +++ b/stand/common/module.c @@ -112,7 +112,9 @@ command_load(int argc, char *argv[]) { struct preloaded_file *fp; char *typestr; +#ifdef LOADER_VERIEXEC char *prefix; +#endif char *skip; int dflag, dofile, dokld, ch, error; @@ -124,7 +126,10 @@ command_load(int argc, char *argv[]) command_errmsg = "no filename specified"; return (CMD_CRIT); } - prefix = skip = NULL; +#ifdef LOADER_VERIEXEC + prefix = NULL; +#endif + skip = NULL; while ((ch = getopt(argc, argv, "dkp:s:t:")) != -1) { switch(ch) { case 'd': @@ -133,9 +138,11 @@ command_load(int argc, char *argv[]) case 'k': dokld = 1; break; +#ifdef LOADER_VERIEXEC case 'p': prefix = optarg; break; +#endif case 's': skip = optarg; break; From nobody Tue Jan 24 22:10:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3c3PMyz3bdnr; Tue, 24 Jan 2023 22:10: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 4P1h3c2Jv9z4Hpd; Tue, 24 Jan 2023 22:10:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kdpnFGvqfqhXrctTj+A1dpTBJo/9SHYY532B08rSWU=; b=VLJaVd3jXZrVFRpizGGUI5u4rRSYieKR0vnLhe3It/EQb3VpN/ZErJfQmNQoOttMLFghlS hM02Hj1DPaJRyZa7aHBJYwh1pM7kjOY0EzwzUqMPcdy8vp5AnHCJPYO2PXos4koRuwvG/Z GQdLwwZBB/5sTQjOPlQnAl79VjgsfbDDcgXDlqPxiCjSezuDUHGgFKDkWi11d1M1MSJvuH Y66lAvwpA23vMKhl8RCLGEFvKS6WHQ0VsOBgL1+4WIf1Y+7HQNqJj0SWcsXVTVylSDOvil Af68BoYj/4aLwrMLk/sR3Uz4FW5Djht02MyKrKV7b7XlJF2ey45mmNVD8JcIVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kdpnFGvqfqhXrctTj+A1dpTBJo/9SHYY532B08rSWU=; b=TB9ZR3IKvgs9+61FuWq5g7gHrLEAG6vUF3kOYMHDY7r40do9EBs4LMlWp0uJhaAF7MweS8 xT7XDxNy8IxjfNTlJC5jhIP84yvTuneipssaci6t4S+QXV8HVOVM4VhS/fiz0Fd9BIEslD k75RBT0SQmFHnRdJivM/Zg0KMBKAih++UN9G4JzHBKKJx9hFtVVV8ergnIcTyT8MlCBh8l f7S/dhR4OM2SSxBHJlHqB7046iYgn1E/TjNp65ZhnYemo/VgtQV2yAia8gxFsBD78MRRV9 Y8ivGtiC04ajwsW9Pq4f41UrmHpcNtgg7W0VZx44gOqZS1k6H1TwZVGnpXQ0eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598204; a=rsa-sha256; cv=none; b=A3TRbqha4lApyEgB+8fF841FSki+sdN5US82XThNWEwA3OLgZd2sAEuKQW8DHak9HdnQuF X0kTWY/qmQyhpbESpySimkQVNx8LdA5TpSsv+ruRZYHNzq+Ym5UKF9Oo8BoSmuBiXYmGLa PsxbNvgzhPyBkpB15VeWnY6I25wzlkp7uo4v0WbL9g/vbTrY307EgipqbmZMpGw/mwHgGV vQ9ziOBThVKybylvdx6rxZONifRakrhv5HIX0HEYnJflJTF9YuffK1ekxZSsyqF0nf0nPo kxinAsaZgTtRFP80gmDlrdINa8D2wnAjlfTZSOpVmA2poDs/9/DUo6Gj6VUBhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3c0kRCzQQp; Tue, 24 Jan 2023 22:10:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA4B2073541; Tue, 24 Jan 2023 22:10:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA4sm073538; Tue, 24 Jan 2023 22:10:04 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:04 GMT Message-Id: <202301242210.30OMA4sm073538@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: da2a6a5cee01 - stable/13 - loader/kboot: minor style nit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: da2a6a5cee0199045512d67f0502de71b9045c7b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=da2a6a5cee0199045512d67f0502de71b9045c7b commit da2a6a5cee0199045512d67f0502de71b9045c7b Author: Warner Losh AuthorDate: 2021-12-13 23:53:04 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 loader/kboot: minor style nit Kill trailing white space. Sponsored by: Netflix (cherry picked from commit 0630a06b2ab013ba6a877871eafde1889251ebdb) --- stand/powerpc/kboot/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/stand/powerpc/kboot/main.c b/stand/powerpc/kboot/main.c index 9cb4cd2a68d7..9b99c859070b 100644 --- a/stand/powerpc/kboot/main.c +++ b/stand/powerpc/kboot/main.c @@ -499,4 +499,3 @@ command_fdt(int argc, char *argv[]) } COMMAND_SET(fdt, "fdt", "flattened device tree handling", command_fdt); - From nobody Tue Jan 24 22:10:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3d6SyXz3bdb1; Tue, 24 Jan 2023 22:10: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 4P1h3d26Hmz4Hmy; Tue, 24 Jan 2023 22:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lBRXYVXicpRXzev05frwVuHNGXlh+jtAV6hnO9lp5Lc=; b=wI93yFylZ55JiT2RMiSGfGurN7AyhJrJW2Sd11aoVfnw44oRqQYJpVC8RSBBzkxeCpTDI+ HHhCQFPBTWXiS02eBKFzwHRf0xlqbAx3PR67iouu5vdfc5RNUO8/GsnEpaS7Ght1T4UHZM Xd2k5MqTyW3FVJyJ+stiCnlZtQar3PR7RmQZXE6jpHyoSrAKYs+iANAKM4yUzHAUwBn0JP nE4D3vF16tl/f35GV6cLf3mO5udLjPcGMbatsVOEZnFRiuEBTQmdu36vsGpy8jTdugqVdS 1EvBAW0Glvp0bCZnyVoJ+ZzVIEz3EoQM3MxeonlMYwirVYlia009vfHat6NoSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lBRXYVXicpRXzev05frwVuHNGXlh+jtAV6hnO9lp5Lc=; b=sX66TTF3KCz6tBvnlmW9LsMJvCzwhiksS5U4vLSRLqRWsoQOD4Z1XOn3agybHG0MuNWmiI BG3mk9dbA/K62ara+QxUKfXbvhqhspd8EP40kmWhzNLQ+swUOqeI9sxmvkOEvK2VehcVfJ Rum7WsFzDH5SKyaCFc7zj1GzGbrf8UQ51TBXEhDBDH/zgwRym4FE8hHXKpr4EAzG4Nh/Gb RvXKtw4E4igo/L0bDN+KOopCHjLr2MeFkhtn7FD9wQwgUM16XmwE+UIFPoqv8/2sjsOsSa xr7deeqGdxOcRH4yrEoFxoe+O2p7JDwO1mHtOu+XkE+Ak6SFXMBngWyycQheAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598205; a=rsa-sha256; cv=none; b=yj0VdiTxKqSYwZmYEIaD98LSLpAeWEgW9WcMHKWQuQ16KO1gaJXAKpUNQJoCCxMOD/txpj pbbDJbChTMxZhyg2eac1dERYWB3PLTciQ9Or17gcC4mPgZk2tQKDH5JaKXBlbfHmFZWeTB isUdrnwOdvZ6Cnw86V0aFv1mqQv5R5ZQMjZlFnh2uTHwxBOEmddNJ+tFLoSSoWNHQtybXm 3Q6o/MxKoBjGAlBy+TdFb2f7m9fC4V28dO55qKEkRmCkFO9Qr85KP18/tW2hkYYk9H9cQD fj8ocOL4qFpxr5Axckd611cqIvYWaYK5accGg/nc77eG7UwK2reLmBEcuOVZZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3d1BpHzQT6; Tue, 24 Jan 2023 22:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA5Hw073804; Tue, 24 Jan 2023 22:10:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA5Mx073801; Tue, 24 Jan 2023 22:10:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:05 GMT Message-Id: <202301242210.30OMA5Mx073801@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: a21fc0475e2b - stable/13 - loader: narrow the scope of gfx frame buffer wrt tg supported kernels List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a21fc0475e2b2c4c5e97f5f905098958769f1a2f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a21fc0475e2b2c4c5e97f5f905098958769f1a2f commit a21fc0475e2b2c4c5e97f5f905098958769f1a2f Author: Warner Losh AuthorDate: 2021-12-14 21:38:43 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 loader: narrow the scope of gfx frame buffer wrt tg supported kernels Store whether or not we found a vbefb module (eg, a tg supported kernel) in the preloaded_file structure. This automatically resets on reload and eliminates load_elf knowing about any gfx_* interface. Restrict this to i386, which is the only place it's used. Update libi386 to check in the preloaded_file struct. Eliminate this from the teken_gfx structure. Rewrite the parsing code to be more inline. Check this from the same place we check for a relocatable amd64 kernel. Sponsored by: Netflix Reviewed by: manu, tsoome Differential Revision: https://reviews.freebsd.org/D33427 (cherry picked from commit aaaa5a2e68e256101c9737c30ad142f1c3f05131) --- stand/common/bootstrap.h | 3 ++ stand/common/gfx_fb.h | 1 - stand/common/load_elf.c | 85 ++++++++++++++++++++----------------------- stand/common/module.c | 2 - stand/i386/libi386/bootinfo.c | 2 +- stand/loader.mk | 3 -- 6 files changed, 44 insertions(+), 52 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index ea03519f5b39..42b2c73f5774 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -232,6 +232,9 @@ struct preloaded_file #ifdef __amd64__ bool f_kernphys_relocatable; #endif +#if defined(__i386__) + bool f_tg_kernel_support; +#endif }; struct file_format diff --git a/stand/common/gfx_fb.h b/stand/common/gfx_fb.h index 5599ce7b3ae0..f5747e065daf 100644 --- a/stand/common/gfx_fb.h +++ b/stand/common/gfx_fb.h @@ -220,7 +220,6 @@ typedef struct teken_gfx { size_t tg_shadow_sz; /* units of pages */ teken_funcs_t *tg_functions; void *tg_private; - bool tg_kernel_supported; /* Loaded kernel is supported */ } teken_gfx_t; extern font_list_t fonts; diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index 7454c550c7f2..f3192c1c94fa 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #define FREEBSD_ELF #include -#include #include "bootstrap.h" @@ -91,8 +90,6 @@ static int __elfN(reloc_ptr)(struct preloaded_file *mp, elf_file_t ef, Elf_Addr p, void *val, size_t len); static int __elfN(parse_modmetadata)(struct preloaded_file *mp, elf_file_t ef, Elf_Addr p_start, Elf_Addr p_end); -static bool __elfN(parse_vt_drv_set)(struct preloaded_file *mp, elf_file_t ef, - Elf_Addr p_start, Elf_Addr p_end); static symaddr_fn __elfN(symaddr); static char *fake_modname(const char *name); @@ -218,6 +215,43 @@ is_kernphys_relocatable(elf_file_t ef) } #endif +#ifdef __i386__ +static bool +is_tg_kernel_support(struct preloaded_file *fp, elf_file_t ef) +{ + Elf_Sym sym; + Elf_Addr p_start, p_end, v, p; + char vd_name[16]; + int error; + + if (__elfN(lookup_symbol)(ef, "__start_set_vt_drv_set", &sym, STT_NOTYPE) != 0) + return (false); + p_start = sym.st_value + ef->off; + if (__elfN(lookup_symbol)(ef, "__stop_set_vt_drv_set", &sym, STT_NOTYPE) != 0) + return (false); + p_end = sym.st_value + ef->off; + + /* + * Walk through vt_drv_set, each vt driver structure starts with + * static 16 chars for driver name. If we have "vbefb", return true. + */ + for (p = p_start; p < p_end; p += sizeof(Elf_Addr)) { + COPYOUT(p, &v, sizeof(v)); + + error = __elfN(reloc_ptr)(fp, ef, p, &v, sizeof(v)); + if (error == EOPNOTSUPP) + v += ef->off; + else if (error != 0) + return (false); + COPYOUT(v, &vd_name, sizeof(vd_name)); + if (strncmp(vd_name, "vbefb", sizeof(vd_name)) == 0) + return (true); + } + + return (false); +} +#endif + static int __elfN(load_elf_header)(char *filename, elf_file_t ef) { @@ -448,6 +482,9 @@ __elfN(loadfile_raw)(char *filename, uint64_t dest, err = 0; #ifdef __amd64__ fp->f_kernphys_relocatable = multiboot || is_kernphys_relocatable(&ef); +#endif +#ifdef __i386__ + fp->f_tg_kernel_support = is_tg_kernel_support(fp, &ef); #endif goto out; @@ -872,18 +909,6 @@ nosyms: ef->buckets = ef->hashtab + 2; ef->chains = ef->buckets + ef->nbuckets; - if (!gfx_state.tg_kernel_supported && - __elfN(lookup_symbol)(ef, "__start_set_vt_drv_set", &sym, - STT_NOTYPE) == 0) { - p_start = sym.st_value + ef->off; - if (__elfN(lookup_symbol)(ef, "__stop_set_vt_drv_set", &sym, - STT_NOTYPE) == 0) { - p_end = sym.st_value + ef->off; - gfx_state.tg_kernel_supported = - __elfN(parse_vt_drv_set)(fp, ef, p_start, p_end); - } - } - if (__elfN(lookup_symbol)(ef, "__start_set_modmetadata_set", &sym, STT_NOTYPE) != 0) return 0; @@ -1084,36 +1109,6 @@ out: return (err); } -/* - * Walk through vt_drv_set, each vt driver structure starts with - * static 16 chars for driver name. If we have "vbefb", return true. - */ -static bool -__elfN(parse_vt_drv_set)(struct preloaded_file *fp, elf_file_t ef, - Elf_Addr p_start, Elf_Addr p_end) -{ - Elf_Addr v, p; - char vd_name[16]; - int error; - - p = p_start; - while (p < p_end) { - COPYOUT(p, &v, sizeof(v)); - - error = __elfN(reloc_ptr)(fp, ef, p, &v, sizeof(v)); - if (error == EOPNOTSUPP) - v += ef->off; - else if (error != 0) - return (false); - COPYOUT(v, &vd_name, sizeof(vd_name)); - if (strncmp(vd_name, "vbefb", sizeof(vd_name)) == 0) - return (true); - p += sizeof(Elf_Addr); - } - - return (false); -} - int __elfN(parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef, Elf_Addr p_start, Elf_Addr p_end) diff --git a/stand/common/module.c b/stand/common/module.c index 8e9e72c8a004..29864932bb9d 100644 --- a/stand/common/module.c +++ b/stand/common/module.c @@ -278,8 +278,6 @@ unload(void) } loadaddr = 0; unsetenv("kernelname"); - /* Reset tg_kernel_supported to allow next load to check it again. */ - gfx_state.tg_kernel_supported = false; } COMMAND_SET(unload, "unload", "unload all modules", command_unload); diff --git a/stand/i386/libi386/bootinfo.c b/stand/i386/libi386/bootinfo.c index 57f926b76589..bdf409b00ec0 100644 --- a/stand/i386/libi386/bootinfo.c +++ b/stand/i386/libi386/bootinfo.c @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); void bi_load_vbe_data(struct preloaded_file *kfp) { - if (!gfx_state.tg_kernel_supported) { + if (!kfp->f_tg_kernel_support) { /* * Loaded kernel does not have vt/vbe backend, * switch console to text mode. diff --git a/stand/loader.mk b/stand/loader.mk index bad2fe107ee9..aa88122cb7a1 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -29,9 +29,6 @@ SRCS+= metadata.c SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c .endif -# elf loaders set frame buffer things, so add includes for that. -CFLAGS.load_elf32.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite -CFLAGS.load_elf64.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite .if ${LOADER_DISK_SUPPORT:Uyes} == "yes" CFLAGS.part.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib From nobody Tue Jan 24 22:10:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3f3c3vz3bdgV; Tue, 24 Jan 2023 22:10: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 4P1h3f2d5Vz4Hq7; Tue, 24 Jan 2023 22:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qxzQXdoLBfs2jbQFighz6dI+HfNlJioq2WNKHbFEmME=; b=aTJpHCeSsiD5NbnWueqzaLJg169uVfpl4snMGiE/SoAhUgl5fZ/EkqhNxhbaB8sNggXDHn aO0N0CEOnMmVe96LznFQjkB5BaYoqVzxgV2X6behwJJPVvApaBLN3GWKfFkqzEyXWsXfvp IFg7J1dEP8jP/AXfARjRiX73ckqu4sr9d5i1fRr+d2IuIjR/1tEYfusxht4r4ax1NahmJ4 xN80/YK+BUYsJ1DiYZuWlDYs6fxdyDj0cvI7RvX7fQ2K2i1IcZ89z/o8wGfS7Sz4hmW3f2 78U4Ek5CguvYbUPSyZDUxlAopxuthdZ56Gkd6kvbeUrptQsSjYR1nTA7ENRA5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qxzQXdoLBfs2jbQFighz6dI+HfNlJioq2WNKHbFEmME=; b=fSVNiGIf2NOTpw7qhrRX17VJy0szZhx3rgfGWAAk9Y4OxYvXSTnUz9nickve47eSFy2csI UYKR01QUTe19qLnxtitnTgjci070ECYzC9L1IYpjMBohYVl2DxjujUhFVcDEOZcv5O/qwu 3suakiA0TCHVKXRJmtTgJ4RLm6SUxTb8mOye9mgmAkb9lhwAAAjw3eVJ8FeZaNtpbc+uW8 YKUJidZ7uJCS+/4h33QyRy5ymLAeAxjp5c3X9BXiwtFYX26mw9biS+pt1QNzHRe0fl94Os /TWVY4oXrKGibOxRdcae6V9FC9iD+E4M+Sn5OqzFeqNvROGCEHujXAXahFC6Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598206; a=rsa-sha256; cv=none; b=aLJhpkTx746QLLACitzkxYdUx2yVt2TQJZY+x5KmWI5pEy5oQ0ti0JYrqSLVIaTojlGXYS JyX0TiYqbxo8MrVIUNRoLBwNSgxp3qiLHKYU5cUfXcxLvr8d/IJEad/mkH1Ce/zDE7Y91x OhA9jArJ6sXW4jfa1IC2TZcjhUO6CfXra1tzl3tmoJa0Xb2ievkgxGJIay6xron0hDtZNm Vc0n2b/ByvlRzwHiSwCte11HAFGK1+hLI4k/NTwB6ZBxkSlHMtN0B9UbWylHqDv/ZZvYnZ uLRuO96b2pClotwOeMJ8NN5wTyJlLCZ0QXszysxQu7z44crp5TcoSolAgwGBqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3f1kvVzQNV; Tue, 24 Jan 2023 22:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA6f2074063; Tue, 24 Jan 2023 22:10:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA6NL074060; Tue, 24 Jan 2023 22:10:06 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:06 GMT Message-Id: <202301242210.30OMA6NL074060@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: 540a9f233431 - stable/13 - loader: move all gfx_fb.c stubs to common/gfx_fb_stub.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 540a9f2334316073a5ace7e334db4017457cb100 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=540a9f2334316073a5ace7e334db4017457cb100 commit 540a9f2334316073a5ace7e334db4017457cb100 Author: Warner Losh AuthorDate: 2021-12-14 21:39:12 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 loader: move all gfx_fb.c stubs to common/gfx_fb_stub.c All these files are the same, modulo one comment. Move them all into common/gfx_fb_stub.c and adjust Makefiles accordingly. Sponsored by: Netflix Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D33428 (cherry picked from commit 91d462192db0dc33dbc4ca38f2b24d74c5ea2987) --- stand/{uboot/lib/gfx_fb.c => common/gfx_fb_stub.c} | 2 +- stand/powerpc/kboot/Makefile | 5 +- stand/powerpc/kboot/gfx_fb.c | 78 ---------------------- stand/powerpc/ofw/Makefile | 5 +- stand/powerpc/ofw/gfx_fb.c | 78 ---------------------- stand/uboot/lib/Makefile | 5 +- stand/userboot/userboot/Makefile | 4 +- stand/userboot/userboot/gfx_fb.c | 78 ---------------------- 8 files changed, 9 insertions(+), 246 deletions(-) diff --git a/stand/uboot/lib/gfx_fb.c b/stand/common/gfx_fb_stub.c similarity index 98% rename from stand/uboot/lib/gfx_fb.c rename to stand/common/gfx_fb_stub.c index e2d3204da7b9..e212bd2daa12 100644 --- a/stand/uboot/lib/gfx_fb.c +++ b/stand/common/gfx_fb_stub.c @@ -28,7 +28,7 @@ __FBSDID("$FreeBSD$"); /* - * U-Boot-specific gfx stubs. + * Generic gfx stubs. */ #include diff --git a/stand/powerpc/kboot/Makefile b/stand/powerpc/kboot/Makefile index a5e43ab6fdaa..46bcc3d0e63a 100644 --- a/stand/powerpc/kboot/Makefile +++ b/stand/powerpc/kboot/Makefile @@ -19,10 +19,9 @@ INSTALLFLAGS= -b # Architecture-specific loader code SRCS= conf.c vers.c main.c ppc64_elf_freebsd.c SRCS+= host_syscall.S hostcons.c hostdisk.c kerneltramp.S kbootfdt.c -SRCS+= ucmpdi2.c gfx_fb.c +SRCS+= ucmpdi2.c gfx_fb_stub.c -CFLAGS.gfx_fb.c += -I${SRCTOP}/contrib/pnglite -CFLAGS.gfx_fb.c += -I${SRCTOP}/sys/teken +CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken .include "${BOOTSRC}/fdt.mk" diff --git a/stand/powerpc/kboot/gfx_fb.c b/stand/powerpc/kboot/gfx_fb.c deleted file mode 100644 index 318e45225e06..000000000000 --- a/stand/powerpc/kboot/gfx_fb.c +++ /dev/null @@ -1,78 +0,0 @@ -/*- - * Copyright 2021 Toomas Soome - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -/* - * powerpc specific gfx stubs. - */ - -#include -#include -#include "bootstrap.h" -#include "gfx_fb.h" - -font_list_t fonts = STAILQ_HEAD_INITIALIZER(fonts); -teken_gfx_t gfx_state = { 0 }; - -void -gfx_fb_setpixel(uint32_t x __unused, uint32_t y __unused) -{ -} - -void -gfx_fb_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, - uint32_t x2 __unused, uint32_t y2 __unused, uint32_t fill __unused) -{ -} - -void -gfx_term_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, - uint32_t x2 __unused, uint32_t y2 __unused) -{ -} - -void -gfx_fb_line(uint32_t x0 __unused, uint32_t y0 __unused, - uint32_t x1 __unused, uint32_t y1 __unused, uint32_t w __unused) -{ -} - -void -gfx_fb_bezier(uint32_t x0 __unused, uint32_t y0 __unused, - uint32_t x1 __unused, uint32_t y1 __unused, uint32_t x2 __unused, - uint32_t y2 __unused, uint32_t w __unused) -{ -} - -int -gfx_fb_putimage(png_t *png __unused, uint32_t ux1 __unused, - uint32_t uy1 __unused, uint32_t ux2 __unused, uint32_t uy2 __unused, - uint32_t flags __unused) -{ - return (1); -} diff --git a/stand/powerpc/ofw/Makefile b/stand/powerpc/ofw/Makefile index 03844301f094..28eb8ee91fad 100644 --- a/stand/powerpc/ofw/Makefile +++ b/stand/powerpc/ofw/Makefile @@ -18,10 +18,9 @@ INSTALLFLAGS= -b # Architecture-specific loader code SRCS= conf.c vers.c main.c elf_freebsd.c ppc64_elf_freebsd.c start.c -SRCS+= ucmpdi2.c gfx_fb.c +SRCS+= ucmpdi2.c gfx_fb_stub.c -CFLAGS.gfx_fb.c += -I${SRCTOP}/contrib/pnglite -CFLAGS.gfx_fb.c += -I${SRCTOP}/sys/teken +CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken .include "${BOOTSRC}/fdt.mk" .if ${MK_FDT} == "yes" diff --git a/stand/powerpc/ofw/gfx_fb.c b/stand/powerpc/ofw/gfx_fb.c deleted file mode 100644 index 318e45225e06..000000000000 --- a/stand/powerpc/ofw/gfx_fb.c +++ /dev/null @@ -1,78 +0,0 @@ -/*- - * Copyright 2021 Toomas Soome - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -/* - * powerpc specific gfx stubs. - */ - -#include -#include -#include "bootstrap.h" -#include "gfx_fb.h" - -font_list_t fonts = STAILQ_HEAD_INITIALIZER(fonts); -teken_gfx_t gfx_state = { 0 }; - -void -gfx_fb_setpixel(uint32_t x __unused, uint32_t y __unused) -{ -} - -void -gfx_fb_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, - uint32_t x2 __unused, uint32_t y2 __unused, uint32_t fill __unused) -{ -} - -void -gfx_term_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, - uint32_t x2 __unused, uint32_t y2 __unused) -{ -} - -void -gfx_fb_line(uint32_t x0 __unused, uint32_t y0 __unused, - uint32_t x1 __unused, uint32_t y1 __unused, uint32_t w __unused) -{ -} - -void -gfx_fb_bezier(uint32_t x0 __unused, uint32_t y0 __unused, - uint32_t x1 __unused, uint32_t y1 __unused, uint32_t x2 __unused, - uint32_t y2 __unused, uint32_t w __unused) -{ -} - -int -gfx_fb_putimage(png_t *png __unused, uint32_t ux1 __unused, - uint32_t uy1 __unused, uint32_t ux2 __unused, uint32_t uy2 __unused, - uint32_t flags __unused) -{ - return (1); -} diff --git a/stand/uboot/lib/Makefile b/stand/uboot/lib/Makefile index 448188c93058..e5d35de59ffd 100644 --- a/stand/uboot/lib/Makefile +++ b/stand/uboot/lib/Makefile @@ -8,10 +8,9 @@ LIB= uboot WARNS?= 2 SRCS= console.c copy.c devicename.c elf_freebsd.c glue.c -SRCS+= module.c net.c reboot.c time.c gfx_fb.c +SRCS+= module.c net.c reboot.c time.c gfx_fb_stub.c -CFLAGS.gfx_fb.c += -I${SRCTOP}/contrib/pnglite -CFLAGS.gfx_fb.c += -I${SRCTOP}/sys/teken +CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken CFLAGS.glue.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib .if ${LOADER_DISK_SUPPORT:Uyes} == "yes" diff --git a/stand/userboot/userboot/Makefile b/stand/userboot/userboot/Makefile index 60fcf57d9697..c5e2e6fe7c7c 100644 --- a/stand/userboot/userboot/Makefile +++ b/stand/userboot/userboot/Makefile @@ -32,15 +32,15 @@ SRCS+= main.c SRCS+= userboot_cons.c SRCS+= userboot_disk.c SRCS+= vers.c -SRCS+= gfx_fb.c +SRCS+= gfx_fb_stub.c CFLAGS+= -Wall CFLAGS+= -I${BOOTSRC}/userboot CFLAGS.main.c+= -I${BOOTSRC}/libsa/zfs CFLAGS.main.c+= -I${SYSDIR}/contrib/openzfs/include CFLAGS.main.c+= -I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs -CFLAGS.gfx_fb.c+= -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite CWARNFLAGS.main.c += -Wno-implicit-function-declaration +CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken NEWVERSWHAT= "User boot ${LOADER_INTERP}" ${MACHINE_CPUARCH} VERSION_FILE= ${.CURDIR}/../userboot/version diff --git a/stand/userboot/userboot/gfx_fb.c b/stand/userboot/userboot/gfx_fb.c deleted file mode 100644 index aef61814569a..000000000000 --- a/stand/userboot/userboot/gfx_fb.c +++ /dev/null @@ -1,78 +0,0 @@ -/*- - * Copyright 2021 Toomas Soome - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -/* - * userboot-specific gfx stubs. - */ - -#include -#include -#include "bootstrap.h" -#include "gfx_fb.h" - -font_list_t fonts = STAILQ_HEAD_INITIALIZER(fonts); -teken_gfx_t gfx_state = { 0 }; - -void -gfx_fb_setpixel(uint32_t x __unused, uint32_t y __unused) -{ -} - -void -gfx_fb_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, - uint32_t x2 __unused, uint32_t y2 __unused, uint32_t fill __unused) -{ -} - -void -gfx_term_drawrect(uint32_t x1 __unused, uint32_t y1 __unused, - uint32_t x2 __unused, uint32_t y2 __unused) -{ -} - -void -gfx_fb_line(uint32_t x0 __unused, uint32_t y0 __unused, - uint32_t x1 __unused, uint32_t y1 __unused, uint32_t w __unused) -{ -} - -void -gfx_fb_bezier(uint32_t x0 __unused, uint32_t y0 __unused, - uint32_t x1 __unused, uint32_t y1 __unused, uint32_t x2 __unused, - uint32_t y2 __unused, uint32_t w __unused) -{ -} - -int -gfx_fb_putimage(png_t *png __unused, uint32_t ux1 __unused, - uint32_t uy1 __unused, uint32_t ux2 __unused, uint32_t uy2 __unused, - uint32_t flags __unused) -{ - return (1); -} From nobody Tue Jan 24 22:10:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3g3rVVz3bddG; Tue, 24 Jan 2023 22:10: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 4P1h3g37Rzz4J6h; Tue, 24 Jan 2023 22:10:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d8PEDXjhVdXCH5AMuerdjTsPxTtClpb+jdh4baooBEo=; b=h003bS/a272PTHjJSb/6/0JKzZnEmEUrfJA/iDogW8MGqzionArbHID9biWc/oZVgbPuJB tHPKKyWOwx4z48oz3e+MrPfIQ00sMMVFd2ehSv5l1rRy9nR2Avf6gJnM4cNefH7+LLANaJ rfGz3VmTzb0+i82bg1mGCAzWIiSNtnEFhYsmcJragc9elYioI8ohZk8p4z+S9W3kNIMeW8 d2pQgz+M4bhjgVZTdSFViGx/TQfgW01LEe9D+xnjcAzT1YDJRK8Lk/RbD2EJLOk7RaeoaL QxsdBuzYPBYWNnKSGTau7xwv96LYNQnjpm2rGixxMvPwTQ4yANQaWVfFvr92RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d8PEDXjhVdXCH5AMuerdjTsPxTtClpb+jdh4baooBEo=; b=a79GgxZXiySmviZcxJy4fOU+lc6akVevoPf1yKU3azesrlrlNdFiJLtiKdo7oZpvG3EAWA tSNzlQ0iT9zUXJyIou/uy030D/qUMZvMOxX45F7f4UVExu7xmTfULlmgrdlwHYz52tG5Bp prh6BUC9KVNIr1eHNjdGGzTiEz6hyXe35YiZR/M2C5aa0OhPNkYYEDtQpkadSraVFl72fe yVpzxCkMZj1xZk0/WvnjGcQa/VD7fAUgX7zmc5BvrutdKI5UBdqtI1LLjRhHFJoGLtXRIb t4HAievAlJ+BMZCuFVxKfYkoGNFB+IeuKQLHSQssW5UuYA4o4eSedzVInxWdaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598207; a=rsa-sha256; cv=none; b=BQbSaDZ2M7CUBK+SRm3j0/SFs2BhUn/3lWF3uunTlTt9UUbvTEuf2F1c2CUF27CUFG0zT1 WrDKStHYhmb3aW2XUMpur1FdFKNFSOztsggR2oY7flM3kmmG/U+SW7kDbuSc9COIescAh0 F7JirQ6Br8fZJh0HhdtFnP5xHJBH0CoTVl73NR/O8XZFptDUZyL2oX1acFBzcJ06wYsae4 hem6mbZg0/d7uHpSRVfWSQyf05xNfyBPKnL3fC6iNfJ0dRhRJop4R+9RrBFc8FoK3xMW2k 1lC2FctL8QPviwJiXm4f3tizFRq324+X+yO1zPXmAs/m4dhX8rkkhZViJxZaEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3g1qfyzQWX; Tue, 24 Jan 2023 22:10:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA7rl074324; Tue, 24 Jan 2023 22:10:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA7NS074321; Tue, 24 Jan 2023 22:10:07 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:07 GMT Message-Id: <202301242210.30OMA7NS074321@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: 7b03d429ce9c - stable/13 - stand/uboot: reorg List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7b03d429ce9cf27c7e8eb25328cea00dcb6bcad7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7b03d429ce9cf27c7e8eb25328cea00dcb6bcad7 commit 7b03d429ce9cf27c7e8eb25328cea00dcb6bcad7 Author: Warner Losh AuthorDate: 2021-12-15 04:09:53 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:18 +0000 stand/uboot: reorg Build uboot ubldr and friends like we build efi binaries o move everything to be under stand/uboot o md code goes in arch/$ARCH o move everything over from the library - Had to rename console.c, disk.c and module.c due to conflicts o update version to 1.5 to reflect the new way of building This results in a more consistent build system and should represent no functional change, apart from powerpc version getting new help file. Also, moved to exlcuding uboot on powerpc64le by using BROKEN_OPTION instead of the incidental exclusion we had before due to Makefile reorgs. Sponsored by: Netflix Feedback by: stevek, jrtc27 Differential Revision: https://reviews.freebsd.org/D33362 (cherry picked from commit 9dc70af83e5992e543542adbf5a6edeb38f187f6) --- share/mk/src.opts.mk | 4 +- stand/Makefile | 5 ++ stand/arm/Makefile | 7 -- stand/arm/Makefile.inc | 3 - stand/arm/uboot/Makefile | 68 ------------------- stand/arm/uboot/version | 10 --- stand/powerpc/Makefile | 4 -- stand/powerpc/uboot/Makefile | 36 ---------- stand/powerpc/uboot/version | 11 --- stand/uboot.mk | 21 ------ stand/uboot/Makefile | 78 +++++++++++++++++++++- stand/uboot/Makefile.inc | 3 - stand/uboot/{lib => }/api_public.h | 0 stand/uboot/arch/arm/Makefile.inc | 25 +++++++ stand/{arm/uboot => uboot/arch/arm}/conf.c | 0 stand/{arm/uboot => uboot/arch/arm}/ldscript.arm | 0 stand/{arm/uboot => uboot/arch/arm}/start.S | 0 stand/uboot/arch/powerpc/Makefile.inc | 6 ++ stand/{powerpc/uboot => uboot/arch/powerpc}/conf.c | 0 .../uboot => uboot/arch/powerpc}/ldscript.powerpc | 0 .../arch/powerpc}/ppc64_elf_freebsd.c | 0 .../{powerpc/uboot => uboot/arch/powerpc}/start.S | 0 stand/uboot/{lib => }/copy.c | 0 stand/uboot/{lib => }/devicename.c | 0 stand/uboot/{lib => }/elf_freebsd.c | 0 stand/uboot/fdt/Makefile | 21 ------ stand/uboot/{lib => }/glue.c | 0 stand/uboot/{lib => }/glue.h | 0 stand/{arm => }/uboot/help.uboot | 0 stand/uboot/lib/Makefile | 30 --------- stand/uboot/{lib => }/libuboot.h | 0 stand/uboot/{common => }/main.c | 0 stand/uboot/{lib => }/net.c | 0 stand/uboot/{lib => }/reboot.c | 0 stand/uboot/{lib => }/time.c | 0 stand/uboot/{lib/console.c => uboot_console.c} | 0 stand/uboot/{lib/disk.c => uboot_disk.c} | 0 stand/uboot/{fdt => }/uboot_fdt.c | 0 stand/uboot/{lib/module.c => uboot_module.c} | 0 stand/uboot/version | 6 ++ 40 files changed, 119 insertions(+), 219 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index b6b69869c8bb..3fa33f936df5 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -316,8 +316,8 @@ BROKEN_OPTIONS+=EFI .if ${__T:Mpowerpc*} == "" BROKEN_OPTIONS+=LOADER_OFW .endif -# UBOOT is only for arm, mips and powerpc, exclude others -.if ${__T:Marm*} == "" && ${__T:Mmips*} == "" && ${__T:Mpowerpc*} == "" +# UBOOT is only for arm, and big-endian powerpc +.if (${__T:Marm*} == "" && ${__T:Mpowerpc*} == "") || ${__T} == "powerpc64le" BROKEN_OPTIONS+=LOADER_UBOOT .endif # GELI and Lua in loader currently cause boot failures on powerpc. diff --git a/stand/Makefile b/stand/Makefile index c5918a6539eb..7ac848f4076a 100644 --- a/stand/Makefile +++ b/stand/Makefile @@ -81,6 +81,11 @@ SUBDIR_DEPEND_efi+= ${INTERP_DEPENDS} SUBDIR_DEPEND_efi+= fdt .endif +SUBDIR_DEPEND_uboot+= ${INTERP_DEPENDS} +.if ${MK_FDT} != "no" +SUBDIR_DEPEND_uboot+= fdt +.endif + SUBDIR_PARALLEL= yes .include diff --git a/stand/arm/Makefile b/stand/arm/Makefile deleted file mode 100644 index 7ff21abcc9b8..000000000000 --- a/stand/arm/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -NO_OBJ=t - -SUBDIR= uboot - -.include diff --git a/stand/arm/Makefile.inc b/stand/arm/Makefile.inc deleted file mode 100644 index 265f86d1ed55..000000000000 --- a/stand/arm/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -.include "../Makefile.inc" diff --git a/stand/arm/uboot/Makefile b/stand/arm/uboot/Makefile deleted file mode 100644 index f99282aa6e5a..000000000000 --- a/stand/arm/uboot/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -# $FreeBSD$ - -LOADER_UFS_SUPPORT?= yes -LOADER_CD9660_SUPPORT?= no -LOADER_MSDOS_SUPPORT?= no -LOADER_EXT2FS_SUPPORT?= no -LOADER_NET_SUPPORT?= yes -LOADER_NFS_SUPPORT?= yes -LOADER_TFTP_SUPPORT?= no -LOADER_GZIP_SUPPORT?= no -LOADER_BZIP2_SUPPORT?= no - -.include - -FILES+= ubldr ubldr.bin - -NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} -INSTALLFLAGS= -b -WARNS?= 1 -# Address at which ubldr will be loaded. -# This varies for different boards and SOCs. -UBLDR_LOADADDR?= 0x1000000 - -# Architecture-specific loader code -SRCS= start.S conf.c self_reloc.c vers.c - -.if ${COMPILER_TYPE} == "gcc" -CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized -.endif - -HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt - -# Always add MI sources -.include "${BOOTSRC}/loader.mk" - -LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} -LDFLAGS+= -Wl,-znotext - -# Pull in common loader code -.include "${BOOTSRC}/uboot.mk" - -CFLAGS+= -fPIC - -DPADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} -LDADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} - -OBJS+= ${SRCS:N*.h:R:S/$/.o/g} - -ldscript.abs: - echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET} - -ldscript.pie: - echo "UBLDR_LOADADDR = 0;" >${.TARGET} - -ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD} - ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \ - -o ${.TARGET} ${OBJS} ${LDADD} - -ubldr.pie: ${OBJS} ldscript.pie ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD} - ${CC} ${CFLAGS} -T ldscript.pie ${LDFLAGS} -pie -Wl,-Bsymbolic \ - -o ${.TARGET} ${OBJS} ${LDADD} - -ubldr.bin: ubldr.pie - ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET} - -CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin - -.include diff --git a/stand/arm/uboot/version b/stand/arm/uboot/version deleted file mode 100644 index ec46b388b281..000000000000 --- a/stand/arm/uboot/version +++ /dev/null @@ -1,10 +0,0 @@ -$FreeBSD$ - -NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this -file is important. Make sure the current version number is on line 6. - -1.3: Remove NAND FS support. -1.2: Extended with NAND FS support. -1.1: Flattened Device Tree blob support. -1.0: Added storage support. Booting from HDD, USB, etc. is now possible. -0.5: Initial U-Boot/arm version (netbooting only). diff --git a/stand/powerpc/Makefile b/stand/powerpc/Makefile index a16d3933ff7e..b5d11dd6cf57 100644 --- a/stand/powerpc/Makefile +++ b/stand/powerpc/Makefile @@ -6,10 +6,6 @@ NO_OBJ=t SUBDIR.yes= boot1.chrp ofw -.if "${MACHINE_ARCH}" != "powerpc64le" -SUBDIR.${MK_FDT}+= uboot -.endif - .if "${MACHINE_ARCH}" == "powerpc64" SUBDIR.${MK_FDT}+= kboot .endif diff --git a/stand/powerpc/uboot/Makefile b/stand/powerpc/uboot/Makefile deleted file mode 100644 index b0635104e454..000000000000 --- a/stand/powerpc/uboot/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# $FreeBSD$ - -LOADER_UFS_SUPPORT?= yes -LOADER_CD9660_SUPPORT?= no -LOADER_EXT2FS_SUPPORT?= no -LOADER_NET_SUPPORT?= yes -LOADER_NFS_SUPPORT?= yes -LOADER_TFTP_SUPPORT?= no -LOADER_GZIP_SUPPORT?= no -LOADER_BZIP2_SUPPORT?= no - -.include - -BINDIR= /boot/uboot -PROG= ubldr -NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} -INSTALLFLAGS= -b - -# Architecture-specific loader code -SRCS= start.S conf.c vers.c ppc64_elf_freebsd.c -SRCS+= ucmpdi2.c - -# Always add MI sources -.include "${BOOTSRC}/loader.mk" -.PATH: ${SYSDIR}/libkern - -LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc - -.include "${BOOTSRC}/uboot.mk" - -DPADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} -LDADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} - -MK_PIE= no - -.include diff --git a/stand/powerpc/uboot/version b/stand/powerpc/uboot/version deleted file mode 100644 index 21556cff70e0..000000000000 --- a/stand/powerpc/uboot/version +++ /dev/null @@ -1,11 +0,0 @@ -$FreeBSD$ - -NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this -file is important. Make sure the current version number is on line 6. - -1.1: Flattened Device Tree blob support. -1.0: Added storage support. -0.6: Integrated with the new U-Boot API -0.5: Full network functionality. -0.2: Initial U-Boot/PowerPC version derived from the existing - OpenFirmware-based. diff --git a/stand/uboot.mk b/stand/uboot.mk deleted file mode 100644 index 0ff7fb32b07c..000000000000 --- a/stand/uboot.mk +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -SRCS+= main.c - -.PATH: ${UBOOTSRC}/common - -CFLAGS+= -I${UBOOTSRC}/common - -# U-Boot standalone support library -LIBUBOOT= ${BOOTOBJ}/uboot/lib/libuboot.a -CFLAGS+= -I${UBOOTSRC}/lib -CFLAGS+= -I${BOOTOBJ}/uboot/lib -.if ${MACHINE_CPUARCH} == "arm" -SRCS+= metadata.c -.endif - -.include "${BOOTSRC}/fdt.mk" - -.if ${MK_FDT} == "yes" -LIBUBOOT_FDT= ${BOOTOBJ}/uboot/fdt/libuboot_fdt.a -.endif diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index fde6f9c4e16e..aed2121bd507 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -1,9 +1,81 @@ # $FreeBSD$ +LOADER_UFS_SUPPORT?= yes +LOADER_CD9660_SUPPORT?= no +LOADER_MSDOS_SUPPORT?= no +LOADER_EXT2FS_SUPPORT?= no +LOADER_NET_SUPPORT?= yes +LOADER_NFS_SUPPORT?= yes +LOADER_TFTP_SUPPORT?= no +LOADER_GZIP_SUPPORT?= no +LOADER_BZIP2_SUPPORT?= no +LOADER_DISK_SUPPORT?= yes + .include -SUBDIR.yes= lib +.include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" + +.if ${MK_PIE} == "yes" +FILES+= ubldr ubldr.bin +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} +.else +PROG= ubldr +.endif + +NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} +BINDIR= /boot/uboot +INSTALLFLAGS= -b +WARNS?= 1 + +.PATH: ${BOOTSRC}/common +.PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH} + + +.if ${COMPILER_TYPE} == "gcc" +CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized +.endif + +HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt + +# Always add MI sources +.include "${BOOTSRC}/loader.mk" + +LDSCRIPT= ${.CURDIR}/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH} +LDFLAGS= -nostdlib -static -T ${LDSCRIPT} +LDFLAGS+= -Wl,-znotext + +SRCS+= main.c vers.c +SRCS+= copy.c devicename.c elf_freebsd.c glue.c +SRCS+= net.c reboot.c time.c gfx_fb_stub.c +SRCS+= uboot_console.c uboot_disk.c uboot_fdt.c uboot_module.c + +CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken +CFLAGS.glue.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib + +CFLAGS+= -I${BOOTSRC}/common +CFLAGS+= -I${.CURDIR} +CFLAGS+= -I${.OBJDIR} + +.if ${MACHINE_CPUARCH} == "arm" +SRCS+= metadata.c +.endif + +.include "${BOOTSRC}/fdt.mk" + +CFLAGS+= -fPIC + +# Pick up the bootstrap header for some interface items +CFLAGS+= -I${LDRSRC} + +# libfdt headers +CFLAGS+= -I${FDTSRC} + +.ifdef(BOOT_DISK_DEBUG) +# Make the disk code more talkative +CFLAGS+= -DDISK_DEBUG +.endif -SUBDIR.${MK_FDT}+=fdt +DPADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} +LDADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} -.include +.include diff --git a/stand/uboot/Makefile.inc b/stand/uboot/Makefile.inc deleted file mode 100644 index 265f86d1ed55..000000000000 --- a/stand/uboot/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -.include "../Makefile.inc" diff --git a/stand/uboot/lib/api_public.h b/stand/uboot/api_public.h similarity index 100% rename from stand/uboot/lib/api_public.h rename to stand/uboot/api_public.h diff --git a/stand/uboot/arch/arm/Makefile.inc b/stand/uboot/arch/arm/Makefile.inc new file mode 100644 index 000000000000..66cb3f1b4dda --- /dev/null +++ b/stand/uboot/arch/arm/Makefile.inc @@ -0,0 +1,25 @@ +# Address at which ubldr will be loaded. +# This varies for different boards and SOCs. +UBLDR_LOADADDR?= 0x1000000 + +SRCS+= start.S conf.c self_reloc.c + +ldscript.abs: + echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET} + +ldscript.pie: + echo "UBLDR_LOADADDR = 0;" >${.TARGET} + +ubldr: ${OBJS} ldscript.abs ${LDSCRIPT} ${DPADD} + ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \ + -o ${.TARGET} ${OBJS} ${LDADD} + +ubldr.pie: ${OBJS} ldscript.pie ${LDSCRIPT} ${DPADD} + ${CC} ${CFLAGS} -T ldscript.pie ${LDFLAGS} -pie -Wl,-Bsymbolic \ + -o ${.TARGET} ${OBJS} ${LDADD} + +ubldr.bin: ubldr.pie + ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET} + +CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin + diff --git a/stand/arm/uboot/conf.c b/stand/uboot/arch/arm/conf.c similarity index 100% rename from stand/arm/uboot/conf.c rename to stand/uboot/arch/arm/conf.c diff --git a/stand/arm/uboot/ldscript.arm b/stand/uboot/arch/arm/ldscript.arm similarity index 100% rename from stand/arm/uboot/ldscript.arm rename to stand/uboot/arch/arm/ldscript.arm diff --git a/stand/arm/uboot/start.S b/stand/uboot/arch/arm/start.S similarity index 100% rename from stand/arm/uboot/start.S rename to stand/uboot/arch/arm/start.S diff --git a/stand/uboot/arch/powerpc/Makefile.inc b/stand/uboot/arch/powerpc/Makefile.inc new file mode 100644 index 000000000000..01c7a0c6ac8c --- /dev/null +++ b/stand/uboot/arch/powerpc/Makefile.inc @@ -0,0 +1,6 @@ + +SRCS+= start.S conf.c ppc64_elf_freebsd.c +.PATH: ${SYSDIR}/libkern +SRCS+= ucmpdi2.c + +MK_PIE= no diff --git a/stand/powerpc/uboot/conf.c b/stand/uboot/arch/powerpc/conf.c similarity index 100% rename from stand/powerpc/uboot/conf.c rename to stand/uboot/arch/powerpc/conf.c diff --git a/stand/powerpc/uboot/ldscript.powerpc b/stand/uboot/arch/powerpc/ldscript.powerpc similarity index 100% rename from stand/powerpc/uboot/ldscript.powerpc rename to stand/uboot/arch/powerpc/ldscript.powerpc diff --git a/stand/powerpc/uboot/ppc64_elf_freebsd.c b/stand/uboot/arch/powerpc/ppc64_elf_freebsd.c similarity index 100% rename from stand/powerpc/uboot/ppc64_elf_freebsd.c rename to stand/uboot/arch/powerpc/ppc64_elf_freebsd.c diff --git a/stand/powerpc/uboot/start.S b/stand/uboot/arch/powerpc/start.S similarity index 100% rename from stand/powerpc/uboot/start.S rename to stand/uboot/arch/powerpc/start.S diff --git a/stand/uboot/lib/copy.c b/stand/uboot/copy.c similarity index 100% rename from stand/uboot/lib/copy.c rename to stand/uboot/copy.c diff --git a/stand/uboot/lib/devicename.c b/stand/uboot/devicename.c similarity index 100% rename from stand/uboot/lib/devicename.c rename to stand/uboot/devicename.c diff --git a/stand/uboot/lib/elf_freebsd.c b/stand/uboot/elf_freebsd.c similarity index 100% rename from stand/uboot/lib/elf_freebsd.c rename to stand/uboot/elf_freebsd.c diff --git a/stand/uboot/fdt/Makefile b/stand/uboot/fdt/Makefile deleted file mode 100644 index ef60f8bdb6a9..000000000000 --- a/stand/uboot/fdt/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -.include - -.PATH: ${LDRSRC} - -LIB= uboot_fdt -WARNS?= 2 - -SRCS= uboot_fdt.c - -# U-Boot library headers -CFLAGS+= -I${UBOOTSRC}/lib - -# libfdt headers -CFLAGS+= -I${FDTSRC} - -# Pick up the bootstrap header for some interface items -CFLAGS+= -I${LDRSRC} - -.include diff --git a/stand/uboot/lib/glue.c b/stand/uboot/glue.c similarity index 100% rename from stand/uboot/lib/glue.c rename to stand/uboot/glue.c diff --git a/stand/uboot/lib/glue.h b/stand/uboot/glue.h similarity index 100% rename from stand/uboot/lib/glue.h rename to stand/uboot/glue.h diff --git a/stand/arm/uboot/help.uboot b/stand/uboot/help.uboot similarity index 100% rename from stand/arm/uboot/help.uboot rename to stand/uboot/help.uboot diff --git a/stand/uboot/lib/Makefile b/stand/uboot/lib/Makefile deleted file mode 100644 index e5d35de59ffd..000000000000 --- a/stand/uboot/lib/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# $FreeBSD$ - -.include - -.PATH: ${LDRSRC} - -LIB= uboot -WARNS?= 2 - -SRCS= console.c copy.c devicename.c elf_freebsd.c glue.c -SRCS+= module.c net.c reboot.c time.c gfx_fb_stub.c - -CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken -CFLAGS.glue.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib - -.if ${LOADER_DISK_SUPPORT:Uyes} == "yes" -SRCS+= disk.c -.endif - -.include "${BOOTSRC}/fdt.mk" - -# Pick up the bootstrap header for some interface items -CFLAGS+= -I${LDRSRC} - -.ifdef(BOOT_DISK_DEBUG) -# Make the disk code more talkative -CFLAGS+= -DDISK_DEBUG -.endif - -.include diff --git a/stand/uboot/lib/libuboot.h b/stand/uboot/libuboot.h similarity index 100% rename from stand/uboot/lib/libuboot.h rename to stand/uboot/libuboot.h diff --git a/stand/uboot/common/main.c b/stand/uboot/main.c similarity index 100% rename from stand/uboot/common/main.c rename to stand/uboot/main.c diff --git a/stand/uboot/lib/net.c b/stand/uboot/net.c similarity index 100% rename from stand/uboot/lib/net.c rename to stand/uboot/net.c diff --git a/stand/uboot/lib/reboot.c b/stand/uboot/reboot.c similarity index 100% rename from stand/uboot/lib/reboot.c rename to stand/uboot/reboot.c diff --git a/stand/uboot/lib/time.c b/stand/uboot/time.c similarity index 100% rename from stand/uboot/lib/time.c rename to stand/uboot/time.c diff --git a/stand/uboot/lib/console.c b/stand/uboot/uboot_console.c similarity index 100% rename from stand/uboot/lib/console.c rename to stand/uboot/uboot_console.c diff --git a/stand/uboot/lib/disk.c b/stand/uboot/uboot_disk.c similarity index 100% rename from stand/uboot/lib/disk.c rename to stand/uboot/uboot_disk.c diff --git a/stand/uboot/fdt/uboot_fdt.c b/stand/uboot/uboot_fdt.c similarity index 100% rename from stand/uboot/fdt/uboot_fdt.c rename to stand/uboot/uboot_fdt.c diff --git a/stand/uboot/lib/module.c b/stand/uboot/uboot_module.c similarity index 100% rename from stand/uboot/lib/module.c rename to stand/uboot/uboot_module.c diff --git a/stand/uboot/version b/stand/uboot/version new file mode 100644 index 000000000000..630fe00bb777 --- /dev/null +++ b/stand/uboot/version @@ -0,0 +1,6 @@ +$FreeBSD$ + +NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this +file is important. Make sure the current version number is on line 6. + +1.5: Unified ubldr build From nobody Tue Jan 24 22:10:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3h4FcKz3bdbG; Tue, 24 Jan 2023 22:10: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 4P1h3h3bBZz4J7J; Tue, 24 Jan 2023 22:10:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N9cZKH9coEuBSVZ58YKmqyOmKRgPXz7IjaJoirP1vv0=; b=CtsE8GAULSAv/06PHaLbgCV9zlg4imdIHMpQhp0AKJbk+CfibQcIJz+Cx+Q3GNR7G8uCbZ 8mPpi3oXvSeWsmY9ctLOqsdsd5RJUZGULoJDfx7u9MBuu1mT5ISPHeEYtwoZdVHLxUlLoZ ucLtYXZqYIuAG+YEmQefLtxlWh2zIC777zQskCX2bemU5wzprcajvqQfpx2+Skij32SHsS uOktplfz1wwDE2Zb/HKUlWoXQ7ZhylpAlvmdurwKDRq2VOue7Cd0NyebxKiBCRtdn5ogzl /nuwkCbaeWuyraWTlLHIJoK85B+Xo1TCQiOs3/5+mtSLJo0zZhqBJlcmY0nkWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N9cZKH9coEuBSVZ58YKmqyOmKRgPXz7IjaJoirP1vv0=; b=tvgb4Xx/egfbn1BV4hJb6W/LxoU74hoZJ5eG0eimF1IeJGycKhbblrkdlT3+/Tuo2CjK+M tqu1QV1R/+h//s+wfh+5xtkMXW1Fzyli9nUpxXA8rxvAwSkwL+QVc4ESdonMeASiFF3C4x amXY5P1fItcriWN9l/oEheG2CtPeg28nMuCn5rXtfSri/dTxMF3mEvO9Kp6SgVv092mYkB w2QJHyy8cIz46Plv2J3p4YxTx9nHA0QQ1pWGPV27auBQ/2lGQZIrooLXU3vKCXz5a0ZKZl H9tD7tEwr5oKQcYYSTbqtcH0z7f7kqcpt7f4hKB3P2LNCQQGhPERlFeOAATNgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598208; a=rsa-sha256; cv=none; b=u/am8TbwUJ7D1mRxacvrlWvJ58+7q5QBybZVSuSAdYJCZoxTgEsD04Z2xVGh+88K1bgjpU I10mrPiu6ukypSuc0MrxSC8aO21h0apF2xSH/wAHMJDfYd+w+dtdC62XOAIaAujSUDvXg+ Y/2ZD2wb6dowBmsMBSBIe/Ej0R+8aGn+IjmF0ozv/hjs0ObZ3GzLJ0ktFkjHjq4sy1S7AV 2obhoMXesDlRrrVRXQ19aUN9vEH+aELqypbhKD+OB7coRP1BpySUa4lYaXwsPp6AmEH8LC 5yVCldygGaCbkFBnuuAA4pkSXn7/VKlFbsvc1ZoDC7DLetwV8pY3xlYKr2pytQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3h2X6mzQFC; Tue, 24 Jan 2023 22:10:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA8Fw074572; Tue, 24 Jan 2023 22:10:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA8KT074569; Tue, 24 Jan 2023 22:10:08 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:08 GMT Message-Id: <202301242210.30OMA8KT074569@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: 0a7f1efb4488 - stable/13 - stand: netif kill set but unused variables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0a7f1efb4488c88dec6515085f8904c22ef84780 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0a7f1efb4488c88dec6515085f8904c22ef84780 commit 0a7f1efb4488c88dec6515085f8904c22ef84780 Author: Warner Losh AuthorDate: 2021-12-16 02:44:28 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 stand: netif kill set but unused variables Sponsored by: Netflix (cherry picked from commit 58e354ec8b1ae0ec80fba02636e64930db4fd9c2) --- stand/libsa/netif.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/libsa/netif.c b/stand/libsa/netif.c index f199da3b6e95..4e91e11a9413 100644 --- a/stand/libsa/netif.c +++ b/stand/libsa/netif.c @@ -102,7 +102,7 @@ netif_match(struct netif *nif, void *machdep_hint) struct netif * netif_select(void *machdep_hint) { - int d, u, unit_done, s; + int d, u, s; struct netif_driver *drv; struct netif cur_if; static struct netif best_if; @@ -118,7 +118,6 @@ netif_select(void *machdep_hint) for (u = 0; u < drv->netif_nifs; u++) { cur_if.nif_unit = u; - unit_done = 0; #ifdef NETIF_DEBUG if (netif_debug) From nobody Tue Jan 24 22:10:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3j6Qcqz3bdmX; Tue, 24 Jan 2023 22:10: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 4P1h3j4228z4HrT; Tue, 24 Jan 2023 22:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VZGdlh2DTeMJOgBc3lt2FFi8SvAU1okFNeD/Bi/6wqA=; b=NSR6zk23rY/Oy1gVZvHpuE8SBv+u9UngTXagVXjXIErpoVN8A+DSJFf04e15Ytk8410Eow qgrU+JIevesmQkiA35BkU5jBiMmeSR3b7f9x19NoYyHPTU10op0URJfcLDP0ez8mtOu6+J gRAyntGYLbFuuFRJUj8aaxrd/U4Te41fxKtX1QmXMyOhwUu3AY38ZIKv2t/avhdmCwLrda vwb35SHeaSQ7WE8xgtX53ua9P8JCNsJ2l6E7culsbygQP3+fGmKNLyJsvVTQj8YBGpBJIe lyYm7D4Hdjtv3DAJFXLu5RJZQRQ8NjCUQo88lFl9MkSeTgECFSxST+Em9di9Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VZGdlh2DTeMJOgBc3lt2FFi8SvAU1okFNeD/Bi/6wqA=; b=mztqsubrkQHQHp4ybj10JDPs+/YJ4M8P13aiAJyZxNy5E007otm/VXG3L3xIaHmkgj5PcA Jx1unrfGT5pop//1CQclkjCte9UfPIYTpaYrmW3ruNwz/FXCuukbBn12XjB7ylJlnB8EDv yAsUSR/tmrsw9IiT+mw1Etmw0h5hEJ94FlLsOtBql9Z8ht3e3oNw4STCnuAol1QSVNVdou TVtnrEpGbbIg2KT8zJ78nBLbJKhwKGwlUb47d6jw/FmpS9/4uSOsjUWMRju80DureizZZb 8PJ+ZtsiaIbQfMMfuQkBADTzDw446HARVR2JCTL0vkeIvoHml8g8p7WN25W/KA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598209; a=rsa-sha256; cv=none; b=GVH2KTT0TUAyzubo+RgqXIlrueEoFyjp6Sn+QbqbGOJ7pSEpL0Y24CieiKQPLc3LAN04m/ jtrQ7r8OxdOeADk+rFazJuoUOtV7iAssuqx7awrdlI5xlDrVb/GTnYd9AHXVKYOj+2ON/7 WjxPn6jDRq7WmdfcE14otUqouMHVtKSeC0bQNBx15B34BkuetnujTdvcizACB5gf69dBds xtfKtXY9I9FSqGnqUMsX5K3RxBDgqN82wJ8fRt9be8KXtsf1v7kcBsb79cHJovcmKwRiHg RraJHV6Mcql5GeCun1Hsqq6+cgj4UdNmGZMjqE6UuaYqpYh7HjT0sDw9kEEjFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3j33wMzQLv; Tue, 24 Jan 2023 22:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMA9BK075078; Tue, 24 Jan 2023 22:10:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMA9sV075072; Tue, 24 Jan 2023 22:10:09 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:09 GMT Message-Id: <202301242210.30OMA9sV075072@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: 257078e73387 - stable/13 - stand/userboot: Kill set but unused variables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 257078e73387448f3d3c913e92488d2f8bf18b4a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=257078e73387448f3d3c913e92488d2f8bf18b4a commit 257078e73387448f3d3c913e92488d2f8bf18b4a Author: Warner Losh AuthorDate: 2021-12-16 02:48:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 stand/userboot: Kill set but unused variables We never use 'dev' after fetching it from the varargs list. Skip the whole bother of fetching it, or setting up the meachinery to fetch it. Sponsored by: Netflix (cherry picked from commit 7a7a464c7e7d42cd72b1a201c3a3257cb6864ad8) --- stand/userboot/userboot/host.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/stand/userboot/userboot/host.c b/stand/userboot/userboot/host.c index c9ac01576e82..20952983e0d1 100644 --- a/stand/userboot/userboot/host.c +++ b/stand/userboot/userboot/host.c @@ -135,12 +135,6 @@ host_dev_print(int verbose) static int host_dev_open(struct open_file *f, ...) { - va_list args; - struct devdesc *dev; - - va_start(args, f); - dev = va_arg(args, struct devdesc*); - va_end(args); return (0); } From nobody Tue Jan 24 22:10:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3k5mv9z3bdp4; Tue, 24 Jan 2023 22:10: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 4P1h3k4gffz4Htk; Tue, 24 Jan 2023 22:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03b+Lw0WFjF0jnK54Wotoeik3kjyGVejDRillOsHJbw=; b=FSwksFz0khTS9cgpNk+Q6T2k7RPV6jn/CG6LsSG2Pi2xHn3zA8QfXPQwJz8ojOcLSv/a4q pW0r1jOcSgf1aNy/QVakbbUJIj9C2pdeJ3yJOILEWgdLZ4sH5zOGVfZACaa6HT36+9ecSd QfHGUQ9oar8FpyU8PkRahFqo81C6w7spMQ5xod6up6e8HGRSUBDpU1s+lf+zVzBaUVnONR QjbX08xQGvKV4O3ch3onDJp7C0uFl/q9eF/DgjVACW8nSaj6hheDL0l8j38Y20w1bmTL4D XZjWAhr6PWuPxbp4NFZNBRG9WRr0UoJTDOn1i7VKJjHzZHaRmGZGXBANzT4z8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03b+Lw0WFjF0jnK54Wotoeik3kjyGVejDRillOsHJbw=; b=wTJC1/MpR+NI8IolzMlKUzL8A16G05J/X5wf6tFBcYF8/TxsMFcGWr0nLTmWlsZAGaQ2M7 sohZoqIJ/7/cwCo4D9IOZGwRBk2J9UfJxAjW0iCDjHVZKogxbXFbjFuEAhXvRQjuE3e7Bq Y5M4vi/4euuIZwADKQM0sRwoQw66+ADb4fvMNHGCW4tKCMcip1+/ddQJwTF+li5jRg7yRH mON8q09Jhi2JdqAvfqq7OCtnJHNfVQjSe7oKDJIY2sqzHsEGG23He14uPyzuuW47YSwdWP Y/1YKQ0ZO72L2peV1dPtuSMJcTyAvbF8wHOmmZQlICWsLbxq4zw/KIxgv43A3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598210; a=rsa-sha256; cv=none; b=Ct9waiRUx13/y6s482BUBFQhh97FniP/tbD28STZo5nyxJVakR9ksFX18Ky28eUK/JVgrn h0LmL/Gb7X0LwXrUia4biKcvw3ApEMbCB6k8Zi+sW0d+gXUiErlA6TD89DQnKexOmvOG6l qG13EyFutL0Okv1szjeI5iexl/o9adAOvfJzlNq+KmVTZuC0nGUi6yCce8/lzYdPUV4efE OpoH7xdb7H9GUcajfwuYCMdgqsMAbMreQgZXQrIACe8wX8FqY0vHtQSOZ94/1eZaTRyjD0 l5+fU3VG5rWp3yFKcyQiqNA3DYlZtoBoKDqkMibRSNpBXS61a4vmzn5fc7S+RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3k3XXYzQFD; Tue, 24 Jan 2023 22:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAAeI075711; Tue, 24 Jan 2023 22:10:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAAYB075702; Tue, 24 Jan 2023 22:10:10 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:10 GMT Message-Id: <202301242210.30OMAAYB075702@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: af09db250b09 - stable/13 - stand/module: skip is only used by veriexec List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: af09db250b09684b0e8fae09f9f702a3b5688b76 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=af09db250b09684b0e8fae09f9f702a3b5688b76 commit af09db250b09684b0e8fae09f9f702a3b5688b76 Author: Warner Losh AuthorDate: 2021-12-16 02:52:29 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 stand/module: skip is only used by veriexec Sponsored by: Netflix (cherry picked from commit f037731345f1f4d2b09bb91648c6b4ea8638a65f) --- stand/common/module.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/stand/common/module.c b/stand/common/module.c index 29864932bb9d..bf95fbc59ea3 100644 --- a/stand/common/module.c +++ b/stand/common/module.c @@ -113,9 +113,8 @@ command_load(int argc, char *argv[]) struct preloaded_file *fp; char *typestr; #ifdef LOADER_VERIEXEC - char *prefix; + char *prefix, *skip; #endif - char *skip; int dflag, dofile, dokld, ch, error; dflag = dokld = dofile = 0; @@ -128,8 +127,8 @@ command_load(int argc, char *argv[]) } #ifdef LOADER_VERIEXEC prefix = NULL; -#endif skip = NULL; +#endif while ((ch = getopt(argc, argv, "dkp:s:t:")) != -1) { switch(ch) { case 'd': @@ -142,10 +141,10 @@ command_load(int argc, char *argv[]) case 'p': prefix = optarg; break; -#endif case 's': skip = optarg; break; +#endif case 't': typestr = optarg; dofile = 1; From nobody Tue Jan 24 22:10:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3l5qhqz3bdY5; Tue, 24 Jan 2023 22:10: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 4P1h3l50gqz4JPS; Tue, 24 Jan 2023 22:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PX2HaRG5m3J8BZp+QCqpN2nh/mbCBYa0m8JTaUz/iRU=; b=Tf8yZIzZuSaC/Iko84WWWXx/SFBSnfPW1JXVZRgkj78E8Ba0LibBxsr8hAg0OYPKGA9Wp+ nAp+lVN8RyJSZV35n/Spd9ddZV8tQmKbqPgdLmxb3ARUQ8L2O2qdTIK0losFqew7djQUdE /pUAEvTu+MjSfSMEo6kEXEDJ2WCAkak2NLf+WKUfcVN6rjFlikic3vKYGVExJpUMCQpj6N 7BwW/cTDw6eJPqua5eEKsUlRlhQVd5H7kt8iM6NOY2umbLOq7/Cs+h8rKpS1/7iKfuTtPj 2Gn2JhyVYbgdHmMWzCzhLKGj9pGQ1sBu4XKaPw2ew5wwlBN2tt0nQLjB0uDqBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PX2HaRG5m3J8BZp+QCqpN2nh/mbCBYa0m8JTaUz/iRU=; b=NPl84paHMmoYXm72aLfKT5YaeDGTSlulhNwiVYPMN+hLELmbo/WzXFOLHwkF+Q+BQToJVO bz53UzNR3OZHyUBC1Shxyi5eSvHDgnUmL7TMLAY1eS7bcK5OD2kltRodaK4ljfe7CYgHmN Rl9yS+q5mDolXnNw/MVuGfs7b01TwziAuzSfJIwQBawjll8edeF9AKHSBwWm8OvQYtrWHp b6hz/dnQdu3PfAuQgx5cR8Hfy4NFfDp6oxeLiY7w+9KHOEBFyr48Da3gTd6aJ2yXXWgpjm 3SSOX8QRovZItn7X/ShA5KJ0sMaAyrS28CFKBEAqNVtIZHraBmTIObg3aw/ssg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598211; a=rsa-sha256; cv=none; b=IT9HikVRp5Zp3y7ZTAtEiwyvZZg0pehXS9wUE4EIJye0N44v0rrD4ouJZYfoom+PdBIX3x C3KUmXYV6FmJv8YUC/e8FrT+DmwvFmzmhYCbMXlMZRt7v3XjjF5DjUijTng0zQMAewMi0R i89aHl7RzmQpPNn8PIzh5pAQmW2z32UfnFQ2q6+VbTnf5wVfFu2FuDouRDLXvnrZYzjwhE KxoHry+RuZhE540oNOxHvyUxJYEbAAXQgj0f2jQDHr0Lwd9QkKZMg/beDZ2FdFy4kYGJ+r UC06vee6q/lkjajBg+iPf86XscM1LKieaBetbjsBe/1kT4R63LRvxqZ+cLZhBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3l43tNzQWZ; Tue, 24 Jan 2023 22:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMABOd076328; Tue, 24 Jan 2023 22:10:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMABWu076325; Tue, 24 Jan 2023 22:10:11 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:11 GMT Message-Id: <202301242210.30OMABWu076325@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: a8a68c0442b8 - stable/13 - kboot: Move powerpc kboot to top level List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a8a68c0442b8acbcada716c908d801786a7de474 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a8a68c0442b8acbcada716c908d801786a7de474 commit a8a68c0442b8acbcada716c908d801786a7de474 Author: Warner Losh AuthorDate: 2021-12-30 23:07:06 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 kboot: Move powerpc kboot to top level As the first step at making this more generic, move kboot to top level. Sponsored by: Netflix Reviewed by: luporl, tsoome Differential Revision: https://reviews.freebsd.org/D33513 (cherry picked from commit 436619964437356d6460896274721f9ca41eaeca) --- stand/Makefile | 3 +++ stand/{powerpc => }/kboot/Makefile | 0 stand/{powerpc => }/kboot/conf.c | 0 stand/{powerpc => }/kboot/host_syscall.S | 0 stand/{powerpc => }/kboot/host_syscall.h | 0 stand/{powerpc => }/kboot/hostcons.c | 0 stand/{powerpc => }/kboot/hostdisk.c | 0 stand/{powerpc => }/kboot/kbootfdt.c | 0 stand/{powerpc => }/kboot/kerneltramp.S | 0 stand/{powerpc => }/kboot/ldscript.powerpc | 0 stand/{powerpc => }/kboot/main.c | 0 stand/{powerpc => }/kboot/ppc64_elf_freebsd.c | 0 stand/{powerpc => }/kboot/version | 0 stand/powerpc/Makefile | 4 ---- 14 files changed, 3 insertions(+), 4 deletions(-) diff --git a/stand/Makefile b/stand/Makefile index 7ac848f4076a..8fd981cd21f1 100644 --- a/stand/Makefile +++ b/stand/Makefile @@ -39,6 +39,9 @@ INTERP_DEPENDS+= lua .include S.${MK_EFI}+= efi +.if ${MK_FDT} != "no" +S.${MK_LOADER_KBOOT}+= kboot +.endif S.${MK_LOADER_UBOOT}+= uboot .if defined(LIB32LIST) diff --git a/stand/powerpc/kboot/Makefile b/stand/kboot/Makefile similarity index 100% rename from stand/powerpc/kboot/Makefile rename to stand/kboot/Makefile diff --git a/stand/powerpc/kboot/conf.c b/stand/kboot/conf.c similarity index 100% rename from stand/powerpc/kboot/conf.c rename to stand/kboot/conf.c diff --git a/stand/powerpc/kboot/host_syscall.S b/stand/kboot/host_syscall.S similarity index 100% rename from stand/powerpc/kboot/host_syscall.S rename to stand/kboot/host_syscall.S diff --git a/stand/powerpc/kboot/host_syscall.h b/stand/kboot/host_syscall.h similarity index 100% rename from stand/powerpc/kboot/host_syscall.h rename to stand/kboot/host_syscall.h diff --git a/stand/powerpc/kboot/hostcons.c b/stand/kboot/hostcons.c similarity index 100% rename from stand/powerpc/kboot/hostcons.c rename to stand/kboot/hostcons.c diff --git a/stand/powerpc/kboot/hostdisk.c b/stand/kboot/hostdisk.c similarity index 100% rename from stand/powerpc/kboot/hostdisk.c rename to stand/kboot/hostdisk.c diff --git a/stand/powerpc/kboot/kbootfdt.c b/stand/kboot/kbootfdt.c similarity index 100% rename from stand/powerpc/kboot/kbootfdt.c rename to stand/kboot/kbootfdt.c diff --git a/stand/powerpc/kboot/kerneltramp.S b/stand/kboot/kerneltramp.S similarity index 100% rename from stand/powerpc/kboot/kerneltramp.S rename to stand/kboot/kerneltramp.S diff --git a/stand/powerpc/kboot/ldscript.powerpc b/stand/kboot/ldscript.powerpc similarity index 100% rename from stand/powerpc/kboot/ldscript.powerpc rename to stand/kboot/ldscript.powerpc diff --git a/stand/powerpc/kboot/main.c b/stand/kboot/main.c similarity index 100% rename from stand/powerpc/kboot/main.c rename to stand/kboot/main.c diff --git a/stand/powerpc/kboot/ppc64_elf_freebsd.c b/stand/kboot/ppc64_elf_freebsd.c similarity index 100% rename from stand/powerpc/kboot/ppc64_elf_freebsd.c rename to stand/kboot/ppc64_elf_freebsd.c diff --git a/stand/powerpc/kboot/version b/stand/kboot/version similarity index 100% rename from stand/powerpc/kboot/version rename to stand/kboot/version diff --git a/stand/powerpc/Makefile b/stand/powerpc/Makefile index b5d11dd6cf57..d0c5830e4042 100644 --- a/stand/powerpc/Makefile +++ b/stand/powerpc/Makefile @@ -6,8 +6,4 @@ NO_OBJ=t SUBDIR.yes= boot1.chrp ofw -.if "${MACHINE_ARCH}" == "powerpc64" -SUBDIR.${MK_FDT}+= kboot -.endif - .include From nobody Tue Jan 24 22:10:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3m642rz3bdtn; Tue, 24 Jan 2023 22:10: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 4P1h3m5VYtz4JQB; Tue, 24 Jan 2023 22:10:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NICrJA+YK06bo8ZGEOs+UJKuWyuCg7vVzQx0yAdQ8As=; b=OHjIDvy+urY2Pw7/oRh2PlS2H+6BymHXrXyAOf3tK7bG1zaPu/QuBjX8Bgrw3k80DbcO2/ AoX0UFsFxmqBRCmbgHulzHDe46gjqku88uN+eUKrSGX+OHiGlKi+6FG+ywyzprbLc0Y1hA 7ElZOlBiEb19M5k3zn3xLWwtrlGkkD03vko3HuPiqXUfTxlYO5QzsvAowk6aoK/5779xqZ 1GDjsjGyJHRHNJnFa+Cnhs/yFZ2p8tnC+aXnHbIGylZP1p8D1o+JYkvs4D66HDZvYzBBYP oTpm271I102cSvimgVPLwSxqNp3hnvj18bXN1eOmICtijuJzN/gNYhILG0di/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NICrJA+YK06bo8ZGEOs+UJKuWyuCg7vVzQx0yAdQ8As=; b=h67NgEh+qC4N4rn/1Dlbd2sI/PGPXT06qCuM0XVTWgNOiYDYmN5p22ubYEzO8Fingszy+H X4W0qFlgpcTufhFAmEdvgMOGXJoB+CUN+RC50rvtPqsxI8hCy4AcHPggwQgfDLtSHSzplN oiiZYXpsamGdrgI9vzBssQVVEuU3y1m4O1fVCPRNo1DF/Ssi65nkMvLXF8X9HxQAn9ZnPw lpUPpFA7Rnjaafo9lBbDte3EwILsgGjuF2kJ7jsUhRSML5KUqYA0M0ILb95bs5OdIxWkfj XHkCS3jLYXxUZ9nfFXqtpFTBoUtFM5Qhb92ca6kFitqU043JdP+qzEHlWwy81w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598212; a=rsa-sha256; cv=none; b=dBzE9chLxDph1I49TsQqRYqrpyVGj8JJTD9RybVhdT96d6AvCCHF2SydtvfLxAY9VrT7mx X6p6gi6a9C0dWf9OQ+cO9kIwDxbjwnTpMV+ErOoK7sHpecGYoMVpg3aSoRE1cHIfAE0TOi KlCOd7KAAxt5GvWaLnVZeyCFyFvwSokzbXow+udEju5exn70h2RUkE2VxWi8BJqHn29+Kh x/H72lRS5nYZjk0FL+4pLfszyXSYLo4XU6CuP8Dm5EjWfd3RnPjOqQKmspMfKMGrdyWT2o Uspg4/RD7sjtrCfMAQs5WoRePXVNnFgGEhSrKHcptZnrxBC+XSkeN62jNaMDdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3m4Z5JzQTB; Tue, 24 Jan 2023 22:10:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMACLQ076964; Tue, 24 Jan 2023 22:10:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMACKa076961; Tue, 24 Jan 2023 22:10:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:12 GMT Message-Id: <202301242210.30OMACKa076961@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: 4b3f5dd4d87c - stable/13 - kboot: Split out powerpc build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4b3f5dd4d87c28b4ef1c2cff521eb8bb0f450e89 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4b3f5dd4d87c28b4ef1c2cff521eb8bb0f450e89 commit 4b3f5dd4d87c28b4ef1c2cff521eb8bb0f450e89 Author: Warner Losh AuthorDate: 2021-12-30 23:07:13 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 kboot: Split out powerpc build Split the powerpc specific parts into kboot/arch/powerpc64. More may be needed here. Sponsored by: Netflix Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D33514 (cherry picked from commit 6497250f6f7f93e36795f5d0ec8ac658f6e781d8) --- stand/Makefile | 2 ++ stand/kboot/Makefile | 17 +++++------------ stand/kboot/arch/powerpc64/Makefile.inc | 14 ++++++++++++++ stand/kboot/{ => arch/powerpc64}/conf.c | 0 stand/kboot/{ => arch/powerpc64}/host_syscall.S | 0 stand/kboot/{ => arch/powerpc64}/kerneltramp.S | 0 stand/kboot/{ => arch/powerpc64}/ldscript.powerpc | 0 stand/kboot/{ => arch/powerpc64}/ppc64_elf_freebsd.c | 0 8 files changed, 21 insertions(+), 12 deletions(-) diff --git a/stand/Makefile b/stand/Makefile index 8fd981cd21f1..1597f6832c07 100644 --- a/stand/Makefile +++ b/stand/Makefile @@ -80,8 +80,10 @@ SUBDIR_DEPEND_forth+= ficl SUBDIR_DEPEND_lua+= liblua SUBDIR_DEPEND_efi+= ${INTERP_DEPENDS} +SUBDIR_DEPEND_kboot+= ${INTERP_DEPENDS} .if ${MK_FDT} != "no" SUBDIR_DEPEND_efi+= fdt +SUBDIR_DEPEND_kboot+= fdt .endif SUBDIR_DEPEND_uboot+= ${INTERP_DEPENDS} diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 46bcc3d0e63a..aa5511d915a9 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -17,30 +17,23 @@ NEWVERSWHAT= "kboot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b # Architecture-specific loader code -SRCS= conf.c vers.c main.c ppc64_elf_freebsd.c -SRCS+= host_syscall.S hostcons.c hostdisk.c kerneltramp.S kbootfdt.c -SRCS+= ucmpdi2.c gfx_fb_stub.c +SRCS= vers.c main.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken .include "${BOOTSRC}/fdt.mk" -CFLAGS+= -mcpu=powerpc64 +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH} +.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc" # Always add MI sources .include "${BOOTSRC}/loader.mk" .PATH: ${SYSDIR}/libkern +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/arch/${MACHINE_ARCH} -CFLAGS+= -Wall -DAIM -# load address. set in linker script -RELOC?= 0x0 -CFLAGS+= -DRELOC=${RELOC} - -LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc +CFLAGS+= -Wall DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA} LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA} -MK_PIE= no - .include diff --git a/stand/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/arch/powerpc64/Makefile.inc new file mode 100644 index 000000000000..3c2fb6e18a16 --- /dev/null +++ b/stand/kboot/arch/powerpc64/Makefile.inc @@ -0,0 +1,14 @@ +CFLAGS+= -mcpu=powerpc64 + +SRCS+= conf.c ppc64_elf_freebsd.c host_syscall.S kerneltramp.S +SRCS+= ucmpdi2.c + +# load address. set in linker script +RELOC?= 0x0 +CFLAGS+= -DRELOC=${RELOC} + +LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc + +MK_PIE= no +# Maybe bogus? +CFLAGS+= -DAIM diff --git a/stand/kboot/conf.c b/stand/kboot/arch/powerpc64/conf.c similarity index 100% rename from stand/kboot/conf.c rename to stand/kboot/arch/powerpc64/conf.c diff --git a/stand/kboot/host_syscall.S b/stand/kboot/arch/powerpc64/host_syscall.S similarity index 100% rename from stand/kboot/host_syscall.S rename to stand/kboot/arch/powerpc64/host_syscall.S diff --git a/stand/kboot/kerneltramp.S b/stand/kboot/arch/powerpc64/kerneltramp.S similarity index 100% rename from stand/kboot/kerneltramp.S rename to stand/kboot/arch/powerpc64/kerneltramp.S diff --git a/stand/kboot/ldscript.powerpc b/stand/kboot/arch/powerpc64/ldscript.powerpc similarity index 100% rename from stand/kboot/ldscript.powerpc rename to stand/kboot/arch/powerpc64/ldscript.powerpc diff --git a/stand/kboot/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c similarity index 100% rename from stand/kboot/ppc64_elf_freebsd.c rename to stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c From nobody Tue Jan 24 22:10:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3n6khjz3bdkK; Tue, 24 Jan 2023 22:10: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 4P1h3n5rxBz4JSs; Tue, 24 Jan 2023 22:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E8Y2uuB6Bskq7mAXAafhDcyR0KngcFpg53uNBiM7o4M=; b=rsyhCx06h1F6G0OnxRiTJMcNigQ0O8wen3/kogOEox7pwqojdzZ5MmhtKz62Z7SNxOkrtM TQzGmkW2+/8+nDmG5+erBBMygvw5arb2bVjvBmDH+7pGpPxUWNUNiItMYOk2KcEx6v3bIT wONHiV+NGt44S/nph6eVKEk7sxJ3scfEtWlNj/uiX6LsSTwb6EA0T34VFU5xP2UBstQkRk F5DFrTkc6TM+amp10PU260gg3yBace+6Gm9CzFjBmcVDJ8eyAVqcFAsZP2EkbVVqosxm/T lHRhk8QomS/5e1joDi7evyzS57uZtMorlrDAy0E3PMJvZIh7v8b1aduuD3n+qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E8Y2uuB6Bskq7mAXAafhDcyR0KngcFpg53uNBiM7o4M=; b=mhRSClSuwhRdXLRm5klE+HxSnsZ7jhOJNW3IFqloc2eeet9mFkgwPkzz5G10NTKQKYgDlV dQtIWVAqbul0Kns/DvtJEIBuaxH23xkzoA27BI7xYLHz7TOikd6wgDBsOj1ouxs2PIl8Lw cNvhkE3l/P/2SpZQkl/jRmHJveyU/kEpos78MGdV6b4jOzLIGwqwpDJy01cBC+Cx6kVAas C+f7qwaWILNWwADDwqnUv+RXuNFJivpcTZD7ApJdcND9XG25d30Y3g5fpDdbh+LS/14Mev cfCyTbiOjPqlUOtmosUpuoiejh0JbIlg9xNNA2gsWqqP7HIP+QJQwf/R3fgW9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598213; a=rsa-sha256; cv=none; b=semALtaNHXoVaCERlkW2zNv4TpchJlz7f3KoPcLuOT6Pzbhmzk5Y9xxE0/w3z0oNH73ziI 3atDlSt+yAtF6N8e5dKO5iXvx0dMxGg1hVBswAxPhwAzZgWUBx2Yu0bJDF8tEbOdSFgnyT k38DwzSPTlKrF8nOJP4246N1WX7LNPK2W4YPxmcFFV6aa0CiYXW6I0cDRWSwgBqS7bus3U SU7Sm+qwJUJMgYpHb+MXtl//uIUHGu0djqefaaWOEFlVtrhToQ/k/MlGb3XBHVjBJBlHrW HzrHeZwHgYwSe38Lb9aAiHtNw//VHk9Tcbk3zjeUzsFzWdTBR4iB/nb2DHfI2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3n4tsZzQFF; Tue, 24 Jan 2023 22:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMADFx077630; Tue, 24 Jan 2023 22:10:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMADN9077627; Tue, 24 Jan 2023 22:10:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:13 GMT Message-Id: <202301242210.30OMADN9077627@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: 6c7ccb922462 - stable/13 - kboot: move to generic syscall interface List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6c7ccb922462e77bbcf755310e6bba1666a90d5a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6c7ccb922462e77bbcf755310e6bba1666a90d5a commit 6c7ccb922462e77bbcf755310e6bba1666a90d5a Author: Warner Losh AuthorDate: 2021-12-30 23:07:20 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 kboot: move to generic syscall interface Just have the MD code provide syscall and have generic code for the rest. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D33515 (cherry picked from commit 5974cfe1ba47ac756fc0d5e48306730e1115b36c) --- stand/kboot/Makefile | 2 +- stand/kboot/arch/powerpc64/host_syscall.S | 116 ++++++++---------------------- stand/kboot/arch/powerpc64/syscall_nr.h | 15 ++++ stand/kboot/host_syscall.h | 10 +-- stand/kboot/host_syscalls.c | 86 ++++++++++++++++++++++ 5 files changed, 138 insertions(+), 91 deletions(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index aa5511d915a9..24ab77af66db 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -17,7 +17,7 @@ NEWVERSWHAT= "kboot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b # Architecture-specific loader code -SRCS= vers.c main.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c +SRCS= vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/arch/powerpc64/host_syscall.S b/stand/kboot/arch/powerpc64/host_syscall.S index a5556aa1b2dc..729bc6baa082 100644 --- a/stand/kboot/arch/powerpc64/host_syscall.S +++ b/stand/kboot/arch/powerpc64/host_syscall.S @@ -1,88 +1,32 @@ -/* - * - * $FreeBSD$ - */ - #include -ENTRY(host_read) - li %r0, 3 # SYS_read - sc - bso 1f - blr -1: - li %r3, 0 - blr -END(host_read) - -ENTRY(host_write) - li %r0, 4 # SYS_write - sc - blr -END(host_write) - -ENTRY(host_llseek) - li %r0, 140 # SYS_llseek - sc - blr -END(host_llseek) - -ENTRY(host_open) - li %r0, 5 # SYS_open - sc - bso 1f - blr -1: - li %r3, 0 - blr -END(host_open) - -ENTRY(host_close) - li %r0, 6 # SYS_close - sc - blr -END(host_close) - -ENTRY(host_mmap) - li %r0, 90 # SYS_mmap - sc - blr -END(host_mmap) - -ENTRY(host_uname) - li %r0, 122 # SYS_uname - sc - blr -END(host_uname) - -ENTRY(host_gettimeofday) - li %r0, 78 # SYS_gettimeofday - sc - blr -END(host_gettimeofday) - -ENTRY(host_select) - li %r0, 142 # SYS_select - sc - blr -END(host_select) - -ENTRY(kexec_load) - lis %r6,21 # KEXEC_ARCH_PPC64 - li %r0,268 # __NR_kexec_load - sc - blr -END(kexec_load) - -ENTRY(host_reboot) - li %r0,88 # SYS_reboot - sc - blr -END(host_reboot) - -ENTRY(host_getdents) - li %r0,141 # SYS_getdents - sc - blr -END(host_getdents) - +/* + * Emulate the Linux system call interface. The system call number is set in + * %r0, and %r3 -> %r8 have the 6 system call arguments. errno is returned + * as a negative value, but we use it more as a flag something went wrong + * rather than using its value. + * + * Return value in %r3. If it is positive or < -4096, it's a successful + * system call. If it is between -1 and -4095 then it's an failed system + * call with -x as the errno. Errors from the kernel are signaled via the + * the 'so' bit, but we don't test that here at all. There are at most 6 + * arguments to system calls in Linux. + * + * We expose the raw system call result, rather than do the POSIX + * converion to -1 and setting errno. + * + * Note: The code this replaced used bso to set %r3 to 0 for the read and + * open system calls for reasons that are still under investigation. + */ +ENTRY(host_syscall) + mr %r0, %r3 /* SYS_ number in $r0 */ + mr %r3, %r4 /* arg2 -> 1 */ + mr %r4, %r5 /* arg3 -> 2 */ + mr %r5, %r6 /* arg4 -> 3 */ + mr %r6, %r7 /* arg5 -> 4 */ + mr %r7, %r8 /* arg6 -> 5 */ + mr %r8, %r9 /* arg7 -> 6 */ + sc + blr +/* Note: We're exposing the raw return value to the caller */ +END(host_syscall) diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h new file mode 100644 index 000000000000..2854124153a2 --- /dev/null +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -0,0 +1,15 @@ +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_gettimeofday 78 +#define SYS_reboot 88 +#define SYS_mmap 90 +#define SYS_uname 120 +#define SYS_llseek 140 +#define SYS_getdents 141 +#define SYS_select 142 +#define __NR_kexec_load 268 + +#define KEXEC_ARCH_PPC64 21 +#define KEXEC_ARCH KEXEC_ARCH_PPC64 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 60b006e5dba4..f6f22a736d53 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -30,12 +30,14 @@ #include +long host_syscall(int number, ...); + ssize_t host_read(int fd, void *buf, size_t nbyte); ssize_t host_write(int fd, const void *buf, size_t nbyte); int host_open(const char *path, int flags, int mode); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); int host_close(int fd); -void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, int); +void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); #define host_getmem(size) host_mmap(0, size, 3 /* RW */, 0x22 /* ANON */, -1, 0); struct old_utsname { char sysname[65]; @@ -46,14 +48,14 @@ struct old_utsname { }; int host_uname(struct old_utsname *); struct host_timeval { - int tv_sec; - int tv_usec; + time_t tv_sec; + long tv_usec; }; int host_gettimeofday(struct host_timeval *a, void *b); int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, struct host_timeval *timeout); int kexec_load(uint32_t start, int nsegs, uint32_t segs); -int host_reboot(int, int, int, uint32_t); +int host_reboot(int, int, int, uintptr_t); int host_getdents(int fd, void *dirp, int count); #endif diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c new file mode 100644 index 000000000000..53be0c166374 --- /dev/null +++ b/stand/kboot/host_syscalls.c @@ -0,0 +1,86 @@ +#include "host_syscall.h" +#include "syscall_nr.h" +#include + +ssize_t +host_read(int fd, void *buf, size_t nbyte) +{ + return host_syscall(SYS_read, fd, (uintptr_t)buf, nbyte); + /* XXX original overrode errors */ +} + +ssize_t +host_write(int fd, const void *buf, size_t nbyte) +{ + return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte); +} + +int +host_open(const char *path, int flags, int mode) +{ + return host_syscall(SYS_open, (uintptr_t)path, flags, mode); + /* XXX original overrode errors */ +} + +ssize_t +host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence) +{ +#ifdef SYS_llseek + return host_syscall(SYS_llseek, fd, offset_high, offset_lo, (uintptr_t)result, whence); +#else + int64_t rv = host_syscall(SYS_lseek, fd, + (int64_t)((uint64_t)offset_high << 32 | (uint32_t)offset_lo), whence); + if (rv > 0) + *result = (uint64_t)rv; + return (rv); +#endif +} + +int +host_close(int fd) +{ + return host_syscall(SYS_close, fd); +} + +void * +host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) +{ + return (void *)host_syscall(SYS_mmap, (uintptr_t)addr, len, prot, flags, fd, off); +} + +int +host_uname(struct old_utsname *uts) +{ + return host_syscall(SYS_uname, (uintptr_t)uts); +} + +int +host_gettimeofday(struct host_timeval *a, void *b) +{ + return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b); +} + +int +host_select(int nfds, long *readfds, long *writefds, long *exceptfds, + struct host_timeval *timeout) +{ + return host_syscall(SYS_select, nfds, (uintptr_t)readfds, (uintptr_t)writefds, (uintptr_t)exceptfds, (uintptr_t)timeout, 0); +} + +int +kexec_load(uint32_t start, int nsegs, uint32_t segs) +{ + return host_syscall(__NR_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); +} + +int +host_reboot(int magic1, int magic2, int cmd, uintptr_t arg) +{ + return host_syscall(SYS_reboot, magic1, magic2, cmd, arg); +} + +int +host_getdents(int fd, void *dirp, int count) +{ + return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); +} From nobody Tue Jan 24 22:10:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3p74HGz3bdgk; Tue, 24 Jan 2023 22:10:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h3p6Kmjz4JWP; Tue, 24 Jan 2023 22:10:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=93Du2q+wLSKo/s0LM9n6mMQhoy2V79sHBsv8ZxWVk+0=; b=vtU03Qmbiczrw7YqLyw0RdgeTeCZTCBhDTIL4yNMsMTdkW5p7PPjU61gC5rs3kKpAr0Qmn msCiHc3T3keC7DQ0OlH+uIgjkiIE79zOYuR0WUkjut2xJr3BmD/Wx76V2zCNTeZnhmcOUK aZ9FAKp9NJS6u47XHAHHIRY9BkHmfmf6RPgKIkp3Wl9VkOe1Xv1KYxiR9EfKaT6RPhLqif UaJIo62bVVk8aZd4q/RMcOjJjmrO6xTjpECqErL65CH03vbbNn9OZOdihF5ATxd0GMIzLM /XJZFkF+sahBb0WUaRjiOFO8CHdkT6x1lTFieEgNvlpTw7xHmCb7HYb4FmAomg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=93Du2q+wLSKo/s0LM9n6mMQhoy2V79sHBsv8ZxWVk+0=; b=xqr7+zZppP4bA0sreZNjbKeinhhJ2dMYOyIDg2Auz/3lhKxIWm6TIt9Wxn8DegG2PbrWsH LWb+e40Fj1isWyIwQoyHtLjRVcGjEO5CaG7HoGCbXshblVsahym8No6K2hHgwSEuKRaYhf xMXSfoPhKlyhFAX/TTB/1W4V3oqaALm6qOCr9qyuMee/7eJQwF1b9XyZ6GzrSlvZc5x6ll J3PABvIWGAclcYiuaWN3VHM7ZZJzaxUfrpl9PH+Y3aIvMcjoMqpvXQd8xW6ZgiuBgntTIj 0pFDXuWR8ToAa7e+yEKJrd1ZAdLKckujyVaZxeAIqNRn8JeCGJag0GJT3UnpKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598214; a=rsa-sha256; cv=none; b=Q8Zh98znYZXe0vDKXpsUEu3SkzpUHKkWufNNBLrFuMFVDaw/NfKJl97uALND3EnIvkjbdd UHsmaZnuh+v0oo3bxIUb/ZzsHC4gJgiiGy6B4IirKCSfqc4sJTJ6sVnI3PjAK/otJR9x5b tG29W3lKj6q/xw/UiAzkc4AD6whOyxXnV6U1TlYfny7kMq/sRTJ/lcLX9ZvgK+Wnaw9CAe ZxRf0MAsYmzCsTkrh+HoRGWrT8smqRYYiGyxYs2yzXwxNpSImiuVUY9O4+VeyuK0XweoDk oNSc1qyc3fh4QnL4nwUZD3W21AVMaCEgmKHxCKZ7+CchzYxb5MswXkvs/3qFYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3p5QW5zQWb; Tue, 24 Jan 2023 22:10:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAEt1078300; Tue, 24 Jan 2023 22:10:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAEb9078294; Tue, 24 Jan 2023 22:10:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:14 GMT Message-Id: <202301242210.30OMAEb9078294@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: 3622fe162012 - stable/13 - ufs: Rework shortlink handling to avoid subobject overflows List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3622fe16201215cd511112be0fcc48ed1576daee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3622fe16201215cd511112be0fcc48ed1576daee commit 3622fe16201215cd511112be0fcc48ed1576daee Author: Jessica Clarke AuthorDate: 2022-01-02 20:55:36 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 ufs: Rework shortlink handling to avoid subobject overflows Shortlinks occupy the space of both di_db and di_ib when used. However, everywhere that wants to read or write a shortlink takes a pointer do di_db and promptly runs off the end of it into di_ib. This is fine on most architectures, if a little dodgy. However, on CHERI, the compiler can optionally restrict the bounds on pointers to subobjects to just that subobject, in order to mitigate intra-object buffer overflows, and this is enabled in CheriBSD's pure-capability kernels. Instead, clean this up by inserting a union such that a new di_shortlink can be added with the right size and element type, avoiding the need to cast and allowing the use of the DIP macro to access the field. This also mirrors how the ext2fs code implements extents support, with the exact same structure other than having a uint32_t i_data[] instead of a char di_shortlink[]. Reviewed by: mckusick, jhb Differential Revision: https://reviews.freebsd.org/D33650 (cherry picked from commit 5b13fa7987c13aa7b5a67cc6b465475912de2d14) --- sbin/dump/traverse.c | 8 ++------ sbin/fsdb/fsdbutil.c | 7 ++----- stand/libsa/ufs.c | 7 ++----- sys/ufs/ffs/ffs_inode.c | 2 +- sys/ufs/ufs/dinode.h | 24 ++++++++++++++++++++---- sys/ufs/ufs/inode.h | 2 -- sys/ufs/ufs/ufs_vnops.c | 4 ++-- tools/diag/prtblknos/prtblknos.c | 4 ++-- usr.sbin/makefs/ffs.c | 4 ++-- usr.sbin/makefs/ffs/ufs_inode.h | 4 ++-- 10 files changed, 35 insertions(+), 31 deletions(-) diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index 3630d2240f58..08e902667759 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -525,12 +525,8 @@ dumpino(union dinode *dp, ino_t ino) spcl.c_count = 1; added = appendextdata(dp); writeheader(ino); - if (sblock->fs_magic == FS_UFS1_MAGIC) - memmove(buf, (caddr_t)dp->dp1.di_db, - (u_long)DIP(dp, di_size)); - else - memmove(buf, (caddr_t)dp->dp2.di_db, - (u_long)DIP(dp, di_size)); + memmove(buf, DIP(dp, di_shortlink), + (u_long)DIP(dp, di_size)); buf[DIP(dp, di_size)] = '\0'; writerec(buf, 0); writeextdata(dp, ino, added); diff --git a/sbin/fsdb/fsdbutil.c b/sbin/fsdb/fsdbutil.c index 2c18d9910c6f..c8a3a8a525e3 100644 --- a/sbin/fsdb/fsdbutil.c +++ b/sbin/fsdb/fsdbutil.c @@ -136,11 +136,8 @@ printstat(const char *cp, ino_t inum, union dinode *dp) if (DIP(dp, di_size) > 0 && DIP(dp, di_size) < sblock.fs_maxsymlinklen && DIP(dp, di_blocks) == 0) { - if (sblock.fs_magic == FS_UFS1_MAGIC) - p = (caddr_t)dp->dp1.di_db; - else - p = (caddr_t)dp->dp2.di_db; - printf(" to `%.*s'\n", (int) DIP(dp, di_size), p); + printf(" to `%.*s'\n", (int) DIP(dp, di_size), + DIP(dp, di_shortlink)); } else { putchar('\n'); } diff --git a/stand/libsa/ufs.c b/stand/libsa/ufs.c index a4015dea74c2..fa3820617860 100644 --- a/stand/libsa/ufs.c +++ b/stand/libsa/ufs.c @@ -643,11 +643,8 @@ ufs_open(const char *upath, struct open_file *f) bcopy(cp, &namebuf[link_len], len + 1); if (link_len < fs->fs_maxsymlinklen) { - if (fp->f_fs->fs_magic == FS_UFS1_MAGIC) - cp = (caddr_t)(fp->f_di.di1.di_db); - else - cp = (caddr_t)(fp->f_di.di2.di_db); - bcopy(cp, namebuf, (unsigned) link_len); + bcopy(DIP(fp, di_shortlink), namebuf, + (unsigned) link_len); } else { /* * Read file for symbolic link diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index 1aef2bb57930..d9d4f3c4a155 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -339,7 +339,7 @@ ffs_truncate(struct vnode *vp, if (length != 0) panic("ffs_truncate: partial truncate of symlink"); #endif - bzero(SHORTLINK(ip), (u_int)ip->i_size); + bzero(DIP(ip, i_shortlink), (u_int)ip->i_size); ip->i_size = 0; DIP_SET(ip, i_size, 0); UFS_INODE_SET_FLAG(ip, IN_SIZEMOD | IN_CHANGE | IN_UPDATE); diff --git a/sys/ufs/ufs/dinode.h b/sys/ufs/ufs/dinode.h index 1f0f25c4d5ec..840a4cc7d40f 100644 --- a/sys/ufs/ufs/dinode.h +++ b/sys/ufs/ufs/dinode.h @@ -145,8 +145,16 @@ struct ufs2_dinode { u_int32_t di_flags; /* 88: Status flags (chflags). */ u_int32_t di_extsize; /* 92: External attributes size. */ ufs2_daddr_t di_extb[UFS_NXADDR];/* 96: External attributes block. */ - ufs2_daddr_t di_db[UFS_NDADDR]; /* 112: Direct disk blocks. */ - ufs2_daddr_t di_ib[UFS_NIADDR]; /* 208: Indirect disk blocks. */ + union { + struct { + ufs2_daddr_t di_db /* 112: Direct disk blocks. */ + [UFS_NDADDR]; + ufs2_daddr_t di_ib /* 208: Indirect disk blocks. */ + [UFS_NIADDR]; + }; + char di_shortlink /* 112: Embedded symbolic link. */ + [(UFS_NDADDR + UFS_NIADDR) * sizeof(ufs2_daddr_t)]; + }; u_int64_t di_modrev; /* 232: i_modrev for NFSv4 */ uint32_t di_freelink; /* 240: SUJ: Next unlinked inode. */ uint32_t di_ckhash; /* 244: if CK_INODE, its check-hash */ @@ -179,8 +187,16 @@ struct ufs1_dinode { int32_t di_mtimensec; /* 28: Last modified time. */ int32_t di_ctime; /* 32: Last inode change time. */ int32_t di_ctimensec; /* 36: Last inode change time. */ - ufs1_daddr_t di_db[UFS_NDADDR]; /* 40: Direct disk blocks. */ - ufs1_daddr_t di_ib[UFS_NIADDR]; /* 88: Indirect disk blocks. */ + union { + struct { + ufs1_daddr_t di_db /* 40: Direct disk blocks. */ + [UFS_NDADDR]; + ufs1_daddr_t di_ib /* 88: Indirect disk blocks. */ + [UFS_NIADDR]; + }; + char di_shortlink /* 40: Embedded symbolic link. */ + [(UFS_NDADDR + UFS_NIADDR) * sizeof(ufs1_daddr_t)]; + }; u_int32_t di_flags; /* 100: Status flags (chflags). */ u_int32_t di_blocks; /* 104: Blocks actually held. */ u_int32_t di_gen; /* 108: Generation number. */ diff --git a/sys/ufs/ufs/inode.h b/sys/ufs/ufs/inode.h index 3e555dc52a32..8cdd40894608 100644 --- a/sys/ufs/ufs/inode.h +++ b/sys/ufs/ufs/inode.h @@ -242,8 +242,6 @@ I_IS_UFS2(const struct inode *ip) (ip)->i_din2->d##field = (val); \ } while (0) -#define SHORTLINK(ip) (I_IS_UFS1(ip) ? \ - (caddr_t)(ip)->i_din1->di_db : (caddr_t)(ip)->i_din2->di_db) #define IS_SNAPSHOT(ip) ((ip)->i_flags & SF_SNAPSHOT) #define IS_UFS(vp) ((vp)->v_data != NULL) diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 93ac04941db7..57560efffbbf 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -2387,7 +2387,7 @@ ufs_symlink( len = strlen(ap->a_target); if (len < VFSTOUFS(vp->v_mount)->um_maxsymlinklen) { ip = VTOI(vp); - bcopy(ap->a_target, SHORTLINK(ip), len); + bcopy(ap->a_target, DIP(ip, i_shortlink), len); ip->i_size = len; DIP_SET(ip, i_size, len); UFS_INODE_SET_FLAG(ip, IN_SIZEMOD | IN_CHANGE | IN_UPDATE); @@ -2557,7 +2557,7 @@ ufs_readlink( isize = ip->i_size; if (isize < VFSTOUFS(vp->v_mount)->um_maxsymlinklen) - return (uiomove(SHORTLINK(ip), isize, ap->a_uio)); + return (uiomove(DIP(ip, i_shortlink), isize, ap->a_uio)); return (VOP_READ(vp, ap->a_uio, 0, ap->a_cred)); } diff --git a/tools/diag/prtblknos/prtblknos.c b/tools/diag/prtblknos/prtblknos.c index 771d79e43ec9..ae53471156a6 100644 --- a/tools/diag/prtblknos/prtblknos.c +++ b/tools/diag/prtblknos/prtblknos.c @@ -99,8 +99,8 @@ prtblknos(fs, dp) if (size < fs->fs_maxsymlinklen) { printf("symbolic link referencing %s\n", (fs->fs_magic == FS_UFS1_MAGIC) ? - (char *)dp->dp1.di_db : - (char *)dp->dp2.di_db); + dp->dp1.di_shortlink : + dp->dp2.di_shortlink); return; } printf("symbolic link\n"); diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c index d91ed156c9e0..1911f75fb4fd 100644 --- a/usr.sbin/makefs/ffs.c +++ b/usr.sbin/makefs/ffs.c @@ -714,7 +714,7 @@ ffs_build_dinode1(struct ufs1_dinode *dinp, dirbuf_t *dbufp, fsnode *cur, } else if (S_ISLNK(cur->type)) { /* symlink */ slen = strlen(cur->symlink); if (slen < UFS1_MAXSYMLINKLEN) { /* short link */ - memcpy(dinp->di_db, cur->symlink, slen); + memcpy(dinp->di_shortlink, cur->symlink, slen); } else membuf = cur->symlink; dinp->di_size = slen; @@ -773,7 +773,7 @@ ffs_build_dinode2(struct ufs2_dinode *dinp, dirbuf_t *dbufp, fsnode *cur, } else if (S_ISLNK(cur->type)) { /* symlink */ slen = strlen(cur->symlink); if (slen < UFS2_MAXSYMLINKLEN) { /* short link */ - memcpy(dinp->di_db, cur->symlink, slen); + memcpy(dinp->di_shortlink, cur->symlink, slen); } else membuf = cur->symlink; dinp->di_size = slen; diff --git a/usr.sbin/makefs/ffs/ufs_inode.h b/usr.sbin/makefs/ffs/ufs_inode.h index 07c1ff63b865..e7baff23cbfc 100644 --- a/usr.sbin/makefs/ffs/ufs_inode.h +++ b/usr.sbin/makefs/ffs/ufs_inode.h @@ -68,7 +68,7 @@ struct inode { #define i_ffs1_mtimensec i_din.ffs1_din.di_mtimensec #define i_ffs1_nlink i_din.ffs1_din.di_nlink #define i_ffs1_rdev i_din.ffs1_din.di_rdev -#define i_ffs1_shortlink i_din.ffs1_din.db +#define i_ffs1_shortlink i_din.ffs1_din.di_shortlink #define i_ffs1_size i_din.ffs1_din.di_size #define i_ffs1_uid i_din.ffs1_din.di_uid @@ -89,7 +89,7 @@ struct inode { #define i_ffs2_mtimensec i_din.ffs2_din.di_mtimensec #define i_ffs2_nlink i_din.ffs2_din.di_nlink #define i_ffs2_rdev i_din.ffs2_din.di_rdev -#define i_ffs2_shortlink i_din.ffs2_din.db +#define i_ffs2_shortlink i_din.ffs2_din.di_shortlink #define i_ffs2_size i_din.ffs2_din.di_size #define i_ffs2_uid i_din.ffs2_din.di_uid From nobody Tue Jan 24 22:10:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3r08Tgz3bdbb; Tue, 24 Jan 2023 22:10:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h3q73WQz4JLh; Tue, 24 Jan 2023 22:10:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eXvJM8Q2HynviOCuVjwTrfx9+PpLaVGE9sXxxgA/ztQ=; b=NIJPAd5oym9pBnZKEPqXOV/NLre6MIgOquBpf7eRjKw+xR7xJqriGmp/65eK3y3My/LN9Q TyH59EKWIcXcAWuvkQI1vk9el9YL4x3oZiGP8y3Gdm1vWGFFLIXTRwcVgDnCxisZJv+vT1 EeVqs2yJGfNMsuSajbdmjftbL8zmI6GuW1qnXPvFTZerESG6urgxNz9QBEzjTLlagPd6TM h4SYKeFhENeVzQy9cZCUENk9NeOIVhcr57w2ib0IymB39k4tDX3cVvUlxpSbCVAMjioxw8 qgdjpUoZqPc2ANTDSq/qlo6iJjo/D0lbnN5YMt7xmu6pjUGvqXrLXkagcJtJ0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eXvJM8Q2HynviOCuVjwTrfx9+PpLaVGE9sXxxgA/ztQ=; b=UYCeZoZTr69A+tI7r0P28OZtdBD+R6SyXGGnLjITaCzUGH4WAsTBtGIFwKNLC17Z2fk9Hp F3r20MTBHXNn0oegfsbLBprZeFgRn/i4+mq11uCe0pLOoEcyjr0HNqxyqjQb3krRmb/jDy Bm+yuI5pJEOVB9ezvObyNAJJ9JxJNoGNSpVTuHBYVPfdCZdSRpzz+zdctNBMeIzmVsdOX+ fcJgb4NqGiH1hNrriSgm0H7gTXbZXHifyd9VPQBdsA/S0sfomYEGaLE8I7hE6UhjqatYWx ju8vH83+QpUEuP4B45IyHaz0tl9J7zWsj2M48ZeY3+f+9QYkKSHg18Ic4a6Jmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598216; a=rsa-sha256; cv=none; b=IlO75MhNjtocIt6mejrThej/QpxKBkMlP7PXcN/o/14ZFLZ3IpH8ojCwcnVO0ZQVqW55H4 w87uCwsn6Y3VOgqLNMSPOf9OMC5GtC9PZueSxi6JGbQ3SKeQI441NgKMidqNqIJ5SwAWY8 gL3Zt82rFNcAUu6z/0VBv+KHUrnQpqPRKwgAZk5ldk8aOHA2kSzZS4D5zyf5yoDNC2iZgR ORq6we7x9zxhAskT64UhyrHdCnjiIKVLxBLZgP/sNdLySQb5wAIoIk8IXmpq6nU9BK4UQb +4tBVjpPTcu+DwJ/Ur4yrUFRRMp3dh8oRMUMWQw1o2kJWadFLiAB6khybNDtKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3q67sYzQLw; Tue, 24 Jan 2023 22:10:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAFl2078956; Tue, 24 Jan 2023 22:10:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAFuF078930; Tue, 24 Jan 2023 22:10:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:15 GMT Message-Id: <202301242210.30OMAFuF078930@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: 622ab2c48340 - stable/13 - mips: remove saf1761 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 622ab2c4834068312b6cd33fd7ac961f31240350 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=622ab2c4834068312b6cd33fd7ac961f31240350 commit 622ab2c4834068312b6cd33fd7ac961f31240350 Author: Warner Losh AuthorDate: 2022-01-04 22:24:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:19 +0000 mips: remove saf1761 The saf1761 OTG support was only for mips targets (BERI?). Retire it. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D33706 (cherry picked from commit 44796b7e822e18b0f4bafac3ca85864b232cccc4) --- stand/usb/usbcore.mk | 8 - sys/dev/usb/controller/saf1761_otg.c | 3657 ----------------------------- sys/dev/usb/controller/saf1761_otg.h | 175 -- sys/dev/usb/controller/saf1761_otg_boot.c | 140 -- sys/dev/usb/controller/saf1761_otg_fdt.c | 269 --- sys/dev/usb/controller/saf1761_otg_reg.h | 274 --- sys/modules/usb/Makefile | 9 +- sys/modules/usb/saf1761otg/Makefile | 42 - 8 files changed, 1 insertion(+), 4573 deletions(-) diff --git a/stand/usb/usbcore.mk b/stand/usb/usbcore.mk index 7e0cc989228b..ae80d06a24e7 100644 --- a/stand/usb/usbcore.mk +++ b/stand/usb/usbcore.mk @@ -126,14 +126,6 @@ CFLAGS += -DUSB_PCI_PROBE_LIST="\"uss820dci\"" KSRCS+= uss820dci.c .endif -.if defined(HAVE_SAF1761OTG) -CFLAGS += -DUSB_PCI_PROBE_LIST="\"saf1761otg\"" -CFLAGS += -DUSB_PCI_MEMORY_ADDRESS=0x900000007f100000ULL -CFLAGS += -DUSB_PCI_MEMORY_SIZE=0x40000U -KSRCS+= saf1761_otg.c -KSRCS+= saf1761_otg_boot.c -.endif - # # USB core and templates # diff --git a/sys/dev/usb/controller/saf1761_otg.c b/sys/dev/usb/controller/saf1761_otg.c deleted file mode 100644 index f5725a3cb48a..000000000000 --- a/sys/dev/usb/controller/saf1761_otg.c +++ /dev/null @@ -1,3657 +0,0 @@ -/* $FreeBSD$ */ -/*- - * Copyright (c) 2014 Hans Petter Selasky - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * This file contains the driver for the SAF1761 series USB OTG - * controller. - * - * Datasheet is available from: - * http://www.nxp.com/products/automotive/multimedia/usb/SAF1761BE.html - */ - -#ifdef USB_GLOBAL_INCLUDE_FILE -#include USB_GLOBAL_INCLUDE_FILE -#else -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#define USB_DEBUG_VAR saf1761_otg_debug - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#endif /* USB_GLOBAL_INCLUDE_FILE */ - -#include -#include - -#define SAF1761_OTG_BUS2SC(bus) \ - ((struct saf1761_otg_softc *)(((uint8_t *)(bus)) - \ - ((uint8_t *)&(((struct saf1761_otg_softc *)0)->sc_bus)))) - -#define SAF1761_OTG_PC2UDEV(pc) \ - (USB_DMATAG_TO_XROOT((pc)->tag_parent)->udev) - -#define SAF1761_DCINTERRUPT_THREAD_IRQ \ - (SOTG_DCINTERRUPT_IEVBUS | SOTG_DCINTERRUPT_IEBRST | \ - SOTG_DCINTERRUPT_IERESM | SOTG_DCINTERRUPT_IESUSP) - -#ifdef USB_DEBUG -static int saf1761_otg_debug = 0; -static int saf1761_otg_forcefs = 0; - -static -SYSCTL_NODE(_hw_usb, OID_AUTO, saf1761_otg, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, - "USB SAF1761 DCI"); - -SYSCTL_INT(_hw_usb_saf1761_otg, OID_AUTO, debug, CTLFLAG_RWTUN, - &saf1761_otg_debug, 0, "SAF1761 DCI debug level"); -SYSCTL_INT(_hw_usb_saf1761_otg, OID_AUTO, forcefs, CTLFLAG_RWTUN, - &saf1761_otg_forcefs, 0, "SAF1761 DCI force FULL speed"); -#endif - -#define SAF1761_OTG_INTR_ENDPT 1 - -/* prototypes */ - -static const struct usb_bus_methods saf1761_otg_bus_methods; -static const struct usb_pipe_methods saf1761_otg_non_isoc_methods; -static const struct usb_pipe_methods saf1761_otg_device_isoc_methods; -static const struct usb_pipe_methods saf1761_otg_host_isoc_methods; - -static saf1761_otg_cmd_t saf1761_host_setup_tx; -static saf1761_otg_cmd_t saf1761_host_bulk_data_rx; -static saf1761_otg_cmd_t saf1761_host_bulk_data_tx; -static saf1761_otg_cmd_t saf1761_host_intr_data_rx; -static saf1761_otg_cmd_t saf1761_host_intr_data_tx; -static saf1761_otg_cmd_t saf1761_host_isoc_data_rx; -static saf1761_otg_cmd_t saf1761_host_isoc_data_tx; -static saf1761_otg_cmd_t saf1761_device_setup_rx; -static saf1761_otg_cmd_t saf1761_device_data_rx; -static saf1761_otg_cmd_t saf1761_device_data_tx; -static saf1761_otg_cmd_t saf1761_device_data_tx_sync; -static void saf1761_otg_device_done(struct usb_xfer *, usb_error_t); -static void saf1761_otg_do_poll(struct usb_bus *); -static void saf1761_otg_standard_done(struct usb_xfer *); -static void saf1761_otg_intr_set(struct usb_xfer *, uint8_t); -static void saf1761_otg_root_intr(struct saf1761_otg_softc *); -static void saf1761_otg_enable_psof(struct saf1761_otg_softc *, uint8_t); - -/* - * Here is a list of what the SAF1761 chip can support. The main - * limitation is that the sum of the buffer sizes must be less than - * 8192 bytes. - */ -static const struct usb_hw_ep_profile saf1761_otg_ep_profile[] = { - [0] = { - .max_in_frame_size = 64, - .max_out_frame_size = 64, - .is_simplex = 0, - .support_control = 1, - }, - [1] = { - .max_in_frame_size = SOTG_HS_MAX_PACKET_SIZE, - .max_out_frame_size = SOTG_HS_MAX_PACKET_SIZE, - .is_simplex = 0, - .support_interrupt = 1, - .support_bulk = 1, - .support_isochronous = 1, - .support_in = 1, - .support_out = 1, - }, -}; - -static void -saf1761_otg_get_hw_ep_profile(struct usb_device *udev, - const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) -{ - if (ep_addr == 0) { - *ppf = saf1761_otg_ep_profile + 0; - } else if (ep_addr < 8) { - *ppf = saf1761_otg_ep_profile + 1; - } else { - *ppf = NULL; - } -} - -static void -saf1761_otg_pull_up(struct saf1761_otg_softc *sc) -{ - /* activate pullup on D+, if possible */ - - if (!sc->sc_flags.d_pulled_up && sc->sc_flags.port_powered) { - DPRINTF("\n"); - - sc->sc_flags.d_pulled_up = 1; - } -} - -static void -saf1761_otg_pull_down(struct saf1761_otg_softc *sc) -{ - /* release pullup on D+, if possible */ - - if (sc->sc_flags.d_pulled_up) { - DPRINTF("\n"); - - sc->sc_flags.d_pulled_up = 0; - } -} - -static void -saf1761_otg_wakeup_peer(struct saf1761_otg_softc *sc) -{ - uint16_t temp; - - if (!(sc->sc_flags.status_suspend)) - return; - - DPRINTFN(5, "\n"); - - temp = SAF1761_READ_LE_4(sc, SOTG_MODE); - SAF1761_WRITE_LE_4(sc, SOTG_MODE, temp | SOTG_MODE_SNDRSU); - SAF1761_WRITE_LE_4(sc, SOTG_MODE, temp & ~SOTG_MODE_SNDRSU); - - /* Wait 8ms for remote wakeup to complete. */ - usb_pause_mtx(&sc->sc_bus.bus_mtx, hz / 125); -} - -static uint8_t -saf1761_host_channel_alloc(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t map; - int x; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) - return (0); - - /* check if device is suspended */ - if (SAF1761_OTG_PC2UDEV(td->pc)->flags.self_suspended != 0) - return (1); /* busy - cannot transfer data */ - - switch (td->ep_type) { - case UE_INTERRUPT: - map = ~(sc->sc_host_intr_map | - sc->sc_host_intr_busy_map[0] | - sc->sc_host_intr_busy_map[1]); - /* find first set bit */ - x = ffs(map) - 1; - if (x < 0 || x > 31) - break; - sc->sc_host_intr_map |= (1U << x); - td->channel = 32 + x; - return (0); - case UE_ISOCHRONOUS: - map = ~(sc->sc_host_isoc_map | - sc->sc_host_isoc_busy_map[0] | - sc->sc_host_isoc_busy_map[1]); - /* find first set bit */ - x = ffs(map) - 1; - if (x < 0 || x > 31) - break; - sc->sc_host_isoc_map |= (1U << x); - td->channel = x; - return (0); - default: - map = ~(sc->sc_host_async_map | - sc->sc_host_async_busy_map[0] | - sc->sc_host_async_busy_map[1]); - /* find first set bit */ - x = ffs(map) - 1; - if (x < 0 || x > 31) - break; - sc->sc_host_async_map |= (1U << x); - td->channel = 64 + x; - return (0); - } - return (1); -} - -static void -saf1761_host_channel_free(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t x; - - if (td->channel >= SOTG_HOST_CHANNEL_MAX) - return; - - switch (td->ep_type) { - case UE_INTERRUPT: - x = td->channel - 32; - td->channel = SOTG_HOST_CHANNEL_MAX; - sc->sc_host_intr_map &= ~(1U << x); - sc->sc_host_intr_suspend_map &= ~(1U << x); - sc->sc_host_intr_busy_map[0] |= (1U << x); - SAF1761_WRITE_LE_4(sc, SOTG_INT_PTD_SKIP_PTD, - (~sc->sc_host_intr_map) | sc->sc_host_intr_suspend_map); - break; - case UE_ISOCHRONOUS: - x = td->channel; - td->channel = SOTG_HOST_CHANNEL_MAX; - sc->sc_host_isoc_map &= ~(1U << x); - sc->sc_host_isoc_suspend_map &= ~(1U << x); - sc->sc_host_isoc_busy_map[0] |= (1U << x); - SAF1761_WRITE_LE_4(sc, SOTG_ISO_PTD_SKIP_PTD, - (~sc->sc_host_isoc_map) | sc->sc_host_isoc_suspend_map); - break; - default: - x = td->channel - 64; - td->channel = SOTG_HOST_CHANNEL_MAX; - sc->sc_host_async_map &= ~(1U << x); - sc->sc_host_async_suspend_map &= ~(1U << x); - sc->sc_host_async_busy_map[0] |= (1U << x); - SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, - (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); - break; - } - saf1761_otg_enable_psof(sc, 1); -} - -static uint32_t -saf1761_peek_host_status_le_4(struct saf1761_otg_softc *sc, uint32_t offset) -{ - uint32_t x = 0; - while (1) { - uint32_t retval; - - SAF1761_WRITE_LE_4(sc, SOTG_MEMORY_REG, offset); - SAF1761_90NS_DELAY(sc); /* read prefetch time is 90ns */ - retval = SAF1761_READ_LE_4(sc, offset); - if (retval != 0) - return (retval); - if (++x == 8) { - DPRINTF("STAUS is zero at offset 0x%x\n", offset); - break; - } - } - return (0); -} - -static void -saf1761_read_host_memory(struct saf1761_otg_softc *sc, - struct saf1761_otg_td *td, uint32_t len) -{ - struct usb_page_search buf_res; - uint32_t offset; - uint32_t count; - - if (len == 0) - return; - - offset = SOTG_DATA_ADDR(td->channel); - SAF1761_WRITE_LE_4(sc, SOTG_MEMORY_REG, offset); - SAF1761_90NS_DELAY(sc); /* read prefetch time is 90ns */ - - /* optimised read first */ - while (len > 0) { - usbd_get_page(td->pc, td->offset, &buf_res); - - /* get correct length */ - if (buf_res.length > len) - buf_res.length = len; - - /* check buffer alignment */ - if (((uintptr_t)buf_res.buffer) & 3) - break; - - count = buf_res.length & ~3; - if (count == 0) - break; - - bus_space_read_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, - offset, buf_res.buffer, count / 4); - - len -= count; - offset += count; - - /* update remainder and offset */ - td->remainder -= count; - td->offset += count; - } - - if (len > 0) { - /* use bounce buffer */ - bus_space_read_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, - offset, sc->sc_bounce_buffer, (len + 3) / 4); - usbd_copy_in(td->pc, td->offset, - sc->sc_bounce_buffer, len); - - /* update remainder and offset */ - td->remainder -= len; - td->offset += len; - } -} - -static void -saf1761_write_host_memory(struct saf1761_otg_softc *sc, - struct saf1761_otg_td *td, uint32_t len) -{ - struct usb_page_search buf_res; - uint32_t offset; - uint32_t count; - - if (len == 0) - return; - - offset = SOTG_DATA_ADDR(td->channel); - - /* optimised write first */ - while (len > 0) { - usbd_get_page(td->pc, td->offset, &buf_res); - - /* get correct length */ - if (buf_res.length > len) - buf_res.length = len; - - /* check buffer alignment */ - if (((uintptr_t)buf_res.buffer) & 3) - break; - - count = buf_res.length & ~3; - if (count == 0) - break; - - bus_space_write_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, - offset, buf_res.buffer, count / 4); - - len -= count; - offset += count; - - /* update remainder and offset */ - td->remainder -= count; - td->offset += count; - } - if (len > 0) { - /* use bounce buffer */ - usbd_copy_out(td->pc, td->offset, sc->sc_bounce_buffer, len); - bus_space_write_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, - offset, sc->sc_bounce_buffer, (len + 3) / 4); - - /* update remainder and offset */ - td->remainder -= len; - td->offset += len; - } -} - -static uint8_t -saf1761_host_setup_tx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t pdt_addr; - uint32_t status; - uint32_t count; - uint32_t temp; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) { - pdt_addr = SOTG_PTD(td->channel); - - status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); - - DPRINTFN(5, "STATUS=0x%08x\n", status); - - if (status & SOTG_PTD_DW3_ACTIVE) { - goto busy; - } else if (status & SOTG_PTD_DW3_HALTED) { - td->error_any = 1; - } - goto complete; - } - if (saf1761_host_channel_alloc(sc, td)) - goto busy; - - count = 8; - - if (count != td->remainder) { - td->error_any = 1; - goto complete; - } - - saf1761_write_host_memory(sc, td, count); - - pdt_addr = SOTG_PTD(td->channel); - - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, 0); - - temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | SOTG_PTD_DW3_CERR_3; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); - - temp = SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); - - temp = td->dw1_value | (2 << 10) /* SETUP PID */ | (td->ep_index >> 1); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); - - temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | - (td->max_packet_size << 18) /* wMaxPacketSize */ | - (count << 3) /* transfer count */ | - SOTG_PTD_DW0_VALID; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); - - /* activate PTD */ - SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, - (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); - - td->toggle = 1; -busy: - return (1); /* busy */ -complete: - saf1761_host_channel_free(sc, td); - return (0); /* complete */ -} - -static uint8_t -saf1761_host_bulk_data_rx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t pdt_addr; - uint32_t temp; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) { - uint32_t status; - uint32_t count; - uint8_t got_short; - - pdt_addr = SOTG_PTD(td->channel); - - status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); - - DPRINTFN(5, "STATUS=0x%08x\n", status); - - if (status & SOTG_PTD_DW3_ACTIVE) { - temp = saf1761_peek_host_status_le_4(sc, - pdt_addr + SOTG_PTD_DW0); - if (temp & SOTG_PTD_DW0_VALID) { - goto busy; - } else { - status = saf1761_peek_host_status_le_4(sc, - pdt_addr + SOTG_PTD_DW3); - - /* check if still active */ - if (status & SOTG_PTD_DW3_ACTIVE) { - saf1761_host_channel_free(sc, td); - goto retry; - } else if (status & SOTG_PTD_DW3_HALTED) { - if (!(status & SOTG_PTD_DW3_ERRORS)) - td->error_stall = 1; - td->error_any = 1; - goto complete; - } - } - } else if (status & SOTG_PTD_DW3_HALTED) { - if (!(status & SOTG_PTD_DW3_ERRORS)) - td->error_stall = 1; - td->error_any = 1; - goto complete; - } - if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) - count = (status & SOTG_PTD_DW3_XFER_COUNT_SPLIT); - else - count = (status & SOTG_PTD_DW3_XFER_COUNT_HS); - got_short = 0; - - /* verify the packet byte count */ - if (count != td->max_packet_size) { - if (count < td->max_packet_size) { - /* we have a short packet */ - td->short_pkt = 1; - got_short = 1; - } else { - /* invalid USB packet */ - td->error_any = 1; - goto complete; - } - } - td->toggle ^= 1; - - /* verify the packet byte count */ - if (count > td->remainder) { - /* invalid USB packet */ - td->error_any = 1; - goto complete; - } - - saf1761_read_host_memory(sc, td, count); - - /* check if we are complete */ - if ((td->remainder == 0) || got_short) { - if (td->short_pkt) - goto complete; - /* else need to receive a zero length packet */ - } - saf1761_host_channel_free(sc, td); - } -retry: - if (saf1761_host_channel_alloc(sc, td)) - goto busy; - - /* set toggle, if any */ - if (td->set_toggle) { - td->set_toggle = 0; - td->toggle = 1; - } - - /* receive one more packet */ - - pdt_addr = SOTG_PTD(td->channel); - - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, 0); - - temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | - SOTG_PTD_DW3_CERR_2; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); - - temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); - - temp = td->dw1_value | (1 << 10) /* IN-PID */ | (td->ep_index >> 1); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); - - temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | - (td->max_packet_size << 18) /* wMaxPacketSize */ | - (td->max_packet_size << 3) /* transfer count */ | - SOTG_PTD_DW0_VALID; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); - - /* activate PTD */ - SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, - (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); -busy: - return (1); /* busy */ -complete: - saf1761_host_channel_free(sc, td); - return (0); /* complete */ -} - -static uint8_t -saf1761_host_bulk_data_tx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t pdt_addr; - uint32_t temp; - uint32_t count; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) { - uint32_t status; - - pdt_addr = SOTG_PTD(td->channel); - - status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); - - DPRINTFN(5, "STATUS=0x%08x\n", status); - - if (status & SOTG_PTD_DW3_ACTIVE) { - goto busy; - } else if (status & SOTG_PTD_DW3_HALTED) { - if (!(status & SOTG_PTD_DW3_ERRORS)) - td->error_stall = 1; - td->error_any = 1; - goto complete; - } - /* check remainder */ - if (td->remainder == 0) { - if (td->short_pkt) - goto complete; - /* else we need to transmit a short packet */ - } - saf1761_host_channel_free(sc, td); - } - if (saf1761_host_channel_alloc(sc, td)) - goto busy; - - count = td->max_packet_size; - if (td->remainder < count) { - /* we have a short packet */ - td->short_pkt = 1; - count = td->remainder; - } - - saf1761_write_host_memory(sc, td, count); - - /* set toggle, if any */ - if (td->set_toggle) { - td->set_toggle = 0; - td->toggle = 1; - } - - /* send one more packet */ - - pdt_addr = SOTG_PTD(td->channel); - - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, 0); - - temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | - SOTG_PTD_DW3_CERR_2; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); - - temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); - - temp = td->dw1_value | (0 << 10) /* OUT-PID */ | (td->ep_index >> 1); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); - - temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | - (td->max_packet_size << 18) /* wMaxPacketSize */ | - (count << 3) /* transfer count */ | - SOTG_PTD_DW0_VALID; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); - - /* activate PTD */ - SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, - (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); - - td->toggle ^= 1; -busy: - return (1); /* busy */ -complete: - saf1761_host_channel_free(sc, td); - return (0); /* complete */ -} - -static uint8_t -saf1761_host_intr_data_rx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t pdt_addr; - uint32_t temp; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) { - uint32_t status; - uint32_t count; - uint8_t got_short; - - pdt_addr = SOTG_PTD(td->channel); - - status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); - - DPRINTFN(5, "STATUS=0x%08x\n", status); - - if (status & SOTG_PTD_DW3_ACTIVE) { - goto busy; - } else if (status & SOTG_PTD_DW3_HALTED) { - if (!(status & SOTG_PTD_DW3_ERRORS)) - td->error_stall = 1; - td->error_any = 1; - goto complete; - } - if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) - count = (status & SOTG_PTD_DW3_XFER_COUNT_SPLIT); - else - count = (status & SOTG_PTD_DW3_XFER_COUNT_HS); - got_short = 0; - - /* verify the packet byte count */ - if (count != td->max_packet_size) { - if (count < td->max_packet_size) { - /* we have a short packet */ - td->short_pkt = 1; - got_short = 1; - } else { - /* invalid USB packet */ - td->error_any = 1; - goto complete; - } - } - td->toggle ^= 1; - - /* verify the packet byte count */ - if (count > td->remainder) { - /* invalid USB packet */ - td->error_any = 1; - goto complete; - } - - saf1761_read_host_memory(sc, td, count); - - /* check if we are complete */ - if ((td->remainder == 0) || got_short) { - if (td->short_pkt) - goto complete; - /* else need to receive a zero length packet */ - } - saf1761_host_channel_free(sc, td); - } - if (saf1761_host_channel_alloc(sc, td)) - goto busy; - - /* set toggle, if any */ - if (td->set_toggle) { - td->set_toggle = 0; - td->toggle = 1; - } - - /* receive one more packet */ - - pdt_addr = SOTG_PTD(td->channel); - - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); - - if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) { - temp = (0xFC << td->uframe) & 0xFF; /* complete split */ - } else { - temp = 0; - } - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, temp); - - temp = (1U << td->uframe); /* start mask or start split */ - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, temp); - - temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | SOTG_PTD_DW3_CERR_3; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); - - temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8) | - (td->interval & 0xF8); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); - - temp = td->dw1_value | (1 << 10) /* IN-PID */ | (td->ep_index >> 1); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); - - temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | - (td->max_packet_size << 18) /* wMaxPacketSize */ | - (td->max_packet_size << 3) /* transfer count */ | - SOTG_PTD_DW0_VALID; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); - - /* activate PTD */ - SAF1761_WRITE_LE_4(sc, SOTG_INT_PTD_SKIP_PTD, - (~sc->sc_host_intr_map) | sc->sc_host_intr_suspend_map); -busy: - return (1); /* busy */ -complete: - saf1761_host_channel_free(sc, td); - return (0); /* complete */ -} - -static uint8_t -saf1761_host_intr_data_tx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t pdt_addr; - uint32_t temp; - uint32_t count; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) { - uint32_t status; - - pdt_addr = SOTG_PTD(td->channel); - - status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); - - DPRINTFN(5, "STATUS=0x%08x\n", status); - - if (status & SOTG_PTD_DW3_ACTIVE) { - goto busy; - } else if (status & SOTG_PTD_DW3_HALTED) { - if (!(status & SOTG_PTD_DW3_ERRORS)) - td->error_stall = 1; - td->error_any = 1; - goto complete; - } - - /* check remainder */ - if (td->remainder == 0) { - if (td->short_pkt) - goto complete; - /* else we need to transmit a short packet */ - } - saf1761_host_channel_free(sc, td); - } - if (saf1761_host_channel_alloc(sc, td)) - goto busy; - - count = td->max_packet_size; - if (td->remainder < count) { - /* we have a short packet */ - td->short_pkt = 1; - count = td->remainder; - } - - saf1761_write_host_memory(sc, td, count); - - /* set toggle, if any */ - if (td->set_toggle) { - td->set_toggle = 0; - td->toggle = 1; - } - - /* send one more packet */ - - pdt_addr = SOTG_PTD(td->channel); - - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); - - if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) { - temp = (0xFC << td->uframe) & 0xFF; /* complete split */ - } else { - temp = 0; - } - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, temp); - - temp = (1U << td->uframe); /* start mask or start split */ - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, temp); - - temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | SOTG_PTD_DW3_CERR_3; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); - - temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8) | - (td->interval & 0xF8); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); - - temp = td->dw1_value | (0 << 10) /* OUT-PID */ | (td->ep_index >> 1); - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); - - temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | - (td->max_packet_size << 18) /* wMaxPacketSize */ | - (count << 3) /* transfer count */ | - SOTG_PTD_DW0_VALID; - SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); - - /* activate PTD */ - SAF1761_WRITE_LE_4(sc, SOTG_INT_PTD_SKIP_PTD, - (~sc->sc_host_intr_map) | sc->sc_host_intr_suspend_map); - - td->toggle ^= 1; -busy: - return (1); /* busy */ -complete: - saf1761_host_channel_free(sc, td); - return (0); /* complete */ -} - -static uint8_t -saf1761_host_isoc_data_rx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) -{ - uint32_t pdt_addr; - uint32_t temp; - - if (td->channel < SOTG_HOST_CHANNEL_MAX) { - uint32_t status; - uint32_t count; - - pdt_addr = SOTG_PTD(td->channel); *** 3692 LINES SKIPPED *** From nobody Tue Jan 24 22:10:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3s1YhMz3bdds; Tue, 24 Jan 2023 22:10: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 4P1h3s0g3Kz4JfH; Tue, 24 Jan 2023 22:10:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6Pl2EwIwj6WW1PWkVhAjN05ephjZ0vpvHX/T9enEUU=; b=I2LtD0Lb2fctvM9SRrtp9lyua/m+mgIJzW9xUwLwyQ1xNkGV+Uo2Iow51OOk3b1s+BdWtz Mz1p0Xq59tZZ0dUIFSnlMsEwfPVOSjna26s5xUwCRRaKY7jWTZsZQoi52o2byEIjxGrGer tptnqYKSc3fk51dsP2LsQVF9IkRdGhFMyySUp5B8xb1p2Ihc+NpIO19ka3IY6Oy6L/B/Kz aaw6XyNQecxsMrKUtFHggyXvrumY+Qaa6P8vsQRLs57K/rjjNrOpClm3+53XbIni3uo57p UTfHXjn0QjDJvO3HCw6E7p1kQInpOZuUhJT/2AW3TjZnORTbYS1smSs1FyUBYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6Pl2EwIwj6WW1PWkVhAjN05ephjZ0vpvHX/T9enEUU=; b=Dx/feB3BNL4IfkHed1+Daho1hNEgNqMWju+cye4hn8dV+XE63p9bqw8KOa9Ad93BV7ENm5 ya3qaJ8vWleHiLEP8JnKVbLYNyJH3mIRCow2x5DKgJVUvhkWr1dlAGFMJpPBeVR1zvjJqt mQ9YNpnVhfylNK0lVUFVBaAsPr8Gaqnk//sDfZlvO1ThBGbFTUOIRNpnd8g9B+Hy9D2KXk ZhBY6wtBHujLa92Si4knLuq1F108Y0zHhgpGAQ0/xXECuhKtu5xC8Nf7nIz2cQYVGPNg3c IQb1eGeUAMA5+/mKe+8PW+vmGHB4j9N3QqW21VmpJA49Xi7WeFE1Sar1HViAeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598217; a=rsa-sha256; cv=none; b=RrE6abafyMyb99o8TnBpFgxCq/YCyY1ydrEdiOnCOp4K5jOG90seTYke4nqtNwNoZpm6PF sOgVgVX9dCjMiJAmwLodvRIvCUQpFM85KdKMVVSPe8XC42gdaQodUzwKFY0VCg30y8+4Cp CobTXrArgPwshVTHlEd4lLGotX70JCZJJGvfNqkn6WW1mzBMFEig/dDXruTfZK+tVh4xis e31Mtc++ex4RehoMwRbE16gW7R0EGf5GZVoQIVr/l8nUH4DUnEgtoxyTEQavGEowGszZVs hajqSrMrS9D+Jc7cb85iBJGXTszgX6l9gdsKQ7Y3wVcfp47S0elp/C2YnnfXeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3r6fkKzQ1F; Tue, 24 Jan 2023 22:10:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAGjb079527; Tue, 24 Jan 2023 22:10:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAGDM079521; Tue, 24 Jan 2023 22:10:16 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:16 GMT Message-Id: <202301242210.30OMAGDM079521@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: 673910f3b8c4 - stable/13 - geliboot: Use the correct IV length for AES-XTS. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 673910f3b8c4606313bd8e56a44ea43508dee0cc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=673910f3b8c4606313bd8e56a44ea43508dee0cc commit 673910f3b8c4606313bd8e56a44ea43508dee0cc Author: John Baldwin AuthorDate: 2022-01-14 01:19:54 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 geliboot: Use the correct IV length for AES-XTS. - Use AES_XTS_IV_LEN instead of the key length as the IV length. - Use G_ELI_IVKEYLEN as the size of the zeroed iv[] array in g_eli_crypto_cipher() to match geli_io(). PR: 261172 Reported by: Malcolm Matalka , mikael Reviewed by: markj Sponsored by: FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33884 (cherry picked from commit c7721958ffa1aa81064b74b884e81efbe11d7fe4) --- stand/libsa/geli/geliboot.c | 2 +- stand/libsa/geli/geliboot_crypto.c | 9 ++++----- stand/libsa/geli/geliboot_internal.h | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/stand/libsa/geli/geliboot.c b/stand/libsa/geli/geliboot.c index aee28e8ec761..f7069e3887ee 100644 --- a/stand/libsa/geli/geliboot.c +++ b/stand/libsa/geli/geliboot.c @@ -345,7 +345,7 @@ geli_io(struct geli_dev *gdev, geli_op_t enc, off_t offset, u_char *buf, g_eli_key_fill(&gdev->sc, &gkey, keyno); error = geliboot_crypt(gdev->sc.sc_ealgo, enc, pbuf, secsize, - gkey.gek_key, gdev->sc.sc_ekeylen, iv, sizeof(iv)); + gkey.gek_key, gdev->sc.sc_ekeylen, iv); if (error != 0) { explicit_bzero(&gkey, sizeof(gkey)); diff --git a/stand/libsa/geli/geliboot_crypto.c b/stand/libsa/geli/geliboot_crypto.c index fcc5d7bcd7fb..2cdd4483d323 100644 --- a/stand/libsa/geli/geliboot_crypto.c +++ b/stand/libsa/geli/geliboot_crypto.c @@ -36,7 +36,7 @@ int geliboot_crypt(u_int algo, geli_op_t enc, u_char *data, size_t datasize, - const u_char *key, size_t keysize, u_char *iv, size_t ivlen) + const u_char *key, size_t keysize, u_char *iv) { keyInstance aeskey; cipherInstance cipher; @@ -81,7 +81,7 @@ geliboot_crypt(u_int algo, geli_op_t enc, u_char *data, size_t datasize, ctxp = &xtsctx; enc_xform_aes_xts.setkey(ctxp, key, xts_len / 8); - enc_xform_aes_xts.reinit(ctxp, iv, ivlen); + enc_xform_aes_xts.reinit(ctxp, iv, AES_XTS_IV_LEN); switch (enc) { case GELI_DECRYPT: @@ -110,11 +110,10 @@ static int g_eli_crypto_cipher(u_int algo, geli_op_t enc, u_char *data, size_t datasize, const u_char *key, size_t keysize) { - u_char iv[keysize]; + u_char iv[G_ELI_IVKEYLEN]; explicit_bzero(iv, sizeof(iv)); - return (geliboot_crypt(algo, enc, data, datasize, key, keysize, iv, - sizeof(iv))); + return (geliboot_crypt(algo, enc, data, datasize, key, keysize, iv)); } int diff --git a/stand/libsa/geli/geliboot_internal.h b/stand/libsa/geli/geliboot_internal.h index 2318690297f8..2af74466179f 100644 --- a/stand/libsa/geli/geliboot_internal.h +++ b/stand/libsa/geli/geliboot_internal.h @@ -68,6 +68,6 @@ struct geli_dev { }; int geliboot_crypt(u_int algo, geli_op_t enc, u_char *data, size_t datasize, - const u_char *key, size_t keysize, u_char *iv, size_t ivlen); + const u_char *key, size_t keysize, u_char *iv); #endif /* _GELIBOOT_INTERNAL_H_ */ From nobody Tue Jan 24 22:10:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3t54lTz3bdv9; Tue, 24 Jan 2023 22:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h3t18vCz4JXY; Tue, 24 Jan 2023 22:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jeSyizR8JL9oSMljU/GTPRvx6IFiZ1iPUpqWVBtP7gY=; b=LwjaKNSIonFF6tnvsG7piBQiYHzGyEQhhSsHhaYUM+i3Oh5h/ws19m7/soW0W9lfPGZA8Y SqKE/yKeTM8prNzlU+qTiwk7L49cA2gOb0b4Cnh5gmU7G+cex0/TQrU/jnAC9UPqgO0t1y /G8Z1STz0o2AjFnnckLFTpI1QqDja7UIXmmUnva8n4auheeW5qr6sUZngeBE64xfqpbN0X EZrSkhHDfG/8rZGmP5oBAiLegRJs/WOOeXcEJIOh4k/ZMz9xGz78VSNFpy53O/r+T5hTzP lOqSO7pO9w1NLGCElBCJk23gmUePo8F/l2DYtCTdXLTABcW6EbTwZiaTqgxaDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jeSyizR8JL9oSMljU/GTPRvx6IFiZ1iPUpqWVBtP7gY=; b=hRJNst7MvUyKLRqHOPfoLO/3mFNlbNIwI9BWVrzCDR5jV6PBVn3LW0mfxMZ/TIsDBOQGr+ ghTfq83aow19R2MbLO9tXhOoZtTd0k5lfqrmtgbtJtAhHWhyd33yuOjyxSSgfavOdt/EzT XlAiAC7nvGX6LuyUxTXFMADA2vl6s2C/wATywvTtMqnrUuqFCIus/v7vawacyHwsv4oWbW fCElATLbzEZCdJYT3/4SKFxWfkvRwsMPX1qoRZl6a2I0BBnPbcDXBl3JHtdZI9vwL3nvQ2 suu0viUyeKwCEBCzxK5yhU1MQ/RQyudNSJeeAgPBx7hjL9JDUZvD290aHf2+rQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598218; a=rsa-sha256; cv=none; b=uiPnpany6t5b23iHs7NYObkr1qokGRd1Rf5IZ3i9OjstBPecnoaGxv+/nruAP4086oTeH1 y5OVQqjfq9aRBMj1Pbjjm0SJt3RVfPzRqev/o3DDO7By3Z1QTQS0j1CBAtpO8lEpRnr91Z 41zlpGgFH/Qu4pmIRkHppfCh5R+OhNDntipwBNCMim6dip/+UPDT0PKnrNslsKmlmyspbV WElPWJBK589sr805fv4EAHCxoTiacEUc5qsMzsfo8vNXaK8bMYSQ4isgERnsiVvb2w+KxT d8KvQKsJzOBjpycX2On2EGlzLHgyFf1xJ3mAARGd5JGh1WC+Jxd9gjABhkhRtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3t0FBSzQWc; Tue, 24 Jan 2023 22:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAHDB079848; Tue, 24 Jan 2023 22:10:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAHnJ079847; Tue, 24 Jan 2023 22:10:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:17 GMT Message-Id: <202301242210.30OMAHnJ079847@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: 8eba35cfe13f - stable/13 - stand/uboot: Fix building of ubldr.bin List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8eba35cfe13f9e7d95aced51696afdd1fe2d57d9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8eba35cfe13f9e7d95aced51696afdd1fe2d57d9 commit 8eba35cfe13f9e7d95aced51696afdd1fe2d57d9 Author: Warner Losh AuthorDate: 2022-02-07 20:14:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 stand/uboot: Fix building of ubldr.bin Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D34189 (cherry picked from commit 27e64c99e4d61fc16e11fc9416553a54c1628a84) --- stand/uboot/Makefile | 9 +++++++-- stand/uboot/arch/powerpc/Makefile.inc | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index aed2121bd507..052c9615bfc2 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -15,9 +15,9 @@ LOADER_DISK_SUPPORT?= yes .include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" -.if ${MK_PIE} == "yes" +LOADER_UBLDR_BIN?= yes +.if ${LOADER_UBLDR_BIN} != "no" FILES+= ubldr ubldr.bin -OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .else PROG= ubldr .endif @@ -75,6 +75,11 @@ CFLAGS+= -I${FDTSRC} CFLAGS+= -DDISK_DEBUG .endif +.if ${LOADER_UBLDR_BIN} != "no" +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} +ubldr ubldr.bin ubldr.pie: ${OBJS} +.endif + DPADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} LDADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} diff --git a/stand/uboot/arch/powerpc/Makefile.inc b/stand/uboot/arch/powerpc/Makefile.inc index 01c7a0c6ac8c..226cfc2f7369 100644 --- a/stand/uboot/arch/powerpc/Makefile.inc +++ b/stand/uboot/arch/powerpc/Makefile.inc @@ -3,4 +3,4 @@ SRCS+= start.S conf.c ppc64_elf_freebsd.c .PATH: ${SYSDIR}/libkern SRCS+= ucmpdi2.c -MK_PIE= no +LOADER_UBLDR_BIN= no From nobody Tue Jan 24 22:10:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3v2yKQz3bdqX; Tue, 24 Jan 2023 22:10: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 4P1h3v23tgz4JrK; Tue, 24 Jan 2023 22:10:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIExv7kV83R1urCKpAW8KXH+j06yB6aZJVO/DmNNfVQ=; b=ZXT2+GhoYUqWiZ5DMriR97PNFL6H1cOzdBupOc75mcsxhXF2Mh5Fls9qbvBVFNFA3pPWTq oiaRjIpkKXYUrAKk91IlIfGDi5auRgbH77RVnpbr2M1X7ZHfF3IPda10AQ2MujUj9PG5dy +kAfdD+/9JZHVBiA2TjjAQdfIcP8KAdAHmI25ZBGMkK4IiaKi99x4gwhtXta9aPB8KV99U ggVkLAZCEO88K1LOGb0lye61M5HlenvhTF7J+8lXZSKDKub6SE8cgp4LQRSdVX0vDpB8vC c0fqFzIZN+0fJxlbr7ChdNwv4C1sdPa4J1xz+IdEL6qnN+JAbPuNSL9fBDSLYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIExv7kV83R1urCKpAW8KXH+j06yB6aZJVO/DmNNfVQ=; b=YmwRZWCIHKBaqLeLGdVrPcXIsqeKRQLnMwXKT1twNoqYFPNfii11JnsBfW3vgyFqcM/j2k xhUKHC3DbxJ6Xn/89ddez2m5IxEtyBQhxZD1PPAn5choXLDYr1DN7R+vOqhFXYQTrRraFf czkBoIoN+r4c3D8nCX1tOiCJH8EcotpoCncD6cS116Ji1/xG4Rezlz9COXHqx+iR5/o+qa JErNHsetuOwC5aJrCH7mM3T5r6IatPP3UQZtCfMI8Y8JbCoh+hRw3cwLBw2cqPryxtPvyw XqgP7+R6PkNZ9kLCtnmYODV6JyWhfY2JILgGpFhfx18rvNXgXENYesS+o2sqWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598219; a=rsa-sha256; cv=none; b=EQulB/gkKH4OlgvJO/J+bj0HohoJ6FXHJM0CdbMVpAuzPHyzIepThrBQoqskYbIS4Fd3yZ BFX74WTPcFO1hpBHPAFLpYRHA/CPZrFfpd6qq7lFPMLUDax2+L2D9SFRW1vSV1++lvMur0 h0sD1srDYeM2DD7moPj/pKszDd/B6tOxtVvhaLwe7W1zGq+9+EKtwlvUWHyx1/Ruj33Gx4 95p9bQALTzoJKChE9gvPRQG+w1xdqd8rsWwLiBhKKateSH1exoZqtMhYnZ0DUHtBWkb75B kMBkNgrH+QgpNLo3g1x2wFfrhlC0maVsW1yRW5/mUhvrOQHrgyYbdWRaUwQLcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3v19DyzQLx; Tue, 24 Jan 2023 22:10:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAJqb079875; Tue, 24 Jan 2023 22:10:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAJNv079874; Tue, 24 Jan 2023 22:10:19 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:19 GMT Message-Id: <202301242210.30OMAJNv079874@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: 501a337902f8 - stable/13 - Add support for module_verbose List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 501a337902f80cee1c84554e5222172dc809ac4b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=501a337902f80cee1c84554e5222172dc809ac4b commit 501a337902f80cee1c84554e5222172dc809ac4b Author: Simon J. Gerraty AuthorDate: 2022-02-13 20:45:57 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 Add support for module_verbose Set module_verbose to control the printing of information about loaded modules and kernel: 0 MODULE_VERBOSE_SILENT None 1 MODULE_VERBOSE_SIZE Pathname and size 2 MODULE_VERBOSE_TWIDDLE as for 1 but also twiddle for progress 3 MODULE_VERBOSE_FULL extra detail When the loader is verifying modules we already have a running indication of progress and module_verbose=0 makes sense. Reviewed by: rpokala Differential Revision: https://reviews.freebsd.org/D34245 (cherry picked from commit ec042f46e9bbd195e1f7c8151df5d280a2a4d069) --- stand/common/bootstrap.h | 8 ++++ stand/common/console.c | 29 ++++++++++- stand/common/load_elf.c | 114 ++++++++++++++++++++++---------------------- stand/common/load_elf_obj.c | 9 ++-- 4 files changed, 98 insertions(+), 62 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index 42b2c73f5774..9c62a49b0da7 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -124,6 +124,14 @@ void cons_probe(void); bool cons_update_mode(bool); void autoload_font(bool); +extern int module_verbose; +enum { + MODULE_VERBOSE_SILENT, /* say nothing */ + MODULE_VERBOSE_SIZE, /* print name and size */ + MODULE_VERBOSE_TWIDDLE, /* show progress */ + MODULE_VERBOSE_FULL, /* all we have */ +}; + /* * Plug-and-play enumerator/configurator interface. */ diff --git a/stand/common/console.c b/stand/common/console.c index ff864276f96c..08d0dc40e3a9 100644 --- a/stand/common/console.c +++ b/stand/common/console.c @@ -41,6 +41,28 @@ static int cons_check(const char *string); static int cons_change(const char *string); static int twiddle_set(struct env_var *ev, int flags, const void *value); +#ifndef MODULE_VERBOSE +# define MODULE_VERBOSE MODULE_VERBOSE_TWIDDLE +#endif +int module_verbose = MODULE_VERBOSE; + +static int +module_verbose_set(struct env_var *ev, int flags, const void *value) +{ + u_long v; + char *eptr; + + v = strtoul(value, &eptr, 0); + if (*(const char *)value == 0 || *eptr != 0) { + printf("invalid module_verbose '%s'\n", (const char *)value); + return (CMD_ERROR); + } + module_verbose = (int)v; + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); + + return (CMD_OK); +} + /* * Detect possible console(s) to use. If preferred console(s) have been * specified, mark them as active. Else, mark the first probed console @@ -52,10 +74,15 @@ cons_probe(void) int cons; int active; char *prefconsole; + char module_verbose_buf[8]; TSENTER(); - /* We want a callback to install the new value when this var changes. */ + /* We want a callback to install the new value when these vars change. */ + snprintf(module_verbose_buf, sizeof(module_verbose_buf), "%d", + module_verbose); + env_setenv("module_verbose", EV_VOLATILE, module_verbose_buf, + module_verbose_set, env_nounset); env_setenv("twiddle_divisor", EV_VOLATILE, "16", twiddle_set, env_nounset); diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index f3192c1c94fa..99ebace012ea 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -462,13 +462,17 @@ __elfN(loadfile_raw)(char *filename, uint64_t dest, else fp->f_type = strdup("elf multiboot kernel"); -#ifdef ELF_VERBOSE - if (ef.kernel) - printf("%s entry at 0x%jx\n", filename, - (uintmax_t)ehdr->e_entry); -#else - printf("%s ", filename); -#endif + if (module_verbose >= MODULE_VERBOSE_FULL) { + if (ef.kernel) + printf("%s entry at 0x%jx\n", filename, + (uintmax_t)ehdr->e_entry); + } else if (module_verbose > MODULE_VERBOSE_SILENT) + printf("%s ", filename); + + if (module_verbose < MODULE_VERBOSE_TWIDDLE) { + /* A hack for now; we do not want twiddling */ + twiddle_divisor(UINT_MAX); + } fp->f_size = __elfN(loadimage)(fp, &ef, dest); if (fp->f_size == 0 || fp->f_addr == 0) @@ -579,9 +583,10 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) off += 0x01000000; } ehdr->e_entry += off; -#ifdef ELF_VERBOSE - printf("Converted entry 0x%jx\n", (uintmax_t)ehdr->e_entry); -#endif + if (module_verbose >= MODULE_VERBOSE_FULL) + printf("Converted entry 0x%jx\n", + (uintmax_t)ehdr->e_entry); + #elif defined(__arm__) && !defined(EFI) /* * The elf headers in arm kernels specify virtual addresses in @@ -603,10 +608,9 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) */ off -= ehdr->e_entry & ~PAGE_MASK; ehdr->e_entry += off; -#ifdef ELF_VERBOSE - printf("ehdr->e_entry 0x%jx, va<->pa off %llx\n", - (uintmax_t)ehdr->e_entry, off); -#endif + if (module_verbose >= MODULE_VERBOSE_FULL) + printf("ehdr->e_entry 0x%jx, va<->pa off %llx\n", + (uintmax_t)ehdr->e_entry, off); #else off = 0; /* other archs use direct mapped kernels */ #endif @@ -631,22 +635,22 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) if (phdr[i].p_type != PT_LOAD) continue; -#ifdef ELF_VERBOSE - printf("Segment: 0x%lx@0x%lx -> 0x%lx-0x%lx", - (long)phdr[i].p_filesz, (long)phdr[i].p_offset, - (long)(phdr[i].p_vaddr + off), - (long)(phdr[i].p_vaddr + off + phdr[i].p_memsz - 1)); -#else - if ((phdr[i].p_flags & PF_W) == 0) { - printf("text=0x%lx ", (long)phdr[i].p_filesz); - } else { - printf("data=0x%lx", (long)phdr[i].p_filesz); - if (phdr[i].p_filesz < phdr[i].p_memsz) - printf("+0x%lx", (long)(phdr[i].p_memsz - - phdr[i].p_filesz)); - printf(" "); + if (module_verbose >= MODULE_VERBOSE_FULL) { + printf("Segment: 0x%lx@0x%lx -> 0x%lx-0x%lx", + (long)phdr[i].p_filesz, (long)phdr[i].p_offset, + (long)(phdr[i].p_vaddr + off), + (long)(phdr[i].p_vaddr + off + phdr[i].p_memsz - 1)); + } else if (module_verbose > MODULE_VERBOSE_SILENT) { + if ((phdr[i].p_flags & PF_W) == 0) { + printf("text=0x%lx ", (long)phdr[i].p_filesz); + } else { + printf("data=0x%lx", (long)phdr[i].p_filesz); + if (phdr[i].p_filesz < phdr[i].p_memsz) + printf("+0x%lx", (long)(phdr[i].p_memsz - + phdr[i].p_filesz)); + printf(" "); + } } -#endif fpcopy = 0; if (ef->firstlen > phdr[i].p_offset) { fpcopy = ef->firstlen - phdr[i].p_offset; @@ -665,18 +669,16 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) } /* clear space from oversized segments; eg: bss */ if (phdr[i].p_filesz < phdr[i].p_memsz) { -#ifdef ELF_VERBOSE - printf(" (bss: 0x%lx-0x%lx)", - (long)(phdr[i].p_vaddr + off + phdr[i].p_filesz), - (long)(phdr[i].p_vaddr + off + phdr[i].p_memsz -1)); -#endif - + if (module_verbose >= MODULE_VERBOSE_FULL) { + printf(" (bss: 0x%lx-0x%lx)", + (long)(phdr[i].p_vaddr + off + phdr[i].p_filesz), + (long)(phdr[i].p_vaddr + off + phdr[i].p_memsz -1)); + } kern_bzero(phdr[i].p_vaddr + off + phdr[i].p_filesz, phdr[i].p_memsz - phdr[i].p_filesz); } -#ifdef ELF_VERBOSE - printf("\n"); -#endif + if (module_verbose >= MODULE_VERBOSE_FULL) + printf("\n"); if (archsw.arch_loadseg != NULL) archsw.arch_loadseg(ehdr, phdr + i, off); @@ -766,12 +768,10 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) goto nosyms; /* Ok, committed to a load. */ -#ifndef ELF_VERBOSE - printf("syms=["); -#endif + if (module_verbose >= MODULE_VERBOSE_FULL) + printf("syms=["); ssym = lastaddr; for (i = symtabindex; i >= 0; i = symstrindex) { -#ifdef ELF_VERBOSE char *secname; switch(shdr[i].sh_type) { @@ -785,23 +785,21 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) secname = "WHOA!!"; break; } -#endif size = shdr[i].sh_size; archsw.arch_copyin(&size, lastaddr, sizeof(size)); lastaddr += sizeof(size); -#ifdef ELF_VERBOSE - printf("\n%s: 0x%jx@0x%jx -> 0x%jx-0x%jx", secname, - (uintmax_t)shdr[i].sh_size, (uintmax_t)shdr[i].sh_offset, - (uintmax_t)lastaddr, - (uintmax_t)(lastaddr + shdr[i].sh_size)); -#else - if (i == symstrindex) - printf("+"); - printf("0x%lx+0x%lx", (long)sizeof(size), (long)size); -#endif - + if (module_verbose >= MODULE_VERBOSE_FULL) { + printf("\n%s: 0x%jx@0x%jx -> 0x%jx-0x%jx", secname, + (uintmax_t)shdr[i].sh_size, (uintmax_t)shdr[i].sh_offset, + (uintmax_t)lastaddr, + (uintmax_t)(lastaddr + shdr[i].sh_size)); + } else if (module_verbose > MODULE_VERBOSE_SILENT) { + if (i == symstrindex) + printf("+"); + printf("0x%lx+0x%lx", (long)sizeof(size), (long)size); + } if (VECTX_LSEEK(VECTX_HANDLE(ef), (off_t)shdr[i].sh_offset, SEEK_SET) == -1) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_loadimage: could not seek for symbols - skipped!"); @@ -828,15 +826,15 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) symstrindex = -1; } esym = lastaddr; -#ifndef ELF_VERBOSE - printf("]"); -#endif + if (module_verbose >= MODULE_VERBOSE_FULL) + printf("]"); file_addmetadata(fp, MODINFOMD_SSYM, sizeof(ssym), &ssym); file_addmetadata(fp, MODINFOMD_ESYM, sizeof(esym), &esym); nosyms: - printf("\n"); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("\n"); ret = lastaddr - firstaddr; fp->f_addr = firstaddr; diff --git a/stand/common/load_elf_obj.c b/stand/common/load_elf_obj.c index f3c84cf31368..ed202e08b780 100644 --- a/stand/common/load_elf_obj.c +++ b/stand/common/load_elf_obj.c @@ -184,7 +184,8 @@ __elfN(obj_loadfile)(char *filename, uint64_t dest, fp->f_name = strdup(filename); fp->f_type = strdup(__elfN(obj_moduletype)); - printf("%s ", filename); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("%s ", filename); fp->f_size = __elfN(obj_loadimage)(fp, &ef, dest); if (fp->f_size == 0 || fp->f_addr == 0) @@ -378,10 +379,12 @@ __elfN(obj_loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) ret = lastaddr - firstaddr; fp->f_addr = firstaddr; - printf("size 0x%lx at 0x%lx", (u_long)ret, (u_long)firstaddr); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("size 0x%lx at 0x%lx", (u_long)ret, (u_long)firstaddr); out: - printf("\n"); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("\n"); return ret; } From nobody Tue Jan 24 22:10:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3w5sJpz3bf16; Tue, 24 Jan 2023 22:10: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 4P1h3w32cQz4JjR; Tue, 24 Jan 2023 22:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jj53zgCoj4GxkA0ktJbT1lxkWw9MIVJT5NGEZvp2Rxo=; b=xh/Dln17SYNBrfkTzoaX3T/YfQB6SQuZOwDJcQN2v06KBA5zczEtXW8TTaD+i73TnMNOHn 2MQ55fdx3i8WZ2T3PzQ2XY3WA3gJj8ncodDMECNgQI2wPqepRFGypb4B7E7M4smi84/N3l NWBZ/GgFiJRwNdcNzpEKiKq2urJyuQYNjJJ8Lu5gHFwYCLrXPCzARMEankOKB/Sp+EHyxe OabzdVSl5rnTcMc+oeXmfYMWyoTTe166adWIY224ojdIvmcNKhA5lI/uiTvoMIBfRFCp5d TwCw/e26GN4jHiEG0NliwZIja2+G2O9weeDlQ96OfkZjn0Zrmb9whIrZJJZ7vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jj53zgCoj4GxkA0ktJbT1lxkWw9MIVJT5NGEZvp2Rxo=; b=SGwtzM10V5ByX5UyigktJDLU18o6L2/kZxSP/ZcgqhVPcteRuMY6c4ErIFFaY6+wSHpysr LQqfjYho8dyUni6lWqlXbHLlxGlpb3k4tRoc1+n6XJYiTA0rzqTYEXYtGEM1IV3pf75xj/ lxlgbQXg0cqivTxozZJDqT4E0WAbN9wyvSwuDjmEtE0plXl8Pk8yPP3Lqv1xAGNGyJVoZr cViWZP8vnZ9APEHFgcxX5Nw9xCf3/VhU3zeRxX3EubjyTqs5zSntdrJs2wDF4+37vgkZvv OCZszzJyABsNjlHYsxf7aeH3cZcWuabObMvCekrhcim+pbMfFv1OQDiUofZ9zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598220; a=rsa-sha256; cv=none; b=qk62MmOb4+NPZQb/v4wBl1LrdwVpo0pYvuwKW4GPp0Z+nrjA/0uqVT6Dn2IvpBOkI+MSxL u1z2x8OGu0MkiQfG7ljxAqTTbIRs3uZBePj0ADK1WuxmJUibC04roMx1gDexNkUf/cRSv6 H5bnLOHOv/BcuQeFRLEQ9Z6oFCQU2vbarkOnVFzfFfWbIJ7fFtHUCo3b5a7Q8Xuz1JSDSa rDZM4b6qRHmIwYwEoejcTbdfvGzjgK8TBnwmFGibjGdqYGo9qF/vhMcswD2TQ3YBGrlvEk X/mlU9CVTn3wV58X6rAaOaY+HmjL2UzNzV8+X7VHXLWkF4cfuepDU4xjSoFC2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3w26dpzQ1G; Tue, 24 Jan 2023 22:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAK6w079905; Tue, 24 Jan 2023 22:10:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAKDk079904; Tue, 24 Jan 2023 22:10:20 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:20 GMT Message-Id: <202301242210.30OMAKDk079904@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: 5c1d95a60b54 - stable/13 - module_verbose should also affect non-ELF modules. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5c1d95a60b547508dec61802d4db1284744d44f4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5c1d95a60b547508dec61802d4db1284744d44f4 commit 5c1d95a60b547508dec61802d4db1284744d44f4 Author: Simon J. Gerraty AuthorDate: 2022-02-14 18:44:46 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 module_verbose should also affect non-ELF modules. (cherry picked from commit 01b0c35984c64dfbfb45abf26ad67df4761a2df5) --- stand/common/module.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stand/common/module.c b/stand/common/module.c index bf95fbc59ea3..43c04728b4fa 100644 --- a/stand/common/module.c +++ b/stand/common/module.c @@ -605,7 +605,8 @@ file_load_dependencies(struct preloaded_file *base_file) verinfo = (struct mod_depend*)md->md_data; dmodname = (char *)(verinfo + 1); if (file_findmodule(NULL, dmodname, verinfo) == NULL) { - printf("loading required module '%s'\n", dmodname); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("loading required module '%s'\n", dmodname); error = mod_load(dmodname, verinfo, 0, NULL); if (error) break; @@ -797,7 +798,8 @@ file_loadraw(const char *fname, char *type, int insert) if (archsw.arch_loadaddr != NULL) loadaddr = archsw.arch_loadaddr(LOAD_RAW, name, loadaddr); - printf("%s ", name); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("%s ", name); laddr = loadaddr; for (;;) { @@ -819,7 +821,8 @@ file_loadraw(const char *fname, char *type, int insert) laddr += got; } - printf("size=%#jx\n", (uintmax_t)(laddr - loadaddr)); + if (module_verbose > MODULE_VERBOSE_SILENT) + printf("size=%#jx\n", (uintmax_t)(laddr - loadaddr)); #ifdef LOADER_VERIEXEC_VECTX verror = vectx_close(vctx, VE_MUST, __func__); if (verror) { From nobody Tue Jan 24 22:10:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3x52hBz3bf3M; Tue, 24 Jan 2023 22:10: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 4P1h3x3q7Yz4Jxn; Tue, 24 Jan 2023 22:10:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CDSoiyqHmzWUk5t4E7OCbm7LUmhtN5mInsQSC0BloYw=; b=NtNqzeyXO4FB4+1F8owmY2bbmm5QE6lWhQUD3+o9c0Q3TESgFr5hg773aIm3jYDgq647a7 xvXow1k3jNIJ/qNgz+9bth5oquVwAkRkdaOWXGu5IxBLQAyzxDaTwYwFmiidxPFv8H6P4G KUARqeWz7hDkdPAtCv2WCrZtWFMfwcz6foczpDsI5fY9szUcZ9laOFlIDwSMktiDIQrESO 4JeointhAN+N/fb6O9daty39iEsfc+UEvw34slbGc/a+FDx6NkSrnDdK1uqUKCeRXkGvke llsmSCpUKXLfqW7wvc+0TXKHQ3j0jdrp9VUNKVW3nlRLznjs5Xj4X3vZTUJ2tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CDSoiyqHmzWUk5t4E7OCbm7LUmhtN5mInsQSC0BloYw=; b=k9mge9IWFiy1sdADAZJpYSsbgmDB9pQr2ubLhimwl/ckOMD4IjUic/Z806PO9iLI3T3+3W sXQ28T/yECsEC+ZAE+XzVi/jvl6wQRAarFP5YWPlNKFtIaIznwluOlStnFWa1O6f8WZISv Qw2NTJ9e7tVgND0QUWorvTcp3ZBnQQ/KUK3AOV+jFsrC7xRSGHs6ZLWtrJB4Ai1GHoA8oc zgIix6MOHZ2P8dqmIuS7axMHHKeux26FGuZ4VRG68uzgdYFTE9w3n8zkBXsGHx10B+SFi9 RKv/b1N2OOv/dX0KfpFv4yeVXhZkdsECJ3pkzPKHmpywrW4Va8EAZ8cZBg66Ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598221; a=rsa-sha256; cv=none; b=maqCunryRhmMkUC3khsRZuYwOW9bQ9V3rOUyQo8unTdyLZdNu/WfsoGY1k+iiGbact+2Sk OFhs7U2vGOVFdyByRDiUIDiNcKOyZD7LlCa/I1eq7piZaFNRo+nHC0PvBGNubBGeWoQGWS 3AhRVV73wfKCDd1ejiLm4KcyLTse0m9OgcgHALxcDVD6P7R5TI90kGUr785fKBLZegRDzl m25OCMrNN/HCGbm/BuMrjfDMGFS/fjas7U1M5sBLOJBVvxmqZSmsauB+kzAED9348Kuh0F K1JF+7HC7nSzyX7GLVGxHCzDlPooMEtRMceSAgwieZKWeY9rdXqoDvHTz7HudA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3x2x7MzQQv; Tue, 24 Jan 2023 22:10:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMALDC079931; Tue, 24 Jan 2023 22:10:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMALqD079930; Tue, 24 Jan 2023 22:10:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:21 GMT Message-Id: <202301242210.30OMALqD079930@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: 6a930269fc76 - stable/13 - Handle MODULE_VERBOSE_TWIDDLE in module_verbose_set List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6a930269fc7667c931bafe889807c003f182dd73 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6a930269fc7667c931bafe889807c003f182dd73 commit 6a930269fc7667c931bafe889807c003f182dd73 Author: Simon J. Gerraty AuthorDate: 2022-02-24 05:26:41 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 Handle MODULE_VERBOSE_TWIDDLE in module_verbose_set If module_verbose is set to a value below MODULE_VERBOSE_TWIDDLE call twiddle_divisor(UINT_MAX). This makes more sense here than when we are loading the kernel. Sponsored by: Juniper Networks, Inc. (cherry picked from commit e6925175174b1a7d7b5aef035ec684b2d5f628b9) --- stand/common/console.c | 5 +++++ stand/common/load_elf.c | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stand/common/console.c b/stand/common/console.c index 08d0dc40e3a9..0e8afb477ee8 100644 --- a/stand/common/console.c +++ b/stand/common/console.c @@ -27,6 +27,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include @@ -58,6 +59,10 @@ module_verbose_set(struct env_var *ev, int flags, const void *value) return (CMD_ERROR); } module_verbose = (int)v; + if (module_verbose < MODULE_VERBOSE_TWIDDLE) { + /* A hack for now; we do not want twiddling */ + twiddle_divisor(UINT_MAX); + } env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); return (CMD_OK); diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index 99ebace012ea..363da4756c1d 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -469,11 +469,6 @@ __elfN(loadfile_raw)(char *filename, uint64_t dest, } else if (module_verbose > MODULE_VERBOSE_SILENT) printf("%s ", filename); - if (module_verbose < MODULE_VERBOSE_TWIDDLE) { - /* A hack for now; we do not want twiddling */ - twiddle_divisor(UINT_MAX); - } - fp->f_size = __elfN(loadimage)(fp, &ef, dest); if (fp->f_size == 0 || fp->f_addr == 0) goto ioerr; From nobody Tue Jan 24 22:10:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h3y54Ghz3bdsh; Tue, 24 Jan 2023 22:10: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 4P1h3y4W9fz4JhK; Tue, 24 Jan 2023 22:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D2T9zWR/7hpOIZcqu49VCvbvBo8pE7Aepnz4yqCgR2U=; b=Ec0eE0JblQpR5BUiuqE05ll4GuiZNYTjMpiuGBVxW0nxFBpmSJFUBBb1zrD0o+N1lxjlP6 mrqBUZeI9DX7VAKfItlUKo+EKDCUVb5Bwj6Fm/YY90PE6v0qJemhZvWtx8nITK7UHVwzav cyVj4xj/ArxddqZxTPd4wZdw9CAwk2DiEhQVFqb9hB/zdhUVWNq7dz/b5fWJ+ZoppPgIg0 N6cjw+rtWq+OSfCqYpyBJvzczTJe+PaibBszUJbEbjKs7qLAW9rcCrUChv+4n6JSne2lkR 8Npj9ysEyTjTJVlY5bN/c9gh3gUUMGrmYRGTdH2ThGxMCbcw4LHmF8Wow2noQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D2T9zWR/7hpOIZcqu49VCvbvBo8pE7Aepnz4yqCgR2U=; b=YdBqkW3YVKFMdLINvDSj87lAzl2tuxG1RJ0vhz2oE+00v4COcyrcFxjtGoVT+ACmAV4xQd tmkxRvUUmTi9x3e7+WI1EOk7v+KLb6GSSubdEpqdTETnHc6blEPIcD20zFlSpWEDiU/hn9 Ap6E3irC2SMe5+51REaSsId0RTaYAC6R7W/RkT0oCD/43vP0yrgyPDMxjP9BAAVoX0ZO8H zF2nCKBz2nTKooc06CJcHsqtGzxtHs8ybGdVRaL6v917RVo7XGQD9PbvptyO/uo22xnfth cSS72w+hwHt5SdlIQc9BekNYmQwU+rEbHppyJirQmKb4EqWk+1h62CimT1QzJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598222; a=rsa-sha256; cv=none; b=d4GJzeY9Jh6R33bukBPhYk6WQf9FOJUwldyTngX0osviBiOjx5BFz2P3djxgDxLMWfduAD BA15uJedPe5jxpB0rKnCcEew4idgtWqD0svY99mMtts5vXNlgRYBmSTBxK3DD+enMKdUQA UUgdOlU+/fh+xpZxuoajHHA8uzxWPfFQ9cTzoSjQXkTih7ip8wQ0+PImLYAtjRPmCe3wSS 2xNSxzREPKctOBhFCQFMY02iaScCXL1bJqIgDnBKXYWQUGgVDm3U36fhC28oOgLud7quV7 B/EjDXcNm9uaXwORQRpCS+DU41hDwqfjyXN01rSYT8MQ7T7aqrOzcDUvkZF8uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3y3cq3zQ1H; Tue, 24 Jan 2023 22:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAMHV079961; Tue, 24 Jan 2023 22:10:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAM2U079960; Tue, 24 Jan 2023 22:10:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:22 GMT Message-Id: <202301242210.30OMAM2U079960@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: 60674a084382 - stable/13 - stand/usb: Fix build by declaring missing functions and types. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 60674a0843826151cfc71b9a22ada77a6fd51d9f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=60674a0843826151cfc71b9a22ada77a6fd51d9f commit 60674a0843826151cfc71b9a22ada77a6fd51d9f Author: Hans Petter Selasky AuthorDate: 2022-03-17 14:14:17 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 stand/usb: Fix build by declaring missing functions and types. MFC after: 1 week Sponsored by: NVIDIA Networking (cherry picked from commit a85ff2114ccb751546f81ceb6b6d3244235363a1) --- stand/kshim/bsd_kernel.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/stand/kshim/bsd_kernel.h b/stand/kshim/bsd_kernel.h index 808b1b078db5..a5653667da53 100644 --- a/stand/kshim/bsd_kernel.h +++ b/stand/kshim/bsd_kernel.h @@ -366,6 +366,7 @@ struct devclass; struct device; struct module; struct module_data; +struct sbuf; typedef struct driver driver_t; typedef struct devclass *devclass_t; @@ -387,6 +388,12 @@ typedef int gpio_pin_setflags_t (device_t dev, uint32_t, uint32_t); typedef int bus_child_location_str_t (device_t parent, device_t child, char *buf, size_t buflen); typedef int bus_child_pnpinfo_str_t (device_t parent, device_t child, char *buf, size_t buflen); +typedef int bus_child_location_t (device_t parent, device_t child, struct sbuf *); +typedef int bus_child_pnpinfo_t (device_t parent, device_t child, struct sbuf *); +typedef int bus_get_device_path_t (device_t bus, device_t child, const char *locator, struct sbuf *sb); + +#define bus_generic_get_device_path(...) EOPNOTSUPP + typedef void bus_driver_added_t (device_t dev, driver_t *driver); struct device_method { @@ -472,7 +479,10 @@ int devclass_get_maxunit(devclass_t dc); device_t devclass_get_device(devclass_t dc, int unit); devclass_t devclass_find(const char *classname); +#define BUS_LOCATOR_UEFI "UEFI" #define bus_get_dma_tag(...) (NULL) +#define bus_topo_lock(...) mtx_lock(&Giant) +#define bus_topo_unlock(...) mtx_unlock(&Giant) int bus_generic_detach(device_t dev); int bus_generic_resume(device_t dev); int bus_generic_shutdown(device_t dev); @@ -517,6 +527,7 @@ int memcmp(const void *, const void *, size_t len); int printf(const char *,...) __printflike(1, 2); int snprintf(char *restrict str, size_t size, const char *restrict format,...) __printflike(3, 4); size_t strlen(const char *s); +int strcmp(const char *, const char *); /* MALLOC API */ @@ -701,4 +712,7 @@ int bus_dmamap_load(bus_dma_tag_t, bus_dmamap_t, void *buf, void bus_dmamap_unload(bus_dma_tag_t, bus_dmamap_t); void bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, int flags); +/* SBUF */ +#define sbuf_printf(...) do { } while (0) + #endif /* _BSD_KERNEL_H_ */ From nobody Tue Jan 24 22:10:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h400lWdz3bdsj; Tue, 24 Jan 2023 22:10: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 4P1h3z5lRyz4K21; Tue, 24 Jan 2023 22:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vsf+6CLETYPvn8MA+9bF3dEAVts7Y9tqYgR/h6P1Xtg=; b=PqwMFeFS1uvtmvDst6Qq9oTbxQWBIaHRqbHJTbeDNVHafRL+BE4PmhptbeuBLzcM7fGtol 2Zp4RPFxmZI0v2WEiJszBxFar5Pv2njN505A3UQUq8LXYWyo3u4MauFypxnq/HO4qOaZY+ pYWuSBvJa/aUta/DhRuNr5JHskCDEWZ9xMBdv7xDX1xMshPvL6Mgxf8fhNvohEL4XCpJaw APsS29k7Gg8Eg8+nSHJWxO63yPaYZOa/cTlIFEA/ubnCtGtcgACxWsLPC7hAdpug096Eov vy8QZEg4VVGX8x3hIsGgXMTukNZ/9v2hcWWQEOrEXdpUoWFCY32U/h8VHpJQzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vsf+6CLETYPvn8MA+9bF3dEAVts7Y9tqYgR/h6P1Xtg=; b=lMNikiVoRp7vZOcD2lplSZjoy/u8GsR+QoefczulYpBLLKaCH0xBFpxcjeuDQuHb/2aA2D yTdYYqKBhFU0iduXIKsS+w/Y/HDzLs1Ekdz6rcUJNOp4GJvFVfMrMC1e2C594hndfkkK/M aDW8dhfyQpvgOlW9nLEERI7x+DlccblGlalplGlaNHvEkCjgKNlPDvKkS+KpPDWlkH82Zj 5Cd70UX7mFAumEn20L3Qi1PhuabttjmUleMI55PrDGRdG1Y45xWQLJtTsXnaQO0S/lsNpD 1+PcjCBwdgeURzrO9gQgl7cQAq+E4Ao3TKqUTauTLGD/s3aAdT1j+8pbapydGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598223; a=rsa-sha256; cv=none; b=q6wtOBlx7FGRyGnseVVfp055OQtJ14OeR9mstAk5pNRcEaiDAGSJ4zjDPylM4PeAeXJ0SM aYsEYIVPB5nUxWNWtoceUiw6vrE2Aw7XhRZfkLeRcAoAHq4mHNKisdw+3bJu5QpJaEN//V oBGcybj9BMlUVrlWVC83q5MmCLyaOF45OmPt9W0B2uY1+AgbI3AESOe9wEtZ7neF6Yhoqs ez6ai7MK/gTPQzG2GBD+/2SeshFi1oujHb41KbLo4CME+RXyU1+aXmiYySxBZQgqmy4b/x qDbEaV5fbJR8wYZgzx205cPnfi3jSMqrnUIQut6ZJhl9lK609uEHgB5lypmZaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h3z4s0KzQQw; Tue, 24 Jan 2023 22:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMANcL079985; Tue, 24 Jan 2023 22:10:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMANuv079984; Tue, 24 Jan 2023 22:10:23 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:23 GMT Message-Id: <202301242210.30OMANuv079984@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: 42c06afe2ce8 - stable/13 - powerpc64: Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 42c06afe2ce804852e8ed609b7cd5200038ead13 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=42c06afe2ce804852e8ed609b7cd5200038ead13 commit 42c06afe2ce804852e8ed609b7cd5200038ead13 Author: Gordon Bergling AuthorDate: 2022-04-02 08:56:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 powerpc64: Fix a typo in a source code comment - s/converion/conversion/ MFC after: 3 days (cherry picked from commit 2d62a8653d89f5456f1cdb9004cab6fda3156e44) --- stand/kboot/arch/powerpc64/host_syscall.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kboot/arch/powerpc64/host_syscall.S b/stand/kboot/arch/powerpc64/host_syscall.S index 729bc6baa082..f9108065ebfa 100644 --- a/stand/kboot/arch/powerpc64/host_syscall.S +++ b/stand/kboot/arch/powerpc64/host_syscall.S @@ -13,7 +13,7 @@ * arguments to system calls in Linux. * * We expose the raw system call result, rather than do the POSIX - * converion to -1 and setting errno. + * conversion to -1 and setting errno. * * Note: The code this replaced used bso to set %r3 to 0 for the read and * open system calls for reasons that are still under investigation. From nobody Tue Jan 24 22:10:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4114vDz3bdqj; Tue, 24 Jan 2023 22:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h4103YLz4K8K; Tue, 24 Jan 2023 22:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0NUxMrCW6Ori6U4PvdWEoJPUjh/G1aY9+2WSYb7Pc4=; b=m9rTpTw1ON+YNp/Sc6TLpCsoR5jVz83w5KcypIfwfh6WglgoWRvoDjk0+zvMlo8YKEh8dA rmcnTwABt2kIKEwQRxEj7ulm75u7PMGx1LFzf7KVHjygwU5HKQ0fvY2d86ejSNY6HLpGR/ b8o0djGqt0NsUqbpmixLSsmJtAFjxjPNFv4LYywGTjzyPVEsPBDCLjlAU5E1GKAsP8RRkM 1XSqpWvkW84GczB3+IQJDnWekZyYny5Y0KCzqNyEB/P5LrOLDrqXn5aRnAM1gGP7nX6idN ybwACUTZK3ubHidTndFXf14CY+UfMC2/yNXbsSHxkcfJ25XFlh+T+H2EQS3umA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0NUxMrCW6Ori6U4PvdWEoJPUjh/G1aY9+2WSYb7Pc4=; b=B4gkopVwAKHD0Z/wwxzbs/Sb25wL7EsRsfKdpkfHQ2YuBaFIDqbxPYgg1pAZoHu7DcCVgv wDBX+sARgihekrEkri1zbyvTMyD11Ks4IViy+JJxyQXM4BezDbrb0qCPES5X+H0M4vEYYq EO2V5R9OTCx7s/zdteuAOEpoWo9w9bTY615gP888Mw55fOL8oBnqMRAoLD7R3DZKaQ5tGn GUHCdAAcbvqm4TEMBuWyGCCC/jg8v87mPZUcWOsV0UizH3B1PHNrp4TS0fqe2J14Fu6d74 /XUATcJzTdU+e0Du5rgrJCMLzS1QsvDkkn5eu6L8UYWVoXXpuOgGXDQr0iB1+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598225; a=rsa-sha256; cv=none; b=UXDAKzhbW6hqEi9dXLXhxmk5HFU1uYc8x8TazxSD8/WO6PI7b7kRBgRO4RD/bGXA22B5L/ UWDh7/U6aO7fTzj3bJZHMbbCBooOqxoWYP+z5kJToPzXrK2pNLwYUsvZMCiZV9I5hTIQad eevOIcgSi24AFg3IkcP3V4Zs4xxXlg+1TqklSVzOyhy7sbTzU+mhOEFLvYgf5aQ76MoSct j3We2EkgORftvw0D0K2LjwNnPuEDOLs+LOkPYV9zzCxX5EYAoSznhWSTfTQLJUCiSiEw+k T6M7OwJhS5+KvqORZT/3gePC7j/spwHEImw5/jN32pO0DykrD/mtuw9bz+BJlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h405f80zQWd; Tue, 24 Jan 2023 22:10:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAOlX080009; Tue, 24 Jan 2023 22:10:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAO79080008; Tue, 24 Jan 2023 22:10:24 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:24 GMT Message-Id: <202301242210.30OMAO79080008@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: 85984ee98c89 - stable/13 - Correct a grammo. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 85984ee98c890563302eb14f55da3a06b01690a1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=85984ee98c890563302eb14f55da3a06b01690a1 commit 85984ee98c890563302eb14f55da3a06b01690a1 Author: Jens Schweikhardt AuthorDate: 2022-04-04 09:00:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 Correct a grammo. (cherry picked from commit f7b0434d2940b40669a132bcd00cca1353193f81) --- stand/man/loader.8 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/man/loader.8 b/stand/man/loader.8 index b71ac71e16ce..aff8c14d4a59 100644 --- a/stand/man/loader.8 +++ b/stand/man/loader.8 @@ -62,7 +62,7 @@ provides three different interpreters: Forth, Lua and Simple. The Forth loader is based on an ANS Forth compatible Forth interpreter based on FICL, by .An John Sadler . -The Lua loader is includes a full Lua interpreter from +The Lua loader is a full Lua interpreter from .Pa https://www.lua.org/ . The Simple loader only interprets a list of builtin commands without any control structure. @@ -125,4 +125,3 @@ FICL was written by .An Warner Losh Aq imp@FreeBSD.org integrated Lua into the tree based on initial work done by Pedro Souza for the 2014 Google Summer of Code. - From nobody Tue Jan 24 22:10:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h421H0mz3bf1c; Tue, 24 Jan 2023 22:10:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h420KdCz4KBv; Tue, 24 Jan 2023 22:10:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQAI2MNLGON0EPE3hbyfrip1I3cOWGcdfiuLIPSVoQg=; b=cly0NedqILnVcxbmOVf2coaQvf0DD/YBafmdofra1uG2PjIbjC+S/N4iXc4yfN6VfW3EFf LPSnk2M6vf4Zx7MQ9X36PfD1sJFjzmreAHVnxD3fZGIm9kq3ELLmZQUaNf8XO+ijSaXyV7 bxPzFd8ZPaIz9ZhA2HmnMsNB2rTs6Y2p1NpjnNqihlyWuZHy0NkakOI7h+6AKNPBcoT54A SjJmR8OSRE24kqE/ivd+WRm7IldWZIwOcU2JI8JRvgo2dK0zS7iT77OPHiIizMUNNfvwmX dp02JCYrqlmd9LcshtxFyahDuYqObgor2ae5NFsGJwzqlWDHTcwcejmh6V31JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQAI2MNLGON0EPE3hbyfrip1I3cOWGcdfiuLIPSVoQg=; b=uHWhmmL9kbZ/j+I9EEm6yNo2OcDY2UL5rwA2tuPImXyeyovHuWhTjdfRVGbIbUVaUNC1/b Ix3RtRaF04uai38A3t2DmssPp0+tyjiAv46EYu+3wzipSxvqxLKeisToTv0sYsYkheQmlf Wu9KtnuzuuaFvwe90wIEDHzypwM+CS1Jq7j0rhBvudkw11onB8TlVFE/pyIaErmUT18iqU ymGmgrrSra/yXtirhg6hoLOuV9efHL3YANlasW+EmGv6tloq6mzcJsKiwLzf8W3rICKjfj nU3tnHsoLTgYtp2IC9IcrWyOrTL17+5E5Bz6tAG9M/3nXxB4Ec+nRn5pAACQpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598226; a=rsa-sha256; cv=none; b=dXeGgpT9UzALiPS1LdFwYwywup6RopzfOn3f0SrfoVqTeqttPo7fu5rUuw6gFGk7VMyYGw SGejnD+ZQQOy0oPlA4cVjIG7P/lDlYuLhK97loTP9pG18D+uTV9dWg+k3tFXCNOVtMs0XX lNsQcJX7jvnJotQDV3uPG/dfOrBzJ1bA6rLI9wdUkwpcJMv8uxCCeUcR8c0UlrFHV2g9Px 9OpuV4K7zCx8emefQaJYmA2M5p8+Oc7Z9BcBs6OuDpmT65kaQ+nQlLXk2wp7YGfDf3yYin 89sxkSbGs8cnR6rDzvr8rnaZPZqIkeggKN+NFk5NMWM5JfZ/N4kw6F8L3hsmaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h416RCZzQWf; Tue, 24 Jan 2023 22:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAPOs080033; Tue, 24 Jan 2023 22:10:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAPTM080032; Tue, 24 Jan 2023 22:10:25 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:25 GMT Message-Id: <202301242210.30OMAPTM080032@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: ffcd048288e3 - stable/13 - Correct typos and more precise wording. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ffcd048288e3cd6559a88300238e46aa2f6fe48f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ffcd048288e3cd6559a88300238e46aa2f6fe48f commit ffcd048288e3cd6559a88300238e46aa2f6fe48f Author: Jens Schweikhardt AuthorDate: 2022-04-11 18:15:12 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:20 +0000 Correct typos and more precise wording. (cherry picked from commit 67f5810e07ca131503824a92e6cdeb7e1fdb93e8) --- stand/man/loader_lua.8 | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/stand/man/loader_lua.8 b/stand/man/loader_lua.8 index 32085748bf1c..3bc7985ea00a 100644 --- a/stand/man/loader_lua.8 +++ b/stand/man/loader_lua.8 @@ -53,16 +53,16 @@ The smaller one is a set of commands designed for direct use by the casual user, called "builtin commands" for historical reasons. The main drive behind these commands is user-friendliness. -The bigger component is the Lua interpter. +The bigger component is the Lua interpreter. .Pp During initialization, .Nm -will probe for a console and set the +probes for a console and set the .Va console variable, or set it to serial console .Pq Dq Li comconsole if the previous boot stage used that. -If multiple consoles are selected, they will be listed separated by spaces. +If multiple consoles are selected, they are listed separated by spaces. Then, devices are probed, .Va currdev and @@ -85,26 +85,25 @@ is not set to .Dq Li NO (not case sensitive), then an .Ic autoboot -will be tried. +is attempted. If the system gets past this point, .Va prompt -will be set and +is set and .Nm -will engage interactive mode. -Please note that historically even when +enters interactive mode. +Please note that, historically, even when .Va autoboot_delay is set to -.Dq Li 0 -user will be able to interrupt autoboot process by pressing some key -on the console while kernel and modules are being loaded. -In some -cases such behaviour may be undesirable, to prevent it set +.Dq Li 0 , +the user can interrupt the autoboot process by pressing a key +on the console while the kernel and modules are being loaded. +To prevent this set .Va autoboot_delay to -.Dq Li -1 , -in this case +.Dq Li -1 . +In this case .Nm -will engage interactive mode only if +enters interactive mode only if .Ic autoboot has failed. .Sh BUILTIN COMMANDS @@ -115,10 +114,10 @@ Presently, the only way to call them from a script is by using .Pa evaluate on a string. -If an error condition occurs, an exception will be generated, +If an error condition occurs, an exception is generated, which can be intercepted using Lua exception handling. -If not intercepted, an error message will be displayed and -the interpreter's state will be reset, emptying the stack and restoring +If not intercepted, an error message is displayed and +the interpreter's state is reset, emptying the stack and restoring interpreting mode. .Pp The commands are described in the @@ -181,7 +180,7 @@ If MD available, a file system can be embedded into the .Nm with .Pa /sys/tools/embed_mfs.sh . -Then, MD will be probed and be set to +Then, MD is probed and be set to .Va currdev during initialization. .Pp From nobody Tue Jan 24 22:10:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h432pJRz3bf1f; Tue, 24 Jan 2023 22:10: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 4P1h431SJrz4KCX; Tue, 24 Jan 2023 22:10:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uKQOAnZEZyIGIx2zK+A3P05pRGtQPcEekB8VcPBHG90=; b=L81F8b3UfDJ0wvJ6kXTpcu5Lr7jF5Q1LTnWnxE/G0fUpuEPrtCo+tzjDLzCygBRBe6DPES fU6UrotODtas3vpHmOTyIRWflWyg62BQ8PmPDxxYwcD6DPZk1sstnEt1lmp0JP3jbsQl0R NRLl9jf2gR8QGTXe5xLCVmncrBnUr4rC81BVtX6WpYPh7xStYFPpBF4Pl4fGNyRvFxKNHK Gj22Im1jo5WIc7jB04d6NNjH15UsbjQRTSjgogYX9jCuQU/mkCSLnYbxLQaU8tPqsfv2er mF8bi2JAtV4yZJv+tvToKUNfPcICygdayCYvILTHcphrXbjBWUwVA9e8d6QqzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uKQOAnZEZyIGIx2zK+A3P05pRGtQPcEekB8VcPBHG90=; b=EezsXod4jy7LWRNlGDE1/8/BzLsayVubwarD3WpZShMAWIqUn22+VY+FhWqCg7HxUfA1Hp M+pLXJtLSBx6ieYgFM5KKjz8eC5IoJCsgWBdz41FpND4p7ZQtE6SFL0332RDF5upL1jfPS FdylBSr5P7zW7z3kqJklUTk2u9nYBW8bRdLjeiAYFFIHITLFWF0XqByS9Vw6w+jsPv13+H X3RmbKVmCQ7yub2ozr7nKlb+nsEUYeMblWmy40c3513mQBb9Yd3r0oAnG9dx/Z+rsiTjfQ 5Un9LadYDYXSaH5k0of92A4O1QoFCkBCMY0W7S7XzI6nneFPi0e/zkONhDhEvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598227; a=rsa-sha256; cv=none; b=j7y02w5tUtp4/LFknkOenppYBQ5T5rT6rNSWeczBDNDR/mHPIBCaR1Nadajo1kJpPhfVwC nMNvwTKoBAP7GCEsW/jDMWL1iZWPhoUdTVKrp7SKhwANwzZnrdm5hCOVslFvyV075g4a4N 0FCwXnpUnRdCqYrwDVXsSHM9LdY0joFs4m9wivCU7rZU3X0ZrXzYhR636kYFNXBwMwUJ8P KW6nBiApwIQtX8Qu9munr0D96dewb3TV284ifg2fhJOwzJ6GBbTUSqaU+NSsOnRCSnpUnv UUjluu0OHyRJe38Ej5HeiJay+OHwH5I38hoigaz3pD6nr1UPq4j5a+XTP4+EEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h430TqXzQTD; Tue, 24 Jan 2023 22:10:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAQth080063; Tue, 24 Jan 2023 22:10:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAQ1j080062; Tue, 24 Jan 2023 22:10:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:26 GMT Message-Id: <202301242210.30OMAQ1j080062@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: 4256125ba445 - stable/13 - Clean up some grammos I left behind. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4256125ba445e8702dd0894814daa5c7ac59e07d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4256125ba445e8702dd0894814daa5c7ac59e07d commit 4256125ba445e8702dd0894814daa5c7ac59e07d Author: Jens Schweikhardt AuthorDate: 2022-04-11 18:24:11 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 Clean up some grammos I left behind. (cherry picked from commit 8e458a431eb6824c18e90b9a51737c82a686d656) --- stand/man/loader_lua.8 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/stand/man/loader_lua.8 b/stand/man/loader_lua.8 index 3bc7985ea00a..adf2bca6be14 100644 --- a/stand/man/loader_lua.8 +++ b/stand/man/loader_lua.8 @@ -57,9 +57,9 @@ The bigger component is the Lua interpreter. .Pp During initialization, .Nm -probes for a console and set the +probes for a console and sets the .Va console -variable, or set it to serial console +variable, or sets it to serial console .Pq Dq Li comconsole if the previous boot stage used that. If multiple consoles are selected, they are listed separated by spaces. @@ -79,11 +79,11 @@ is processed if available. .Pp At this point, if an .Ic autoboot -has not been tried, and if +has not been attempted, and if .Va autoboot_delay is not set to .Dq Li NO -(not case sensitive), then an +(case insensitive), then an .Ic autoboot is attempted. If the system gets past this point, @@ -131,7 +131,7 @@ The environment variables common to all interpreters are described in the section. .Ss BUILTIN PARSER When a builtin command is executed, the rest of the line is taken -by it as arguments, and it is processed by a special parser which +as arguments, and it is processed by a special parser which is not used for regular Lua commands. .Sh SECURITY Access to the @@ -147,7 +147,7 @@ or .Va loaddev variables .It -Executing binary of choice, by setting the +Executing a binary of choice, by setting the .Va init_path or .Va init_script @@ -180,7 +180,7 @@ If MD available, a file system can be embedded into the .Nm with .Pa /sys/tools/embed_mfs.sh . -Then, MD is probed and be set to +Then, MD is probed and set to .Va currdev during initialization. .Pp From nobody Tue Jan 24 22:10:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h445Xfvz3bdt6; Tue, 24 Jan 2023 22:10: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 4P1h442XN3z4KPN; Tue, 24 Jan 2023 22:10:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7puC848SBxGz2MMLiYDfjsSBlVon5YDDD0QxpvmW494=; b=jRIRKKFHdvgwI0uluu8Zm7fd0Nvq+IuHUp6Lv/ZM8+EJKH1h91C05J2Lat/SqdkaD/pYUr Ufb2I4vwKGwpfT4en7yTuLSWM02sg2o/79Ai+VmJoxMux6hgWpCaIs9jRuvxUv3/F5wDti O8Q/l/luWedP3JPPp96UhqjspMnX4nnuxd88ju9sNpzCQnHGqlnK3ucnyahRYtqTe+QuIB B5FXYX12CvqoGu54uE4x/i96kmuJUUQ5kfK1KVgDAikLsxOIy47GqGDiB9YgXnva22m2Mk zqOX4U8ZW6kDiNNjMOrgrx/3n601U/6wh4Ozya1zU3IeiwAM9idrnCCPyke58g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7puC848SBxGz2MMLiYDfjsSBlVon5YDDD0QxpvmW494=; b=XV5exjMeq2B3tr5wEsiSF/g9PTl8VpNVeJ7KMADQosEcWlCliKPiQvD49+T+r4eCFWUkZd XYukPWxUPRKHCxTQeYPXQZhJ9u3Y3sUTrTrWDo3fGKpxq5JDt5ryE3NSwKv1O+hZPeANGF 9O+7xMDlKhtWu/ao/QYcDZLv0qZLGcR612xW0ZZTWP0pgls3LK3/HzjuMcWZ10NizJlJ4o j08xOgfkT6QUsqGtwC7rnhXPGigTl37DerFWIty5J8QlzQgVIZrmbOGWdd3nb6hCXQeVtr hE6fE5v+kEMzDAiaAllAUWs0HXx1DI0/CIxnMtdQwhrsndP3baBppBsn8NkL/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598228; a=rsa-sha256; cv=none; b=ydlUE9NKmuMo2KzLVrP5e6ZQy1elDLquyvU346mIr8vcZgcJwO3m+/R1zFTVRM3eqv1f4l WJM+dhl7hGnFvmvlwyMczk26t915Zl9Op8TYvyQu00JnIcJ9LO9HiTb97cIULVj+uLkW0q QEoJ++qB3YWOgO4ePmD9kFJyXFhUP++4uttjU/766RPpOr3TYXTpNF7qewhaFlMcw7qs86 S5LH5vkTnKXnRAeDJJTT78tIinttvVyPTfroVh0KU1fAJydiSUBrpgrQ3MVctyi1+SMJ02 7/m5+DuzZrU4Z3H7s7ExtI8nu8SRnPjtKLXkY7Lm//LPEr2MQUgJKnli66sI6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h441cxyzQQy; Tue, 24 Jan 2023 22:10:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMASPM080091; Tue, 24 Jan 2023 22:10:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMASIu080090; Tue, 24 Jan 2023 22:10:28 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:28 GMT Message-Id: <202301242210.30OMASIu080090@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: 744a79a00e3f - stable/13 - stand: s/libstand/libsa/g to catch up with rename List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 744a79a00e3f7d85f303c55887631100f6015e92 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=744a79a00e3f7d85f303c55887631100f6015e92 commit 744a79a00e3f7d85f303c55887631100f6015e92 Author: Warner Losh AuthorDate: 2022-04-30 13:33:15 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 stand: s/libstand/libsa/g to catch up with rename We renamed libstand to libsa years ago with the move from sys/boot to stand. Catch up in the comments. Sponsored by: Netflix (cherry picked from commit bd001d86d679e10d179ef00b9866f0e65b6fa7fd) --- stand/efi/boot1/Makefile | 2 +- stand/efi/libefi/wchar.c | 2 +- stand/i386/libi386/time.c | 2 +- stand/i386/loader/conf.c | 2 +- stand/kboot/arch/powerpc64/conf.c | 2 +- stand/libsa/stand.h | 4 ++-- stand/libsa/zfs/zstd_shim.c | 2 +- stand/powerpc/ofw/conf.c | 2 +- stand/uboot/arch/powerpc/conf.c | 2 +- stand/userboot/userboot/conf.c | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/stand/efi/boot1/Makefile b/stand/efi/boot1/Makefile index 7e3d762c768d..daedc627e5dc 100644 --- a/stand/efi/boot1/Makefile +++ b/stand/efi/boot1/Makefile @@ -82,7 +82,7 @@ LDFLAGS+= -Wl,-znocombreloc LIBEFI= ${BOOTOBJ}/efi/libefi/libefi.a # -# Add libstand for the runtime functions used by the compiler - for example +# Add libsa for the runtime functions used by the compiler - for example # __aeabi_* (arm) or __divdi3 (i386). # as well as required string and memory functions for all platforms. # diff --git a/stand/efi/libefi/wchar.c b/stand/efi/libefi/wchar.c index 0a2b96b64f45..d0c653514366 100644 --- a/stand/efi/libefi/wchar.c +++ b/stand/efi/libefi/wchar.c @@ -31,7 +31,7 @@ __FBSDID("$FreeBSD$"); /* * CHAR16 related functions moved from loader. - * Perhaps we should move those to libstand afterall, but they are + * Perhaps we should move those to libsa afterall, but they are * needed only by UEFI. */ diff --git a/stand/i386/libi386/time.c b/stand/i386/libi386/time.c index 7636ace5ff94..5b8a9c9017a7 100644 --- a/stand/i386/libi386/time.c +++ b/stand/i386/libi386/time.c @@ -38,7 +38,7 @@ static int bios_seconds(void); /* * Return the BIOS time-of-day value. * - * XXX uses undocumented BCD support from libstand. + * XXX uses undocumented BCD support from libsa. */ static int bios_seconds(void) diff --git a/stand/i386/loader/conf.c b/stand/i386/loader/conf.c index c70a53d4191a..35052b5423cd 100644 --- a/stand/i386/loader/conf.c +++ b/stand/i386/loader/conf.c @@ -50,7 +50,7 @@ extern struct devsw fwohci; #endif extern struct devsw vdisk_dev; -/* Exported for libstand */ +/* Exported for libsa */ struct devsw *devsw[] = { &biosfd, &bioscd, diff --git a/stand/kboot/arch/powerpc64/conf.c b/stand/kboot/arch/powerpc64/conf.c index 22562e898ef1..9862611c68d8 100644 --- a/stand/kboot/arch/powerpc64/conf.c +++ b/stand/kboot/arch/powerpc64/conf.c @@ -45,7 +45,7 @@ extern struct devsw hostdisk; * XXX rename these arrays to be consistent and less namespace-hostile */ -/* Exported for libstand */ +/* Exported for libsa */ struct devsw *devsw[] = { #if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) &hostdisk, diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 99b55e2282e4..097d8ba28d0b 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -117,7 +117,7 @@ struct fs_ops { }; /* - * libstand-supplied filesystems + * libsa-supplied filesystems */ extern struct fs_ops ufs_fsops; extern struct fs_ops tftp_fsops; @@ -159,7 +159,7 @@ struct devsw { }; /* - * libstand-supplied device switch + * libsa-supplied device switch */ extern struct devsw netdev; diff --git a/stand/libsa/zfs/zstd_shim.c b/stand/libsa/zfs/zstd_shim.c index 91f5171a72b5..b1ba4babcf36 100644 --- a/stand/libsa/zfs/zstd_shim.c +++ b/stand/libsa/zfs/zstd_shim.c @@ -28,7 +28,7 @@ __FBSDID("$FreeBSD$"); /* * Small amount of shim code needed to get zfs_zstd.c to compile. These items - * here should all be defined in the SPL or as part of libstand somewhere, but + * here should all be defined in the SPL or as part of libsa somewhere, but * aren't for reasons that haven't been tracked down yet. Ideally, they would * all go away and we'd compile zfs_zstd.c directly. Based on an original by * Matt Macey, but only the #include remains untouched from that. diff --git a/stand/powerpc/ofw/conf.c b/stand/powerpc/ofw/conf.c index a7ac892e71fc..a472faeed97b 100644 --- a/stand/powerpc/ofw/conf.c +++ b/stand/powerpc/ofw/conf.c @@ -48,7 +48,7 @@ void (*exitfn)(int) = exit; * XXX rename these arrays to be consistent and less namespace-hostile */ -/* Exported for libstand */ +/* Exported for libsa */ struct devsw *devsw[] = { #if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) &ofwdisk, diff --git a/stand/uboot/arch/powerpc/conf.c b/stand/uboot/arch/powerpc/conf.c index 49658a47cbd4..1ace9b5e53de 100644 --- a/stand/uboot/arch/powerpc/conf.c +++ b/stand/uboot/arch/powerpc/conf.c @@ -47,7 +47,7 @@ void (*exitfn)(int) = exit; * XXX rename these arrays to be consistent and less namespace-hostile */ -/* Exported for libstand */ +/* Exported for libsa */ struct devsw *devsw[] = { #if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) &uboot_storage, diff --git a/stand/userboot/userboot/conf.c b/stand/userboot/userboot/conf.c index 1846b9b74e3f..066c2aa87492 100644 --- a/stand/userboot/userboot/conf.c +++ b/stand/userboot/userboot/conf.c @@ -53,7 +53,7 @@ extern struct devsw vdisk_dev; * XXX rename these arrays to be consistent and less namespace-hostile */ -/* Exported for libstand */ +/* Exported for libsa */ struct devsw *devsw[] = { &host_dev, &userboot_disk, From nobody Tue Jan 24 22:10:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h454JG3z3bf60; Tue, 24 Jan 2023 22:10: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 4P1h453hbsz4KMN; Tue, 24 Jan 2023 22:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CpBjgZQQ78QR9jBr6ltKLnoPckZiS1RsgiCipeBoZDw=; b=mjiWvTgjq/vXKB0wgeC/qL5EguNaZ1Rmlk0ibn6nfSIV7sLr9ch8nC1VFwzIrN9mYanhHG Om83Uids7Ws0+CWbwC0SIIvXyWnkkBoHfAHDv/op2QNMDYv3R49HCvfQg3jiJTwh3HjuVi r22Se5k6hjQlOEht3mbaTCm7YKVeNMNGaPwcn362C4HEs559Q5EMlHhbrz03bk7481jcIZ TW0dueXVZY8L6SSvhQMgfnLVcx+qPjp4x78U87O3RTcujn8xXl0aveHqSB34Jxrg6065hC bopxknPRfEin6RuWstnF6KHlbrU/aRDmyHjXJ7jROrZ8jtGND4JFXnY+jwc8tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CpBjgZQQ78QR9jBr6ltKLnoPckZiS1RsgiCipeBoZDw=; b=ecxAHrP7glQxcYj3eA8vKE/hkcQvvbsN37ZV/xwVzqDpU5XLuo4dL27gj4wZGOxdluuTnq Tn61q8XQ0qR7ldh8jck1AthnlZrvPs7ydfo7DWKw3nsljEPJaLB0gXcHLwJDBFxbTrCzo9 7o9+GXmYQF5iGmS5Y6NlFBTjOZQRSewvg2tAg63I4Hui3b16T+5+Fk4+RtOdK0An/Og6sS 6GHxxXEqNNDPV4E2hEphYZRGkb93ZS0nXOdrzXYjgAcxGiMvRHqd1jJlp058zJur6OQHlv q0WBUwa1zXK2GXvbDNmPnkRg0oT1/TvEk707uptMaalW6tKP9ihsIOZYokTC+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598229; a=rsa-sha256; cv=none; b=fCOQY70R5gfB83jlRwwRm3Pt6dAg5UQ+aMQWQc5OcOK85rm6hQwjaGVptWmEElqK1b8//n grc5tS0jCFjnfh7Ur9FHKu2j/TF8X9j0I+6kFtwqFGRGDMoCsn0fibZRib3c1nFVywoUjG txV0MpOwvtNdZQJhCCtCiTyPCK2gOogLJqoWhxGUn5PNWOAMI47Dr4efiuAbcxDFsZDQIC frlCYa0g70kLS2YWp1ujSepdIm4DpCMXJPknB2ewHxX2kS7EbC7CThRGeIespMcII4ZH3g Rxcoc5IsKXI6luqbj1cdsTlIYkBvtbFu23pliwTrd0LP4pcFlRT229VkTSTPNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h452XBkzQ1M; Tue, 24 Jan 2023 22:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAT6Y080115; Tue, 24 Jan 2023 22:10:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMATXV080114; Tue, 24 Jan 2023 22:10:29 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:29 GMT Message-Id: <202301242210.30OMATXV080114@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: 33fe72214aee - stable/13 - stand: Change libstand.3 to libsa.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 33fe72214aee8369acb193ffa98f734e8fa89e87 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=33fe72214aee8369acb193ffa98f734e8fa89e87 commit 33fe72214aee8369acb193ffa98f734e8fa89e87 Author: Warner Losh AuthorDate: 2022-04-30 14:07:52 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 stand: Change libstand.3 to libsa.3 Changes instances of the non-existant libstand.3 to the more correct, but also non-existant libsa.3. Sponsored by: Netflix (cherry picked from commit 11f49259c88ed4c110eefe89fa3862ef419b4150) --- stand/man/loader.8 | 2 +- stand/man/loader_4th.8 | 4 ++-- stand/man/loader_lua.8 | 4 ++-- stand/man/loader_simp.8 | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/stand/man/loader.8 b/stand/man/loader.8 index aff8c14d4a59..7e652a536b21 100644 --- a/stand/man/loader.8 +++ b/stand/man/loader.8 @@ -94,7 +94,7 @@ The environment variables common to all interpreters are described in the .Dq BUILTIN ENVIRONMENT VARIABLES section. .Sh SEE ALSO -.Xr libstand 3 , +.Xr libsa 3 , .Xr loader.conf 5 , .Xr tuning 7 , .Xr boot 8 , diff --git a/stand/man/loader_4th.8 b/stand/man/loader_4th.8 index d6d4d9329882..868e70d180d2 100644 --- a/stand/man/loader_4th.8 +++ b/stand/man/loader_4th.8 @@ -40,7 +40,7 @@ On IA32 (i386) architectures, it is a .Pa BTX client. It is linked statically to -.Xr libstand 3 +.Xr libsa 3 and usually located in the directory .Pa /boot . .Pp @@ -530,7 +530,7 @@ executed. Unspecified error. .El .Sh SEE ALSO -.Xr libstand 3 , +.Xr libsa 3 , .Xr loader.conf 5 , .Xr tuning 7 , .Xr boot 8 , diff --git a/stand/man/loader_lua.8 b/stand/man/loader_lua.8 index adf2bca6be14..1432000c4b53 100644 --- a/stand/man/loader_lua.8 +++ b/stand/man/loader_lua.8 @@ -40,7 +40,7 @@ On IA32 (i386) architectures, it is a .Pa BTX client. It is linked statically to -.Xr libstand 3 +.Xr libsa 3 and usually located in the directory .Pa /boot . .Pp @@ -254,7 +254,7 @@ executed. Unspecified error. .El .Sh SEE ALSO -.Xr libstand 3 , +.Xr libsa 3 , .Xr loader.conf 5 , .Xr tuning 7 , .Xr boot 8 , diff --git a/stand/man/loader_simp.8 b/stand/man/loader_simp.8 index 389cf15f3867..ee1f5f1c3cb9 100644 --- a/stand/man/loader_simp.8 +++ b/stand/man/loader_simp.8 @@ -40,7 +40,7 @@ On IA32 (i386) architectures, it is a .Pa BTX client. It is linked statically to -.Xr libstand 3 +.Xr libsa 3 and usually located in the directory .Pa /boot . .Pp @@ -724,7 +724,7 @@ executed. Unspecified error. .El .Sh SEE ALSO -.Xr libstand 3 , +.Xr libsa 3 , .Xr loader.conf 5 , .Xr tuning 7 , .Xr boot 8 , From nobody Tue Jan 24 22:10:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4659hHz3bdt7; Tue, 24 Jan 2023 22:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h464Z4Jz4KDn; Tue, 24 Jan 2023 22:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRwpJk1MCeMOcnZJ1+Q8s76EE5yL67pLiVnEfNmZJP8=; b=XQEiRiqnuWp71UtjJxyVwPdK1U/QglsbYsUeEKZL88AYtBEr+EKyrXk96VVE4hZlAGDgPB Tf2He5VZtrVZTprCZ7lV39P49AjEzJA9whYV+RlpmPMGMm9epNztHbYxfC1B5qhjOmA/q8 NiZnSl7qw9Yluvy/dW//Ad5+vg69U4SVWRbTG+swbD193BfLnBlqlwQ2RoLsTMKYs2EkU7 36jyealMVRDekNCmiamrDUJw67lfUKOPR2/iFR/z6SF83sLw0fn/KY+0JuMrkh3B54xBrW YM9HYRNve+fypq1C9URl7m3YP/H6F05pd6Ax9WwXObgQJ7zmb/Dpghesx0agSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRwpJk1MCeMOcnZJ1+Q8s76EE5yL67pLiVnEfNmZJP8=; b=gBYj+J5uyuOtNYKvxM1P8v0FI5SgjwVkyXkPkU8NDYU1yUm6s8PDeHBTCkmF6QaZC3WSTU qbHHtl/c8glD/O11dl/S/4qbQ1KODLeZHx4+CnxA0bVcUFJM1V3/geb7W0JkS9PtlrpVP0 Ves8VzOqQ799lRF+PJwcNkPXTdGyTzwaSbt/cqm2Pn5vWB/51pjnI7SuCtz/joRX5MfprJ F43WEjBxwlL/7Re0PB09yr3XHRXrFPDrGHF3d5+fg6mOQ5F0jEOjFGRaH0quHiS2GQwVnj 6ysWZ/K+ahhVmnw/NTHaal/RHvWZc+8OJ0qUmrmIPV6gYK+j4vd6s6I0NFMjAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598230; a=rsa-sha256; cv=none; b=sW5rJ+CkANRz0RIA9TAs8iyT5czeCkAHcHtFUD6AvKoIHEwIouVgM5IKNhhPhkanNTvniy 2gKJAK0bRXf8nEfhis/J50ofhdV4GMI/sJ/QGsXKjjtzr+1raSLK7cOJDqSTZmTQe7LayN iB2+tcOu7wj++GPp7kdlEiLJFs5VXLtpmtoWVAoC3KEjNMbtWXmZHwsLd17TfYdD0E8RlT f8r+XAsC5Ph4E7xpAaO6zO7F3KG/uxKwBFKioHKLYIHUg9qrRZzlXoEEpEWSGXScxZXIkZ XQXdKU6merFENyPZOWKKmF/kezJ/aaxsRcQKyij02KGTKJkc4JWR9gS1cFX2iQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h463XP3zQTF; Tue, 24 Jan 2023 22:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAUeN080139; Tue, 24 Jan 2023 22:10:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAUff080138; Tue, 24 Jan 2023 22:10:30 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:30 GMT Message-Id: <202301242210.30OMAUff080138@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: 2b93cd564689 - stable/13 - stand: Install libsa.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2b93cd564689a941141ac1f340e837e0b9642abe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2b93cd564689a941141ac1f340e837e0b9642abe commit 2b93cd564689a941141ac1f340e837e0b9642abe Author: Warner Losh AuthorDate: 2022-04-30 18:51:19 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 stand: Install libsa.3 Turns out there is a libsa.3. It's a bit out of date, but we reference it in a number of places so we should install it. We need to do the DO32 dance because this Makefile is included twice and we don't want it installing twice. Sponsored by: Netflix (cherry picked from commit 70b5c4ff4807656307d1cb2f7193916ebab94893) --- stand/libsa/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 284aa5452fca..621747a85d0f 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -202,4 +202,8 @@ SRCS+= explicit_bzero.c crc32_libkern.c .include "${SASRC}/zfs/Makefile.inc" .endif +.if ${DO32:U0} == 0 +MAN=libsa.3 +.endif + .include From nobody Tue Jan 24 22:10:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h476kFFz3bdt8; Tue, 24 Jan 2023 22:10: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 4P1h474b1wz4KRg; Tue, 24 Jan 2023 22:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZTFzER+m2D8j0YfSDlRrPbEi8kIdoGu5j6tVLnWWgg=; b=iyCXthDREUvAQNlqEi1iimSg4etyobkQ+niNMvZtdMrHpQLMQMoq/oy9HgQHxQKfS6wwl4 D4PKnmi+VCD4A5UEkDgbU3LeET7yfSJi/lxqQ12voLmcKZPz5kquDsgdATjY1kc4uLZX58 cEnDnVP2TUPwqctcV1erKiPbzgldwg5DpohmaPIK+Ms0/gLo0FtAcoEiZ3i6eg1AmIk2zp C9wnsR3l1/1OcAm7escMSFLoqn9JkhldqRN8ym6G4uwSpTe7UErC5NpgiUc0N+ENXqkndO 45Szp29uz9zrFeABOfufAHJUJUmvA+gq5mfmMRArT2F2Vo4uGMItFO1K02dC+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZTFzER+m2D8j0YfSDlRrPbEi8kIdoGu5j6tVLnWWgg=; b=EXPXilOFwumBknk8hKhegbPDpQyV8PFFPE2xYfiuoDOizjRUm/xRXIgIbziugP18URFMID rjAviKTa0vEtJTlzE9dwybksRAp80DZ6G4dINwykBvT7hdLTaTgRWZDBXYC3nMNDMAfTQk I/c48HTpoGbnAWlmpVkxAYvYnL4PxxTRl+Cl7i7vQN3TBINYpH4d+vTB3gaGlVpxSMYOF3 k800F19dTz+8kRjdMdWSzlxanA7bdf1LojfSxOTi/AbKEMwmcWd2l9kYghUCb+4RWOJoVc s99WjlfCVcrp261mVWxKTJw1tLkb5nTOb8uoFAA5GwQP3hd2be49XS8RjKcqag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598231; a=rsa-sha256; cv=none; b=iNk/CamuWDt1/vP2Fl/xmHl2GOdtOI1an4/zeexJ2kpuBoUg6dRZBkswsWiVFloyliqJrD 6Ca/DuqStIH3wqDHikjSFzub0kMRzWYr6nI7fLu72ORADhAhbtX1wjOD23VjBgJsIToTpH WaslgBkOr3WclKxnDJBOGBJzvDJRzdZl0gWKPlVUEUTwioUNhAERRUIO3sKhUdnAk+nPpY cSphJOKiZftQuSI7JmyN4YAg3DZn6tsODKNaXadEwCxskZtSQ2ORDA4srSzSd3/tQhqIrM /BWpuO2LosYdX0DMJiU8xA4qQGJf9MYLQgdI1/oJSMc6u4EwMitqdS0jSGW6Gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h473gWYzQTG; Tue, 24 Jan 2023 22:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAV5P080163; Tue, 24 Jan 2023 22:10:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAVlQ080162; Tue, 24 Jan 2023 22:10:31 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:31 GMT Message-Id: <202301242210.30OMAVlQ080162@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: c73795f9f44a - stable/13 - stand: Initial kboot support on amd64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c73795f9f44af8c4c0546cdf6aca4f382336e498 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c73795f9f44af8c4c0546cdf6aca4f382336e498 commit c73795f9f44af8c4c0546cdf6aca4f382336e498 Author: Warner Losh AuthorDate: 2022-05-01 17:13:18 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 stand: Initial kboot support on amd64 Get amd64 compiling. However, the current kboot supports an old way of enumerating memory and the new way needs to be incorporated as well. The powerpc folks could use either, it seems and newer powerpc platforms need some changes for kboot to work anyway. This commit includes the linker script, trampoline code to start the new kernel, Linux system calls and the necessary configuration glue needed to build the binaries. This includes a quick hack to get multiboot support, but we need to really share these defines. The multiiboot2.h is the minimum needed to build. We have multiboot information in three places now, so a refactoring is in order. This should be considered, at best, preliminary and experimental for anybody wishing to try it out. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35100 (cherry picked from commit 7df08a14e3fda5d0e7f3aef523ffcc7b3fae248d) --- share/mk/src.opts.mk | 4 + stand/kboot/arch/amd64/Makefile.inc | 8 + stand/kboot/arch/amd64/amd64_tramp.S | 76 ++++++++ stand/kboot/arch/amd64/conf.c | 104 ++++++++++ stand/kboot/arch/amd64/elf64_freebsd.c | 345 +++++++++++++++++++++++++++++++++ stand/kboot/arch/amd64/host_syscall.S | 29 +++ stand/kboot/arch/amd64/ldscript.amd64 | 72 +++++++ stand/kboot/arch/amd64/multiboot2.h | 1 + stand/kboot/arch/amd64/syscall_nr.h | 15 ++ 9 files changed, 654 insertions(+) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 3fa33f936df5..fc98ce6c032b 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -316,6 +316,10 @@ BROKEN_OPTIONS+=EFI .if ${__T:Mpowerpc*} == "" BROKEN_OPTIONS+=LOADER_OFW .endif +# KBOOT is only for powerpc64 (powerpc64le broken) and kinda for amd64 +.if ${__T} != "powerpc64" && ${__T} != "amd64" +BROKEN_OPTIONS+=LOADER_KBOOT +.endif # UBOOT is only for arm, and big-endian powerpc .if (${__T:Marm*} == "" && ${__T:Mpowerpc*} == "") || ${__T} == "powerpc64le" BROKEN_OPTIONS+=LOADER_UBOOT diff --git a/stand/kboot/arch/amd64/Makefile.inc b/stand/kboot/arch/amd64/Makefile.inc new file mode 100644 index 000000000000..fb954e798599 --- /dev/null +++ b/stand/kboot/arch/amd64/Makefile.inc @@ -0,0 +1,8 @@ +SRCS+= conf.c host_syscall.S amd64_tramp.S elf64_freebsd.c + +CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include +# load address. set in linker script +RELOC?= 0x0 +CFLAGS+= -DRELOC=${RELOC} + +LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.amd64 diff --git a/stand/kboot/arch/amd64/amd64_tramp.S b/stand/kboot/arch/amd64/amd64_tramp.S new file mode 100644 index 000000000000..877705407f92 --- /dev/null +++ b/stand/kboot/arch/amd64/amd64_tramp.S @@ -0,0 +1,76 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Benno Rice under sponsorship from + * the FreeBSD Foundation. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include + +#define ASM_FILE +#include "multiboot2.h" + + .text + .globl amd64_tramp + +/* + * void amd64_tramp(uint64_t stack, void *copy_finish, uint64_t kernend, + * uint64_t modulep, uint64_t pagetable, uint64_t entry) + */ +amd64_tramp: + cli /* Make sure we don't get interrupted. */ + movq %rdi,%rsp /* Switch to our temporary stack. */ + + movq %rdx,%r12 /* Stash the kernel values for later. */ + movq %rcx,%r13 + movq %r8,%r14 + movq %r9,%r15 + + callq *%rsi /* Call copy_finish so we're all ready to go. */ + + pushq %r12 /* Push kernend. */ + salq $32,%r13 /* Shift modulep and push it. */ + pushq %r13 + pushq %r15 /* Push the entry address. */ + movq %r14,%cr3 /* Switch page tables. */ + ret /* "Return" to kernel entry. */ + + ALIGN_TEXT +amd64_tramp_end: + +/* void multiboot2_exec(uint64_t entry, uint64_t multiboot_info, uint64_t stack) */ + .globl multiboot2_exec +multiboot2_exec: + movq %rdx,%rsp + pushq %rdi + movq %rsi,%rbx + movq $MULTIBOOT2_BOOTLOADER_MAGIC,%rax + ret + + .data + .globl amd64_tramp_size +amd64_tramp_size: + .long amd64_tramp_end-amd64_tramp diff --git a/stand/kboot/arch/amd64/conf.c b/stand/kboot/arch/amd64/conf.c new file mode 100644 index 000000000000..b840d008a347 --- /dev/null +++ b/stand/kboot/arch/amd64/conf.c @@ -0,0 +1,104 @@ +/*- + * Copyright (C) 1999 Michael Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include "bootstrap.h" + +#if defined(LOADER_NET_SUPPORT) +#include "dev_net.h" +#endif + +extern struct devsw hostdisk; + +/* + * We could use linker sets for some or all of these, but + * then we would have to control what ended up linked into + * the bootstrap. So it's easier to conditionalise things + * here. + * + * XXX rename these arrays to be consistent and less namespace-hostile + */ + +/* Exported for libsa */ +struct devsw *devsw[] = { +#if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) + &hostdisk, +#endif +#if defined(LOADER_NET_SUPPORT) + &netdev, +#endif + NULL +}; + +struct fs_ops *file_system[] = { +#if defined(LOADER_UFS_SUPPORT) + &ufs_fsops, +#endif +#if defined(LOADER_CD9660_SUPPORT) + &cd9660_fsops, +#endif +#if defined(LOADER_EXT2FS_SUPPORT) + &ext2fs_fsops, +#endif +#if defined(LOADER_NFS_SUPPORT) + &nfs_fsops, +#endif +#if defined(LOADER_TFTP_SUPPORT) + &tftp_fsops, +#endif +#if defined(LOADER_GZIP_SUPPORT) + &gzipfs_fsops, +#endif +#if defined(LOADER_BZIP2_SUPPORT) + &bzipfs_fsops, +#endif + &dosfs_fsops, + NULL +}; + +extern struct netif_driver kbootnet; + +struct netif_driver *netif_drivers[] = { +#if 0 /* XXX */ +#if defined(LOADER_NET_SUPPORT) + &kbootnet, +#endif +#endif + NULL, +}; + +/* + * Consoles + */ +extern struct console hostconsole; + +struct console *consoles[] = { + &hostconsole, + NULL +}; diff --git a/stand/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/arch/amd64/elf64_freebsd.c new file mode 100644 index 000000000000..a45a0db32e44 --- /dev/null +++ b/stand/kboot/arch/amd64/elf64_freebsd.c @@ -0,0 +1,345 @@ +/*- + * Copyright (c) 1998 Michael Smith + * Copyright (c) 2014 The FreeBSD Foundation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#define __ELF_WORD_SIZE 64 +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef EFI +#include +#include +#endif + +#include "bootstrap.h" + +#include "platform/acfreebsd.h" +#include "acconfig.h" +#define ACPI_SYSTEM_XFACE +#include "actypes.h" +#include "actbl.h" + +#ifdef EFI +#include "loader_efi.h" +#endif + +#ifdef EFI +static EFI_GUID acpi_guid = ACPI_TABLE_GUID; +static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; +#endif + +#ifdef EFI +#define LOADER_PAGE_SIZE EFI_PAGE_SIZE +#else +#define LOADER_PAGE_SIZE 8192 +#endif + +extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); + +static int elf64_exec(struct preloaded_file *amp); +static int elf64_obj_exec(struct preloaded_file *amp); + +static struct file_format amd64_elf = { + .l_load = elf64_loadfile, + .l_exec = elf64_exec, +}; +static struct file_format amd64_elf_obj = { + .l_load = elf64_obj_loadfile, + .l_exec = elf64_obj_exec, +}; + +#if 0 +extern struct file_format multiboot2; +extern struct file_format multiboot2_obj; +#endif + +struct file_format *file_formats[] = { +#if 0 + &multiboot2, + &multiboot2_obj, +#endif + &amd64_elf, + &amd64_elf_obj, + NULL +}; + +#ifdef EFI +static pml4_entry_t *PT4; +static pdp_entry_t *PT3; +static pdp_entry_t *PT3_l, *PT3_u; +static pd_entry_t *PT2; +static pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + +extern EFI_PHYSICAL_ADDRESS staging; + +static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, + uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); +#endif + +extern uintptr_t amd64_tramp; +extern uint32_t amd64_tramp_size; + +/* + * There is an ELF kernel and one or more ELF modules loaded. + * We wish to start executing the kernel image, so make such + * preparations as are required, and do so. + */ +static int +elf64_exec(struct preloaded_file *fp) +{ +#ifdef EFI + struct file_metadata *md; + Elf_Ehdr *ehdr; + vm_offset_t modulep, kernend, trampcode, trampstack; + int err, i; + ACPI_TABLE_RSDP *rsdp; + char buf[24]; + int revision; + bool copy_auto; + +#ifdef EFI + copy_auto = copy_staging == COPY_STAGING_AUTO; + if (copy_auto) + copy_staging = fp->f_kernphys_relocatable ? + COPY_STAGING_DISABLE : COPY_STAGING_ENABLE; +#else + copy_auto = COPY_STAGING_DISABLE; /* XXX */ +#endif + + /* + * Report the RSDP to the kernel. While this can be found with + * a BIOS boot, the RSDP may be elsewhere when booted from UEFI. + * The old code used the 'hints' method to communite this to + * the kernel. However, while convenient, the 'hints' method + * is fragile and does not work when static hints are compiled + * into the kernel. Instead, move to setting different tunables + * that start with acpi. The old 'hints' can be removed before + * we branch for FreeBSD 12. + */ + +#ifdef EFI + rsdp = efi_get_table(&acpi20_guid); + if (rsdp == NULL) { + rsdp = efi_get_table(&acpi_guid); + } +#else + rsdp = NULL; +#warning "write me" +#endif + if (rsdp != NULL) { + sprintf(buf, "0x%016llx", (unsigned long long)rsdp); + setenv("hint.acpi.0.rsdp", buf, 1); + setenv("acpi.rsdp", buf, 1); + revision = rsdp->Revision; + if (revision == 0) + revision = 1; + sprintf(buf, "%d", revision); + setenv("hint.acpi.0.revision", buf, 1); + setenv("acpi.revision", buf, 1); + strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); + buf[sizeof(rsdp->OemId)] = '\0'; + setenv("hint.acpi.0.oem", buf, 1); + setenv("acpi.oem", buf, 1); + sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); + setenv("hint.acpi.0.rsdt", buf, 1); + setenv("acpi.rsdt", buf, 1); + if (revision >= 2) { + /* XXX extended checksum? */ + sprintf(buf, "0x%016llx", + (unsigned long long)rsdp->XsdtPhysicalAddress); + setenv("hint.acpi.0.xsdt", buf, 1); + setenv("acpi.xsdt", buf, 1); + sprintf(buf, "%d", rsdp->Length); + setenv("hint.acpi.0.xsdt_length", buf, 1); + setenv("acpi.xsdt_length", buf, 1); + } + } + + if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) + return (EFTYPE); + ehdr = (Elf_Ehdr *)&(md->md_data); + + trampcode = copy_staging == COPY_STAGING_ENABLE ? + (vm_offset_t)0x0000000040000000 /* 1G */ : + (vm_offset_t)0x0000000100000000; /* 4G */; +#ifdef EFI + err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 1, + (EFI_PHYSICAL_ADDRESS *)&trampcode); + if (EFI_ERROR(err)) { + printf("Unable to allocate trampoline\n"); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (ENOMEM); + } +#else +#warning "Write me" +#endif + bzero((void *)trampcode, LOADER_PAGE_SIZE); + trampstack = trampcode + LOADER_PAGE_SIZE - 8; + bcopy((void *)&amd64_tramp, (void *)trampcode, amd64_tramp_size); + trampoline = (void *)trampcode; + + if (copy_staging == COPY_STAGING_ENABLE) { + PT4 = (pml4_entry_t *)0x0000000040000000; +#ifdef EFI + err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 3, + (EFI_PHYSICAL_ADDRESS *)&PT4); + if (EFI_ERROR(err)) { + printf("Unable to allocate trampoline page table\n"); + BS->FreePages(trampcode, 1); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (ENOMEM); + } +#else +#warning "Write me" +#endif + bzero(PT4, 3 * LOADER_PAGE_SIZE); + PT3 = &PT4[512]; + PT2 = &PT3[512]; + + /* + * This is kinda brutal, but every single 1GB VM + * memory segment points to the same first 1GB of + * physical memory. But it is more than adequate. + */ + for (i = 0; i < NPTEPG; i++) { + /* + * Each slot of the L4 pages points to the + * same L3 page. + */ + PT4[i] = (pml4_entry_t)PT3; + PT4[i] |= PG_V | PG_RW; + + /* + * Each slot of the L3 pages points to the + * same L2 page. + */ + PT3[i] = (pdp_entry_t)PT2; + PT3[i] |= PG_V | PG_RW; + + /* + * The L2 page slots are mapped with 2MB pages for 1GB. + */ + PT2[i] = (pd_entry_t)i * (2 * 1024 * 1024); + PT2[i] |= PG_V | PG_RW | PG_PS; + } + } else { + PT4 = (pml4_entry_t *)0x0000000100000000; /* 4G */ +#ifdef EFI + err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, + (EFI_PHYSICAL_ADDRESS *)&PT4); + if (EFI_ERROR(err)) { + printf("Unable to allocate trampoline page table\n"); + BS->FreePages(trampcode, 9); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (ENOMEM); + } +#else +#warning "Write me" +#endif + + bzero(PT4, 9 * LOADER_PAGE_SIZE); + + PT3_l = &PT4[NPML4EPG * 1]; + PT3_u = &PT4[NPML4EPG * 2]; + PT2_l0 = &PT4[NPML4EPG * 3]; + PT2_l1 = &PT4[NPML4EPG * 4]; + PT2_l2 = &PT4[NPML4EPG * 5]; + PT2_l3 = &PT4[NPML4EPG * 6]; + PT2_u0 = &PT4[NPML4EPG * 7]; + PT2_u1 = &PT4[NPML4EPG * 8]; + + /* 1:1 mapping of lower 4G */ + PT4[0] = (pml4_entry_t)PT3_l | PG_V | PG_RW; + PT3_l[0] = (pdp_entry_t)PT2_l0 | PG_V | PG_RW; + PT3_l[1] = (pdp_entry_t)PT2_l1 | PG_V | PG_RW; + PT3_l[2] = (pdp_entry_t)PT2_l2 | PG_V | PG_RW; + PT3_l[3] = (pdp_entry_t)PT2_l3 | PG_V | PG_RW; + for (i = 0; i < 4 * NPDEPG; i++) { + PT2_l0[i] = ((pd_entry_t)i << PDRSHIFT) | PG_V | + PG_RW | PG_PS; + } + + /* mapping of kernel 2G below top */ + PT4[NPML4EPG - 1] = (pml4_entry_t)PT3_u | PG_V | PG_RW; + PT3_u[NPDPEPG - 2] = (pdp_entry_t)PT2_u0 | PG_V | PG_RW; + PT3_u[NPDPEPG - 1] = (pdp_entry_t)PT2_u1 | PG_V | PG_RW; + /* compat mapping of phys @0 */ + PT2_u0[0] = PG_PS | PG_V | PG_RW; + /* this maps past staging area */ + for (i = 1; i < 2 * NPDEPG; i++) { + PT2_u0[i] = ((pd_entry_t)staging + + ((pd_entry_t)i - 1) * NBPDR) | + PG_V | PG_RW | PG_PS; + } + } + + printf("staging %#lx (%scopying) tramp %p PT4 %p\n", + staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", + trampoline, PT4); + printf("Start @ 0x%lx ...\n", ehdr->e_entry); + +#ifdef EFI + efi_time_fini(); +#endif + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { +#ifdef EFI + efi_time_init(); +#endif + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (err); + } + + dev_cleanup(); + + trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? + efi_copy_finish : efi_copy_finish_nop, kernend, modulep, + PT4, ehdr->e_entry); +#endif + + panic("exec returned"); +} + +static int +elf64_obj_exec(struct preloaded_file *fp) +{ + + return (EFTYPE); +} diff --git a/stand/kboot/arch/amd64/host_syscall.S b/stand/kboot/arch/amd64/host_syscall.S new file mode 100644 index 000000000000..5bf0fca0cec1 --- /dev/null +++ b/stand/kboot/arch/amd64/host_syscall.S @@ -0,0 +1,29 @@ +#include + +/* + * Emulate the Linux system call interface. The system call number is set in + * %rax, and %rdi, %rsi, %rdx, %r10, %r8, %r9 have the 6 system call + * arguments. errno is returned as a negative value, but we use it more as a + * flag something went wrong rather than using its value. + * + * Note: For system calls, we use %r10 instead of %rcx for the 4th argument. + * See section A.2.1 for the Linux calling conventions of the ABI spec + * https://web.archive.org/web/20160801075146/http://www.x86-64.org/documentation/abi.pdf + * In addition to the below, %r11 and %rcx are destroyed, negative + * values are ERRNO for %rax between -1 and -4095 otherwise the system + * call is successful. Unlike other Unix systems, carry isn't used to + * signal an error in the system call. We expose the raw system call + * result, rather than do the POSIX converion to -1 and setting errno. + */ +ENTRY(host_syscall) + movq %rdi, %rax /* SYS_ number in %rax */ + movq %rsi, %rdi /* arg2 -> 1 */ + movq %rdx, %rsi /* arg3 -> 2 */ + movq %rcx, %rdx /* arg4 -> 3 */ + movq %r8, %r10 /* arg5 -> 4 */ + movq %r9, %r8 /* arg6 -> 5 */ + movq 8(%rsp),%r9 /* arg7 -> 6 from stack. */ + syscall + ret +/* Note: We're exposing the raw return value to the caller */ +END(host_syscall) diff --git a/stand/kboot/arch/amd64/ldscript.amd64 b/stand/kboot/arch/amd64/ldscript.amd64 new file mode 100644 index 000000000000..bbfe47cd4ef5 --- /dev/null +++ b/stand/kboot/arch/amd64/ldscript.amd64 @@ -0,0 +1,72 @@ +/* $FreeBSD$ */ +OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") +OUTPUT_ARCH(i386:x86-64) +ENTRY(_start) +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = 0x401000; + ImageBase = .; + .hash : { *(.hash) } /* this MUST come first! */ + . = ALIGN(4096); + .eh_frame : + { + *(.eh_frame) + } + . = ALIGN(4096); + .text : { + *(.text .stub .text.* .gnu.linkonce.t.*) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + *(.plt) + } =0xCCCCCCCC + . = ALIGN(4096); + .data : { + *(.rodata .rodata.* .gnu.linkonce.r.*) + *(.rodata1) + *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) + *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) + *(.opd) + *(.data .data.* .gnu.linkonce.d.*) + *(.data1) + *(.plabel) + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + } + . = ALIGN(4096); + set_Xcommand_set : { + __start_set_Xcommand_set = .; + *(set_Xcommand_set) + __stop_set_Xcommand_set = .; + } + set_Xficl_compile_set : { + __start_set_Xficl_compile_set = .; + *(set_Xficl_compile_set) + __stop_set_Xficl_compile_set = .; + } + . = ALIGN(4096); + __gp = .; + .sdata : { + *(.got.plt .got) + *(.sdata .sdata.* .gnu.linkonce.s.*) + *(dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + . = ALIGN(4096); + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .rela.dyn : { + *(.rela.data*) + *(.rela.got) + *(.rela.stab) + *(.relaset_*) + } + . = ALIGN(4096); + .reloc : { *(.reloc) } + . = ALIGN(4096); + .dynsym : { *(.dynsym) } + . = ALIGN(4096); + .dynstr : { *(.dynstr) } +} diff --git a/stand/kboot/arch/amd64/multiboot2.h b/stand/kboot/arch/amd64/multiboot2.h new file mode 100644 index 000000000000..bf673da66c2c --- /dev/null +++ b/stand/kboot/arch/amd64/multiboot2.h @@ -0,0 +1 @@ +#define MULTIBOOT2_BOOTLOADER_MAGIC 0x36d76289 diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h new file mode 100644 index 000000000000..193368364bf3 --- /dev/null +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -0,0 +1,15 @@ +#define SYS_read 0 +#define SYS_write 1 +#define SYS_open 2 +#define SYS_close 3 +#define SYS_gettimeofday 96 +#define SYS_reboot 169 +#define SYS_mmap 9 +#define SYS_uname 63 +#define SYS_lseek 8 +#define SYS_getdents 78 +#define SYS_select 23 +#define __NR_kexec_load 246 + +#define KEXEC_ARCH_X86_64 62 +#define KEXEC_ARCH KEXEC_ARCH_X86_64 From nobody Tue Jan 24 22:10:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h486B5Vz3bf03; Tue, 24 Jan 2023 22:10: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 4P1h485khqz4KS6; Tue, 24 Jan 2023 22:10:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RYHNEbvJ/+JpafE/1hGXVcH1eMRE7OD4RY4Rl1cA9UU=; b=VYekc44F5y04CbXXI2z3jwPEBjJ8TH1H8c9NLO1c0USJSAHrPZnEchq1kOroLDZXmE9Wng 0F6v1bU9WDfDPNHKheUFUCQTiaZWeKKdnpCF3UyXHlaxcJ03oxxX79bhEeAHTmEhwMminG efcMRFCub4Y+ROQaLbHuIbfySNqNcfr5StxvCxjlRoSdqhK8lDD0tDxxn5CbTUC3dCCxic J2WvAMiwRc7JrGpMDxCBeZyjHnMlkjDGNpS6heUFBEFao3NRfAHfZhRO3HPV7aFpbf3NEZ EH6fDL8hPUMnq3/RhC4TV5XrWuIFWaM7EDeUdaMInED4S8sEmANdSRNp7B7m7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RYHNEbvJ/+JpafE/1hGXVcH1eMRE7OD4RY4Rl1cA9UU=; b=R5y+YHlmhMnYkz3IvymmzBwHt3GGwvlF28SVPSUShjuGbwGgn883ieUdJkdpqd9BF4dSeC TZoAac33Tzxje4d2IsbkTV1ubCim1x8zKNPCoG8TomDyfMr5DxNrzGwxXZbSBAX0CZNOOw qo4OgQcZy56FmSjXxXuJi8JwZ/VDJ9AeYAp8M/EaH4HyIrHTe//oDncN+YIbPAj9bNbAen QSGr1u+OhTsrqCNngj9ivW5OsMjbNnzSn+sJZldWeC+KNj7kJJBMt5S0cawnxRpbLN5Ti+ DAghXPFi/PHFjA33JX/0Kdm/UMiJRsCfFC6LFGu/A7h4VCjM23MnRpSzh8TiDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598232; a=rsa-sha256; cv=none; b=mGIpWUlG+9MLPzoCzBMFJDs2i1Bowu12Kl7S7pqkVJtbAe6CKAuxBCNK5s2W5eIdC+nuEh +HBdcuu6qNxUkS7KQ0LgSwwT0cv1LtHls7p7tDDCeMRsKoIQkBsrhpHIAKrATh7IjPGEs+ VZo2d+khMPF/+6Vn825kph1rQ4i+yF/mLd4ApMbvflYR85c/s8CvDXCNrzjhnuth/h/el9 L1oe8TIvZV6cN4xn3fMy2zqc1joMYDcDTZUbXqqnGqJEfTZefiYCS/rmGIuQijHxTDUN2D Fep3hn+nc4opakePim1q4Jn9teoBjTZkRg43EVHdv9ka/ITBFIrE2lgdCocUSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h484cJyzQR0; Tue, 24 Jan 2023 22:10:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAW1I080188; Tue, 24 Jan 2023 22:10:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAW5R080187; Tue, 24 Jan 2023 22:10:32 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:32 GMT Message-Id: <202301242210.30OMAW5R080187@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: 7ae6735aea72 - stable/13 - kboot: Sort system calls alphabetically List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7ae6735aea726289e26be8422469ea9b08b1bd19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7ae6735aea726289e26be8422469ea9b08b1bd19 commit 7ae6735aea726289e26be8422469ea9b08b1bd19 Author: Warner Losh AuthorDate: 2022-06-13 17:28:31 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 kboot: Sort system calls alphabetically No functional change: sort the system calls alphbetically to make it easier to add new ones. Sponsored by: Netflix (cherry picked from commit ce3e4a3a96d951b4fcf231e8680935c01f1cc3e6) --- stand/kboot/arch/amd64/syscall_nr.h | 14 +++++++------- stand/kboot/arch/powerpc64/syscall_nr.h | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 193368364bf3..412fed5001b9 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -1,14 +1,14 @@ -#define SYS_read 0 -#define SYS_write 1 -#define SYS_open 2 #define SYS_close 3 +#define SYS_getdents 78 #define SYS_gettimeofday 96 -#define SYS_reboot 169 -#define SYS_mmap 9 -#define SYS_uname 63 #define SYS_lseek 8 -#define SYS_getdents 78 +#define SYS_mmap 9 +#define SYS_open 2 +#define SYS_read 0 +#define SYS_reboot 169 #define SYS_select 23 +#define SYS_uname 63 +#define SYS_write 1 #define __NR_kexec_load 246 #define KEXEC_ARCH_X86_64 62 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 2854124153a2..1b24ec6165f7 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,14 +1,14 @@ -#define SYS_read 3 -#define SYS_write 4 -#define SYS_open 5 #define SYS_close 6 +#define SYS_getdents 141 #define SYS_gettimeofday 78 -#define SYS_reboot 88 -#define SYS_mmap 90 -#define SYS_uname 120 #define SYS_llseek 140 -#define SYS_getdents 141 +#define SYS_mmap 90 +#define SYS_open 5 +#define SYS_read 3 +#define SYS_reboot 88 #define SYS_select 142 +#define SYS_uname 120 +#define SYS_write 4 #define __NR_kexec_load 268 #define KEXEC_ARCH_PPC64 21 From nobody Tue Jan 24 22:10:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4B02cxz3bf8P; Tue, 24 Jan 2023 22:10: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 4P1h496fRpz4KkX; Tue, 24 Jan 2023 22:10:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mnpkLwp1yLyyPEV3+w6uDMkjHHej5DurTbYz42pYOwU=; b=fWg7CwCVV08jqz3OF9VVJHi/OUuecO7cRiIJ7nfmkc3prnuIixXatuXj2Mq+Pj4jcqoC7D Vp87yXINhNpUuU+Y7vZY0pqeh1jlKDFYR47h7AlDzzO14lqGvhIDsGGIyfDLfL39QEXoei QzEvU+DKI0um2QRY72iKbPw2wkwAEsYInQ3P7NNu5Cwyi5UJfP9n2uF3od5uHnTbasL+Gx g4Ng7WErEkkAgyB4qrZrrEWWClfBqAqsY8SsmAscs94OTMoILf16OGCrlsZQ//2zCXxqQk wDcpRqhZwqoQwCkekc+ss3M7IDJOL6Qg99QBbdAbeH04NaEFbW5VlM9u9GwNuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mnpkLwp1yLyyPEV3+w6uDMkjHHej5DurTbYz42pYOwU=; b=SwSo1XR1v59oReANj3cThXG8l6qWSuCzPfnROl/kjSkDj7IGyPAlivtPUNvAqnQcZZ2hZE OP82PAD2tsArSvecsekHklOiy1gu0astDyLPWd19vEWUBdNEGW/hq7GJP9hMZCgZ0R74+s wrS17EkZSADuqmbfE3eCdBkuwwcbBCxKeSu7gg51hAXTBHRy/yRgby5JIX2BJDmJwcnI1j mU7chtqU6h5ebpydgdZHfd+j8rxqrBO3k9X85+08HZKq9FgtHZMxu9CzuA6jKvbiex7KPb 2N0/ZGIk8IUNHdaxwZjRa6BTp8n1pwNY5lilnNGwPc47tT392yKZsRSkMgcfWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598233; a=rsa-sha256; cv=none; b=ZJD134tBYuyblwAKztJAZ3wu10unJX86BynCgsPm5ps5+5owhJr1fmq8+KCwEVJ0TdIqwf qYcMYvEGcB1J1oJkqFbfiWTgZyuWA4dSYZrH/FUSBZiEK1orwtfKd6QEX2u5+8+CeN9NIy VfET7/kMCTjHHDEdL2dyQ3gyI9GopxYC39gmft45yA0gg9a/XzFSjrx+mRMjfaU4SYg9xM JFk1GRSb8Zo2pZEFmn//SFc423vpJBWobn9Lgz8Ax38ldUAsonqv+QSi9cLzJYNlyd5xEC CwWq5xwysU3njwFQUcm+uZOomHbLC2V3PTC+l3I5DSGyplSHhVLZl6F7Cy3i3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h495j0CzQR2; Tue, 24 Jan 2023 22:10:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAXLG080217; Tue, 24 Jan 2023 22:10:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAXLl080216; Tue, 24 Jan 2023 22:10:33 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:33 GMT Message-Id: <202301242210.30OMAXLl080216@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: 12e5d8d97754 - stable/13 - kboot: use SYS_kexec_load insteaed of __NR_kexec_load List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 12e5d8d97754b5697e10af772f503c21d5f68bf3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=12e5d8d97754b5697e10af772f503c21d5f68bf3 commit 12e5d8d97754b5697e10af772f503c21d5f68bf3 Author: Warner Losh AuthorDate: 2022-06-13 17:33:24 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 kboot: use SYS_kexec_load insteaed of __NR_kexec_load Make this regular with the rest of the system calls. Sponsored by: Netflix (cherry picked from commit 43ad112b936c5516e0a9b968930a6d3387e7d86b) --- stand/kboot/arch/amd64/syscall_nr.h | 2 +- stand/kboot/arch/powerpc64/syscall_nr.h | 2 +- stand/kboot/host_syscalls.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 412fed5001b9..9c4fb1024319 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -2,6 +2,7 @@ #define SYS_getdents 78 #define SYS_gettimeofday 96 #define SYS_lseek 8 +#define SYS_kexec_load 246 #define SYS_mmap 9 #define SYS_open 2 #define SYS_read 0 @@ -9,7 +10,6 @@ #define SYS_select 23 #define SYS_uname 63 #define SYS_write 1 -#define __NR_kexec_load 246 #define KEXEC_ARCH_X86_64 62 #define KEXEC_ARCH KEXEC_ARCH_X86_64 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 1b24ec6165f7..187c434a13d7 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,6 +1,7 @@ #define SYS_close 6 #define SYS_getdents 141 #define SYS_gettimeofday 78 +#define SYS_kexec_load 268 #define SYS_llseek 140 #define SYS_mmap 90 #define SYS_open 5 @@ -9,7 +10,6 @@ #define SYS_select 142 #define SYS_uname 120 #define SYS_write 4 -#define __NR_kexec_load 268 #define KEXEC_ARCH_PPC64 21 #define KEXEC_ARCH KEXEC_ARCH_PPC64 diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 53be0c166374..fd14095d7d68 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -70,7 +70,7 @@ host_select(int nfds, long *readfds, long *writefds, long *exceptfds, int kexec_load(uint32_t start, int nsegs, uint32_t segs) { - return host_syscall(__NR_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); + return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); } int From nobody Tue Jan 24 22:10:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4C1FCxz3bf8T; Tue, 24 Jan 2023 22:10: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 4P1h4C0nl6z4Knb; Tue, 24 Jan 2023 22:10:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t17xzZn5TgtLu0ruHmySAJuRaDwJYP6wZFB0ktGLD3I=; b=kVSUzaJiDnKJzcoYrDmpwlYoUZ4SzEKcBd/BEH5mXj+tdyblovKD/JAzt2mIUnvYoJ5ws+ uiVHfcNuF16nkpphDf2xQrkqDAnm/BpxDCT2HuJfcHpVqpXHYD+Pay0v3+cete7AEZQ+jP xzGHhnR33VEqITqhFiWvi0qrrx/DC1jIEoDF0IrgZzartZeBOuSasOoa+R0MlEUUzFcHgZ iHX59yVehY39pg6S6Na5MKJgoYAR3KfvtydQk1O3nFMT/UzZODVx8H4Yc9dWYIgnd/jvAp HyXnlH+FkONAyZFLqVFWyxb1nrYuDqnszsAlsHRWPIercmgw33DN/qLd14p1Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t17xzZn5TgtLu0ruHmySAJuRaDwJYP6wZFB0ktGLD3I=; b=D92R6GxIit1gFacX8BQSVmY9fCpWwRIhy+7HFynzosv7i/eCbyXDdjdmaQ5vwkTzhvMOoV A+IjIvlpOi8lpgAazY9YZsuGw6xGB2bw48MJ3lQWG/Ysnjja1d0/ToF9jSndP3oZAY6Lkg PPSJzH4LXE0y5a408heMcUDCkTZv+csnoDgZkw6J5ARspYWYpmr7Q8Z9GHhGcU2E+611n8 c1GC7kbi/Z7VcD/KgDgqRf341kFTyDekXNZQqL3Fqa2vGwb/o+7dLtpgt8E0yAGwNwCPQc kq4iwUpGqVvg4nezlMYpKO9Q8bhnik2noc7Q7+ulcoyUfD4oMmQFW7PRloyG8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598235; a=rsa-sha256; cv=none; b=uNtqpVRVQd2oYwinNkaNkXgOYwfX4Ww5RFgtacpzolUMQEns84GKpCEzE0zO52vZlq5Kxc JJN5ijktjm0HS8zO537VA93uwJlPOiqfYm20MjoQ1W7hD5voQxkMQCTlEc5xY+hWAxriRb TLh9DTMUtkdCF9JBsMRk8ecnieW1JjNdLkfsFVWi6rLmSNYfIC6US4JuMOn5HVLaoAQjnN Lx1GxN1AHNc7/vCBYcrUuvgyFYUzsVDoNOKdo7BXGfQpVphosHKhKeGmg9p79+HlfghtB3 +LSzRF/aGgvgRWu01z61vEdfJUX5W7N0LbDC0pG+mFEBQBX4MIWzYTeX2h6ekg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4B6xkmzQFG; Tue, 24 Jan 2023 22:10:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAYNa080243; Tue, 24 Jan 2023 22:10:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAY9g080242; Tue, 24 Jan 2023 22:10:34 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:34 GMT Message-Id: <202301242210.30OMAY9g080242@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: 4449947ac892 - stable/13 - kboot: sort system calls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4449947ac8929f96efa911fa7f146c29592eb614 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4449947ac8929f96efa911fa7f146c29592eb614 commit 4449947ac8929f96efa911fa7f146c29592eb614 Author: Warner Losh AuthorDate: 2022-06-13 17:39:55 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 kboot: sort system calls Sort the system calls. No functional change intended. Sponsored by: Netflix (cherry picked from commit 201c1d0d25ee5ac50092a7334b7ebfa238ce2c0f) --- stand/kboot/host_syscall.h | 34 ++++++++++++++-------- stand/kboot/host_syscalls.c | 69 ++++++++++++++++++++++++--------------------- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index f6f22a736d53..b7861e1af6f1 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -32,13 +32,9 @@ long host_syscall(int number, ...); -ssize_t host_read(int fd, void *buf, size_t nbyte); -ssize_t host_write(int fd, const void *buf, size_t nbyte); -int host_open(const char *path, int flags, int mode); -ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); -int host_close(int fd); -void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); -#define host_getmem(size) host_mmap(0, size, 3 /* RW */, 0x22 /* ANON */, -1, 0); +/* + * Data types + */ struct old_utsname { char sysname[65]; char nodename[65]; @@ -46,16 +42,32 @@ struct old_utsname { char version[65]; char machine[65]; }; -int host_uname(struct old_utsname *); + struct host_timeval { time_t tv_sec; long tv_usec; }; + +/* + * System Calls + */ +int host_close(int fd); +int host_getdents(int fd, void *dirp, int count); int host_gettimeofday(struct host_timeval *a, void *b); -int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, - struct host_timeval *timeout); int kexec_load(uint32_t start, int nsegs, uint32_t segs); +ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); +void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); +int host_open(const char *path, int flags, int mode); +ssize_t host_read(int fd, void *buf, size_t nbyte); int host_reboot(int, int, int, uintptr_t); -int host_getdents(int fd, void *dirp, int count); +int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, + struct host_timeval *timeout); +int host_uname(struct old_utsname *); +ssize_t host_write(int fd, const void *buf, size_t nbyte); + +/* + * Wrappers / one-liners + */ +#define host_getmem(size) host_mmap(0, size, 3 /* RW */, 0x22 /* ANON */, -1, 0); #endif diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index fd14095d7d68..3a5cdd7d8ea4 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -2,24 +2,33 @@ #include "syscall_nr.h" #include -ssize_t -host_read(int fd, void *buf, size_t nbyte) +/* + * Various trivial wrappers for Linux system calls. Please keep sorted + * alphabetically. + */ + +int +host_close(int fd) { - return host_syscall(SYS_read, fd, (uintptr_t)buf, nbyte); - /* XXX original overrode errors */ + return host_syscall(SYS_close, fd); } -ssize_t -host_write(int fd, const void *buf, size_t nbyte) +int +host_getdents(int fd, void *dirp, int count) { - return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte); + return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); } - + int -host_open(const char *path, int flags, int mode) +host_gettimeofday(struct host_timeval *a, void *b) { - return host_syscall(SYS_open, (uintptr_t)path, flags, mode); - /* XXX original overrode errors */ + return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b); +} + +int +kexec_load(uint32_t start, int nsegs, uint32_t segs) +{ + return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); } ssize_t @@ -36,12 +45,6 @@ host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, in #endif } -int -host_close(int fd) -{ - return host_syscall(SYS_close, fd); -} - void * host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) { @@ -49,38 +52,40 @@ host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) } int -host_uname(struct old_utsname *uts) +host_open(const char *path, int flags, int mode) { - return host_syscall(SYS_uname, (uintptr_t)uts); + return host_syscall(SYS_open, (uintptr_t)path, flags, mode); + /* XXX original overrode errors */ } -int -host_gettimeofday(struct host_timeval *a, void *b) +ssize_t +host_read(int fd, void *buf, size_t nbyte) { - return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b); + return host_syscall(SYS_read, fd, (uintptr_t)buf, nbyte); + /* XXX original overrode errors */ } int -host_select(int nfds, long *readfds, long *writefds, long *exceptfds, - struct host_timeval *timeout) +host_reboot(int magic1, int magic2, int cmd, uintptr_t arg) { - return host_syscall(SYS_select, nfds, (uintptr_t)readfds, (uintptr_t)writefds, (uintptr_t)exceptfds, (uintptr_t)timeout, 0); + return host_syscall(SYS_reboot, magic1, magic2, cmd, arg); } int -kexec_load(uint32_t start, int nsegs, uint32_t segs) +host_select(int nfds, long *readfds, long *writefds, long *exceptfds, + struct host_timeval *timeout) { - return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); + return host_syscall(SYS_select, nfds, (uintptr_t)readfds, (uintptr_t)writefds, (uintptr_t)exceptfds, (uintptr_t)timeout, 0); } int -host_reboot(int magic1, int magic2, int cmd, uintptr_t arg) +host_uname(struct old_utsname *uts) { - return host_syscall(SYS_reboot, magic1, magic2, cmd, arg); + return host_syscall(SYS_uname, (uintptr_t)uts); } -int -host_getdents(int fd, void *dirp, int count) +ssize_t +host_write(int fd, const void *buf, size_t nbyte) { - return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); + return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte); } From nobody Tue Jan 24 22:10:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4D65vYz3bf3q; Tue, 24 Jan 2023 22:10: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 4P1h4D28Zlz4KcQ; Tue, 24 Jan 2023 22:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w24KJakd5ok0ikmvHwu8Lp4xWqe+yjEdb2JJX9dtYTM=; b=ujEAjGc9ixhA9rFr/JwKxLXgxFSGIcAWEV8/N5NGEomoHHN1Hk9Alyx6c+IuMR/+K+A+bd 6SYLMaWu1hPMoYxfe/j8KsUSxTl9il0KTULTxt2Z2i+6S2SqpsR1xYcVFArKEkLXAB/eKS VMf2OyTlchup4opM268C9OdboL4PS0MnKZTn+xxuv0m6s+U2h3X3aFXLaW8Kx8NOZ4nKbB +skU2GMJxj2Z5uHS66e8xzBzIUvk2e555xJEM7w7ei9kEY0h0umOVMH8IEEXiy7ND6Io5V 6NCrpimIyU9V3CCWk91o3w1JGNmK7z0uSEcG8k+ATe8pd8Bo9A5qOUHPA2D2pA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w24KJakd5ok0ikmvHwu8Lp4xWqe+yjEdb2JJX9dtYTM=; b=Gv6U+cA7SkXPPPAe80SBD74We2zHOdeQkV0N0MHOJ4dWKMVm/AVFapTFy3uDRHVXHMLdbn 4J+gFEsMYX3UsvM4dKgMAqjri/W3FksF/OSJBwEDROgpE6IUsgjDawMvnaj+mB9jG40yiB l0WNVFF9iarD2Ea8czSt9XBHSoCAXaL4ipSplr9aZYEg6DYRXUbMFyapLFk/PsSTSSLRrY k0zEzFb48vtXE30pB4FhLt0+8oer3CUL1e5VEfa6e+7jQ4SrJXVXDmbP5gtbmfFVApShgl 5rO+7X4mGCDX4jjKQNxsPRXwEdEzU3/gb9V4Fyuov86hKh0ZXZomw7GylmJX/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598236; a=rsa-sha256; cv=none; b=tAgZC3zQyNDzlAJKeBYDe/5bQV3/ux5fJYTjUmEOvjHyAyCdhDCzdy3yIGlQa3w3rPB9iF gMdIWy+csKXCx4X/USO4/XCgz/6MSiwSmk2jyK/07o/8iIKqm3hRInrJ2slGwr+ZLY8v7r zZmzbQsmyGJ8K9x3b+j5d1HxE5jbODp/8+83CmJUCmizKjNZB7eeCjdFVHphXcpv8b6uSM BZESOWci68GrBwqfhP0FFLVC2i8PNpgzIneK11mzNsxpdZvd9L40sNgGiT/4pkj8dfuM3z wlwt0ktGqbfKMGSgRYXnPAd2pqGr9lPgx2tpBqV9GJZl3OsBY17niHcH9pv+tw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4D0rjNzQ1N; Tue, 24 Jan 2023 22:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAaOV080273; Tue, 24 Jan 2023 22:10:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAavM080272; Tue, 24 Jan 2023 22:10:36 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:36 GMT Message-Id: <202301242210.30OMAavM080272@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: d1380cef38c4 - stable/13 - kboot: rename kexec_load to host_kexec_load List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d1380cef38c42a8a63517651df2df64633bf6dea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d1380cef38c42a8a63517651df2df64633bf6dea commit d1380cef38c42a8a63517651df2df64633bf6dea Author: Warner Losh AuthorDate: 2022-06-13 17:46:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:21 +0000 kboot: rename kexec_load to host_kexec_load And make it match the system call more closely by passing in the proper args. Sponsored by: Netflix (cherry picked from commit d8f3ef8f544e0c22c09cfa4f7b51ccac2666b59f) --- stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 3 ++- stand/kboot/host_syscall.h | 2 +- stand/kboot/host_syscalls.c | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index adbdc7fca915..7de963d4e211 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" +#include "syscall_nr.h" #include "host_syscall.h" extern char end[]; @@ -152,7 +153,7 @@ ppc64_elf_exec(struct preloaded_file *fp) panic("architecture did not provide kexec segment mapping"); archsw.arch_kexec_kseg_get(&nseg, &kseg); - error = kexec_load(trampolinebase, nseg, (uintptr_t)kseg); + error = host_kexec_load(trampolinebase, nseg, (uintptr_t)kseg, KEXEC_ARCH << 16); if (error != 0) panic("kexec_load returned error: %d", error); diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index b7861e1af6f1..3a640af30565 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -54,7 +54,7 @@ struct host_timeval { int host_close(int fd); int host_getdents(int fd, void *dirp, int count); int host_gettimeofday(struct host_timeval *a, void *b); -int kexec_load(uint32_t start, int nsegs, uint32_t segs); +int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); int host_open(const char *path, int flags, int mode); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 3a5cdd7d8ea4..66014462ccdd 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -26,9 +26,9 @@ host_gettimeofday(struct host_timeval *a, void *b) } int -kexec_load(uint32_t start, int nsegs, uint32_t segs) +host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags) { - return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); + return host_syscall(SYS_kexec_load, start, nsegs, segs, flags); } ssize_t From nobody Tue Jan 24 22:10:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4F3wr9z3bf05; Tue, 24 Jan 2023 22:10: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 4P1h4F2t3kz4Ksq; Tue, 24 Jan 2023 22:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XpTJAeaX5fDRoXIZtJStXA1nPpCQ+pKSj6qQj8yPDp0=; b=fD1CLblptExlzKhWoowX9yX4kL3om5UOnStgf3msw8TnbA3RBKgnEOazHMmneY/jL15gCn OXw/KmK9FMGhKsUNeblkKYa1nx+vdzVR1zCj7GXWVKqO3Mq+nwwz6t1sPclzFtXhxreOwr H34X/qHXEesUADrLGyaDQW48Bvh4e/Z6CS0LHefrzg2uqcD3FYtJ7g7D/V2sBNfOy/OJam TvS9+yvlHjSYIk1PXIZnnySwQKQ6RHU62tviUhfezq6/LRPM82iWJOFXSGrtcs8Bhu+0Cl 37oGOZKNLPYduafWkzC5kYhvDI4ZKk1/jfG+XSw0lYnp39LLV0AZ+QZ1UP8EIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XpTJAeaX5fDRoXIZtJStXA1nPpCQ+pKSj6qQj8yPDp0=; b=JpVfUWpjAddByPoi8KywK4Ik8ohxIlKjWkq6nC6xSZR0fzyhI78iXkS2Fhu7Qoxt81CyQm yFNfM+JhKX9+hOsYXVIAK6xK9pQlTWaPTBY38rvHz9ZFfT4unB4SIVYcjpzNYcRVn525Ai tm9OFptvanHMls4d79//pRzJTgvs9zIxHEzoZmqYBUL6YbVl7s6GeJ/VDLkmodj9rf30Q5 L9/lxO1AYJuuVLrfDzeFko9rrerPKH0s+4euGDsXrbW90oilcmKjDVQljmtY2MIIaktdKq 5q3LUldn4DKiXjw1luNjKVkCE0Yh6PZJ34+jhaKmW6xv6Qq27EVPD82cuHjtcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598237; a=rsa-sha256; cv=none; b=WnjEV3Ap/lvYYNtG42fLP7eaypYBFL0VlrU0dzPH3zhxS7eSvl8hOZJk0zEt5M8c4TAUtH V7FefYOGXYhqBcLappxLbQOFE5ORG2Pnoin0isjc1KKoxO0Mhys5m2sPD4IeQhrB0YPZjs 9+EAQi9rluGuTaS9/B6Px8mmemND2tdUhHirbIOTB3fbcLHxbYdNcoA0vUZ58CC4MAnYHj YlmivZYYD4SPxdhezEYZM+qxc6YEodOUW8pYBdPlOW95ahl1AWweBeP161UI9YzP3z38R/ mJlYIiEzOCMGA6gqJmYrlTFGI6u3Z8mkLbiSsvfm/YEsCSsh2tELWbGFSeI9iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4F1xqZzQWl; Tue, 24 Jan 2023 22:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAbln080297; Tue, 24 Jan 2023 22:10:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAbm8080296; Tue, 24 Jan 2023 22:10:37 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:37 GMT Message-Id: <202301242210.30OMAbm8080296@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: 1f75ec38f9fd - stable/13 - Remove "All Rights Reserved" from Foundation copyrights List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1f75ec38f9fde82c27e7a0db95039f2c592b66d5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1f75ec38f9fde82c27e7a0db95039f2c592b66d5 commit 1f75ec38f9fde82c27e7a0db95039f2c592b66d5 Author: Ed Maste AuthorDate: 2022-06-30 14:47:59 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 Remove "All Rights Reserved" from Foundation copyrights MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit a765ac11c50bb20a64905e365b05b010533f26d3) --- stand/arm64/libarm64/cache.c | 1 - stand/arm64/libarm64/cache.h | 1 - stand/efi/fdt/efi_fdt.c | 1 - stand/efi/loader/arch/amd64/amd64_tramp.S | 1 - stand/efi/loader/arch/amd64/exc.S | 1 - stand/efi/loader/arch/amd64/trap.c | 1 - stand/efi/loader/copy.c | 1 - stand/efi/loader/framebuffer.c | 1 - stand/efi/loader/framebuffer.h | 1 - stand/efi/loader/loader_efi.h | 1 - stand/fdt/fdt_loader_cmd.c | 1 - stand/uboot/uboot_fdt.c | 1 - 12 files changed, 12 deletions(-) diff --git a/stand/arm64/libarm64/cache.c b/stand/arm64/libarm64/cache.c index 105e08cb4257..04fae36e0fc9 100644 --- a/stand/arm64/libarm64/cache.c +++ b/stand/arm64/libarm64/cache.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2014 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Semihalf under * the sponsorship of the FreeBSD Foundation. diff --git a/stand/arm64/libarm64/cache.h b/stand/arm64/libarm64/cache.h index 5e560c4d578d..9778a28837cb 100644 --- a/stand/arm64/libarm64/cache.h +++ b/stand/arm64/libarm64/cache.h @@ -1,6 +1,5 @@ /*- * Copyright (c) 2014 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Semihalf under * the sponsorship of the FreeBSD Foundation. diff --git a/stand/efi/fdt/efi_fdt.c b/stand/efi/fdt/efi_fdt.c index cf3cbabee722..21107bb2ccbf 100644 --- a/stand/efi/fdt/efi_fdt.c +++ b/stand/efi/fdt/efi_fdt.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2014 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/stand/efi/loader/arch/amd64/amd64_tramp.S b/stand/efi/loader/arch/amd64/amd64_tramp.S index 877705407f92..7e15eeb4a035 100644 --- a/stand/efi/loader/arch/amd64/amd64_tramp.S +++ b/stand/efi/loader/arch/amd64/amd64_tramp.S @@ -1,6 +1,5 @@ /*- * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Benno Rice under sponsorship from * the FreeBSD Foundation. diff --git a/stand/efi/loader/arch/amd64/exc.S b/stand/efi/loader/arch/amd64/exc.S index 0035d4a37e20..19981e6e7152 100644 --- a/stand/efi/loader/arch/amd64/exc.S +++ b/stand/efi/loader/arch/amd64/exc.S @@ -1,6 +1,5 @@ /*- * Copyright (c) 2016 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Konstantin Belousov under sponsorship * from the FreeBSD Foundation. diff --git a/stand/efi/loader/arch/amd64/trap.c b/stand/efi/loader/arch/amd64/trap.c index e8cf188cf22f..1a4306b00e0a 100644 --- a/stand/efi/loader/arch/amd64/trap.c +++ b/stand/efi/loader/arch/amd64/trap.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2016 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Konstantin Belousov under sponsorship * from the FreeBSD Foundation. diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index abf908b09548..980345b979f6 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Benno Rice under sponsorship from * the FreeBSD Foundation. diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index d5504c9cff35..afae18603f9e 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Benno Rice under sponsorship from * the FreeBSD Foundation. diff --git a/stand/efi/loader/framebuffer.h b/stand/efi/loader/framebuffer.h index 008df7f6c167..6c47a136f7be 100644 --- a/stand/efi/loader/framebuffer.h +++ b/stand/efi/loader/framebuffer.h @@ -1,6 +1,5 @@ /*- * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Benno Rice under sponsorship from * the FreeBSD Foundation. diff --git a/stand/efi/loader/loader_efi.h b/stand/efi/loader/loader_efi.h index 8254d16b1592..d1958d62fe10 100644 --- a/stand/efi/loader/loader_efi.h +++ b/stand/efi/loader/loader_efi.h @@ -1,6 +1,5 @@ /*- * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Benno Rice under sponsorship from * the FreeBSD Foundation. diff --git a/stand/fdt/fdt_loader_cmd.c b/stand/fdt/fdt_loader_cmd.c index c14b99768d70..8703d5f05e3c 100644 --- a/stand/fdt/fdt_loader_cmd.c +++ b/stand/fdt/fdt_loader_cmd.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2009-2010 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Semihalf under sponsorship from * the FreeBSD Foundation. diff --git a/stand/uboot/uboot_fdt.c b/stand/uboot/uboot_fdt.c index 4b0a85e3aec0..697aa85ea01b 100644 --- a/stand/uboot/uboot_fdt.c +++ b/stand/uboot/uboot_fdt.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2009-2010 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Semihalf under sponsorship from * the FreeBSD Foundation. From nobody Tue Jan 24 22:10:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4G4Ds9z3bf07; Tue, 24 Jan 2023 22:10: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 4P1h4G3Mgvz4L2R; Tue, 24 Jan 2023 22:10:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nsGfAs+9Bw6dfaVSpghBZjpYTm4YkjLSwQ9Vw+Kk2II=; b=HaFWkWjj0e8GvyI3MmDEem8LG8SJd1MQt25oIc7npgKt4sVOluLyKZBAgpVysMwVKUngqg ORfvL44xfSek6skfNwqb4KB7zqWA8I1l6iKQM1JqnphDqc2XjwFz2WRUisurZmkQnvOqSi mB3YypZvj06rZKmgqz1UYs01bvJg9EC21cMrn/zWzOUZ5yYtOGBUTCWmve1US6MEy0fl53 vuKdBn3C+E5HS4ANslVA/QYq+0cVH6abYPQ71l9a0bbypWuCFFCs/AdPM1pXLlX0ozmVrZ paAVOyJoXADJ/jNa11sQ4pcXV4M10dOKg12Pvf9wxKieYYfu6YW9+Js7nfhpYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nsGfAs+9Bw6dfaVSpghBZjpYTm4YkjLSwQ9Vw+Kk2II=; b=XtUqbQVYPdXaCTHiZ2u8B7dLilzfE2NBpF6exPntapUatydpDSK/dtALvzXQlREJbeNNGH pB30m4t0w4vMZyeFYTz+bGIxKtT4q8wMcPvvpMMXxh37HYtNJkL8PNcEbVZBYLg5Q231oh oJD9AS0Mx4X8DR9HLPE8cN4HHgaBjBmGm75y141Pb6CMeoqP46e7kDiPYaP7CiBR7cZk6d SnDTXkpbVkKMihXxcZ8EyBjhQ16yBnFdOTRM7a2kQsXkXaEp19ERAQyxfEshiHPhqfngFc lkCxKzdDZPNt4KilfIMRudO4cqTLAzohZeeVUs3UKawDKhjQdc9Q+VXQi9012w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598238; a=rsa-sha256; cv=none; b=R4e4+UoP99HsyznLFPNWJVG4/q57YKlsDRhPUps5gZ1+wTaW84tvj0WZYK01URd/wk1ZyQ HF24sawUU7wLolT+ixaZ5ZJNafq7u5I4cjOR8b/zc+L9Pbr03TmEfI/slBd6E28WJZ3L0c oF8FXWQWMUNPyd7tUpLnSB1MlDSs/Q4GRT1XYFoyFwGBAHzmdI1O7LrGFYrkGtApsLlh+N vyeX6T0A/L6Xws0boe3SqzNN975Uwv10md0j/TGDd1xqO0krP0xVSuOmEUYTSH9ZQXh9Az PuUE0PwB5ryIGGYAtn0hvFwgFm7Y7Zn4h5+CS8svtNVvDb44z1H56goa0wzutQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4G2R5CzQFJ; Tue, 24 Jan 2023 22:10:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAcKU080327; Tue, 24 Jan 2023 22:10:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAcr5080326; Tue, 24 Jan 2023 22:10:38 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:38 GMT Message-Id: <202301242210.30OMAcr5080326@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: 29edd79482f1 - stable/13 - loader: Set preferred kenv for acpi.rsdp on arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 29edd79482f167ca6bfab9be7dcbdcd9b9d072fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=29edd79482f167ca6bfab9be7dcbdcd9b9d072fd commit 29edd79482f167ca6bfab9be7dcbdcd9b9d072fd Author: Warner Losh AuthorDate: 2022-07-02 14:00:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 loader: Set preferred kenv for acpi.rsdp on arm64 Several years ago, x86 moved from using hints to communicate this information to using the simpler acpi.rsdp variables. If one compiles static hints into the kernel, then these hints are ignored. We can remove this when we branch FreeBSD 15. Thought about BURN_BRIDGES here, but it's too messy. Sponsored by: Netflix Reviewed by: andrew, jhb Differential Revision: https://reviews.freebsd.org/D35632 (cherry picked from commit 37a3df3d6162b8f408b7d8a669245716771c309b) --- stand/efi/loader/arch/arm64/exec.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/stand/efi/loader/arch/arm64/exec.c b/stand/efi/loader/arch/arm64/exec.c index 6cf4a4fd8e4d..3cf1c1857f51 100644 --- a/stand/efi/loader/arch/arm64/exec.c +++ b/stand/efi/loader/arch/arm64/exec.c @@ -81,6 +81,15 @@ elf64_exec(struct preloaded_file *fp) int err, revision; void (*entry)(vm_offset_t); + /* + * Report the RSDP to the kernel. The old code used the 'hints' method + * to communite this to the kernel. However, while convenient, the + * 'hints' method is fragile and does not work when static hints are + * compiled into the kernel. Instead, move to setting different tunables + * that start with acpi. The old 'hints' can be removed before we branch + * for FreeBSD 15. + */ + rsdp = efi_get_table(&acpi20_guid); if (rsdp == NULL) { rsdp = efi_get_table(&acpi_guid); @@ -88,23 +97,29 @@ elf64_exec(struct preloaded_file *fp) if (rsdp != NULL) { sprintf(buf, "0x%016llx", (unsigned long long)rsdp); setenv("hint.acpi.0.rsdp", buf, 1); + setenv("acpi.rsdp", buf, 1); revision = rsdp->Revision; if (revision == 0) revision = 1; sprintf(buf, "%d", revision); setenv("hint.acpi.0.revision", buf, 1); + setenv("acpi.revision", buf, 1); strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); buf[sizeof(rsdp->OemId)] = '\0'; setenv("hint.acpi.0.oem", buf, 1); + setenv("acpi.oem", buf, 1); sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); setenv("hint.acpi.0.rsdt", buf, 1); + setenv("acpi.rsdt", buf, 1); if (revision >= 2) { /* XXX extended checksum? */ sprintf(buf, "0x%016llx", (unsigned long long)rsdp->XsdtPhysicalAddress); setenv("hint.acpi.0.xsdt", buf, 1); + setenv("acpi.xsdt", buf, 1); sprintf(buf, "%d", rsdp->Length); setenv("hint.acpi.0.xsdt_length", buf, 1); + setenv("acpi.xsdt_length", buf, 1); } } From nobody Tue Jan 24 22:10:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4H4r4fz3bf3w; Tue, 24 Jan 2023 22:10: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 4P1h4H49rWz4Kv9; Tue, 24 Jan 2023 22:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0v+R1mtf1uy1nlyREG+RbtHLlPYZiHE4KXL+Ndz6gRQ=; b=F3SfjqDjlMzWMjHSPaiCIKMVbC/i32Z4Z+ooEx3xqaXymD21CVZ3VNw3rBDupd3KqXphng +ef5COK7Buh93k7ilBoOtb10bO3btWCiGHFUdkUwmFNsBPh5kAcETMEBcOFW2RKB3TDv0H Xc0B8PGinKWVbzcRFXqzNBmzC4/4962PLXG+DVO4XUDr3oID/LjIpNTsimnb2JPLCc5VuZ ZuO9nDX/rpoatUQaFjpGQPzLCOzj1vknUjwqVgE/dBNPuJywvPACFJZen8ix+OoeoafM1k fhO95JM9jNkIsXcJZFs21wl+M+g81Dmb9DJeXih2f/8rYyza9jKiSft2P/Leug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0v+R1mtf1uy1nlyREG+RbtHLlPYZiHE4KXL+Ndz6gRQ=; b=XN2YZaOvmyBm6NZZKMiaJ8yiCfV/LvfWJeRGCP8t+V5fINOG2B9rVIBQHdZMJlYj3XI/9S IYX0EF8ugJRr4Fb5EWI9gE0AzvLDHiLwcI8N6VqaA3UzFCKsm7HoWGxVM7HXviBOf/AZ9b wrcYoqs1MfCsyY7qZc59FPdUUs91x5ABLzUCssZbgeKP7w3rz2gsmGMCZ8tcIXuDrXcVlJ DfnCSeoJG43Rt1XCXRmQgBG6/sR4arnYKvvOkb59L4Rz5WuXxB+KnqXkma89Y9mStJU25N 3NQRAC0218xMrhh0kwPZqUbk2oG8ga3iY+2BlD+a0LoupuaWuVNP/hroWV+Kdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598239; a=rsa-sha256; cv=none; b=rQbSdOugYM7QoC9LnJHhqWHukZyalIBr7STt6mrsuY9RPjYUl6EuagF8I8wFsUARM9CaQu KCzvbKVWNpjNCYFhy8TFJmbFn3CaLJWQ7QE9efNsXtTTeBerfMlq55h+XJdlE8L/hk3Q5g Te2QvZ1hg/jvW1r+CbNyZqvRdZW7ecXsbXExlnUYRPLmhHcT8zzjUJTYMX6B0EYk2qho2c 97lAVYvLN4qabcWEEY3lJNwmE0ebwg3vKYl7t/kgXwqbKBBnwfCQfX5hITTGv+ta0bXmtn 4GszuBuGXbOO9kYFpd2WfTlKzqKy+6hCOV6qdId9NZWKViPc9Jq4BTJZHWymiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4H35knzQWp; Tue, 24 Jan 2023 22:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAdgU080356; Tue, 24 Jan 2023 22:10:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAdWx080355; Tue, 24 Jan 2023 22:10:39 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:39 GMT Message-Id: <202301242210.30OMAdWx080355@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: 3878d84ac412 - stable/13 - amd64/efi: Remove setting hints for rsdp List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3878d84ac412af68838d91d46febf828bc9dc929 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3878d84ac412af68838d91d46febf828bc9dc929 commit 3878d84ac412af68838d91d46febf828bc9dc929 Author: Warner Losh AuthorDate: 2022-07-02 14:01:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 amd64/efi: Remove setting hints for rsdp Given that hints set this way don't work when a static kenv is compiled into the kernel. acpi.rsdp has been set for this for the past 6 years, and all kernels in that time have used it in preference to the hints. As such, we no longer hints.*, so remove them. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D35634 (cherry picked from commit 2753bbe71b5adce61a1bfb9535bc33735c35887c) --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 4bdf675cd5a3..290d1c4696da 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -119,12 +119,6 @@ elf64_exec(struct preloaded_file *fp) /* * Report the RSDP to the kernel. While this can be found with * a BIOS boot, the RSDP may be elsewhere when booted from UEFI. - * The old code used the 'hints' method to communite this to - * the kernel. However, while convenient, the 'hints' method - * is fragile and does not work when static hints are compiled - * into the kernel. Instead, move to setting different tunables - * that start with acpi. The old 'hints' can be removed before - * we branch for FreeBSD 12. */ rsdp = efi_get_table(&acpi20_guid); @@ -133,29 +127,23 @@ elf64_exec(struct preloaded_file *fp) } if (rsdp != NULL) { sprintf(buf, "0x%016llx", (unsigned long long)rsdp); - setenv("hint.acpi.0.rsdp", buf, 1); setenv("acpi.rsdp", buf, 1); revision = rsdp->Revision; if (revision == 0) revision = 1; sprintf(buf, "%d", revision); - setenv("hint.acpi.0.revision", buf, 1); setenv("acpi.revision", buf, 1); strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); buf[sizeof(rsdp->OemId)] = '\0'; - setenv("hint.acpi.0.oem", buf, 1); setenv("acpi.oem", buf, 1); sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); - setenv("hint.acpi.0.rsdt", buf, 1); setenv("acpi.rsdt", buf, 1); if (revision >= 2) { /* XXX extended checksum? */ sprintf(buf, "0x%016llx", (unsigned long long)rsdp->XsdtPhysicalAddress); - setenv("hint.acpi.0.xsdt", buf, 1); setenv("acpi.xsdt", buf, 1); sprintf(buf, "%d", rsdp->Length); - setenv("hint.acpi.0.xsdt_length", buf, 1); setenv("acpi.xsdt_length", buf, 1); } } From nobody Tue Jan 24 22:10:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4J620xz3bf3y; Tue, 24 Jan 2023 22:10: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 4P1h4J5DfXz4KsD; Tue, 24 Jan 2023 22:10:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0J9U1BdX3bgeupaxhHb5zLFnzDZJq5F1qj14e0ohYps=; b=Zy0+OAp8EiJ/CtgMxV7HrcG2LtxznKOtMceyZ+EuaXoOXuNO/NoJW83lQsxlyiu+hVOUTB ROf2MpLVglJqHGuYNK0nHLkuV7fDS/Cc+2QkwqfGI/35+EyAJPDMAhn2ig+9P+j4Q1KvhK 5BdhVR3CqpnA/vKf/tDPgiy9sX0ZCGHdmknK/z5fRf6kszeGB3mAx2hHFzVQVDb7G8cqv+ G2nkLmU9hpMgUJRQOxps++oNQH5zkGK1Fc+e49EylJLCjzH8uak4IIgVceDm078KfIAc7Z cWpCpdA4mV7cLXspZSKtbSwWFh4D1PhN3QmR5BrloDjEipMtfgThCYmO5DalHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0J9U1BdX3bgeupaxhHb5zLFnzDZJq5F1qj14e0ohYps=; b=QRxT1Yl/wICZYm1KZxiR8/mFeVwkcW1IzvBhFFb7kNF4ON1Gyd+mzI1Y5K43OlEywPij+b j1eGPcWyFLxN1POsz203V5ufouy2MFSaj+FLT3EKsGnJ+XD+TL4RLz+ekg17SF/KTxl0xV xbbUCoEvk1S1V24AxcNmP5aNY5FhDMEIvmmES5i3r9w34TQ2wH3V3jcj9Ei1Exh7oAUvaU WFi8HZ1hZFjQhrDae7BoHKCiJKyFvb3t+FEaRkj4wqoKlYwAygT0ERi1IhOXktOU7nIsaJ 732ekUCjdnZJsXuXWd6JC54+C618wq4PNhQzNfXUjvAQOxLSuMTNEw1GIFhTTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598240; a=rsa-sha256; cv=none; b=igZTSOSYahF7WkPqE+AK5NncuNISyh5jA66096s8SX4EDWTPZuyJ1XXmurdD375fpsztfU r7VmwcVOVmH0VomuIgeVRQgS64aBUIlpTAGBHqaskrCfnsI/RefQVvp2MY/qYx2BJ5z3p9 2IWsDyRBKevAvskpw30StmofUgAHg00mmvPDdDucmCqekOM9PdhoNQiUcDqxK0Q+IaG6Vq 77Lapr9tscbLyqdRDE81bVXUxx2pq7DI+ShIjYNcTwm+O6vnnGgaxYp2zfr3wrFpV3dL1N kYtihj0pBxarG1nFDjfaaJn5OQ7C4aaKQ5qsKaQyaWTgAY6UciVZu6t7GlmuYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4J4JBLzQTH; Tue, 24 Jan 2023 22:10:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAeSp080380; Tue, 24 Jan 2023 22:10:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAeKs080379; Tue, 24 Jan 2023 22:10:40 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:40 GMT Message-Id: <202301242210.30OMAeKs080379@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: c5bb7c22ba40 - stable/13 - stand: Don't reuse ZFSSRC List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c5bb7c22ba4075fece3662a77b77cd4534b72ea7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c5bb7c22ba4075fece3662a77b77cd4534b72ea7 commit c5bb7c22ba4075fece3662a77b77cd4534b72ea7 Author: Warner Losh AuthorDate: 2022-07-08 15:03:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 stand: Don't reuse ZFSSRC ZFSSRC is the top level directory where the ZFS sources come from. Don't reuse it for a list of ZFS sources. Instead, use ZFS_SRC Sponsored by: Netflix (cherry picked from commit f424b167a317b37ba7626e11002ca00dcc03f661) --- stand/libsa/zfs/Makefile.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/libsa/zfs/Makefile.inc b/stand/libsa/zfs/Makefile.inc index 00839c05d37d..b503f6d20e86 100644 --- a/stand/libsa/zfs/Makefile.inc +++ b/stand/libsa/zfs/Makefile.inc @@ -4,10 +4,10 @@ .PATH: ${SYSDIR}/crypto/skein .PATH: ${ZFSOSSRC}/spl .PATH: ${OZFS}/module/zstd/lib -ZFSSRC= zfs.c nvlist.c skein.c skein_block.c list.c -ZFSSRC+= zstd_shim.c zstd.c +ZFS_SRC= zfs.c nvlist.c skein.c skein_block.c list.c +ZFS_SRC+= zstd_shim.c zstd.c CFLAGS+= -DHAS_ZSTD_ZFS -SRCS+= ${ZFSSRC} +SRCS+= ${ZFS_SRC} CFLAGS+= -I${LDRSRC} CFLAGS+= -I${SYSDIR}/cddl/boot/zfs @@ -17,7 +17,7 @@ ZFS_EARLY= -I${ZFSOSINC} \ -I${ZFSOSINC}/spl \ -I${ZFSOSINC}/zfs -.for i in ${ZFSSRC} +.for i in ${ZFS_SRC} CFLAGS.$i+= -include ${ZFSOSINC}/spl/sys/ccompile.h .endfor From nobody Tue Jan 24 22:10:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4K70n2z3bf41; Tue, 24 Jan 2023 22:10: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 4P1h4K68xmz4Kvw; Tue, 24 Jan 2023 22:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=krPML/KJZAcyIU5lfNgCkvIFHXlKjOObpKD3NiA8xxI=; b=rIK6ZMXZZs4z0zWj08/UbQvH3w0AhjS9q5yfCpFxIc344jxmiuZAuqo5ZhESaxrr1Fddgb P84mQ+6hb8IE9yiwLQwd/X0zQvfQNtHsASHphwSpx3zgcKU1uxP4BjYbY2dBlnI2fAqJ8x VT4C+zIJno9sVJEmFg6b1hBbIzOq/Xa9r75wi6L9BZe0WFisFmS7CMEezmLr89JpaxG7FX Kfyr8+movkIpqkJ3EcCp/bxJXygLf/owycAcvrHiIJtFxSynvKAxCCz7tfqdOqRk180UPz BMdlQYzJgVgxaOxa/acY8+ccH1llvaXYuUg3PnFop/NkYEe0lHJoO8Ewwd7hoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=krPML/KJZAcyIU5lfNgCkvIFHXlKjOObpKD3NiA8xxI=; b=b/u5LSFRHu1MBfYoIK9Q35sIAjlzARpvwW8KEEHLjTaBzIlmSWNdfRvk1FDUJeD6FAT0AW QbNh2kPYD48QqXS739zAfKOWC3thR6X91oISGCMs+gLVb4CuyaACugx49aVEUFzDsAhyfY ovUZJfs2c/8DITkEQedqIhKps3iWWfdZBWeGbDI+MO1E5VA0VhiVJ3AFkK5P9CjdFPvhHA JpZ9J3qM8dQyMXRN65/cxUGCJV76QuekBhTjEfyRZgj4HmWvWkamZsNhn/VOHJUjAumYNS vlkqLq1hwqEkyVNiJmYtl2fbli4s+haNMLb8zsvvNtFVSqN+cP756SYJrxT7xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598241; a=rsa-sha256; cv=none; b=bjPnwccK2pt63VYEqhABSG3sCtKIkVObxwPPUIj9U7qQy6/PEXO4Q/H5S8WmbjN84lUOcA GMoT0B/CgHOx+hjOWvy2K7EUeeu40jzN4KQG1c9Qc53NYf/NJl92IlLMzsvFfMwGfzThlT F6YYBNwJklbEUqISDzY2zQFshqpYL45gISEyczHgOqSziDwTkvCp9c5SfjS+hmJc/2ExdP RRLSIEims32oCyPoDb7Ebof9gWik2k1aTKaIP35vn2yMV6j5ZN7HdUCJiuGJDTzunVEwL/ 5FqmGEHoYKdHXEodaGvFdAhmuwly8J0mNrxzzKCesmYJW6w/T1mFnf2OAzcE1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4K5DrRzQFL; Tue, 24 Jan 2023 22:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAfEH080404; Tue, 24 Jan 2023 22:10:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAfSr080403; Tue, 24 Jan 2023 22:10:41 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:41 GMT Message-Id: <202301242210.30OMAfSr080403@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: 165e199aebeb - stable/13 - stand: geli CFLAGS tightening List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 165e199aebeb4622ba0e7a84e376c7d9653748fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=165e199aebeb4622ba0e7a84e376c7d9653748fd commit 165e199aebeb4622ba0e7a84e376c7d9653748fd Author: Warner Losh AuthorDate: 2022-07-08 16:02:17 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 stand: geli CFLAGS tightening Only add -DWEAK_REFS to sha256.c and sha512.c instead of everything. Remove redundant include that's not needed. Minor formatting tweak. Sponsored by: Netflix (cherry picked from commit eaf7aabddcde9bf9eecffb41ba6569de0f5fa645) stand geli: Restore include path to LDRSRC. Various GELI sources need bootstrap.h and disk.h. In theory they shouldn't need anything outside of libsa, but disk.h and bootstrap.h are currently required. This fixes the build with MK_LOADER_ZFS=no. Obtained from: CheriBSD Fixes: eaf7aabddcde stand: geli CFLAGS tightening Sponsored by: DARPA Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35861 (cherry picked from commit bb7ddd077c2528b37399304d7a9bf70b25c42b47) --- stand/libsa/geli/Makefile.inc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/stand/libsa/geli/Makefile.inc b/stand/libsa/geli/Makefile.inc index 734bcf6be5e6..88a3bad82a0e 100644 --- a/stand/libsa/geli/Makefile.inc +++ b/stand/libsa/geli/Makefile.inc @@ -3,14 +3,13 @@ .PATH: ${SASRC}/geli -CFLAGS+= -I${LDRSRC} - # Our password input method -SRCS+= pwgets.c +SRCS+= pwgets.c # sha256 and sha512 from sys/crypto .PATH: ${SYSDIR}/crypto/sha2 -CFLAGS+= -DWEAK_REFS +CFLAGS.sha256.c+= -DWEAK_REFS +CFLAGS.sha512.c+= -DWEAK_REFS SRCS+= sha256c.c sha512c.c # md5 from libmd @@ -27,11 +26,11 @@ SRCS+= ${i} # local GELI Implementation .PATH: ${SYSDIR}/geom/eli +.for i in geliboot.c geliboot_crypto.c gelidev.c geli_metadata.c +CFLAGS.${i}+= -I${LDRSRC} +SRCS+= ${i} +.endfor SRCS+= \ - geliboot.c \ - geliboot_crypto.c \ - gelidev.c \ - geli_metadata.c \ g_eli_hmac.c \ g_eli_key.c \ g_eli_key_cache.c \ From nobody Tue Jan 24 22:10:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4M0Ydpz3bf6R; Tue, 24 Jan 2023 22:10: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 4P1h4L6ynTz4L8k; Tue, 24 Jan 2023 22:10:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yR3X4yb/v/J3HqENuC/9GM8pQXWXMYG5br3pyIoebpA=; b=NF8o1l4U7Z2B53Ue4aVW6IJsGf0xn1vPZ8qXrOdNKo9zs5dEwlHTT4+7gYIsrmNaQF6ap2 7Nb49d/vJUn3dmeivBraIJlmWYLzNi1dlfhvaFVMSiIc2ZE3BtPP2eprEX3OPCYNMlgV8/ BlpE0jfWTpPUi3jmfvTTockekTgRiA6yTIxqLtFpOE01RvrmvuFuzwJ5LutKRXGzPKy5YN IQB4jlv/6z4Dho7xP8yRLYGRPq0TQg25EAK2D3sYkUP7n5c7af7DurIsXef+5zh1GNx+Gb LTTYc5AnBt15gQMfAOqdJ0rKgoXBARSWk00W5i3eP0TI5Ik2AWyn+baFt8gUGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yR3X4yb/v/J3HqENuC/9GM8pQXWXMYG5br3pyIoebpA=; b=f6XCsH5G+nhZiErJzrobOmaFcRyzCUFe3sH0Vu6S7Um5w/ADu7S6Husa8mSLC9/KZQKAaT PdXVu9+AHFytCw8Zhg/zBAX636prlOHECUbK5tO/u4aqnMLgJVyAbcjt8fZVQEqnG0XUMD XJLI+ltHKHqxL954Cl5WEZGN7Vc54khksHB8+7E4g2gDlLd3acikQYoPg3mPKojWEyQl5/ PmFTas99p4aUuG4bUOnm0AoHD5ar/TnjmnRow9CNPidVV56R+tsgefWAC9LgNKXbAEosVI 9gYniKCqa0+rMX0eduEuNi8cax2ufMeX8Fvuw0DgmEYTy5i1JRf40cZTk78yKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598243; a=rsa-sha256; cv=none; b=qemL4qD/lweq6MihUElroWhECroCoN70598jbsgs8nuHiJL3z+4ZjTkYLGoywFs35T4PuH wFFJuA/VcBvsjtXVsODLsLc1Rl2U1l87dXbabmWKD8KmSjQhNqx68sTbUqVybu3y7FOZZl XVs6V4DYL3Wh3c+e4n/73ZCVjdRPhIHxyY8pRZt7ecAGgfVA4cWphDcE2NpsYKgg9OKopg 8Rk6ncGNLub6bfSTWczYMCcfpLA82t37FUNXYWuXDqj/kwlCLXcoTG0JnSfQm0iqKs5cIq bmlBrvkb3Wsl9MHYvcA3C6ETtOZzkDzXJ5SF6ZW1C1IjE9XB5cAg+JDkkm1fhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4L5jXvzQFM; Tue, 24 Jan 2023 22:10:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAgiK080428; Tue, 24 Jan 2023 22:10:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAgAH080427; Tue, 24 Jan 2023 22:10:42 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:42 GMT Message-Id: <202301242210.30OMAgAH080427@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: 09a31487c1bd - stable/13 - stand: Confine BZIP defines to bzip files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 09a31487c1bdcb5dc8780fdd7e78540d686a3854 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=09a31487c1bdcb5dc8780fdd7e78540d686a3854 commit 09a31487c1bdcb5dc8780fdd7e78540d686a3854 Author: Warner Losh AuthorDate: 2022-07-08 16:19:39 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 stand: Confine BZIP defines to bzip files Sponsored by: Netflix (cherry picked from commit 59a4cfe03cf7a916a3d855f63fa8b6955f1d4136) --- stand/libsa/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 621747a85d0f..f319645a8072 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -89,9 +89,10 @@ SRCS+= _setjmp.S # NOTE: to actually test this functionality after libbz2 upgrade compile # loader(8) with LOADER_BZIP2_SUPPORT defined .PATH: ${SRCTOP}/contrib/bzip2 -CFLAGS+= -DBZ_NO_STDIO -DBZ_NO_COMPRESS - -SRCS+=bzlib.c crctable.c decompress.c huffman.c randtable.c +.for i in bzlib.c crctable.c decompress.c huffman.c randtable.c +CFLAGS.${i}+= -DBZ_NO_STDIO -DBZ_NO_COMPRESS +SRCS+=${i} +.endfor # decompression functionality from zlib .PATH: ${SRCTOP}/sys/contrib/zlib @@ -181,7 +182,7 @@ CFLAGS.ffs_subr.c+= -DSTANDALONE_SMALL CFLAGS.dosfs.c+= -I${LDRSRC} CFLAGS.tftp.c+= -I${LDRSRC} CFLAGS.ufs.c+= -I${LDRSRC} -CFLAGS.bzipfs.c+= -I${SRCTOP}/contrib/bzip2 +CFLAGS.bzipfs.c+= -I${SRCTOP}/contrib/bzip2 -DBZ_NO_STDIO -DBZ_NO_COMPRESS # explicit_bzero and calculate_crc32c .PATH: ${SYSDIR}/libkern From nobody Tue Jan 24 22:10:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4N31r9z3bf2D; Tue, 24 Jan 2023 22:10: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 4P1h4N0qbNz4LMw; Tue, 24 Jan 2023 22:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4YIcSpqJuhqVGmnj90v8ub/jC8weqL/JA5Rq0LYVzSU=; b=XPGba6CoEfPpCCTvTBZxykBImZdKpFfgkIeMQ8hUvmhrMis3M9VcNzKIUbtHq4SVqhV0fE mDv3YH+FxGxpJuFSjd1jvz+q9VLuOO+7dOe9nOUje1b5E/uA8CoTxrm82j4NqXCwb1h25n LtBcgrciSVB2Qb65PxsNpzCTvKzwkWdS6S3TVrtSl8lekxPpdozu2gXe4qjZ7oBWPESj3q b4UdGm3f+RNwy8sbphlWhHxNRa64wIcqBiSXEspseg/WfHmD+xk3FkmbVgS+lzWsnRYNU9 DxODG8VpXXwbdCljGx40HOfldYM319Xf8HVA57YYaj/rRj7q/my2U1lV7f270g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4YIcSpqJuhqVGmnj90v8ub/jC8weqL/JA5Rq0LYVzSU=; b=m1SqsysB+/na3GEpSeCRYh7+rHX2B7LwdtIndsYRZ7ixoBO2YEU5wxXYM8BVFL8iYfYWgd zqgBPrQlPEJjYYF3b9lMi7zey2xdf3uo+IZgZBY1SP9tQfFIpuXMElnD0aJfMIkY+E6lm/ G7h4JJeFH/h58iinpEEYmgIabAH9heWcPuIjhsDuwGI9BVFA9AMQQlT11Fhdczyf3hM9ay wPDylRrmqGeozQfxraaBxuyFGq3PVlrKDBlFyIxhYRw8QvMtBC8ia5N42FFvc92/8JFOBb zjdaWhGCzjNfBk7NGDEKMOmxW/2yoxtBZRKJ0F9YazqYVGdvkhLHzlCT96Y4Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598244; a=rsa-sha256; cv=none; b=dK0IuXGycGnuEQYSxkrbuGoFzreQxr9BwGv/phM8Iukp2qzneMIp80nUCk1zEUfBrjYdR1 oeCCV0VauDLTnGG91Ye8zzj89Z0KSLhcjI1DumOFU2LeSrP3M7Hl4tDHy+s76QKMx92tBf 0cNMEhGPzNLFFbu67GMGSTIeb+LxQRBbNm09uDzB10r2xVp/J3U/thnBA8J/rynfJ0GHip EJSshSi4joPgO1vEvJGVPYsIIXZP3rNKj9xMSsBn5ey3xdsjXKZtPaj2wPMkCxDZ2oXCLY EP5ew2haMmI1UNxTPUn9UYw2xGRC6+zls/e50t0dFNhFpGJ4exKRb7DFh+Fggw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4M6sbyzQFN; Tue, 24 Jan 2023 22:10:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAhQ4080454; Tue, 24 Jan 2023 22:10:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAhPV080452; Tue, 24 Jan 2023 22:10:43 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:43 GMT Message-Id: <202301242210.30OMAhPV080452@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: c75e9e027397 - stable/13 - stand: constrain zlib/gzip CFLAGS better List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c75e9e027397d06acf71b923965b6094ea9be674 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c75e9e027397d06acf71b923965b6094ea9be674 commit c75e9e027397d06acf71b923965b6094ea9be674 Author: Warner Losh AuthorDate: 2022-07-08 16:29:25 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 stand: constrain zlib/gzip CFLAGS better Define ZLIB_CFLAGS and use it only for the sources that are in ZLIB or that include it. Sponsored by: Netflix (cherry picked from commit 84bf2bbbecc369cea6095bed7a738674b27f8d13) --- stand/libsa/Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index f319645a8072..682fdd9badce 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -96,9 +96,11 @@ SRCS+=${i} # decompression functionality from zlib .PATH: ${SRCTOP}/sys/contrib/zlib -CFLAGS+=-DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib -SRCS+= adler32.c crc32.c -SRCS+= infback.c inffast.c inflate.c inftrees.c zutil.c +ZLIB_CFLAGS=-DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib +.for i in adler32.c crc32.c infback.c inffast.c inflate.c inftrees.c zutil.c +CFLAGS.${i}+=${ZLIB_CFLAGS} +SRCS+= ${i} +.endfor # lz4 decompression functionality .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/lz4 @@ -182,6 +184,8 @@ CFLAGS.ffs_subr.c+= -DSTANDALONE_SMALL CFLAGS.dosfs.c+= -I${LDRSRC} CFLAGS.tftp.c+= -I${LDRSRC} CFLAGS.ufs.c+= -I${LDRSRC} +CFLAGS.gzipfs.c+= ${ZLIB_CFLAGS} +CFLAGS.pkgfs.c+= ${ZLIB_CFLAGS} CFLAGS.bzipfs.c+= -I${SRCTOP}/contrib/bzip2 -DBZ_NO_STDIO -DBZ_NO_COMPRESS # explicit_bzero and calculate_crc32c From nobody Tue Jan 24 22:10:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4P366Lz3bfBp; Tue, 24 Jan 2023 22:10: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 4P1h4P1j1pz4L75; Tue, 24 Jan 2023 22:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EFdpwCLipkHqUtq5fg6A2KnCaEdourJ/jDQeLI/fl78=; b=OHcFcwi4UA1pTPJAwxaWlyHzXZf7UqR15W2NfscVlfV0dQGtRI7fO5/z060UJQrtffE48T +3t7iihzCvFuuX9T8i6M/jnJMvjo9/9wjgUx4fQ0eARvqJO0eJZFzUJEBT9fzdsFABva29 2Vb/rBLW9xhD3wZNhCgvC1wlHSF08CLEUSHan4si+NacXxtyxSsdolRNIKw8jWSCgMSOAt GsDaoxaWXudVFLq/oHftnaJlHYWqIn/pThhTURvX7X0MOJeBsB18xZvAR87hocFCECQzzE 21OVQlw1HZSmVmD4rDsAFpzGmVllEx0VPxR7b7oOaOREiEP1AulOGJnFEMQjTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EFdpwCLipkHqUtq5fg6A2KnCaEdourJ/jDQeLI/fl78=; b=sCur2yozE4wDAV9uN7U95lvHa3DOBCY3gt7+VfEJ1brTpKiPJbH7na1aCAZ0XqaB7b575m OGyqND8XaPm9SmTYCAsfd6tKtzsLDHQnvECmkyT0SOSkPoU9peE+dWy1GMyNIdWzg9hwtl 8blkUVD8JociZKBosTtiT7DBC05S+wi38f2kIMBYsJZyZQ51Y9vx0MZNduLbGwdRIHF4Ce xCBCLbv5OMpm+8t0g7j8tIMC/gXoCspqbwSSqNXzv1fDpyuMQkH8mhazzZgHqCgKxR9WyG reKL5vl/wSEPxqcEL901c46LY/FruPJz+9VQOHNaQ9nIaoIRgDby5Uxg0m93Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598245; a=rsa-sha256; cv=none; b=wq2rhD/H9VIQSRke+nAXX1JkNVh+13DIwf2S/Dzn7lq3gFDL9FTT3PAkn1Flx9mfJPeGO7 pBWyQThLeaSRWE1V6QnGEFgMEBrOJwDXQp1NfcqW9mT+m2/xrsebxJE6K3O3cKoZbfkpVp QZqsb2HaaeLvFAANZI+60i9gdLhjd6VaSEdvdbhtiWLjXVkSOja/yo/Sk8hjNZCVkk2b5d OT63ic8LzM5qRLICr5mryRzxRA+h5cEkfwYNTXqg2kjqvUahthKSNNd6tmr9gemUWg4sJt qJ5S8xPAJzp5Ccu4TXPxZamhepx98jgSGdoaNjGc4DKwsfR4OeNmg42WGxKygg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4P0kPmzQNh; Tue, 24 Jan 2023 22:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAjsa080483; Tue, 24 Jan 2023 22:10:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAjCj080482; Tue, 24 Jan 2023 22:10:45 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:45 GMT Message-Id: <202301242210.30OMAjCj080482@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: f8ff4e8bafff - stable/13 - stand: Add comment about CFLAGS pollution List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f8ff4e8bafff89d1386447ab97c967a2bed3a8a5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f8ff4e8bafff89d1386447ab97c967a2bed3a8a5 commit f8ff4e8bafff89d1386447ab97c967a2bed3a8a5 Author: Warner Losh AuthorDate: 2022-07-08 16:34:44 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:22 +0000 stand: Add comment about CFLAGS pollution Add a note that veriexec / bearssl builds will pollute the CFLAGS in a way that's somewhat hard to fix, so I'm just noting it for now. Sponsored by: Netflix (cherry picked from commit 37dabb06e23a2435eab0a0b37d87258d92d0fd50) --- stand/libsa/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 682fdd9badce..25bb233ebfcd 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -198,6 +198,7 @@ SRCS+= explicit_bzero.c crc32_libkern.c .endif .if ${MK_LOADER_VERIEXEC} == "yes" && ${MK_BEARSSL} == "yes" +# XXX Note that these pollutes CFLAGS in a way that's not easy to fix .include "${SRCTOP}/lib/libbearssl/Makefile.libsa.inc" .include "${SRCTOP}/lib/libsecureboot/Makefile.libsa.inc" .endif From nobody Tue Jan 24 22:10:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4Q3S5Dz3bf6Y; Tue, 24 Jan 2023 22:10: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 4P1h4Q2bx3z4LdW; Tue, 24 Jan 2023 22:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1xvwxo6Qj3jPDdZUquC+1feccjCOfNNIWx94dBiv5K8=; b=wq2KcAkyjbVPf4vyfO7yGO3ZaTeXkHfey2Yi1ZvbPgTMB7VQ1SAQC2dIRN0hYI3Bb47H4O VB7/7H0P9VWdyCv3MWlUiAN+Qeoc4GiJQ78hd+3D0v7Ar8LKDYRLhlWMOGwdHrW6nMacw3 kdagdxGKdW3zAK8Qj+Dm377zHGgU4ZY0YeHz3d1YaWRPvZ4nTdliq7nT61d/lR0Cll+KUz xgrOrgdAccIV6j8xLN+kvzFhCpf2M/A5xMI9VkgSgc1x02N+PW9XoQEnVV7/NXambENqU+ Duldpl4VoLoDYqBFzNgHlVaDV+EVm0ByjEi3rsT0HaA3g7NNrcwtJatfk62n8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1xvwxo6Qj3jPDdZUquC+1feccjCOfNNIWx94dBiv5K8=; b=A6GEwF7kZ8eRTTeBEy0C+b0i0xoUq/H0uVvjFhTM0vqhDIFTp40rYt9RhWgmDD8kGUriVU ap38u3cCBaEcGwmHVOErV/8oPGgBSNUYx6mQRACqkRXT/bBqFWGPEp/EKyLV+GLMVNPeCA m7HxQ/bZGvun4IyIWKlrcnKtwfmBaaLWWYDNOIn4nFJzCBf/WMHQQDBD84RAUrHHgYSfbm +kayZh1OROq0PsMhLHSUN3Zi+QSFc5cq8Kw0mtIqciAKPQB3mAPABS/wRpb1cuMeSLvI+K 8LsyVq/uaFQ/IMl86354iyYyj0qYpSWP6+zYhC6HhXOXB8duH/A6XebXsRVfrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598246; a=rsa-sha256; cv=none; b=wiWIa4/4PsboVXmUWN/7rHeCpagnx5J0o4YYzTVe+ZwiFIrmlmqsih9++IX33hlJHlO25B qyyeCMHLY10OVYRjxhTwX0mb+V+Do+w/1E8wsLGo/lmM6x7Imzd45W/ZIcOmdyu2i4QqNs gpHfT5e4aqz9Yl3zQ5REmLafrWvolVJz/rGGIAhc+gR9ZUBw6foJW6IUJrFdq9jFPBfkWM DKKoIgJW157Tt20+tzHKE2kNaBkR+Eb0AksIVxX0E5HfB5f2UtZHqF8oz8IqcN8kk3A3dv MnWfLqEXe53kzhAnt42HsRLZf+oKtghiEtTUn9VyJN8VTXvq44Wkcix1yE0Qxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4Q1jZDzQM0; Tue, 24 Jan 2023 22:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAksp080507; Tue, 24 Jan 2023 22:10:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAk6O080506; Tue, 24 Jan 2023 22:10:46 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:46 GMT Message-Id: <202301242210.30OMAk6O080506@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: f05568d2cae6 - stable/13 - stand: For ZFS build, add new directory List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f05568d2cae620d15af9269ad0e2ac953c1c4449 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f05568d2cae620d15af9269ad0e2ac953c1c4449 commit f05568d2cae620d15af9269ad0e2ac953c1c4449 Author: Warner Losh AuthorDate: 2022-07-08 23:34:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 stand: For ZFS build, add new directory OpenZFS is based on having a number of layers of include files that define things and include the next layer. Insert a later at the start for files in libsa/zfs/spl so we can override issues with upstream OpenZFS while we work to get the issues corrected upstream. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D35750 (cherry picked from commit 87d3aa53973fdfe1fa2ea64a8da9e29f4142d5af) --- stand/libsa/zfs/Makefile.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/libsa/zfs/Makefile.inc b/stand/libsa/zfs/Makefile.inc index b503f6d20e86..f0d8129be9e1 100644 --- a/stand/libsa/zfs/Makefile.inc +++ b/stand/libsa/zfs/Makefile.inc @@ -13,7 +13,8 @@ CFLAGS+= -I${LDRSRC} CFLAGS+= -I${SYSDIR}/cddl/boot/zfs CFLAGS+= -I${SYSDIR}/crypto/skein -ZFS_EARLY= -I${ZFSOSINC} \ +ZFS_EARLY= -I${ZFSSRC}/spl \ + -I${ZFSOSINC} \ -I${ZFSOSINC}/spl \ -I${ZFSOSINC}/zfs From nobody Tue Jan 24 22:10:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4S0QXxz3bfFN; Tue, 24 Jan 2023 22:10: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 4P1h4R5Xrzz4LTm; Tue, 24 Jan 2023 22:10:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QIRf8adSMSxW5HpuI1gDn2DFWQzp8yPImgQvEKqqtMI=; b=US8GAT6/Y9wtES9iqCpP3glQ2CZ10+CHKV3OrDzSbnpYb27Pb3vhFwuHC3OG9/y/OZf8Fj WsggLspm4uj9sZT5dQ230DUq/GWNieKvf7ABgfOKNzOSmc4Mwc0fAb+caa7ddYrUhQiCiG ZyLepXEUGCOQzWPSM7uuDiq78HGzZFdm/O8ornoQhR6VAozGcFQPWzXm/xQZaA9+qatVSR e0cRzleBeVVRwtmxfYcHQHueweFqjMKrb5CuomD+dRsYnNra1Z0pk0B7wtihV+dBHRJ3Ff 6tlWNxfMdCB3UL/gvd+3Alkxk6NBSx+e93y68aJEDR2UDyUFCMQ79QVPqLS3ZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QIRf8adSMSxW5HpuI1gDn2DFWQzp8yPImgQvEKqqtMI=; b=xgFo/uwNz8CCfZL/9btjtVaWHTz947z5IHoVwgd+CGtCecE3PD8gW1OnMMT65dpjgnLxm3 LHLpgnVMyd/CtRIJ7JJb+PDfa5nMQQC84TMm0ANKuPmlhgsdKsljjz96hYEdNsBcWMAYXo tFlGUsLE/7PlTl3fEXSbsLK3iMDcoO9OHutv6hA3V8ya7a5CqcGXV5WXEByD2nl+jx5IfB hsNtNSOvmJuhZezY+RjgLt/HkS6oCGQ5/UuZ7rrK83xew5DHNj7S30Q29wyo3zsejEHHT6 +W7iH/JdB81QA+bEhtof3GPaSSWZz4CAFcmQK+Helv1NOursnrIj9Fap+SgS3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598247; a=rsa-sha256; cv=none; b=LwkTnYibE9fnFjkdHcn1+pq77YtDA8ACeecVfmq0/DvqCxzOx0GYX+lJxQLkC9wIQd26x8 GOGFPbklPD85L+CnAoJE3KjdDvluB0u5HzFbNTdbol4XNl9qppeemRE1IaGRj4oRXJWJdf pR7p4g63HFvL+62KJBJEDm/s2Mf4WOPhUKi51fnzsRx0cZCQ4X7oo1vJTvgGFkBjU2tOFT RmObN6wP18oaFVkBT0mvpP5gFv9tcA/cYc0M9cIWylmFmLiE+AC/kozi1S/MjcAqyX4cPd Y9m1H8qUCcWppEh+/J8+hj09UqRUEvVse4gxyecCs2mj570EODgOHoYuUwhYQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4R2lZpzQTN; Tue, 24 Jan 2023 22:10:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAlXM080531; Tue, 24 Jan 2023 22:10:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAlNJ080530; Tue, 24 Jan 2023 22:10:47 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:47 GMT Message-Id: <202301242210.30OMAlNJ080530@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: fc36322368f6 - stable/13 - stand: Work around upstream issues in the standalone environment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fc36322368f68a29112b15e986d76054034fcdb6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fc36322368f68a29112b15e986d76054034fcdb6 commit fc36322368f68a29112b15e986d76054034fcdb6 Author: Warner Losh AuthorDate: 2022-07-08 23:34:46 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 stand: Work around upstream issues in the standalone environment There's a number of issues with including zfs_context.h from a standalone environment. First, sys/uio_imp.h isn't at all safe for this environment, so define its guard #defines so that its contents are skipped. Next, there's a problem including string.h to get the mem* routines, so just define them here. ZFS_MODULE_PARAM_ARGS isn't defined properly. I had wanted to define it when I was upstreaming changes to include/os/freebsd/spl/sys/zfs_context.h, but they ran into resistance so I'm defining that here now (it is also defined in zstd_shim.c, but that will disappear once the issues it works around are cleared). Finally, sys/sysmacros.h has to be included now before sys/atomic.h, but upstream includes it after so include it here so that the guards make the out-of-order includes in upstream irrelevant. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D35750 (cherry picked from commit faf25f48d601ae39f5752602f3020e2e92605625) --- stand/libsa/zfs/spl/sys/zfs_context.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/stand/libsa/zfs/spl/sys/zfs_context.h b/stand/libsa/zfs/spl/sys/zfs_context.h new file mode 100644 index 000000000000..48f164317611 --- /dev/null +++ b/stand/libsa/zfs/spl/sys/zfs_context.h @@ -0,0 +1,32 @@ +/* + * Copyright 2022, Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +/* TODO: openzfs/include/sys/uio_impl.h must not be included in stand */ +#ifndef _SYS_UIO_IMPL_H +#define _SYS_UIO_IMPL_H +#endif + +/* + * sys/atomic.h must be included after sys/sysmacros.h. The latter includes + * machine/atomic.h, which interferes. Sadly, upstream includes them in the + * wrong order, so we include it here to fix that. + */ +#include + +#include_next + +#define ZFS_MODULE_PARAM_ARGS void + +/* + * Not sure why I need these, but including the canonical stand.h fails because + * the normal string.h doesn't like all the other shenanigans in this environment. + */ +void *memcpy(void *dst, const void *src, size_t len); +void *memset(void *dest, int c, size_t len); +void *memmem(const void *big, size_t big_len, const void *little, + size_t little_len); From nobody Tue Jan 24 22:10:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4S64gcz3bf4D; Tue, 24 Jan 2023 22:10: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 4P1h4S5MxXz4Ljb; Tue, 24 Jan 2023 22:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=efkJEP9r72iHHv49FBT2TWY0n9i+mY8bvCaVRQkH8ks=; b=dTA5DrX3BvjudO1vEmuicI5vLMUG5DiqJciYWe0Y12NFvJT445q5LEtuac7rjfGRoNbQyq OgSTLvUGEezY1f2xggm9D2aRkOmp1AxNCtcuJOtWDlcEyZsCrL7XIDwnKwc0Lc2b1m8bbX DOHt0XSMIfRd+j/2ng523H39TbE+5ENAFsPAX8HuwZxFd7hGwsnnoBECpVJN2rlCWFHMWL T0Qf9RtS41dzWWbALPoMVuh39L/zgKmKvyq1oRGDzeHynzql24APsDqVy3u+N1T2e0MWpu XXouslYZU0XuEKAoTfDtafUC70u4P5gk4kMeo53XYoK83AC1wpZuenkKJDL+ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=efkJEP9r72iHHv49FBT2TWY0n9i+mY8bvCaVRQkH8ks=; b=b9NBk1QOyvwVnNAnn7u+Ev2kKFdwKHFyLNrgyBQj9HvanWKCJmprXUYwjSHbD2TnWCXMNT rOC+o+K35hmpxf+FAn2liZsXPBMfCNdJ3t5jRnxzloEGmf+I6EtcmUpthbe+bpVqdJCjN4 4PlxZ3FB3Bskcay8esqxrGkL+dbcJay8QUKkb47CX5BOb7x7qJ+DPj7KD00FdmijO59VeG WSlog1ASK0HAB807D7LcMmRl1RX/kWno86+x2RB1PAVN4s1ZDHf8mN7Dy2w61ySdekS05r Qtw2E/0lPfyFcnRsV1R8dP6ewZTi95/PCp7vQwIJdUPwddxYuntZ0IL8fWoHoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598248; a=rsa-sha256; cv=none; b=yKCfgQC6OBEkJSD2F3Pq+1EYd7WS7VeVeyuBtyDInJH73OoBcbXp4AwE0soREu/oKByvWM qMcjlC2k5+1J6lf4Z8+d7d5HojjQ2uHJP2CHlFbeRI7/2jcume8aqgCrax8iDSoTO73bAv 1l51XHPyIjvARV0Y1VCadP1WVk2k2HfXkZaRzB0e0vcK38AK9uSjwtU2eghxt+3eKCsYde 51loCB/SuEx850UR5q/IcEEX8A9ovdCgA1AT8zhEm0X+GPAKsI4zm+lx/Rss7Ndhkzq5/G uvgPyzMFPPwxkr/5UXrvn+Or9rQ7yAhyfgx2UhCaV0lsN9rmKrcsXI0Wgkq7hQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4S3dTlzPmj; Tue, 24 Jan 2023 22:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAmAZ080555; Tue, 24 Jan 2023 22:10:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAmGt080554; Tue, 24 Jan 2023 22:10:48 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:48 GMT Message-Id: <202301242210.30OMAmGt080554@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: a61eb269dec4 - stable/13 - stand: Fix inclusion of sys/blake3.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a61eb269dec47797752ff651924ac030d7754816 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a61eb269dec47797752ff651924ac030d7754816 commit a61eb269dec47797752ff651924ac030d7754816 Author: Warner Losh AuthorDate: 2022-07-08 23:34:53 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 stand: Fix inclusion of sys/blake3.h sys/blake3.h is not safe to include in a standalone environment. It assumes, unwisely, that there's only kernel or userland. The userland choice is bad due to imperfections in how we handle stdlib.h in this environment (we wind up including the host's stdlib.h, it expects a standard FreeBSD setup which the gymnastics we've done to create a OpenSolaris/Illumos-like environment interfere with). Thankfully, in this case we can just pretend to be the kernel for a little bit by defining _KERNEL and the undefing it after we exit. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D35750 (cherry picked from commit b0a337d501927d12098891131341a7736a9125ee) --- stand/libsa/zfs/spl/sys/blake3.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/stand/libsa/zfs/spl/sys/blake3.h b/stand/libsa/zfs/spl/sys/blake3.h new file mode 100644 index 000000000000..aa2d3b7e55cc --- /dev/null +++ b/stand/libsa/zfs/spl/sys/blake3.h @@ -0,0 +1,17 @@ +/* + * Copyright 2022, Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +/* + * Gross and ugly hack to cope with upstream's sys/blake3.h not being standalone + * safe. + */ +#define _KERNEL + +#include_next + +#undef _KERNEL From nobody Tue Jan 24 22:10:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4T6NR9z3bf99; Tue, 24 Jan 2023 22: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 4P1h4T5XDCz4Lk3; Tue, 24 Jan 2023 22: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=1674598249; h=from:from:reply-to:subject:subject: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+vn91dGw8Ty8RiX1fvdQsC/isnR7TL750wvth0yXoc=; b=PqF/tPWL1pn8oM9At09Sw8Ud+qeMrk9k/sbeR3/GcUfVKZiW24rclHCLcNvPRszlpKeKFM vNhPZchACbTi4LsAZEVN1YTpOFLc+8/PG6F7iNXU9tZ7S1JjGQM4bUGH4bpuUV6ZbOQRyL +FUnls49gR/bFzkx6XJ4NzHBZHd7+av8KmGRkUJewCCmED4eU0riqUwF6y3lYMaCYP01YC sYB5DiMux+0Wg6eYhTuCPdc8iPvpQcohZ5I8wO9egUErBO/yVeMABaJL9+H/wVR70YOQZe pQBm5v8Pp0oNufEt6tiXBxWC4Ey8VeXM8dXayK8MTX41YkKtEZrzLDOHBbC8yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598249; h=from:from:reply-to:subject:subject: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+vn91dGw8Ty8RiX1fvdQsC/isnR7TL750wvth0yXoc=; b=bmDXUJ86lfl1TvZDSMBmnrONscVPvL2dVoVHqwcNebA3ro8bDn6Dd3/BzqJ3A0NufxUTqy J0Cg5nDD8dAWMLII53ptkYbXrdenGl3mW8LDk6UEh1t5Wd6k1ivSEJgmuzhnAwj/0bqYVy MGKFZE6gJXGYRudUsy6PZf22YkRznsMKTsmjIMRUiRzN6M1IZx5gk7yZDzpNu846n7Y+pO OowMOBgOieEiPu1abkp/YCWEyc0R6sdCX0X7T9Qt91qJ8veTsQPMEkOZkHOX3GMxyb6ta8 f/XzWkrjCEcLI9lZjOiuv/9TdIb0iStQgOF7t90XuCa9xo0EVXpU8+/RypgnYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598249; a=rsa-sha256; cv=none; b=xJ270MGEXAmkcKoYdWNc5hC0o0sJ4JpwI4Ngdld8vDCC49YDr3B1r/Wlnn3OvjWtor+tVd H9THaJXo/risoDe/ldd3xTujE3lMqVTG9ug1fRBaqpmKJlA1P1y1G47YUsoygOUWexZka1 R+2cRNpTzS72OJbUuHL3hDrAEHhT/AK6HO8d3m/ce3+kgNuMohqykVIaafe0ZKyvWrmuKo LoLWuWx9oUx2sujg+W6kEw/KEfckRCeOcjyWwqTPNJtQG3Vd5K45E8RVz7qLIilcIg9m9z Wup1Pjj+jxiFzA8NGAmEPoAhob6DTK05TwtGtdKIuEAFt+UlwWyfSxGmIwkOGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4T4csSzQM5; Tue, 24 Jan 2023 22:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAnnq080585; Tue, 24 Jan 2023 22:10:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAnjB080584; Tue, 24 Jan 2023 22:10:49 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:49 GMT Message-Id: <202301242210.30OMAnjB080584@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: 47c3f7f6db26 - stable/13 - loader.efi: faults could try to print out call trace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 47c3f7f6db2613d2f737251b767ebe3bc966d8e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=47c3f7f6db2613d2f737251b767ebe3bc966d8e8 commit 47c3f7f6db2613d2f737251b767ebe3bc966d8e8 Author: Toomas Soome AuthorDate: 2022-06-08 12:23:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 loader.efi: faults could try to print out call trace with grab_faults, we can try to print out the trace of function calls. Without symbol table, we can not translate addresses to function names, but even addresses can help to track the bugs. For loader functions, print out absolute address, so it could be searched from objdump -d output. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35433 (cherry picked from commit f4ca0fdbe69db4ab8147406e753d869d77485c2c) --- stand/efi/loader/arch/amd64/trap.c | 37 +++++++++++++++++++++++++++++++++++++ stand/efi/loader/loader_efi.h | 3 +++ 2 files changed, 40 insertions(+) diff --git a/stand/efi/loader/arch/amd64/trap.c b/stand/efi/loader/arch/amd64/trap.c index 1a4306b00e0a..81357e558185 100644 --- a/stand/efi/loader/arch/amd64/trap.c +++ b/stand/efi/loader/arch/amd64/trap.c @@ -78,11 +78,21 @@ static uint32_t loader_tss; /* Loader TSS segment */ static struct region_descriptor fw_gdt; /* Descriptor of pristine GDT */ static EFI_PHYSICAL_ADDRESS loader_gdt_pa; /* Address of loader shadow GDT */ +struct frame { + struct frame *fr_savfp; + uintptr_t fr_savpc; +}; + void report_exc(struct trapframe *tf); void report_exc(struct trapframe *tf) { + struct frame *fp; + uintptr_t pc, base; + char buf[80]; + int ret; + base = (uintptr_t)boot_img->ImageBase; /* * printf() depends on loader runtime and UEFI firmware health * to produce the console output, in case of exception, the @@ -108,6 +118,33 @@ report_exc(struct trapframe *tf) tf->tf_rdi, tf->tf_rsi, tf->tf_rdx, tf->tf_rcx, tf->tf_r8, tf->tf_r9, tf->tf_rax, tf->tf_rbx, tf->tf_rbp, tf->tf_r10, tf->tf_r11, tf->tf_r12, tf->tf_r13, tf->tf_r14, tf->tf_r15); + + fp = (struct frame *)tf->tf_rbp; + pc = tf->tf_rip; + + printf("Stack trace:\n"); + pager_open(); + while (fp != NULL || pc != 0) { + char *source = "PC"; + + if (pc >= base && pc < base + boot_img->ImageSize) { + pc -= base; + source = "loader PC"; + } + (void) snprintf(buf, sizeof (buf), "FP %016lx: %s 0x%016lx\n", + (uintptr_t)fp, source, pc); + if (pager_output(buf)) + break; + + if (fp != NULL) + fp = fp->fr_savfp; + + if (fp != NULL) + pc = fp->fr_savpc; + else + pc = 0; + } + pager_close(); printf("Machine stopped.\n"); } diff --git a/stand/efi/loader/loader_efi.h b/stand/efi/loader/loader_efi.h index d1958d62fe10..49434698fa03 100644 --- a/stand/efi/loader/loader_efi.h +++ b/stand/efi/loader/loader_efi.h @@ -32,6 +32,7 @@ #include #include +#include #ifdef __amd64__ enum { @@ -42,6 +43,8 @@ enum { extern int copy_staging; #endif +extern EFI_LOADED_IMAGE *boot_img; + int efi_autoload(void); int efi_copy_init(void); From nobody Tue Jan 24 22:10:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4W01Bnz3bfFW; Tue, 24 Jan 2023 22:10: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 4P1h4V6Yyfz4LSM; Tue, 24 Jan 2023 22:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7kdlk0OKJ397T71l8pxUhZjkL+j0uJGzj1lhlTBZ34=; b=Q9gI4SchaFdjhQMAXvL4x+qisJZ92TfWvgjlDeZvioteZbxhlkWKu4cwoVLgYrmkOMJNuY MOjOPcNgW/RnhetwsIrn6mpCJJJ9mz2PZNzKiDxn5GSBB3wLpQHwLFUNl0Vf4nF/ORgtat ZddHcYufEoDYQUT84SVIQcq14zcIH3TTsOoeD8pS8z3p9aevW1BdGwRFB6QubaPFSq/i7T dwGNUHfzes5fW3Nqf5WDeSCPv0+iDuIB1nVefB3SwFaWTYYT90fKazKB1Q1RCmkH5XYY8/ ydKcQjGVR67ykYfRoUg5v9/rmxkYtMzG+0RCbhO+M8HW/ml3z+CM/273ZU9t3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7kdlk0OKJ397T71l8pxUhZjkL+j0uJGzj1lhlTBZ34=; b=KoxXk/a+JMN0JxIwkHIsMLqvgKprfN7mkVL1pZiN5oe/3w+ZQksGIab5VCLG6zlG4lhbp5 wVWUv5q8iRS+D8zn4NSzYvLT2YoDiv/l7SlZ4TkKQQkJaFHh05ysSMb8az0gKdDi0nQB2d 0qunEFmApavQ4FYhHv3B3Yd9b4KpknQmi2bFYiX7UCjdpA/OBo38gdc6/E7n3YSWQ0KVoo Ce3km0SxqETubQeOK0gR7bda4tq3xb7l6KYDNp0HfrCn3cGUSmG9ULUjAB/ltmCs50OvuP iu3nzMtNZSnnGPyv+EL7jzvCTCyhA+P5GXvOEHxDcwmwPaamhX4Z/MJ+5LLfCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598250; a=rsa-sha256; cv=none; b=uclTy6a92/f5OKPkc6h7j1znEcFoFXL+V35j9+pdYt/nvW5W9FSZIcn5TDoW1Q5YEN4d1r LA7iJraYjH/vSNR6TVYyB84Speekzuf+qEwGiqnt6KtDcRSZK2daNjTkEHfRVMGOQOBlNM l0VkxMzaBfpB7a6cdB4PB1pZB3f2IDjBvunigGwBPbfv4LWQrEqT0wyECvU8UYvABCnNwj AR5Py4sUibZvwtaYKAz8Q8jZH08l4Amop9dDLL7SIsFm5Gt3FFn62vFylEVHwa/5FKbVLL 4IcoFjonm684ReyZmxZ4tL3QZT1u/f+rCDkrNQyqOShjQHj0JeezwYMqVw+s3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4V5WkNzQTQ; Tue, 24 Jan 2023 22:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAoKO080614; Tue, 24 Jan 2023 22:10:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAogK080613; Tue, 24 Jan 2023 22:10:50 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:50 GMT Message-Id: <202301242210.30OMAogK080613@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: fde12ae86b1d - stable/13 - stand: Remove extra efi.h include List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fde12ae86b1d21eceaf3631fb75d955dcaa083ce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fde12ae86b1d21eceaf3631fb75d955dcaa083ce commit fde12ae86b1d21eceaf3631fb75d955dcaa083ce Author: Warner Losh AuthorDate: 2022-07-07 22:58:01 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 stand: Remove extra efi.h include There's nothing EFI specific about this file, so remove including efi.h. Sponsored by: Netflix (cherry picked from commit c1bbe711040c4e2ea515ca0a81313faec76c0050) --- stand/arm64/libarm64/cache.c | 1 - 1 file changed, 1 deletion(-) diff --git a/stand/arm64/libarm64/cache.c b/stand/arm64/libarm64/cache.c index 04fae36e0fc9..e0c627f36a60 100644 --- a/stand/arm64/libarm64/cache.c +++ b/stand/arm64/libarm64/cache.c @@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include "bootstrap.h" #include "cache.h" From nobody Tue Jan 24 22:10:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4X5nK6z3bf9G; Tue, 24 Jan 2023 22:10: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 4P1h4X1Ddmz4LvR; Tue, 24 Jan 2023 22:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=poZlhAziHnsQM68KH8w0R+zMBlZl3vodl/Gv73x3azU=; b=agXqv5LakZhyFdeGeYLkdYaDwl1kdWlgH4PRfC9l2PqwkbHi8HJhlAJsvkTHeRmIUHJSkN lltCHlPVipR/7UkFO/zGmO7W0Z4lmgWpBk9YJ11vXvpFp4Tnl9JoCO0CeTnLhRQcsirVaG tQnn/6ebsOxTZkISPXH4ROxzSMnx46HPOCHKUrfpX5ykLzH5MHawIbGGYS0rumSZOLV7wd eicZnBS54WxNXmW7g4pElAP284hTqARPvdUo7RTTJyl1vOR45zW6ZJkp54yHJt6y4mWq3O 7q32JSgXfQDjgr+zCONfNa2Qk/KWaBN6NQDzZhU2LXuG0/dWHl5ALJiP+AIgGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=poZlhAziHnsQM68KH8w0R+zMBlZl3vodl/Gv73x3azU=; b=DL0fIrpq/fIqseN4QZP2A1vMgsFvCquI8h0wd57sBpt7UMqugUtJuuSpWNoDRtpDUjZMpY TrZy/gepa+bxGTA9HNCF4lTixp7RMAgZ1QQK+hg7djNMAw6/+WpybgnHyjmYxwwa5j1H5U xinVFYU4bcYN7ol/dHMAwNHy+WmdWzPY8ts1T+e2AgKYbcji+tt7XYg3bx5FIInq2x3n9R tzaNoH4uoqj2ySyoZkNH/gtOu3KvJIZ+BFFZ5LpbfLIA2grER+B29z5YWno/j9RpRn7U94 RjeHHDJDWypeyxY8KwU49rpOydvbD+T779MEbYfLqZsYtmQlfbDCwEktJymhzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598252; a=rsa-sha256; cv=none; b=RslwEdrW/9tuq/GmrsCjbQ5k4dvMlpewp1w5ciEr+W5yXT7iPKJeGL04s6m/rDjtughC1E +SAoF22VlAiYCAlDJhaCGa9IrAn0NW+dVRUbQlJ7h6ywRjnrbVy8M/num3rpk6M0l5IEUQ UlEDkLqW6/wIeIwaBTGEntFTCWdGRe5fWZ4koJxmdhznDiPg6LRbLFahs/0OSHAG2UGNFe 8xQOtuCo6UleQRz8G72yBj81ytye+PvvUw8WRbWUebiXVTz9G3ckd4SK42C+JoedeiV3pa oEHguEf2UPX8KFGPyYHWh3opE4nVX+OEmuf2Sa23e+dfKU6MU78Byx+ksozJsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4W5l8TzQWx; Tue, 24 Jan 2023 22:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMApg5081184; Tue, 24 Jan 2023 22:10:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMApbN081171; Tue, 24 Jan 2023 22:10:51 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:51 GMT Message-Id: <202301242210.30OMApbN081171@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: 94503b830b6d - stable/13 - kboot: Rework _start List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 94503b830b6d6b587fad63f2943fec40895b3320 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=94503b830b6d6b587fad63f2943fec40895b3320 commit 94503b830b6d6b587fad63f2943fec40895b3320 Author: Warner Losh AuthorDate: 2022-07-14 03:41:17 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 kboot: Rework _start Split _start into _start and _start_c (inspired by musl and the powerpc impl is copied from there). This allows us to actually get the command line arguments on all the platforms. We have a very simplified startup that supports only static linking. Sponsored by: Netflix (cherry picked from commit f5ed1b0f84bf06839f0947981ebdb3646c3c433a) --- stand/kboot/Makefile | 3 +- stand/kboot/arch/amd64/start_arch.h | 34 +++++++++++++++ stand/kboot/arch/powerpc64/start_arch.h | 30 +++++++++++++ stand/kboot/crt1.c | 74 +++++++++++++++++++++++++++++++++ stand/kboot/main.c | 6 --- 5 files changed, 140 insertions(+), 7 deletions(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 24ab77af66db..ce0868264acf 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +LOADER_DISK_SUPPORT?= yes LOADER_CD9660_SUPPORT?= yes LOADER_MSDOS_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= yes @@ -17,7 +18,7 @@ NEWVERSWHAT= "kboot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b # Architecture-specific loader code -SRCS= vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c +SRCS= crt1.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/arch/amd64/start_arch.h b/stand/kboot/arch/amd64/start_arch.h new file mode 100644 index 000000000000..57c514daf019 --- /dev/null +++ b/stand/kboot/arch/amd64/start_arch.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-Licnse-Identifier: BSD-2-Clause + */ + +/* + * Provides a _start routine that calls a _start_c routine that takes a pointer + * to the stack as documented in crt1.c. We skip the pointer to _DYNAMIC since + * we don't support dynamic libraries, at all. And while _start_c is our own + * thing, we comport to the calling conventions that glibc and musl have and + * make sure the second argument (%esi) is 0 for _DYNAMIC placeholder. We + * likely could call main directly with only a few more lines of code, but this + * is simple enough and concentrates all the expressable in C stuff there. We + * also generate eh_frames should we need to debug things (it doesn't change the + * genreated code, but leaves enough breadcrumbs to keep gdb happy). + */ + +__asm__( +".text\n" /* ENTRY(_start) */ +".p2align 4,0x90\n" +".global _start\n" +".type _start, @function\n" +"_start:\n" +".cfi_startproc\n" +" xor %rbp, %rbp\n" /* Clear out the stack frame pointer */ +" mov %rsp, %rdi\n" /* Pass pointer to current stack with argc, argv and envp on it */ +" xor %rsi, %rsi\n" /* No dynamic pointer for us, to keep it simple */ +" andq $-16, %rsp\n" /* Align stack to 16-byte boundary */ +" call _start_c\n" /* Our MI code takes it from here and won't return */ +/* NORETURN */ +".size _start, . - _start\n" /* END(_start) */ +".cfi_endproc" +); diff --git a/stand/kboot/arch/powerpc64/start_arch.h b/stand/kboot/arch/powerpc64/start_arch.h new file mode 100644 index 000000000000..cd2fad433cde --- /dev/null +++ b/stand/kboot/arch/powerpc64/start_arch.h @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2022 Netflix, Inc + * + * SPDX-Licnse-Identifier: BSD-2-Clause + */ + +/* + * Due to the PowerPC ABI, We can call main directly from here, so do so. + * + * Note: there may be some static initializers that aren't called, but we don't + * worry about that elsewhere. This is a stripped down environment. + * + * I think we could also do something like + * + * mflr r0 + * stw r0,4(r1) + * stwu r1,-16(r1) + * b _start_c + * + * But my powerpc assembler fu is quite lacking... + */ + +#define __unused __attribute__((__unused__)) + +void +_start(int argc, const char **argv, char **env, void *obj __unused, + void (*cleanup)(void) __unused) +{ + main(argc, argv, env); +} diff --git a/stand/kboot/crt1.c b/stand/kboot/crt1.c new file mode 100644 index 000000000000..c4525ad6c35e --- /dev/null +++ b/stand/kboot/crt1.c @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-Licnse-Identifier: BSD-2-Clause + */ + +/* + * MI part of the C startup code. We take a long * pointer (we assume long is + * the same size as a pointer, as the Linux world is wont to do). We get a + * pointer to the stack with the main args on it. We don't bother decoding the + * aux vector, but may need to do so in the future. + * + * The long *p points to: + * + * +--------------------+ + * | argc | Small address + * +--------------------+ + * | argv[0] | argv + * +--------------------+ + * | argv[1] | + * +--------------------+ + * ... + * +--------------------+ + * | NULL | &argv[argc] + * +--------------------+ + * | envp[0] | envp + * +--------------------+ + * | envp[1] | + * +--------------------+ + * ... + * +--------------------+ + * | NULL | + * +--------------------+ + * | aux type | AT_xxxx + * +--------------------+ + * | aux value | + * +--------------------+ + * | aux type | AT_xxxx + * +--------------------+ + * | aux value | + * +--------------------+ + * | aux type | AT_xxxx + * +--------------------+ + * | aux value | + * +--------------------+ + *... + * +--------------------+ + * | NULL | + * +--------------------+ + * + * The AUX vector contains additional information for the process to know from + * the kernel (not parsed currently). AT_xxxx constants are small (< 50). + */ + +extern void _start_c(long *); +extern int main(int, const char **, char **); + +#include "start_arch.h" + +void +_start_c(long *p) +{ + int argc; + const char **argv; + char **envp; + + argc = p[0]; + argv = (const char **)(p + 1); + envp = (char **)argv + argc + 1; + + /* Note: we don't ensure that fd 0, 1, and 2 are sane at this level */ + /* Also note: we expect main to exit, not return off the end */ + main(argc, argv, envp); +} diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 9b99c859070b..90b31a611476 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -479,12 +479,6 @@ kboot_kseg_get(int *nseg, void **ptr) *ptr = &loaded_segments[0]; } -void -_start(int argc, const char **argv, char **env) -{ - main(argc, argv); -} - /* * Since proper fdt command handling function is defined in fdt_loader_cmd.c, * and declaring it as extern is in contradiction with COMMAND_SET() macro From nobody Tue Jan 24 22:10:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4Y1trDz3bf9H; Tue, 24 Jan 2023 22:10: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 4P1h4Y0t8Hz4Ly5; Tue, 24 Jan 2023 22:10:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZdCMERZijsdMOQHA/RSLd198Vx2vwi1pxl14fN3mlQ0=; b=ATKM8Abh3VQnYRaIij4x2VBsYWIxnalzl3q/9BTidQU+nRv9jFN+RE3kL0NT8RvtmHJxaM wGaIJr4s//mjQdhOSuMZ4to53ojjzgtbt7hi16CZkNImDflu+dKXWYVtuAiQW8cLg/QmY0 yPU28sH+yej8B/fjQgvYFD0ENjNLEbJPR+5bjGI3SdiDCjABDgsbYG/I0iWrYZ9c17/9Y+ FcJ9Q83vmx/Jhs1jS8ynhc0mCzhYxr6pz4KIVExQPtbScvDrfa4N+de1h01Rr4JA5tjMD+ Hexp3ikMHGbsulhl/z1U1cqZXZ1uZzkAQ4oi5+S0V8yO7LXtMLJunOeYyQMU8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZdCMERZijsdMOQHA/RSLd198Vx2vwi1pxl14fN3mlQ0=; b=L10TKOffpEGpDt6lQmKEG8Dk9N6ntVz7L7TgNNKZLi2Q3N8/JkZez6Tgibds83Hm14zllF BurlKIOFlSuhaUZMwb2GZboVR5ma1AZ0UWBb01Zql0ATs59eJSKBz8M8EnZKQxXJDJqo8A qws3dEP9DrijZFXeHSnA+Ig+tarpoLwWgNPcMrycQk2X4g2CYjlzTeDfkIHrKNjTAWiw96 ADR1tR3yrSnCvO1fPzfOhTy1+iOFT8KPHRrkv3oZJLU50+qZVy5f7uNxOTz3kcMUfbre7Q +remh2J4bgtayH0Xw+kssgXw1/wOl+F836dU8X7tfuc23tPIm1HHYcJCXLzFAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598253; a=rsa-sha256; cv=none; b=Pmsw0WKqCgQpJtuP4SeCvTFDJR3BtpR3CEaMKQIIqTvdKeM9IZJHVvkxwSaVUEq0sh3pbC Xy/A+/Wpm8t+a8dv7BMGUBNxYRTVZdERCgEy4rF77JSOgNNwFj5dTt+WgHzz/vU5WbzdBJ sg60S1BUzFbTCKy8wPZeQYRTc6PU16q1C6gthUyV/XqXvyqHboEotJYWs6eXeBjWIffoKV ungJuQixSqhkXbL0WcQ9/uq0GpRbQ/e5MaOUsYMBx3DW0yJhERJEwEb5fWzMdQZoEq+ctK BBF/BQ39cOeAocHb1a7EUmrKZB5JVFqY059yRWqA3riYJkYyTnpbzL38drbCoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4X6S5dzQ1R; Tue, 24 Jan 2023 22:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAq33082730; Tue, 24 Jan 2023 22:10:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAqQi082717; Tue, 24 Jan 2023 22:10:52 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:52 GMT Message-Id: <202301242210.30OMAqQi082717@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: 4bae1d08388f - stable/13 - kboot: Reimplement older system calls in terms of newer ones List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4bae1d08388f806e0b875eb8693e4e45582f326c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4bae1d08388f806e0b875eb8693e4e45582f326c commit 4bae1d08388f806e0b875eb8693e4e45582f326c Author: Warner Losh AuthorDate: 2022-07-07 22:58:27 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 kboot: Reimplement older system calls in terms of newer ones aarch64 doesn't have open, just openat, etc. Cope. Sponsored by: Netflix (cherry picked from commit edc23ddf9cf35d7ea9baf72d14449e04508d2314) --- stand/kboot/arch/amd64/syscall_nr.h | 6 +++--- stand/kboot/arch/powerpc64/syscall_nr.h | 4 ++-- stand/kboot/host_syscall.h | 2 ++ stand/kboot/host_syscalls.c | 12 ++++++++++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 9c4fb1024319..506f85b3e731 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -1,13 +1,13 @@ #define SYS_close 3 #define SYS_getdents 78 #define SYS_gettimeofday 96 -#define SYS_lseek 8 #define SYS_kexec_load 246 +#define SYS_lseek 8 #define SYS_mmap 9 -#define SYS_open 2 +#define SYS_openat 257 +#define SYS_pselect6 270 #define SYS_read 0 #define SYS_reboot 169 -#define SYS_select 23 #define SYS_uname 63 #define SYS_write 1 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 187c434a13d7..592f3d6a7631 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -4,10 +4,10 @@ #define SYS_kexec_load 268 #define SYS_llseek 140 #define SYS_mmap 90 -#define SYS_open 5 +#define SYS_openat 286 +#define SYS_pselect6 280 #define SYS_read 3 #define SYS_reboot 88 -#define SYS_select 142 #define SYS_uname 120 #define SYS_write 4 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 3a640af30565..b13829e4d05b 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -48,6 +48,8 @@ struct host_timeval { long tv_usec; }; +#define HOST_AT_FDCWD -100 /* Relative to current directory */ + /* * System Calls */ diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 66014462ccdd..3db066acb781 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -54,7 +54,7 @@ host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) int host_open(const char *path, int flags, int mode) { - return host_syscall(SYS_open, (uintptr_t)path, flags, mode); + return host_syscall(SYS_openat, HOST_AT_FDCWD, (uintptr_t)path, flags, mode); /* XXX original overrode errors */ } @@ -75,7 +75,15 @@ int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, struct host_timeval *timeout) { - return host_syscall(SYS_select, nfds, (uintptr_t)readfds, (uintptr_t)writefds, (uintptr_t)exceptfds, (uintptr_t)timeout, 0); + struct timespec ts = { .tv_sec = timeout->tv_sec, .tv_nsec = timeout->tv_usec * 1000 }; + + /* + * Note, final arg is a sigset_argpack since most arch can only have 6 + * syscall args. Since we're not masking signals, though, we can just + * pass a NULL. + */ + return host_syscall(SYS_pselect6, nfds, (uintptr_t)readfds, (uintptr_t)writefds, + (uintptr_t)exceptfds, (uintptr_t)&ts, (uintptr_t)NULL); } int From nobody Tue Jan 24 22:10:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4Z2ftkz3bf2X; Tue, 24 Jan 2023 22:10: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 4P1h4Z1jjCz4M6T; Tue, 24 Jan 2023 22:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Io7azLBtBlLho/z75qMyWt5Dym5vtIhVRo7JwfuZNyo=; b=jsoRSfOOys6rOz81p1gAgxKegPsKOoqN0PMK7Cd3X5TeSsdttjThy1kot9yFafUU7iCgCw THNLbj93Sq7wQDPEYMUr2fgqHPNRUvUN8PduSDPksKTYz6vzY7o2FRBSEwQUYMWoIKNbgV 5QO0TdvNxlVYUTGFOq29C2Ka8HzZ4elf4dXXDxQtkVooOhC8Ru2SetdUvJX4GvOA7V18GD 3YOcmMiv5miOO+HTLdUH7VtKlNHdvnNiRsOcCOT/K7HccudXU7J0fguOs976mKDV8A+Xef 5+rCEfRdtGpdiqAbyM4pOFQTX7oMmBI5Z01HtBRaHNhJ43/c86TDr/5GCfPhhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Io7azLBtBlLho/z75qMyWt5Dym5vtIhVRo7JwfuZNyo=; b=JJG71tw4mP+vatizDpOgE+s09rxWzdVykuzQv/b3kRk07oO13PefNf1Q85RLH4qeOxaN7D KwA2PYtWdBel8zSmJK6m6AA3fj9k5NQXaiVRHkXXfXn8/BhZlwSEr5318qaY1qCRCNdCCF GPYRm7Adw2W+TqNJB3eMDa0mbvGYMfITYVYZeFfSXhMSuvZcnYRRFrMb+kLXrpyBrHRFdE TKxmp5bxRuI2vkT8MvSYAMf1WCD5z1L4z9xapeI+1HAs9bK4K02jsGGbHx8f+qi/nhs/F3 0UVD69lQI9x17ipdVIc7lYMXBR9/P3lveVFjB3XDrTF80B4jFNITacY42L5wQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598254; a=rsa-sha256; cv=none; b=Rv9lJ8JQZNUN9V4/ASpMYpi2R55J0HJrDkNrgrRELKqCCD7YOArIbamaLhVQg2vTJICBNP /BPSmlgIMlVyFVes+tR15WyMudMiERTof0Lbc3+46teh/izcSnAWT6GJCkEpDoyfu/qL91 6Ov8CqlTTtkPU0JDKAH9IgVAZuCzsUFciPrq7eQZUkRIN9S4UyWAIhyrZ35mUdFNsjGZon ibqbR0X+cbGKcKNk0b9woX1mVufSIVbeDHVkDDbynTZNdtHl6G+mKquauB4wwo++BHOOJE +uGfmZ3js1rtUpgMVJqYX5+zN3ky7hpVuqe2OlrLOenNcn9hvMM8vTR/7i6cXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4Z0FmBzQNm; Tue, 24 Jan 2023 22:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMArn3083159; Tue, 24 Jan 2023 22:10:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAri5083158; Tue, 24 Jan 2023 22:10:53 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:53 GMT Message-Id: <202301242210.30OMAri5083158@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: 2ec7d6fd4217 - stable/13 - kboot: Enhance kboot_getdev to cope with NULLs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2ec7d6fd42170fca215dbe291830606648f00ae5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2ec7d6fd42170fca215dbe291830606648f00ae5 commit 2ec7d6fd42170fca215dbe291830606648f00ae5 Author: Warner Losh AuthorDate: 2022-07-15 13:32:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:23 +0000 kboot: Enhance kboot_getdev to cope with NULLs Fallback to currdev when NULL is passed in when 'rootdev' is NULL. Other getdevs do this. Additional features are needed here still, though. Sponsored by: Netflix (cherry picked from commit bf35f00522676d6e456b19168908cfa890ae0782) --- stand/kboot/main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 90b31a611476..3fab25132f15 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -212,11 +212,17 @@ kboot_get_kernel_machine_bits(void) int kboot_getdev(void **vdev, const char *devspec, const char **path) { - int i; + int i, rv; const char *devpath, *filepath; struct devsw *dv; struct devdesc *desc; + if (devspec == NULL) { + rv = kboot_getdev(vdev, getenv("currdev"), NULL); + if (rv == 0 && path != NULL) + *path = devspec; + return (rv); + } if (strchr(devspec, ':') != NULL) { devpath = devspec; filepath = strchr(devspec, ':') + 1; From nobody Tue Jan 24 22:10:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4b3ysqz3bf0Z; Tue, 24 Jan 2023 22:10: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 4P1h4b2xylz4LyV; Tue, 24 Jan 2023 22:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mFSDCNYctQuUrNVv3MgfWhkc6IdUotCyYS2R8Fai2VQ=; b=W+pUo+k+8Mp5DCNFzcsT9eq1/hlPb2LAGoFvyTonH8QTmm39ivLYbG4PtudhFA4pQTGago mKJwl2LUoye4Z4WBbM27x7Om/XUCXmMQxW3OiaIZrFGftSD65O8PuFhqpax21GX4ZJEYFN v5HIlPt3xlcw2w6aKFMHPugVo0G0N9jO10jnQkfvqi/T88I1XyFvCdhyckssQOjF5h95DS t8s7D6GckmzcqPT4xB7IFE+YMKLMJ6DhObAoTeIzHyocW+K9OrYh909tiNwljRJmCA13cM f0PKxlmNiYJ7WP8e6qbX5eFWzcfe41zQ/zUUdlfHr42xaWyrEAVySxjdz++YFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mFSDCNYctQuUrNVv3MgfWhkc6IdUotCyYS2R8Fai2VQ=; b=fot9/TEXIeUOHa5BYhh0MU/hTrD5n+KV3wjjCshGDfl7+TIWAy1c1Cawtz7ZRKjK20x7fJ l6OVtc/BUkO/PLLj1EmSY0d5eAkBwVDSHI46Pp8J5Fq2ojseTamzoUph8EeKEyFi6RTou3 g8B4TQgHS53AuRWdd/B4mPbnW81CZGdyzS3uz1X5Mm+yNEoPL56+P9dPU1GNzKva6IPJcP 1/HjLzffSyfOMGOiBgsVKsbBpXtbdN+2sFzMzHV3TDRS/T71jccO/+e4NQCotYUtJl0v/7 LYf/0SrnL7GqbCGzEiYkEl5ivcEFK/z4Sa8Jb6m4+J1zn15YwwfiUKSXztVNTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598255; a=rsa-sha256; cv=none; b=sKlKQuHI3TQSbxThUa1lwMJzndFIQLBZIkqwBB8Eds2/5/p2xB5hiWp+sWdW1fUQ8qBSXg S/FW8jahtXOm4xAAQ15wV2aUo5VDaoh7AsPT2lcRSB8VxX2h0AfCEzuW8UX3V2e/wF192u aR84Jj+oRyF7ettkei8wwqwVg5u0UWblW6+ibNs7INWbeXryOy7XMKsfG9+69s+FdTLJjR JqrYIOwWmEshyFFw1iwctLeF1fkSx4duwIznLBeX837NDd/FpDtkiHh90CxEGVuwPQ0nZN cn2wIvHcDxrNn5QpSBMp+vhShorUF9TO/FUNPX7XaYFHjBervqmZMHYYK/ogyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4b1BFNzQTW; Tue, 24 Jan 2023 22:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAtGG083183; Tue, 24 Jan 2023 22:10:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAtUJ083182; Tue, 24 Jan 2023 22:10:55 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:55 GMT Message-Id: <202301242210.30OMAtUJ083182@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: 952c48de876d - stable/13 - kboot: Add HOST_O_ constants for open, etc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 952c48de876d666464dbc198e86cf7c61ea8ef08 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=952c48de876d666464dbc198e86cf7c61ea8ef08 commit 952c48de876d666464dbc198e86cf7c61ea8ef08 Author: Warner Losh AuthorDate: 2022-07-01 17:57:02 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Add HOST_O_ constants for open, etc Add the common O_ constants for the open, fcntl, etc system calls. They are different than FreeBSD's. While they can differ based on architecture, they are constant for architectures we care about, and those architectures use the 'generic' version so future architectures will also work. Sponsored by: Netflix (cherry picked from commit ae366d5106844c26ecec54b6926c13064a224aa9) --- stand/kboot/host_syscall.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index b13829e4d05b..24b966b34ed8 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -32,6 +32,27 @@ long host_syscall(int number, ...); +/* + * Constants for open, fcntl, etc + * + * Note: Some of these are arch dependent on Linux, but are the same for + * powerpc, x86, arm*, and riscv. We should be futureproof, though, since these + * are the 'generic' values and only older architectures (no longer supported by + * FreeBSD) vary. + * + * These are from tools/include/uapi/asm-generic/fcntl.h and use the octal + * notation. Beware, hex is used in other places creating potential confsion. + */ +#define HOST_O_RDONLY 0 +#define HOST_O_WRONLY 1 +#define HOST_O_RDWR 2 +#define HOST_O_CREAT 00100 +#define HOST_O_EXCL 00200 +#define HOST_O_NOCTTY 00400 +#define HOST_O_TRUNC 01000 +#define HOST_O_APPEND 02000 +#define HOST_O_NONBLOCK 04000 + /* * Data types */ From nobody Tue Jan 24 22:10:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4c6KQQz3bf9L; Tue, 24 Jan 2023 22:10: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 4P1h4c2pRpz4LtF; Tue, 24 Jan 2023 22:10:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=74m304WYYbR0tyH2OxOm+MKQ6vPW8BR+SyyFeFiqpig=; b=i+eZtAlsUADDb4B2/Me5jnWpuPahSqXuqzmC/DuqOZ3NoSr77mEU51rhNQuvOijvlvTrc2 HPtyMUzw8ZzzgKRz24C5U6INZflyxbU2zM0kagEHs8pgzFqnwLs2RI/ws5wP+eWc3xaLq/ AITwAaW6rZjdjlFvUp1FGQ9EHvFJMddGu+yf6k12nu1QyYR9GDxYdhtS7wvZG2KbPrxk1T IQkCSsSbqBt74wFT/Vv0EhIZoSTayBGSSPv/xbxJNg+bOYUEQYbgc2DUoz+l6G8BJfzNEk R/V6hwQXleoPp21JNgTQNO8vpt5luYxWLb+m3/XeCa6Bu/i5cxXrCLxzyIzvVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=74m304WYYbR0tyH2OxOm+MKQ6vPW8BR+SyyFeFiqpig=; b=DeTfJQqMB+FoKzpBfiOJ7M1u+eDZl7nbDfGgDsFsW45ypgB1SN9t2pa59Z9fNNLBxiE/ld aPObsldzL1vk22RKq4FHlK0Dr4cE/JnQtVgKEGOT7gvAcWd/GCdRcRfO2yNcmDCe/Leog9 TyiOJDYR4Qz/J5tkdWC949Ongb6lxovlpgCtrgZD8kJu4dpY5ifcWhH6TuXMKA9W6ueBuQ bdUgbLllDastL87kyYrm/rCENdTGYjqJ5XCH3AqGmoxyuFs8e0iTNI1G4AV/sPwHetOkl8 EioSULluyjnb/isO9MS//cffWnemMFFzPNUbnKbba21ypNpDJdrtO0tiWrMO+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598256; a=rsa-sha256; cv=none; b=BSzFMr7d6BGs6WvLSjqv3GcJoLRGkbsdQanuwF2FlbosCeT4y7Z0dxq1xQJlu2yZVZGmKn qjCoqm9GKM5zF8EUtYgGvscKxEhPNfvsGcOFNY4Y0nkxIZ1Inxo5t0JihVZ99/Fd3tstUN 5spZgIJZGP0t673CL7mSNIrxftiZEl5miSc64qxFLDRAR5FTzc+SKIkondU1R3mJJ15Pl+ UNaLFIyqaUWWDY8hy4pI2wK5rf4DHz5YoYQsRC0AhLJRBkThp1Rne2VR4R2k/dmIrD3Ls0 Tu5A9p9ixomAL8eHKXFOp9AqRnlnfbj5ZJqcjc+i1EHTlDjSJ1FUgR10trYvig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4c1vQCzPmp; Tue, 24 Jan 2023 22:10:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAuGP083215; Tue, 24 Jan 2023 22:10:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAueL083214; Tue, 24 Jan 2023 22:10:56 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:56 GMT Message-Id: <202301242210.30OMAueL083214@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: 4084c293c175 - stable/13 - kboot: Implement stat(2) and fstat(2) system calls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4084c293c17568178201057a12d4f821f9e55bea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4084c293c17568178201057a12d4f821f9e55bea commit 4084c293c17568178201057a12d4f821f9e55bea Author: Warner Losh AuthorDate: 2022-07-15 05:19:18 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement stat(2) and fstat(2) system calls Implement stat(2) and fstat(2) in terms of newfstatat and newfstat system calls respectively (assume we have a compat #define when there's no newfstat and just a regular fstat and do so for ppc). Snag struct kstat (the Linux kernel stat(2), et al interface) from musl and attribute properly. Sponsored by: Netflix (cherry picked from commit a647d4a4d15df856d590c39c19d3973ec2e18825) --- stand/kboot/arch/amd64/stat_arch.h | 31 +++++++++++++++++++++++++++++++ stand/kboot/arch/amd64/syscall_nr.h | 2 ++ stand/kboot/arch/powerpc64/stat_arch.h | 27 +++++++++++++++++++++++++++ stand/kboot/arch/powerpc64/syscall_nr.h | 3 +++ stand/kboot/host_syscall.h | 17 +++++++++++++++++ stand/kboot/host_syscalls.c | 12 ++++++++++++ 6 files changed, 92 insertions(+) diff --git a/stand/kboot/arch/amd64/stat_arch.h b/stand/kboot/arch/amd64/stat_arch.h new file mode 100644 index 000000000000..ae180322fab4 --- /dev/null +++ b/stand/kboot/arch/amd64/stat_arch.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-Licnse-Identifier: MIT + * + * Note: From the musl project + */ + +struct host_kstat { + host_dev_t st_dev; + host_ino_t st_ino; + host_nlink_t st_nlink; + + host_mode_t st_mode; + host_uid_t st_uid; + host_gid_t st_gid; + unsigned int __pad0; + host_dev_t st_rdev; + host_off_t st_size; + host_blksize_t st_blksize; + host_blkcnt_t st_blocks; + + long st_atime_sec; + long st_atime_nsec; + long st_mtime_sec; + long st_mtime_nsec; + long st_ctime_sec; + long st_ctime_nsec; + long __pad_for_future[3]; +}; + diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 506f85b3e731..c22c80ea7cb9 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -4,6 +4,8 @@ #define SYS_kexec_load 246 #define SYS_lseek 8 #define SYS_mmap 9 +#define SYS_newfstat 5 +#define SYS_newfstatat 262 #define SYS_openat 257 #define SYS_pselect6 270 #define SYS_read 0 diff --git a/stand/kboot/arch/powerpc64/stat_arch.h b/stand/kboot/arch/powerpc64/stat_arch.h new file mode 100644 index 000000000000..f22787b45feb --- /dev/null +++ b/stand/kboot/arch/powerpc64/stat_arch.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-Licnse-Identifier: MIT + * + * Note: From the musl project + */ + +struct host_kstat { + host_dev_t st_dev; + host_ino_t st_ino; + host_nlink_t st_nlink; + host_mode_t st_mode; + host_uid_t st_uid; + host_gid_t st_gid; + host_dev_t st_rdev; + host_off_t st_size; + host_blksize_t st_blksize; + host_blkcnt_t st_blocks; + long st_atime_sec; + long st_atime_nsec; + long st_mtime_sec; + long st_mtime_nsec; + long st_ctime_sec; + long st_ctime_nsec; + long __pad_for_future[3]; +}; diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 592f3d6a7631..aa94e6a82bb7 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,9 +1,12 @@ #define SYS_close 6 +#define SYS_fstat 108 #define SYS_getdents 141 #define SYS_gettimeofday 78 #define SYS_kexec_load 268 #define SYS_llseek 140 #define SYS_mmap 90 +#define SYS_newfstat SYS_fstat +#define SYS_newfstatat 291 #define SYS_openat 286 #define SYS_pselect6 280 #define SYS_read 3 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 24b966b34ed8..6ff20f7ba393 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -32,6 +32,21 @@ long host_syscall(int number, ...); +/* + * Sizes taken from musl's include/alltypes.h.in and expanded for LP64 hosts + */ +typedef uint64_t host_dev_t; +typedef uint64_t host_ino_t; +typedef int64_t host_nlink_t; +typedef unsigned int host_mode_t; +typedef unsigned int host_uid_t; +typedef unsigned int host_gid_t; +typedef int64_t host_off_t; +typedef long host_blksize_t; +typedef int64_t host_blkcnt_t; + +#include "stat_arch.h" + /* * Constants for open, fcntl, etc * @@ -75,6 +90,7 @@ struct host_timeval { * System Calls */ int host_close(int fd); +int host_fstat(int fd, struct host_kstat *sb); int host_getdents(int fd, void *dirp, int count); int host_gettimeofday(struct host_timeval *a, void *b); int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); @@ -85,6 +101,7 @@ ssize_t host_read(int fd, void *buf, size_t nbyte); int host_reboot(int, int, int, uintptr_t); int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, struct host_timeval *timeout); +int host_stat(const char *path, struct host_kstat *sb); int host_uname(struct old_utsname *); ssize_t host_write(int fd, const void *buf, size_t nbyte); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 3db066acb781..9cc6c6cd873e 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -13,6 +13,12 @@ host_close(int fd) return host_syscall(SYS_close, fd); } +int +host_fstat(int fd, struct host_kstat *sb) +{ + return host_syscall(SYS_newfstat, fd, (uintptr_t)sb); +} + int host_getdents(int fd, void *dirp, int count) { @@ -86,6 +92,12 @@ host_select(int nfds, long *readfds, long *writefds, long *exceptfds, (uintptr_t)exceptfds, (uintptr_t)&ts, (uintptr_t)NULL); } +int +host_stat(const char *path, struct host_kstat *sb) +{ + return host_syscall(SYS_newfstatat, HOST_AT_FDCWD, (uintptr_t)path, (uintptr_t)sb, 0); +} + int host_uname(struct old_utsname *uts) { From nobody Tue Jan 24 22:10:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4d6bpzz3bf6y; Tue, 24 Jan 2023 22:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h4d3k21z4M71; Tue, 24 Jan 2023 22:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NreEpkkCvSvvPOR0PJpKLz7dLJPQfCqMSQXTy/h7b38=; b=VCKGYhkneUPc4ROvDzml02l1zaK7DW1Y+UNaCu12cOF3wcskrH3/imaGeUhJ4L638zFnPM biYEdRbv7Vh5dDuh/dw+Ax5v11YK11hAahdlMeOc7zJeZ/3yVmRrnCZBvifovJF5ONS+58 KI6n7JifFaOPYrYkyZeUHYfUO+Or4CqdhkmpfcgL8Zjlf3m+HexD79UbaWfolDsQRuw0Ea SdB7tKBRgCKGDqvULyQyNpDe5ex8YI6Zh6k8++36cb3rCYnCOxc+KrYkz9fiFYKwb2DakS uoiTvSJdq4pFepIKYpW8HmnhX0WT/2xUKY4CpzNbPbjgMdN0sHiHBhLW07O1sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NreEpkkCvSvvPOR0PJpKLz7dLJPQfCqMSQXTy/h7b38=; b=Z1rAb9I+4fZU0RN70U7k6mOUiWH1cWpZKl4Li1MiAPfhFvZ+4woG9dsOF2SDSJnPEczfU4 Mc1I35CIxp0PsYRF9ZTH7PZ1ksnzPeWQaQn4ooCwlkZ105nJrtPsi8CdI88BAxLn16q39w 3IttfTD2GHToWEBvkS7P6zNsccYKBQkrj7sJ+OsYORo8JtTeap9jA2rV3ezCOAZCkAPdF7 myyGNJWFEJc6QlDY0ynQJaLRPTVuyldZbqYEb/z3ckUJo1OlZUQ9N87s7q+0Q6ZZm9GUzS 9/rzeN0wB5Devngp31P8wJzMfW5nQqeAXfPZMIR0e6I2zpcmPCCSGxBE+lKSZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598257; a=rsa-sha256; cv=none; b=tHd0vTRRi5hutV3/WfO/0P9PTXVuwO21y4z7NCwPhxZ8x3DBOJpfaSXBY5QHa7ptoBDxLP VyA33+JrbqeOP/KdOzBgXJ8yvNagi53QuX6VMy8JYB4uRf3W4R/2mBpXYh7X0PuCC4/DVr +VESjQkdlg9sSgyB33ENoCD8ucT5yWWfagWrcA6ci8JigJuGTA6kjqq0DGVKAYAMzcXSIF Z7J8fDzuX3rM15gV8hPeGxTV/whC0k8ZIvx/wl6xmgV7emRfDjWvGdcJwliaA2q0Tq+RJr P8cxN5NN990GozdwDkujq0V/UjUcnpWTd7+ZUZrk8RLj8GAST3v3pS7IYEMnJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4d2rFbzQNn; Tue, 24 Jan 2023 22:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAvDG083239; Tue, 24 Jan 2023 22:10:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAvP7083238; Tue, 24 Jan 2023 22:10:57 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:57 GMT Message-Id: <202301242210.30OMAvP7083238@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: 7743778bf19a - stable/13 - kboot: Implement munmap(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7743778bf19a1625ef4a2e801fee91dab3c934bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7743778bf19a1625ef4a2e801fee91dab3c934bb commit 7743778bf19a1625ef4a2e801fee91dab3c934bb Author: Warner Losh AuthorDate: 2022-06-27 23:49:21 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement munmap(2) Define host_munmap so we can use it in the x86 code to find things for the BIOS/CMS boot path and unmap after we find it. Sponsored by: Netflix (cherry picked from commit 76949f503f008b28865bd0fd026a550a3cb48619) --- stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 1 + stand/kboot/host_syscalls.c | 6 ++++++ 4 files changed, 9 insertions(+) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index c22c80ea7cb9..7813eff92890 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -4,6 +4,7 @@ #define SYS_kexec_load 246 #define SYS_lseek 8 #define SYS_mmap 9 +#define SYS_munmap 11 #define SYS_newfstat 5 #define SYS_newfstatat 262 #define SYS_openat 257 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index aa94e6a82bb7..9471fd48ceb2 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -5,6 +5,7 @@ #define SYS_kexec_load 268 #define SYS_llseek 140 #define SYS_mmap 90 +#define SYS_munmap 91 #define SYS_newfstat SYS_fstat #define SYS_newfstatat 291 #define SYS_openat 286 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 6ff20f7ba393..8007f29feb9d 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -96,6 +96,7 @@ int host_gettimeofday(struct host_timeval *a, void *b); int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); +int host_munmap(void *addr, size_t len); int host_open(const char *path, int flags, int mode); ssize_t host_read(int fd, void *buf, size_t nbyte); int host_reboot(int, int, int, uintptr_t); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 9cc6c6cd873e..3cfccdc0c718 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -57,6 +57,12 @@ host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) return (void *)host_syscall(SYS_mmap, (uintptr_t)addr, len, prot, flags, fd, off); } +int +host_munmap(void *addr, size_t len) +{ + return host_syscall(SYS_munmap, (uintptr_t)addr, len); +} + int host_open(const char *path, int flags, int mode) { From nobody Tue Jan 24 22:10:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4f6VhWz3bf9R; Tue, 24 Jan 2023 22:10: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 4P1h4f5LlGz4Lwv; Tue, 24 Jan 2023 22:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CiJvtBcw7GjfxSmGAmEhrModWwGdc3TLXoOMUCz/nSI=; b=EEouxKeE/15JvqLGLkCLmKYLvuBjifSwgAvi8Ge6RylJSf27+zX8/Nfxbrx+RxmI0cIcLi MniT29vmypJtuhOFgBZPjoo3prw/0Wk5QUq5PkFWXzlV7G1fPs67GOiiLn9gFkKOaJKIPm IpRkMQjiMdsrCnPI82/xCVHcuEl822TFroB5SXVR7TJTKXirh3kM4UOPMbCsfpZi3GdBgO 88WxVHyNFGgzRDnA5qsrsDZod3EHEBU8PpSD8loHtmYizip20afHdYxoWqFh3hAfAS9I2s 7A8CLf6y5n9uh0SZkfdgTbm0oghu7lCkzQMa0i1cl/vkoqpEenp78V4wFlLFdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CiJvtBcw7GjfxSmGAmEhrModWwGdc3TLXoOMUCz/nSI=; b=RU5xdDUNl6sbpgwgUWQO87iZ37rk2SxqEGglyZ1CpObMoVnB1UNoBarO9NpxNrNx1XXaH8 LnvUvyGbyD4mXsArV81+QbJIBEUAvkzBp9Rw/wXAmmgppDbrFatMcKXSVizPxLVH2IHGh4 oB6mQMafgtBqcwUt7YtEmQK5iaUdvHcMK5DLs6+XNc3ART3HqRXREoj8PFvvTasK7UioGF 1Nv4BpsM2EnWyZyktZbknpgNrkJHa84ldO+bH/SMiK4+i7cWTs0uYAx4smSSO9P7/OahTE ELXpVNEVtRrggQv4b/RehMrx3x10FCYre3swSkq/ZD+OAmKczNA5Fpt+M29rdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598258; a=rsa-sha256; cv=none; b=MIDoyLnLgO2aDuW3exRrqBnjxgtOdr6b+ee/bjQqO5jJT7CdCJx1Hn7of+t9NImAczDDSF lbvsgrnQUNiPCMEAxCkWFCLpQzo4/n20PMl37IBAIJ5qEbf9pcUtMImJCpu17gdMPZQ0zY ZuJWAQUPDkclOc0yWhP3H9geCUxb1tE+pwJxruscefnborlVhVkmEpGNM8P3qkjCNTxkl2 9knzmGvGy+LhXC0FNnlPeTYoqhtf/jwX66fpr1m4mXR58xKZQz2BwK8w5wl1gs2qDHetCN /rW7v8UXcAKIe3ivVTg0y4/UDLJfu9SDLiq3YJIE7CEeUtybqPfHUCM9XtM/Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4f3X50zQTZ; Tue, 24 Jan 2023 22:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAw3n083263; Tue, 24 Jan 2023 22:10:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAwuZ083262; Tue, 24 Jan 2023 22:10:58 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:58 GMT Message-Id: <202301242210.30OMAwuZ083262@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: c3f287967716 - stable/13 - kboot: Implement getpid(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c3f2879677164716bdc748d62e4f6de8760db175 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c3f2879677164716bdc748d62e4f6de8760db175 commit c3f2879677164716bdc748d62e4f6de8760db175 Author: Warner Losh AuthorDate: 2022-06-30 18:12:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement getpid(2) Add host_getpid() so we can know if we're running as init(8) or not. If we are, we may chose to do early system setup / sanity operations. Sponsored by: Netflix (cherry picked from commit 764780294f1df220174c1eb2208c0774d685d594) --- stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 1 + stand/kboot/host_syscalls.c | 6 ++++++ 4 files changed, 9 insertions(+) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 7813eff92890..47bb84cc3a36 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -1,5 +1,6 @@ #define SYS_close 3 #define SYS_getdents 78 +#define SYS_getpid 39 #define SYS_gettimeofday 96 #define SYS_kexec_load 246 #define SYS_lseek 8 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 9471fd48ceb2..2b0599b47435 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,6 +1,7 @@ #define SYS_close 6 #define SYS_fstat 108 #define SYS_getdents 141 +#define SYS_getpid 20 #define SYS_gettimeofday 78 #define SYS_kexec_load 268 #define SYS_llseek 140 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 8007f29feb9d..4a3ff3ea818e 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -92,6 +92,7 @@ struct host_timeval { int host_close(int fd); int host_fstat(int fd, struct host_kstat *sb); int host_getdents(int fd, void *dirp, int count); +int host_getpid(void); int host_gettimeofday(struct host_timeval *a, void *b); int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 3cfccdc0c718..a83bc3bbfe0d 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -25,6 +25,12 @@ host_getdents(int fd, void *dirp, int count) return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); } +int +host_getpid(void) +{ + return host_syscall(SYS_getpid); +} + int host_gettimeofday(struct host_timeval *a, void *b) { From nobody Tue Jan 24 22:10:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4h0llKz3bdwk; Tue, 24 Jan 2023 22:11: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 4P1h4g6K2Vz4M5R; Tue, 24 Jan 2023 22:10:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mOdwmOiYIyZ7+X+2twtUK5jNYKHnRHHeMcLi+4BULc=; b=Ive0QE8BdyY5L/X6FrZfclLmFT29KdQt7Fv1AWdLJQ1pdx0wI7SF2/AWb7/zSRjYDEYGG4 AazB/MvOuvG8tZ2yaTuaifTAJkAoY8DRPp2EDdVJ6yFxW2MHTA+JYf0AX2gEMdnu0FDdPc 6y6oDQyY64kJxX58SRpeh9nYHHAI8hUQIXaqkqv8WjJBfYDVZKr5pmJIzU4UuF8jMvjzSu dcDQFL0s9J0JGaVzE2HTXDh9f7FHgban9BjXRbkNLMSv2jfmd9AtrPX1UQBHq3G+ef9dqI srdVJblBA2w6E16lOLHhnkpA/fxX4pvDIguWfafByeS0GRSVOvMzevqu4MTqiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mOdwmOiYIyZ7+X+2twtUK5jNYKHnRHHeMcLi+4BULc=; b=ev+X4b5M1Z2MDct8DVDD2zoeZRXQLpPgWKow1b5lImgffkGy3ku/2AjeA6C6pL8I+IHtJi tsE9Q922vc30wsa2qNNEKh5WviznKZyWBrkrNXzTNK31IRyfrdUy7qe4hbbbLgkUth8cS3 A6jIxLKDT542Jow3gEsIfH2QLRfqp+GyDGfte+sI1WTuLm1CLzzHUE1Z6j7OlrPnn5qvWb GD8ytC48KRvNAREe/xXTcldUuXLCQQUY58qTasltbEheCvd7xpC8gDq9NR5+YQ4LhZCdVK 8dQbfDFKLC7M3Zmqua4SoeBlABwIFaTf0sPjD58AJ123wIeffuIbFDZllVUGZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598260; a=rsa-sha256; cv=none; b=DL6SECARSD15qQtM/8+nI6K3CxC3jMOTmtJI1mEorz7T/xGGtq5pyJ9t+ANfG9XxKZAWlS p7JQCyFnMjRCzt0iLRFYOFX+nCHGNrnftiKf45PVmGXPkadWevpegLJTK55lf9bIBjGSKH w/agpsNjI7y40iLqyOewTutnn5WRzJfdv8rqTluNJTARMh3nqEDRycJFMCdoJqsKN2iNGz NvZKqL95NsqsuZOQ/PH3sPMJd+GJO8WenA4A9r0cTe3AxNA+gUjX1aJX/yLCyA/ZhRegOd HwhNd/ORO8l9RbXiZVFcfLPfQzoAsOgTr8KaCrx9dsbaI0+caOR2k24jDpkoxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4g4TFfzQNp; Tue, 24 Jan 2023 22:10:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMAxRB083289; Tue, 24 Jan 2023 22:10:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMAxMp083288; Tue, 24 Jan 2023 22:10:59 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:10:59 GMT Message-Id: <202301242210.30OMAxMp083288@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: 4f1ca9317bbc - stable/13 - kboot: Implement symlink(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4f1ca9317bbc0677f5ff82e4f0ae3a422f9c7229 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4f1ca9317bbc0677f5ff82e4f0ae3a422f9c7229 commit 4f1ca9317bbc0677f5ff82e4f0ae3a422f9c7229 Author: Warner Losh AuthorDate: 2022-06-30 18:22:33 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement symlink(2) Linux's /dev/fd is implemented inside of /proc/self/fd, so we may need to create a symlink to it early in boot. "/dev/fd" and "/dev/std*" might not be strictly required for the boot loader, but should be present for maximum flexibility. Sponsored by: Netflix (cherry picked from commit a4ed0eb1aa64d10feaf1e64de39eb07be43a5204) --- stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 3 +++ stand/kboot/host_syscalls.c | 6 ++++++ 4 files changed, 11 insertions(+) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 47bb84cc3a36..756b3e93af9a 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -12,6 +12,7 @@ #define SYS_pselect6 270 #define SYS_read 0 #define SYS_reboot 169 +#define SYS_symlinkat 266 #define SYS_uname 63 #define SYS_write 1 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 2b0599b47435..13f26d80f6a3 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -13,6 +13,7 @@ #define SYS_pselect6 280 #define SYS_read 3 #define SYS_reboot 88 +#define SYS_symlinkat 295 #define SYS_uname 120 #define SYS_write 4 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 4a3ff3ea818e..3b02f2e78304 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -68,6 +68,8 @@ typedef int64_t host_blkcnt_t; #define HOST_O_APPEND 02000 #define HOST_O_NONBLOCK 04000 +#define HOST_AT_FDCWD -100 /* Relative to current directory */ + /* * Data types */ @@ -104,6 +106,7 @@ int host_reboot(int, int, int, uintptr_t); int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, struct host_timeval *timeout); int host_stat(const char *path, struct host_kstat *sb); +int host_symlink(const char *path1, const char *path2); int host_uname(struct old_utsname *); ssize_t host_write(int fd, const void *buf, size_t nbyte); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index a83bc3bbfe0d..a69937a5a0e1 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -110,6 +110,12 @@ host_stat(const char *path, struct host_kstat *sb) return host_syscall(SYS_newfstatat, HOST_AT_FDCWD, (uintptr_t)path, (uintptr_t)sb, 0); } +int +host_symlink(const char *path1, const char *path2) +{ + return host_syscall(SYS_symlinkat, HOST_AT_FDCWD, path1, path2); +} + int host_uname(struct old_utsname *uts) { From nobody Tue Jan 24 22:11:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4j2tr8z3bf4d; Tue, 24 Jan 2023 22:11: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 4P1h4j1T2Mz4LxV; Tue, 24 Jan 2023 22:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I87SuzlGYMCRBugLHpo2jgWnd7UccK1HSfcxw+vn9Jw=; b=xu6kjWE/Ex1yAm8ineUysayKoTprCh/ubaIg/jXgQBCAy6ENjfL7LGI855CZrs8L8lDxpG 7sTvopjHUU+CRLj2HX1JsS58Juq7bN5XPfrfT+YdKGc3FsXRiFW0byAtU3MrvB0s6NaC+V wgAK7trmaXTtKcaTpn8A7OHscPrSrvQdhGjU/4EucCsK1PvplEaQghjFnP3dqUut9kY+BI 0Xwnb/T0Ui2Oal3sJyiArxkkO7qOIHmZHNEl3ToRoX7bCEAwU6Pmv190nYu8V6W+q3CAt4 //cRKP8br0FRFtrYZs1nzKaMPPKBkrUlMhmgx6HN7iR4tx2bc5e44y17YveXfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I87SuzlGYMCRBugLHpo2jgWnd7UccK1HSfcxw+vn9Jw=; b=rGvWpRchTrFNbLWV72xRgXWJsw9h+ULkMa9Wv/RbX9/lmAPvvRh1cbcKpNpCISg4GAsNcI t4wwFo3FS+6ah6xAFdRqhX/RNrbCRkaVz6RTZdI9TTX5ooPWSbRLnkuK/+bVmA1sDMDEUg pK6UXUkDF6BYW9xvG4R0X84faGkQV+XIDN//F8rltc2u8reqigT6W1SHQ11LLqRYuChsVy Ishq5WthwCtVcIuMvTgJx1ukwRHfiU1tj7CSLsb2soSx93rQtS4DNy378YlOpCtfkvTT82 b0COSyQdt+dO+9enJ2UJxAtnqFcZZwcb3malJG7d6b5CbCAeFzuDmtA1dJi7Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598261; a=rsa-sha256; cv=none; b=bsQq3fXdhpzjPjc25SYK/Yj6l8yWBNJw5DMzK8B/ugUF6gYJYpHrpzK9uwwGxLaig99a0R c9riz43s5/Jm2TPME/xN1HsY2MRlkuS8BEt7F34MEEP2NPYwGKlB4v0e9lySLw5L0Dpn3U nafAYHYdGZ0uMGXWjtZ3rCpKYsA3hLKt1J3yLLRXe8QksC/UMymD0D/CULctCanhmdJaC/ oKd4te16JpKs61xKvwZm3CXg6QqOtRpi7MHa793FhCSLlR+G1ht1aMAvhIXfviwtptZkby Q1X9n6BEis19C0VV9FpFoL+xPUxdTP+mY/JBuPu52RIAiXjO3RRACUi8+Wa4JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4h6RLHzQRN; Tue, 24 Jan 2023 22:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB08x083331; Tue, 24 Jan 2023 22:11:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB0nA083330; Tue, 24 Jan 2023 22:11:00 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:00 GMT Message-Id: <202301242211.30OMB0nA083330@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: 96ea167ec8d6 - stable/13 - kboot: Implement dup(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 96ea167ec8d66974f510ea2514f1e77d4484cf34 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=96ea167ec8d66974f510ea2514f1e77d4484cf34 commit 96ea167ec8d66974f510ea2514f1e77d4484cf34 Author: Warner Losh AuthorDate: 2022-06-30 18:25:49 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement dup(2) Early in boot, we need to create the normal stdin/out/err env for the boot loader to run in. To do that, we need to open the console and duplicate the file descriptors which requires dup(2). Implement a wrapper as host_dup. Sponsored by: Netflix (cherry picked from commit bc84de741dfd3b81cc7d332f8e6f0d84afe4eee1) --- stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 1 + stand/kboot/host_syscalls.c | 6 ++++++ 4 files changed, 9 insertions(+) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 756b3e93af9a..62deefe73539 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -1,4 +1,5 @@ #define SYS_close 3 +#define SYS_dup 32 #define SYS_getdents 78 #define SYS_getpid 39 #define SYS_gettimeofday 96 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 13f26d80f6a3..d6678d9044d9 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,4 +1,5 @@ #define SYS_close 6 +#define SYS_dup 41 #define SYS_fstat 108 #define SYS_getdents 141 #define SYS_getpid 20 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 3b02f2e78304..10d4166514b9 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -92,6 +92,7 @@ struct host_timeval { * System Calls */ int host_close(int fd); +int host_dup(int fd); int host_fstat(int fd, struct host_kstat *sb); int host_getdents(int fd, void *dirp, int count); int host_getpid(void); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index a69937a5a0e1..2fe4c599df82 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -13,6 +13,12 @@ host_close(int fd) return host_syscall(SYS_close, fd); } +int +host_dup(int fd) +{ + return host_syscall(SYS_dup, fd); +} + int host_fstat(int fd, struct host_kstat *sb) { From nobody Tue Jan 24 22:11:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4k2hDMz3bfFq; Tue, 24 Jan 2023 22:11: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 4P1h4k0t8Jz4M3g; Tue, 24 Jan 2023 22:11:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9oJ46MU4hyqPPPhwlqwzi36T7ukmU1UK2Ew7JA5Op1w=; b=j/lC02Vfy2r3Ps8oBNbKoYolMi2ff9JcCnJlrDFucuYRCGrPiTKXfrO8e8DSAlMM8kSHzn LGxoSmN9giNKM8XXF6Vp+VJbUPAlWqj5V2ssgpevd2UB7UwaTOz++IyfxRo91ae/2uPkti nju91woWdj65mPC/HET7OtmJYkQ3q1v8vFAc2VPoPlXLyYvCGjAloEwg22a0jlIbp+V0es GaCNnlFmYzocwVd77XEhOcenRkZ7eFuMBtJL3gPLKA2XUK4GLNeQw5sSbRSjV78aHScR6Z K7UbwP83qPhnXWT5stYvWpwpMTZS+B89G5niwRF5n682PlQeohtR9m5ze4dTKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9oJ46MU4hyqPPPhwlqwzi36T7ukmU1UK2Ew7JA5Op1w=; b=BoLlrklM+/iD2+xSCHogKNpynbRleJmYt5oJc++e9MM1fHgqBMzbYhB6Vi3B8Bmfi7Kxy+ uWJXACIuAhOsf6OLV8WZTPSp57wnqXzJmajo9bSA0EHtjA3y7/IT0aPa6WBEZ2TBcwVAQ3 4NrqAH7ven/RRnOSSSBj8xuS2i0mGxERbWI5HLe/DszLPw3O5s2qtTnm4CH305vT6puiZs FWlO23pX61ANXqzkrHmJ4xI304zt48vmymoj+NEl5NGvz9Q49yrZwLJuit982R3uaMQkaN ZSCsx2sbTOrrvsbWs7FWLV1o4bgDhnh42dk6Sibe9LbDcmgSYlUDWlj2vOFnsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598262; a=rsa-sha256; cv=none; b=DCrUUW06/XgrqvEbZm8gDBdKAxLKF0gs+xFpNh0RMzbsZcsdTYiaqH4XCkZUuiIYwbN9Sk 9EK1PJ31bRhuOVDQmsfz0uW/Oryk41cDFADCTk7/oC/KcTLSeviXmFdTBSEfrOmXKd0uEi 4WOWA2T3ntUY1Jmm061ne4jH/FDOnqM7xa9gKBHkg4Vpdv8q4iCiVm15hIHjqfkfIOI9bH ff6jsk3j2ZGjKZ+gom5SXXmVkLrZXp9Lrj7MhgEN3nDMd11nYpGdp5tKs9kuvkIuGU07A5 rgCrFEjAiGKlRNrkIfAnqSpaTtuM8/kdE0G0XMp/WHhzsDMAM+NG8A4AAxTjeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4j6dWszQRP; Tue, 24 Jan 2023 22:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB1TB083362; Tue, 24 Jan 2023 22:11:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB1Yo083361; Tue, 24 Jan 2023 22:11:01 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:01 GMT Message-Id: <202301242211.30OMB1Yo083361@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: 6632ac6d8a84 - stable/13 - kboot: Implement mkdir(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6632ac6d8a842336cb032f53ad98061353708a48 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6632ac6d8a842336cb032f53ad98061353708a48 commit 6632ac6d8a842336cb032f53ad98061353708a48 Author: Warner Losh AuthorDate: 2022-06-30 18:09:26 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement mkdir(2) mkdir() may be needed early in boot to create missing directories. Provide a syscall wrapper for it. Sponsored by: Netflix (cherry picked from commit a99d47bcaaf61eb869f5f04fa51fe38b19504ac4) --- stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 1 + stand/kboot/host_syscalls.c | 6 ++++++ 4 files changed, 9 insertions(+) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 62deefe73539..b847b21efa88 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -5,6 +5,7 @@ #define SYS_gettimeofday 96 #define SYS_kexec_load 246 #define SYS_lseek 8 +#define SYS_mkdirat 258 #define SYS_mmap 9 #define SYS_munmap 11 #define SYS_newfstat 5 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index d6678d9044d9..b86874b92e76 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -6,6 +6,7 @@ #define SYS_gettimeofday 78 #define SYS_kexec_load 268 #define SYS_llseek 140 +#define SYS_mkdirat 287 #define SYS_mmap 90 #define SYS_munmap 91 #define SYS_newfstat SYS_fstat diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 10d4166514b9..76a5efb0a091 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -99,6 +99,7 @@ int host_getpid(void); int host_gettimeofday(struct host_timeval *a, void *b); int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); +int host_mkdir(const char *, host_mode_t); void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); int host_munmap(void *addr, size_t len); int host_open(const char *path, int flags, int mode); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 2fe4c599df82..99f5444eb469 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -63,6 +63,12 @@ host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, in #endif } +int +host_mkdir(const char *path, host_mode_t mode) +{ + return host_syscall(SYS_mkdirat, HOST_AT_FDCWD, (uintptr_t)path, mode); +} + void * host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) { From nobody Tue Jan 24 22:11:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4l60npz3bdwt; Tue, 24 Jan 2023 22:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h4l30Rgz4Lxr; Tue, 24 Jan 2023 22:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KWsWloj6IFa50K95Sfs4Wfz+rvu2rO8FA/cM6639ZL8=; b=LzEi6uDxnWjxlsRhmJEqKErMwklsNBL8KjhFyDqJ0VDuY+QFXAdaUQRpfaHMh20PgP54rf PlQZhAcmxKvnggRiv04qQm6ZZ8r7MG7ctIWYOiZaflFWbDdejbsqDH97RgBDvgl65S8WLx fNvpFT+5ckN8PcAWRMxMeNVngoYhrYRfSKdjUnpEE1H4TFPd8+YgsmjAdLuvQ4b9z9M1Jq CryPM6rrL3DWjSBBfxu+pEtxYbFpkYqxHKoRRl0Ngakj5VO9fXo1Ofiu7n1PEfVi5f4r7V 9FzB19TvfgC3TaaQxGfO99b1za3bWzgNkdkKtrrLieQ/XK541HKF5SP/YnWGBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KWsWloj6IFa50K95Sfs4Wfz+rvu2rO8FA/cM6639ZL8=; b=bbgFXtB9nVugAUOnGCukf0g6ySQrDNIVS3d/G/I9+z3C8iCezEKEoIFePxuiBZF2Q73WoK 7KlbAt0Wu10xi+I3IPLK71MVjWabsU5qqrvdNQkBsHmvn/3+adyUrTcpKeHriLDHSTGnYg P3qF7YmL91EQKdQ32pRYjABeot9Hu4uUiLps4finziV7X/ot0M4aHObls/6IRts9DcHDE+ vUAf4jnoLPDkuqXST9b3Bqp1+vqbBLn9FXjkVmooVEyGo0BI9J5TwXZJieFj56oBYlVhRq 4Sx6qt0Je2N0vJYUvJU+rizk6dvCOWqDdv5c0eDQanCsyWTZM3Gaf/ywPspoow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598263; a=rsa-sha256; cv=none; b=Itoa2YyA6gxhthYk9/F0bbQy35U5mn8LPvBd9Mag7Gsp1ifa7JYTls5uClUpxFeIjni6QN 39uPWT2Fjrun6W9zOp5LE/apL6GVVY99h2SI//uIXTdKTQ7CGGHzUfsdQ5ED+px1bNDFCL 8/HGk7jOZkDUgct+2aFrx12jdbDRh2womJMb4aE9n1PmcX/b+rBNfNzARXz5LzythJMfY1 OtHpToa009kxBpo2Ttc/JSJbFnGXns7Vf4MWgTlRbGEUR0xrOdw5Y5PiRYuINxJ0B6X492 /z/NwC3/xdhfEpyij7b4g0vLfRC3SVRF5IqRD3Bc8ujiiTGzHoNb0HGjkoaXcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4l0JxKzQTd; Tue, 24 Jan 2023 22:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB2Xj083388; Tue, 24 Jan 2023 22:11:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB2Fo083387; Tue, 24 Jan 2023 22:11:02 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:02 GMT Message-Id: <202301242211.30OMB2Fo083387@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: 60688f592d9f - stable/13 - kboot: Implement mount(2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 60688f592d9fcde35b623b9759f4fd61cd796b48 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=60688f592d9fcde35b623b9759f4fd61cd796b48 commit 60688f592d9fcde35b623b9759f4fd61cd796b48 Author: Warner Losh AuthorDate: 2022-06-30 18:16:46 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Implement mount(2) Create a wrapper for the mount system call. To ensure a sane early boot environment and to gather data we need for kexec, we may need to mount some special filesystems. Sponsored by: Netflix (cherry picked from commit 8138a766b068a17ad8f13ddcb850f356c04d9074) --- stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 5 +++++ stand/kboot/host_syscalls.c | 7 +++++++ 4 files changed, 14 insertions(+) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index b847b21efa88..4e2f686e7ae5 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -7,6 +7,7 @@ #define SYS_lseek 8 #define SYS_mkdirat 258 #define SYS_mmap 9 +#define SYS_mount 165 #define SYS_munmap 11 #define SYS_newfstat 5 #define SYS_newfstatat 262 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index b86874b92e76..404a6f15fafc 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -8,6 +8,7 @@ #define SYS_llseek 140 #define SYS_mkdirat 287 #define SYS_mmap 90 +#define SYS_mount 21 #define SYS_munmap 91 #define SYS_newfstat SYS_fstat #define SYS_newfstatat 291 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 76a5efb0a091..1ce74d3f393d 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -88,6 +88,9 @@ struct host_timeval { #define HOST_AT_FDCWD -100 /* Relative to current directory */ +/* Mount flags from uapi */ +#define MS_RELATIME (1 << 21) + /* * System Calls */ @@ -101,6 +104,8 @@ int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); int host_mkdir(const char *, host_mode_t); void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); +int host_mount(const char *src, const char *target, const char *type, + unsigned long flags, void *data); int host_munmap(void *addr, size_t len); int host_open(const char *path, int flags, int mode); ssize_t host_read(int fd, void *buf, size_t nbyte); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 99f5444eb469..1dd7aeb1963b 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -75,6 +75,13 @@ host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) return (void *)host_syscall(SYS_mmap, (uintptr_t)addr, len, prot, flags, fd, off); } +int +host_mount(const char *src, const char *target, const char *type, unsigned long flags, + void *data) +{ + return host_syscall(SYS_mount, src, target, type, flags, data); +} + int host_munmap(void *addr, size_t len) { From nobody Tue Jan 24 22:11:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4m3TNTz3bfFx; Tue, 24 Jan 2023 22:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h4m2R6Pz4MBB; Tue, 24 Jan 2023 22:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70n4ghoKckkZWi0N168ZQAZpUBQh307njnX3bELHENk=; b=dlzg39msWtzEkPUnP36S94aqu3sAyU/sVXyw7bbOiw/JQ0vch+BmhXnvXx+5Wnd5W4GSOd TAFK9wzemGUS0YGFxlS1XhU0JFjdk11kL1YEeL34omQSFddV/ZMhkcMFVJ8d1lYBPZCbnB Sj7EAhCqbDuBpfeJFzm551TYRIGTHWt+59AN0ngZn0kZsYuF9VajT1VzTyh/qxz9rmERtF xaFKbLCriYmSGGqV7Qj0uk7HT+e/G1bnIiEJHcChDQjT8mfJww6L+gAz7V3r64fYTDXNF4 fT9F69CGGpIM3Vepm5/Wbx36OnsqX5DGKJlOnEuDDw0yk4Whjctdjqu0r46IvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70n4ghoKckkZWi0N168ZQAZpUBQh307njnX3bELHENk=; b=mL9XjmGMJFzS8nVBJJYvxH2nOL4ShuK0wn3xHpwcF3CUwPFQt8QVrYGAeQS58AYqrElR4F K+rvJxiyWmcQqU41jzHIHcFH6YbdA56yLqxkRaDFe6iHiTNsSumJiGQWe5T845Qi84q8fk PSslD5nQdHXYCNEzVXspDJ3e0s+7WZWsidiktbJKy1vBb9dLZBpeKIUCM7TtXdMVzq5ZZO p9HHoPvXBjlKRsZOsBfGzuXr6IkYCBnhKvvIOgNS8cJiNu9WJiuHbpk+gQFFk7A3t1QPZx pji0r6f455friTSHvJo/HpNuSouRZlrSW/GIChIdxgqwyMF+tjkGjsy5K4FZyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598264; a=rsa-sha256; cv=none; b=jiXwDP0AOIKLqb7WHKOL7u25oNBIIKanmsqrw6ECBQWrcEXohbDq91oBRLpsExEKinnx3G cVarLsHqHkuY9wn9wbS7Aw6lVfmqw4PyuJEHLDOG91tjw03RoqU/M4Pn0BKrQOJggbrMH0 8c/ooJq2wSlgYj9eWKcU86uAlnfMv/f+0AhvFvqCqC3R9iQubx2cPVr5IzeE2wyE3YKzX0 V6DZ6unl4U8VNo2G/6eGlpjYb/PWfdeywZvbW0iaiZBwb4rv7XaIx0bCBksAClwO+Z/uWe GF7npG9Su/jTASl62gY+m4xnjH01e+J3iPxdzPctkclimpiMfjyEdF6uunyz1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4m1YNvzQ1V; Tue, 24 Jan 2023 22:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB4nN083416; Tue, 24 Jan 2023 22:11:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB4ej083415; Tue, 24 Jan 2023 22:11:04 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:04 GMT Message-Id: <202301242211.30OMB4ej083415@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: 067fa78a99d6 - stable/13 - kboot: Use #defines for magic reboot constants List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 067fa78a99d61f099a0f522798b1b0fe0e121915 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=067fa78a99d61f099a0f522798b1b0fe0e121915 commit 067fa78a99d61f099a0f522798b1b0fe0e121915 Author: Warner Losh AuthorDate: 2022-06-28 14:44:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:24 +0000 kboot: Use #defines for magic reboot constants Sponsored by: Netflix (cherry picked from commit 8fa9263f67eb78c8ded9bd3d94c9c841cd0b6ba3) --- stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 4 ++-- stand/kboot/host_syscall.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index 7de963d4e211..94f27d13f1b9 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -157,8 +157,8 @@ ppc64_elf_exec(struct preloaded_file *fp) if (error != 0) panic("kexec_load returned error: %d", error); - error = host_reboot(0xfee1dead, 672274793, - 0x45584543 /* LINUX_REBOOT_CMD_KEXEC */, (uintptr_t)NULL); + error = host_reboot(HOST_REBOOT_MAGIC1, HOST_REBOOT_MAGIC2, HOST_REBOOT_CMD_KEXEC, + (uintptr_t)NULL); if (error != 0) panic("reboot returned error: %d", error); diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 1ce74d3f393d..1b12ffc3d4e6 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -91,6 +91,10 @@ struct host_timeval { /* Mount flags from uapi */ #define MS_RELATIME (1 << 21) +#define HOST_REBOOT_MAGIC1 0xfee1dead +#define HOST_REBOOT_MAGIC2 672274793 +#define HOST_REBOOT_CMD_KEXEC 0x45584543 + /* * System Calls */ From nobody Tue Jan 24 22:11:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4n42Z2z3bfG3; Tue, 24 Jan 2023 22:11:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h4n3Tv1z4MDZ; Tue, 24 Jan 2023 22:11:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C88TgtYblkXZ1S1QZX5s/LRQFXfDucWMx9IHyKSqQxg=; b=D4NAUJi+16RhsATM97S21NwTXDkbxQ2mtaBWxJyDvAqkujHPULuDPAC7/Al7q4gGCXggEE GJ5DEPuoTJsgs0cR2Uq1IOars6PdOa+Qmx/FIqdoi5UyHWfroGa8cSxEQLVi4p9nGLjJKf hxQzLjLVgvKyQMKvbmMULf+nN/z68aISWqFeUP2Isjxs6H+Bk8ZUdXxfPNGJDnZ8LRlivx MpivpdpE/CfHww9Xe2ZmXmn1ceIf5aUwIkQ+FdJYiQ+Z5hX9mu+SCqzPODEl6MtDyTlfRx fnxAXtkvfVfu60rgE9LDGioXmYuXJ33cbzwoILjF5/ByTttz42Hi31qhqtJYjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C88TgtYblkXZ1S1QZX5s/LRQFXfDucWMx9IHyKSqQxg=; b=iDpapKc6yUO1IWl748+K5NNRfmmhRaVgokLqLlLBNQLCz+K9izfAHnTKCgtidhT6a6XXa0 yWI/qZou+IQ5jWqEGmNUIGfpieI2zchdkTU/TmVNdyU8Aw9ibLE+FVGO58PZ3GeDtedNjr SbI7Odpr0IFLZPxQynJMZpB4Bn4dT2acnjgdEm6ERhV0iWQwYGbjeYiESog8r3TfvzHQCU qb/ALQxS1tHno1HVr0+dgY15FunLSeDqDtaqGI2ibYCH9fBXLbtcHVNGCYkNqUg737+nXY 4u19f80D1LfeiwTPtzzEjf2AKxaKm7ioW2cx0L6T/IJtDHcrnR/JPkW1+oj1ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598265; a=rsa-sha256; cv=none; b=Bz4Goe6ENbxWRs4rG+SYJRRmWTlHbxLWUcqLUM7ojnqDeEoHv7IyN2+a6neydv2o0pcreu iZSo3ABKceLYTYbI24lxZLUNwSRYjHMhHpsWrTFOxpSdXwzim343vsh8XkWrHYOhNKx7Kl /9VflwNh1GAHUqTepM2DLbD6YN/1zomc7oWaFojXP3pmDuyC1hsoxz/Qwydx155yO4hnc9 baCmzvXwugTNiIszamrop9j/05pDwfM8I3iGvFiur5lqtbnGyq6YlMp4RJXfITSha0VfGh YvSMgHsyxj7LkTDTp/eu6bxN3WfJSOlw8bNhoaz0+99JWczBXLGTP/deLNzEjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4n2ZkDzQZ2; Tue, 24 Jan 2023 22:11:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB5KT083441; Tue, 24 Jan 2023 22:11:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB5Fn083440; Tue, 24 Jan 2023 22:11:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:05 GMT Message-Id: <202301242211.30OMB5Fn083440@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: 27a094a2e66c - stable/13 - kboot: Refinements to host_kexec_load List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 27a094a2e66c2641f18b05558cb6b28582e413dc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=27a094a2e66c2641f18b05558cb6b28582e413dc commit 27a094a2e66c2641f18b05558cb6b28582e413dc Author: Warner Losh AuthorDate: 2022-06-28 16:40:04 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 kboot: Refinements to host_kexec_load Move kexec_segments to host_syscall.h and pre-pend host_ to it. Correct args to host_exec_load. Sponsored by: Netflix (cherry picked from commit ffb0d016df7e5526e4b8fd74a1f0617c81478328) --- stand/kboot/arch/amd64/syscall_nr.h | 3 --- stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 2 +- stand/kboot/arch/powerpc64/syscall_nr.h | 3 --- stand/kboot/host_syscall.h | 25 ++++++++++++++++++++++++- stand/kboot/host_syscalls.c | 4 ++-- stand/kboot/main.c | 9 +-------- 6 files changed, 28 insertions(+), 18 deletions(-) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 4e2f686e7ae5..4d8db2083ebc 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -18,6 +18,3 @@ #define SYS_symlinkat 266 #define SYS_uname 63 #define SYS_write 1 - -#define KEXEC_ARCH_X86_64 62 -#define KEXEC_ARCH KEXEC_ARCH_X86_64 diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index 94f27d13f1b9..93dcb2ea9c3b 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -153,7 +153,7 @@ ppc64_elf_exec(struct preloaded_file *fp) panic("architecture did not provide kexec segment mapping"); archsw.arch_kexec_kseg_get(&nseg, &kseg); - error = host_kexec_load(trampolinebase, nseg, (uintptr_t)kseg, KEXEC_ARCH << 16); + error = host_kexec_load(trampolinebase, nseg, kseg, HOST_KEXEC_ARCH_PPC64); if (error != 0) panic("kexec_load returned error: %d", error); diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 404a6f15fafc..a467259e8b60 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -19,6 +19,3 @@ #define SYS_symlinkat 295 #define SYS_uname 120 #define SYS_write 4 - -#define KEXEC_ARCH_PPC64 21 -#define KEXEC_ARCH KEXEC_ARCH_PPC64 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 1b12ffc3d4e6..061f82b062b0 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -95,6 +95,29 @@ struct host_timeval { #define HOST_REBOOT_MAGIC2 672274793 #define HOST_REBOOT_CMD_KEXEC 0x45584543 +/* + * Values from linux/tools/include/uapi/linux/kexec.h + */ + +/* + * Values match ELF architecture types. + */ +#define HOST_KEXEC_ARCH_X86_64 (62 << 16) +#define HOST_KEXEC_ARCH_PPC64 (21 << 16) +#define HOST_KEXEC_ARCH_ARM (40 << 16) +#define HOST_KEXEC_ARCH_AARCH64 (183 << 16) +#define HOST_KEXEC_ARCH_RISCV (243 << 16) + +/* Arbitrary cap on segments */ +#define HOST_KEXEC_SEGMENT_MAX 16 + +struct host_kexec_segment { + void *buf; + int bufsz; + void *mem; + int memsz; +}; + /* * System Calls */ @@ -104,7 +127,7 @@ int host_fstat(int fd, struct host_kstat *sb); int host_getdents(int fd, void *dirp, int count); int host_getpid(void); int host_gettimeofday(struct host_timeval *a, void *b); -int host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags); +int host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); int host_mkdir(const char *, host_mode_t); void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 1dd7aeb1963b..865107263d7b 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -44,9 +44,9 @@ host_gettimeofday(struct host_timeval *a, void *b) } int -host_kexec_load(uint32_t start, int nsegs, uint32_t segs, uint32_t flags) +host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags) { - return host_syscall(SYS_kexec_load, start, nsegs, segs, flags); + return host_syscall(SYS_kexec_load, entry, nsegs, segs, flags); } ssize_t diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 3fab25132f15..79c03398ba6d 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -340,14 +340,7 @@ time(time_t *tloc) return (rv); } -struct kexec_segment { - void *buf; - int bufsz; - void *mem; - int memsz; -}; - -struct kexec_segment loaded_segments[128]; +struct host_kexec_segment loaded_segments[128]; int nkexec_segments = 0; static ssize_t From nobody Tue Jan 24 22:11:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4q0VJSz3bf33; Tue, 24 Jan 2023 22:11: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 4P1h4p4Gtxz4MQL; Tue, 24 Jan 2023 22:11:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N1TQL8fiOgUDdpSN2jwaHV+6qsuOs9nf/+fb7eT0/l0=; b=rCu7bgZ3+nKqA1ufx0Q0rqqj/nwnhIk4SpsVuoqyf4fAdtm58qKnUYpFushqAH4dgqRpjq vDPKmxtFqgdpfAOm6nEmZPoooBqYICG5UbDYXddh22IJ0P7lJ54XoElB4DczO64G8Rvcla Hynq4d2ZXlp7Wge0ZMFvndU0JZsDt37frQTxisit6HLzbnJM2Z8Xr3byJsqb6OuPkL3erQ C2H+oc66JkuL2tZFO4bvEQvf5I2JuubA3WmejWXo52itwxw6qkKgvh3NvGwu+xZpBFWxoG pOegCi/xqHtuWFIwNhvqxcKzZujiyIXJfEYtN1kQlwuEa8ITJveyrKYY+6DkNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N1TQL8fiOgUDdpSN2jwaHV+6qsuOs9nf/+fb7eT0/l0=; b=NXTQbImwPmFJr6jaYKu//H+TMRRxv5/AhwHhynQ4JqaGhxvXq6fX4t4GsbcCLXZzriAaBE ESj1tpqDgBJtHEwlsf5/GC1HN+nCLhLeo/wUskqhQ0NXFUS4Kos1YCnG63NYefxkGmh22Y VolVmEdPosZTMRriJsEpNG5oWMpIHwJqzr5RCQPsjfol3eTnInNLojggNbVh+GVWQTbpd+ nMBJHIaF4vv4saXabYu2UOe/Jj54RodmTDbuWP6rDLi/ItqtQxHCVsoRhSdxURsKYbraq1 NGqLu6TZlFBGNntxDybosfIJd1f1nf8Vlcv1hW1kQiPr5339NbozHEYCcn9FBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598266; a=rsa-sha256; cv=none; b=W7M0OuJCZuB4yAAICVR6cKckATM5wGDFjHXsRTbe/pap8eHNx1miqC0DEom8hQ5Y5WTs0E B13GL6zRLW209/yU18qGB6KfZlBKLjDiC+PNeBaKE4jtpC4eCAESN5UOQUtTCw14LughXQ 4a+nZhwwlW8FKYpEBjg7S6kKLU9B2xVHj1ZHQXaNcXLn0fbkShLMBzNAx9S2TvoL6XfQew hMTFU3H1suLKKWzQvyJKdLkuUTe1weXUcTWMQpJBSrL37+IseKdbKiVZB6D3SoQTmHICdy GL0BJPgjNEYdnmOWQR5OPAfChPEcn0x6wzwQ6kmSe0tqiDVNzRdnCe1JOpxirQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4p3CCjzQFY; Tue, 24 Jan 2023 22:11:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB6Ku083469; Tue, 24 Jan 2023 22:11:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB62L083468; Tue, 24 Jan 2023 22:11:06 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:06 GMT Message-Id: <202301242211.30OMB62L083468@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: d70add87a61e - stable/13 - kboot: Properly cap number of segments loaded for kexec List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d70add87a61ee95b587a2436c9cac0a546479c58 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d70add87a61ee95b587a2436c9cac0a546479c58 commit d70add87a61ee95b587a2436c9cac0a546479c58 Author: Warner Losh AuthorDate: 2022-06-29 22:31:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 kboot: Properly cap number of segments loaded for kexec Linux has an arbitrary limit of 16 segments. Make sure we don't load too many. Sponsored by: Netflix (cherry picked from commit 2870493f1f55d5c00e5593f336dc05805863db7f) --- stand/kboot/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 79c03398ba6d..83ad0ceb8a18 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -340,15 +340,17 @@ time(time_t *tloc) return (rv); } -struct host_kexec_segment loaded_segments[128]; +struct host_kexec_segment loaded_segments[HOST_KEXEC_SEGMENT_MAX]; int nkexec_segments = 0; static ssize_t get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) { int i = 0; - const size_t segsize = 4*1024*1024; + const size_t segsize = 8*1024*1024; + if (nkexec_segments == HOST_KEXEC_SEGMENT_MAX) + panic("Tried to load too many kexec segments"); for (i = 0; i < nkexec_segments; i++) { if (dest >= (vm_offset_t)loaded_segments[i].mem && dest < (vm_offset_t)loaded_segments[i].mem + From nobody Tue Jan 24 22:11:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4r06MZz3bf4r; Tue, 24 Jan 2023 22:11: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 4P1h4q5FYGz4MSb; Tue, 24 Jan 2023 22:11:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S3iUm/4qslheh2AY2gr08jjp5eF5Rnz1+1whl603YIM=; b=qoa2cB7WKn+bcvSNK13rkSHz7OUpoaDOmJLguwjRNczyzoftnrxht8pdtjsrWEIDHZ2ns8 ZaHwvIZd+qrdrRD+vBJdBHBb7NlwwzxWD63iViapCzkXdrXaOfKrsv1aXI45BdjiUi/kMN lGRuPt2HOHC3R4UGgb5gMEkvi/aVeUiJmyhjeAixgQaqLWMhcFkL6N6LqViFGDoVhjOJ8z XVOwo12L3xIz734KgilX+WE2IH5vYz8E8jUfJEbEWo3lfO03F+fu9g8KvPZa2GUtF5hBme QORafB5w8f7z8hTtopV76JxlovcQLt/XNPoQRshg1N2WV90bgjkxRIxnDssz/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S3iUm/4qslheh2AY2gr08jjp5eF5Rnz1+1whl603YIM=; b=t9PuOIGmoFwjmdXbOrJbiUmi0qfYPWpFS3AFnXTh8eHbgqzdlukGEQFT1ioTDTzCYTVyqf PuoAw9W34wnb0QKsj1WO4qVfK44c+NMnWNKOwkzl3UEBjkZbZmYbOJZgSCwlz0A6VyBfef SjTdMRyqf7eG5T9udkZwK+GnNSblIrnZs0TDzS7PanKHSDLPXZK8DDlSu9z/jrJKChmGx5 nLzdb+/eVH/GR69X4CVSnhMRB7lkzl9qKDOXBQXTFNQhU1SqxtGdfqYI6VBANnfHrU2hRM 6OEVma6rVGjRNaCT9lJ6uUzm0yWbjD4IMQTvpGJkBGOWoG7SL21P/tV44drYPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598267; a=rsa-sha256; cv=none; b=tMW5BQqunUKlSCnIcbie5lGZnCVwwZJ9GqjQq1wfT58XtXldeqCzbimSmv7VP9dN9TASd0 5r3m/6keg57M1JWzpZFKlO6x5Skpz7DvO/ldnRDkPeUUYpaPgo/vPzLIQa4jd2e0ZpTBlQ P5Ry9OHan974rdRyunCCjMNGh5CrI+Emt4J1uOlWGtscYeE1TiR7mLEiLROSvSvqpTYIjD PGvH/OVH0zfCuvlS3Jcy/yVfvcs77LABN8VukPK791duiXQDFhWy6QVJMyWV0uyx/pbpMq J/lWzzHuPIsRkg0t7Gu/LjZyv4kNqMjUi2lyTLN3CvimGH7QYKzK1jbQS8rk9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4q4KPJzQFZ; Tue, 24 Jan 2023 22:11:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB7uV083499; Tue, 24 Jan 2023 22:11:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB7bR083498; Tue, 24 Jan 2023 22:11:07 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:07 GMT Message-Id: <202301242211.30OMB7bR083498@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: 0d3b88bc5a8b - stable/13 - kboot: Pull in constants from Linux's mmap.h api List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0d3b88bc5a8b45d9e0815126e12344dbbc689df7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0d3b88bc5a8b45d9e0815126e12344dbbc689df7 commit 0d3b88bc5a8b45d9e0815126e12344dbbc689df7 Author: Warner Losh AuthorDate: 2022-06-28 16:43:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 kboot: Pull in constants from Linux's mmap.h api Define the usual #defines for mmap(2) (with HOST_ prepended) and use them instead of hard coding constants. Sponsored by: Netflix (cherry picked from commit 01c58e7e4fd830b736c2fdcee4965e135f6e6685) --- stand/kboot/host_syscall.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 061f82b062b0..b867cd9f0d99 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -86,7 +86,20 @@ struct host_timeval { long tv_usec; }; -#define HOST_AT_FDCWD -100 /* Relative to current directory */ +/* + * Must match Linux's values see linux/tools/include/uapi/asm-generic/mman-common.h + * and linux/tools/include/linux/mman.h + * + * And pre-pend HOST_ here. + */ +#define HOST_PROT_READ 0x1 +#define HOST_PROT_WRITE 0x2 +#define HOST_PROT_EXEC 0x4 + +#define HOST_MAP_SHARED 0x01 +#define HOST_MAP_PRIVATE 0x02 +#define HOST_MAP_FIXED 0x10 +#define HOST_MAP_ANONYMOUS 0x20 /* Mount flags from uapi */ #define MS_RELATIME (1 << 21) @@ -147,6 +160,8 @@ ssize_t host_write(int fd, const void *buf, size_t nbyte); /* * Wrappers / one-liners */ -#define host_getmem(size) host_mmap(0, size, 3 /* RW */, 0x22 /* ANON */, -1, 0); +#define host_getmem(size) \ + host_mmap(0, size, HOST_PROT_READ | HOST_PROT_WRITE, \ + HOST_MAP_PRIVATE | HOST_MAP_ANONYMOUS, -1, 0); #endif From nobody Tue Jan 24 22:11:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4s0Mlqz3bf36; Tue, 24 Jan 2023 22:11: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 4P1h4r6Rmlz4MNV; Tue, 24 Jan 2023 22:11:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TWJqv5h/rz4FQ8xR6FvqpVYeNv67uDTufEYJPlgqoyg=; b=Q253+OxFGGTnYvyF0300qhgEXKvlRkxIkYMQlmyrV2E15CLirMxwYiTs9IVzvyLlJnPGmi C+0R7ar03Eh1m1p8AOSQAznINw7N8BKq5KMLAGPNJQ0Ej7mGER8yYTqmmGVlbd4QQNhOX+ BMkjDRfKPbAjWbkj4wlolPeO7AIOuVp5wx5GsMUwGcU3pmmHvcr+k/tvQVJZUtmsRW6NBY Jbq1jOdq71vi2bL5QOOHHPEeWlz2rn4M1LlmVigPk5PaaQDutTMTGMdIjFid5gZQL4I7WE WYTSPRx/Iih8Iqox5v50cwTbU31CKenNyKvFAR+sW8aOuYZnUbOkvco4X1MsLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TWJqv5h/rz4FQ8xR6FvqpVYeNv67uDTufEYJPlgqoyg=; b=WCHk3ktTwLD6NzmRbFpQMVkptxy1QuWV9Pq+IxR5buwtJH7ykX2uaj7s3EhDHlrN8SdZP0 +6ukH7H5BDA0eZkIgUYx8S8oE+2/buZgOtHGwpbv7vuXxloXki6IA1Wdcs0NzyVECQJe2Y ny+xWpHljzcH0Ze31YhE7dzi8Axa/06KyLBoCLpZwjnELQQbwyGfCrbaqKUopyxH02FxBG 2IfKCS7tqnkmnb0tNSpo0z2NwoxW1hcdEq2HL8MBwv1HNQDNiuY7ETzxen6zj1Ddse2Kvb xvwFEWl96qgXRf8AFk54rTebQgM+wlqUrFQ3PcB2imrRDWvRUUA8HBrUw18I+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598268; a=rsa-sha256; cv=none; b=AAmPkt0q7D0o4MacIR6lI9vtwBgxDcreIcitWP5A3tGzydyzA1nBpwws/nMDY6XaTjWogO HP0PwZLDPfCZkNS/mUrxJRgu8KNFI7rFwyWMbB45pyCSCx7UjLowKdkAv58b0a8acfvR0G GT2m3qNgZ7AIVLK0Zmhx447yi5HpjugCDb2MrRW8KFDLUmNt2JISYC4pjTDC7My0x60C+S KgFZPfe6ZjrU6OUnE6VNNeQoZXM1Og5FFUE3BBh67uVo+A+3qSdeNWFwZl/+WuYRrYbBdz SlZmwNEQSwQqeYhTBjTPNdLI3e30onV2xmIBu4MrGWA1z4mCRIQF3VvSgYw46Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4r5S6czQRS; Tue, 24 Jan 2023 22:11:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB8Tv083523; Tue, 24 Jan 2023 22:11:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB8rh083522; Tue, 24 Jan 2023 22:11:08 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:08 GMT Message-Id: <202301242211.30OMB8rh083522@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: 8b50c54588ba - stable/13 - stand: Use c99 structure initialization for md device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b50c54588ba13d809d0bff9c2a580be900dff5a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b50c54588ba13d809d0bff9c2a580be900dff5a commit 8b50c54588ba13d809d0bff9c2a580be900dff5a Author: Warner Losh AuthorDate: 2022-07-24 21:51:15 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 stand: Use c99 structure initialization for md device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit 143452f7609fc232ba9ae625a1f87d12449ff55b) --- stand/common/md.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/stand/common/md.c b/stand/common/md.c index 5585218b3276..e9fcac668d93 100644 --- a/stand/common/md.c +++ b/stand/common/md.c @@ -66,15 +66,14 @@ static int md_close(struct open_file *); static int md_print(int); struct devsw md_dev = { - "md", - DEVT_DISK, - md_init, - md_strategy, - md_open, - md_close, - noioctl, - md_print, - NULL + .dv_name = "md", + .dv_type = DEVT_DISK, + .dv_init = md_init, + .dv_strategy = md_strategy, + .dv_open = md_open, + .dv_close = md_close, + .dv_ioctl = noioctl, + .dv_print = md_print, }; static int From nobody Tue Jan 24 22:11:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4t0mcsz3bf3B; Tue, 24 Jan 2023 22:11: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 4P1h4t0BJMz4Mbc; Tue, 24 Jan 2023 22:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJV62ONs6g+G/4IfYMYB4EAnZquc8tYxqlq1+HRRxDM=; b=FmlzSepkb4A4eFLOl3WZdfyLwMV2fMN6JyyoUJHfQB+k5BHXh82Vg0E9qsU7NetCW7OAG2 VN7CHv65wPdAZjypaTvpI6BGVZ1yuGvUiYil+j0kOn8rxsbKUWi+sMqTUQZzM3sSeCY3Km vCpYD4rrGsIGy/Wxp3nqt9CXYKP8mVDzb4g1TmFoTCJr+hRbDjOebzJVZy7e1bS/qIiyNr xHnowzVDH/K5Zt9/sq6a22uS28ZWAxc3GRy853k2Gq+m2/+kr3TQPz5KtobjI+KnxEYcA+ E68akSY5PIf+0foWhljBJzw2yBWpPXDbMaxIG3YWN+A0+KzClRk4W18cjcH2kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJV62ONs6g+G/4IfYMYB4EAnZquc8tYxqlq1+HRRxDM=; b=fSfnx24GBq+lk1F+TKSycexB4VqwJbGXs+gNinzi/jMb7gULo+pSRZLV69pEnFsG3CglZY ueLsl+ATUi8fEk7Y3FWkUAxRpVGS2T+Xx3KWWCXHNDgVDmugMkM7NqyY7rjpHi/KXxX9fO 1qGxu3eKxe1FbpiiMhKWqNLmrL0XtdVFmnZQXpSewCNENfyjYJU7NLAYTZm5UNuYTVgkKh AVCz2AFxxLgkKBYti4JZVYI52heiP5iDLk+alq6bFIJf+ln3psUlDOhQoEACts/sYYQHN/ rZbXP1PTS7fsN3k6rMDofeDwUqVu6YswRW9I7Sco/dEk9JVWAexaqT8/I4D9+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598270; a=rsa-sha256; cv=none; b=qpojwo2wtvICMIruUUznjDRPAsiiDo88b2yKtyxEBNr7Kt0ET7ApVg3i08Ik5BnWbCreXz +teDYCs0+gJIiR6C6C8cEheHxvH8ytaPesrNk3ivUJSlfe9sd5xIzbVR+P8UF7i++khQib xvelzqw4JWPYCelUGwV76BxAzrCbZ2JN4re02va5zAWx68dVKZNnGN/dGezdzqwpedS29L 8pw1jFrDJULkAjWZ9MlE2g8L8ETsqIWIut+Y03Psw09KSRB1RtV2BO1BmukBJKwoIJMrgh m9EEc1ijryEp3SUkjyPc/0N3S6N3vibc5XE2wY/MA95Wgn3m3U0puI5WYfy/pg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4s6PHFzQX5; Tue, 24 Jan 2023 22:11:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMB9jR083550; Tue, 24 Jan 2023 22:11:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMB972083549; Tue, 24 Jan 2023 22:11:09 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:09 GMT Message-Id: <202301242211.30OMB972083549@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: ff2b7167c3db - stable/13 - stand: Use c99 structure initialization for kboot's hostdisk device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ff2b7167c3dbcde26e513f85e8e9be6e1815d445 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ff2b7167c3dbcde26e513f85e8e9be6e1815d445 commit ff2b7167c3dbcde26e513f85e8e9be6e1815d445 Author: Warner Losh AuthorDate: 2022-07-24 21:51:19 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 stand: Use c99 structure initialization for kboot's hostdisk device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit fc5d0d51aafc1a954a5e9cfa69cd8cdf91824e21) --- stand/kboot/hostdisk.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 3c36f2d3bce6..25348c60fc97 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -40,14 +40,14 @@ static int hostdisk_ioctl(struct open_file *f, u_long cmd, void *data); static int hostdisk_print(int verbose); struct devsw hostdisk = { - "/dev", - DEVT_DISK, - hostdisk_init, - hostdisk_strategy, - hostdisk_open, - hostdisk_close, - hostdisk_ioctl, - hostdisk_print, + .dv_name = "/dev", + .dv_type = DEVT_DISK, + .dv_init = hostdisk_init, + .dv_strategy = hostdisk_strategy, + .dv_open = hostdisk_open, + .dv_close = hostdisk_close, + .dv_ioctl = hostdisk_ioctl, + .dv_print = hostdisk_print, }; static int From nobody Tue Jan 24 22:11:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4v6FSYz3bfJB; Tue, 24 Jan 2023 22:11: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 4P1h4v1KRvz4MWh; Tue, 24 Jan 2023 22:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FcNw5DpFkGWJf0a7Dmxy03aox8YFOoRZjiQRwPUJmtY=; b=dnuSF9SE/h/vwZAc2DAjNI+A5rfndD0YEF/q0GMebsIwYBSa57RpLpobpojOjSe/E54wZD ke03qRDamHmknYn+DnHcHXV72/6yP9r76jRCSdWD1ZXwiViu+YVT3mFRrExHYwTH8CcKWC 4Bl/RUQXJHvfq129ZWY9FuD8aZj6u7c3iayq3BQSiiHpqSCrT5NC4oVc1qC0udnXe7kXRV zHhmiPDCs9Ws55T0a2YWR7pcQu2PyTj8zjSN3AFgekKq+cCA1YRWeHnRwXReZ6/7VLC1ky LM3iX15ByVeKWpPB4gCFhCZmFJdCgIWBHK2NXcXhuyavkcTpJgIFMaO9TU4mcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FcNw5DpFkGWJf0a7Dmxy03aox8YFOoRZjiQRwPUJmtY=; b=qdAkvo8TiHeWe/0QA45KdyDpkxFrUDbrKremu8Qfg6FJwVUrAwXlSaRs2flK73UVpjnLRf /rSTwSS4qhF/Jl3dCi+SKK8zlpU9/bXvca++JEn5kaaDQnAZXzR58qeBvbsQz/k8tRvYEk w4YZUz4CmMNujTo00BKITSiDXdYdxbhv4bjyhs1f8CL/AiYgewIULCK6gAQwVHyy/N5dkj 9cnZDUl+dRNds1EXVRXPq3EsKE39iJq9fyLRZpDFmIqW5Dxc0NkE3nQglfVXcqaU6wFCJq jN0egsurLj6qa9mn6Uy0VXUBGoJ3mOtuR9sdljl3bRXktqS7dkPrOCP8xLQKMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598271; a=rsa-sha256; cv=none; b=Kx1/ThOXz9NIat6faqyVVA2glJyMZktxTnXoTsIV2EonDUm+fIrXKSltNoDYGnlpl7M8KN TqP+3afLlu4U/Hea5moX7lqcnRDhJmn9L8//QQzA+N2oZUTmlUMHXLkIsaBhzfMxmhKJk2 cPSNMi+A6PaORyRGc5Rk5NAqGMpzFWyEX1fWW6vNYEExjmzpALoKrW9GyFnDFRpd8QerNi tOAycrX7K4PfU2gRfF/kPDbLzNOgQDpwjVvUeGCcnEI7F0pLBUTJSlyloK7k+NWNSvI2FP lZk65m5QdVLSlsWmc8nAHaXJo0jFuz1rEUjnpbZgG1eKyDgCwf6qwy7Xv9DWzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4v0Qm3zQM9; Tue, 24 Jan 2023 22:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBAiK083576; Tue, 24 Jan 2023 22:11:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBAYb083575; Tue, 24 Jan 2023 22:11:10 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:10 GMT Message-Id: <202301242211.30OMBAYb083575@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: 677b8b81b82a - stable/13 - stand: Use c99 structure initialization for ofw's block device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 677b8b81b82ac6258d7dd568086ac40afa5287cb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=677b8b81b82ac6258d7dd568086ac40afa5287cb commit 677b8b81b82ac6258d7dd568086ac40afa5287cb Author: Warner Losh AuthorDate: 2022-07-24 21:51:21 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 stand: Use c99 structure initialization for ofw's block device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit e72a01f1325f50326f02209d75203b97d6bfca88) --- stand/libofw/ofw_disk.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 2c3bd568a268..8af5750b13bc 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -51,14 +51,14 @@ static int ofwd_ioctl(struct open_file *f, u_long cmd, void *data); static int ofwd_print(int verbose); struct devsw ofwdisk = { - "block", - DEVT_DISK, - ofwd_init, - ofwd_strategy, - ofwd_open, - ofwd_close, - ofwd_ioctl, - ofwd_print + .dv_name = "block", + .dv_type = DEVT_DISK, + .dv_init = ofwd_init, + .dv_strategy = ofwd_strategy, + .dv_open = ofwd_open, + .dv_close = ofwd_close, + .dv_ioctl = ofwd_ioctl, + .dv_print = ofwd_print, }; /* From nobody Tue Jan 24 22:11:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4w66xHz3bfLJ; Tue, 24 Jan 2023 22:11: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 4P1h4w1yPhz4McV; Tue, 24 Jan 2023 22:11:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFytOvWvWNMxgckTqpyyWeYcuHEkYBRZEKwGQC6TZlY=; b=kCvPjyTecjfqejAHYJt/YIbJd3IwjiflCFjzG89ZduTNC01ingO62dSTMUrXyCYLYoPEsj bFpQ1GXyaCr6vhNAPvUBUedoyQ7mD81DNxQrXbMqcd5HKrzyat2DftnwdMfhTaQie0P4M1 /u1FVcbZw4IPOLnz7Yez+ol150Wk3qMgp10weSryuTNGLxiaVRlwXpUL+C4r4fn56WyDxq 8gsMOFXT53AswZqNPniZowIuS2YAQ+scHuHgTd7FedrJ1n77Mlk/832mKqlN9zohXYp6f/ KtEP/dj57BDycn5zY4nHlSfXF6eJBEVs/+YYXXqy+yEEe0EnfUH/lrvScJvJ8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFytOvWvWNMxgckTqpyyWeYcuHEkYBRZEKwGQC6TZlY=; b=yqxp2cl3EhVoYnIlSK5VlnHrYf8T5Y6CU1rF3D3df2IXgiOfLU0xqcEIPgd692wyQ1yWdL gtyPE2fnTkBgjS8+dNgoVTKNoGCPfuJG1PuQz0zbNuI3eHzxR/RbI4Rzqpuo/HUEzX4gxV I1/271Fq3QM1FiTXAsqSHO+RPze5XTl0qWWLaqyKzok+etGVqWiByFYu9FghNavh1cGiqB 5tTySlz7RAmGT9kk4ijYQfidxhJrD/WYIb6pr5ZE7C7EvvdyAmaCK4mHehllLYL6F1Vddg 4sZwiAJKj4Es6Php4jRiU85Ek/kUcNug9ofQ55uc7BftclW5PYLKWlP6t5x+Dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598272; a=rsa-sha256; cv=none; b=yENI6Pl44c0rehYgzaDrbJ7ff6RBS01v/frojbxRsMP0zbpkLG5lpfM3R/cgvU7VoP2a2B njQnwnmBdz3uvs90rbsXmrzM781VxFZ1kRsQYW8mRXq/NNLhXApICDld1wXPIWmi9DWmKR pNHP2aOkld5Grv8bZTaO3Tf4lPhEJBvAKYNKA+PnCSW5MfmLWp0BlTgDWrG588ONPU/vnZ klIjQl+qnt6yIsYJT64uRM4a4Yp/MTbpSSDDTW7I2ev8BJdHpJxlJ13DurZ89SvUFNnGji i+5O6LN/sjYRrMby/L8WP29UPsJbidvY27AOhWQoawk0wrbY19zJ73/+f2XQ1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4w12vKzQX6; Tue, 24 Jan 2023 22:11:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBCoS083602; Tue, 24 Jan 2023 22:11:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBCnO083601; Tue, 24 Jan 2023 22:11:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:12 GMT Message-Id: <202301242211.30OMBCnO083601@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: 15aff38147fe - stable/13 - stand: Use c99 structure initialization for uboot block device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 15aff38147fee691fe3b06a7dd3736ac61cf4f63 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=15aff38147fee691fe3b06a7dd3736ac61cf4f63 commit 15aff38147fee691fe3b06a7dd3736ac61cf4f63 Author: Warner Losh AuthorDate: 2022-07-24 21:51:24 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 stand: Use c99 structure initialization for uboot block device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit 1e3d1c86bc86197c1ac7f82b28e13985df58fcf4) --- stand/uboot/uboot_disk.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/stand/uboot/uboot_disk.c b/stand/uboot/uboot_disk.c index 70dcfdcc8863..236a118b915a 100644 --- a/stand/uboot/uboot_disk.c +++ b/stand/uboot/uboot_disk.c @@ -81,15 +81,15 @@ static int stor_print(int); static void stor_cleanup(void); struct devsw uboot_storage = { - "disk", - DEVT_DISK, - stor_init, - stor_strategy, - stor_open, - stor_close, - stor_ioctl, - stor_print, - stor_cleanup + .dv_name = "disk", + .dv_type = DEVT_DISK, + .dv_init = stor_init, + .dv_strategy = stor_strategy, + .dv_open = stor_open, + .dv_close = stor_close, + .dv_ioctl = stor_ioctl, + .dv_print = stor_print, + .dv_cleanup = stor_cleanup, }; static int From nobody Tue Jan 24 22:11:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4x3NLXz3bf53; Tue, 24 Jan 2023 22:11: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 4P1h4x2Vnpz4Mj8; Tue, 24 Jan 2023 22:11:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JfIHBNOGnrFhWGWCgkc0gxf9G9MaQZTNjIwaUEVX9AA=; b=RtXORAiXiAgNIFEeXOiK2gvLtEUETkqGiy200XbcXbgwtllk9atDQxDZw9UT16W22v6ctd BfTar+2Dy77Oi2CTHdINfQ+jLkns1ypZ6Gsg2Xb+u7IpbLhSl9b3BRuqXY5JtATxw4Wk+s +hDHuH6qn1SRF439xnwQbZOnetrRiT8dzzhBEsu0lJrEJYDE2wLavszjfNEdAkydgH9uNR PeBAOy2cdLo0C+YCK8ilkA5lZZDt6jnqsIO3avE1DaA/ZRV0TLHt7QiLKmBqkT6K1TBE2B NYV9081UF5e7UOrMT4Z3LM/JjS+sMIQaEjzKaS8VyD7TTyHpE+xeTLFph+OGAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JfIHBNOGnrFhWGWCgkc0gxf9G9MaQZTNjIwaUEVX9AA=; b=CxXb21RaBkoA1aShef5J7g6zf27VeOOpmEBAUCWlDwnz8WPiy6tVMP3QchtYNOOVHYpBlL /LhhO8GEJKNZijas5hnc2ArKkcIzJ04U7lyhZ5iE/BN7X4yOEUiE7kG7vvNg8kQlEtNL3M L4JJGYd1287KfAsMkMSNgB+gwyH4U1zKVJiI+jVFVBsJZbTCW57k+rwW1KRkRJxsXRn/cm EQn6Ro3RfHnArEaEuFQ3XHSy51kVDHeyhF60L4pj2Y0b0dmGda3iOkAGjbvo+7oL0uhnvP L28zlRm37wFQqwlzQyRtw2aQlDyoSi+cquZdO4zNzuodXlQodg7/hl7IaoNqXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598273; a=rsa-sha256; cv=none; b=o3tdLyVUZjmbf201m5wuFrPzQfoyvFCyZornThA8fVm6N5PmTdwRY05qP/+i5E+61RoF0f JyMmnu0dMJfGPhjEsALlJBD8olhxQ21oP3Ej/mYA8YMZnUQF0PI+jdxCt1jqZIAuSqBLdb CReiryxJHYNqeqgzy3fJNvIEHhYaAoOkpWG03pjD00pYA2+K9lRH/qc8AAJgDN4t9XrjK+ IMUR4Th4hzVkLpLJwa7JXY1lesX7KftNBxQJkxYEzYz9JQ0SiNxbKrq4nEQ6MDSxD4z9Or hjf8bqAtrt5G3yo2ag2yyDoFeL43L1jureZwN1B2fnycZlFlgAhoGdxJNBsXWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4x1bCQzQTh; Tue, 24 Jan 2023 22:11:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBDDn083634; Tue, 24 Jan 2023 22:11:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBDBb083633; Tue, 24 Jan 2023 22:11:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:13 GMT Message-Id: <202301242211.30OMBDBb083633@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: 149e49d353e6 - stable/13 - stand: Use c99 structure initialization for userboot block device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 149e49d353e67a67e45507051321df4a8fb12ae0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=149e49d353e67a67e45507051321df4a8fb12ae0 commit 149e49d353e67a67e45507051321df4a8fb12ae0 Author: Warner Losh AuthorDate: 2022-07-24 21:51:27 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:25 +0000 stand: Use c99 structure initialization for userboot block device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit 4c460aaf8342ec80216dd0e7f876903d75790c2f) --- stand/userboot/userboot/userboot_disk.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/stand/userboot/userboot/userboot_disk.c b/stand/userboot/userboot/userboot_disk.c index caaa3373812b..ed8a6dbdbbfb 100644 --- a/stand/userboot/userboot/userboot_disk.c +++ b/stand/userboot/userboot/userboot_disk.c @@ -63,15 +63,15 @@ static int userdisk_ioctl(struct open_file *f, u_long cmd, void *data); static int userdisk_print(int verbose); struct devsw userboot_disk = { - "disk", - DEVT_DISK, - userdisk_init, - userdisk_strategy, - userdisk_open, - userdisk_close, - userdisk_ioctl, - userdisk_print, - userdisk_cleanup + .dv_name = "disk", + .dv_type = DEVT_DISK, + .dv_init = userdisk_init, + .dv_strategy = userdisk_strategy, + .dv_open = userdisk_open, + .dv_close = userdisk_close, + .dv_ioctl = userdisk_ioctl, + .dv_print = userdisk_print, + .dv_cleanup = userdisk_cleanup, }; /* From nobody Tue Jan 24 22:11:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h4y4Ylwz3bfLN; Tue, 24 Jan 2023 22:11: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 4P1h4y3RSnz4Mdm; Tue, 24 Jan 2023 22:11:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C5qNDvY8TSmkbWeelzDJbdjvcPLW8ZD8i2UNWFeCPpM=; b=TPM/I3vnLs1qTROrGF3jr3kTPXsCFZi0/080AlMzDNQ2t3vWL8gzcFYCC9LSP5SCYdWsQ1 vtjK2RrTloLVOa0IZ4GoLB0Y+y1nv75ir0TWqMr3HyKt9DDiE+OpfENGfORQ29IoXpr4Qj YrcFlGycAhhGy0WBzcj2sbIJXA+o5F/APBM+myYJvqglykSahWERHQLcnkJG06obcuns1C RftWKDQKenw/HNpXbDFov2VmSdbMVuQFsUkTQbpdo7LwHPdx2ecFLQtj6MGve8B2HtT/JK yhvRyCWY6YREgZ8L15+WSNx5QaN6jZf/XtkoNX1yCKmTlyQKrF8zMLezZBWBBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C5qNDvY8TSmkbWeelzDJbdjvcPLW8ZD8i2UNWFeCPpM=; b=YO0TH9O2NQvY8iDX3CHyu4ety9ldAkFpe0nHbZZgWpWHRb8mQ6dl+Ykd51UQSO9ufy0b87 FD2MsX8p69GeuAX7jMnpjnTimrVWtH1OnmIcUIkCverweNVvS5I80dH4Rw8GZCxWPrQy5a APEz63PDnLCBbkMko/Z02fuDBhQPXUoO6//gnougxKat1JCRkkUc+KHnRG8jmZeLCNizL1 iOKhrsaDKfpzRbSa65iNv25MmXJRjWvfvmoBeGrNq5CTjkeu+Cz6yGmEqkWPMJygSokYUj qH469f23oOlW6pJEj5UTyda2NUctZeRcKSa19hP55c/or42QSnFvL4f35lO2YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598274; a=rsa-sha256; cv=none; b=o7NzRiik4Y1wlL9A949N2WbBs8m0uEp2LqiJHD0y6bD+sOsfPD7j0JTIOjjBHAuyZhr3rY 3Rtw6tR6X1Hbcc7u33EZZmlCOjWv6SUNDKyaPypoqKQhFdyPUPPowmrxhf+VeNYQ1sAoBk hDRBje30xG/6nnTWqLKUWVAAwL1elArpUdUCBupxsvO/sib7aOU1m+VnFmYS4XQ/0LPb7Z Y9MCSTrlbdQTex4nQSXkC4XqKjWEZXYnUD9PwGSu/3YT8uNWUANHi6rw4dGEYRXu2rWTes Fsssz3XWzrzCo+R0GiK3TFYylPrYjvG5yC0GI6ZVAXZPwr5Ppt5Non1D26L2GA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4y2X1lzQ1b; Tue, 24 Jan 2023 22:11:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBEDC083658; Tue, 24 Jan 2023 22:11:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBE5b083657; Tue, 24 Jan 2023 22:11:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:14 GMT Message-Id: <202301242211.30OMBE5b083657@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: 004877c7d2e9 - stable/13 - stand: Use c99 structure initialization for fwohci device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 004877c7d2e9c15bc9c773bf8562737a1da49aec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=004877c7d2e9c15bc9c773bf8562737a1da49aec commit 004877c7d2e9c15bc9c773bf8562737a1da49aec Author: Warner Losh AuthorDate: 2022-07-24 21:51:29 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for fwohci device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit bf855d1bf252bdf31a405cef65021d63846765ab) --- stand/i386/libfirewire/firewire.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/stand/i386/libfirewire/firewire.c b/stand/i386/libfirewire/firewire.c index b9cb1ec0b19a..c4e4bdaa065f 100644 --- a/stand/i386/libfirewire/firewire.c +++ b/stand/i386/libfirewire/firewire.c @@ -76,15 +76,15 @@ static void fw_cleanup(void); void fw_enable(void); struct devsw fwohci = { - "FW1394", /* 7 chars at most */ - DEVT_NET, - fw_init, - fw_strategy, - fw_open, - fw_close, - noioctl, - fw_print, - fw_cleanup + .dv_name = "FW1394", /* 7 chars at most */ + .dv_type = DEVT_NET, + .dv_init = fw_init, + .dv_strategy = fw_strategy, + .dv_open = fw_open, + .dv_close = fw_close, + .dv_ioctl = noioctl, + .dv_print = fw_print, + .dv_cleanup = fw_cleanup, }; static struct fwohci_softc fwinfo[MAX_OHCI]; From nobody Tue Jan 24 22:11:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h500xnsz3bfNy; Tue, 24 Jan 2023 22:11:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h4z4N4rz4MZy; Tue, 24 Jan 2023 22:11:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yq+p6p2HtDkECSq0Ihr8yLrvgPYLKDUOsQqCwNmxafw=; b=ascH6OxFvtEya9pjoT+nZuhd34n93atHERq7zOcB20/hQz5HiQ/mgwOzPjkeGhYTOVTO4N TrDEtjNiG+s/0b0XjXfTQgptRCWwgFpJyBpzbZCi0tmTr6kEmTxJvCnL619N5W5jKfplaV TzN9aDkp9Ao8ar4SlvugJbUnWhU73wY4DP8OBMBijwpM6CvQh9t56weA8S9ugqW0nVMorX jkqS9nVoxhMJmK3jpLuRsw0ggnE5doWRhMntPzyuOWIuBWVvy0UMpH0xGPLeialiNJcf77 YhfEgoS3nU2mfXSv0hlswU6R4Jbr0GZ8H72JiGwLAwaxlA7/M3HkEmsPPi8kQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yq+p6p2HtDkECSq0Ihr8yLrvgPYLKDUOsQqCwNmxafw=; b=GPuaj4oB8vNRtdy6TTTOjjgqcm36nsVqiJR0wsCWM6cONIVzscOUSsnwkSb3LGmDwf6dhE xSPrDh36C1CSBK4D5VzLjS5pQCBOPmpF8rIhwvBYpPNdlbaNyasgtVlIefelpgTL5riTJM +P1veoHtWnCHEjPo7JwK4ztowPFDAxEjFlMhQtlHITWL5ftviJWgBn2Oa9stNNhLm8ko+t vjtyqxGJXpedQ0GMY9Lil7na3lUAoaw4bIJogUA7bxvX3vt8uVm+1AgBwJhTRivbZGi4H9 U4miGor9pcxjllnNeUGF1Jx3b3IqDSQ0XmUp8Fu8+EO8SAyOrhGUms3OlItX4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598275; a=rsa-sha256; cv=none; b=hhD0+2FUm8V7Qupj+iMHG3+rB+jGtzzfibOQ8bfmga54hz1+CqLXCXPXJaAcXI/37Y13jd 6DcQXyO1BpKHdzV8y5EgykSZpALNIsSG1j2QeIQzQ7WTBaR1hyAmRe5qd/Tw+YgGpZkT9j UJJByCNql/+LPOMoq8rxzpwmjyOkkGLdNotv8dPOT8n94+NH9KcooX22h4j4sBhMvG8DqU +JsNMytl7V+NknDw+1YSnv3zYTfrros6q/eUz4YGoiuQwPK+NhKls/dEeDrTrPnux9cFKP moGE+7LBN/ETZQOvmTV6OmH8UbqklnzUKUoYKNCqvick80MsOmzmn26/AXSjMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h4z3PkvzQX8; Tue, 24 Jan 2023 22:11:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBF4j083682; Tue, 24 Jan 2023 22:11:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBFkG083681; Tue, 24 Jan 2023 22:11:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:15 GMT Message-Id: <202301242211.30OMBFkG083681@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: e5fc5a645485 - stable/13 - stand: Use c99 structure initialization for network device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e5fc5a645485c2e415a3eb1facbdf6244e54e794 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e5fc5a645485c2e415a3eb1facbdf6244e54e794 commit e5fc5a645485c2e415a3eb1facbdf6244e54e794 Author: Warner Losh AuthorDate: 2022-07-24 21:51:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for network device Use c99 structure init for devsw. Sponsored by: Netflix (cherry picked from commit c4f4a6c983fdadfc343344152cfc571a00a1e07a) --- stand/common/dev_net.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/stand/common/dev_net.c b/stand/common/dev_net.c index 70b571047d56..24bfbe9636e3 100644 --- a/stand/common/dev_net.c +++ b/stand/common/dev_net.c @@ -86,15 +86,15 @@ static int net_print(int); static int net_getparams(int sock); struct devsw netdev = { - "net", - DEVT_NET, - net_init, - net_strategy, - net_open, - net_close, - noioctl, - net_print, - net_cleanup + .dv_name = "net", + .dv_type = DEVT_NET, + .dv_init = net_init, + .dv_strategy = net_strategy, + .dv_open = net_open, + .dv_close = net_close, + .dv_ioctl = noioctl, + .dv_print = net_print, + .dv_cleanup = net_cleanup, }; static struct uri_scheme { From nobody Tue Jan 24 22:11:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h510fXgz3bf58; Tue, 24 Jan 2023 22:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h505KkMz4Mrd; Tue, 24 Jan 2023 22:11:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AQfHYZCBLcNzXAqgVL26OyMM0b/WrOeZ4+V86rYFG3E=; b=lHqoWj9ylLoZkP29mVfjdOmArbTMfQdUUPxc3at7IgzmYbaiCFKsy4CI7NQD2yNBpZBE2x ak3PoKuyX88/en/PaMvrIbZQgzgIn1z/izVQBHYmpW5NSf55jL6b/ncsnWskj6B4Z3pPAS b88Pl14cDUq//NpUZ5fTsbKd+LzdFpPemVz4m3fYV1/YAMdM7j5qgPX27/bQDDLnHIG6FP 7OLBDAKM+MmBOr15iOopxIx+TVbk6L+3B+SEtiLRMLlKknoaWJMB82oef54hV07nYoZgTk T0Fjrt3ff8SVow/sLaHOaoG90SefRat13PW2ofku1DydQn9B4UQ6Xf9O+TyKbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AQfHYZCBLcNzXAqgVL26OyMM0b/WrOeZ4+V86rYFG3E=; b=TJoBZyK1QlwjZ8B10kQEtMIfjfFci4YnrYfM/lr+j+Y67YN3RmwYURBfshD3F1KfwVpXeS TToYZsJpunZqZdo1m2vvX2ZZ/LKA6zWQ71yn27BRe5+n/EA6MzS6lZhLJpZvr0GogxIPUQ OS9Pb9NB3n/l8uasRejG707vKnQdbe8ZG2HCL/NV4CyTVjOp/hRpReONRcgdN2R5YU53ef vOq8lLkCaMdLiE0PRTs0rLZRY1kgrYsDAb0JOe9iYMaqMgCjnBY5pULJgacZ49O8aCP1WU ZyGwELj4XGiJwNyMEQdLaCA1yIH6+xLTbzQJ84kNkFDo5hax190Zbda2/Fy0jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598276; a=rsa-sha256; cv=none; b=gdJv7IWPZ5nQYUykHHTKeGIiTWh0gfPv+WHf820Wjqy2WKT7dHxBub9ZecCalWTUeH9OEn cR3jdDZ13J5Qy2aS1Q4eG48LOM5LkfeVLmSbUOUFMfExrxh79kKIs3mKtEJ/w1ZePmF5mj 1Z5Hdhl7m5bBj3QmlGHJvajpfpsqWFZVqcdJPED+Ub5TrHY9DhLxWgOEofPhqGwIBeCh31 xlvV061XM0MJmTZKl0Pm44/+nvNNJ+4/QKMgKHzuPPPTgsx37auZBkD/on39Vn8xRQhAUW x8t8DaQFqNgNK/czaO+FBCPn3aszD1M4Kx7ctt6hyPuNs4NF5fizNWk2xboKmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h504QSQzQFf; Tue, 24 Jan 2023 22:11:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBGw9083710; Tue, 24 Jan 2023 22:11:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBGJv083709; Tue, 24 Jan 2023 22:11:16 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:16 GMT Message-Id: <202301242211.30OMBGJv083709@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: e6ccedfa686b - stable/13 - stand: Use c99 structure initialization for ext2fs_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e6ccedfa686bc66fcb81f67331683c4a09f667ce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e6ccedfa686bc66fcb81f67331683c4a09f667ce commit e6ccedfa686bc66fcb81f67331683c4a09f667ce Author: Warner Losh AuthorDate: 2022-07-24 21:51:34 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for ext2fs_fsops Sponsored by: Netflix (cherry picked from commit 12a41918a276c042886cd2741b1f79fc402cd752) --- stand/libsa/ext2fs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/ext2fs.c b/stand/libsa/ext2fs.c index b81654552af3..3e91d9fd516f 100644 --- a/stand/libsa/ext2fs.c +++ b/stand/libsa/ext2fs.c @@ -108,14 +108,14 @@ static int dtmap[] = { DT_UNKNOWN, DT_REG, DT_DIR, DT_CHR, DT_UNKNOWN : dtmap[x] struct fs_ops ext2fs_fsops = { - "ext2fs", - ext2fs_open, - ext2fs_close, - ext2fs_read, - null_write, - ext2fs_seek, - ext2fs_stat, - ext2fs_readdir + .fs_name = "ext2fs", + .fo_open = ext2fs_open, + .fo_close = ext2fs_close, + .fo_read = ext2fs_read, + .fo_write = null_write, + .fo_seek = ext2fs_seek, + .fo_stat = ext2fs_stat, + .fo_readdir = ext2fs_readdir, }; #define EXT2_SBSIZE 1024 From nobody Tue Jan 24 22:11:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h520gcnz3bfJT; Tue, 24 Jan 2023 22:11: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 4P1h516SPxz4Ms3; Tue, 24 Jan 2023 22:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CKwGPxrnjPxRkbEXJAFeEfRj6hsOAsMBJnl/vB/8lRk=; b=yv3Ro/CzojtMs/rIKmPIcd70VHyEKzl6YT9XixFDE4tZb24O3Awqh1YvLnOqRGR4ctPDqO PFPkqhF5F7nSkB6StHZwrs8iU5WfIteQjzAtVt1jmpWx6YAedB8tSYnuMItR34U8F3R4sD V5IEGngYllkQpzCYhLGGFQQE14fQRCFkxB2KcUpCTsL59Yhl+cdonAB7GczxJ/Xbnrn4/z NPaVKXbSneMco55OLTeGFIEjTCDq4UsvLBJInSsEsxjAjk3BnJBBbidHM15LH1+nzjkQ10 yMBNNt85DY3aAxUywNwdVv192VwFqX5XUARgrq29QSGGEb54VtDbHDmfPv7R0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CKwGPxrnjPxRkbEXJAFeEfRj6hsOAsMBJnl/vB/8lRk=; b=RWFTsWg5K/gGwSAkktmCaUX7Wfe5LH7m8ju1zI4du7JPaDr1NIfb6lt038rx0PWQ5Wvcgu v63k7d0iohJr/JkIhtLMFQ/94nbiwVVOp5TigPoMEfaiFQgO/HJF7Hnqm/4PndrCXorL1Z IZANYicGF5HSRAi1IQar2LIFrElBaAWx6PpRpBx1qkZNl4LfPlJ4FLAq7uUP2QymKX4xkj 4BTcfaaOQerrGAK1AjDBxN45TiNj+6Rq+o7zr1LrtYZIQDpJfqSA3FQ3c6CTl4/GMZNnnO Ns5z2WtFF1SjZkwYeqfAt9WmK4PkEZGyrZIZ1nS1eD7fQOGd85vqi8bW9bgJGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598277; a=rsa-sha256; cv=none; b=OdB9kSaloZX/E3b+5KGJeeLao7yX32BqrtixM7FXZ8q7XkmktcrvfcP6IwIaldUJn38RI4 wWisUjH9jhJGPzuR3pH6IBE3brhCxUf3RAJPhT81HscoqHlZWnR28Csbu2UCu5qpwUJZCR FSFcld+iuXtwLu4mP23QhNfzh5PtK7l8cmd19JStG2/634R/rA/1Q2vjKW+mKfXpTn75YQ cNzXbgzEEZSxN+3keSNBpskqOgKg4wOYM/zTCiFFmEUGnbCiiTu8GThqSR32ZTesO6htQ8 +8YUFJmf2X6nO39dcDVnnXsPHuLpuJkmfk91anf9foCXZWEEh7RlpTy/N+ISDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h515SqvzQX9; Tue, 24 Jan 2023 22:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBHP8083734; Tue, 24 Jan 2023 22:11:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBH7h083733; Tue, 24 Jan 2023 22:11:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:17 GMT Message-Id: <202301242211.30OMBH7h083733@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: 5944ceee4bb3 - stable/13 - stand: Use c99 structure initialization for bzipfs_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5944ceee4bb33c205caaa6063c25f3453117af75 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5944ceee4bb33c205caaa6063c25f3453117af75 commit 5944ceee4bb33c205caaa6063c25f3453117af75 Author: Warner Losh AuthorDate: 2022-07-24 21:51:36 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for bzipfs_fsops Sponsored by: Netflix (cherry picked from commit 0ad8a113b7066494c509f5c89267c2a4116788c5) --- stand/libsa/bzipfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/bzipfs.c b/stand/libsa/bzipfs.c index 1cd71f7913a0..efa2806ce1d4 100644 --- a/stand/libsa/bzipfs.c +++ b/stand/libsa/bzipfs.c @@ -70,14 +70,14 @@ static int bzf_stat(struct open_file *f, struct stat *sb); #ifndef REGRESSION struct fs_ops bzipfs_fsops = { - "bzip", - bzf_open, - bzf_close, - bzf_read, - null_write, - bzf_seek, - bzf_stat, - null_readdir + .fs_name = "bzip", + .fo_open = bzf_open, + .fo_close = bzf_close, + .fo_read = bzf_read, + .fo_write = null_write, + .fo_seek = bzf_seek, + .fo_stat = bzf_stat, + .fo_readdir = null_readdir, }; #endif From nobody Tue Jan 24 22:11:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h530hdLz3bf9p; Tue, 24 Jan 2023 22:11: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 4P1h5304grz4MsR; Tue, 24 Jan 2023 22:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ORb0//AWa7ZiRUWbFc/AQwVXT3omOi2m6IxqS0YEZgg=; b=eaB3Qz/niGe4eJKAa3VRPPkKGVSXkaNlEXuRJmPi+n+B0SwdTiQcg4lwWJ4mg0cRKkYvBS 6xY7gWRlwI1MIdQahrB4aEL1OD5PfNC2jKXzHis5ZKm4rdrC/o5lj71dXHGIUwrJsxRiAp V4gX0R6JrWYdjHz5giOqvdsEYl3XT1X3NcLRa+x3R2gUoYPgR1rEAL8v1BuVnN+uvRNj+A 7j+H2iFcx8jyEumQQYjuwa1HTBrVoZg5fFCrwkanaI/2HaFu0saURKZrhBzxtVJioCChbP ayNZGZgoEY7iVNEUlRnm8h2vVvlR1FJecX0UeoR8MC6EVqgkoiN67OHyvGlMRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ORb0//AWa7ZiRUWbFc/AQwVXT3omOi2m6IxqS0YEZgg=; b=EHLA34TCpOPl3kCqkMphuo/HyyKPvLV+AqOHARU35yh+4QVtsrNCmFiu7cC57au7vZEJmv mSNTAbTYB9Vo2zYHVzUomhZ5QiwW5rMOXp8A44WZG1VlCDMgipZvw0bBBRzcRaoBax60/e 2P43s/exRWXSwTAgharbXqCTuLmTTD24atRiGErh1vCohfXUvl2G9iueYTKwP0/gtV5Z+j bYll13FG7gxl9/qYSHPegXDsdpJ4YitT3PRNt/UyLcWHg/RyGTvdLuVicD5cmxrt6C3WD5 xnGWpALY7PzpWWJccHoITFMIH8lxpbEK1FYNi4DMp+o6OTigU9XmmikZuW35Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598279; a=rsa-sha256; cv=none; b=qnAPrec/kbYi/J8ry5wDpMNVTTi7zzw84muZBBr1b51exDaWTaUF96bhF2SCxxg0DyZXgc qVll1JlfJabZrrCzIE1UJMrE4chwbermtVhP+rbi2blBjg+8AS0ZgycOIgXYFzKegMLi6F henIDnMjXdoa/uCn79SDJRbcloYLynn7gfxP7jh0Ki8nYpD3WaWvuBw3d3eA8IDpyqv7KB 1rXfSN/vNRx62oqyVt9ur8q19zrTFQhZQ8Si5oVMMjajw0o5elZNQ9hJZpNWYWxhxcEw+G oawetnZUCMNDqJdNalRe0a4Me/qhL9Y/gwsOKTj0YI6ybHHdoF6NdxKyALSnow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h526JmyzQTk; Tue, 24 Jan 2023 22:11:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBIjD083767; Tue, 24 Jan 2023 22:11:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBItu083766; Tue, 24 Jan 2023 22:11:18 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:18 GMT Message-Id: <202301242211.30OMBItu083766@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: f7a380dd5589 - stable/13 - stand: Use c99 structure initialization for nfs_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f7a380dd5589f42fb6227defd0e7fb53e47a9bd3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f7a380dd5589f42fb6227defd0e7fb53e47a9bd3 commit f7a380dd5589f42fb6227defd0e7fb53e47a9bd3 Author: Warner Losh AuthorDate: 2022-07-24 21:51:39 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for nfs_fsops Sponsored by: Netflix (cherry picked from commit 90a7e556a42263ea10ca931621f168bc3f07a5ff) --- stand/libsa/nfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/nfs.c b/stand/libsa/nfs.c index 5757395caba2..8957fce51a6f 100644 --- a/stand/libsa/nfs.c +++ b/stand/libsa/nfs.c @@ -133,14 +133,14 @@ static int nfs_readdir(struct open_file *f, struct dirent *d); struct nfs_iodesc nfs_root_node; struct fs_ops nfs_fsops = { - "nfs", - nfs_open, - nfs_close, - nfs_read, - null_write, - nfs_seek, - nfs_stat, - nfs_readdir + .fs_name = "nfs", + .fo_open = nfs_open, + .fo_close = nfs_close, + .fo_read = nfs_read, + .fo_write = null_write, + .fo_seek = nfs_seek, + .fo_stat = nfs_stat, + .fo_readdir = nfs_readdir, }; static int nfs_read_size = NFSREAD_MIN_SIZE; From nobody Tue Jan 24 22:11:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h541pQ8z3bf7l; Tue, 24 Jan 2023 22:11: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 4P1h5418c6z4N8c; Tue, 24 Jan 2023 22:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LKRrSlwU8YsQhnJoBNU6STnEKicZJhZXixP8+RrTu7M=; b=o3PBnX5BTyEIZst3q1m2HC3tFWDjdh090x+OZjQb5sv0s9jYrZaSygI1LmBb6hCga/vv/t SEoJGjGPjeFRe4DxuekYmhTnF72RLvsqFsSdXDco13AldlBR0ZbKAgoWFhJnpr/6MTPhND 5jcmqFewZAYyj+MsjcdmCtaSd5fK5SKoCPFsjMK1CG64VXWHcR2osBuI/p4ePQuLvmJig/ U1hZnDZAU4jl1I8dgA5g25q76KftaFhoq1C1YjI/Nbl9dL8KdmBQqGnH8iRA2le1W5T67X bTcMsyd3ithEVtoz2qxtOREcHqxTvZ2PigTt9YuFQvbXZk6J1jmoioskGL2zZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LKRrSlwU8YsQhnJoBNU6STnEKicZJhZXixP8+RrTu7M=; b=aozpDrkWPq668D/N3X2SD2FA+Rz60oRPYx6GKsYXsmzJpV7TtvtRi3VUbuJfXMQTGDT94N ydVulFJP2R9pnejHIyF1O+RfuvUqM6NbDy6CDYBAzggpZ1dqxS0xk01OHSK++nF/MtmeR6 gxGOdXI5Jwk03dDb7Omi+I4m8ELyTCHQfC2y55QAQutsu9bDrxpM3+5WEzmotyrrjvQbjY tG8tpyfMsOZvoF81yUoyMnt2swkF/RCS17dc4PoJopPJgkvMrYAuspWBs+eJALqA2Y2tNM lq52J15JkLi22V9it3rPVepkzwB5ydxomeumSuwbQ/X/U644kgZHPJQ0stSw4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598280; a=rsa-sha256; cv=none; b=vPe5GtZl26hv5WL+tDTgjprtgsE0DFjDMsh4JLeZJmapR61z3uFb8TnAEm7FcvYACMM5q5 xHPevDp372YFBuRnZs5sDZYAPaYZtZImLXghRGJqtPHW2C5rx1e2V6FT9esTVOlaS2ap9m JgtYjv0QUhBJC2pCd0f8VeT6xsro1Yutf1ZF394jE7fNVCxVp2KxxsoH45V7htzlZbbEzr bcI8JpwCVpY0vlN/Zn4LE3lYljcwsFnWXp8N2p1aGlhgfSFVfNADSbU6x3EsQLOdlWqrhr HEwcM3NnfE9sr2H4wj+fclYRaIsLKlCbuS2JYU3HeI9rl2agkNtpxU7mIkDbKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h540GN1zQFh; Tue, 24 Jan 2023 22:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBJr1083793; Tue, 24 Jan 2023 22:11:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBJJk083792; Tue, 24 Jan 2023 22:11:19 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:19 GMT Message-Id: <202301242211.30OMBJJk083792@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: 8e4354922510 - stable/13 - stand: Use c99 structure initialization for pkgfs_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e43549225107ca26c5258e230b0d13de9bac330 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8e43549225107ca26c5258e230b0d13de9bac330 commit 8e43549225107ca26c5258e230b0d13de9bac330 Author: Warner Losh AuthorDate: 2022-07-24 21:51:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for pkgfs_fsops Sponsored by: Netflix (cherry picked from commit e7d045aa2b270d2026ad6c15639673ea6d01c7b4) --- stand/libsa/pkgfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/pkgfs.c b/stand/libsa/pkgfs.c index ffa16309ee6a..9d98e48d9a84 100644 --- a/stand/libsa/pkgfs.c +++ b/stand/libsa/pkgfs.c @@ -49,14 +49,14 @@ static int pkg_readdir(struct open_file *, struct dirent *); static off_t pkg_atol(const char *, unsigned); struct fs_ops pkgfs_fsops = { - "pkg", - pkg_open, - pkg_close, - pkg_read, - null_write, - pkg_seek, - pkg_stat, - pkg_readdir + .fs_name = "pkg", + .fo_open = pkg_open, + .fo_close = pkg_close, + .fo_read = pkg_read, + .fo_write = null_write, + .fo_seek = pkg_seek, + .fo_stat = pkg_stat, + .fo_readdir = pkg_readdir, }; #define PKG_BUFSIZE 512 From nobody Tue Jan 24 22:11:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h554dK0z3bf5K; Tue, 24 Jan 2023 22:11: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 4P1h551bRtz4N22; Tue, 24 Jan 2023 22:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jVcng9f1/SlrcfuEor2r8bVYK8S2Jum4iGB9z91pJuQ=; b=DGL1J3rz+qwHT3TjMeLhT+dqHUQHVig/mT5C/S3QDxvElqnerEcNiMrVR3MuZr0R4P+K0g /C/N/CVK1Xnt45yf16Fdnm2ZJIGMxpNKub4UYHCm4cYPLrgSiblXVwKqSYDuWJ2k/Eqn0x qDGGAxnSnYneAfAON4oIJm0xRw3dQ7qiAwaszz9YiWVbgf3sGagn1nbLSIbDefqoNx222e HmZ1d7sev8LakiNHt26lwKLpoeK/pdHMN6/44IHlgForRxuntMp153Ng6O6MtGNDB0fGW3 6v7O02/mQIupmjcl+8rnMuWTnT3EAU0tMm55mXvhDs/LAHFoPjGyJD73y+Gv0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jVcng9f1/SlrcfuEor2r8bVYK8S2Jum4iGB9z91pJuQ=; b=oiqOfRvErMdK/7YSMSREoXJGqzazW24KCElvgbItWoxGwDuudMunj8bjJvTK1cLCPyud/4 r88gkw4rwv31mRmfwxXQCevmQIkhCc7yTnbwbFmvWkgHTGJ+TMKvzNJxQGntCjgeXDslbf AOz0R9MDcmG1uueyHfXRk/p6i/JRbfEorX7mLxE8Y9q3W1yXPap466LjU4kzkTSuUL9UHZ SYZ3aragkwoWoe6TfFzMnM89gWjhu6+/XczY8GcllYTw26orCsgpnBXX4h8GWvMgY8UH96 MScmuOce0Kl/mI0VJQEfy9we2efchmcO4nIfSdcfP9/+qaqtln1SZRsBaZIwog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598281; a=rsa-sha256; cv=none; b=buQ7UYgE8OK2qgFdfYujQ+4EWvjer8sL4ptrmafS6Kdxnn2IuNmJ0r8Ti8E5zr7Ar7yQJ6 lP/4bcv6z7A7yOXZbcwpQ678gqWbPu5pShzW0NWie9w3VL6XfN7sJ1YyXCLvhJwd6QmQ4g lRDkVr82jkjrhC1odoysz6EguirjFnVjvI7mte53XbvESBZbcMhOhF6fgZahCWCQJuw24C HlRhR3LTH5rEhuMz2NBuU/j2i/ZF6RrOl1L7tDXGgVSMfElcIgzJmWaAKRy/NJSxmKH3fp QmEOSchXx/38oXstKymnNfBSHFDYKuDRAFhR5JgGV+Z/vmXndHFeaYMcxOHXmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h550hBmzQTl; Tue, 24 Jan 2023 22:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBLwU083817; Tue, 24 Jan 2023 22:11:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBLih083816; Tue, 24 Jan 2023 22:11:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:21 GMT Message-Id: <202301242211.30OMBLih083816@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: 67fb3a2478b6 - stable/13 - stand: Use c99 structure initialization for splitfs_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 67fb3a2478b68af9d78ad40b331c95c1cc135856 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=67fb3a2478b68af9d78ad40b331c95c1cc135856 commit 67fb3a2478b68af9d78ad40b331c95c1cc135856 Author: Warner Losh AuthorDate: 2022-07-24 21:51:44 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for splitfs_fsops Sponsored by: Netflix (cherry picked from commit 9450d9c4e5f94421237a5f58f47afee8c065e60f) --- stand/libsa/splitfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/splitfs.c b/stand/libsa/splitfs.c index af28704bc465..30762563d135 100644 --- a/stand/libsa/splitfs.c +++ b/stand/libsa/splitfs.c @@ -52,14 +52,14 @@ static off_t splitfs_seek(struct open_file *f, off_t offset, int where); static int splitfs_stat(struct open_file *f, struct stat *sb); struct fs_ops splitfs_fsops = { - "split", - splitfs_open, - splitfs_close, - splitfs_read, - null_write, - splitfs_seek, - splitfs_stat, - null_readdir + .fs_name = "split", + .fo_open = splitfs_open, + .fo_close = splitfs_close, + .fo_read = splitfs_read, + .fo_write = null_write, + .fo_seek = splitfs_seek, + .fo_stat = splitfs_stat, + .fo_readdir = null_readdir, }; static void From nobody Tue Jan 24 22:11:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h565TJPz3bfTt; Tue, 24 Jan 2023 22: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 4P1h562wyTz4NFg; Tue, 24 Jan 2023 22: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=1674598282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4a25JYz3pJ5MBByVN6W1jOMYEXU68c8j/y2pQdBMjK0=; b=vEXEWaIJrCDB5vN5sjakBOcvxljZyBKtxNPl3zQqS4LKN7UJslZIsTG1eS85ZiKAukm3zt aRe/+QJzEf13qurl5BuWO3Wud22J7jw+UjBGWo9buc7BzqCfZmAyF8TzZHc/6NeHx0+OWy lXkJEHSMtW67sSxjf4Ex8x3rmk6Ls9sUF3IjRbP65Ej3po80NOtCsXMepl5jcJyhE7oKjB IDYF9peI25/LqRJ5V6o4Rk6Fj9dExfk5fCFZM0KPHa6pKuqWkKNC6hZTYLdsoW8lDb9ZCS pfF+RNYQLP16BB6xGZ/8UoCkvvt2ZHOIy/JefdLi8vFXwfW88tBlz+yG3LsiwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4a25JYz3pJ5MBByVN6W1jOMYEXU68c8j/y2pQdBMjK0=; b=qewehyOZQGzjAjLAq0Gg9TXcYDhW4SHveB+BTb8wEtlYnjCaWfjn3G20UWOsMJij9TE2V/ hKbg1ZD5ykJ8wMVnkw+JpPDqdeGL4pjiRDOecakWMqkC88FaIQQlbkoCEl3plFcHCnnWjN gs164tqWhNuRXAvYg/O8jfqfghtMnRXyALfR27LBGCYtubMxf6gjqaqzKFCzzJEqgGwJN3 CrIC2AP7gQLv5hByzms49DQlNHTi/yqtbSVKI9EDqsuFURQx30nhV2/Vcm93NyVcidBDME WuwBakdl6slFP4SrKEzAE+d9w8DtXXjhg18/+8bwbDNbpqIgx4VqUBMQs+GvGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598282; a=rsa-sha256; cv=none; b=kMylRLnnB/GsiXij5MiyLKd+dnvFhgcohYe4ieH/d/rfwmfHnULM5trwInQNG4LzTTJI3i WsNVamLAIIQWfy0bCpWBKS5YHkSQVQUETS4GfLQmH1AK2J3g+duolYciR5hZas93DlhrTk F7HTqLmHZXi16BuftjOrsUrhZ80/6BB4WapXqtLE7fNU8WF8ycCQSHHCyYMsXgJkuUidH7 dw2e2gZp0022wFkg4rcTa6in7Y83SNyVe79xG9Nd7OCnv1p02l2xbsqnYSaREqWn8PGG3p dYp1S1aJWsV1IhM28t1I6jKSLAaemDcQLFR91jtbDXiT5Z43thXDJw45GyXF6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h561yt0zQZ4; Tue, 24 Jan 2023 22:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBMtn083841; Tue, 24 Jan 2023 22:11:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBMBk083840; Tue, 24 Jan 2023 22:11:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:22 GMT Message-Id: <202301242211.30OMBMBk083840@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: 43599349cdc4 - stable/13 - stand: Use c99 structure initialization for gzipfs_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 43599349cdc468c590c0426048d017e734a7f083 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=43599349cdc468c590c0426048d017e734a7f083 commit 43599349cdc468c590c0426048d017e734a7f083 Author: Warner Losh AuthorDate: 2022-07-24 21:51:47 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:26 +0000 stand: Use c99 structure initialization for gzipfs_fsops Sponsored by: Netflix (cherry picked from commit b7625c2c2cf7e559acc08f7cbbb53f5cb3b8ab94) --- stand/libsa/gzipfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/gzipfs.c b/stand/libsa/gzipfs.c index 8154b0f95a9a..1486df039aac 100644 --- a/stand/libsa/gzipfs.c +++ b/stand/libsa/gzipfs.c @@ -52,14 +52,14 @@ static off_t zf_seek(struct open_file *f, off_t offset, int where); static int zf_stat(struct open_file *f, struct stat *sb); struct fs_ops gzipfs_fsops = { - "zip", - zf_open, - zf_close, - zf_read, - null_write, - zf_seek, - zf_stat, - null_readdir + .fs_name = "zip", + .fo_open = zf_open, + .fo_close = zf_close, + .fo_read = zf_read, + .fo_write = null_write, + .fo_seek = zf_seek, + .fo_stat = zf_stat, + .fo_readdir = null_readdir, }; static int From nobody Tue Jan 24 22:11:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h574YDhz3bfPm; Tue, 24 Jan 2023 22: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 4P1h5744Gqz4NJG; Tue, 24 Jan 2023 22: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=1674598283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dx0klaHMfB40+v4R1ulS0cQ5LFDQ7zpqanlnrp0x1VI=; b=F9t5YkMGBIpQGriQJU1lPr4Idwy7anjIXOx0WE8y5AgXjYCiZWiJfVJ6BfJ8eA35in+MOE /lTLJJ9B7o9bcDQCOJt3gTR+WPdA8oQqvs5STnrji0Acm80+7sVEsgoQ5ejJMPGH+BpDIS QZLoNYgEPwpkOgmjirRpwCrkcPVUiWhaJMIfykACp9kGWLOLDuG+NvSLaM18g7OL7wFMEH 6mY6fTezem/EBuy0qCVbjbGVx0KqPsJIJL1nAyer2rJvbAKRel2FYMH4x98/lONyxedJ34 dOuZ9qD2dVZaoxhClztV1sAdMe8+iNlROw3BtyMK7j07SuxwLeKbAIqMqQSS+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dx0klaHMfB40+v4R1ulS0cQ5LFDQ7zpqanlnrp0x1VI=; b=TOrzCAArYVWRNRqZ0CekV9hc8a8zw2xUig7eysq6DyOaMxK3nmEXw180XRoJzb9D1Iilwr yLslcPgQTeXu3QuEThSyDYIV9Vn1aoU2Gb8/t2gphLXOxtHFFV57dnTx0jCJqz0ybUqoiF 6cmQMYmQcQLaRPa+5OR7+SrE8p9uN88Bil6Il2bivxW4mWvFrR26Hp54gTDGAP4by7rysa VJvFjjjdfpW+pyh7Tiv7gjQUZ+/E2CGyO2atBpJz6auoQT6hfdAcii6KWcVLqi8IGv4o2h hiGNgm1dfJUy3k3bPsXR9EMkRMg2Hk5W6LmT2TpFWZycZ3aRjHA2QboaQGDu0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598283; a=rsa-sha256; cv=none; b=RBCGDOjJXJQ04LwZ5puRnEjRFo9kyFNT+KDL1kw54KgTsVTJ482JlzoUaWPdmIl7SOHiD0 eY+Dwg7sgAzQ6VDlJJf285onKC9kJgtyyU/UdHm5owtxj67eIGcO9lg74a+K2iNET1/D+n heQk6eojxZ8u79X1isBrypn+3vAmSV+QFSkLetl/bGZPrxxrhzvD+rPQSISxuF+V5RpvIr 0uuXd3Ir9joSfna+3GLjnkOGxFo9W4CN9DZCKqZ5V6CHkpAbtUlBht6T0Kgm9JvQ1siT0z ckM8SV+teDKaUJ4s6Azk6BejBPCQEB3gKVfqFK4aNp6PiwmG7VV5QTBh2Q9JsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5730sSzQNr; Tue, 24 Jan 2023 22:11:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBNgr083865; Tue, 24 Jan 2023 22:11:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBN0M083864; Tue, 24 Jan 2023 22:11:23 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:23 GMT Message-Id: <202301242211.30OMBN0M083864@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: f3295e763c06 - stable/13 - stand: Use c99 structure initialization for userboot's host_fsops List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f3295e763c06aaca27e0fa78d1fc331285f7f264 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f3295e763c06aaca27e0fa78d1fc331285f7f264 commit f3295e763c06aaca27e0fa78d1fc331285f7f264 Author: Warner Losh AuthorDate: 2022-07-24 21:51:50 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: Use c99 structure initialization for userboot's host_fsops Sponsored by: Netflix (cherry picked from commit b3f43ee0317ad241fd35cd8a0e087fd2b158ca1f) --- stand/userboot/userboot/host.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/userboot/userboot/host.c b/stand/userboot/userboot/host.c index 20952983e0d1..74727fd8ce3b 100644 --- a/stand/userboot/userboot/host.c +++ b/stand/userboot/userboot/host.c @@ -155,14 +155,14 @@ host_dev_strategy(void *devdata, int rw, daddr_t dblk, size_t size, } struct fs_ops host_fsops = { - "host", - host_open, - host_close, - host_read, - null_write, - host_seek, - host_stat, - host_readdir + .fs_name = "host", + .fo_open = host_open, + .fo_close = host_close, + .fo_read = host_read, + .fo_write = null_write, + .fo_seek = host_seek, + .fo_stat = host_stat, + .fo_readdir = host_readdir, }; struct devsw host_dev = { From nobody Tue Jan 24 22:11:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5865XPz3bfVR; Tue, 24 Jan 2023 22:11: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 4P1h584hFDz4NJX; Tue, 24 Jan 2023 22:11:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=McHOT74JI5w1sOfj8v3K8yt/Mvg4L1GlrdnafMaPCG4=; b=XrtCT9hJDVLhL38NUnSLoLjiLMLPHXAJ3KS2GZdAMHuln3XxxltebPC/SNyEE08hL5CwGR Z/PoGXcCjcP4yEdaiRt/NCQZ4QYxD0mLO7gzKEeeRxD1iDXpalOMCcwQE4BqFo3W8qLME0 cGSsyRjebvOr1zjo3NNJ2oa4JoULNnuDaPh0EVQoQpjDebPu4fcUskXGvyp+xFYBGlofpK HICpgQSOnqrC3Z/FX5+xpBN1pMlDOBzfD0ymc0qU8Yb54PAqjymtdmY35g0cm8Ffh6NjkP IX8/lbvY9QMhVqL9NcF8sD/E56WbvfN1ikTNdAJHxLnwuCrePViWCFFsxRnvYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=McHOT74JI5w1sOfj8v3K8yt/Mvg4L1GlrdnafMaPCG4=; b=fR9JsVRIasyzW+UMu4krPs0GO9Wjbu1MvaudmPnhtZDxheoVAKbmuEVBdE+hGqNkiIsuZW NNnS45LuoCroIhrnyfN72KmkuJvttbCDO4pVh4C6tyiMDIS+lZUCL4Oit0GFJtuTYs+f5l qtbBYl1CWnbVgFDkwych+dPVB/JasMZ4e4Qu6S1Ztx+XZZ7oG+k3MY3wlLLDV8KAH9mpMj flWv6wfgX6hB0CS+C/+3PIKGAWC23JmQkg2pDiUWzadmNqLhRIP0itYS6Gh6DfMZbzslly H0j5qpoRVacl1ZaKjE3Wgsfr6lkcwB/brqE9Fmaf5Nz7czGOmoMz/wguz9DLTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598284; a=rsa-sha256; cv=none; b=pgKCZmklGwzSTrCrXDKLQ0n+XaIilvgnAzvvM3vBRQ8CuD7cvZ+WfQG8C5g+S8w/M1OpzV ngCJDXqeGhS7Sk+F6wdViEoQwh3kiID1Ep9nh9bVmM8ay4WjB2PBmZK+Fn9Sq6l/pPN6t5 pi59lw6P3u5QYHykS5OSG4VLjk8sM5BdB95kF5Aef7LS0d5mcTfGcMJ8y03pP0G/N7yTHF /OrY3xoiy88Kjxs6/1mIK7z0ARgqsa70vMklUYeUBKiPiU7YtznR56rKxa4YG3H0FJBDGI xN96NRUq1mE7ZyH8BPzK2IayYOJgncF6vGhRDAl0uqwwNKwNnEtsnLd/ZdPAzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h583nndzQNs; Tue, 24 Jan 2023 22:11:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBOIs083895; Tue, 24 Jan 2023 22:11:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBOkt083894; Tue, 24 Jan 2023 22:11:24 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:24 GMT Message-Id: <202301242211.30OMBOkt083894@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: 6a37c03f2177 - stable/13 - stand/disk: Trivial formatting nit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6a37c03f21774c069d5732528598a7cc73d410cc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6a37c03f21774c069d5732528598a7cc73d410cc commit 6a37c03f21774c069d5732528598a7cc73d410cc Author: Warner Losh AuthorDate: 2022-07-25 13:32:15 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand/disk: Trivial formatting nit style(9) wants a space here. Sponsored by: Netflix (cherry picked from commit 865a58d2fc89616a0ab2f88016da43e980dcac1d) --- stand/common/disk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index 733b7b0d57e7..3ad147da0e5b 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -385,7 +385,7 @@ disk_close(struct disk_devdesc *dev) return (0); } -char* +char * disk_fmtdev(struct disk_devdesc *dev) { static char buf[128]; From nobody Tue Jan 24 22:11:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5B0kHPz3bfQ3; Tue, 24 Jan 2023 22:11: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 4P1h595jsnz4NDs; Tue, 24 Jan 2023 22:11:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53P4k/In3QSozfRbILf3I3ei5LGPE3vuOa3tK/KWc1E=; b=UX5p37R5j1jz4zOQ4fznZaPCex6V/p31LXCXMpaCo/P6KQUcYN+u+0VZXauOCmYCAAfOUP xvdj/CDba3S4sHG+tu2cQzKpkKkwVSpM1ShKpg+KY6ChmSKh7ICWn9aXIDMkvM6ljb8YJk n/mD+0/ZFu8NUCjjLzmZxpSxK/8IZAKjQnJZX/vjPzVj/ytIYKJA+8+TFGk+9n91uvyrYI MNk+8JS85WxjWRDFt/SH44xM3dShMX27fLD/LRs5RTVZSFY82+sNgxiF0QRN1C10kftTSw I3S8uiV+n7jPW8WNziQitlwOhWNzKBiY4tVVuaS+REWjIIc7KQjqiPrjVYxc9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53P4k/In3QSozfRbILf3I3ei5LGPE3vuOa3tK/KWc1E=; b=DwSorPtziwhCBCJjle/yCowPJV2BGv5ypOBqnqWbTKy7cURmV9yFnWDXyPtikccS06qebQ EOEr5sW342neMGuaK+jnxOTuE8kUNrFkT9faY1JQonkkwBNgk8w2ulJkCbqFEFYHLXjBqb 0QGp7ySFtwTDgvbwccpkGpPEyjGfVGlADe0Ltym78XAodchgqUaQoY2iBVHQsMN5QARxDk +/YQ4K2sIn/WeFw18SF34GoVo1E+Y6cy7i2t4qQ3H35cjY7LPqr/wBk/RDhd446LLiVIHx hV3+ms9d9ifd/d7KLvWA0BWir7fNUaBA7n954MV+H70fNBgj7hYvtv+u6zQ1nQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598285; a=rsa-sha256; cv=none; b=bTWkRLtzoHL8C4LadxfsQSlUg3U5u0LP+LsblMAMlaA4TrPmV77uHYbf5q/5cGL9K+YGca n0wLvbJDXuMRVEvUwvR2WDWi7vAgVEXFhQUGUV2VcZLMH5Bh53FSyhKfDut+eQyNdNi4Js fxal66Zp+dtPkfBKdLcXFozIEAE/T3BT7e7G7O4lYFsH5eUroP1Tmhb3DLn84fqB5cK85w QIuw0RFiHDzPYnohk8DlJFjSaihkxreq2o0wUu/xZ0lRf0IdfomnL3U/WQeJ6PyWwprmBo EC77t6TlA6YKpN4KwLRMD503efqIf9w5VwcG/iI2sJ6EiOGVKeC4CE7n1RpAsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h594mgZzQ1d; Tue, 24 Jan 2023 22:11:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBPNk083919; Tue, 24 Jan 2023 22:11:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBPYv083918; Tue, 24 Jan 2023 22:11:25 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:25 GMT Message-Id: <202301242211.30OMBPYv083918@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: 684dd563d105 - stable/13 - stand: Fix set but unused warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 684dd563d1058af84e6f503b0aa9e954760ae30f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=684dd563d1058af84e6f503b0aa9e954760ae30f commit 684dd563d1058af84e6f503b0aa9e954760ae30f Author: Warner Losh AuthorDate: 2022-07-26 04:48:31 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: Fix set but unused warning Make interp_identifier global to avoid a set but not used warning. For a global, llvm can't optimize it out (yet?) Sponsored by: Netflix (cherry picked from commit f4d71d0c1a9976c047758e065adb2c1498cd9765) --- stand/common/interp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/common/interp.c b/stand/common/interp.c index ab68694d61b7..de5ea55eab41 100644 --- a/stand/common/interp.c +++ b/stand/common/interp.c @@ -39,6 +39,8 @@ __FBSDID("$FreeBSD$"); #define MAXARGS 20 /* maximum number of arguments allowed */ +const char * volatile interp_identifier; + /* * Interactive mode */ @@ -46,7 +48,6 @@ void interact(void) { static char input[256]; /* big enough? */ - const char * volatile interp_identifier; TSENTER(); From nobody Tue Jan 24 22:11:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5C0MqVz3bfDq; Tue, 24 Jan 2023 22:11: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 4P1h5B6W53z4NHG; Tue, 24 Jan 2023 22:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JGKyXeT49R66w2fAHn5C6PPUcf+LieeeXxyhMvLvT6A=; b=b1hk1VLYkPhZ64al2cjbdzPeGc+PgUsQbWAmi7YRp78d2HZq41cZecjNDTZYa7ebFOXNn9 5WBtErInafKT6pb0d93AQi1v0i3jpFwmivnVudRJ3O9Z+SLb8bbdsYL4mzrT07ENUqUS7o 2xJPPSCb9a5IdLPRPA2KAnHceVhQXMr24CPNMhKdMwL3DIseGUO4EcLBHPbbf3kzQpA/PA rwuq+fEPH6/xSywqycb3yd111qqmA2okCJJeay591Sp3Yoj9YHXd6+IWe8yITlxInmPRVi nts9V82D5FAbkf9cFmzdTThcVKT9YAiBfyTIWZ5P1gmeeW3iQ7mLNYK6syLLhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JGKyXeT49R66w2fAHn5C6PPUcf+LieeeXxyhMvLvT6A=; b=mnQCD48KUqUkz6r37OHi1eYoVHbxh3kIuC4+//Hu7Cz2RDDYMtSON0YI+SOSFTraJbk308 HjPvYt/kDBdAOhBX/uU0V8f+aOf3AfUIqQW9hjGXjMJJ/WfRmeC0/3SLX9hQAoiS1OrEY4 2kYyGv2MCxzIwyWMunxOHUN6sbUg34AnlKgXRjIXocLoDCYdN+OgFmnBadMaCgnm3xoaKU pS671tShHwGF04QLptlCAx76dMWJAd3AmZPYJRTbcY1wnhvJbbJCdO2WKSR/0n2IP2MnYP wM2IEgLe68RrGpo5aLdaotesyvsPoksb5/G3xXwrBL7AICiAnW2lV/qNn/Tfag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598286; a=rsa-sha256; cv=none; b=A+0z33f8/8BRGEzCwWYKsqqN+WeuTKkiHHpBSi3exLO5XpajoVbQhz5LM3DOnXih4w+GAx EWBvWnPoJpJi+1KIb5Gzp5jiXOZ4HW7fw0fpOsduzZ93N0iQL7Xmy1/c3qt7nGbDunbjpQ 9AJ8O78RMxyX+KAbW3IFBX8M1d4F94kwrGv9kIXxUgNCj7sGZrJ/K4P5jouY6FaJXvSKR5 sJ3Bixa5MWSerpXXMY9u48dEhPJWPksHcrCow0DVh5drk3CHPL3/ziT0dNQK8ACkrHkLPn hAN6GRvuCyV/rIhhPR7XQ58jOr1hfq8SQaQ1xVSG/Yr5fK82T3oMwd6UMo8k6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5B5bJbzQRZ; Tue, 24 Jan 2023 22:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBQVn083945; Tue, 24 Jan 2023 22:11:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBQ6Z083944; Tue, 24 Jan 2023 22:11:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:26 GMT Message-Id: <202301242211.30OMBQ6Z083944@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: 9b2453430a8d - stable/13 - stand: Spell License correctly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9b2453430a8dc49d34be7560ad71ff568b973672 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9b2453430a8dc49d34be7560ad71ff568b973672 commit 9b2453430a8dc49d34be7560ad71ff568b973672 Author: Warner Losh AuthorDate: 2022-07-26 22:29:56 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: Spell License correctly An e got dropped and then cut and pasted into far too many places. Sponsored by: Netflix Noticed by: freqlabs on irc (cherry picked from commit d2c0ec8d19da6531676af82461e7a8247228f8f4) --- stand/kboot/arch/amd64/start_arch.h | 2 +- stand/kboot/arch/amd64/stat_arch.h | 2 +- stand/kboot/arch/powerpc64/start_arch.h | 2 +- stand/kboot/arch/powerpc64/stat_arch.h | 2 +- stand/kboot/crt1.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stand/kboot/arch/amd64/start_arch.h b/stand/kboot/arch/amd64/start_arch.h index 57c514daf019..818a5b277c10 100644 --- a/stand/kboot/arch/amd64/start_arch.h +++ b/stand/kboot/arch/amd64/start_arch.h @@ -1,7 +1,7 @@ /* * Copyright (c) 2022, Netflix, Inc. * - * SPDX-Licnse-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause */ /* diff --git a/stand/kboot/arch/amd64/stat_arch.h b/stand/kboot/arch/amd64/stat_arch.h index ae180322fab4..81f3738f3ea6 100644 --- a/stand/kboot/arch/amd64/stat_arch.h +++ b/stand/kboot/arch/amd64/stat_arch.h @@ -1,7 +1,7 @@ /* * Copyright (c) 2005-2020 Rich Felker, et al. * - * SPDX-Licnse-Identifier: MIT + * SPDX-License-Identifier: MIT * * Note: From the musl project */ diff --git a/stand/kboot/arch/powerpc64/start_arch.h b/stand/kboot/arch/powerpc64/start_arch.h index cd2fad433cde..498de29ad0fe 100644 --- a/stand/kboot/arch/powerpc64/start_arch.h +++ b/stand/kboot/arch/powerpc64/start_arch.h @@ -1,7 +1,7 @@ /* * Copyright (c) 2022 Netflix, Inc * - * SPDX-Licnse-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause */ /* diff --git a/stand/kboot/arch/powerpc64/stat_arch.h b/stand/kboot/arch/powerpc64/stat_arch.h index f22787b45feb..be5584951afb 100644 --- a/stand/kboot/arch/powerpc64/stat_arch.h +++ b/stand/kboot/arch/powerpc64/stat_arch.h @@ -1,7 +1,7 @@ /* * Copyright (c) 2005-2020 Rich Felker, et al. * - * SPDX-Licnse-Identifier: MIT + * SPDX-License-Identifier: MIT * * Note: From the musl project */ diff --git a/stand/kboot/crt1.c b/stand/kboot/crt1.c index c4525ad6c35e..2fbe00262da7 100644 --- a/stand/kboot/crt1.c +++ b/stand/kboot/crt1.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2022, Netflix, Inc. * - * SPDX-Licnse-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause */ /* From nobody Tue Jan 24 22:11:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5D1gVqz3bfJv; Tue, 24 Jan 2023 22:11: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 4P1h5D0pJlz4NQn; Tue, 24 Jan 2023 22:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0fZzu5lHbOs9LBfo3ZkNNqUqTX0gYlVtGslrAlQ12No=; b=VTYX8bal0e/jq9clrzTJ3tH/zXmqH1l3eXiizja00Sk0aQcXvyo4BKX8wUtupvgWTKuMAf qEF6EKMMGKCcF0qBtoS+V4S/2L1zBoTpyNe7cEDVTovfP2ce77BRQiBIgNFn3oXp5PXYg9 s8Mr2k/JSCYNlnz0PNPGaiWP4FZiYBsAT0Hdg1iwiWvNsV+pwLmnlmfAMjlhY1K74dlbcp 4h+9nsZn8BdPLH8X5TiF38CGOCAg+y+MAHqlE78/AZy5sIUwM+dVxnMuz2YOB666pFTHDh jznLkSDC+QpL15+O0qhzCXnLA93CncOn2z1w0BAOgDAKeOzsx9/ujamtiNv/EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0fZzu5lHbOs9LBfo3ZkNNqUqTX0gYlVtGslrAlQ12No=; b=NrWqmpR6P1/ftIfyj/tgxZcJbCotSxUVDifu8rorqw9PR8mCPYj+AQHe7L8eZxwhBlagU0 xPqVvypQeHsT0ACwoq6YqdwSwPmW8XMHBhVdVwWKCd/JcMF3VPDO5WdLiaf46tpa6TSNG/ MwbZ6agFL2hu9fXp2rTxJRJpOCxgVNdWTFY2UEeeOKFdZ0JhZnv+UtZ4btIRsb5xY8evd3 /XRW3amWrv96PCcfn1thaPU1bzUwbn6bQCKG5j+kWUhBWkMah209TpcrFwvf+FrAgjQszb suePffOG9UbzisgKY8bPQ4+9AEN5u/bc/qa95vm4XeX4FiZ9f327DAABS8lCgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598288; a=rsa-sha256; cv=none; b=r5SbaoYklCVEBZp+nbFZf1inTu9QvK/BxX1pjgweXT8nxqx3yoZewTMsFLYjIG4r/lgr90 6nWjqlFNiNchYpcjQ4L2XIqmF72Jr7o1s/kChGb4XeIfn9Utetg72N7CLZkB2gZQMxPLwz nv+YKfZKMvY0D54p5jh5cLeWiiaiC0Crb95AlQC2PluSFIWscG8owvEQbhtfVMSenc7PMK vNENxb5OOVb7pK+UREv1CaNsR9v+X/ZsxvW2087BNHWm5/0gepdZad9QXP/AcZVh4N/ahu IRfwMOPLIE5XclDkrQR8SOHCJdEbMXGTRIeTJvzYaq0DnXOa2JcFOeet/b++nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5C6kJczQNt; Tue, 24 Jan 2023 22:11:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBR3d083971; Tue, 24 Jan 2023 22:11:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBR01083970; Tue, 24 Jan 2023 22:11:27 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:27 GMT Message-Id: <202301242211.30OMBR01083970@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: a4fafcbcebfd - stable/13 - stand: Create DEV_NAMLEN for the length of a device name List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a4fafcbcebfdd3c9e80ce9494d55e160d57f8dcf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a4fafcbcebfdd3c9e80ce9494d55e160d57f8dcf commit a4fafcbcebfdd3c9e80ce9494d55e160d57f8dcf Author: Warner Losh AuthorDate: 2022-07-27 14:45:59 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: Create DEV_NAMLEN for the length of a device name Rather than hard coding 8 for the device name length, create a #define for it. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35910 (cherry picked from commit 4932a6e41d1fc3fe474358501d5933e783066bdc) --- stand/libsa/stand.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 097d8ba28d0b..6ddbc188e6f6 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -139,8 +139,9 @@ extern struct fs_ops efihttp_fsops; /* * Device switch */ +#define DEV_NAMLEN 8 /* Length of name of device class */ struct devsw { - const char dv_name[8]; + const char dv_name[DEV_NAMLEN]; int dv_type; /* opaque type constant, arch-dependant */ #define DEVT_NONE 0 #define DEVT_DISK 1 From nobody Tue Jan 24 22:11:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5F3DwXz3bfZr; Tue, 24 Jan 2023 22:11: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 4P1h5F0l3sz4NSc; Tue, 24 Jan 2023 22:11:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598289; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJEZpEpUOuZdTFOgyLQpjD7q5/tAJSCCrFgJPCf/lsg=; b=vBUiZkWRURUb6aKKc+WkTzHZfb5r9UwVvovWvV6jAl8utlBxfBN1w5LJj4dkxOtr8MGcRc /3I2lK9WNXJeJuCH5IkcMyKOZofYKR60HX6vdre6m4sPCeYK3bZpf8IwSXQloBj7dNKDlm sQx9R0nN8AC1wpht5dyvLx4qoH22EwsMWC0YB2uhoWQfEXIKuUZ1bmGUFjGBES9UTtiofT jAVoao+6Tsa7En0j8vUOWHkfDdVyjBqQijgvMCI4sqnGHZ9GCSEeDoRqdveXkF/hrAdKVH 6YXq/0vUaKpB9hiTBTETHK2ZlpHzPsjQ0oONogY/lPX2O8b0i+iSUehY0M0tpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598289; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJEZpEpUOuZdTFOgyLQpjD7q5/tAJSCCrFgJPCf/lsg=; b=a+zWt7geY0QK9TSp5YkrEFOlkbBqlDlaIZhf1ZEssmEKbjJsS14BxTPGMnHcAH4dStxKUD LHI9BXG/T6MPOutLHBLT72K10GvXZM1gz/EPcvSEDGYGp1vqsNwFVuF95exCiU5kY5cjtG DEnZcrTWwTMKxCvZpyPDTD3x+gZ1xSTHby2/uaSN9Rz/1Jp1V08TY+Y7oxqWFeBYg9uHnd 3mVOFLY6IioBB5gekyUsY9u9M0MVpTelzq+cXA0UjvAyTgdl+LAEG71yf8ZtpIcMxqtuza arZtTvcYLhoxhN6Y4jCrvYsK5hh3erVAQps/uUvkOaO03UoDTXnNeel+M0CZJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598289; a=rsa-sha256; cv=none; b=JFxpTUmUdmXxO7adymWui/IAclhs7Hibql/rXlow/7edvBuZibo9Np5dWwmTlo22pM42Ff 73+qKWXwJtjXRIZdNPZPBirlufyb4ph55orMovBQm3ow0PT47GCemJ8T+iKCxW4MeHewzx AwZe9GUsYSnSjQYhmerymE9opysnjIX/Ayt2ZML5RZIG0XaaoAcHxtAzi3ufLRo4Xw6rpN JwQ3XVhAirRJMliEdrxv2haPouzcIhJPmI2q/a1ONcg85jj/tl5PL4H3qu/u8Rln+CTOEV qEY3qpte8/tG4HdEOmUPAhc0DDwdoS/2dgrZu2K+AXzuQJrAkJNaLJA/NqgoJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5D6yWtzQMG; Tue, 24 Jan 2023 22:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBSCn084434; Tue, 24 Jan 2023 22:11:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBS63084420; Tue, 24 Jan 2023 22:11:28 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:28 GMT Message-Id: <202301242211.30OMBS63084420@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: 37c6c6ea165b - stable/13 - stand: Small comment correction List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 37c6c6ea165bdd2b09ddb9b8ab60bc14059e5ebe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=37c6c6ea165bdd2b09ddb9b8ab60bc14059e5ebe commit 37c6c6ea165bdd2b09ddb9b8ab60bc14059e5ebe Author: Warner Losh AuthorDate: 2022-07-27 14:46:12 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: Small comment correction While in theory, once upon a time, dv_type was arch specific, that's never been the case in FreeBSD (and certaintly isn't in the surviving drivers). Remove that notation. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35911 (cherry picked from commit 079f02e8c035f12779a57f10b274253a701267e5) --- stand/libsa/stand.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 6ddbc188e6f6..5f87f96ce673 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -142,7 +142,7 @@ extern struct fs_ops efihttp_fsops; #define DEV_NAMLEN 8 /* Length of name of device class */ struct devsw { const char dv_name[DEV_NAMLEN]; - int dv_type; /* opaque type constant, arch-dependant */ + int dv_type; /* opaque type constant */ #define DEVT_NONE 0 #define DEVT_DISK 1 #define DEVT_NET 2 From nobody Tue Jan 24 22:11:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5G395Fz3bfQP; Tue, 24 Jan 2023 22:11: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 4P1h5G1zrzz4Nf3; Tue, 24 Jan 2023 22:11:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4JoX7hVgV+38e26GRnT/WKu5UfLIB4Ib5Ijp6wY0JXM=; b=Fuoy8ZysDHcwqntcWTGk+oeRm9NP5IUvXJPwbnXNxHae3UXuNAjzg2v6g8pRn692iqD3+G Lw4+ByflXn40f7WxqxT8cBDL6tHqEgFKQUwgUKibRMWBbo2SPY4sPfMpadlUCGj8/EA6op 2Z9OudDa5I/aPw+c5D271LT7TE/C7XcHiJyv2YG9peZ8gfbuKA4j7f/xz9VnFMpIlYQTJ9 xP9XGTbRZ8GZIO2YmexQ2Bv96/bckCNNxZ/vvi28GGhzutH6TMGHHflki5P0ra8RWVsQ6n /VZWGodkKcVBgogbkYHJEkoJUehT5zVvF1L9pFunRIlAul2rqIDQv/d06F/JHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4JoX7hVgV+38e26GRnT/WKu5UfLIB4Ib5Ijp6wY0JXM=; b=L9JH9TerzQ0sWIx1n4UOD8dQnY/luLLhJxXtwPmy4B/qmrNbv6ush6G6ZO9uGF/3OTrGaD eVu9s5qJ3i8BecQ0dBB389GJDrPe9s9XsHznLO5ItCyZQJs+neIzSe/8xGbmIeg5Iea7Tu xxgGv+o3RfQAwhGFiaNYAHCXxq6N+LkXx9ZkISYJK1G1JHEp3Uh2kYLjnOPdlP732VZXuG 93Qy66Y2K9pomezLhiqg7jMtz87DoEhx2XXoI6HnwGPPRcIy2KdqrEtQoINTOYGkuBK/iy WN/qagwmjJ7nYqDySthN0rA0fTO759OsgJhmX57ecD0ZoQc08dP+5eWMrN6BHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598290; a=rsa-sha256; cv=none; b=i1IelOJmbU5+VYNIrat4PFT/CC1lOHus9wkN73pN/jtEvVqy8JbMimKEnUFN5xzcfm3xz6 MruOohlgpdvGTKNXzy8tkJWkMKdXqDTTQtwKl8Hi0VGHQLBfTwkmJKbPZOPuauqyzgH5eK wfeFfWwQ7Ucwb0xkOeixha9dCzT6x8zU4eCieaCp7Q8/MWV7epRsdv7nNRz6gQ74r8/BO9 URG0cD4F383VN3pgPK2w3PaV+PCVo1YqFaK94aVCyqfuVrK+eXVeGZikIU4MaKP6Rrthzc GxR8h/T3hkvPUeM/r3hHeu+n6t4Jy4hrmcKCPdk9y+wC3Lj0SbpzE+5PE7KOIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5G12WMzQTq; Tue, 24 Jan 2023 22:11:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBUm5084812; Tue, 24 Jan 2023 22:11:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBUJM084811; Tue, 24 Jan 2023 22:11:30 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:30 GMT Message-Id: <202301242211.30OMBUJM084811@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: 538888eec5d7 - stable/13 - stand: Make sure nobody has a NULL pointer for dv_cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 538888eec5d7065c1b371e79f1f228fac64a87f0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=538888eec5d7065c1b371e79f1f228fac64a87f0 commit 538888eec5d7065c1b371e79f1f228fac64a87f0 Author: Warner Losh AuthorDate: 2022-07-27 14:46:21 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: Make sure nobody has a NULL pointer for dv_cleanup dv_cleanup is specified almost everywhere. Use nullsys instead of NULL to indicate 'do nothing'. Also, be consistent in trailing commas that were missing before. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35913 (cherry picked from commit e98f952c82907ec39cebb4e66efd92691c835e05) --- stand/common/md.c | 1 + stand/common/vdisk.c | 2 +- stand/efi/libefi/efihttp.c | 2 +- stand/efi/libefi/efinet.c | 2 +- stand/efi/libefi/efipart.c | 6 +++--- stand/i386/libi386/biosdisk.c | 6 +++--- stand/i386/libi386/pxe.c | 2 +- stand/kboot/hostdisk.c | 1 + stand/libofw/ofw_disk.c | 1 + stand/libsa/zfs/zfs.c | 2 +- stand/userboot/userboot/host.c | 2 +- 11 files changed, 15 insertions(+), 12 deletions(-) diff --git a/stand/common/md.c b/stand/common/md.c index e9fcac668d93..61db56ece7ae 100644 --- a/stand/common/md.c +++ b/stand/common/md.c @@ -74,6 +74,7 @@ struct devsw md_dev = { .dv_close = md_close, .dv_ioctl = noioctl, .dv_print = md_print, + .dv_cleanup = nullsys, }; static int diff --git a/stand/common/vdisk.c b/stand/common/vdisk.c index 521ad498b194..c904613a8e91 100644 --- a/stand/common/vdisk.c +++ b/stand/common/vdisk.c @@ -52,7 +52,7 @@ struct devsw vdisk_dev = { .dv_close = vdisk_close, .dv_ioctl = vdisk_ioctl, .dv_print = vdisk_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; typedef STAILQ_HEAD(vdisk_info_list, vdisk_info) vdisk_info_list_t; diff --git a/stand/efi/libefi/efihttp.c b/stand/efi/libefi/efihttp.c index 05d338fbaf04..728f95a47b42 100644 --- a/stand/efi/libefi/efihttp.c +++ b/stand/efi/libefi/efihttp.c @@ -94,7 +94,7 @@ struct devsw efihttp_dev = { .dv_close = efihttp_dev_close, .dv_ioctl = noioctl, .dv_print = NULL, - .dv_cleanup = NULL, + .dv_cleanup = nullsys, }; struct fs_ops efihttp_fsops = { diff --git a/stand/efi/libefi/efinet.c b/stand/efi/libefi/efinet.c index c52b11d32ec8..a6582bd2c1b5 100644 --- a/stand/efi/libefi/efinet.c +++ b/stand/efi/libefi/efinet.c @@ -351,7 +351,7 @@ struct devsw efinet_dev = { .dv_close = NULL, /* Will be set in efinet_dev_init */ .dv_ioctl = noioctl, .dv_print = efinet_dev_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; static int diff --git a/stand/efi/libefi/efipart.c b/stand/efi/libefi/efipart.c index 7807c17077a6..e5c9c88234b7 100644 --- a/stand/efi/libefi/efipart.c +++ b/stand/efi/libefi/efipart.c @@ -78,7 +78,7 @@ struct devsw efipart_fddev = { .dv_close = efipart_close, .dv_ioctl = efipart_ioctl, .dv_print = efipart_printfd, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; struct devsw efipart_cddev = { @@ -90,7 +90,7 @@ struct devsw efipart_cddev = { .dv_close = efipart_close, .dv_ioctl = efipart_ioctl, .dv_print = efipart_printcd, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; struct devsw efipart_hddev = { @@ -102,7 +102,7 @@ struct devsw efipart_hddev = { .dv_close = efipart_close, .dv_ioctl = efipart_ioctl, .dv_print = efipart_printhd, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; static pdinfo_list_t fdinfo = STAILQ_HEAD_INITIALIZER(fdinfo); diff --git a/stand/i386/libi386/biosdisk.c b/stand/i386/libi386/biosdisk.c index f8c712b324c6..353b25ff6816 100644 --- a/stand/i386/libi386/biosdisk.c +++ b/stand/i386/libi386/biosdisk.c @@ -165,7 +165,7 @@ struct devsw biosfd = { .dv_close = bd_close, .dv_ioctl = bd_ioctl, .dv_print = fd_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; struct devsw bioscd = { @@ -177,7 +177,7 @@ struct devsw bioscd = { .dv_close = bd_close, .dv_ioctl = bd_ioctl, .dv_print = cd_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; struct devsw bioshd = { @@ -189,7 +189,7 @@ struct devsw bioshd = { .dv_close = bd_close, .dv_ioctl = bd_ioctl, .dv_print = bd_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; static bdinfo_list_t * diff --git a/stand/i386/libi386/pxe.c b/stand/i386/libi386/pxe.c index e80a1961e191..3c6c5468fe37 100644 --- a/stand/i386/libi386/pxe.c +++ b/stand/i386/libi386/pxe.c @@ -119,7 +119,7 @@ struct devsw pxedisk = { .dv_close = NULL, /* Will be set in pxe_init */ .dv_ioctl = noioctl, .dv_print = pxe_print, - .dv_cleanup = pxe_cleanup + .dv_cleanup = pxe_cleanup, }; /* diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 25348c60fc97..cd125350ce9b 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -48,6 +48,7 @@ struct devsw hostdisk = { .dv_close = hostdisk_close, .dv_ioctl = hostdisk_ioctl, .dv_print = hostdisk_print, + .dv_cleanup = nullsys, }; static int diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 8af5750b13bc..086b16a9ecdc 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -59,6 +59,7 @@ struct devsw ofwdisk = { .dv_close = ofwd_close, .dv_ioctl = ofwd_ioctl, .dv_print = ofwd_print, + .dv_cleanup = nullsys, }; /* diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 633ef3b18784..71e3a49c2929 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1633,7 +1633,7 @@ struct devsw zfs_dev = { .dv_close = zfs_dev_close, .dv_ioctl = noioctl, .dv_print = zfs_dev_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; int diff --git a/stand/userboot/userboot/host.c b/stand/userboot/userboot/host.c index 74727fd8ce3b..d7f01f45c0ab 100644 --- a/stand/userboot/userboot/host.c +++ b/stand/userboot/userboot/host.c @@ -174,5 +174,5 @@ struct devsw host_dev = { .dv_close = host_dev_close, .dv_ioctl = noioctl, .dv_print = host_dev_print, - .dv_cleanup = NULL + .dv_cleanup = nullsys, }; From nobody Tue Jan 24 22:11:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5H4nspz3bfZt; Tue, 24 Jan 2023 22:11: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 4P1h5H35wYz4Nkr; Tue, 24 Jan 2023 22:11:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5HD9FbCZH0VyVOpqdnvcaMadYhjEFHO02UWvwqdI514=; b=gAclia+vb94vwmh5MgRibI0XkG8lP9lMkqm0VGG35x5LcwXbOl0hxeYGjh3FMMatfZzKm9 rdeDAvo2Uqbh4+Gz5VIOwPio9pV/Cnm/Mo0779hzvLBDayJ3CdXurDp0O3Qq2Ee/WG+lRr GIN/zszX6zFFa60OH0cVuBilKqhOU5VHI7jiwgjSM/QvBVJVpqO4dxrXk8OUBuNhlHpdfx nE36WAMJNSqxOPOJrFAaq3Dq9+LO+2VIOfyniVP5/bLAWfJTyp0Upcsq1NTkKNxPSxuENh Jh6UGJTciW8AMQYTzg52CdO4PGqW9/EP3XKKR3ej0G0lA6mfEZrVOdjbtkt/pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5HD9FbCZH0VyVOpqdnvcaMadYhjEFHO02UWvwqdI514=; b=Cep0EP7Gflm+KXcC1LrYCNvlbqpul/m7Ic9nyHMDRc+aOnmuV1DuXcSxOfWAAdv+zcvzUs z4X1aUaLEFEUBoMrdHQM7HlbI0IFSR8a07sznbtkrPu+j04VgY/UnicQjTJSW+pfgn+yUK L2mKWod+OGdAmCCdprrycy1tjvdITFh4aCzg6p9Gpaae/F9lpgmPPjvDy5wy7kN4NUiH/a Eqw8VWXMVXfN2+MchAbdXzR35hUKoOhrl6QnzqQyE9v/3i16M+y4tsjU8O/JjQHM1qlGPr zmpA7OEeRImb5RtBwfVJJxu3OnttvvwrSELj1R3A0COp66ubLS6k7gN51BrldQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598291; a=rsa-sha256; cv=none; b=s1UCXIl6K/Hf8ahcWBfI2iGBghhAxOCk0Oxhi/5oLBjQvm6de+QtocjreLtpGHgCGEtfrl 2x4/IOUd6W3tYZSdjSjDYPzQ3676USqr34uhjC2YsvgnRHeJoGPGiD7sjYQpNAfg1POlvn jU515gCqhUkYtlz87vjUhS1tRcaO5x+ZIxZwcf0U/jbO7JGq9Pq9Ia5q1thXN/eUIKxqx3 /Wi1d2LIDiR6CyTQGTDKvRPbBIC+FgPCQ5rBcxleTbEEaXVELIK9DSFKarAWmnxhWVfvA5 ksh15WVfvLjF4o4tNDQXmxEiG/r0VSP8JRL9UBj9DIBkKLfCzvUKehG3k/0HpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5H1wBQzQ1f; Tue, 24 Jan 2023 22:11:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBV5u084836; Tue, 24 Jan 2023 22:11:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBVC4084835; Tue, 24 Jan 2023 22:11:31 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:31 GMT Message-Id: <202301242211.30OMBVC4084835@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: 3f43420049bf - stable/13 - stand: tftp.c doesn't need bootinfo.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3f43420049bf643f802d8b6c9889a0b9c1a5ade9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3f43420049bf643f802d8b6c9889a0b9c1a5ade9 commit 3f43420049bf643f802d8b6c9889a0b9c1a5ade9 Author: Warner Losh AuthorDate: 2022-07-26 03:45:35 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:27 +0000 stand: tftp.c doesn't need bootinfo.h tftp.c includes bootinfo.h, but doesn't need it. Remove it, and remove the -Istand/common from CFALGS since that's the only reason we had it. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35928 (cherry picked from commit 60cb4f9a8e258e917634d23fb1d589eef38e579c) --- stand/libsa/Makefile | 1 - stand/libsa/tftp.c | 1 - 2 files changed, 2 deletions(-) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 25bb233ebfcd..9fbc9cc91b14 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -182,7 +182,6 @@ CFLAGS.ffs_subr.c+= -DSTANDALONE_SMALL .endif CFLAGS.dosfs.c+= -I${LDRSRC} -CFLAGS.tftp.c+= -I${LDRSRC} CFLAGS.ufs.c+= -I${LDRSRC} CFLAGS.gzipfs.c+= ${ZLIB_CFLAGS} CFLAGS.pkgfs.c+= ${ZLIB_CFLAGS} diff --git a/stand/libsa/tftp.c b/stand/libsa/tftp.c index c520a9e3b3b1..903537b4bbe5 100644 --- a/stand/libsa/tftp.c +++ b/stand/libsa/tftp.c @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include "stand.h" #include "net.h" #include "netif.h" From nobody Tue Jan 24 22:11:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5J5nPMz3bfW6; Tue, 24 Jan 2023 22:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h5J3knqz4NX6; Tue, 24 Jan 2023 22:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hWURTJOlYbkjhhnAClf3LOsJEJCTOVyLnaUMWybdm8g=; b=FdqeRscQ8qvUFzrHDBxpJhP9HtIqotH/fUWnebE/Dk1kX08rs11X8civIVkRm3C9mz55bV kmI8HFzL2LlkfSc07GuxTzeYq98RwRyiEwUIovcxhuGveYjn2mQhg5h0I0qOAsx9+Xeu17 twTO9vv3mksVH4vIJh3KaXy1nvm/7NWuq+QlpjQEjnEBam3kG+OdOHz0KT/JaTZQ9+SezJ /2RynYi6qUpPTHrPZJni0rE2Foql0UkkpxbbArlw7HQzmZ+dVGy9fSatGj3hh7NRSqt8nK P95xQ03Sk26abl01V3gVH7L1rXBNdUnHY0rEzmf/pAA1xH6qNjDhyG8r/WtlcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hWURTJOlYbkjhhnAClf3LOsJEJCTOVyLnaUMWybdm8g=; b=emNrVP/YN9T0R9YtKn8AwRzjS17MbjW/AIzch8BgPVKzvHg/Ki0B6eCKw86EZkqnCBAJqT nwcTc90NK79Xq/CBSmz0tmwiiMVmohsf3JbXlaPcuWXb3M6IIBKwoUbuz2BdgCpjVwbmsI 2KVzFiJ/mH2WbKZYpLOSB77LlUj34PrptJmwfZcdlG9b4eyndQ6fA3UUyquRQd+3P/S562 nlh6m1LudQMIO8lwzPfj3QELQMiw9DA9BSBlzmLkF+CKYzl0UoPx6H6BHtvniTU03nBTlE Fj808/RidLySAVwJaPHk1+4Towl1PbJrDCyvDWGP/bQrh+drwjhRfsGkVSc3tA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598292; a=rsa-sha256; cv=none; b=AOvtm1OPR1M2bg40AMRWuHFzJzYDmnQ23WUgX6GaH75dNlvodgiLqUPjNg/dxaN4z90F7w ljPcvpkdJgt8sYrDVGNHND0slIfbS4Alc3xcq6ftx86E2I6bd59Rw11rtaIoELRyCM1m7b ofgqOttMI7XokVcMNRgOytNDmOQfsdmmZ6JlEPW73X4ew335yv5uo4ApDjosUKkWIyTiey IJbJWbuW6LIZ5rOmQGxro+KCOnCwSAOYzpt9M23+shuYx8bTzhDIGdC4KrIZEllCyst4dy NfeiQ2Ty9t27l8Y1SJWGEGME0iGYtMuBK23PUQ8GzIxxkN/36hlt1bzZzgiwHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5J2r1kzQXF; Tue, 24 Jan 2023 22:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBWQ5084860; Tue, 24 Jan 2023 22:11:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBWr4084859; Tue, 24 Jan 2023 22:11:32 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:32 GMT Message-Id: <202301242211.30OMBWr4084859@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: b23f20eb0fec - stable/13 - kboot: Do a style(9) pass on kbootfdt.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b23f20eb0fec72af500d8ad14cd0ae8ae3b15300 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b23f20eb0fec72af500d8ad14cd0ae8ae3b15300 commit b23f20eb0fec72af500d8ad14cd0ae8ae3b15300 Author: Warner Losh AuthorDate: 2022-07-28 04:07:52 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: Do a style(9) pass on kbootfdt.c Mostly just properly indent. Sponsored by: Netflix (cherry picked from commit 065cbc77076ec8d38385406deefa8331bc2432f5) --- stand/kboot/kbootfdt.c | 68 +++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/stand/kboot/kbootfdt.c b/stand/kboot/kbootfdt.c index 14bc94326fe6..5e0ef9ea3068 100644 --- a/stand/kboot/kbootfdt.c +++ b/stand/kboot/kbootfdt.c @@ -53,44 +53,44 @@ add_node_to_fdt(void *buffer, const char *path, int fdt_offset) fd = host_open(path, O_RDONLY, 0); while (1) { - dentsize = host_getdents(fd, dents, sizeof(dents)); - if (dentsize <= 0) - break; - for (dent = (struct host_dent *)dents; - (char *)dent < dents + dentsize; - dent = (struct host_dent *)((void *)dent + dent->d_reclen)) { - sprintf(subpath, "%s/%s", path, dent->d_name); - if (strcmp(dent->d_name, ".") == 0 || - strcmp(dent->d_name, "..") == 0) - continue; - d_type = *((char *)(dent) + dent->d_reclen - 1); - if (d_type == 4 /* DT_DIR */) { - child_offset = fdt_add_subnode(buffer, fdt_offset, - dent->d_name); - if (child_offset < 0) { - printf("Error %d adding node %s/%s, skipping\n", - child_offset, path, dent->d_name); + dentsize = host_getdents(fd, dents, sizeof(dents)); + if (dentsize <= 0) + break; + for (dent = (struct host_dent *)dents; + (char *)dent < dents + dentsize; + dent = (struct host_dent *)((void *)dent + dent->d_reclen)) { + sprintf(subpath, "%s/%s", path, dent->d_name); + if (strcmp(dent->d_name, ".") == 0 || + strcmp(dent->d_name, "..") == 0) continue; - } + d_type = *((char *)(dent) + dent->d_reclen - 1); + if (d_type == 4 /* DT_DIR */) { + child_offset = fdt_add_subnode(buffer, fdt_offset, + dent->d_name); + if (child_offset < 0) { + printf("Error %d adding node %s/%s, skipping\n", + child_offset, path, dent->d_name); + continue; + } - add_node_to_fdt(buffer, subpath, child_offset); - } else { - propbuf = malloc(1024); - proplen = 0; - pfd = host_open(subpath, O_RDONLY, 0); - if (pfd > 0) { - proplen = host_read(pfd, propbuf, 1024); - host_close(pfd); + add_node_to_fdt(buffer, subpath, child_offset); + } else { + propbuf = malloc(1024); + proplen = 0; + pfd = host_open(subpath, O_RDONLY, 0); + if (pfd > 0) { + proplen = host_read(pfd, propbuf, 1024); + host_close(pfd); + } + error = fdt_setprop(buffer, fdt_offset, dent->d_name, + propbuf, proplen); + free(propbuf); + if (error) + printf("Error %d adding property %s to " + "node %d\n", error, dent->d_name, + fdt_offset); } - error = fdt_setprop(buffer, fdt_offset, dent->d_name, - propbuf, proplen); - free(propbuf); - if (error) - printf("Error %d adding property %s to " - "node %d\n", error, dent->d_name, - fdt_offset); } - } } host_close(fd); From nobody Tue Jan 24 22:11:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5K5WWlz3bfZw; Tue, 24 Jan 2023 22:11: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 4P1h5K49zkz4Nqs; Tue, 24 Jan 2023 22:11:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U5r2Tegroc0XJAClHi+eZzprnbEOStv/a+8bRRu5vc0=; b=H5P2jGacE4epSm+bDUMVKpEsfO3uNjB8RPPL+CUlK1sOJsTMdPe8EPK9FaGKipWeCecb8k zv1LRw+hVWq2Y+q0nXk+Kew+9IKcfFSt4sWY/2KXSLEV9SWQbG4iqx8AABztyA+wSkuqRm UvC+sxcF54evkFXFgFEwFLdrLW1Y7MYVL4ltLEvh/excWwyRYej533hjLPSfPAS4ZEHWVI 5DpzBu3oNFAj8Mm7093kIVwEroAU+titaftBOuLrCH+Jd1sJBDvwb6h5XKqcJeVb+W99YP 2PiOMdlIPXh/pbQfFvPUD9WYoWriegRz4FzgspOlM6Syx1d8+9HmEilmLd7DrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U5r2Tegroc0XJAClHi+eZzprnbEOStv/a+8bRRu5vc0=; b=WxEDBMCzz4DCV3DW6bL6rstkwgHHIoQzrmNSoiPnEJuG3kEr+Le4KBf8WufjoBT9oYJvWd ULxlcWlg6gPeepdYvrqDSAVqqzlPATOrtJ6rMWFkm4LoeX5LbfaGCS2aeqA0JdNWZKkFQl 9OiA6istxMeVOGKJy1t/teKEpQb6ypuP0XJOiudc8gFVbJHUrW2ZYnpPMPG18OlODhRbgB /8nUpIUyYOkG3G8f4rP1EuTVmNEgSkgRUpRIIg1T5ew6rsRfan5aWunzRcEv6pPU50pfs3 zZ2TBrdVjFLmtRh8rD7r1kQ0zjAvsUSN9GILCf82x1o2zloivQOLURKncxFQZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598293; a=rsa-sha256; cv=none; b=k7HpPe6bCaycDQhjSk7OhyxATb7dCX7R2ELX3c5WcklyUR99FQhuBUaeHw3U5kQsh+HcUd 4pj8hnHBTun4dG37qJye67R8T/7zaaP8HWk7n6hBBDqXpo2JpVnXPtunGSpUo/heEI2BYt SGqGVytMy8K0gQjo5354/NYZOWX6W2J36eLty19KGBsIhfZRr7H+tu2HzKbZsGd4tfqt2L xJIKrYkGa+XdVAjXtPYc9Y2gG/2O90eelHYdEaqzef5/NFiWqXAM6uO/MU9ER4NCghkHIu qIialqhwvAENZNFzwNfdZpTM23gO8IiEA2h1u9i6X1nl2CHYKZynbkP+9g8ISg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5K3Gt1zQTr; Tue, 24 Jan 2023 22:11:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBXbk084884; Tue, 24 Jan 2023 22:11:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBXDS084883; Tue, 24 Jan 2023 22:11:33 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:33 GMT Message-Id: <202301242211.30OMBXDS084883@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: b40746e8ead2 - stable/13 - kboot: Convert from getdents to getdents64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b40746e8ead296324dee20c50cb9d766dcdb0113 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b40746e8ead296324dee20c50cb9d766dcdb0113 commit b40746e8ead296324dee20c50cb9d766dcdb0113 Author: Warner Losh AuthorDate: 2022-07-28 04:24:50 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: Convert from getdents to getdents64 Linux 2.4 introduced getdents64. Switch to using it because aarch64 doesn't have getdents as that syscall was obsoleted before that port was created. Sponsored by: Netflix (cherry picked from commit 3a1b966ae0c1b9f334e1e3a7ad8b4bf8e845f3c5) --- stand/kboot/arch/amd64/syscall_nr.h | 2 +- stand/kboot/arch/powerpc64/syscall_nr.h | 2 +- stand/kboot/host_syscall.h | 21 ++++++++++++++++++++- stand/kboot/host_syscalls.c | 4 ++-- stand/kboot/kbootfdt.c | 18 +++++------------- 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 4d8db2083ebc..71930001c1cf 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -1,6 +1,6 @@ #define SYS_close 3 #define SYS_dup 32 -#define SYS_getdents 78 +#define SYS_getdents64 217 #define SYS_getpid 39 #define SYS_gettimeofday 96 #define SYS_kexec_load 246 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index a467259e8b60..0702673c7228 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,7 +1,7 @@ #define SYS_close 6 #define SYS_dup 41 #define SYS_fstat 108 -#define SYS_getdents 141 +#define SYS_getdents64 202 #define SYS_getpid 20 #define SYS_gettimeofday 78 #define SYS_kexec_load 268 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index b867cd9f0d99..9f876952641e 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -131,13 +131,32 @@ struct host_kexec_segment { int memsz; }; +struct host_dirent64 { + uint64_t d_ino; /* 64-bit inode number */ + int64_t d_off; /* 64-bit offset to next structure */ + unsigned short d_reclen; /* Size of this dirent */ + unsigned char d_type; /* File type */ + char d_name[]; /* Filename (null-terminated) */ +}; + +/* d_type values */ +#define HOST_DT_UNKNOWN 0 +#define HOST_DT_FIFO 1 +#define HOST_DT_CHR 2 +#define HOST_DT_DIR 4 +#define HOST_DT_BLK 6 +#define HOST_DT_REG 8 +#define HOST_DT_LNK 10 +#define HOST_DT_SOCK 12 +#define HOST_DT_WHT 14 + /* * System Calls */ int host_close(int fd); int host_dup(int fd); int host_fstat(int fd, struct host_kstat *sb); -int host_getdents(int fd, void *dirp, int count); +int host_getdents64(int fd, void *dirp, int count); int host_getpid(void); int host_gettimeofday(struct host_timeval *a, void *b); int host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 865107263d7b..771f9e128fdd 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -26,9 +26,9 @@ host_fstat(int fd, struct host_kstat *sb) } int -host_getdents(int fd, void *dirp, int count) +host_getdents64(int fd, void *dirp, int count) { - return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); + return host_syscall(SYS_getdents64, fd, (uintptr_t)dirp, count); } int diff --git a/stand/kboot/kbootfdt.c b/stand/kboot/kbootfdt.c index 5e0ef9ea3068..e4e8e7cfbf04 100644 --- a/stand/kboot/kbootfdt.c +++ b/stand/kboot/kbootfdt.c @@ -40,30 +40,23 @@ add_node_to_fdt(void *buffer, const char *path, int fdt_offset) void *propbuf; ssize_t proplen; - struct host_dent { - unsigned long d_fileno; - unsigned long d_off; - unsigned short d_reclen; - char d_name[]; - /* uint8_t d_type; */ - }; char dents[2048]; - struct host_dent *dent; + struct host_dirent64 *dent; int d_type; fd = host_open(path, O_RDONLY, 0); while (1) { - dentsize = host_getdents(fd, dents, sizeof(dents)); + dentsize = host_getdents64(fd, dents, sizeof(dents)); if (dentsize <= 0) break; - for (dent = (struct host_dent *)dents; + for (dent = (struct host_dirent64 *)dents; (char *)dent < dents + dentsize; - dent = (struct host_dent *)((void *)dent + dent->d_reclen)) { + dent = (struct host_dirent64 *)((void *)dent + dent->d_reclen)) { sprintf(subpath, "%s/%s", path, dent->d_name); if (strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0) continue; - d_type = *((char *)(dent) + dent->d_reclen - 1); + d_type = dent->d_type; if (d_type == 4 /* DT_DIR */) { child_offset = fdt_add_subnode(buffer, fdt_offset, dent->d_name); @@ -72,7 +65,6 @@ add_node_to_fdt(void *buffer, const char *path, int fdt_offset) child_offset, path, dent->d_name); continue; } - add_node_to_fdt(buffer, subpath, child_offset); } else { propbuf = malloc(1024); From nobody Tue Jan 24 22:11:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5L6YY9z3bfb0; Tue, 24 Jan 2023 22:11: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 4P1h5L5fhzz4NrF; Tue, 24 Jan 2023 22:11:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m8FUalQACI9RyaweoX08h4EC017VA9yg+UccudNe24U=; b=WQfXvxsstih5VeRztopwIn92idi5/v5ck9c9/5BH7ueECpYwvDThr7wztJnnAZwGKlBygd E77Z3LHtKnshRES+tAEqnqZlj2t0d1ZLivoa3GjcYBZIDhJ64iZQnBgdyKaTX/ZcHNcjcS KKf754ZTJHzigUbkOUCCqABL2paRASFqKpFP57cBpixjfBR5zte1LzgcRxnMGjDy7h8M8x nTi6wZ8oKsq9Pxzm95kFKibswo9JQqd3qnAlZ909Ths/zY5pv381LoK8fI5siO1cxCra26 28nMsAdnd8ipsXM4j+yUxMfedMH3/YUdtFHyT9D2M38A/l8Wo9tkW5iq+fhNfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m8FUalQACI9RyaweoX08h4EC017VA9yg+UccudNe24U=; b=nThODyfaXrWbkHQg4/JqPx0PO+DxHt578ZkZ2QBfsuB5nxRNnn5z/W5JrWvTqiRBXGb6xZ qH17jG69CQIn8SsAmcXhg8IqiDibEBqGGDmjmhJriD6CTh5Scc2fUiSFhj1wa0p3AplT1h ME79anXF6P45pIc960Dr9+Fpsm9pL+/h9hBjv603VYnwnmrXAVFd1EYocEZoDXSFofemlh S0YeTExm2LTUiV1FzbwdlAJH7lP/+BG7juUlGiPOLcoWWYRcRj/ruvRXqe1/+Le/ulpuIc AP5XH0BBgIQ+vfRKsp3YBYxG74bYYRn6tyFSO2IsTSuUpndU3ma+mHtX9tv6UA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598294; a=rsa-sha256; cv=none; b=R0fkPIa4Hsapn8HaODLJlQk3plEYBbrnpeUljvPpcvvv6Q0lb1C0jNZRDyEt8v4aW5TuC3 Wc1sA12EgUwT9BNT9mBZopdBkvN2EVGxf0oIFJ++XIdtP5VRcgM9mIJwN2eVTqCGJsf5XW LHI3RDHHztRgEUbjB6DhpWHKDKMxvxyQfI0JtfiJT5SCD+4RtcQq2QmXUjRuziZ6gR1+yB /FQzuJcQq1Icz8FnI8aVuYMnkpthGKaWVSafOfvRdvmaVYrnMIm4tjBXeZX3Jz5FUsn0fM AtqPlFHti9j+yxcYdAhEtsDyjuQ1zbt4EhOePOIN5RJkh2/Y0YeVtZBjQCSZUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5L4TsmzQZC; Tue, 24 Jan 2023 22:11:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBYX8084908; Tue, 24 Jan 2023 22:11:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBY1J084907; Tue, 24 Jan 2023 22:11:34 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:34 GMT Message-Id: <202301242211.30OMBY1J084907@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: 94745fbde651 - stable/13 - kboot: Remove RELOC defines, it's unused List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 94745fbde6514e5a50b6f6466bbb0d1d9d6cb761 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=94745fbde6514e5a50b6f6466bbb0d1d9d6cb761 commit 94745fbde6514e5a50b6f6466bbb0d1d9d6cb761 Author: Warner Losh AuthorDate: 2022-07-28 05:11:12 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: Remove RELOC defines, it's unused This was copied from powerpc/ofw and has never been used. We also don't care about -DAIM. It's only relevant for in-kernel structures, which we don't use in this userland program. Sponsored by: Netflix (cherry picked from commit 309a263fe6484658827ca28a922fad70a2b42499) --- stand/kboot/arch/amd64/Makefile.inc | 3 --- stand/kboot/arch/powerpc64/Makefile.inc | 6 ------ 2 files changed, 9 deletions(-) diff --git a/stand/kboot/arch/amd64/Makefile.inc b/stand/kboot/arch/amd64/Makefile.inc index fb954e798599..a3920d636c9c 100644 --- a/stand/kboot/arch/amd64/Makefile.inc +++ b/stand/kboot/arch/amd64/Makefile.inc @@ -1,8 +1,5 @@ SRCS+= conf.c host_syscall.S amd64_tramp.S elf64_freebsd.c CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include -# load address. set in linker script -RELOC?= 0x0 -CFLAGS+= -DRELOC=${RELOC} LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.amd64 diff --git a/stand/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/arch/powerpc64/Makefile.inc index 3c2fb6e18a16..e6730edf8e3d 100644 --- a/stand/kboot/arch/powerpc64/Makefile.inc +++ b/stand/kboot/arch/powerpc64/Makefile.inc @@ -3,12 +3,6 @@ CFLAGS+= -mcpu=powerpc64 SRCS+= conf.c ppc64_elf_freebsd.c host_syscall.S kerneltramp.S SRCS+= ucmpdi2.c -# load address. set in linker script -RELOC?= 0x0 -CFLAGS+= -DRELOC=${RELOC} - LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc MK_PIE= no -# Maybe bogus? -CFLAGS+= -DAIM From nobody Tue Jan 24 22:11:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5N15BFz3bfb2; Tue, 24 Jan 2023 22:11: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 4P1h5M720Zz4Npw; Tue, 24 Jan 2023 22:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=biiUlVQiKkYkFuZPL/ftR6utOu5ZNXiRl/J73tA4Si0=; b=FB0l9rD0nT1YTPFITYEh77NRVIf9m7hetrjmPScmUGE99v4X/iYn9hDln2R0UGy1aml07P B3+w2CxASthCaNqkRAAKTKMFKVx5vHgDuEKiOepDevwT79JbfJ12OHViIAPYWil8ZQYGT1 xXDChaXzrvo1cEDakSXTwkiX11AKw/p2uukV1XVLT0vzyQXa8Cyvyl+ylRDmgDqx2NDU2n V6K1Kzsyz9fVF+1lMcAn2+RoJFpaP12VeZKmt9fIvm495XN0fY7Cjk5dRzz3eceBOSpjnU XEWBp0MwHnmlY11RdUTcwceZ+AuY5QpCsg2ZENmiuc7jA+q+723id+OAE/uMjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=biiUlVQiKkYkFuZPL/ftR6utOu5ZNXiRl/J73tA4Si0=; b=IY+/gkyCaGcmIykfPg6eVWsdNrc2WYFv1Jh48IbRjTV5HpC9GUl33MDA9pCfqDIhtoSx7p hZh88vJOthnTLQkM8N9Ov4Tos9Ec8/V0MbUah9fWsvtHSa7FgCRu2FaLz7nhZLyQLV7OZs /YuI1P7v8121enjAoZv1DAOryOXCniSMPonuMDcxG1JeDOQ+MiEd5oB+yHEAE12gMGPK/c xyBH1ID0pZ+jn+nQsbJl0qv0Nrzfw+UNTvH7meSlEjc/P/z+Hy5yVWo0TxqbId9s0GGFre U3hchGIzwpcizWTRitSLwrBqkouP71XSuoA3II8F58P+xTM/z+awnCQDvje8cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598296; a=rsa-sha256; cv=none; b=oMzi5xC894IAdFPAZPZXZkV5tgyS1NvCpLm1bmgw8u80t2ezWvnFwhwdFKCHzz1TCbSbEG tuZ6FMicwHi5/bdccyHrzkpNbacKZeQt3sQfLrvYQP66CUBX6OpGUQhItx3JNRu0JnUy18 1aIMkbwnP61YiDyD0DPdW2a46rTaYR4gqVz5XQp78sa2JAQo36b0aB9CnSeY0yT/gsSX7C EbNXUmX/8a8PUDqNJwhiXpf9kk4krbK/b+H/3/hF0B3Ikn8zwZqxrJXEq/YvLO1cSNlgVP moy9Wh9SYkKuD0xfJLy+j6kHMW769LCXSky804LajmPjmHT837gLgbu6415bjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5M5SgYzQRf; Tue, 24 Jan 2023 22:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBZKv084941; Tue, 24 Jan 2023 22:11:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBZhZ084940; Tue, 24 Jan 2023 22:11:35 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:35 GMT Message-Id: <202301242211.30OMBZhZ084940@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: dd02168938a4 - stable/13 - kboot: Move conf.c up to top level List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dd02168938a47ddd6fd18c25cba2ee5727bd1df6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dd02168938a47ddd6fd18c25cba2ee5727bd1df6 commit dd02168938a47ddd6fd18c25cba2ee5727bd1df6 Author: Warner Losh AuthorDate: 2022-07-28 20:53:25 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: Move conf.c up to top level conf.c is the same now between powerpc64 and amd64, so move it up to kboot. Move powerpc file formats defines to ppc64_elf_freebsd.c Sponsored by: Netflix (cherry picked from commit a0c075229f19ce1a10836042907e2bd89907aa0b) --- stand/kboot/Makefile | 2 +- stand/kboot/arch/amd64/Makefile.inc | 2 +- stand/kboot/arch/powerpc64/Makefile.inc | 2 +- stand/kboot/arch/powerpc64/conf.c | 118 ------------------------- stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 10 +++ stand/kboot/{arch/amd64 => }/conf.c | 0 6 files changed, 13 insertions(+), 121 deletions(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index ce0868264acf..3a38b8d3d0cf 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -18,7 +18,7 @@ NEWVERSWHAT= "kboot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b # Architecture-specific loader code -SRCS= crt1.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c +SRCS= crt1.c conf.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/arch/amd64/Makefile.inc b/stand/kboot/arch/amd64/Makefile.inc index a3920d636c9c..79ddbd67f5b6 100644 --- a/stand/kboot/arch/amd64/Makefile.inc +++ b/stand/kboot/arch/amd64/Makefile.inc @@ -1,4 +1,4 @@ -SRCS+= conf.c host_syscall.S amd64_tramp.S elf64_freebsd.c +SRCS+= host_syscall.S amd64_tramp.S elf64_freebsd.c CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include diff --git a/stand/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/arch/powerpc64/Makefile.inc index e6730edf8e3d..b62a12506969 100644 --- a/stand/kboot/arch/powerpc64/Makefile.inc +++ b/stand/kboot/arch/powerpc64/Makefile.inc @@ -1,6 +1,6 @@ CFLAGS+= -mcpu=powerpc64 -SRCS+= conf.c ppc64_elf_freebsd.c host_syscall.S kerneltramp.S +SRCS+= ppc64_elf_freebsd.c host_syscall.S kerneltramp.S SRCS+= ucmpdi2.c LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc diff --git a/stand/kboot/arch/powerpc64/conf.c b/stand/kboot/arch/powerpc64/conf.c deleted file mode 100644 index 9862611c68d8..000000000000 --- a/stand/kboot/arch/powerpc64/conf.c +++ /dev/null @@ -1,118 +0,0 @@ -/*- - * Copyright (C) 1999 Michael Smith - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include "bootstrap.h" - -#if defined(LOADER_NET_SUPPORT) -#include "dev_net.h" -#endif - -extern struct devsw hostdisk; - -/* - * We could use linker sets for some or all of these, but - * then we would have to control what ended up linked into - * the bootstrap. So it's easier to conditionalise things - * here. - * - * XXX rename these arrays to be consistent and less namespace-hostile - */ - -/* Exported for libsa */ -struct devsw *devsw[] = { -#if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) - &hostdisk, -#endif -#if defined(LOADER_NET_SUPPORT) - &netdev, -#endif - NULL -}; - -struct fs_ops *file_system[] = { -#if defined(LOADER_UFS_SUPPORT) - &ufs_fsops, -#endif -#if defined(LOADER_CD9660_SUPPORT) - &cd9660_fsops, -#endif -#if defined(LOADER_EXT2FS_SUPPORT) - &ext2fs_fsops, -#endif -#if defined(LOADER_NFS_SUPPORT) - &nfs_fsops, -#endif -#if defined(LOADER_TFTP_SUPPORT) - &tftp_fsops, -#endif -#if defined(LOADER_GZIP_SUPPORT) - &gzipfs_fsops, -#endif -#if defined(LOADER_BZIP2_SUPPORT) - &bzipfs_fsops, -#endif - &dosfs_fsops, - NULL -}; - -extern struct netif_driver kbootnet; - -struct netif_driver *netif_drivers[] = { -#if 0 /* XXX */ -#if defined(LOADER_NET_SUPPORT) - &kbootnet, -#endif -#endif - NULL, -}; - -/* Exported for PowerPC only */ -/* - * Sort formats so that those that can detect based on arguments - * rather than reading the file go first. - */ - -extern struct file_format ppc_elf64; - -struct file_format *file_formats[] = { - &ppc_elf64, - NULL -}; - -/* - * Consoles - */ -extern struct console hostconsole; - -struct console *consoles[] = { - &hostconsole, - NULL -}; - diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index 93dcb2ea9c3b..5851d71fdc13 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -170,3 +170,13 @@ struct file_format ppc_elf64 = ppc64_elf_loadfile, ppc64_elf_exec }; + +/* + * Sort formats so that those that can detect based on arguments rather than + * reading the file first. + */ + +struct file_format *file_formats[] = { + &ppc_elf64, + NULL +}; diff --git a/stand/kboot/arch/amd64/conf.c b/stand/kboot/conf.c similarity index 100% rename from stand/kboot/arch/amd64/conf.c rename to stand/kboot/conf.c From nobody Tue Jan 24 22:11:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5P1052z3bfKS; Tue, 24 Jan 2023 22:11: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 4P1h5P0CVvz4Nrl; Tue, 24 Jan 2023 22:11:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TJ1niQxhfeOcth2j5bCwb+vv+a/FrNlYMonCYdjItWY=; b=uDv9KBoawnfl9ef1xcAPkszW3tyxaBmnIKPG5LCYWozV0GpP7ZRo+BhtX9DnqglPEXNyt2 DxtRCGWOwMZbBbMgu0hccDu0CUQkaxzud5NcQIPvwuH36ZInfgfh1eCiuivp4cAQqH2FE9 rQneh80i1ny6stPas1m0KDdB0+Mw8Uv+W+vbPHStO6f0VQ3JLmdHLD21VtH2aPk7jm/NaI GqysNVVUX78z0BRetCWCUb4sQp+IeykUbwSPhU63E3uzfFAZW+hXKaALA/LMa96rVShGYy Pcx6SGemdLYIJPNGSIaGJePp1YEEgqaYSKiEP0hpzjX3XW9Y06i9nGc5bqy+9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TJ1niQxhfeOcth2j5bCwb+vv+a/FrNlYMonCYdjItWY=; b=NEKXT2sh8I396cRnyH3BxczWrlJL89MJWaleM3IQavs8HaYTlOud51Bv5ec8+rFyZKGM67 MQJU2da3QfN63nSRf3gz2chEIB6K3kk4Zm52vHiH1E4PtdEKC36H9lieSnfPUUdYfMHpMF DfccIcRAAusP8TavTFCHGBUaT2YMP2aQZHNuePsCftX8ZgK7L9at3i0ws9sKZtg6YR7yMn elYHdaRsQwDV4QjKj9Y0go5UIeeqj2uXTEL/KVPb4mc4xT05oktMDc7/llhADkhKXLw2oU edmrmdBqoACz059KUQ8lZwILbuAzn7diaKQiwTRnuisqjJS+Io9PTGHDaZO43Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598297; a=rsa-sha256; cv=none; b=wB8fWOUaldlpnY5/+I+OfRPCKu9/zdyb0OySxutBICZFRv4kQQInNKkBFNdFGZPhEVgjGu wzpkj2n8KB0pd/PafYuwmtxMf7hPY2p7ruPs+TpSWWgODhxeYM7/3/fFRsbfuOU/6uMFpM 3LweQbxfs0BH8Xsp14NHrG1ivGy1uTO3jZJfPVlWWS7Rdp3fk3TQ8Jpjz3nDGy2Ek/+plh scHiIttjpDFocQ7h4eJIXrl4zoKRXiYmflGDfOm2R/27FLylBF/aZhRjCNc2itAvvqKro+ 4ZDYjnz5jfPneNfzF9JwywYf3KV+3+B3n4FkdfjZkGzkxydJavcS4npwQD2HAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5N62n9zQNy; Tue, 24 Jan 2023 22:11:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBaqn084965; Tue, 24 Jan 2023 22:11:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBaH5084964; Tue, 24 Jan 2023 22:11:36 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:36 GMT Message-Id: <202301242211.30OMBaH5084964@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: 1fdf0d96c9db - stable/13 - kboot: aarch64 support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1fdf0d96c9db672fb79ea11f24de5c751e161cf9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1fdf0d96c9db672fb79ea11f24de5c751e161cf9 commit 1fdf0d96c9db672fb79ea11f24de5c751e161cf9 Author: Warner Losh AuthorDate: 2022-07-11 23:49:11 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: aarch64 support Add support for aarch64. exec.c and ldscript are copied from the EFI version with #ifdefs for the differences. Once complete, I'll refactor them. host_syscall.S implements a generic system call. tramp.S is a first attempt to create a tramoline that we can use to jump to the aarch64 kernel. Add aarch64-specific startup and stat files as well. exec.c tweaked slightly to avoid bringing in bi_load(), which will come in later. Includes tweaks to stat due to name differences between names on different Linux architectures. Sponsored by: Netflix (cherry picked from commit 75cbdbc9832e72a59bdcb1c307a7a4ea77e29fce) --- stand/kboot/arch/aarch64/Makefile.inc | 12 ++ stand/kboot/arch/aarch64/exec.c | 188 ++++++++++++++++++++++++++++++ stand/kboot/arch/aarch64/host_syscall.S | 18 +++ stand/kboot/arch/aarch64/ldscript.aarch64 | 72 ++++++++++++ stand/kboot/arch/aarch64/load_addr.c | 0 stand/kboot/arch/aarch64/start_arch.h | 36 ++++++ stand/kboot/arch/aarch64/stat_arch.h | 29 +++++ stand/kboot/arch/aarch64/syscall_nr.h | 20 ++++ stand/kboot/arch/aarch64/tramp.S | 67 +++++++++++ stand/kboot/host_syscalls.c | 5 + 10 files changed, 447 insertions(+) diff --git a/stand/kboot/arch/aarch64/Makefile.inc b/stand/kboot/arch/aarch64/Makefile.inc new file mode 100644 index 000000000000..5573d264ec4e --- /dev/null +++ b/stand/kboot/arch/aarch64/Makefile.inc @@ -0,0 +1,12 @@ +SRCS+= host_syscall.S tramp.S exec.c load_addr.c + +.PATH: ${BOOTSRC}/arm64/libarm64 +CFLAGS+=-I${BOOTSRC}/arm64/libarm64 +SRCS+= cache.c + +CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include +# load address. set in linker script +RELOC?= 0x0 +CFLAGS+= -DRELOC=${RELOC} + +LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.${MACHINE_ARCH} diff --git a/stand/kboot/arch/aarch64/exec.c b/stand/kboot/arch/aarch64/exec.c new file mode 100644 index 000000000000..56a206c0f09f --- /dev/null +++ b/stand/kboot/arch/aarch64/exec.c @@ -0,0 +1,188 @@ +/*- + * Copyright (c) 2006 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 + +#ifdef EFI +#include +#include + +#include "loader_efi.h" + +#endif + +#include "bootstrap.h" + +#include "platform/acfreebsd.h" +#include "acconfig.h" +#define ACPI_SYSTEM_XFACE +#include "actypes.h" +#include "actbl.h" + +#include "cache.h" + +#ifdef EFI +static EFI_GUID acpi_guid = ACPI_TABLE_GUID; +static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; +#endif + +static int elf64_exec(struct preloaded_file *amp); +static int elf64_obj_exec(struct preloaded_file *amp); + +/* Stub out temporarily */ +static int +bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs) +{ + return EINVAL; +} + +static struct file_format arm64_elf = { + elf64_loadfile, + elf64_exec +}; + +struct file_format *file_formats[] = { + &arm64_elf, + NULL +}; + +static int +elf64_exec(struct preloaded_file *fp) +{ + vm_offset_t modulep, kernendp; + vm_offset_t clean_addr; + size_t clean_size; + struct file_metadata *md; + Elf_Ehdr *ehdr; + void (*entry)(vm_offset_t); + int err; +#ifdef EFI + ACPI_TABLE_RSDP *rsdp; + char buf[24]; + int revision; +#endif + /* + * Report the RSDP to the kernel. The old code used the 'hints' method + * to communite this to the kernel. However, while convenient, the + * 'hints' method is fragile and does not work when static hints are + * compiled into the kernel. Instead, move to setting different tunables + * that start with acpi. The old 'hints' can be removed before we branch + * for FreeBSD 15. + */ +#ifdef EFI + rsdp = efi_get_table(&acpi20_guid); + if (rsdp == NULL) { + rsdp = efi_get_table(&acpi_guid); + } + if (rsdp != NULL) { + sprintf(buf, "0x%016llx", (unsigned long long)rsdp); + setenv("hint.acpi.0.rsdp", buf, 1); + setenv("acpi.rsdp", buf, 1); + revision = rsdp->Revision; + if (revision == 0) + revision = 1; + sprintf(buf, "%d", revision); + setenv("hint.acpi.0.revision", buf, 1); + setenv("acpi.revision", buf, 1); + strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); + buf[sizeof(rsdp->OemId)] = '\0'; + setenv("hint.acpi.0.oem", buf, 1); + setenv("acpi.oem", buf, 1); + sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); + setenv("hint.acpi.0.rsdt", buf, 1); + setenv("acpi.rsdt", buf, 1); + if (revision >= 2) { + /* XXX extended checksum? */ + sprintf(buf, "0x%016llx", + (unsigned long long)rsdp->XsdtPhysicalAddress); + setenv("hint.acpi.0.xsdt", buf, 1); + setenv("acpi.xsdt", buf, 1); + sprintf(buf, "%d", rsdp->Length); + setenv("hint.acpi.0.xsdt_length", buf, 1); + setenv("acpi.xsdt_length", buf, 1); + } + } +#else +#endif + + if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) + return(EFTYPE); + + ehdr = (Elf_Ehdr *)&(md->md_data); +#ifdef EFI + entry = efi_translate(ehdr->e_entry); + + efi_time_fini(); +#else + entry = (void *)ehdr->e_entry; +#endif + err = bi_load(fp->f_args, &modulep, &kernendp, true); + if (err != 0) { +#ifdef EFI + efi_time_init(); +#endif + return (err); + } + + dev_cleanup(); + + /* Clean D-cache under kernel area and invalidate whole I-cache */ +#ifdef EFI + clean_addr = (vm_offset_t)efi_translate(fp->f_addr); + clean_size = (vm_offset_t)efi_translate(kernendp) - clean_addr; +#else + clean_addr = (vm_offset_t)fp->f_addr; + clean_size = (vm_offset_t)kernendp - clean_addr; +#endif + + cpu_flush_dcache((void *)clean_addr, clean_size); + cpu_inval_icache(); + + (*entry)(modulep); + + panic("exec returned"); +} + +static int +elf64_obj_exec(struct preloaded_file *fp) +{ + + printf("%s called for preloaded file %p (=%s):\n", __func__, fp, + fp->f_name); + return (ENOSYS); +} + diff --git a/stand/kboot/arch/aarch64/host_syscall.S b/stand/kboot/arch/aarch64/host_syscall.S new file mode 100644 index 000000000000..db3ecf0f885d --- /dev/null +++ b/stand/kboot/arch/aarch64/host_syscall.S @@ -0,0 +1,18 @@ +#include + +/* + * Emulate the Linux system call interface. System call number in x8. + * Args in x0, x1, x2, x3, x4 and x5. Return in x0. + */ +ENTRY(host_syscall) + mov x8, x0 + mov x0, x1 + mov x1, x2 + mov x2, x3 + mov x3, x4 + mov x4, x5 + mov x5, x6 + svc 0 + ret +/* Note: We're exposing the raw return value to the caller */ +END(host_syscall) diff --git a/stand/kboot/arch/aarch64/ldscript.aarch64 b/stand/kboot/arch/aarch64/ldscript.aarch64 new file mode 100644 index 000000000000..d7107fe8c18a --- /dev/null +++ b/stand/kboot/arch/aarch64/ldscript.aarch64 @@ -0,0 +1,72 @@ +/* $FreeBSD$ */ +OUTPUT_FORMAT("elf64-aarch64", "elf64-aarch64", "elf64-aarch64") +OUTPUT_ARCH(aarch64) +ENTRY(_start) +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = 0x401000; + ImageBase = .; + .hash : { *(.hash) } /* this MUST come first! */ + . = ALIGN(4096); + .eh_frame : + { + *(.eh_frame) + } + . = ALIGN(4096); + .text : { + *(.text .stub .text.* .gnu.linkonce.t.*) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + *(.plt) + } =0xCCCCCCCC + . = ALIGN(4096); + .data : { + *(.rodata .rodata.* .gnu.linkonce.r.*) + *(.rodata1) + *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) + *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) + *(.opd) + *(.data .data.* .gnu.linkonce.d.*) + *(.data1) + *(.plabel) + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + } + . = ALIGN(4096); + set_Xcommand_set : { + __start_set_Xcommand_set = .; + *(set_Xcommand_set) + __stop_set_Xcommand_set = .; + } + set_Xficl_compile_set : { + __start_set_Xficl_compile_set = .; + *(set_Xficl_compile_set) + __stop_set_Xficl_compile_set = .; + } + . = ALIGN(4096); + __gp = .; + .sdata : { + *(.got.plt .got) + *(.sdata .sdata.* .gnu.linkonce.s.*) + *(dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + . = ALIGN(4096); + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .rela.dyn : { + *(.rela.data*) + *(.rela.got) + *(.rela.stab) + *(.relaset_*) + } + . = ALIGN(4096); + .reloc : { *(.reloc) } + . = ALIGN(4096); + .dynsym : { *(.dynsym) } + . = ALIGN(4096); + .dynstr : { *(.dynstr) } +} diff --git a/stand/kboot/arch/aarch64/load_addr.c b/stand/kboot/arch/aarch64/load_addr.c new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/stand/kboot/arch/aarch64/start_arch.h b/stand/kboot/arch/aarch64/start_arch.h new file mode 100644 index 000000000000..467ba054c9f0 --- /dev/null +++ b/stand/kboot/arch/aarch64/start_arch.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * Provides a _start routine that calls a _start_c routine that takes a pointer + * to the stack as documented in crt1.c. We skip the pointer to _DYNAMIC since + * we don't support dynamic libraries, at all. And while _start_c is our own + * thing and doesn't have a second arg, we comport to the calling conventions + * that glibc and musl have by passing x1 as 0 for the dynamic pointer. We + * likely could call main directly with only a few more lines of code, but this + * is simple enough and concentrates all the expressable in C stuff there. We + * also generate eh_frames should we need to debug things (it doesn't change the + * genreated code, but leaves enough breadcrumbs to keep gdb happy) + */ + +__asm__( +".text\n" /* ENTRY(_start) -- can't expand and stringify, so by hand */ +".align 2\n" +".global _start\n" +".type _start, #function\n" +"_start:\n" +".cfi_startproc\n" +/* + * Linux zeros all registers so x29 (frame pointer) and x30 (link register) are 0. + */ +" mov x0, sp\n" /* Pointer to argc, etc kernel left on the stack */ +" and sp, x0, #-16\n" /* Align stack to 16-byte boundary */ +" b _start_c\n" /* Our MI code takes it from here */ +/* NORETURN */ +".ltorg\n" /* END(_start) */ +".cfi_endproc\n" +".size _start, .-_start\n" +); diff --git a/stand/kboot/arch/aarch64/stat_arch.h b/stand/kboot/arch/aarch64/stat_arch.h new file mode 100644 index 000000000000..2462caed8682 --- /dev/null +++ b/stand/kboot/arch/aarch64/stat_arch.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Note: From the musl project + */ + +struct host_kstat { + host_dev_t st_dev; + host_ino_t st_ino; + host_mode_t st_mode; + host_nlink_t st_nlink; + host_uid_t st_uid; + host_gid_t st_gid; + host_dev_t st_rdev; + unsigned long __pad; + host_off_t st_size; + host_blksize_t st_blksize; + int __pad2; + host_blkcnt_t st_blocks; + long st_atime_sec; + long st_atime_nsec; + long st_mtime_sec; + long st_mtime_nsec; + long st_ctime_sec; + long st_ctime_nsec; + unsigned __pad_for_future[2]; +}; diff --git a/stand/kboot/arch/aarch64/syscall_nr.h b/stand/kboot/arch/aarch64/syscall_nr.h new file mode 100644 index 000000000000..511d1fa8b2a7 --- /dev/null +++ b/stand/kboot/arch/aarch64/syscall_nr.h @@ -0,0 +1,20 @@ +#define SYS_close 57 +#define SYS_dup 23 +#define SYS_fstat 80 +#define SYS_getdents64 61 +#define SYS_getpid 172 +#define SYS_gettimeofday 169 +#define SYS_lseek 62 +#define SYS_kexec_load 104 +#define SYS_mkdirat 34 +#define SYS_mmap 222 +#define SYS_mount 40 +#define SYS_munmap 215 +#define SYS_newfstatat 79 +#define SYS_openat 56 +#define SYS_pselect6 72 +#define SYS_read 63 +#define SYS_reboot 142 +#define SYS_symlinkat 36 +#define SYS_uname 160 +#define SYS_write 64 diff --git a/stand/kboot/arch/aarch64/tramp.S b/stand/kboot/arch/aarch64/tramp.S new file mode 100644 index 000000000000..1edb6823bdc9 --- /dev/null +++ b/stand/kboot/arch/aarch64/tramp.S @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * This is the trampoline that starts the FreeBSD kernel. Since the Linux kernel + * calls this routine with no args, and has a different environment than the boot + * loader provides and that the kernel expects, this code is responsible for setting + * all that up and calling the normal kernel entry point. It's analogous ot the + * "purgatory" code in the linux kernel. Details about these operations are + * contained in comments below. On aarch64, the kernel will start all the APs so + * we don't have to worry about them here. + */ + +/* + * Keep in sync with exec.c. Kexec starts aarch64_tramp w/o any + * parameters, so store them here. + * + * struct trampoline_data { + * uint64_t entry; // 0 (PA where kernel loaded) + * uint64_t modulep; // 8 module metadata + * }; + * + * The aarch64 _start routine assumes: + * MMU on with an identity map, or off + * D-Cache: off + * I-Cache: on or off + * We are loaded at a 2MiB aligned address + * Module data (modulep) pointer in x0 + * + * Unlike EFI, we don't support copying the staging area. We tell Linunx to land + * the kernel in its final location with the needed alignment, etc. + * + * This trampoline installs sets up the arguments the kernel expects, flushes + * the cache lines and jumps to the kernel _start address. We pass the modulep + * pointer in x0, as _start expects. + */ + .text + .globl aarch64_tramp +aarch64_tramp: + b 1f /* skip over our saved args */ + .p2align 3 +trampoline_data: +#define TRAMP_ENTRY 0 +#define TRAMP_MODULEP 8 +#define TRAMP_TOTAL 16 + .space TRAMP_TOTAL +#define TMPSTACKSIZE 48 /* 16 bytes for args +8 for pushq/popfq + 24 spare */ +1: + adr x2, trampoline_data + ldr x1, [x2, #TRAMP_ENTRY] + ldr x0, [x2, #TRAMP_MODULEP] + br x1 + + .p2align 4 + .space TMPSTACKSIZE +aarch64_tramp_end: /* padding doubles as stack */ + + .data + .globl aarch64_tramp_size +aarch64_tramp_size: + .long aarch64_tramp_end-aarch64_tramp + .globl aarch64_tramp_data_offset +aarch64_tramp_data_offset: + .long trampoline_data-aarch64_tramp diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 771f9e128fdd..52371021f282 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -19,10 +19,15 @@ host_dup(int fd) return host_syscall(SYS_dup, fd); } +/* Same system call with different names on different Linux architectures due to history */ int host_fstat(int fd, struct host_kstat *sb) { +#ifdef SYS_newfstat return host_syscall(SYS_newfstat, fd, (uintptr_t)sb); +#else + return host_syscall(SYS_fstat, fd, (uintptr_t)sb); +#endif } int From nobody Tue Jan 24 22:11:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5Q1nnNz3bfQh; Tue, 24 Jan 2023 22:11: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 4P1h5Q0ts6z4P56; Tue, 24 Jan 2023 22:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tw1FbIrabUXuvSa4SNn7wCUsLd8SVddSHp0Uf8U18mg=; b=PQK/Rf4Utx0kbQp4Srso6x+q9WGoBxMR3if7NqPSSZ07EvBvKuUzB/H0junzkjk2jM8lD+ 3/nSGIS4Ote2gE5rBq6NlfnfUdkRAbKxHqb369GtTGgnMui82xkA+YnSdhifHDxxHRg13L D7vvdF53IfyaSUzUpS1rA3ngLrB1sAY30tKoFoxOuqeBRWaS0aBueheQS2RBKXHx4Vb59+ 94HPGWsw/79WI4lqaOmwScFIr6kGz4Xg/td4mCMPLg17QZC7nRK8rCUbou4tOn/amOc7dw 1wD2CT1rJO3lG5HlVuhko6Ho4aOkEWLEGe7GKCSAAndA59hGanDW0FFVE6nxug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tw1FbIrabUXuvSa4SNn7wCUsLd8SVddSHp0Uf8U18mg=; b=FiidJU1teKWEvRcqJLu6utNPNfvGQoMirUYJFAdYbBhSV6kPXLZnsMX6pgHfMvKURmwVLJ lp6TRfqMGzvxcEjQuhdnM+vht5CB6hye4EW12HJaRZWD1wArIvSw9u8cvn59UmLFTGMn4B ePadM0PDAk0lJp6C4djaqPe074tsmgRIbwwOiuKAi+a+AXk396gOHCpUhT6fpAKrjfnNS5 BN0blH5DTiCUBJFDiMdXhQTVuZXkJfDas7tFW926qHIz5C9mghjeTCom+dUYMrhLoqGLW+ 5eFnWF4xfRyUC5EjDOP/MQMECTFQk54qbKaRjbwWBixtAPDOkXcPqX7Ut8VfoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598298; a=rsa-sha256; cv=none; b=qepI9aL4Ruosxg+X7MQZJjdYaz0JzKtTpVXNMeu4IL85YaAurUcra/UKCtAORQXWwAD+OP rzSS2FTFL8QsaDloulBp2m/h7ogu57Ag185w92MkGbeYXA1jwAyOTRGlFT4oS51LKhftGU GwiCE4E1pRA+uQ3cOqIl2HMJcn8tgQ2JUCNxhIzmhJnjH7jnXxPsd7DLzHixXR3I1mRU8N CC38vlkdww6A0HVBxEj1pvksUCtY2VIRsvK0zsZhY3l0NnQrXNY2+pvQ8i1zL9unJh56un C2ASPcL19S1HmdckBuG6Nqd/O0UVdc0/4LhzIKL05Urtq6E4oh2Gs9/N+PgmhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5P757MzQRg; Tue, 24 Jan 2023 22:11:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBb6r084989; Tue, 24 Jan 2023 22:11:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBb4i084988; Tue, 24 Jan 2023 22:11:37 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:37 GMT Message-Id: <202301242211.30OMBb4i084988@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: fce2a0a930a7 - stable/13 - kboot: Add host_exit and use it to implement exit() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fce2a0a930a7680a4725746a274d61a7ff84ac9d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fce2a0a930a7680a4725746a274d61a7ff84ac9d commit fce2a0a930a7680a4725746a274d61a7ff84ac9d Author: Warner Losh AuthorDate: 2022-07-28 21:18:08 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: Add host_exit and use it to implement exit() Clients of libsa are expected to implement exit(). The current exit just loops forever. It is better to really exit: when running as init that will reboot the system. When not running as init, other programs can recover (not that we support running as init, but when we do in the future, this is still the rigtht thing). Sponsored by: Netflix (cherry picked from commit f56d7a73be6688299c7ec97fac6d505c657aa55c) --- stand/kboot/arch/aarch64/syscall_nr.h | 1 + stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 1 + stand/kboot/host_syscalls.c | 6 ++++++ stand/kboot/main.c | 2 +- 6 files changed, 11 insertions(+), 1 deletion(-) diff --git a/stand/kboot/arch/aarch64/syscall_nr.h b/stand/kboot/arch/aarch64/syscall_nr.h index 511d1fa8b2a7..79bf22947e94 100644 --- a/stand/kboot/arch/aarch64/syscall_nr.h +++ b/stand/kboot/arch/aarch64/syscall_nr.h @@ -1,5 +1,6 @@ #define SYS_close 57 #define SYS_dup 23 +#define SYS_exit 93 #define SYS_fstat 80 #define SYS_getdents64 61 #define SYS_getpid 172 diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 71930001c1cf..71469109a55e 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -1,5 +1,6 @@ #define SYS_close 3 #define SYS_dup 32 +#define SYS_exit 60 #define SYS_getdents64 217 #define SYS_getpid 39 #define SYS_gettimeofday 96 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 0702673c7228..7b425e36c517 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -1,5 +1,6 @@ #define SYS_close 6 #define SYS_dup 41 +#define SYS_exit 1 #define SYS_fstat 108 #define SYS_getdents64 202 #define SYS_getpid 20 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 9f876952641e..09f5355e520d 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -155,6 +155,7 @@ struct host_dirent64 { */ int host_close(int fd); int host_dup(int fd); +int host_exit(int code); int host_fstat(int fd, struct host_kstat *sb); int host_getdents64(int fd, void *dirp, int count); int host_getpid(void); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 52371021f282..8b364083b15c 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -19,6 +19,12 @@ host_dup(int fd) return host_syscall(SYS_dup, fd); } +int +host_exit(int code) +{ + return host_syscall(SYS_exit, code); +} + /* Same system call with different names on different Linux architectures due to history */ int host_fstat(int fd, struct host_kstat *sb) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 83ad0ceb8a18..5d40e2c3b582 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -303,7 +303,7 @@ main(int argc, const char **argv) void exit(int code) { - while (1); /* XXX: host_exit */ + host_exit(code); __unreachable(); } From nobody Tue Jan 24 22:11:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5R3V0Xz3bfXg; Tue, 24 Jan 2023 22:11: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 4P1h5R2VpWz4P3b; Tue, 24 Jan 2023 22:11:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PKZb6NrVLdK0gGA+DIkoEAKI8VkLD8QHWcWoW2dC96c=; b=esUok4ijxnA7KVkMOofr9rj0M/RrIMVIUzPrfBpbH0zpiosFYrAjxcQ5CYlJ/H7NOwOzW+ RIbgaRGTw3IcUFLIcIT5QX/sOn0sNyq6Br6cN1LI1BYNHRTGOD1k41k8gb3a8q/mLQgyF7 kSIRQvDyW1vpcEa1rJiWjKQpj4mpYx81K7qzQSeY1TCqKMIidsh+Zir1vEs9s35xEuqFZr wNBB91DTHSbCyVqTGiRl2IyQdknmjEPMxJ3wnVQXDvqPBJHWOKhBgfv5vctTogUIVzXIrE 2TLT0eMHwe+lMyer06eHFSAkRY7ghM1POyqML0C4iMvSsH7RN6I7J8iua7G/Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PKZb6NrVLdK0gGA+DIkoEAKI8VkLD8QHWcWoW2dC96c=; b=SBySNpShGwryGnDeTWIvxHC018gkR9Slkrm0WDiXKWAtVuLkplpv7mwpKKtvF9TrzvzJn+ FYdwV8hsT+gGxed7Vggp3IgJ7RPMYkZaZyE02bXR9zMg+3bU89BAIGQlje6WhI5MlmJ1mu fSS6KviCdWCFmPk78X1OyZoCTpF6yYIajd5Fnyb17St9HOTbM9g2qU2rkKKPD/EvJAtoyi gy3u/qu15fat8HwXI/PWXT9cm37fgdrre+wnj5qZLqKPL1EgQdlU9ajSxNb2YsW63MiVXM 8I5+3l8UBmY2l54T/4M8NXkWPIKd+SEobz4kB7WFFkjs+ycH79LTBgG5QUVWGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598299; a=rsa-sha256; cv=none; b=OVP8MjKx9mSsVVBqVlCWHZQ5nAN+YgRRhE6I5mMjTkb8Rx+GR5gCmdjpDHUUUcOqb4XbD8 nKtsAuRbaV4CUWSRkG4hr8+qTBtVTBrqeM6GDx1YP3LmKaPnDXCenD4r6bTF0AmUoKg2F7 m+v5YmS8Bjp+Rp5BPX95W6LQ/FbNpWdrrAeLPlOAl8C9pLezO5itHPg2sXvmxRfBEe33cH 0/doxZZB9p8ydrxRabzNP9UBa2nD/QJmSF0cEO50lCuh+5D8WNlBShnxhPcKcA5Ax7fDA/ QxcKeTbegWrH6L4YM36Rnp5/Nn3ORJ5PNu+pI1RqIFJK86RwN33KGw/GDYH6Og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5R0nMPzQZG; Tue, 24 Jan 2023 22:11:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBdAK085018; Tue, 24 Jan 2023 22:11:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBd0T085017; Tue, 24 Jan 2023 22:11:39 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:39 GMT Message-Id: <202301242211.30OMBd0T085017@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: cb86911127e8 - stable/13 - kboot: Implement host_ioctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cb86911127e8d9a0fedead92ba5bb9aa34c3c885 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cb86911127e8d9a0fedead92ba5bb9aa34c3c885 commit cb86911127e8d9a0fedead92ba5bb9aa34c3c885 Author: Warner Losh AuthorDate: 2022-07-26 23:30:30 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: Implement host_ioctl Sponsored by: Netflix (cherry picked from commit 54e6e0deb4853dae7e97e7d5659c05e95bebac32) --- stand/kboot/arch/aarch64/syscall_nr.h | 1 + stand/kboot/arch/amd64/syscall_nr.h | 1 + stand/kboot/arch/powerpc64/syscall_nr.h | 1 + stand/kboot/host_syscall.h | 1 + stand/kboot/host_syscalls.c | 6 ++++++ 5 files changed, 10 insertions(+) diff --git a/stand/kboot/arch/aarch64/syscall_nr.h b/stand/kboot/arch/aarch64/syscall_nr.h index 79bf22947e94..83069dd8dc76 100644 --- a/stand/kboot/arch/aarch64/syscall_nr.h +++ b/stand/kboot/arch/aarch64/syscall_nr.h @@ -5,6 +5,7 @@ #define SYS_getdents64 61 #define SYS_getpid 172 #define SYS_gettimeofday 169 +#define SYS_ioctl 29 #define SYS_lseek 62 #define SYS_kexec_load 104 #define SYS_mkdirat 34 diff --git a/stand/kboot/arch/amd64/syscall_nr.h b/stand/kboot/arch/amd64/syscall_nr.h index 71469109a55e..2cf26d7ca4dc 100644 --- a/stand/kboot/arch/amd64/syscall_nr.h +++ b/stand/kboot/arch/amd64/syscall_nr.h @@ -4,6 +4,7 @@ #define SYS_getdents64 217 #define SYS_getpid 39 #define SYS_gettimeofday 96 +#define SYS_ioctl 16 #define SYS_kexec_load 246 #define SYS_lseek 8 #define SYS_mkdirat 258 diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 7b425e36c517..71f2452c9124 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -5,6 +5,7 @@ #define SYS_getdents64 202 #define SYS_getpid 20 #define SYS_gettimeofday 78 +#define SYS_ioctl 54 #define SYS_kexec_load 268 #define SYS_llseek 140 #define SYS_mkdirat 287 diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 09f5355e520d..0029004f675a 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -160,6 +160,7 @@ int host_fstat(int fd, struct host_kstat *sb); int host_getdents64(int fd, void *dirp, int count); int host_getpid(void); int host_gettimeofday(struct host_timeval *a, void *b); +int host_ioctl(int fd, unsigned long request, unsigned long arg); int host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags); ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); int host_mkdir(const char *, host_mode_t); diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 8b364083b15c..1ffa04948fdf 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -54,6 +54,12 @@ host_gettimeofday(struct host_timeval *a, void *b) return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b); } +int +host_ioctl(int fd, unsigned long request, unsigned long arg) +{ + return host_syscall(SYS_ioctl, fd, request, arg); +} + int host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags) { From nobody Tue Jan 24 22:11:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5S3XVZz3bfMQ; Tue, 24 Jan 2023 22:11: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 4P1h5S2l2Zz4P5j; Tue, 24 Jan 2023 22:11:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fulpH4kr24YFKFhpxPdRgsgEiW6ve2etrzdosiWcj/U=; b=fbvoNdt4TByErxilnMVCRxHxqFm33J6R4lvJr+yC1HJPaQuUhp+6ekbLUQSYwdHS43ZD/s Uyeipft3hmfNa3V9Vr0pARERW3Vf3qs84O92IS/ckO9J8zHO2V/MQPH0SU/qAzhBBUMrZ5 o/NMqYE+lFp0QCfAltT/UX5qjx+ZtcJkAy+jXnL3lqhsu/XSNNnORTZkEvjKa3XJRBuj8d BkK2q/TFfUed9Ve3MHUFQxrV2LJtaoGRdLhUYXcQU7NGnxH9OWOj0av/W5YmOjRjJmATse 7WsmdEJ0aFn34VPfhhqJ6NoD3V4Az6C+UyhYW0CW2+2AmtUi8DCFJmVai60TOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fulpH4kr24YFKFhpxPdRgsgEiW6ve2etrzdosiWcj/U=; b=eW7ks2hss1oEpmMUhE61RRgLr03gi6OhWzkgh8jmdKGiD5/mzYI+VGxU0YnKBYx+S0gZoq 0qWRYXeePn6XYLBDZWb31ahyQRIrtUdgUiuzm/PjQKsrPr8ADfnGbpWH1QPvsifNlFKcFw IIDf71n2egDqBvkVALMWG0kn3uDXcZpDBH8uFVScOxE391dbghRMb1+atauymwJa7c2wIl ZH8qms4si+kaDuWq1lW9WLfIcOm+Zma64Ch5foYAlarUcGlS2xTT6C5v9NeVKuBUsP28zQ zkKySSebawbM2pjZs0eBeBW4xRgbvxhtfiwaGS28cf7DhxaBHhNqXrIiQgIR+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598300; a=rsa-sha256; cv=none; b=iljLSW0kunkdJEeI1w/eoGYcc5KBEzJLmQfHwr+QEBmcdHFNFl0VqP/1j/agPVSc/j3E76 ni86e1QfE+rXdgujhhrRlOhYejtJ7cRoVwYM9JScLZTZTwVicqXglf+0kS9mpNVszy0MtT /QH/3DXmAS6NBa0dAFoQAj6cJF4IKaGZrlC4wmHI8l1XYOPx2tVHbynm1mdntUn61Fb4ZY 8MMzk2Q65XOKtvn5+V6udj01GrDKCO0xcdushRYqsWpPOxyIMPZpFJNhYAfCUONskknjl4 Z5Z1bBswNxJfsTS9+mHQsMYffkA2HDJh4RHqo/QdBumFqWoxprZa2ROkaef4CQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5S1s1hzQRj; Tue, 24 Jan 2023 22:11:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBexA085042; Tue, 24 Jan 2023 22:11:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBegh085041; Tue, 24 Jan 2023 22:11:40 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:40 GMT Message-Id: <202301242211.30OMBegh085041@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: 0c1f70f8ee46 - stable/13 - kboot: implement stripped down termios List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0c1f70f8ee468ebdbb7d6bb92d706c573a58fcf3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0c1f70f8ee468ebdbb7d6bb92d706c573a58fcf3 commit 0c1f70f8ee468ebdbb7d6bb92d706c573a58fcf3 Author: Warner Losh AuthorDate: 2022-07-26 23:31:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:28 +0000 kboot: implement stripped down termios Implement a stripped down termios, obtained from various files in musl and HOST_ or host_ prepended to most things and a few unavoidable style tweaks. Only implements the bits of termios we need for the boot loader: put the terminal into raw mode, restore terminal settings and speed stuff. Sponsored by: Netflix (cherry picked from commit 963037786f76a414e91e45d4fbef5e35fc1abc84) --- stand/kboot/Makefile | 1 + stand/kboot/arch/amd64/termios_arch.h | 1 + stand/kboot/arch/powerpc64/termios_arch.h | 184 ++++++++++++++++++++++++++++++ stand/kboot/termios.c | 66 +++++++++++ stand/kboot/termios.h | 24 ++++ stand/kboot/termios_gen.h | 169 +++++++++++++++++++++++++++ 6 files changed, 445 insertions(+) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 3a38b8d3d0cf..986e636a8c35 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -19,6 +19,7 @@ INSTALLFLAGS= -b # Architecture-specific loader code SRCS= crt1.c conf.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c +SRCS+= termios.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/arch/amd64/termios_arch.h b/stand/kboot/arch/amd64/termios_arch.h new file mode 100644 index 000000000000..0d5ae3718498 --- /dev/null +++ b/stand/kboot/arch/amd64/termios_arch.h @@ -0,0 +1 @@ +#include "termios_gen.h" diff --git a/stand/kboot/arch/powerpc64/termios_arch.h b/stand/kboot/arch/powerpc64/termios_arch.h new file mode 100644 index 000000000000..62b801ff16da --- /dev/null +++ b/stand/kboot/arch/powerpc64/termios_arch.h @@ -0,0 +1,184 @@ +#undef HOST_NCCS +#define HOST_NCCS 19 +struct host_termios { + host_tcflag_t c_iflag; + host_tcflag_t c_oflag; + host_tcflag_t c_cflag; + host_tcflag_t c_lflag; + host_cc_t c_cc[HOST_NCCS]; + host_cc_t c_line; + host_speed_t __c_ispeed; + host_speed_t __c_ospeed; +}; + +#define HOST_VINTR 0 +#define HOST_VQUIT 1 +#define HOST_VERASE 2 +#define HOST_VKILL 3 +#define HOST_VEOF 4 +#define HOST_VMIN 5 +#define HOST_VEOL 6 +#define HOST_VTIME 7 +#define HOST_VEOL2 8 +#define HOST_VSWTC 9 +#define HOST_VWERASE 10 +#define HOST_VREPRINT 11 +#define HOST_VSUSP 12 +#define HOST_VSTART 13 +#define HOST_VSTOP 14 +#define HOST_VLNEXT 15 +#define HOST_VDISCARD 16 + +#define HOST_IGNBRK 0000001 +#define HOST_BRKINT 0000002 +#define HOST_IGNPAR 0000004 +#define HOST_PARMRK 0000010 +#define HOST_INPCK 0000020 +#define HOST_ISTRIP 0000040 +#define HOST_INLCR 0000100 +#define HOST_IGNCR 0000200 +#define HOST_ICRNL 0000400 +#define HOST_IXON 0001000 +#define HOST_IXOFF 0002000 +#define HOST_IXANY 0004000 +#define HOST_IUCLC 0010000 +#define HOST_IMAXBEL 0020000 +#define HOST_IUTF8 0040000 + +#define HOST_OPOST 0000001 +#define HOST_ONLCR 0000002 +#define HOST_OLCUC 0000004 +#define HOST_OCRNL 0000010 +#define HOST_ONOCR 0000020 +#define HOST_ONLRET 0000040 +#define HOST_OFILL 0000100 +#define HOST_OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define HOST_NLDLY 0001400 +#define HOST_NL0 0000000 +#define HOST_NL1 0000400 +#define HOST_NL2 0001000 +#define HOST_NL3 0001400 +#define HOST_TABDLY 0006000 +#define HOST_TAB0 0000000 +#define HOST_TAB1 0002000 +#define HOST_TAB2 0004000 +#define HOST_TAB3 0006000 +#define HOST_CRDLY 0030000 +#define HOST_CR0 0000000 +#define HOST_CR1 0010000 +#define HOST_CR2 0020000 +#define HOST_CR3 0030000 +#define HOST_FFDLY 0040000 +#define HOST_FF0 0000000 +#define HOST_FF1 0040000 +#define HOST_BSDLY 0100000 +#define HOST_BS0 0000000 +#define HOST_BS1 0100000 +#endif + +#define HOST_VTDLY 0200000 +#define HOST_VT0 0000000 +#define HOST_VT1 0200000 + +#define HOST_B0 0000000 +#define HOST_B50 0000001 +#define HOST_B75 0000002 +#define HOST_B110 0000003 +#define HOST_B134 0000004 +#define HOST_B150 0000005 +#define HOST_B200 0000006 +#define HOST_B300 0000007 +#define HOST_B600 0000010 +#define HOST_B1200 0000011 +#define HOST_B1800 0000012 +#define HOST_B2400 0000013 +#define HOST_B4800 0000014 +#define HOST_B9600 0000015 +#define HOST_B19200 0000016 +#define HOST_B38400 0000017 + +#define HOST_B57600 00020 +#define HOST_B115200 00021 +#define HOST_B230400 00022 +#define HOST_B460800 00023 +#define HOST_B500000 00024 +#define HOST_B576000 00025 +#define HOST_B921600 00026 +#define HOST_B1000000 00027 +#define HOST_B1152000 00030 +#define HOST_B1500000 00031 +#define HOST_B2000000 00032 +#define HOST_B2500000 00033 +#define HOST_B3000000 00034 +#define HOST_B3500000 00035 +#define HOST_B4000000 00036 + +#define HOST_CSIZE 00001400 +#define HOST_CS5 00000000 +#define HOST_CS6 00000400 +#define HOST_CS7 00001000 +#define HOST_CS8 00001400 +#define HOST_CSTOPB 00002000 +#define HOST_CREAD 00004000 +#define HOST_PARENB 00010000 +#define HOST_PARODD 00020000 +#define HOST_HUPCL 00040000 +#define HOST_CLOCAL 00100000 + +#define HOST_ECHOE 0x00000002 +#define HOST_ECHOK 0x00000004 +#define HOST_ECHO 0x00000008 +#define HOST_ECHONL 0x00000010 +#define HOST_ISIG 0x00000080 +#define HOST_ICANON 0x00000100 +#define HOST_IEXTEN 0x00000400 +#define HOST_TOSTOP 0x00400000 +#define HOST_NOFLSH 0x80000000 + +#define HOST_TCOOFF 0 +#define HOST_TCOON 1 +#define HOST_TCIOFF 2 +#define HOST_TCION 3 + +#define HOST_TCIFLUSH 0 +#define HOST_TCOFLUSH 1 +#define HOST_TCIOFLUSH 2 + +#define HOST_TCSANOW 0 +#define HOST_TCSADRAIN 1 +#define HOST_TCSAFLUSH 2 + +#define HOST_EXTA 0000016 +#define HOST_EXTB 0000017 +#define HOST_CBAUD 00377 +#define HOST_CBAUDEX 0000020 +#define HOST_CIBAUD 077600000 +#define HOST_CMSPAR 010000000000 +#define HOST_CRTSCTS 020000000000 + +#define HOST_XCASE 0x00004000 +#define HOST_ECHOCTL 0x00000040 +#define HOST_ECHOPRT 0x00000020 +#define HOST_ECHOKE 0x00000001 +#define HOST_FLUSHO 0x00800000 +#define HOST_PENDIN 0x20000000 +#define HOST_EXTPROC 0x10000000 + +#define HOST_XTABS 00006000 +#define HOST_TIOCSER_TEMT 1 + +#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 1U +#define _IOC_WRITE 4U +#define _IOC_READ 2U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define HOST_TCGETS _IOR('t', 19, char[44]) +#define HOST_TCSETS _IOW('t', 20, char[44]) +#define HOST_TCSETSW _IOW('t', 21, char[44]) +#define HOST_TCSETSF _IOW('t', 22, char[44]) diff --git a/stand/kboot/termios.c b/stand/kboot/termios.c new file mode 100644 index 000000000000..ec62170a44c9 --- /dev/null +++ b/stand/kboot/termios.c @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Note: From the musl project, stripped down and repackaged with HOST_/host_ prepended + */ + +#include +#include "termios.h" +#include "host_syscall.h" + +int +host_tcgetattr(int fd, struct host_termios *tio) +{ + if (host_ioctl(fd, HOST_TCGETS, (uintptr_t)tio)) + return -1; + return 0; +} + +int +host_tcsetattr(int fd, int act, const struct host_termios *tio) +{ + if (act < 0 || act > 2) { +// errno = EINVAL; /* XXX ?? */ + return -1; + } + return host_ioctl(fd, HOST_TCSETS+act, (uintptr_t)tio); +} + +void +host_cfmakeraw(struct host_termios *t) +{ + t->c_iflag &= ~(HOST_IGNBRK | HOST_BRKINT | HOST_PARMRK | HOST_ISTRIP | + HOST_INLCR | HOST_IGNCR | HOST_ICRNL | HOST_IXON); + t->c_oflag &= ~HOST_OPOST; + t->c_lflag &= ~(HOST_ECHO | HOST_ECHONL | HOST_ICANON | HOST_ISIG | + HOST_IEXTEN); + t->c_cflag &= ~(HOST_CSIZE | HOST_PARENB); + t->c_cflag |= HOST_CS8; + t->c_cc[HOST_VMIN] = 1; + t->c_cc[HOST_VTIME] = 0; +} + +int host_cfsetospeed(struct host_termios *tio, host_speed_t speed) +{ + if (speed & ~HOST_CBAUD) { +// errno = EINVAL; /* XXX ? */ + return -1; + } + tio->c_cflag &= ~HOST_CBAUD; + tio->c_cflag |= speed; + return 0; +} + +int host_cfsetispeed(struct host_termios *tio, host_speed_t speed) +{ + return speed ? host_cfsetospeed(tio, speed) : 0; +} + +int +host_cfsetspeed(struct host_termios *tio, host_speed_t speed) +{ + return host_cfsetospeed(tio, speed); /* weak alias in musl */ +} + diff --git a/stand/kboot/termios.h b/stand/kboot/termios.h new file mode 100644 index 000000000000..f5763292e7d5 --- /dev/null +++ b/stand/kboot/termios.h @@ -0,0 +1,24 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +typedef unsigned char host_cc_t; +typedef unsigned int host_speed_t; +typedef unsigned int host_tcflag_t; + +#define HOST_NCCS 32 + +#include "termios_arch.h" + +#define HOST_TCSANOW 0 +#define HOST_TCSADRAIN 1 +#define HOST_TCSAFLUSH 2 + +int host_tcgetattr (int, struct host_termios *); +int host_tcsetattr (int, int, const struct host_termios *); + +void host_cfmakeraw(struct host_termios *); +int host_cfsetispeed(struct host_termios *, host_speed_t); +int host_cfsetospeed(struct host_termios *, host_speed_t); +int host_cfsetspeed(struct host_termios *, host_speed_t); + +#endif diff --git a/stand/kboot/termios_gen.h b/stand/kboot/termios_gen.h new file mode 100644 index 000000000000..041205e6dd0a --- /dev/null +++ b/stand/kboot/termios_gen.h @@ -0,0 +1,169 @@ +struct host_termios { + host_tcflag_t c_iflag; + host_tcflag_t c_oflag; + host_tcflag_t c_cflag; + host_tcflag_t c_lflag; + host_cc_t c_line; + host_cc_t c_cc[HOST_NCCS]; + host_speed_t __c_ispeed; + host_speed_t __c_ospeed; +}; + +#define HOST_VINTR 0 +#define HOST_VQUIT 1 +#define HOST_VERASE 2 +#define HOST_VKILL 3 +#define HOST_VEOF 4 +#define HOST_VTIME 5 +#define HOST_VMIN 6 +#define HOST_VSWTC 7 +#define HOST_VSTART 8 +#define HOST_VSTOP 9 +#define HOST_VSUSP 10 +#define HOST_VEOL 11 +#define HOST_VREPRINT 12 +#define HOST_VDISCARD 13 +#define HOST_VWERASE 14 +#define HOST_VLNEXT 15 +#define HOST_VEOL2 16 + +#define HOST_IGNBRK 0000001 +#define HOST_BRKINT 0000002 +#define HOST_IGNPAR 0000004 +#define HOST_PARMRK 0000010 +#define HOST_INPCK 0000020 +#define HOST_ISTRIP 0000040 +#define HOST_INLCR 0000100 +#define HOST_IGNCR 0000200 +#define HOST_ICRNL 0000400 +#define HOST_IUCLC 0001000 +#define HOST_IXON 0002000 +#define HOST_IXANY 0004000 +#define HOST_IXOFF 0010000 +#define HOST_IMAXBEL 0020000 +#define HOST_IUTF8 0040000 + +#define HOST_OPOST 0000001 +#define HOST_OLCUC 0000002 +#define HOST_ONLCR 0000004 +#define HOST_OCRNL 0000010 +#define HOST_ONOCR 0000020 +#define HOST_ONLRET 0000040 +#define HOST_OFILL 0000100 +#define HOST_OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define HOST_NLDLY 0000400 +#define HOST_NL0 0000000 +#define HOST_NL1 0000400 +#define HOST_CRDLY 0003000 +#define HOST_CR0 0000000 +#define HOST_CR1 0001000 +#define HOST_CR2 0002000 +#define HOST_CR3 0003000 +#define HOST_TABDLY 0014000 +#define HOST_TAB0 0000000 +#define HOST_TAB1 0004000 +#define HOST_TAB2 0010000 +#define HOST_TAB3 0014000 +#define HOST_BSDLY 0020000 +#define HOST_BS0 0000000 +#define HOST_BS1 0020000 +#define HOST_FFDLY 0100000 +#define HOST_FF0 0000000 +#define HOST_FF1 0100000 +#endif + +#define HOST_VTDLY 0040000 +#define HOST_VT0 0000000 +#define HOST_VT1 0040000 + +#define HOST_B0 0000000 +#define HOST_B50 0000001 +#define HOST_B75 0000002 +#define HOST_B110 0000003 +#define HOST_B134 0000004 +#define HOST_B150 0000005 +#define HOST_B200 0000006 +#define HOST_B300 0000007 +#define HOST_B600 0000010 +#define HOST_B1200 0000011 +#define HOST_B1800 0000012 +#define HOST_B2400 0000013 +#define HOST_B4800 0000014 +#define HOST_B9600 0000015 +#define HOST_B19200 0000016 +#define HOST_B38400 0000017 + +#define HOST_B57600 0010001 +#define HOST_B115200 0010002 +#define HOST_B230400 0010003 +#define HOST_B460800 0010004 +#define HOST_B500000 0010005 +#define HOST_B576000 0010006 +#define HOST_B921600 0010007 +#define HOST_B1000000 0010010 +#define HOST_B1152000 0010011 +#define HOST_B1500000 0010012 +#define HOST_B2000000 0010013 +#define HOST_B2500000 0010014 +#define HOST_B3000000 0010015 +#define HOST_B3500000 0010016 +#define HOST_B4000000 0010017 + +#define HOST_CSIZE 0000060 +#define HOST_CS5 0000000 +#define HOST_CS6 0000020 +#define HOST_CS7 0000040 +#define HOST_CS8 0000060 +#define HOST_CSTOPB 0000100 +#define HOST_CREAD 0000200 +#define HOST_PARENB 0000400 +#define HOST_PARODD 0001000 +#define HOST_HUPCL 0002000 +#define HOST_CLOCAL 0004000 + +#define HOST_ISIG 0000001 +#define HOST_ICANON 0000002 +#define HOST_ECHO 0000010 +#define HOST_ECHOE 0000020 +#define HOST_ECHOK 0000040 +#define HOST_ECHONL 0000100 +#define HOST_NOFLSH 0000200 +#define HOST_TOSTOP 0000400 +#define HOST_IEXTEN 0100000 + +#define HOST_TCOOFF 0 +#define HOST_TCOON 1 +#define HOST_TCIOFF 2 +#define HOST_TCION 3 + +#define HOST_TCIFLUSH 0 +#define HOST_TCOFLUSH 1 +#define HOST_TCIOFLUSH 2 + +#define HOST_TCSANOW 0 +#define HOST_TCSADRAIN 1 +#define HOST_TCSAFLUSH 2 + +#define HOST_EXTA 0000016 +#define HOST_EXTB 0000017 +#define HOST_CBAUD 0010017 +#define HOST_CBAUDEX 0010000 +#define HOST_CIBAUD 002003600000 +#define HOST_CMSPAR 010000000000 +#define HOST_CRTSCTS 020000000000 + +#define HOST_XCASE 0000004 +#define HOST_ECHOCTL 0001000 +#define HOST_ECHOPRT 0002000 +#define HOST_ECHOKE 0004000 +#define HOST_FLUSHO 0010000 +#define HOST_PENDIN 0040000 +#define HOST_EXTPROC 0200000 + +#define HOST_XTABS 0014000 + +#define HOST_TCGETS 0x5401 +#define HOST_TCSETS 0x5402 +#define HOST_TCSETSW 0x5403 +#define HOST_TCSETSF 0x5404 From nobody Tue Jan 24 22:11:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5V15s0z3bfbJ; Tue, 24 Jan 2023 22:11: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 4P1h5T4HzDz4P62; Tue, 24 Jan 2023 22: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=1674598301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r+mrO41NUMtzQqyCRK69yXx2bnQCL8XAOvwx1urgFlU=; b=BXSbyir7iAmnKOBN2yiULHoAiVgiaq5oR5huHFM2f+hqz6i4iKk7+ufBKxnMp8iWHKPpHq 1wuALlxNdFL81UxmvywIfV7wvQ7AYhVUz1c+etsGAn1yS6DImyR2Ul/i92IrOTJsn1XSay 9Dwk66+dXYfsNFcNs6hCjqkBZj9TLZvw7GKiJVxPxEbmuveCuxM59J+MFj3lMbURNKvrNs CRV7xDwH9ARkETH1LZQZ4rphehKbWZBuSGuN7DFiE+2IUxPAudy2wFD/7toJ3aqgHNdf1Y cnZ/gVqtn6hZtFD27sFqczJ6XuZd4GY2c3WCBUaUQDNQ2l+WmR0o+bKPoZStuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r+mrO41NUMtzQqyCRK69yXx2bnQCL8XAOvwx1urgFlU=; b=kSQ/CkaA9T05K8jHqrE5CD1oxP+3tpG558FTg6xgZqSWB2I5yIYtoKad3eDkAuz19Gvvej Zlfsubhav2tif2P7jT2yaTJiZEMZn6JJlu4iCAyZfT6iCYqS1ezs8mM9yg9a6sGHAIQZWs jHbddj0WKAzJbN7204OUFX2uDDuMwwMT2pKYAXgin4DDCY+ZaLMtPu3kT9EWfWNLJqVFD1 p/soBpwuycExXDJTJbwPHnaWdhghHI+tHiQJ8z2A5nh4zzy9EuOMbs7Dx/o8B7UnizRXXr YmpE3D6EUukU3Dzl1pyZsZPEBjr8MyQgbpgueyClM0Z4ZHlY3uMm4/ehiFvRHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598301; a=rsa-sha256; cv=none; b=YKfH4+/rzDulWXnKE1qN5Xme0d8V7n4A0stJlu1wverfPFUgbdzD3572W5JEBuyOzvaTZF KXIzShOm4KKmYHCHfO9IwbjAPzV122WuMSaOQF1Zdr8dzSPFQkvyoGeNTbQYP+GUGyR4D8 7mqsAVwchRkKRlmCuGleVj1gPX5Xm8xGGNKH85bKtzh6O2Gh9O9aiHWNcUFgZp+5W9oY51 RtC4/ZVspMQkfkbJu/8+6jjCkDfvGWIwAuPc7qO+UxB2Md+31ZraEGgN7qz0LdQz76kN9b khOwTh9NJFG3vPdI84NhBI0taTzBNoRfEBvmBiK7Bla3lON9vKQvvEF8aY3+OA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5T3BSKzQXM; Tue, 24 Jan 2023 22:11:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBfDf085072; Tue, 24 Jan 2023 22:11:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBf2b085071; Tue, 24 Jan 2023 22:11:41 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:41 GMT Message-Id: <202301242211.30OMBf2b085071@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: 7041245be62b - stable/13 - kboot: Make console raw when we start List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7041245be62b9760a3bf8103935bb6f0d9561343 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7041245be62b9760a3bf8103935bb6f0d9561343 commit 7041245be62b9760a3bf8103935bb6f0d9561343 Author: Warner Losh AuthorDate: 2022-07-26 23:39:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 kboot: Make console raw when we start Put the console into raw mode on startup. This allows the menus to work as expected. Boot is now interruptable. Note: Likely should restore the terminal settings on most exists. It's not clear the best way to do this, and most shells have an auto stty sane anyway, so note it for future improvement. Sponsored by: Netflix (cherry picked from commit 9579540144880e0a612ec2fdfc66de46c08d28d6) --- stand/kboot/hostcons.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/stand/kboot/hostcons.c b/stand/kboot/hostcons.c index 31dceb019973..80d4a1c4319b 100644 --- a/stand/kboot/hostcons.c +++ b/stand/kboot/hostcons.c @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" #include "host_syscall.h" +#include "termios.h" static void hostcons_probe(struct console *cp); static int hostcons_init(int arg); @@ -47,6 +48,8 @@ struct console hostconsole = { hostcons_poll, }; +static struct host_termios old_settings; + static void hostcons_probe(struct console *cp) { @@ -57,9 +60,12 @@ hostcons_probe(struct console *cp) static int hostcons_init(int arg) { + struct host_termios new_settings; - /* XXX: set nonblocking */ - /* tcsetattr(~(ICANON | ECHO)) */ + host_tcgetattr(0, &old_settings); + new_settings = old_settings; + host_cfmakeraw(&new_settings); + host_tcsetattr(0, HOST_TCSANOW, &new_settings); return (0); } @@ -94,4 +100,3 @@ hostcons_poll() ret = host_select(32, &fds, NULL, NULL, &tv); return (ret > 0); } - From nobody Tue Jan 24 22:11:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5V6Ky6z3bfHB; Tue, 24 Jan 2023 22:11: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 4P1h5V5H4Nz4PF6; Tue, 24 Jan 2023 22:11:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rnAnbOMEKGvF7BlO9Qk/qGwHKe9bFLPWpnI0PQ2vOE4=; b=OfbR8uxg9dCo3bZIhPLQLdXPefo82e8vW9HTP3NC037cKHuvg2O124PSvYsc7gTsga4kKO YQTZ71crEqGbq9cVjVVi+WUE0vu+C6yxlZ9/cgsDfIiBqe3/Gf1lej0d1TDzUDVOW8xpqn JudPAEmu/9BS1slO7gNpyw+n/DUM909tFKzYZVjn0ZWS/VkKMcvMmCv+2eU6SsVoeMbedh IL/xePdA8tGvolHtxfAYl6dBpZHBNiNlB7C+Xe2L/JxT4YjhUtWZ5Ilmn5MIf/8B6EZWdQ EtCPyNMC4l5VE34JRuKWGezEB3IjK5P9gI7CEJP3eMk03FPhWhAsZ4sCLpUpSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rnAnbOMEKGvF7BlO9Qk/qGwHKe9bFLPWpnI0PQ2vOE4=; b=avB7yKxEb9iNROI4hf1+lGZN7gVtqTwER3NGtaSBEmIXd1bjbpT5q3MujnzftCqumfw6xl ViglnmMsWLepcCiLUv8dxRQVfN9cpMWbhiHBY1gYl0Z/vrhs0+GnYttaOzrtd4ooTXtRcD X8Ax4Ae3galBFTw20w0GxPi2K8q5bwIpB2ahiNdDlgZLkJIOmZiKgsWepj13wyQiWqYAMJ Ptnl1U7cGri7IrJPEG5nm4U7y8UBDbkGeUZOca0ghGD5fH4L/2sDVzmTKlvW5aelHYxITd Wdve9K09SWagr7q2azE6uFQ3ZLBl4lhi7b3CKbaAP6wISua8wzhhvXXEIGAWnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598302; a=rsa-sha256; cv=none; b=cxDJW1pcasI8IW5AMPLjYrwuRHDoZ7E0S8BDbJkFL8VGlW42aezjNxL0IyMV6ui80ChLLY JIVkzzg+dXNsADuNUphXZFhlIgYn2VYdDfsYecjW6n7QWNwmeqmJKjB4n9WMP9ur4QewlL 6aZ4pVByiOlhYWBMezAiRSTsdNzbEmj2+K8KDZ2UptwGZZIDkEvTWmYBRZ9zfToFUrMC1V kGpAgU4fgsYwJSKkY78Sx+FCBJfbHOv0rMLK1bnXDM5bF1s+fABCUzevmo1l3nsRwCZYeF aY9WcquM5v5ppfJ2+4BSA1Mb1Jka9hYY5Sp+95tx0/UpOZyMITLBpB5gipV0xA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5V4MFpzQFt; Tue, 24 Jan 2023 22:11:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBgqh085096; Tue, 24 Jan 2023 22:11:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBgdj085095; Tue, 24 Jan 2023 22:11:42 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:42 GMT Message-Id: <202301242211.30OMBgdj085095@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: a8b253fced5e - stable/13 - stand: Move quit command to common commands List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a8b253fced5ef5a7af67c89ee715028b2853e560 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a8b253fced5ef5a7af67c89ee715028b2853e560 commit a8b253fced5ef5a7af67c89ee715028b2853e560 Author: Warner Losh AuthorDate: 2022-07-30 10:43:21 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: Move quit command to common commands Since both EFI and the future kboot will benefit from a 'quit' command, move it from efi/loader/main.c to common/commands.c. In EFI this command exits back to the boot loader (which will cause the next BootXXXX in the BootOrder list to be attempted). In kboot, this will exit back to whatever called loader.kboot. In uboot this will cause a reset (which will restart uboot, not quite a simple exit, but will look similar) and in OFW it will execute OF_exit which should return to the openfirmware prompt. Sponsored by: Netflix [[ tweaked because mips is still in stable/13 leading to conflict ]] (cherry picked from commit 2101541ff1222788901d9503001add9f288a4c40) --- stand/common/commands.c | 9 +++++++++ stand/efi/loader/main.c | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/stand/common/commands.c b/stand/common/commands.c index e56d37c497b1..d109a2a8dbcf 100644 --- a/stand/common/commands.c +++ b/stand/common/commands.c @@ -578,3 +578,12 @@ command_readtest(int argc, char *argv[]) COMMAND_SET(readtest, "readtest", "Time a file read", command_readtest); #endif + +static int +command_quit(int argc, char *argv[]) +{ + exit(0); + return (CMD_OK); +} + +COMMAND_SET(quit, "quit", "exit the loader", command_quit); diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index e5f7b7820b4f..0a5a03765ddc 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1280,15 +1280,6 @@ command_reboot(int argc, char *argv[]) return (CMD_ERROR); } -COMMAND_SET(quit, "quit", "exit the loader", command_quit); - -static int -command_quit(int argc, char *argv[]) -{ - exit(0); - return (CMD_OK); -} - COMMAND_SET(memmap, "memmap", "print memory map", command_memmap); static int From nobody Tue Jan 24 22:11:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5W73Y8z3bfWc; Tue, 24 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h5W6WWPz4P6j; Tue, 24 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=971zLNw8Vz4QjLKxxdcIfPlPABNyjRJ5bkA9U0RfVas=; b=AVUYu9sVMHe/rTf/fdFGyjrekJ+7KHd4cOyPltvREkE8jSHzY3R+nYQPQSFJwZGOTEPd9x bduyTM0alcK4r5AreNd55bXhi0uHr+0tE4JCE+P908jyXjVzDOizmpE1jpY0/9dXUu3Sn4 zAP+Gag7ucYMbHjPX04c9s1mBPn47m2F7S9b2+g9vLjtS8b3NKBdmV7AlDjEkqQES5vgyq 5E0SEdaOksIMV3Cg2s38P4qZSvDw78ifjive1R11XZF3Z/1rGp5jrPL5fgixzgBKyzVs5p fby5tVga+musquIWqZgUBB7UtdJTi4fsH3YUgQZaRyGLEsxTzpb+XTJE8nvHJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=971zLNw8Vz4QjLKxxdcIfPlPABNyjRJ5bkA9U0RfVas=; b=euzMXnjosCg5H4T1U4e/Gtrk9eit0oFeosJK6J814QFcY9qMjpaehyqAa7GYw4CNRMZPnU uXqIYSibxanXz/5icgmV9a5iRrZrNgcUl1m92r78E4DSpaf9NbmkhnjHZmfcJCquezVsH4 seR3rtLBzBc+ExAUz+J5YgM0QeoELGELht2dKQshLjU+HAsPceQl3gmmlWO/3f50IlUR4c DRYJke37tOt9F06JC1p8PDjPJDjuCa5NClcdsm7fYfP6rtlhTu+x8BpYxtANjcUo+a0S9f J2Ms/FqNUVIHx+ZGFOsZlaMt/olYy5AfkDjthQoeQ4RQzcJ+a2jwkRKx0qgfKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598303; a=rsa-sha256; cv=none; b=xCo4dg7L+jWyoqtlpoNww2Uqi2+xxKQph4wvs3YIkYRyo6MAxeXsZcPXJ4yJviBUAsenve PbpLNAMnGYCJDZl28U2Utr0laoFO0PHV2btpJeXqqU+4hylNUVl4Zz22wSn/tToEFftB9I btt30xHMoEk0AMxKaXa4JLjnta+bpd0S27HGRSd6doIakq5hwbarfzepq+UI08SJgyo2Bb NrZ9aZ9d/D0qZ13lS3scU5M6uWzWIJs7zDNLY7TKzcdanBvsXJslWGmneX/BE1U74sglzm VHzCHfX/KrUh6b2zZLCoQTw50+uUtAEtORU6DNlGEE5qAJMiRYUHmRFQKcwaPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5W5Z7dzQTx; Tue, 24 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBhT8085120; Tue, 24 Jan 2023 22:11:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBhLi085119; Tue, 24 Jan 2023 22:11:43 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:43 GMT Message-Id: <202301242211.30OMBhLi085119@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: 0510ad4b1513 - stable/13 - stand: Add a helper 'universe' target List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0510ad4b151335be821c55c6d2943f6d0ca17dd0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0510ad4b151335be821c55c6d2943f6d0ca17dd0 commit 0510ad4b151335be821c55c6d2943f6d0ca17dd0 Author: Warner Losh AuthorDate: 2022-07-30 11:01:47 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: Add a helper 'universe' target Add a shortcut for invokging ${SRCTOP}/tools/boot/universe.sh by creating a 'universe' target in src/stand. This will make it easier to test out all the different combinations of boot loaders that we build. Sponsored by: Netflix (cherry picked from commit 206203f5301b1bda1ceabcb7ecb7c0eee3e6b07a) --- stand/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stand/Makefile b/stand/Makefile index 1597f6832c07..4d241c623d97 100644 --- a/stand/Makefile +++ b/stand/Makefile @@ -94,3 +94,8 @@ SUBDIR_DEPEND_uboot+= fdt SUBDIR_PARALLEL= yes .include + +# Simplified way to build-test the most important build combinations for the +# loader. +universe: + sh ${SRCTOP}/tools/boot/universe.sh From nobody Tue Jan 24 22:11:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5Y0x2Bz3bfbQ; Tue, 24 Jan 2023 22:11: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 4P1h5Y0Ffjz4PLb; Tue, 24 Jan 2023 22:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o4AHQGhk7NJa+ncmCYOIYRpEHHXF/Caq65IMu4AkUWA=; b=gVYsx4+aTuj44cmcAOvEtvqYCghryUCIHVM5pqSeoyeoadu21fcdM08IhUNcjlfM5VpX/r H58likXxa27x+JqCR71aC8ryTWgPCgyRbOYRplliqks8xp/C6hJRuRwhDD9fRqN7Uds9F5 S0qEP4w5DyfgAwj8mUSBO18dBg89JU/mPNlJYoyFOUfkCCyhEvQIr0v9PV9+vKbR7l34EA YPdgnB2OM6p3KIf/oTenDp/jl9kOfBKFOWaJsbrOJaLoRafoQEdiSUp0wGMQdL/Jeuumps IF+w3HkhelgXSghgESeWziGwe2rd7riKxJebkkIxoEE9913vu2EK7pGhChUZMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o4AHQGhk7NJa+ncmCYOIYRpEHHXF/Caq65IMu4AkUWA=; b=W+q21mtG0MGwAHM9BYtfMaceg8FobuZ9L9LXSevpnkxw4yY5uIJ5Q7cI1+RWoOzh/NshiN 8b+hTS/tgfgOlu21SnjFqcAI4f/VmcvQvNZvkORZdG2CV5c+IZk/E+4VuVDjoQoERVNyf2 vABRgOTzjXCXTScJNl7gXqPfoAFe4dUuYHuHLJEx5ATCu9PLVK1Hd/Sn0zKP2MINviAqop 7gIodapW6fl0igE0Ogn9Wc9kUOuUUKRTies9Vn//ezMEpRcQKE7Hk7cX/56+S9FB4rFcL4 oXQJE6BXg36bhLyRJWvEeYSyrT1wMamcytjuGFrWFqesXF/WWeMl5ikGFfHIWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598305; a=rsa-sha256; cv=none; b=Q9CHFx23etXXZgBjdmpShb1wVQ43paVibxYDWf2Rt/6wAnHIgJvazsJNJ8L9gi3GAhpjqE Dv+uPztGPJEEYcad58z3v/RN4qIGToAM+IOIIkyeBr7PqPsOyFmYoolyxjS6GO0xEL7VJM keTdRWroa78InQUljEDZMkL2ES6UORdOXKzBANr7ilPLPosVCrtJ3sFevWkozs0CF0UaTH miB/ki85Lh0azX0c8mnOkMNo0AT/y+ScBtSJbRRejCzZ8AmmpldIXcjyX6DlEizIfeZNBg lIjhDyIeY8/Z1UVzzLSb6hHBQ37JHKW1XeEDYgRS75oB9JhSo3dmMyK5LED6HQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5X6TYHzQXQ; Tue, 24 Jan 2023 22:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBix9085144; Tue, 24 Jan 2023 22:11:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBics085143; Tue, 24 Jan 2023 22:11:44 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:44 GMT Message-Id: <202301242211.30OMBics085143@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: f493cbaba968 - stable/13 - stand: use snprintf here List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f493cbaba9683cf60169e1bb8941efb6ae8fa4f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f493cbaba9683cf60169e1bb8941efb6ae8fa4f6 commit f493cbaba9683cf60169e1bb8941efb6ae8fa4f6 Author: Warner Losh AuthorDate: 2022-08-03 16:50:14 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: use snprintf here This code was written prior to snprintf being in the then libstand (now libsa). Since we have it, use it for extra safety. The code already tries to be safe, but since we have snprintf as well, the added layer of protection will suffice. The current code reserves 16 bytes (plus a NUL) at the end for worst case of inet_ntoa, which is still a little pessimal, but safe from overflow. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35102 (cherry picked from commit a23c26b2fe38f7ad63e71e1f32795b4800213585) --- stand/libsa/bootp.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/stand/libsa/bootp.c b/stand/libsa/bootp.c index f092db3de968..b00c713d1c30 100644 --- a/stand/libsa/bootp.c +++ b/stand/libsa/bootp.c @@ -670,12 +670,14 @@ setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts) /* if not found we end up on the default entry */ /* - * Copy data into the buffer. libstand does not have snprintf so we - * need to be careful with sprintf(). With strings, the source is - * always <256 char so shorter than the buffer so we are safe; with - * other arguments, the longest string is inet_ntoa which is 16 bytes - * so we make sure to have always enough room in the string before - * trying an sprint. + * Copy data into the buffer. While the code uses snprintf, it's also + * careful never to insert strings that would be truncated. inet_ntoa is + * tricky to know the size, so it assumes we can always insert it + * because we reserve 16 bytes at the end of the string for its worst + * case. Other cases are covered because they will write fewer than + * these reserved bytes at the end. Source strings can't overflow (as + * noted below) because buf is 256 bytes and all strings are limited by + * the protocol to be 256 bytes or smaller. */ vp = buf; *vp = '\0'; @@ -695,14 +697,14 @@ setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts) if (vp != buf) *vp++ = FLD_SEP; bcopy(cp, &in_ip.s_addr, sizeof(in_ip.s_addr)); - sprintf(vp, "%s", inet_ntoa(in_ip)); + snprintf(vp, endv - vp, "%s", inet_ntoa(in_ip)); vp += strlen(vp); } break; case __BYTES: /* opaque byte string */ for (; size > 0 && vp < endv; size -= 1, cp += 1) { - sprintf(vp, "%02x", *cp); + snprintf(vp, endv - vp, "%02x", *cp); vp += strlen(vp); } break; @@ -725,7 +727,7 @@ setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts) v = cp[0]; if (vp != buf) *vp++ = FLD_SEP; - sprintf(vp, "%u", v); + snprintf(vp, endv - vp, "%u", v); vp += strlen(vp); } break; @@ -750,21 +752,22 @@ setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts) vp = s; /* prepare for next round */ } buf[0] = '\0'; /* option already done */ + break; } if (tp - tags < sizeof(tags) - 5) { /* add tag to the list */ if (tp != tags) *tp++ = FLD_SEP; - sprintf(tp, "%d", tag); + snprintf(tp, sizeof(tags) - (tp - tags), "%d", tag); tp += strlen(tp); } if (buf[0]) { char env[128]; /* the string name */ if (op->tag == 0) - sprintf(env, op->desc, opts[0].desc, tag); + snprintf(env, sizeof(env), op->desc, opts[0].desc, tag); else - sprintf(env, "%s%s", opts[0].desc, op->desc); + snprintf(env, sizeof(env), "%s%s", opts[0].desc, op->desc); /* * Do not replace existing values in the environment, so that * locally-obtained values can override server-provided values. @@ -774,7 +777,7 @@ setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts) } if (tp != tags) { char env[128]; /* the string name */ - sprintf(env, "%stags", opts[0].desc); + snprintf(env, sizeof(env), "%stags", opts[0].desc); setenv(env, tags, 1); } } From nobody Tue Jan 24 22:11:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5Z5sDzz3bffQ; Tue, 24 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h5Z1bWcz4Pcc; Tue, 24 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Miq3Pg8Ou+34E4tBnsQz4BxfrBZ0h6qxVe6gipF9YI=; b=vOM4XQleapvzoA5OFvq1z4+PI/I06O/5KSfmuHzWcFPtwEhFSHFjBXmi4C06bCYWkJ8MHv 2AmuB7peDhQDNZoLDSsJuurhw13Y988xtKrqxIPAUbFdl9SbD78AMBO8CVFdwqs4jhhS2V WmFREL1ohNgisMH6ZpX5ZC5FcFht03jUAa9e7PxZ/ht21NPxWf8EkpbK1hWxeyX0Dm+kDn jvytkomXKBmi+tiKwqwKOJAUSayLgKXzk7RYtfn682FCzFv5phHtvN1yMyzEYa0QbZG2LG CLbB46hmr6jMukx5C3xQJzDQq2/hyDbOFEDXqbwR5H80Fz7D3reKRfp7cvWu5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Miq3Pg8Ou+34E4tBnsQz4BxfrBZ0h6qxVe6gipF9YI=; b=cew8vFztBN3PSzX/I/IZu4IJ+LXZVk0ocIOcF4Qzq4pnYWIXupFmvF9FbbJB4XYLGYFUDh PM/MkBD3DKSA4vAm5o1UAxNMpB+sWbLwCSFK8Vrt3/cwpDXrakhHWQnmFXBhP/8LRkjOl5 TmPjAVjBmY9ggm4LGiJiovkis6f3Ea/YKFkW64tYm6HbjgYzsIIArxT2LbXuPJYARjAcUu 1Q3UtQmy4ybMljomtIaStslWOmWsjzSEjb7xxcTitPMj8GoUIYR/3fYTo7D9s0TAD+81hz 5SThu/8dplfSep9V/nYDtnRY6R8aZwCqWmNK+FvR97QGUH/376gM6RIPVE5bnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598306; a=rsa-sha256; cv=none; b=KcxIINRDNff5rdpdMmxw3FV9wnzezTZgwAAnznvsECGqzEAwOMviN2n+g/RyzipqtXaBz1 Gy4oYpjXkZ8xMuXajV35dv6dvnmQAXEXxQU3Df1adZrvt67i1Fpu88IEGQmvZLmdZdK3BO MSTV/PvbmXNRHNC4gFE1IOAl7yaVD0TupNYHIFVbxN/1SWvjAAljLPAfZa9dJF0Uqi9Tz4 gYrxqSlD3Gh/S9xIXVBTdIgEPamBWqnQDTbLiAj1SWwMBg3KeiUJKiW+TzccG8pOmLTbGD CkLUrYUmvw4afUXH9XZ40aobVW4zKxkNIh59jsPkkD47v97Mb6lpoo/9Zo1kJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5Z0gCkzQTy; Tue, 24 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBjb3085169; Tue, 24 Jan 2023 22:11:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBjid085167; Tue, 24 Jan 2023 22:11:45 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:45 GMT Message-Id: <202301242211.30OMBjid085167@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: 7da7edbc326a - stable/13 - stand: Remove unneeded include from geli List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7da7edbc326a9c7de183ff55a2cd609fa4fe58fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7da7edbc326a9c7de183ff55a2cd609fa4fe58fc commit 7da7edbc326a9c7de183ff55a2cd609fa4fe58fc Author: Warner Losh AuthorDate: 2022-08-03 17:13:34 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: Remove unneeded include from geli bootstrap.h isn't needed at all by geil, so remove it. Sponsored by: Netflix Reviewed by: tsoome (earlier version) Differential Revision: https://reviews.freebsd.org/D35920 (cherry picked from commit 4333168b1dc0f9285e90ccba26e21348e51fe889) --- stand/libsa/geli/geliboot_internal.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/stand/libsa/geli/geliboot_internal.h b/stand/libsa/geli/geliboot_internal.h index 2af74466179f..74ca17f0b9b6 100644 --- a/stand/libsa/geli/geliboot_internal.h +++ b/stand/libsa/geli/geliboot_internal.h @@ -40,8 +40,6 @@ #include #include -#include - /* Pull in the md5, sha256, and sha512 implementations */ #include #include From nobody Tue Jan 24 22:11:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5b3KSQz3bfY5; Tue, 24 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h5b2TNmz4PPx; Tue, 24 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TPwybZvqee1HB5L09ixGRJ4DUTSoZkg3Q9sELwWHpaY=; b=gRCX7M5DkuQzuVU0Fo6bG39lB7vaRHdJbzTXpeurJrp/PGynV1diyNlGdNGSkoZEZNIwYe 0TwLpRB3PXEeCU6j+W2OuQ7it/Beouwa/pIk4OazahoCwcNZ4grLNx+VdZEbOFb+Y7/TKZ Mgd1uTzm6FTu1AL8JYo/BQLnsL1HyQhofwchO5HLhhLysduBrOxaFf/3qvC5wb/lcmEUNC m4FrLEPv6RenZddh/CyycSWexO9TZR4LXOYNX51h7Y71cm7gHmOjOpRahTrUupNxT3/DXz zoJL1wWjxTD//Ji31NTeIo5ePCzYLF8WrLsoHZ8ztCaH8E6NTi+E9s+M+qiccw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TPwybZvqee1HB5L09ixGRJ4DUTSoZkg3Q9sELwWHpaY=; b=nkcJ0d/oQb9q79lMkkulNpRRHQkXrFLV+J76mHGre7edTyI9ePCTsxy1uF6klM9tDKkVLP ZRDPlfkks9jJzWr6qrO0uhskUEBNUvE49KG6NpHMENVmAyclCB39r5ArTzzC927cOCC/vy tFXyn8AAnunEganuc8v+9nMNwGc1NbsS44hboLr6ePJYI8hh26arme7dm8fV6hI0Yh6GNe wIuoskmgc0UoQ/qd+QqtCYoe477iZCPiC8y5PhEqpfUssMpYusu/imYjPksUgGjofPd0lN WYPzHJ+wNr+kph9RRldU7OvkqmM1OljgFyqgAmo+2sk8osEr/BaMI6VMXweLyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598307; a=rsa-sha256; cv=none; b=JIgRyEQUlOKSO8OWJVoTrOty5QJwOZA2ZIXreidKKLbJ5EiSegTRjnGqF/tA1nx0xidkOn VH/FWR3gX+idRdzyXEp3uogPv1F+ecPCHaN3AK5ZF5coPhTBbmKiXCLXwp4MBGpxBI5dBO gtv+cRn7daf0lkv0d4Z3PSp2l+FxpfG8vuKuRdwik0tL55DGpvGET8K5Bwv6SIZoKjP9Yl rY11VQR3qzAGp54VLrrfiaxKoabDn7tJycpXxtB6qJEDRIroQVDI5Qov6FxqLSjX1HSRTM 2IXvgGkoDMkfBI2wzNyWOhdWbsNcPCW0orgeAXKeubXFRvQ4Kv7n1TdLi3Zzeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5b1XygzQXR; Tue, 24 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBlJa085198; Tue, 24 Jan 2023 22:11:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBlUu085197; Tue, 24 Jan 2023 22:11:47 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:47 GMT Message-Id: <202301242211.30OMBlUu085197@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: 5a0e9f3a220a - stable/13 - stand: Reduce number of files that need -I${LDRSRC} List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5a0e9f3a220a65a1d600778811ffb991d497609e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5a0e9f3a220a65a1d600778811ffb991d497609e commit 5a0e9f3a220a65a1d600778811ffb991d497609e Author: Warner Losh AuthorDate: 2022-08-03 17:16:17 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: Reduce number of files that need -I${LDRSRC} geliboot.c and geliboot_crypto.c don't need anything from stand/common, so remove them from the list of things to add it. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35921 (cherry picked from commit f863970a82f430a2b10b9799585008fe89eab00a) --- stand/libsa/geli/Makefile.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/stand/libsa/geli/Makefile.inc b/stand/libsa/geli/Makefile.inc index 88a3bad82a0e..c60cb37c59df 100644 --- a/stand/libsa/geli/Makefile.inc +++ b/stand/libsa/geli/Makefile.inc @@ -24,13 +24,15 @@ CFLAGS.${i}+= -DNDEBUG SRCS+= ${i} .endfor + # local GELI Implementation .PATH: ${SYSDIR}/geom/eli -.for i in geliboot.c geliboot_crypto.c gelidev.c geli_metadata.c -CFLAGS.${i}+= -I${LDRSRC} +.for i in gelidev.c geli_metadata.c +CFLAGS.${i}+= -I${LDRSRC} SRCS+= ${i} .endfor -SRCS+= \ +SRCS+= geliboot.c \ + geliboot_crypto.c \ g_eli_hmac.c \ g_eli_key.c \ g_eli_key_cache.c \ From nobody Tue Jan 24 22:11:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5c4NJ0z3bfqr; Tue, 24 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h5c3nMyz4PXx; Tue, 24 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZPKTW/nTHemGR5Rnf7Nu45wF6QeEbotGNSdYRauoojI=; b=Bu68m/A3vU3YZGZFKJg9O9i6Jf3UVrIpkbiIX+pmHsY3au/+ZUi1MuaNXlQy9C0+BvlRKQ zWjfGt1e4JpqRwrTAh3jHZGoewsy5XFdibD3iRFssFAd4dIGfhvHYUkknQ6fgCu+UyKmv4 4z2s1YLbcoqLAdypQXnfp6MlP/q1ajvfksBLzl0tk5BGtPnYGQN+VfCcFHFVW3M1V8pHHy UKsrqAaKdXiX3lsuLz6xeOgu9C7tWPMuIlIvRaNXrNl3Xpob3dFZuUHPUi1dOV1Il1F4Cu VxdAkoZ5ZmMvR7ztYeXRscuABO491/uGXFw4jypFEnoj7/ngu6IP1pn5Zg4s5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZPKTW/nTHemGR5Rnf7Nu45wF6QeEbotGNSdYRauoojI=; b=dM+EGv4PhUAHxykw4rmBtucuzNzWou48p5NpD2RKQBN8Qqsi23aYEZ5oYcW+pNbg2i+Huw GGlxuv5YjDfVx641PCJgMXPmHnW8x0sFmY9JKMETbdqR5LCoIdvlwBLE/Qx8XNRIcBJRLp g0Pgcv36rOfAFGFZcQH61X5mPAfEtnREL19o4b9NBUBBgy3aIRipg0o3j7BRuu8JgOZBj3 mPGo83hilmIjDpMJqLAj38Mleg5NoZte+svTtBLn2Mq4Wv8GbBvbNiAuDK2+iu4Zhv6Nbn Oln27RYKC0Q4P5c4ltvVe55X34Hpupwz3lFoemkIJWCcP+PwX+UlLc2XnRRcMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598308; a=rsa-sha256; cv=none; b=y4pXldYxt3LTKSLFQKLA7u5EGZy9I+XmjlVftiH3xfaxVvTz7hHXr63OO11pT61IWfzq6I BscJOz+ThmelUnCvRRjHG6q7uTgk+H6J0wF1XLqXg6FbavEw9OFyIVFRTFK5iretfE5zr4 Ls9RuKgNyCn4b8gLmcckw7EWBpB2iI95bc1WApW3GEPHQcImIrFzZEJLbG4x/1hh0wjo0u Twm3ezH6dF6yUWZCgn3aZu3npjG8gL7OWbfUdjDjNLIqxQz4spOp95aty59N8P53ncsFPj mxhUmoUcmeOhkgIcg62LEo8dCk0oaF8kXHEnPdFkXpPzMO0Ven5Hv0pHkap93g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5c2tXXzQP3; Tue, 24 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBmwo085222; Tue, 24 Jan 2023 22:11:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBm0J085221; Tue, 24 Jan 2023 22:11:48 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:48 GMT Message-Id: <202301242211.30OMBm0J085221@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: 5c505b9d8166 - stable/13 - stand: i386/amd64: Always use elf format for /boot/loader and pxeldr List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5c505b9d8166d997015d3e841846b5222375a1e7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5c505b9d8166d997015d3e841846b5222375a1e7 commit 5c505b9d8166d997015d3e841846b5222375a1e7 Author: Warner Losh AuthorDate: 2022-08-11 03:18:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: i386/amd64: Always use elf format for /boot/loader and pxeldr The first level boot blocks have understood how to load ELF code since 1999. Switch /boot/loader and /boot/pxeldr over to being ELF format so that in-tree tools can examine them more closely. In addition, one could, in theory, now have a 'lo-mem' and a 'hi-mem' segment (though a lot of work would need to be done with bounce buffers, btx, code segment marking, etc for an arrangement like that to work). As far as I can tell, this is the last a.out binary in the tree. There are several raw binaries left, but everything else is ELF. Reviewed by: emaste, kevans Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36130 (cherry picked from commit e2295b9117233d8248fe919c6b28ef1d44a8950d) --- stand/i386/loader/Makefile | 2 +- stand/i386/pxeldr/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index 571e3b2cb653..3685281ffd2c 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -80,7 +80,7 @@ CFLAGS+= -I${BOOTSRC}/i386 vtfontcvt -f compressed-source -o ${.TARGET} ${.ALLSRC} ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} - btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ + btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ -b ${BTXKERN} ${LOADER}.bin ${LOADER}.bin: ${LOADER}.sym diff --git a/stand/i386/pxeldr/Makefile b/stand/i386/pxeldr/Makefile index 2184d391937f..a44dc0de2885 100644 --- a/stand/i386/pxeldr/Makefile +++ b/stand/i386/pxeldr/Makefile @@ -39,7 +39,7 @@ LDFLAGS+=${LDFLAGS_BIN} CLEANFILES+= ${LOADER} ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN} - btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ + btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ -b ${BTXKERN} ${LOADERBIN} .include From nobody Tue Jan 24 22:11:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5f15Rbz3bfYK; Tue, 24 Jan 2023 22:11: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 4P1h5d4zZhz4Pjn; Tue, 24 Jan 2023 22:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g6LFsFHFDrtXXUhatT9g3SGmKzorw88rX2VSyX/sk/s=; b=iHR1fHWxdawSBd+S/y9UkcQmMwNExLv09bStvrquphcB50BDpUOdeK/3gvRJ1tXak1ECHK lI5wYGfxHOro+u3reie3AnEqV2H5lZx5O54KgL1hPoFWAs0q0DDdAlhrDHR2ZYwCCkw2MN QeR1wTErKsBzqtHSJncuDc3fsTzlxGSziqnf1zrh8MmH1zUn0WAKtbZaNckiYThZ97o0h6 Qr3J78UfWHVl0EdFBAJVgrJSyzC/LmaDfceEaAUXg4hQvEhmBiEtxejMHrOtUp4WjzapQ0 HPE4rG7es9OyTOXXRKNwJUxopJUV6nJD9Y9nA9SQQI73BMRFL8N+DBcvXTq8xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g6LFsFHFDrtXXUhatT9g3SGmKzorw88rX2VSyX/sk/s=; b=doqJkfZmtqPNIDGHXi7YiF+9s8LOMWsMpYV9vFt/klBbwLLwABhqTsZ28VJX0zdYsYGK+L wuyg7hOnkZp5Rbw1A5F/Qgo3xgARaslfTOrC58YKelBjBBasdeFNzHW9f7/vfuTzyxk5DW g1uhLr677+gFQlQxcXwdLu7uCxRhxZqH/7KuVdkfeXLLiqzqAm3Sp0m7Q6jgLIh67UGATN emb4xBRN0HNQ4Po1Gd8cIntvNX8KsVbD+V1vYYBUjPl5GCpkUHppM6IySxG3frQ/ZdffOD 4zgD3jGiDm+gt0TgCskDRfdPtH7r8y51s+kWKJuJKrwCsGTIyogpmHpk7i3Csw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598309; a=rsa-sha256; cv=none; b=wVyuf9pW58HpQ923F1PJdEJqXPYpE7LGKjMo4UuVLZ2P4q+cKELu4nxRzqyb6cifbiWgO+ 170j6aXM7L5neBNV7m5Y2shbGY6GEtJF7U3UWPkUenaiIRGbQdU/a22jX3759+2H70lxaQ xZP5WU3XzJNeN9tdv/PuIzMmZEOScH47Zi2b5TsTuAHbFHvTOI7mnfWx6aF8LoBm3k6+FR itwYnrc25f751RNkF1UqmdM4eLZl4HYrR5DdCQWON3+LY8lskxX7hSzp1QlEgMEW+brFUI tKM3y82zhWONRybNyOSuq0j0VTQ7f6Fmp5aXEMQ98biofaIEC4oyhkLjUTTO7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5d4588zQ1m; Tue, 24 Jan 2023 22:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBna7085246; Tue, 24 Jan 2023 22:11:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBnp9085245; Tue, 24 Jan 2023 22:11:49 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:49 GMT Message-Id: <202301242211.30OMBnp9085245@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: 2d96089c36cf - stable/13 - stand: impose 510,000 byte limit for /boot/loader and /boot/pxeldr List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2d96089c36cfac23263ec03385ac30decc8b9bbd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2d96089c36cfac23263ec03385ac30decc8b9bbd commit 2d96089c36cfac23263ec03385ac30decc8b9bbd Author: Warner Losh AuthorDate: 2022-08-11 03:19:01 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: impose 510,000 byte limit for /boot/loader and /boot/pxeldr The BIOS method of booting imposes an absolute limit of 640k for the size of the program being run due to btx. In practice, this means that programs larger than about 500kiB will fail in odd ways as the stack / heap will overflow. Pick 510,000 as the cutoff line semi-arbitrarily. loader_lua is now almost too big and we want to break the build when it crosses this threshold. In my experience, below 500,000 always works, above 520,000 always seems to fail with things getting bad somewhere between 512,000 to 515,000. 510,000 is as close to the line as I think we can go, though experience may dictate we need to lower this in the future. This is at-best a stop-breakage until we have a better way to subset the boot loader for BIOS booting to allow better, more fined-tuned /boot/loaders for the many different environments they have to run in. This likely means we'll have a graphical loader than understands a few filesystmes for installation, and a non-graphical loader that understands the most filesystems possible for everything else in the future. Our build infrastructure needs some work before we can do that, however. At this late date, it likely isn't worth the efforts to move parts of the loader into high memory. There's a number of assumptions about where the stack is, where buffers reside, etc that are fulfilled when it lives in the first 640k that would need bounce buffers and/or other counter measures if we were to split it up. All BIOS calls are done in 16-bit mode with SEG:OFF addresses, requiring them to be in the first 640k of RAM. And nearly all machines in the last decade can boot with UEFI (though there's some exceptions, so it isn't worth killing outright yet). Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D36129 (cherry picked from commit 39fdad34e220c52a433e78f20c8c39412429014e) --- stand/i386/loader/Makefile | 5 +++++ stand/i386/pxeldr/Makefile | 3 +++ 2 files changed, 8 insertions(+) diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index 3685281ffd2c..cde1513aac06 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -19,6 +19,8 @@ PROG= ${LOADER}.sym INTERNALPROG= NEWVERSWHAT?= "bootstrap loader" x86 VERSION_FILE= ${.CURDIR}/../loader/version +LOADERSIZE= 510000 # Largest known safe size + .PATH: ${BOOTSRC}/i386/loader @@ -79,9 +81,12 @@ CFLAGS+= -I${BOOTSRC}/i386 8x16.c: ${SRCTOP}/contrib/terminus/ter-u16b.bdf vtfontcvt -f compressed-source -o ${.TARGET} ${.ALLSRC} + ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ -b ${BTXKERN} ${LOADER}.bin + @set -- `${SIZE} ${.TARGET} | tail -1` ; x=$$((${LOADERSIZE}-$$4)); \ + echo "$$x bytes available"; test $$x -ge 0 ${LOADER}.bin: ${LOADER}.sym ${STRIPBIN} -R .comment -R .note -o ${.TARGET} ${.ALLSRC} diff --git a/stand/i386/pxeldr/Makefile b/stand/i386/pxeldr/Makefile index a44dc0de2885..f8bc1eae9a31 100644 --- a/stand/i386/pxeldr/Makefile +++ b/stand/i386/pxeldr/Makefile @@ -13,6 +13,7 @@ BOOT= pxeboot LDR= pxeldr ORG= 0x7c00 LOADER= loader +PXELDRSIZE= 510000 # Largest known safe size .if defined(BOOT_PXELDR_PROBE_KEYBOARD) CFLAGS+=-DPROBE_KEYBOARD @@ -41,5 +42,7 @@ CLEANFILES+= ${LOADER} ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN} btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ -b ${BTXKERN} ${LOADERBIN} + @set -- `${SIZE} ${.TARGET} | tail -1` ; x=$$((${PXELDRSIZE}-$$4)); \ + echo "$$x bytes available"; test $$x -ge 0 .include From nobody Tue Jan 24 22:11:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5f6N7xz3bfnG; Tue, 24 Jan 2023 22:11: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 4P1h5f5y1dz4Pn0; Tue, 24 Jan 2023 22:11:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FsallTEoZzhW6DhqDNqm2+Z1VmTDPj1mv6yBQTQio24=; b=pmXrPsLHLW7gpW0iuybt2+A6bEAzoAAPfjFsNz0rWZcLBw4k0U8sLgPHMdj4UT7sZBgsSn RFjyRESAKjWp+KWpk2kggzFoxMeLACIOy8k5oXP/EDLBvVYx7gtobnCjbRDFlpsVSMeA8j 8rhMfxZYdf07+R5XtAfuGrvyQahxo1F0hSDGstpD2tVf2uE8zhr1hX3dghea8kRp3E87gV nZ4SD3Umwpw5O8+Y7OdWTEPTSLVSSwcE2J82zkcGP0pM+5I8og9bFKmw6ZnqC7wo238EPT fZvZYPNH2dL8eL+64KXEwVQ6AJMpJlhdUtml7Ph2poyKKuejPVLcDIRUmMJ0sA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FsallTEoZzhW6DhqDNqm2+Z1VmTDPj1mv6yBQTQio24=; b=s8pK1Y/Kb39Gjigpjy28NABlFpCZ/KZ/YVN9IFKAlaUmEVYKzzilIN3QHdQ/cNnVek/3EX kbdrWYArZ2mlkcQiSRz1a3uinyAPKzzJ9Nx/Xos5KyxTGmEsMlAnw7fy0Cd5tX8LLmR3M5 8/cnLCLecSKfLSSgdJo+7euVmr+FkXN9OI/wMgyyrR/tSrvCAHyafdVnSCawCc3KyhWw7K g8zEQTJvze3Y6XDa2aVg4RR9VZMB3soPnxrW96HltXypEVY4SuM0IXg4fvZ0WqTev7Xoqe 9Ggdn4GettCaDPtofXe5G6p37luD1rmKHB6KR/lOIN0NC3yEmSwllyIX99z3xQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598310; a=rsa-sha256; cv=none; b=jXln1Qx1gEtGQ73uir22TD46SZIkW2oHaIm6z/t7dxDuNNZrQBB2pC3Yu9j27qvCnsejX/ 3o0+BxgSUoE2p3KxmXmb7S+3qITleTmJGBa1x3m2VJNXjAnEouPkAIrj1zI+PjdyE2f88u ME+0NEzUkvRgI4P9/mGCzwM0Cj0+SvWcJ/3fPOMEryTmDNUhroQOxxIDoHYlkCK9XabZ8U l/bBklA0QdcnjdyNexRpt+x+hDHtrHFLi/YX0g7WPNNWZw+ZhHo0fylaw7bNPisbW7oDra MfIUpPBtZfay0gvLmxfYPU8JNMhhSd6RdgMDSX61wQrv1KETi+swzjlQxbe4KQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5f53NHzQRp; Tue, 24 Jan 2023 22:11:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBoAD085273; Tue, 24 Jan 2023 22:11:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBoKQ085272; Tue, 24 Jan 2023 22:11:50 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:50 GMT Message-Id: <202301242211.30OMBoKQ085272@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: 7c1e9eef6f11 - stable/13 - stand: Remove unnecessary include List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7c1e9eef6f11c1adac277e3f54cd92175bd9ccbc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7c1e9eef6f11c1adac277e3f54cd92175bd9ccbc commit 7c1e9eef6f11c1adac277e3f54cd92175bd9ccbc Author: Warner Losh AuthorDate: 2022-08-11 14:59:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:29 +0000 stand: Remove unnecessary include stdbool.h is implied by stand.h, so remove it. Sponsored by: Netflix (cherry picked from commit bec11d96318bc8647f28b580829eeb7ba9d05768) --- stand/i386/libi386/vidconsole.c | 1 - 1 file changed, 1 deletion(-) diff --git a/stand/i386/libi386/vidconsole.c b/stand/i386/libi386/vidconsole.c index 1ec6b4f5393a..7e798a1b8504 100644 --- a/stand/i386/libi386/vidconsole.c +++ b/stand/i386/libi386/vidconsole.c @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include "vbe.h" #include From nobody Tue Jan 24 22:11:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5h0r4Gz3bfYS; Tue, 24 Jan 2023 22: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 4P1h5h0HBKz4Pkc; Tue, 24 Jan 2023 22: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=1674598312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qy9xb4Kxr5DZdR5Km5Fgv3aEAR3UoKNres8UePrcASE=; b=BL+iMi5k0yg14+p1HwOS/PSS1Pvy1FgdixL0iSAyjX6zrNLfV3IuSxJ4qp2m2ERBp9lu7C ay9tmyj7m4bARYVMSuxNsVGz+hKU2oQQ511Dl7XYf4XFqfgdKhbJ1uakOrW8IFAUNZ5vmr +HR16fRyPhONLDgSk3fSZkJDONL3dD6R+RNjcUcPlH+MXWqXuET+o0oxKa3AH6thm0QBgF 6W4yMPWdO+2SxgDhem48GA/FBWALjW984ZJwF4schjuKdwg0ihJ39REoCViXsCxHvuz6jl rDH1d6b8B29TPCLH/Q5ErgMJJVrKc5B9Ym24pGk3c/XXiNRgjch2voHTTIa+rQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qy9xb4Kxr5DZdR5Km5Fgv3aEAR3UoKNres8UePrcASE=; b=enrj2xhb1hWLPu94V80TW6c9CZ15+JpdAcVoJ41SzwYrKucRA3MGtROEXWVcPtQ/QW+TGC zTbCrgfvTCrv/SxkAnTYmaeRb0o47dUhJTWF3Go9W01/tbwiJofLK4zIb54a7YF07BA2lS Xrsnn1G6sH7At4gtFXS0tVpkXqMy3wUZm3DlO7KVQZx3lpwZGUGaCZib2W9J+bEsN8SSuQ Ff4YZZdbFNlytSP1C+QIGXe6mYj6dxHVquEChzja4fyRfqkNQ27oIVoNsJVHUGUHMR93Pn FuOXVz2QjD5ikUmddEm7BUevjIvhPYFSvdAjALJMBujeBuiU5h2Qdrto2GASQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598312; a=rsa-sha256; cv=none; b=SntXPR+zMDOppn4rwmhHCUTGH84llrf7cB1asT0hS6iAEWDMhALgqESoGcqVoU/fkqz36w IFg3hbwPCuJiiTQzWjdCku6dR1S0VCnwsMkdzZDZWZw/kEgSscp7jNqQgZvMzjAUGsyMUF FgSGhgEvT1avt+WEdK8UyBnQKIeJwccgF32LiPLr8DfwJYDBQ41o7Oys3dpdVHGG2nqDiN ug/IQEJ2ZExifW3n92wQIL0G6KbAgG0wLd0vBgjxO/TuyS5CLOIdrZwmsf4Tz6HuDvecQl uWsh0rVmNG15fZr9gur9PNhREgpDFfJ42fnGun+vPfdM+oTkmzYXrT1RQKWgbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5g6F08zQRq; Tue, 24 Jan 2023 22:11:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBpv0085299; Tue, 24 Jan 2023 22:11:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBpMf085298; Tue, 24 Jan 2023 22:11:51 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:51 GMT Message-Id: <202301242211.30OMBpMf085298@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: cffdb3f5e2da - stable/13 - stand: Move i386_devdesc to a union List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cffdb3f5e2da60f21bf9ef52c4791ee1d46b7d44 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cffdb3f5e2da60f21bf9ef52c4791ee1d46b7d44 commit cffdb3f5e2da60f21bf9ef52c4791ee1d46b7d44 Author: Warner Losh AuthorDate: 2022-08-11 15:04:08 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Move i386_devdesc to a union Rather than have the magic, hand-crafted fields that have to align with fields in other structures at the end of i386_devdesc, make it into anonymous union and adjust the code accordingly. This is safer and similar to what CAM does. Sponsored by: Netflix Reviewed by: kevans, tsoome (prior version) Differential Revision: https://reviews.freebsd.org/D35965 (cherry picked from commit f197c0bf3e075286ccea32cd12023f3317474c5a) --- stand/i386/libi386/libi386.h | 28 +++++++++++++--------------- stand/i386/loader/main.c | 22 ++++++++++------------ stand/i386/zfsboot/zfsboot.c | 19 +++++++++---------- 3 files changed, 32 insertions(+), 37 deletions(-) diff --git a/stand/i386/libi386/libi386.h b/stand/i386/libi386/libi386.h index a52a1190e7ec..9c7a452a03ad 100644 --- a/stand/i386/libi386/libi386.h +++ b/stand/i386/libi386/libi386.h @@ -27,25 +27,23 @@ */ +#include "disk.h" +#ifdef LOADER_ZFS_SUPPORT +#include "libzfs.h" +#endif /* * i386 fully-qualified device descriptor. */ -struct i386_devdesc { - struct devdesc dd; /* Must be first. */ - union - { - struct +struct i386_devdesc +{ + union { - int slice; - int partition; - off_t offset; - } biosdisk; - struct - { - uint64_t pool_guid; - uint64_t root_guid; - } zfs; - } d_kind; + struct devdesc dd; + struct disk_devdesc disk; +#ifdef LOADER_ZFS_SUPPORT + struct zfs_devdesc zfs; +#endif + }; }; /* diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index cb716d7a9f21..29c40921a85a 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -308,8 +308,8 @@ extract_currdev(void) new_currdev.dd.d_unit = 0; } else { /* we don't know what our boot device is */ - new_currdev.d_kind.biosdisk.slice = -1; - new_currdev.d_kind.biosdisk.partition = 0; + new_currdev.disk.d_slice = -1; + new_currdev.disk.d_partition = 0; biosdev = -1; } #ifdef LOADER_ZFS_SUPPORT @@ -322,8 +322,8 @@ extract_currdev(void) zargs->size >= offsetof(struct zfs_boot_args, primary_pool)) { /* sufficient data is provided */ - new_currdev.d_kind.zfs.pool_guid = zargs->pool; - new_currdev.d_kind.zfs.root_guid = zargs->root; + new_currdev.zfs.pool_guid = zargs->pool; + new_currdev.zfs.root_guid = zargs->root; if (zargs->size >= sizeof(*zargs) && zargs->primary_vdev != 0) { sprintf(buf, "%llu", zargs->primary_pool); @@ -333,8 +333,8 @@ extract_currdev(void) } } else { /* old style zfsboot block */ - new_currdev.d_kind.zfs.pool_guid = kargs->zfspool; - new_currdev.d_kind.zfs.root_guid = 0; + new_currdev.zfs.pool_guid = kargs->zfspool; + new_currdev.zfs.root_guid = 0; } new_currdev.dd.d_dev = &zfs_dev; @@ -350,14 +350,12 @@ extract_currdev(void) #endif } else if ((initial_bootdev & B_MAGICMASK) != B_DEVMAGIC) { /* The passed-in boot device is bad */ - new_currdev.d_kind.biosdisk.slice = -1; - new_currdev.d_kind.biosdisk.partition = 0; + new_currdev.disk.d_slice = -1; + new_currdev.disk.d_partition = 0; biosdev = -1; } else { - new_currdev.d_kind.biosdisk.slice = - B_SLICE(initial_bootdev) - 1; - new_currdev.d_kind.biosdisk.partition = - B_PARTITION(initial_bootdev); + new_currdev.disk.d_slice = B_SLICE(initial_bootdev) - 1; + new_currdev.disk.d_partition = B_PARTITION(initial_bootdev); biosdev = initial_bootinfo->bi_bios_dev; /* diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index 8dd3066f15e5..b68d80e802c2 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -467,8 +467,8 @@ load(void) if (bdev->dd.d_dev->dv_type == DEVT_ZFS) { zfsargs.size = sizeof(zfsargs); - zfsargs.pool = bdev->d_kind.zfs.pool_guid; - zfsargs.root = bdev->d_kind.zfs.root_guid; + zfsargs.pool = bdev->zfs.pool_guid; + zfsargs.root = bdev->zfs.root_guid; #ifdef LOADER_GELI_SUPPORT export_geli_boot_data(&zfsargs.gelidata); #endif @@ -481,8 +481,8 @@ load(void) __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK), bootdev, KARGS_FLAGS_ZFS | KARGS_FLAGS_EXTARG, - (uint32_t)bdev->d_kind.zfs.pool_guid, - (uint32_t)(bdev->d_kind.zfs.pool_guid >> 32), + (uint32_t)bdev->zfs.pool_guid, + (uint32_t)(bdev->zfs.pool_guid >> 32), VTOP(&bootinfo), zfsargs); } else { @@ -528,13 +528,12 @@ mount_root(char *arg) free(bdev); bdev = ddesc; if (bdev->dd.d_dev->dv_type == DEVT_DISK) { - if (bdev->d_kind.biosdisk.partition == -1) + if (bdev->disk.d_partition == -1) part = 0xff; else - part = bdev->d_kind.biosdisk.partition; + part = bdev->disk.d_partition; bootdev = MAKEBOOTDEV(dev_maj[bdev->dd.d_dev->dv_type], - bdev->d_kind.biosdisk.slice + 1, - bdev->dd.d_unit, part); + bdev->disk.d_slice + 1, bdev->dd.d_unit, part); bootinfo.bi_bios_dev = bd_unit2bios(bdev); } strncpy(boot_devname, root, sizeof (boot_devname)); @@ -714,8 +713,8 @@ i386_zfs_probe(void) if (pool_guid != 0 && bdev == NULL) { bdev = malloc(sizeof (struct i386_devdesc)); bzero(bdev, sizeof (struct i386_devdesc)); - bdev->dd.d_dev = &zfs_dev; - bdev->d_kind.zfs.pool_guid = pool_guid; + bdev->zfs.dd.d_dev = &zfs_dev; + bdev->zfs.pool_guid = pool_guid; } } } From nobody Tue Jan 24 22:11:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5j3JVSz3bfcx; Tue, 24 Jan 2023 22: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 4P1h5j1Ghpz4Pp3; Tue, 24 Jan 2023 22: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=1674598313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OT22BM1dBLZ6+MnRXAA1+HxG4XkIUb3GV0Z/6idq4aM=; b=pRib3ZQ9q7g8uL2hiqV78WYAvz3cJohdtnp2wtRBVcna4+8bZpe3HrBS7xX6GNq24yzeaW G5FmUw9tLrTZiuFJy7aJN7eT0ZZ/F6JtUu3CAxy1IEhH31z61ZkietZK6hPex0tMfSn00W u1zhBy72IXV1UDC8QKfwHHVFEGrd5JZ69iJMngs/APjFIdW4goauhkpt9qRqBhvrfVCUjO qVCdceGpbb4QYBq53t/5ezT4SjvWThoFlkNeiSkOAkcqLw5T0e01ZSCN9JjvCPhFu+rVoz 0Y8totuprplh9JbrPZHNKD5Ire27VyuKST3IH8tRGDgLsY6IwPquzTeeoLlhYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OT22BM1dBLZ6+MnRXAA1+HxG4XkIUb3GV0Z/6idq4aM=; b=sRZmdSMnp7j80xTwDlK+WPLHxDBZzXpsaXWFn/2FgBK+cU4QwtPWXfT9sXSo+ko/0aPZjx mlp0TjEANYzzia2MDfF7QtzU/rGpjYToyoaAKsem1rRcMpTosoIyWSSDMhHquNjt4DE1VJ Al6C00aHqjmIzPz9qbhdRApFaqzES54J7y/+q2pq8BZVO1pUo7efUxlm7zkb8eKXqny8ck yPOWYsDQUaYbajyTzJDg3XLcJiK5ALA+/lAJx7MZ7EVC0eWy+5D2wR6PXJdEU1dyfhvvnL yYUBpUn4C3/B2ZMrm5Y/epcn391pO+ax/Z+zD5FYe6pGrbYKSGvMbTjGJDB2ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598313; a=rsa-sha256; cv=none; b=M7xqvGfwQpIris5adP/VowJ/4VoD6lv9k3pDCHYs5xvei5MYuJ9ryylFv0lK0HOcaoeLPw m83xmX79VHGEORebNJvA3K+t4oipzDlMlOmOAGhE22oKjMkPRnkKb5xeqtqgjy2VVhwYxe bQEocDvhe5VgFVdVCl9U5/0TA91HqRbXCVo+pfUrjpOQpMPToByUdAG8zlfkuHPv//qSoS as8MN0epyOIkfcwYaabdaGWO+W9EFerhBMTY2pXlSCsNKdArVkSrQMIrSYFEnbcB1xSRdB lr7cMjel54TyURboPzPvGFlxvSDiOyPO/KuxHxCzRGzHTigxjErETrxNXCGOnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5j0L82zQGh; Tue, 24 Jan 2023 22:11:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBq1F085327; Tue, 24 Jan 2023 22:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBqZL085326; Tue, 24 Jan 2023 22:11:52 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:52 GMT Message-Id: <202301242211.30OMBqZL085326@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: 9dee581ad980 - stable/13 - stand: Change disk_fmtdev to take a struct devdesc * List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9dee581ad98055d8e56186f990f9bef18c0376bf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9dee581ad98055d8e56186f990f9bef18c0376bf commit 9dee581ad98055d8e56186f990f9bef18c0376bf Author: Warner Losh AuthorDate: 2022-08-11 15:04:50 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Change disk_fmtdev to take a struct devdesc * We do a number of games with ploymorphism for different types struct *devdesc. Adjust one place that this affects to take the address of the base class (most others have void * at the moment). This is more type safe than a bare void *. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35914 (cherry picked from commit c32dde3166922f55927764464d13f1bc9640f5f6) --- stand/common/disk.c | 5 ++++- stand/common/disk.h | 3 ++- stand/libsa/geli/gelidev.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index 3ad147da0e5b..15daf7e358c6 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "disk.h" @@ -386,11 +387,13 @@ disk_close(struct disk_devdesc *dev) } char * -disk_fmtdev(struct disk_devdesc *dev) +disk_fmtdev(struct devdesc *vdev) { + struct disk_devdesc *dev = (struct disk_devdesc *)vdev; static char buf[128]; char *cp; + assert(vdev->d_dev->dv_type == DEVT_DISK); cp = buf + sprintf(buf, "%s%d", dev->dd.d_dev->dv_name, dev->dd.d_unit); if (dev->d_slice > D_SLICENONE) { #ifdef LOADER_GPT_SUPPORT diff --git a/stand/common/disk.h b/stand/common/disk.h index 83109981e0a8..806673349cb8 100644 --- a/stand/common/disk.h +++ b/stand/common/disk.h @@ -116,7 +116,8 @@ extern int ptblread(void *, void *, size_t, uint64_t); * Print information about slices on a disk. */ extern int disk_print(struct disk_devdesc *, char *, int); -extern char* disk_fmtdev(struct disk_devdesc *); extern int disk_parsedev(struct disk_devdesc *, const char *, const char **); +char *disk_fmtdev(struct devdesc *vdev); + #endif /* _DISK_H */ diff --git a/stand/libsa/geli/gelidev.c b/stand/libsa/geli/gelidev.c index d312d7b17e0e..5dd122a4a681 100644 --- a/stand/libsa/geli/gelidev.c +++ b/stand/libsa/geli/gelidev.c @@ -305,7 +305,7 @@ geli_probe_and_attach(struct open_file *f) hlastblk = (hmediasize / DEV_BSIZE) - 1; /* Taste the host provider. If it's not geli-encrypted just return. */ - gdev = geli_taste(diskdev_read, hdesc, hlastblk, disk_fmtdev(hdesc)); + gdev = geli_taste(diskdev_read, hdesc, hlastblk, disk_fmtdev(&hdesc->dd)); if (gdev == NULL) return; From nobody Tue Jan 24 22:11:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5k34Yjz3bfd0; Tue, 24 Jan 2023 22: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 4P1h5k2B0Xz4PlC; Tue, 24 Jan 2023 22: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=1674598314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jnwmLUkYM6FNgMBeu8JJYGxyFxDc1nEOfb3DjBuBtBY=; b=dHiItO0ZHP5ew5gy3XpYHyFJizm+6xMMD7gXktgyF1mJPLmAqORRJsJ//cXn0OdsDBWawF BFad/JwcgHEYJTPylJWpmGY7GyDD85VLW3ZtGNLJO06epIIF0DO2eFT1I+Qjk5P12SgXXj u/CE2QrtuKe3SUm4WQSeMPbQmf4CLBBN4vqqGoxhpeZpGkVibk/AnpyIhJgypSa7zQDe1w 5RKU37JLdt75v7aHNFdM7H/ZuCSXO0xPR5g9OJHAlxh0Nlkgm/bbXztVDnXdtmuHoALzY7 x+NTeMtdO9ZnRM7DmFR1L16Pc1/G7FXX5uolIER/4h7gtX9gzpiJgULgsQW5rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jnwmLUkYM6FNgMBeu8JJYGxyFxDc1nEOfb3DjBuBtBY=; b=lco0oJekMwJnrXo3wbXN8n/LSnWf02IyNnJZ2Wy+2hJPTNanlmiaDxj1JNR4KfBO2nfK5I ymXCTQS/8jvKVDyFczINM/eUKuMlYVmuUGWyE4VSXsiJLhw+Hu5KnRMq0MOGX1w5wO8BM9 24voVoeTW7L5bmsqhwCj9ZDI2fKvO4K7GGkHPSwtkzcc6R/TSzlb+hWb+X7l9arkJlPfja jHhLDQ4gadMx3U8XtszDFuL7J+2sE364PSoSAiEf1AbnjdOgUx8Ea2ANdaAnXTKsx7ytjq 5ZAYH3B6KL714N1dHZFk07vOvOJjPs5OGIGgtwJiDCMWCdk7HOz9G5fSkqL5JQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598314; a=rsa-sha256; cv=none; b=JWNS07x/HyZPYGYVEQ43oOzk2RKlhusu4AGhQYmjO2DQDWSJzFxcQfpyaFbWirB/H1/bam 9I9P4fiuLrHjb0l5jx9s6idem7fX2Hrcw7pz0ohReqmQ0lohcCo9fQtfmc7+ERm38MuFFb 25Fv2hkfKZF7xLpih44RRiw+/DOrXDvEeKZeH9O8Y2NDZecqphogAKhTd6sXe24khy5Gd8 x2GEtlegTNFZ3GHYXHx6taXeprMzoABwzgiwyw1wJHpE52Q+m4DFWVHSKj1yfgi+otoFds Qn+Tm0LKg4WYk/2csfai+pviaaY35trQQXKphKVglc1991CzzcunkwZfnD41dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5k1Hy0zQdy; Tue, 24 Jan 2023 22:11:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBstR085351; Tue, 24 Jan 2023 22:11:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBsV7085350; Tue, 24 Jan 2023 22:11:54 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:54 GMT Message-Id: <202301242211.30OMBsV7085350@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: 0683209a94b0 - stable/13 - stand: Change zfs_fmtdev to take a struct devdesc * List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0683209a94b09d0ac41ba7ead6fc623fd545b0ff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0683209a94b09d0ac41ba7ead6fc623fd545b0ff commit 0683209a94b09d0ac41ba7ead6fc623fd545b0ff Author: Warner Losh AuthorDate: 2022-08-11 15:05:15 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Change zfs_fmtdev to take a struct devdesc * Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35974 (cherry picked from commit d2d4e1271b33b233f57fd18a61a1b5c1b0aeb355) --- stand/i386/loader/main.c | 2 +- stand/i386/zfsboot/zfsboot.c | 2 +- stand/libsa/zfs/devicename_stubs.c | 2 +- stand/libsa/zfs/libzfs.h | 2 +- stand/libsa/zfs/zfs.c | 6 +++--- stand/userboot/userboot/main.c | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 29c40921a85a..4d5a0a98a08e 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -387,7 +387,7 @@ extract_currdev(void) #ifdef LOADER_ZFS_SUPPORT if (new_currdev.dd.d_dev->dv_type == DEVT_ZFS) - init_zfs_boot_options(zfs_fmtdev(&new_currdev)); + init_zfs_boot_options(zfs_fmtdev(&new_currdev.dd)); #endif env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev), diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index b68d80e802c2..52fd41688a17 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -226,7 +226,7 @@ main(void) */ if (bdev != NULL && bdev->dd.d_dev->dv_type == DEVT_ZFS) { /* set up proper device name string for ZFS */ - strncpy(boot_devname, zfs_fmtdev(bdev), sizeof (boot_devname)); + strncpy(boot_devname, zfs_fmtdev(&bdev->dd), sizeof (boot_devname)); if (zfs_get_bootonce(bdev, OS_BOOTONCE, cmd, sizeof(cmd)) == 0) { nvlist_t *benv; diff --git a/stand/libsa/zfs/devicename_stubs.c b/stand/libsa/zfs/devicename_stubs.c index 41bf907e0cf1..e58bc9c40e35 100644 --- a/stand/libsa/zfs/devicename_stubs.c +++ b/stand/libsa/zfs/devicename_stubs.c @@ -39,7 +39,7 @@ zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path) __attribute__((weak)) char * -zfs_fmtdev(void *vdev) +zfs_fmtdev(struct devdesc *vdev) { static char buf[128]; diff --git a/stand/libsa/zfs/libzfs.h b/stand/libsa/zfs/libzfs.h index e8676c0d53b8..2f0dfd8afc86 100644 --- a/stand/libsa/zfs/libzfs.h +++ b/stand/libsa/zfs/libzfs.h @@ -50,7 +50,7 @@ struct zfs_devdesc { int zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path); -char *zfs_fmtdev(void *vdev); +char *zfs_fmtdev(struct devdesc *); int zfs_probe_dev(const char *devname, uint64_t *pool_guid); int zfs_list(const char *name); int zfs_get_bootonce(void *, const char *, char *, size_t); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 71e3a49c2929..5392bcaa4fb1 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1583,7 +1583,7 @@ zfs_dev_open(struct open_file *f, ...) rv = 0; /* This device is not set as currdev, mount us private copy. */ if (mount == NULL) - rv = zfs_mount(zfs_fmtdev(dev), NULL, (void **)&mount); + rv = zfs_mount(zfs_fmtdev(&dev->dd), NULL, (void **)&mount); if (rv == 0) { f->f_devdata = mount; @@ -1681,7 +1681,7 @@ zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path) } char * -zfs_fmtdev(void *vdev) +zfs_fmtdev(struct devdesc *vdev) { static char rootname[ZFS_MAXNAMELEN]; static char buf[2 * ZFS_MAXNAMELEN + 8]; @@ -1689,7 +1689,7 @@ zfs_fmtdev(void *vdev) spa_t *spa; buf[0] = '\0'; - if (dev->dd.d_dev->dv_type != DEVT_ZFS) + if (vdev->d_dev->dv_type != DEVT_ZFS) return (buf); /* Do we have any pools? */ diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index 07630945cf80..d3f12ab1675e 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -260,7 +260,7 @@ extract_currdev(void) bzero(&zdev, sizeof(zdev)); zdev.dd.d_dev = &zfs_dev; - init_zfs_boot_options(zfs_fmtdev(&zdev)); + init_zfs_boot_options(zfs_fmtdev(&zdev.dd)); dd = &zdev.dd; } else #endif From nobody Tue Jan 24 22:11:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5l45Wqz3bffy; Tue, 24 Jan 2023 22:11: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 4P1h5l3YCQz4PtG; Tue, 24 Jan 2023 22:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yU1y5e4Wl1lF5HrzX5YGOjJQt/HetDU9OZsEMuB25hc=; b=UkCzeAqbLGkFnMzpRzk+WP0yHdhLnOEPMEiQ/KU+x+zB44UAGRsj6SDXYbET/piIXXWZmQ 8tqy43WI6B3ohIJe8LvVI36SI7ewgF4LvqE8yCw4mmKzTcJmg4U0z6SLl+BqbA7O7QfOFg 5UbwNT5T3iQrbYqhBGaDbv0pl40htmY9Oq3qYMc/0i8JF9BuqkzmufYteZ5kRw9QwNc+Kx 50ggtuDgiBVHIeOJjc5NoO4A2VEX8y1essp7HJXxnSzMmA2F+KIjGCaOSxkoHGNyTwn1ag 31sp46X0fhPRZhISoC/sA+c2gUG7I7hzw497kboAm5cPOOzkuBIvwwK3d2nOMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yU1y5e4Wl1lF5HrzX5YGOjJQt/HetDU9OZsEMuB25hc=; b=sKfLybVAIhuEt1cWX5wnj1RcVPRTH1uVBoGLmljcoUa+HPbhv7COlyBuBPC7xVtAPLp2In 9IbmmFjiYu8Gc9/eqmH6H+b9j+sav2Uy+kdUYvfwnIeP/bM4+ACaYkt3QUIsBj7vI+BrV1 HRHnGTsxHFjsxb/mBBhuekN4AJ0hRxgCN1dNE0PfcRCpZPjXQUHqJZ5R0E+JJcOx9BpGhM +ijzLamJ8ljDEloqemeaWN/+8Y6J4CiSzx1PJqYBpdHLMkGwDkQwUY/ymXDi4m077EKOUs BmQvWvw83hm8JsjUsMzeMiy0dRWAkEMkP4aOoCkHZHsgn4vgSKHiEX4wBkeP8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598315; a=rsa-sha256; cv=none; b=PzCFawD42jOh7GdOEiPSj5ETspCciaiVVMGgXIRfCsjLZwNPYfWrx9IJAZT2R3FMtghirO 3Rkcb2HvLNM1M3YZjBOr8AAYVsyuxVIgVetHNm3JSehDnzjkyL9hg7ba2F5dnM/rYXhCI7 lM+pjrv/dIfY4Uu4vzs8eJjiwRtKPmED6SymiF8IeSTRh8GWiUv/8/zgoSzKHBrYEKTE+F JSjFDwpYPT7FOubC/kM78mHGLnI2IOSPWa3aCcgkulGtOMeDG0i/u02YDAB1eb7J2zQCJN HDRM1DtL3RhFqG8cssTD4nOunAo6bSNxD6tWPMcdSEFF5C46eG4MDH76M9jJGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5l2L3mzQcF; Tue, 24 Jan 2023 22:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBto1085375; Tue, 24 Jan 2023 22:11:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBtEn085374; Tue, 24 Jan 2023 22:11:55 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:55 GMT Message-Id: <202301242211.30OMBtEn085374@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: e6cafedf0991 - stable/13 - stand: Add dv_devfmt to return a string represenation of the device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e6cafedf0991fbe6f087a0a75f39ac07d8d4642a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e6cafedf0991fbe6f087a0a75f39ac07d8d4642a commit e6cafedf0991fbe6f087a0a75f39ac07d8d4642a Author: Warner Losh AuthorDate: 2022-08-11 15:05:34 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Add dv_devfmt to return a string represenation of the device Add a new pointer, dv_devfmt, to allow devices to format themselves. We will use this to simplify many of the fmtdev functions in the tree as they are all almost the same, or all are isomorphic to each other. Sponsored by: Netflix Reviewed by: tsoome (prior version) Differential Revision: https://reviews.freebsd.org/D35915 (cherry picked from commit 4d4b1a298c84f2357c304583dfe78d0e4b8fa2f1) --- stand/libsa/stand.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 5f87f96ce673..5ffff54c7ca7 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -140,6 +140,8 @@ extern struct fs_ops efihttp_fsops; * Device switch */ #define DEV_NAMLEN 8 /* Length of name of device class */ +#define DEV_DEVLEN 128 /* Length of longest device instance name */ +struct devdesc; struct devsw { const char dv_name[DEV_NAMLEN]; int dv_type; /* opaque type constant */ @@ -157,6 +159,7 @@ struct devsw { int (*dv_ioctl)(struct open_file *f, u_long cmd, void *data); int (*dv_print)(int verbose); /* print device information */ void (*dv_cleanup)(void); + char * (*dv_fmtdev)(struct devdesc *); }; /* @@ -177,6 +180,8 @@ struct devdesc { void *d_opendata; }; +char *devformat(struct devdesc *d); + struct open_file { int f_flags; /* see F_* below */ struct devsw *f_dev; /* pointer to device operations */ From nobody Tue Jan 24 22:11:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5n3Svsz3bfd5; Tue, 24 Jan 2023 22: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 4P1h5m5F6Qz4Q5G; Tue, 24 Jan 2023 22: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=1674598316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TYGYsN3dS4fDZcgYOoG3K6J+G8NHt4V8yLAV1KqMEL0=; b=m70PAFGlIktr83nGTpYv0EkFXYDDF+o1UgHslvnhr/SE+uPMg08fNf28Hz+AnhLyuP7dov 5LR5vdL8vmiDs982stdLpoVuJN2alHEYFo3m7kossASg5E045xvRoUlAHcR3Mqnvxs6oUh y+tXV/+JWtjzTuNoPsFB8qQDD4EvrBR5s+VaOxl1O1LPCjGxg2HLYn55JRXa3LEjOCzHpZ fUlUnirkzvvLyQTuYDRSeBiKuQ4oQ1CF86U96X1sUZEwtfvPTlXOxNCDUM9H4iRq8BnEze u3OaRWC80eOx+ydb2ihFsF145XVgjOE0nSY5LuTJtMV7QF8cCxNBavFN4S9klg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TYGYsN3dS4fDZcgYOoG3K6J+G8NHt4V8yLAV1KqMEL0=; b=d33BbSoeItp/qr27ShVBliHGrK+hSJa3igjI375CKMBPsVmvPa/hTpJc44CP2B9nNZAdTG gUMql3vLZsrFESJIm6yHGl0DdLl6vROIJcDbYKjT4iFLdVeop355/wcjFy+H1yjG4lTOlc kDOldnIISqCLFz2hXl2nTsTnPcyW56N39A9j57KhjDaojeQ1cWMYjY+6nWylrMgp208iBM fe4BhE9FylMo84k6+80dkA1EIMeWgi39D/1mk+mNcQE3EBkW3w6b2eFUy7mtK3faUY9f8D caSD7m95XjfQwlJZer39/e3eAXSDMb/BTh3ako7Ni/AlqOPVx21SWGgF/Ai/Lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598316; a=rsa-sha256; cv=none; b=n6GX8RY3A+rj9smSPRSyc1DIAE6A99TZt1tlwHarPqdzsXo/Xmaow2OHYlCoy6FIRU3Vps 50Y12K0G4LXIAPeYIfeGJFQWX7jU/Jmc6FMWSHdo/vDDuGms9LjTcPKvJdWxtVpHUQy2i4 u2d1YwgwYjz11SizjUCyvb/rVYxUJGQuQWQ3FeYmAfo6WJTaxYnt3R24Lifzx8JW5DcM5+ PXYIbd9IZQyhcH6QOJQsKCDB8S0PJiZBttQYIxw2jKfcjmCy4raa2qO/d2DtWhtaiOzmAU 8Z2aoU+NASYRh4wgOTV+JAVDZn5e+v/EaMZGi8eYm05W9CobTIEpYdNkupvPOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5m3fjrzQf1; Tue, 24 Jan 2023 22:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBuxj085399; Tue, 24 Jan 2023 22:11:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBu3Y085398; Tue, 24 Jan 2023 22:11:56 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:56 GMT Message-Id: <202301242211.30OMBu3Y085398@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: 08939ccadc25 - stable/13 - stand: Add devformat to return formatted string for a device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 08939ccadc253933d6cbff55f6d9b1b82707bc8e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=08939ccadc253933d6cbff55f6d9b1b82707bc8e commit 08939ccadc253933d6cbff55f6d9b1b82707bc8e Author: Warner Losh AuthorDate: 2022-08-11 15:06:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Add devformat to return formatted string for a device Use dv_fmtdev to return a formatted string for a device. If this is a null pointer, return the device name and unit followed by a colon (eg disk3:). Sponsored by: Netflix Reviewed by: tsoome (prior version) Differential Revision: https://reviews.freebsd.org/D35916 (cherry picked from commit dc472f67021320309ced970d3d26d30a04da0ef2) --- stand/libsa/dev.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index 1d1dd075580e..2ccdce22d596 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -56,3 +56,14 @@ noioctl(struct open_file *f __unused, u_long cmd __unused, void *data __unused) { return (EINVAL); } + +char * +devformat(struct devdesc *d) +{ + static char name[DEV_DEVLEN]; + + if (d->d_dev->dv_fmtdev != NULL) + return (d->d_dev->dv_fmtdev(d)); + snprintf(name, sizeof(name), "%s%d:", d->d_dev->dv_name, d->d_unit); + return (name); +} From nobody Tue Jan 24 22:11:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5p1fPRz3bfr7; Tue, 24 Jan 2023 22: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 4P1h5n5THRz4QCd; Tue, 24 Jan 2023 22: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=1674598317; h=from:from:reply-to:subject:subject: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+NY6YyJ74c49csGuxRc2hTE1qSJCXFPc1QFBDv9Xeg=; b=H8bd+9c0x7/eFFd4/xh3O9GRL6EMcOai49RUlsKJDoxSKsMkeyuxI0r6UhWeWPfwe/l1CJ 8ZRzUtiTSn13enDKXyhBVkYP4OD8C0dJo/wZFcEepXwSQ6Ev5smFTOrMOzyoaFavK8kRka boFZV4DCqGvSNQHqcYYCS5R901UibEvRABxDKxrh4hmxwTy7dKVErrD+FHpc0sQI5M0zA3 ZikoW3dIIBiI2+MajtrxNcW/52P9ocNwy9QTOtRU6TiirUmr4G/ykZunlbLuNomcNbQz0f qL4v9bRaxHGZPAhzH84FMoejivn5Y2Z5G0If6xuLLjf8GG+ykBqTsU2DQ1hFhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598317; h=from:from:reply-to:subject:subject: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+NY6YyJ74c49csGuxRc2hTE1qSJCXFPc1QFBDv9Xeg=; b=g/8vfUrK8ZJGp+SpkTKytCqCL8saXhNPIAuHDARyotPRFGA4shYE9YkavIBnW9voGEmRxu 0P524KwFf5axvZXO9nJaTzRFSuC5gmOqJP8VrQTPsRkY0DZLikaS83t2jjrlzX+4lnR5qL rkkT0+J5nFU1cV1g76qgY56eZDZE0Ejx4gkRsr9RsP6CahCmG4S5QcmMH+2Sq3auY8LUow YtGzzrNr57+qvuMiDtoWjp0MB+FE42jilcMkLU5+Gb5QV5+cd7KfhBHGGZyDdk+fvSeU7S A3oBmRT4eH7v1UZ59sLOOknTc2Mk66qwShxB4oQZPwOxTEf3daPWqxuDz5J5lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598317; a=rsa-sha256; cv=none; b=Fc/AynlWINGIR14NiH4/DYVRRV0lOEWS+YMuo5HecI2LIGlF9tY0QvFXV4A54Naa/XUfc2 nlkaA/xQyBAsEHJkBYlcWOgyLW9WTB//Ej0IROAo/MaBePzgyhOj9U5KPzt+NVLanHbkPZ 1LYnj55BRLWZjtbqNsHUPn1KNmm5s79UHKoiedUJ30lKPPPPd1n4erhW4GE5gvrUyJloEu xdrPttrlAFNi9KueKVSWo8sLv88GsdBix2RhjkVoG7UFOSQXHTCotEkruI19QQf/j9RTYw OAZpTV3nBqeDsKeGZx+QmPUjHRCnfImBZe/0wuc/O9Tyk+L00c2d/XNgktnlPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5n4QWZzQf2; Tue, 24 Jan 2023 22:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBvb8085427; Tue, 24 Jan 2023 22:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBvkr085426; Tue, 24 Jan 2023 22:11:57 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:57 GMT Message-Id: <202301242211.30OMBvkr085426@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: de252384c043 - stable/13 - stand: Add disk_fmtdev for dv_fmtdev for all the disk devices List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: de252384c043c204edf7d1ea7439c9f32906662b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=de252384c043c204edf7d1ea7439c9f32906662b commit de252384c043c204edf7d1ea7439c9f32906662b Author: Warner Losh AuthorDate: 2022-08-11 15:06:28 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Add disk_fmtdev for dv_fmtdev for all the disk devices All of the archsw fmtdev functions treat DEVT_DISK as a call to disk_fmtdev. Set all disks' dv_fmtdev to disk_fmtdev so devformat will return the same thing. Sponsored by: Netflix Reviewed by: tsoome (prior version) Differential Revision: https://reviews.freebsd.org/D35917 (cherry picked from commit ad759c73522efb606135e2891ac03864926b80a3) --- stand/common/md.c | 1 + stand/common/vdisk.c | 1 + stand/efi/libefi/efipart.c | 1 + stand/i386/libi386/biosdisk.c | 1 + stand/kboot/hostdisk.c | 2 ++ stand/libofw/ofw_disk.c | 3 ++- stand/libsa/geli/gelidev.c | 3 ++- stand/uboot/uboot_disk.c | 1 + stand/usb/storage/umass_loader.c | 1 + stand/userboot/userboot/userboot_disk.c | 1 + 10 files changed, 13 insertions(+), 2 deletions(-) diff --git a/stand/common/md.c b/stand/common/md.c index 61db56ece7ae..9f95d3cdfd2d 100644 --- a/stand/common/md.c +++ b/stand/common/md.c @@ -75,6 +75,7 @@ struct devsw md_dev = { .dv_ioctl = noioctl, .dv_print = md_print, .dv_cleanup = nullsys, + .dv_fmtdev = disk_fmtdev, }; static int diff --git a/stand/common/vdisk.c b/stand/common/vdisk.c index c904613a8e91..c4220787b1ac 100644 --- a/stand/common/vdisk.c +++ b/stand/common/vdisk.c @@ -53,6 +53,7 @@ struct devsw vdisk_dev = { .dv_ioctl = vdisk_ioctl, .dv_print = vdisk_print, .dv_cleanup = nullsys, + .dv_fmtdev = disk_fmtdev, }; typedef STAILQ_HEAD(vdisk_info_list, vdisk_info) vdisk_info_list_t; diff --git a/stand/efi/libefi/efipart.c b/stand/efi/libefi/efipart.c index e5c9c88234b7..88587192a1b7 100644 --- a/stand/efi/libefi/efipart.c +++ b/stand/efi/libefi/efipart.c @@ -103,6 +103,7 @@ struct devsw efipart_hddev = { .dv_ioctl = efipart_ioctl, .dv_print = efipart_printhd, .dv_cleanup = nullsys, + .dv_fmtdev = disk_fmtdev, }; static pdinfo_list_t fdinfo = STAILQ_HEAD_INITIALIZER(fdinfo); diff --git a/stand/i386/libi386/biosdisk.c b/stand/i386/libi386/biosdisk.c index 353b25ff6816..1b6134ab2e6b 100644 --- a/stand/i386/libi386/biosdisk.c +++ b/stand/i386/libi386/biosdisk.c @@ -190,6 +190,7 @@ struct devsw bioshd = { .dv_ioctl = bd_ioctl, .dv_print = bd_print, .dv_cleanup = nullsys, + .dv_fmtdev = disk_fmtdev, }; static bdinfo_list_t * diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index cd125350ce9b..00f133274f10 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" #include "host_syscall.h" +#include "disk.h" static int hostdisk_init(void); static int hostdisk_strategy(void *devdata, int flag, daddr_t dblk, @@ -49,6 +50,7 @@ struct devsw hostdisk = { .dv_ioctl = hostdisk_ioctl, .dv_print = hostdisk_print, .dv_cleanup = nullsys, + .dv_fmtdev = disk_fmtdev, }; static int diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 086b16a9ecdc..5585b463c737 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include "bootstrap.h" +#include "disk.h" #include "libofw.h" static int ofwd_init(void); @@ -60,6 +60,7 @@ struct devsw ofwdisk = { .dv_ioctl = ofwd_ioctl, .dv_print = ofwd_print, .dv_cleanup = nullsys, + .dv_fmtdev = disk_fmtdev, }; /* diff --git a/stand/libsa/geli/gelidev.c b/stand/libsa/geli/gelidev.c index 5dd122a4a681..5f1143399fb3 100644 --- a/stand/libsa/geli/gelidev.c +++ b/stand/libsa/geli/gelidev.c @@ -62,6 +62,7 @@ static struct devsw geli_devsw = { .dv_ioctl = geli_dev_ioctl, .dv_print = geli_dev_print, .dv_cleanup = geli_dev_cleanup, + .dv_fmtdev = disk_fmtdev, }; /* @@ -305,7 +306,7 @@ geli_probe_and_attach(struct open_file *f) hlastblk = (hmediasize / DEV_BSIZE) - 1; /* Taste the host provider. If it's not geli-encrypted just return. */ - gdev = geli_taste(diskdev_read, hdesc, hlastblk, disk_fmtdev(&hdesc->dd)); + gdev = geli_taste(diskdev_read, hdesc, hlastblk, devformat(&hdesc->dd)); if (gdev == NULL) return; diff --git a/stand/uboot/uboot_disk.c b/stand/uboot/uboot_disk.c index 236a118b915a..2a41d1181992 100644 --- a/stand/uboot/uboot_disk.c +++ b/stand/uboot/uboot_disk.c @@ -90,6 +90,7 @@ struct devsw uboot_storage = { .dv_ioctl = stor_ioctl, .dv_print = stor_print, .dv_cleanup = stor_cleanup, + .dv_fmtdev = disk_fmtdev, }; static int diff --git a/stand/usb/storage/umass_loader.c b/stand/usb/storage/umass_loader.c index 1c12f05c2769..cc1f6b68e275 100644 --- a/stand/usb/storage/umass_loader.c +++ b/stand/usb/storage/umass_loader.c @@ -61,6 +61,7 @@ struct devsw umass_disk = { .dv_ioctl = umass_disk_ioctl, .dv_print = umass_disk_print, .dv_cleanup = umass_disk_cleanup, + .dv_fmtdev = disk_fmtdev, }; static int diff --git a/stand/userboot/userboot/userboot_disk.c b/stand/userboot/userboot/userboot_disk.c index ed8a6dbdbbfb..d5b0f36e5e50 100644 --- a/stand/userboot/userboot/userboot_disk.c +++ b/stand/userboot/userboot/userboot_disk.c @@ -72,6 +72,7 @@ struct devsw userboot_disk = { .dv_ioctl = userdisk_ioctl, .dv_print = userdisk_print, .dv_cleanup = userdisk_cleanup, + .dv_fmtdev = disk_fmtdev, }; /* From nobody Tue Jan 24 22:11:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5q0mNFz3bfYY; Tue, 24 Jan 2023 22: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 4P1h5p6f8gz4QGW; Tue, 24 Jan 2023 22:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OrLW32ZNeJVASH2ygOojKb5p/vR0ohHumZfgh/5tLuM=; b=Rw2B9haE0ExH6nZ7JI4Bdyfs8sWUqG5olOtFppQWSWrYEIy/5wM4qKgSL3ImviOUbUCSEp uQYZamqycKY+YOVMjy/SHG60A+cYuOQE7WuDybl8JzRdqGf/6Oc67ynY32/mMvUhZVOWGi ezy3Ant2O/FjeY7S1Cmn3Viwql0n43exjWzmAcKUuJjsmkcOwNXdJuRaPaWhG2R5BqyfE2 R2ocY/w9jj2oEK88j7cnkZx1m+at4gwSPW4e1ZY71ySCA3tgNIOmOEmgvVDncll7YgD4pW Eqk0LPjVaSFIbWAaikw6+o5W8hPgw0I9Oq0vXfAnslGQue0G0M6tYVni3Q4iNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OrLW32ZNeJVASH2ygOojKb5p/vR0ohHumZfgh/5tLuM=; b=x5MolhySPu3MsvQEFEEotYAWhAl7g1fbfC4FepmDUNTb7SExGiNAPMwgFlFgVgm6xVahxb ySAvvsx/u9CAqv5s5QX3hQbjH8HqL8DSAoHftHW/l04b36Y8aXCyALuNBWPf4oaHQOpZP8 iRT23MihU1BB3Q2FpiwsX5a2/M1XiUMVAI3Pfm9lgyhwfPXxp5ulbLULG/nDuRh47iR7Ys 8uEIK3CXNvlrYUd9cvq5oTSCifd7IddyGXCworCyIUCZ6J3tVsna9nPhzWLxAlvo2QJkqR tff8XbqzfXPSLlmtxhArLeYbu1vjOWYUVKsZMsp8Pw767HlgNlM8voOtE5gP3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598319; a=rsa-sha256; cv=none; b=iMVbsoa/Ap4wnVNBrKgPH8AeQSCi/Mcxy9PrMmioLuFPCdZgENO4Xyi5HBw5V8lNv6RClx MxQ2c6w4zmQ+ZZaMezOIyF1r3cOv8ceCjdvDB+luglrOzPriPgZtT1Jf7SI2/cQgK1TuoB CM0Y6gr4zzDnd07fWgzynbFwQcNEgKuMnHdo4MVVzVTMUukQD5FTQqXVC4IzHkKt71Y/J4 5p2xF/90mTzt0alfQhFKvnFgF81XRMWQeDap5phDv7ovAvQqzSQo2B4KuWWkYVTCLlJY57 hueTUdEGhtA6MjQ0C20VE0oqN+5j+74FSXyYwjgEhw7CdCd7Uh+mJ2dSkJwDiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5p5kZTzQf3; Tue, 24 Jan 2023 22:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBwIk085453; Tue, 24 Jan 2023 22:11:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBw4f085452; Tue, 24 Jan 2023 22:11:58 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:58 GMT Message-Id: <202301242211.30OMBw4f085452@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: fe9661bce6a4 - stable/13 - stand: Use devformat rather than disk_devfmt List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fe9661bce6a4dcd9e99f13d28c973beba47efdee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fe9661bce6a4dcd9e99f13d28c973beba47efdee commit fe9661bce6a4dcd9e99f13d28c973beba47efdee Author: Warner Losh AuthorDate: 2022-08-11 15:06:53 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Use devformat rather than disk_devfmt Fix layering violation and use devformat to get the string representation of the device to see if we're mounted yet or not. Remove added include to pickup disk.h. Sponsored by: Netflix Reviewed by: tsoome (prior version) Differential Revision: https://reviews.freebsd.org/D35919 [ minor changes because UFS changes interferred and were already merged ] (cherry picked from commit ec9f3e776f39286ccec9915f38cca9729e6f9241) --- stand/libsa/dosfs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/libsa/dosfs.c b/stand/libsa/dosfs.c index b931648a364b..e50f8f25e16a 100644 --- a/stand/libsa/dosfs.c +++ b/stand/libsa/dosfs.c @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include #include "stand.h" -#include "disk.h" #include "dosfs.h" @@ -314,7 +313,7 @@ dos_open(const char *path, struct open_file *fd) u_int size, clus; int err; - dev = disk_fmtdev(fd->f_devdata); + dev = devformat((struct devdesc *)fd->f_devdata); STAILQ_FOREACH(mnt, &mnt_list, dos_link) { if (strcmp(dev, mnt->dos_dev) == 0) break; From nobody Tue Jan 24 22:11:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5r23s8z3bfjC; Tue, 24 Jan 2023 22: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 4P1h5r0tBZz4QBF; Tue, 24 Jan 2023 22: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=1674598320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZNIrNoYeXqKT92akC4M7PaFh/zBAuPQp3047Mg4Mt8c=; b=KcKyKE3dG1BeiJ2NxRDYNb+reY5+ujOQkqM2IxGnsTw8ZLjMAo8eIoUPT87acGYB9BfeM8 UtN8x3ijyAmWeikZ8Czu/7hBdE5kl84oMhd2EqMc2k3q5LJZh9j6CD3LtNMdmUczSAKaer FwGl0pw3o48GP+saAuvBwqkaNmg7W4vLOAOTNR9LusoIH/9XQwJqcxidaTRQ3j01yVRGKo Bc2p2m8ZZZ+c+iiZEQzlD7y7jxw9FGAJyCQks2V7If8AtuxVt89a+aidQ1C0K174IX3ZUM WbVVaPuK9kK9y4c8wFJit2JArWBnRFMj/fc8k2hq/pvbi8t2RtRCgPfQJxtc2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZNIrNoYeXqKT92akC4M7PaFh/zBAuPQp3047Mg4Mt8c=; b=mHOkGuVWZw4fiOMR5OVjJh9vyoXS2Jh+WxoXzcrbOtuSRXlyIuYfkXpSPNwyLHGxfX/Lze +Q7auJawxVYMMkoNquffa37UpQ8Lsm2pDaFfL+jmz0lUshfffKuA4YTFue9O/R3lC/HAt/ stO0UUNg1YekRQltJwVkcsfwxf5CpNo16KLWZ2vJPPos3qBEeoD2ZHvJ4zv/DjxgSBKIka zJMJ6Tng4HpiUBD+Rc2WSjTxx2FNL2AzZZNUKWqa8UV9JtHp0y7kcLDFpTaRm5BdDWXKtB rM4/Zxhat/DoSq+LWVAECkXhpFziqQ6+XeSeqEaDrIkRIG0xUd0zIIA37fsZ+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598320; a=rsa-sha256; cv=none; b=BG/n6Y9VkecaVZBu4L3FF2UXmemLPn+5QeTf+ZORc4TLO9GY3uYREhIuZwlfYvaUzA+1hn t+uHxYeuSlsemjtBPQP5p0sHj7wyJJh2MTs7NlVWGS5tyfqUkLnrqAnQx58TB8wfvfY9ON 1PWyahnJadYGRXTHzMsQ18KOTecXT59RqFPzTyvGBkN8fRVigXFHjOO/ufKTbJMIpWQZFY qKe6+KfdtqxiFtCFHPhoqNz/FV4yQ9s5vcvLjlMT2eVfdS/iBZr4hiDUvQUQln2ypzx9m2 WdjrADzKoy3vHnlsNXraIaIocAVf5KX/aZaCRdvwvFd6wTNGBY+h8cm41l8t8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5q6XZczQcH; Tue, 24 Jan 2023 22:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMBx4V085477; Tue, 24 Jan 2023 22:11:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMBxor085476; Tue, 24 Jan 2023 22:11:59 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:11:59 GMT Message-Id: <202301242211.30OMBxor085476@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: ec6d9023e56a - stable/13 - stand: Use devformat instead of disk_devfmt List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ec6d9023e56aebe0c3fe8fb7d15512097a20df8a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ec6d9023e56aebe0c3fe8fb7d15512097a20df8a commit ec6d9023e56aebe0c3fe8fb7d15512097a20df8a Author: Warner Losh AuthorDate: 2022-08-11 15:07:13 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:30 +0000 stand: Use devformat instead of disk_devfmt Use devformat instead of disk_devfmt. This allows us to avoid knowing the details of the device that's underneath us. Remove disk.h include and the -I${LDRSRC} from the build of ufs.c since they are no longer needed. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35922 [ minor tweaks due to earlier UFS MFC ] (cherry picked from commit 0b3a4a588fb6b30d923686828dab4685b94ec1ea) --- stand/libsa/ufs.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stand/libsa/ufs.c b/stand/libsa/ufs.c index fa3820617860..8385a1a3419d 100644 --- a/stand/libsa/ufs.c +++ b/stand/libsa/ufs.c @@ -81,7 +81,6 @@ __FBSDID("$FreeBSD$"); #include #include #include "stand.h" -#include "disk.h" #include "string.h" static int ufs_open(const char *path, struct open_file *f); @@ -525,7 +524,7 @@ ufs_open(const char *upath, struct open_file *f) return (errno); f->f_fsdata = (void *)fp; - dev = disk_fmtdev(f->f_devdata); + dev = devformat((struct devdesc *)f->f_devdata); /* Is this device mounted? */ STAILQ_FOREACH(mnt, &mnt_list, um_link) { if (strcmp(dev, mnt->um_dev) == 0) @@ -744,7 +743,7 @@ ufs_close(struct open_file *f) } free(fp->f_buf); - dev = disk_fmtdev(f->f_devdata); + dev = devformat((struct devdesc *)f->f_devdata); STAILQ_FOREACH(mnt, &mnt_list, um_link) { if (strcmp(dev, mnt->um_dev) == 0) break; From nobody Tue Jan 24 22:12:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5s2Xrgz3bfrF; Tue, 24 Jan 2023 22: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 4P1h5s18W1z4QHP; Tue, 24 Jan 2023 22: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=1674598321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x4poz7yrzGQTVVzJshN8izw+MNRovx1rl517Gir0ZtM=; b=dwqTF/bjsJIzTq1joEEjPT4BEfPr1yRilSCqTHK//oTJ9gfwZg3I2QU65vYp1BgLr73Dkk 57XYuHWVoqYShsthMDuAvueFTFikK1fy3FvaqPeYoDonWAUUKV1EJOlEhn3egx9HfznR3o KCd/bMDmUewVela7Ni2Mo0MOtOMEBbET6k9ACJGzxHj75t4CLVZvPvneyJpZjsKm2LzKD1 4dQLmBP48htaw5YAeHrjRWElHDliKbhqxZA0uEeC4aWc6CMn9eokyFL43nKs0RQ2A9m4// dhmvtJMw4immEQ44ahsQ9efKU1LFR0KakWR95ZfMV5NPFaNq0cD9sXkql1sZoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x4poz7yrzGQTVVzJshN8izw+MNRovx1rl517Gir0ZtM=; b=Pht8gHL5bcgAq0H5ZeZCdJNQKhUYYNQB5ZEpDPbT+J8RJqGk/cPs1oIdUJamizOpPrP79q x2Ua7BilBl6gThe7ISfvuNpgy9hDChsZ1leCSWWgTF/lmV0WxiRLnbM79WPu4B7swysUE4 bS6bsiqwqUuFi9Sov87ItpDivpJhKyabUjccqumDdRZFkuzQ5F6tq7dU2NvQQSGpvSxMUA yNAcC8/KmhNHqvtvawcHKKsaXnUUIOhJ4TP8dEe7ikyZfSwG+nUtM0WpwmHicXKcDbLWqA YDeNE02km/0mG/6cMdi7b7jwK8yLzW5HzookNh4H0ZEKndROnhuAhCaShxYjSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598321; a=rsa-sha256; cv=none; b=PPTLgut6t3PssdL3hOTVHDek+E0pB4tA4Fo2lJltIcFsK5kwTo7wRz75wHNplXPiV7/BQg f0+1RLxPc3nMMOtScADwSBZlGOMzLo8qHgwibx5VODrAZaKXIZ4x+LZvG/lcjdPQBpDjZ2 JE3EFVAqCwK5qzg/fuTnGqHjhqlMO6pgsiTJHazQsHQ4zYsKXUis1Lcq2XSvvwN/papCEW uPN18WYEJc+wCdVAWbME/6lYtMUqcMhT6AezzCIOPiRUEwAucd9LmwcXVLsOsWxGJaC/9b uaN7hR61sRbyZPYjHg89cPCicP3XF7880O3FEhI8f6t0ff3x8zcOtENMqdI5iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5s0Cy0zQV4; Tue, 24 Jan 2023 22:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC00s085502; Tue, 24 Jan 2023 22:12:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC0WX085501; Tue, 24 Jan 2023 22:12:00 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:00 GMT Message-Id: <202301242212.30OMC0WX085501@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: 2d0afc3e0a8e - stable/13 - stand: For zfs, set dv_fmtdev to zfs_fmtdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2d0afc3e0a8e77778c9cc53c3bbedc71df305697 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2d0afc3e0a8e77778c9cc53c3bbedc71df305697 commit 2d0afc3e0a8e77778c9cc53c3bbedc71df305697 Author: Warner Losh AuthorDate: 2022-08-11 15:07:26 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: For zfs, set dv_fmtdev to zfs_fmtdev Add a generic way to get the string representation of a zfs device / mount. Sponsored by: Netflix Reviewed by: tsoome (prior version) Differential Revision: https://reviews.freebsd.org/D35923 [ Dropped changes to stand/libsa/zfs/Makefile.inc file, depends on newer OpenZFS ] (cherry picked from commit 654b7837a6a08ec5b51635badd14794754fab7c5) --- stand/libsa/zfs/zfs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 5392bcaa4fb1..0ac67d750fcd 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1634,6 +1634,7 @@ struct devsw zfs_dev = { .dv_ioctl = noioctl, .dv_print = zfs_dev_print, .dv_cleanup = nullsys, + .dv_fmtdev = zfs_fmtdev, }; int From nobody Tue Jan 24 22:12:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5t4C4Jz3bfYh; Tue, 24 Jan 2023 22: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 4P1h5t2vCLz4QNN; Tue, 24 Jan 2023 22: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=1674598322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4gypo8ytSyTWbgWEWLMuclItwpNJvGDntl1ZJ5BdkhI=; b=Y+YjAHxBufo588bIMrk1ZCdUHTHvUrhpybw5jK2MJURrCYnUO6mS7df+iMHXqueNq4lpL5 szi5CSTKmrhrCrZoL8hLOwulh/dIRZwV4W7EaQtNE0ZLG6NxhQiUwVdVK76I86HIl9AMa1 8YSUM2+NPbSg8SOxrcexDeTRLwJP/wBw/qqKZ69d/X7tVjzHdOilIOp2G1YNE+FDoVIjqc bGg1dkzuALoHsYkgxecE8wrNu6rQM7x8egcrlALMtEAS3ATBLjDP8HHUGEkv3tlgkUhVfX MVdc0E0I7d2Tayf3D9txJdUwJ8N2hKETANN0+NeXPBrxYs5ipN8Qr2Zk/Jd8Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4gypo8ytSyTWbgWEWLMuclItwpNJvGDntl1ZJ5BdkhI=; b=rLOFeHkeRvUVHFvDv/1OjLV3zpR2NuoYPkjddNsuUmSfedHoMcoi4+kjM/+nsVbl4iv+u0 FUcVQueryeGkAsQ6mMtSAIyLGBxd2BUL+Crfvm1u73E9r/MUG5gU7d6w39vIMP7poqBrCm +zLteHz7AoJvkCLOZZB70Ya/W1QlLAnGNMne4QB+V3l0/7gK0WusMIn4dY8cyn2kEflgTR hd/r5Ho3/4ovPituQDPJjDSNNqNYu76kGrcDR9s7nJB7OjzLpkbNV9eXLO1d6fjhwaYc9Q YYZpfVWKyxaIQTv1EegHfgHVQNVbbMbft9GsFtUxqgg7nhlHSTnDkRl3LL39Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598322; a=rsa-sha256; cv=none; b=dMDMvbzRNls5Rw1OM1S5+TKpmn3Uxg51TPWvs1/8j1Ivcuz5R9E6JFaYww+FEraO5rwsmN 16rBozyOB7cmJvllopZEI3vDldutxQiOwtKtWo5T/llbbzPadJb6h7IL3wYEnVsHnsTFS5 /dF4Hf7yz4E2YXS2Q+ppWK1f06eILSf2cY9833Yx6AaRVSnh/or9BIMkNMyySRLAv7zawN l9OJ0rwj9f82je834Vnwwo95w++iJQsvoTv6PTBFKN4qSzmMKGsbR/wlEPvIhogBh8hIvU MAnmjjDuw1wLOa9tDWbPMDrxPrnQ7SmhchnJFgMv7nwZgdBsB9kD/Dbi6lylvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5t1DTKzQPM; Tue, 24 Jan 2023 22:12:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC2oZ085526; Tue, 24 Jan 2023 22:12:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC2kF085525; Tue, 24 Jan 2023 22:12:02 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:02 GMT Message-Id: <202301242212.30OMC2kF085525@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: e9db6f25b5a6 - stable/13 - stand: Replace zfs_fmtdev with generic devformat() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e9db6f25b5a6bb9ca76351c88720cca2ffcb6604 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e9db6f25b5a6bb9ca76351c88720cca2ffcb6604 commit e9db6f25b5a6bb9ca76351c88720cca2ffcb6604 Author: Warner Losh AuthorDate: 2022-08-11 15:07:44 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: Replace zfs_fmtdev with generic devformat() Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35973 (cherry picked from commit edb26097cb6416adb89b54c830d36c0ead3ca64c) --- stand/i386/loader/main.c | 2 +- stand/i386/zfsboot/zfsboot.c | 4 ++-- stand/libsa/zfs/zfs.c | 2 +- stand/userboot/userboot/main.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 4d5a0a98a08e..c15c97c961b7 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -387,7 +387,7 @@ extract_currdev(void) #ifdef LOADER_ZFS_SUPPORT if (new_currdev.dd.d_dev->dv_type == DEVT_ZFS) - init_zfs_boot_options(zfs_fmtdev(&new_currdev.dd)); + init_zfs_boot_options(devformat(&new_currdev.dd)); #endif env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev), diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index 52fd41688a17..930a6fb530af 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -222,11 +222,11 @@ main(void) devdesc.d_partition >= 0 ? devdesc.d_partition : 0xff); /* - * zfs_fmtdev() can be called only after dv_init + * devformat() can be called only after dv_init */ if (bdev != NULL && bdev->dd.d_dev->dv_type == DEVT_ZFS) { /* set up proper device name string for ZFS */ - strncpy(boot_devname, zfs_fmtdev(&bdev->dd), sizeof (boot_devname)); + strncpy(boot_devname, devformat(&bdev->dd), sizeof (boot_devname)); if (zfs_get_bootonce(bdev, OS_BOOTONCE, cmd, sizeof(cmd)) == 0) { nvlist_t *benv; diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 0ac67d750fcd..b525858ffc3c 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1583,7 +1583,7 @@ zfs_dev_open(struct open_file *f, ...) rv = 0; /* This device is not set as currdev, mount us private copy. */ if (mount == NULL) - rv = zfs_mount(zfs_fmtdev(&dev->dd), NULL, (void **)&mount); + rv = zfs_mount(devformat(&dev->dd), NULL, (void **)&mount); if (rv == 0) { f->f_devdata = mount; diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index d3f12ab1675e..d323d1f9789b 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -260,7 +260,7 @@ extract_currdev(void) bzero(&zdev, sizeof(zdev)); zdev.dd.d_dev = &zfs_dev; - init_zfs_boot_options(zfs_fmtdev(&zdev.dd)); + init_zfs_boot_options(devformat(&zdev.dd)); dd = &zdev.dd; } else #endif From nobody Tue Jan 24 22:12:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5v4n2Bz3bfjJ; Tue, 24 Jan 2023 22: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 4P1h5v35rSz4QFC; Tue, 24 Jan 2023 22: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=1674598323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NvRYN5y6WIh8U1r4r8xoqSGRkmZvCkRHUnSCcONFl94=; b=ovc52o9uonXHqYmEox3iGfcqTH0Lxs+DBvHB/2KSWeVIis8fXRI5KMoZuRH4p3SEnTeiM5 9IovlcSdGC03WvrfKXgDj1XX4uZbp2n0NYVwdLZIrJEyQ6SC2FXr28Hyw67Yil4wJfChZw SPJd1QM1C/r0nmxEUUDNYe0WFDsjs29VaFoR7MeBkyQA4tg37oB4uBXw7C2coTZXJzxg43 zxraTwfABhNhmVq3ilKqWPQl0tap4vfA93piz2aI1k7Tg837Kj0c95+vJ7Em2PKCEYTnUz 4PhPeDpHIKCXfbbQHOhSxnIdR9iuV3LjWbSpBKujdtCbVda8uszuw6rpg/mzuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NvRYN5y6WIh8U1r4r8xoqSGRkmZvCkRHUnSCcONFl94=; b=K3nBKuACJqeB9AuIyuOFJQ28cNJfTDMHCHltbvQZTgKAKR6D8Ivqjzxcj0+YPf9dSUjN2x IoVwYJ8V8DE7lCuKS3E8txfFF/c7VpLHCIU/xKgrchX5eHnfE7J3jdfqWKkO9llz25bRLT Jgf8+JeVdzMlMx0IJdvb0/h8ip5oFdCtlEjsqKi/5q6Q+XxQv730xrMFhrzOcPOaBoP7sy 2ZIMt0iIOKKzFIDDK1A8NOL7T5BMsCf3zDDhhKe3CePQP2THCr2zhyXkgtESw8GmAZUyT8 0gJe6SYe+N0fbHqkIW8e9nP4Ftb8kJ0h60hqho5Bb6oLMkVTydRZqU1ZNizrGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598323; a=rsa-sha256; cv=none; b=iPX8Uqa5sxqNJDnpVNs7s2QVRAZCGn4Lg4QzA0Sxh83Dh3jIJ0RfOArzEZVs0oClLLGNM7 q8yLvRyD7q3C7jRq64ujSsM+SKZmBVeETWasUy3X61mq/gZ4aE0zgtEeriEX1MYYgRGTK3 FK4QSKK5eQDLtlD5hrGC8+L5rK4D+NGYU/IgsPHqIZaswDP2vTsbf9Zf87SlYnsTeL2h5Y jMEtIHAH4d9VgNydoJM8IdEFdh9UG08m7oyd55WrV4KOzAFNsAA5JAZf5QDdOeqNwMVUcm z/or9ZLr0tqOHiB+4TWCkaa217UwF+wHcK8thZKnA/Tcnn2DUXXH64LhBm24Uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5v1wklzQXn; Tue, 24 Jan 2023 22:12:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC38B085555; Tue, 24 Jan 2023 22:12:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC3tK085554; Tue, 24 Jan 2023 22:12:03 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:03 GMT Message-Id: <202301242212.30OMC3tK085554@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: 75b7d39e116f - stable/13 - stand: efi_fmtdev can be reduced to devformat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 75b7d39e116f79563ea3d8d18f9bf3141f89a712 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=75b7d39e116f79563ea3d8d18f9bf3141f89a712 commit 75b7d39e116f79563ea3d8d18f9bf3141f89a712 Author: Warner Losh AuthorDate: 2022-08-11 15:08:08 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: efi_fmtdev can be reduced to devformat devformat produces the same output as efi_fmtdev, so just use it to reduce on the dependencies. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35924 (cherry picked from commit 1e7a2eb93a527a2f4b22be66788caf50e4ba1f89) --- stand/efi/include/efilib.h | 1 - stand/efi/libefi/devicename.c | 26 -------------------------- stand/efi/loader/bootinfo.c | 2 +- stand/efi/loader/main.c | 4 ++-- 4 files changed, 3 insertions(+), 30 deletions(-) diff --git a/stand/efi/include/efilib.h b/stand/efi/include/efilib.h index 903e1f0d00e5..bbef44fca4b3 100644 --- a/stand/efi/include/efilib.h +++ b/stand/efi/include/efilib.h @@ -85,7 +85,6 @@ efi_exit_boot_services(UINTN key) } int efi_getdev(void **vdev, const char *devspec, const char **path); -char *efi_fmtdev(void *vdev); int efi_setcurrdev(struct env_var *ev, int flags, const void *value); diff --git a/stand/efi/libefi/devicename.c b/stand/efi/libefi/devicename.c index cdf4830697fd..67a2e24d9da1 100644 --- a/stand/efi/libefi/devicename.c +++ b/stand/efi/libefi/devicename.c @@ -171,32 +171,6 @@ fail: return (err); } -char * -efi_fmtdev(void *vdev) -{ - struct devdesc *dev = (struct devdesc *)vdev; - static char buf[SPECNAMELEN + 1]; - - switch(dev->d_dev->dv_type) { - case DEVT_NONE: - strcpy(buf, "(no device)"); - break; - - case DEVT_DISK: - return (disk_fmtdev(vdev)); - -#ifdef EFI_ZFS_BOOT - case DEVT_ZFS: - return (zfs_fmtdev(dev)); -#endif - default: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); - break; - } - - return (buf); -} - /* * Set currdev to suit the value being supplied in (value) */ diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index da9577803b12..7f1a2f840f78 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -480,7 +480,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) } /* Try reading the /etc/fstab file to select the root device */ - getrootmount(efi_fmtdev((void *)rootdev)); + getrootmount(devformat(rootdev)); addr = 0; for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 0a5a03765ddc..7e6c1397781a 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -203,7 +203,7 @@ set_currdev_devdesc(struct devdesc *currdev) { const char *devname; - devname = efi_fmtdev(currdev); + devname = devformat(currdev); printf("Setting currdev to %s\n", devname); set_currdev(devname); } @@ -273,7 +273,7 @@ probe_zfs_currdev(uint64_t guid) currdev.pool_guid = guid; currdev.root_guid = 0; set_currdev_devdesc((struct devdesc *)&currdev); - devname = efi_fmtdev(&currdev); + devname = devformat(&currdev.dd); init_zfs_boot_options(devname); rv = sanity_check_currdev(); From nobody Tue Jan 24 22:12:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5w5JD0z3bfjQ; Tue, 24 Jan 2023 22: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 4P1h5w41DKz4QYR; Tue, 24 Jan 2023 22: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=1674598324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=76hdkNp1hEPmgLXR8tNyCntIFXn0x8tqEnKkxM3AX2Y=; b=VBbFOYKCn32IW6WPd2DjgWXD01eSKisYmAzl/wkCDatSIq1J5vjc0BiwPqyaAJDaFou7xy +HlsREAXdZKunjx8p9tE05JuzxywVt8M1Tn+kcMCJ2rxSLbxXbGLpO5cmDcoLgSC98cI1g D6mUr0IL99I0m99kXIIMj5uxo138TH941QtYSOwwMXC5gDhvqxmUh/CJbMrqimJm5kE1WB T4Wcs/dngUfxA+hvD/e79vTZfFPLRfG6kpOs4HUN+7kHaFLa4+AUdZyapej0AypvtjdLWp 4D7baLEHZyQSPLhTwtdkgzv7oJsd/S7IgkCbfR3nh7wtv6rjrwuetTmO8NeRfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=76hdkNp1hEPmgLXR8tNyCntIFXn0x8tqEnKkxM3AX2Y=; b=pUzPJCPBvP/7Pqf/WKQMLIO0EFio/3m52LOOd6XmbM0n4tUEVgualjaBClySoudPHPV+I7 CH8mJUm6owdkS62O510t8OA9la8JigYxquDzxYRgMCNna2RhioK2w7envAqum51Y3bQlJH +kpbNCvqahIpzNSsbe+SuBamdTWP8eRRQhkrxGA3K3LCXlFjt/IhvX84fuc1jINKG4i+cY d0rmn87E4ZexSUMB2TrD86v/1cIhFt4VIpecofV56FmnbFDZbHCNRaFfSrOU3LT8i+ccRt 6J4MDOw4Salh3PzjKRdl4TAMWFAxnz05VKvf/sfp79sZZy/7eAtl0Ny/FUGenw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598324; a=rsa-sha256; cv=none; b=HaP4hN8lfV5CAOhxrYQusP616LD4Q6VXAxLKMFR2q0k7xWeoa7HsBo2xYXELn6Ij38SDLi Kt5HzEb4b1uW+omqsUnh0Y4NtC9NnHNawLE1yDQfhkvor8XhlJpYi6TmRLZeST8tE+girw g2yhItlt849P7bLe602nNK0zPxNATui1VYsq08UoVpkTpY8Xnl+jkLNRntm5FQjPpEnbw4 2TvCWs+TgcIGBD0Pnwv4VShNN3ghHObmlqPYNrPftiTII+DiDSZjmh+TJnhvjukZt+komi s7AqaUQReE0Dne6ShP3lhA/rV6NjaYND4+9TsNY7GHUFJUZDgeD8xd993KTOVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5w35rPzQV5; Tue, 24 Jan 2023 22:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC4xZ085580; Tue, 24 Jan 2023 22:12:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC4rF085579; Tue, 24 Jan 2023 22:12:04 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:04 GMT Message-Id: <202301242212.30OMC4rF085579@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: e36bd9b6cffb - stable/13 - stand: userboot_fmtdev can be reduced to devformat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e36bd9b6cffb13f2ff50bd3551ff20188d5b8099 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e36bd9b6cffb13f2ff50bd3551ff20188d5b8099 commit e36bd9b6cffb13f2ff50bd3551ff20188d5b8099 Author: Warner Losh AuthorDate: 2022-08-11 15:08:26 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: userboot_fmtdev can be reduced to devformat devformat produces the same output as userboot_fmtdev, so just use it to reduce on the dependencies. In addition, we don't need to use the incomplete struct userboot_devdesc type, we can use struct devdesc instead (in fact, there's no userboot_devdesc defined anywhere). Sponsored by: Netflix Reviewed by: jhb (prior version) Differential Revision: https://reviews.freebsd.org/D35925 (cherry picked from commit 1e9b23448a3010e8403eae08ad890fe1eb75da8b) --- stand/userboot/userboot/bootinfo32.c | 6 +++--- stand/userboot/userboot/bootinfo64.c | 4 ++-- stand/userboot/userboot/devicename.c | 34 ---------------------------------- stand/userboot/userboot/libuserboot.h | 1 - stand/userboot/userboot/main.c | 2 +- 5 files changed, 6 insertions(+), 41 deletions(-) diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index ecd4ccf2edd8..b830b767906d 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -139,7 +139,7 @@ int bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t *modulep, vm_offset_t *kernendp) { struct preloaded_file *xp, *kfp; - struct i386_devdesc *rootdev; + struct devdesc *rootdev; struct file_metadata *md; vm_offset_t addr; vm_offset_t kernend; @@ -167,12 +167,12 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t } /* Try reading the /etc/fstab file to select the root device */ - getrootmount(userboot_fmtdev((void *)rootdev)); + getrootmount(devformat(rootdev)); bootdevnr = 0; #if 0 if (bootdevnr == -1) { - printf("root device %s invalid\n", i386_fmtdev(rootdev)); + printf("root device %s invalid\n", devformat(rootdev)); return (EINVAL); } #endif diff --git a/stand/userboot/userboot/bootinfo64.c b/stand/userboot/userboot/bootinfo64.c index 60887413e0ec..0086ef21b60a 100644 --- a/stand/userboot/userboot/bootinfo64.c +++ b/stand/userboot/userboot/bootinfo64.c @@ -182,7 +182,7 @@ int bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) { struct preloaded_file *xp, *kfp; - struct userboot_devdesc *rootdev; + struct devdesc *rootdev; struct file_metadata *md; vm_offset_t addr; uint64_t kernend; @@ -211,7 +211,7 @@ bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) } /* Try reading the /etc/fstab file to select the root device */ - getrootmount(userboot_fmtdev((void *)rootdev)); + getrootmount(devformat(rootdev)); /* find the last module in the chain */ addr = 0; diff --git a/stand/userboot/userboot/devicename.c b/stand/userboot/userboot/devicename.c index e770e6bf4bb1..45bf9bc6ebd8 100644 --- a/stand/userboot/userboot/devicename.c +++ b/stand/userboot/userboot/devicename.c @@ -176,40 +176,6 @@ fail: } -char * -userboot_fmtdev(void *vdev) -{ - struct devdesc *dev = (struct devdesc *)vdev; - static char buf[128]; /* XXX device length constant? */ - - switch(dev->d_dev->dv_type) { - case DEVT_NONE: - strcpy(buf, "(no device)"); - break; - - case DEVT_CD: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); - break; - - case DEVT_DISK: - return (disk_fmtdev(vdev)); - - case DEVT_NET: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); - break; - - case DEVT_ZFS: -#if defined(USERBOOT_ZFS_SUPPORT) - return (zfs_fmtdev(vdev)); -#else - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); -#endif - break; - } - return (buf); -} - - /* * Set currdev to suit the value being supplied in (value) */ diff --git a/stand/userboot/userboot/libuserboot.h b/stand/userboot/userboot/libuserboot.h index 75732c6c0e38..eb3bada097e4 100644 --- a/stand/userboot/userboot/libuserboot.h +++ b/stand/userboot/userboot/libuserboot.h @@ -57,7 +57,6 @@ extern ssize_t userboot_copyin(const void *, vm_offset_t, size_t); extern ssize_t userboot_copyout(vm_offset_t, void *, size_t); extern ssize_t userboot_readin(readin_handle_t, vm_offset_t, size_t); extern int userboot_getdev(void **, const char *, const char **); -char *userboot_fmtdev(void *vdev); int userboot_setcurrdev(struct env_var *ev, int flags, const void *value); int bi_getboothowto(char *kargs); diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index d323d1f9789b..9ede0cd360e9 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -285,7 +285,7 @@ extract_currdev(void) dd = &dev.dd; } - set_currdev(userboot_fmtdev(dd)); + set_currdev(devformat(dd)); #if defined(USERBOOT_ZFS_SUPPORT) if (userboot_zfs_found) { From nobody Tue Jan 24 22:12:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5x6WHnz3bfrQ; Tue, 24 Jan 2023 22:12: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 4P1h5x4G9wz4QfC; Tue, 24 Jan 2023 22: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=1674598325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mZzMciRdQXJE7M1wgNFkzQUxIKr3Z1vu2qI2bdHB40E=; b=rlWlA6+d8P2l6x4V6odLV0aanNw1xtspFw9BvAslGRGz8/kiFj+sDe8/UDAvvd/FpNN20t BBphzE5E9aeyAgMCbkxR1V8EJfmVD43caigfP/fqw4nacbx61uaCCzQyBQWGvQDra4rwtA gafFBnYEYQDyLNrFtVxOx9L96xElSXpOu0LKkl6uBmx4No9O0M7zhyQDPU7vxifWMhDU4Y Mv7ynA86DB9kH5N3XPQYLqNBba+/6WL/Li4Fq1GMyuC4S2eyXYvNZ4Ip755EuArVzcCrrI H7aMt8tFAjJa1ZSvxGCW+pqJhY4zrjLwi+KUAwnSMuOyTTL990ioZfQ20gTjcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mZzMciRdQXJE7M1wgNFkzQUxIKr3Z1vu2qI2bdHB40E=; b=vKixnA55u9XZRmuWjCs6SA6UhhhNe6aKF9lKQStUaxN/+KafpC6BxfvA1xcVGVRiUpwMtR aKoiyd6qTEUisBV8Yo7iwWbr/7r7CjCPj2vnlvxKHUhorNepeogT/80Wxj8d9B/yKsy4a1 rE5EMUwDUNCBJasWJaJV80JZsQel5dSlulLUu22k4zBcP2nbmAc5VXoCiqUXO8S07szeQt 5EwqqaJzSJKh6ziwxGAXtW0egln5zHWtFr+7zFQcMkWabX991COlFwXFCNfWyBDOLdd+nC 2I8oYbLef65vkbnXm6TsL0GZy3EWtRBdpC/dqGJ1Hfieyo21EEL+gHqWaMAj9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598325; a=rsa-sha256; cv=none; b=jcYi6UIBONKaVI0xrGLn5wPppfqfO3uN2J6Wkb7/zmmJAKiugLFIL6evrWO1z+NiP9hxnc PN/BXlxxCIjzqi5KQ9U6rokKcwg0z1m88D//XIYtAGaGTU9S8Nhs/yA2nYkprojS/9dVz6 trTQBEyt1YM50oeee7KVW3GgkKWUgonybJr22YCJPIaV+nJ8bksGGmt9/kddakJCCFA9SJ 1pEKC84rrF8ZECCWjZWd3lN6TaZZX6i6vMojdnJ51HEJSA4wetrqoPw6X7oweP4wEdh//Z x3JZa6XfV1oJ7QUVzDDTKp3/6XaCM0XHUAEaLy1oFz7W2mltGceEKov2EkN7fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5x3N8RzQf5; Tue, 24 Jan 2023 22:12:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC5OW086541; Tue, 24 Jan 2023 22:12:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC5Un086540; Tue, 24 Jan 2023 22:12:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:05 GMT Message-Id: <202301242212.30OMC5Un086540@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: 26e5e3ecbd61 - stable/13 - stand: uboot_fmtdev can be reduced to devformat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 26e5e3ecbd61d82b369a0ce6a83297e95526a691 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=26e5e3ecbd61d82b369a0ce6a83297e95526a691 commit 26e5e3ecbd61d82b369a0ce6a83297e95526a691 Author: Warner Losh AuthorDate: 2022-08-11 15:08:52 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: uboot_fmtdev can be reduced to devformat devformat produces the same output as uboot_fmtdev, so just use it to reduce on the dependencies. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35926 (cherry picked from commit add8154e451f441778fb9c2fb7d10d281dea9611) --- stand/uboot/devicename.c | 23 ----------------------- stand/uboot/libuboot.h | 1 - stand/uboot/main.c | 2 +- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c index b6b0e6e40639..b73a7694f14a 100644 --- a/stand/uboot/devicename.c +++ b/stand/uboot/devicename.c @@ -160,29 +160,6 @@ fail: } -char * -uboot_fmtdev(void *vdev) -{ - struct uboot_devdesc *dev = (struct uboot_devdesc *)vdev; - static char buf[128]; - - switch(dev->dd.d_dev->dv_type) { - case DEVT_NONE: - strcpy(buf, "(no device)"); - break; - - case DEVT_DISK: -#ifdef LOADER_DISK_SUPPORT - return (disk_fmtdev(vdev)); -#endif - - case DEVT_NET: - sprintf(buf, "%s%d:", dev->dd.d_dev->dv_name, dev->dd.d_unit); - break; - } - return(buf); -} - /* * Set currdev to suit the value being supplied in (value). */ diff --git a/stand/uboot/libuboot.h b/stand/uboot/libuboot.h index 18a12c216d7e..b9039bcf7fdf 100644 --- a/stand/uboot/libuboot.h +++ b/stand/uboot/libuboot.h @@ -50,7 +50,6 @@ struct uboot_devdesc { #endif int uboot_getdev(void **vdev, const char *devspec, const char **path); -char *uboot_fmtdev(void *vdev); int uboot_setcurrdev(struct env_var *ev, int flags, const void *value); extern int devs_no; diff --git a/stand/uboot/main.c b/stand/uboot/main.c index 6648dc607c11..573995663fe4 100644 --- a/stand/uboot/main.c +++ b/stand/uboot/main.c @@ -533,7 +533,7 @@ main(int argc, char **argv) return (0xbadef1ce); } - ldev = uboot_fmtdev(&currdev); + ldev = devformat(&currdev.dd); env_setenv("currdev", EV_VOLATILE, ldev, uboot_setcurrdev, env_nounset); env_setenv("loaddev", EV_VOLATILE, ldev, env_noset, env_nounset); printf("Booting from %s\n", ldev); From nobody Tue Jan 24 22:12:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5y6pRvz3bfnt; Tue, 24 Jan 2023 22: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 4P1h5y598Nz4QcS; Tue, 24 Jan 2023 22: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=1674598326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X8QRskpaggKN0KSF25BB5XiL5ONFMwj1Kon9pIJJlAU=; b=wpTMmJerR9WoKcetQ/pVTbzNqU/1bncg5od2LVoBMuUEvHknvEOdBtZSqeGRv6VpsQ20C7 sjrlwDdGd1Dvu2QDLS6ho2FcgQWZneTH4iOxYP3ql52lqHkMpOSOa+cujeUjBQtv8miHUI dXdBHVBd/BxUdl5gmPChn20JxP3MqqjNlqgFiuqbA0C8DPVy3lacm/ZUZO1bdPOt2espOp XjPE0cM3q50oAzcCjk080rLhG0DRawScfqtlyxsBPuYXmNBuL+S26PBl/dLJDobk2+yroX OftjAuc1lqjQLWkub2m/zrbkGQgQEHrdBBuiBg+sENH+n3w0aUtmgQ8Rv3p3Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X8QRskpaggKN0KSF25BB5XiL5ONFMwj1Kon9pIJJlAU=; b=OayXyH9Ku3ky6zv/9fn9/E7ClE1y4QNfhzefxPD8p+Q+1UPwLmilNNAfgy8FeKLyxggdr3 nRwDvUnSZ7MR1IsQKO6/riV2ubTQ8ywFakbhRhH9FCEmsOueDblv6k8HhzqCb4M0KMsP+c JGwx1klUGGspGwiiTpjEZJ/ftkFfbKfjqFX/jgIssLPhPwszbCYpVJIU1d9v8YXNQbfXxg ErpOdvtByYB/YcicHqbkUz7Z57ciZAW+8swRd7wVDR00dQaEkQvapDGwSqpDE+MsI/HpL5 QsTplpmzuHaTCRhmT3rShEvlhrkwU6Y7TT+ekdlkkjd9uEF5a2KdIvjA+n3mrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598326; a=rsa-sha256; cv=none; b=GFf4NouEaICVeGzatJ6FChmZYMkaPrtjys6dgrNdHn4RsqIDpMUqj+or2MOgmo/ArAfsnq eCVWM4VZR444ROJ9duP6FI7sug/fe+3by6qz8GNn0cOINkcMKzzGmyNdtAhfPgwfJcOYoX kkHYjlBeG1Fw3uDYawde8TlAsAveKckrRmWWTqJh6/uBKy01100GdLOLveseadj2o4lCuI ySm/dgLxyZa/jgGoVgXI/ngPA7B1UnPixSWmboT/MmPK31tnVW2yu+wnvId+BOUUWXzkHt EV9NsrYJw60ha8aPSaIMGIS7O19dG6u39fmTGFekQSiDjfYc+V/b08pRo1T0Tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5y46WPzQgD; Tue, 24 Jan 2023 22:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC6E7086568; Tue, 24 Jan 2023 22:12:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC6X3086567; Tue, 24 Jan 2023 22:12:06 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:06 GMT Message-Id: <202301242212.30OMC6X3086567@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: 1c68ec6c69b5 - stable/13 - stand: i386_fmtdev can be reduced to devformat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c68ec6c69b5e111fe8e197a3c65bc5beca88318 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1c68ec6c69b5e111fe8e197a3c65bc5beca88318 commit 1c68ec6c69b5e111fe8e197a3c65bc5beca88318 Author: Warner Losh AuthorDate: 2022-08-11 15:09:03 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: i386_fmtdev can be reduced to devformat devformat produces the same output as i386_fmtdev, so just use it to reduce on the dependencies. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D35927 (cherry picked from commit 362322294045943703e03dee263bbc237002525c) --- stand/i386/libi386/bootinfo32.c | 4 ++-- stand/i386/libi386/bootinfo64.c | 2 +- stand/i386/libi386/devicename.c | 27 --------------------------- stand/i386/loader/main.c | 4 ++-- 4 files changed, 5 insertions(+), 32 deletions(-) diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 23b02693cf48..7afb11c6a3b7 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -167,7 +167,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t } /* Try reading the /etc/fstab file to select the root device */ - getrootmount(i386_fmtdev((void *)rootdev)); + getrootmount(devformat(&rootdev->dd)); /* Do legacy rootdev guessing */ @@ -191,7 +191,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t rootdev->dd.d_dev->dv_type); } if (bootdevnr == -1) { - printf("root device %s invalid\n", i386_fmtdev(rootdev)); + printf("root device %s invalid\n", devformat(&rootdev->dd)); return (EINVAL); } free(rootdev); diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index 1ffa4188d926..e1dc704e0e1c 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -216,7 +216,7 @@ bi_load64(char *args, vm_offset_t *modulep, } /* Try reading the /etc/fstab file to select the root device */ - getrootmount(i386_fmtdev((void *)rootdev)); + getrootmount(devformat(&rootdev->dd)); addr = 0; /* find the last module in the chain */ diff --git a/stand/i386/libi386/devicename.c b/stand/i386/libi386/devicename.c index 061f2ba9ce9f..73445aeba172 100644 --- a/stand/i386/libi386/devicename.c +++ b/stand/i386/libi386/devicename.c @@ -171,33 +171,6 @@ i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path) return(err); } - -char * -i386_fmtdev(void *vdev) -{ - struct i386_devdesc *dev = (struct i386_devdesc *)vdev; - static char buf[128]; /* XXX device length constant? */ - - switch(dev->dd.d_dev->dv_type) { - case DEVT_NONE: - strcpy(buf, "(no device)"); - break; - - case DEVT_CD: - case DEVT_NET: - sprintf(buf, "%s%d:", dev->dd.d_dev->dv_name, dev->dd.d_unit); - break; - - case DEVT_DISK: - return (disk_fmtdev(vdev)); - - case DEVT_ZFS: - return(zfs_fmtdev(vdev)); - } - return(buf); -} - - /* * Set currdev to suit the value being supplied in (value) */ diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index c15c97c961b7..15d1c312b278 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -390,9 +390,9 @@ extract_currdev(void) init_zfs_boot_options(devformat(&new_currdev.dd)); #endif - env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev), + env_setenv("currdev", EV_VOLATILE, devformat(&new_currdev.dd), i386_setcurrdev, env_nounset); - env_setenv("loaddev", EV_VOLATILE, i386_fmtdev(&new_currdev), + env_setenv("loaddev", EV_VOLATILE, devformat(&new_currdev.dd), env_noset, env_nounset); } From nobody Tue Jan 24 22:12:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h5z6qF8z3bfjT; Tue, 24 Jan 2023 22: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 4P1h5z5zTkz4QZh; Tue, 24 Jan 2023 22:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dMp8QrdOAavWHaDLQb8tBOFoQez/9Vzs1jj88BxK/i4=; b=Q7gOrfjubY3tti/Zf6tn5slP1KY70O+kmYSxb+7OSAU+bf0bkWIqxHbtlcD843hl/0DLin u8XaCIpVfZ9GDb1pxaz35yuI6D6EeisXu4tx0hsc0EFkUKvphfpvlY8h9XXUicvOMvIp6I MM80ltR9NCbZlSpBWc9UihvFSbyzmzNq4y8Ic2NoQvmYblsQzMV0pkYVXDFlxy2HyW3DQL kbppcUOTvWsl4fOZmCfNBqZW+dBU7XZ5AnOIRgtC9Mn4uoMLAOvSAL1jN+XEUFBikLnuVr 0Owibggq206yyJnjt9OlXZZSpwqOqO2HsWqeAa/kMjAaPz3VyVgTnTZWk4UquQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dMp8QrdOAavWHaDLQb8tBOFoQez/9Vzs1jj88BxK/i4=; b=dhk6adW9daHuyheOXQSbLO+VIinDKiOEhHLMcm3emPsBNncj1QvSRmYRbrAL7sNrhLu3QN wBwhMyCPEDQgUqhi6iDODWDq7TiH38Vin5sFN6G9wiWT+777FjFSjtcz80RE6CFg8+m6Bs hUL/z+AiGEK07WRkoGBYHPzeHxknptHpfM5SMI4t216n0xGxDdgjc9j51C/DZe9lLX8n5E 7JGub+yHH6ygZRIN2rozFUCTBO14bEEDeTFb8vnUp/hPZfALn5B0b7uBf2fPRXIHcrMH5Y li6Tfjm5Gjmj4PoSRTwT5AicP51Z9616IYeUhjSbvASh2yOjwAIgVSHGEcdLQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598327; a=rsa-sha256; cv=none; b=qz0zucdr3pRizQLiwXvq7VNQ6nsi45vVcpdfHsQQicueDU0RyYjvn8auzOfkpglnAWsGdQ TTQhNyE+vQDioEmvuibGsN1g9vi3Qqvovy2NG+Vyb59ccxnaeWuhae0/iFXxV4Eb1VxGeB LEWDJJrFpsKqdd6K/nEOiJ4FNe0/MZgfjR8uTGpsWROuJYYlEDBJPvDfQmsGPBHHqQCQew 2LM3YFzm2dm4RpK4V2NBKDRPp20/TaBlfq0RpVfiC4p2/FqLjFAr3vo4W9CrWuFEs4RpOL 9pljuFbG12MjYimSdkMSmGJTkpMopQco7Sg61Vnhj5puwXNsDZVWwstLMBnIng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h5z52L9zQGq; Tue, 24 Jan 2023 22:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC7BW086592; Tue, 24 Jan 2023 22:12:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC7Wx086591; Tue, 24 Jan 2023 22:12:07 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:07 GMT Message-Id: <202301242212.30OMC7Wx086591@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: d89d0858db60 - stable/13 - stand: Make BIOS loader size limits settable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d89d0858db605e32a0079126c756159abad09b69 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d89d0858db605e32a0079126c756159abad09b69 commit d89d0858db605e32a0079126c756159abad09b69 Author: Warner Losh AuthorDate: 2022-08-11 16:24:58 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: Make BIOS loader size limits settable It's sometimes desirable to override the size limit: It's a soft limit and there are times we exceed the limit by just a little bit and don't want the build to fail (or we are hitting runtime failures below the 510,000 byte limit). Sponsored by: Netflix (cherry picked from commit 7d72ff905770a64a22125c890438189db71104ae) --- stand/i386/loader/Makefile | 2 +- stand/i386/pxeldr/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index cde1513aac06..8b027b2edd61 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -19,7 +19,7 @@ PROG= ${LOADER}.sym INTERNALPROG= NEWVERSWHAT?= "bootstrap loader" x86 VERSION_FILE= ${.CURDIR}/../loader/version -LOADERSIZE= 510000 # Largest known safe size +LOADERSIZE?= 510000 # Largest known safe size .PATH: ${BOOTSRC}/i386/loader diff --git a/stand/i386/pxeldr/Makefile b/stand/i386/pxeldr/Makefile index f8bc1eae9a31..3d27285968ce 100644 --- a/stand/i386/pxeldr/Makefile +++ b/stand/i386/pxeldr/Makefile @@ -13,7 +13,7 @@ BOOT= pxeboot LDR= pxeldr ORG= 0x7c00 LOADER= loader -PXELDRSIZE= 510000 # Largest known safe size +PXELDRSIZE?= 510000 # Largest known safe size .if defined(BOOT_PXELDR_PROBE_KEYBOARD) CFLAGS+=-DPROBE_KEYBOARD From nobody Tue Jan 24 22:12:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h610Rwpz3bfp3; Tue, 24 Jan 2023 22:12: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 4P1h6070Cmz4Qdl; Tue, 24 Jan 2023 22: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=1674598329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dRpoRJthrglFttvqbbo1dC1PNsOwqzmZB0C9V1Dl9vw=; b=ka0yfWx+1mxxlx33rWpvJ1Yf7S76Zr1pSDnbJTTKi/hI/t8i0VkSoN3IT6iYAERbCLkqHo vtTL7+hKtHZcxRsr1VyEl7tWXXGZK54UHWc8DHjY177TlW3626+ThRdoDqzuS4kSru/+3A Hn9O7P9eDk7cELOQv19RYFzeYnpyJJrdtCnqe/gelBeZbzJsLqUfjYdLrGDr1Q93vyup3P OAjS3XJMlqyY8LkaEIECjKgn/n6mnXqVYoWPeLSo6ZXosYS5cfl2w12LkT/RC+irRWDnqu tCBV5L6LXABHY4lNPFMs55ff/5AtdmsuRB3c1NIef3HH+m+w2ECrZ/EjUUKi4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dRpoRJthrglFttvqbbo1dC1PNsOwqzmZB0C9V1Dl9vw=; b=yHV+S3ri0LeR+TbTeZqPb1hYSbawqHLEPEOYu4lzqCFbov/ZpNCOSPt0jQOua9zsaQJPKp GFr7V/4vxc+z2bI1ebNQrA3A9hbWJFwMqw1QonurHYoUzoIRzy2nGTUU9qZmOe6RMharqE ctpYYj2Z6px6MrrdJZL4qcz5y2zSTGRhIe740ZSXPSuAZRMTxJQQHneF6zNlajNwlk1KlB O/AmSgSVJhjCL4T14pNEIuPKfDXBt25XF6wy2UZgGoX48eoZrffOkASJWNvTXPO7F2uQYg Hf55TEgmxLS0p1+7xiHcla3wXO4Cv98YDK7uZCqEi08Bz8hEq9jCvw277nwIaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598329; a=rsa-sha256; cv=none; b=czjk057HemFilVKR7LR7Dvbib7ldUTPeOcEu8KAV19GBKU/EjPJ0x3LoPp79W/WdUjwi/f yCs5vzhB/mj4Zn7dLr94+gaUWKWW4WoiVAGYomwR8JbdiGvI+1LqXgkqegDJSmjDT35w2C OPVy1SUaoaJCtOpPzJGg1oo26PaNTv6ROJ3TZCqLC4SW1MT83lgNxeJvkjYPR7a0oi4jhu g1AQ1PpfeiOCTx8BM2uo0PU7kiIC3HK1ELCKA6FpmwIx25CPHk0eLTR7uA0ir5la7ddA+f CHBkXplqKqBhLrxnRtlr+AWxA9iNOCyJaNfoJqh2fIUp1GB3J/FA8XXCVedsAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h605zQJzQgG; Tue, 24 Jan 2023 22:12:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC8mA086620; Tue, 24 Jan 2023 22:12:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC8fb086619; Tue, 24 Jan 2023 22:12:08 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:08 GMT Message-Id: <202301242212.30OMC8fb086619@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: dba7abcda4a8 - stable/13 - stand: Go back to a.out format for /boot/loader List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dba7abcda4a8668e5949656afd5f19dbf072acb6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dba7abcda4a8668e5949656afd5f19dbf072acb6 commit dba7abcda4a8668e5949656afd5f19dbf072acb6 Author: Warner Losh AuthorDate: 2022-08-11 23:29:10 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: Go back to a.out format for /boot/loader Turns out there's two hidden a.out dependencies. pxeldr.S assumes it has access to the a.out header from /boot/loader and cdboot.S assumes that /boot/loader is also a.out and doesn't use boot2. So, go back to making a.out files for these and adjust the size checks to use ls, but we only need to check loader.bin. Trim the size we check against by 2,000. The difference in size between loader and loader.bin is about 3000 bytes, but clang15 produces binaries that are a smidge bigger so we need to relax the check just a little and accept some additional risk for the moment. Add some comments to loader's Makefile about this. Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D36142 (cherry picked from commit 4c8ea3efe73c12d595472a7fc37177432a77858e) --- stand/i386/loader/Makefile | 12 ++++++------ stand/i386/pxeldr/Makefile | 7 +++---- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index 8b027b2edd61..539c736af38f 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -19,7 +19,7 @@ PROG= ${LOADER}.sym INTERNALPROG= NEWVERSWHAT?= "bootstrap loader" x86 VERSION_FILE= ${.CURDIR}/../loader/version -LOADERSIZE?= 510000 # Largest known safe size +LOADERSIZE?= 508000 # Largest known safe size for loader.bin .PATH: ${BOOTSRC}/i386/loader @@ -83,13 +83,13 @@ CFLAGS+= -I${BOOTSRC}/i386 ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} - btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ + btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ -b ${BTXKERN} ${LOADER}.bin - @set -- `${SIZE} ${.TARGET} | tail -1` ; x=$$((${LOADERSIZE}-$$4)); \ - echo "$$x bytes available"; test $$x -ge 0 ${LOADER}.bin: ${LOADER}.sym ${STRIPBIN} -R .comment -R .note -o ${.TARGET} ${.ALLSRC} + @set -- `ls -l ${.TARGET}` ; x=$$((${LOADERSIZE}-$$5)); \ + echo "$$x bytes available"; test $$x -ge 0 .if ${MK_LOADER_ZFS} == "yes" && ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP} LINKS+= ${BINDIR}/${LOADER} ${BINDIR}/zfsloader @@ -103,8 +103,8 @@ FILESMODE_${LOADER}= ${BINMODE} -b # Note: crt0.o needs to be first for pxeboot(8) to work. It assumes that the # startup code is located at the start of the loader and will jump # there. Although btx is more flexible than this, the emulated boot2 environment -# that pxeloader provides has none of that flexibility because it lacks access -# to the a.out/elf headers and assumes an entry point of 0. +# that pxeldr provides has none of that flexibility assumes an entry point of +# 0. In addition, pxeldr and cdboot assume that it is loading an a.out file. # # We must add it to the LDFLAGS instead of the OBJS because the former won't try # to clean it. When it is in OBJS, this cleaning can lead to races where diff --git a/stand/i386/pxeldr/Makefile b/stand/i386/pxeldr/Makefile index 3d27285968ce..790f5ed8f0e9 100644 --- a/stand/i386/pxeldr/Makefile +++ b/stand/i386/pxeldr/Makefile @@ -13,7 +13,6 @@ BOOT= pxeboot LDR= pxeldr ORG= 0x7c00 LOADER= loader -PXELDRSIZE?= 510000 # Largest known safe size .if defined(BOOT_PXELDR_PROBE_KEYBOARD) CFLAGS+=-DPROBE_KEYBOARD @@ -39,10 +38,10 @@ LDFLAGS+=${LDFLAGS_BIN} CLEANFILES+= ${LOADER} +# Note: pxeldr.S assumes a.out and will require changes for ELF if the output +# format is changed to ELF. ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN} - btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ + btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ -b ${BTXKERN} ${LOADERBIN} - @set -- `${SIZE} ${.TARGET} | tail -1` ; x=$$((${PXELDRSIZE}-$$4)); \ - echo "$$x bytes available"; test $$x -ge 0 .include From nobody Tue Jan 24 22:12:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h622jMfz3bfNV; Tue, 24 Jan 2023 22:12: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 4P1h620g38z3BqS; Tue, 24 Jan 2023 22:12:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kQvwRmefQQOneL6qEeRT70eg2QStCYwL+WxfNq526SQ=; b=m55rNVnNNBaEf2xJkCTepoEn2o7B7Vau907aB5HF9FFyGjLM6jYqM1k2GT/2VmWOVRkGDo ImAC+JBWJiv8kIR2IUQuxBkweqoxB08VvqCHkGnZvVwcBm0NCYToawq5qLHolS9Ue5BU4o 99qasEuBGo4ARmorQiW9G3AID2rE7vXOtAYmJCDPPf9wWggOB12DCdnPSNCfhPztwxYWup 1Aw+kcoDlP1/usozo57FvvCSWyZ4UN+cF/cGM5qe4PN2e7/jNiROBQssAeQZinUllZvhTW MPD0TrAZhX3A60mPNWknqTrmI5Y4krBuUgHZBNWIZY0F/xI4IMMHKPwhlGwd9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kQvwRmefQQOneL6qEeRT70eg2QStCYwL+WxfNq526SQ=; b=hc6HDP5HTH821y9vkZ0mCsxu3DBJACvRT5A3fYogVZ7RYW0Pw5xYXdk/P51dQDvpUWDKgs 0eRlXS3k989IVM2t82D0S19u2+ub2IeptW+DKCpA+3LoQb6O2DQupSngVAiCezD5v80kD2 e8B+jd1UjmFmDZptVK0pYRw/Kvj9fjOkQLYoVhJ11wGG0y3PwpreaVbULmxwF+2U4LD41Z rOhyw/z+as3GQXNQgL38FbOgnNjByT7qOJbIowEutDekYV35cMCaSu7mF2wNCeQL0KgGQp fbIpGWJm+OhrnW7RyJU1tk6UyF8xvfWeA1yauzTG7p+JkpVh01EdwMQFkYYkLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598330; a=rsa-sha256; cv=none; b=fRXFV7KWmbkQqJ9SS158YPZffoOqeJxOIwJziZKYM9PHR4Efq7Jm9mJe8kkmdQp9jDSFP2 5/6XcvgrxX8ZsYPVHzS34ynconu5MBTiOWe6aYxt6BppApSMEDZmRHpEc3WiBODXPl+I7m UW/1YfmrVzMBjWgS5bNaxuFMeXazp72WWt9eRoNFb1bGXHZUS21E2zyMqivor64crZzW93 JWddxpvRxRq/qRLbnmw0CvcKm6ToST8Sbq1hplMnOvqX58tXT1a6Xfz2MVhY285H8sclVT GiBJX6zZ4BLcT+4Cl/x8McIVrdMq7HerFMn94qh24Q7326qVRnbs69WBclpAvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h616v24zQcM; Tue, 24 Jan 2023 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMC9lF086648; Tue, 24 Jan 2023 22:12:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMC9j1086647; Tue, 24 Jan 2023 22:12:09 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:09 GMT Message-Id: <202301242212.30OMC9j1086647@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: 6760e8df9dc6 - stable/13 - stand: Raise limit to 550,000 bytes for loader List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6760e8df9dc63db2d24e07882c49bb4e9da1602e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6760e8df9dc63db2d24e07882c49bb4e9da1602e commit 6760e8df9dc63db2d24e07882c49bb4e9da1602e Author: Warner Losh AuthorDate: 2022-08-12 04:59:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:31 +0000 stand: Raise limit to 550,000 bytes for loader Raise the limit for /boot/loader to be 550k. The IBM PC imposes a limit of 640k of RAM below 1MB, which is needed for real mode calls. BTX takes 40k of that. The BIOS takes some amount (25k seems a good "99% take less than or equal to this" estimate for that, though some systems consume more). Most typical setups need 25k of stack. This leaves 550k for code. We set the limit to 550,000 which gives about an extra 13,000 bytes of buffer for machines that whose setups use a little more stack or whose BIOS reserves a bit more... Add this derivation in the Makefile. Also recommend setting LOADERSIZE lower in /etc/src.conf when the loader has to run on a system whose BIOS takes up more space, or for a complex setup. Add a recipe for how to find how much RAM your BIOS uses as well (thanks to jhb@ for the trick). Network cards that boot via PXE and HBAs with their BIOS enabled are known to be large consumers of lomem space. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D36152 (cherry picked from commit f8a199f28f9de46fe7360c3a4a0e19e71be72721) stand: Fix a couple of comment typos in f8a199f28f9d The commit message documented it as /etc/src.conf but the comment in the source mentioned the non-existent /etc/loader.conf. Fixes: f8a199f28f9d ("stand: Raise limit to 550,000 bytes for loader") (cherry picked from commit 3179bb2737493bc4191c3239226bda50f0b64b8f) --- stand/i386/loader/Makefile | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index 539c736af38f..3195cb00c6be 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -19,8 +19,22 @@ PROG= ${LOADER}.sym INTERNALPROG= NEWVERSWHAT?= "bootstrap loader" x86 VERSION_FILE= ${.CURDIR}/../loader/version -LOADERSIZE?= 508000 # Largest known safe size for loader.bin - +# +# There's 640k - 40k maximum space, less however much memory the BIOS uses. A +# non-random survey suggests that 20k-25k is a good value for 'most' machines. +# We also need to subtract maximum stack usage (20-25k). +# +# So 640k - 40k - 25k - 25k = 550k = 563,200 bytes, but use 550,000 below for +# some extra buffer for more complex setups and/or wider BIOS lomem variation. +# +# Some systems use more stack or have BIOS reserve more RAM (or both), and will +# need to set this lower in /etc/src.conf if the above buffer is too small. +# +# sudo dd if=/dev/mem bs=1 iseek=0x413 count=2 | hd -d +# +# will tell you how many kiB of lomem are available. +# +LOADERSIZE?= 550000 # Largest known safe size for loader.bin .PATH: ${BOOTSRC}/i386/loader From nobody Tue Jan 24 22:12:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h632hPYz3bftN; Tue, 24 Jan 2023 22:12: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 4P1h631stvz4Qkl; Tue, 24 Jan 2023 22:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W3AKTXwHUANbzzypBobioteliQpbzKyUR9O+pqRIVRY=; b=nUSp3X5D6UgVeb9aQJq5qQbhhR7Nw6iqpm18za3OK36LT7qM69uBUdeYBY/UMWYp8wniX6 T9MHJ6g7BMwMBUZUC/Kpl6Y/FUOqDFcKP21VNTbzfLO5GO0YLcv+ObOCSHKXWxzEx5c7C8 rAjCI+wDWsEtK133Zvt1l6g5mc412VE01D6WEpAxGpyV+CMRlgX0IXb5NZNmLAfycE10Jp 8YN0OFIS27C1urnMUJ7gHaT7QWVRXzIQ8t0Htk1B45KC1lom3a9vjmyr3S7qo/+DisRziH /srGDjm8G8226YaSB1PjKU7WNxsXcAdaqzOFuaS/52FDzS4Nvb+PNIu0GU7UYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W3AKTXwHUANbzzypBobioteliQpbzKyUR9O+pqRIVRY=; b=HuVydLpSLB40nHzPg+BK3zmbt7AorvH8qdm4B4Sc4M+uRS00uVc8OE9kba+/VJsjJtCNUA +7oRAdkGnv44htS01RhTiYygXVe/ILUFuRePcZYaBBSD/+8XsMRVULPEEpEBVIbyb7YPLe V++877R6oTFCmQXu7v+mm3/TH6nVq8U14Y/g+zQWTf0Fxqud7Ez7hsb4LtgOMfpD224siR +moFZSMDwBgLuM+7tcpPGpq7SPXhCMTTXrnygzIWhvZJCjwwsG4PmPKjzyf6aes4RGq/CL fODC2wWgKwFX7p63iL46Qfg4q5NfU8DQzdBDAaTlxrug247tja7L+JhIJTg/VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598331; a=rsa-sha256; cv=none; b=YY32IrxRG/nR5Yjjo3Mj4ZSNyUz5jpYGDQkYbo1em/jgkKqLHljlVtBpB6ww/+ZRfMqGLt PsHWjCHuBo8odF3htmwZHNGPSDXwiPJqcZ0aG0KftP2GrSmE6c2uKaAzvX5K6gdZLTIhiV pksr8KlxHtIqxrunzw832tdEXZ8NIja8xQw1Aqgoc4PYE5TmRnlOwZaJaTxAR2AfO7V25b +H4ckDPtn584VmW/zWoEkXJm5u3fCzHobH6aGoo5jdCl16InktWq0FwvOcLgOGl/QjVARJ TsWQBTsunqPzjaTffGRWwTYBJuKhACyDuQVteewM6ie18wThjwRD8NbY2IXhYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h630kTgzQf7; Tue, 24 Jan 2023 22:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCBWT086672; Tue, 24 Jan 2023 22:12:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCBkE086671; Tue, 24 Jan 2023 22:12:11 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:11 GMT Message-Id: <202301242212.30OMCBkE086671@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: 03c44354fc9e - stable/13 - loader: zfs reader should only store devdesc in f_devdata List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 03c44354fc9e82f89d6e323d5f20ab953854812d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=03c44354fc9e82f89d6e323d5f20ab953854812d commit 03c44354fc9e82f89d6e323d5f20ab953854812d Author: Toomas Soome AuthorDate: 2022-08-14 21:49:50 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 loader: zfs reader should only store devdesc in f_devdata Use d_opendata for device specific data. PR: 265825 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D36202 (cherry picked from commit d98de7440507aea1648c8f4bc302bf88c0eb9458) --- stand/libsa/zfs/zfs.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index b525858ffc3c..bee243352f78 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -108,7 +108,8 @@ struct zfs_be_entry { static int zfs_open(const char *upath, struct open_file *f) { - struct zfsmount *mount = (struct zfsmount *)f->f_devdata; + struct devdesc *dev = f->f_devdata; + struct zfsmount *mount = dev->d_opendata; struct file *fp; int rc; @@ -149,7 +150,8 @@ zfs_close(struct open_file *f) static int zfs_read(struct open_file *f, void *start, size_t size, size_t *resid /* out */) { - const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa; + struct devdesc *dev = f->f_devdata; + const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; struct file *fp = (struct file *)f->f_fsdata; struct stat sb; size_t n; @@ -213,7 +215,8 @@ zfs_seek(struct open_file *f, off_t offset, int where) static int zfs_stat(struct open_file *f, struct stat *sb) { - const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa; + struct devdesc *dev = f->f_devdata; + const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; struct file *fp = (struct file *)f->f_fsdata; return (zfs_dnode_stat(spa, &fp->f_dnode, sb)); @@ -222,7 +225,8 @@ zfs_stat(struct open_file *f, struct stat *sb) static int zfs_readdir(struct open_file *f, struct dirent *d) { - const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa; + struct devdesc *dev = f->f_devdata; + const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; struct file *fp = (struct file *)f->f_fsdata; mzap_ent_phys_t mze; struct stat sb; @@ -1586,8 +1590,7 @@ zfs_dev_open(struct open_file *f, ...) rv = zfs_mount(devformat(&dev->dd), NULL, (void **)&mount); if (rv == 0) { - f->f_devdata = mount; - free(dev); + dev->dd.d_opendata = mount; } return (rv); } @@ -1595,25 +1598,18 @@ zfs_dev_open(struct open_file *f, ...) static int zfs_dev_close(struct open_file *f) { + struct devdesc *dev; struct zfsmount *mnt, *mount; - mnt = f->f_devdata; + dev = f->f_devdata; + mnt = dev->d_opendata; STAILQ_FOREACH(mount, &zfsmount, next) { if (mnt->spa->spa_guid == mount->spa->spa_guid) break; } - /* - * devclose() will free f->f_devdata, but since we do have - * pointer to zfsmount structure in f->f_devdata, and - * zfs_unmount() will also free the zfsmount structure, - * we will get double free. To prevent double free, - * we must set f_devdata to NULL there. - */ - if (mount != NULL) - f->f_devdata = NULL; - + /* XXX */ return (0); } From nobody Tue Jan 24 22:12:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6437Lhz3bfwq; Tue, 24 Jan 2023 22:12: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 4P1h642hRBz3C40; Tue, 24 Jan 2023 22:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Dwiz135n1HI7zInJmL1Lt9DfMoY82P5rYvVt9G4SOk=; b=wo3XAEr6tKGceAZDtFR2/JEA+yGGGQPXCxW34B3qirImM5cjGEA0TBVuaRAvjYu8QJSVLO O53CSKdj3uPOshggwfcycikF7CiVB4iXJg5GrezVyW8o0Pgg79KMQZ3sadHsKT+UXZKhOH qzE8eQhY1crOjkVSDQlN6WCUiVkdlSENfZWVelN8q10xkdAdmfFzjusn0jvIn+Y3VNQRxA If3Ze8GNoTSc95O67KYwBuHWeyJwake2LhpJZR4LSHWXQxtceLx5XHHDzmE9SUro9wyLtZ t+bDEnj6xZxsUSOJPC9qRIVKvccFg58Xn/FQYfDgSM6F8Jsd+pQOPW5dsGvdSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Dwiz135n1HI7zInJmL1Lt9DfMoY82P5rYvVt9G4SOk=; b=yzyBJ7bhGzLVnzsad8Q+pgIMOZgKSAjiPVWbVglGv/hJ1hrYW2U713pOIbe+ROTiejMvmT dZ7dKdHzNj9Zh9u8xqQFFdaratw3pmDyap9E1OOy/fa89XHCCuCHk82R7MDI3Sgt14UbXu DAq+JyAuWxXbJCW9XdiIX5iRBc32bYZvLRiRULEaD+FJtPLVEpNs9MrP7TDg5zmdZhOUSP r6Gq+NwtvxD3EP/g8TGCIbzWUkSxkztFzFiFyq42v5fBsqhwntIrFKKgbJWZjeWzsh+veG 2rgrUbPyVlf/YPKYIOFbZZi7JLlv5vIDnjfJ6tMANq5MtjsyxDqMg2b2e16IIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598332; a=rsa-sha256; cv=none; b=al83svYTLW+lOa11Co6SmGifmHEWNCNraRtfWq+/GORz4pgKSY/cVJqntMC9pBxd03V5Ha xLgVDgeG2+aCfXBdiGYhYy0YA5NbD7qohx8GFb1MLwGrHdySAwm7zio+bMeVYxGR6AB744 sRkEwjxQ8NoME/ddRivGWNB0OztKn4kw9j76xx1hloQ6JT9U67JJN97XJnpfLLRr7MdnnP wlvDnI0Lsky32m7cFGtRUdWQYb7jij6ypbqLVYo8Guf8Se+8hqgBQdOCen2HuAV8wjxSqD t/178dz/IEwj831vWAX8cg4awcTtZ1BZ67MOLkGuwKRTRpKuyyS+VCqTh4AD6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h641c4JzQPP; Tue, 24 Jan 2023 22:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCCf0086698; Tue, 24 Jan 2023 22:12:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCCtO086697; Tue, 24 Jan 2023 22:12:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:12 GMT Message-Id: <202301242212.30OMCCtO086697@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: 39cfd1380a64 - stable/13 - stand: Use bool for stage_offset_set List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39cfd1380a642d1c3d511847a890e59e9dbf4469 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=39cfd1380a642d1c3d511847a890e59e9dbf4469 commit 39cfd1380a642d1c3d511847a890e59e9dbf4469 Author: Warner Losh AuthorDate: 2022-08-21 15:45:44 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: Use bool for stage_offset_set stage_offset_set is a boolean, convert it to a bool. Sponsored by: Netflix (cherry picked from commit 9d70108a74efe327ed9d1f68bc1e9e271810d94c) --- stand/efi/loader/copy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index 980345b979f6..d7ca5513516b 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -200,7 +200,7 @@ out: static u_long staging_slop = EFI_STAGING_SLOP; EFI_PHYSICAL_ADDRESS staging, staging_end, staging_base; -int stage_offset_set = 0; +bool stage_offset_set = false; ssize_t stage_offset; static void @@ -208,7 +208,7 @@ efi_copy_free(void) { BS->FreePages(staging_base, (staging_end - staging_base) / EFI_PAGE_SIZE); - stage_offset_set = 0; + stage_offset_set = false; stage_offset = 0; } @@ -478,7 +478,7 @@ efi_copyin(const void *src, vm_offset_t dest, const size_t len) if (!stage_offset_set) { stage_offset = (vm_offset_t)staging - dest; - stage_offset_set = 1; + stage_offset_set = true; } /* XXX: Callers do not check for failure. */ @@ -509,7 +509,7 @@ efi_readin(readin_handle_t fd, vm_offset_t dest, const size_t len) if (!stage_offset_set) { stage_offset = (vm_offset_t)staging - dest; - stage_offset_set = 1; + stage_offset_set = true; } if (!efi_check_space(dest + stage_offset + len)) { From nobody Tue Jan 24 22:12:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h656clGz3bfpC; Tue, 24 Jan 2023 22:12: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 4P1h653XzTz3C6q; Tue, 24 Jan 2023 22:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G5xDR/64D4ZKoWYwI3T5TFhUZlWmdyZ6aZdZlh7oKO4=; b=mQEAtuIjuu9nvP9d+Vri0nA/n/Ursw/khwPrpsZ7IQlc3H1g1edSkBYSUSArgiupsd5nZh QmDiDdkZFli2Y4BKJTJhfiPfcWwSQzXGY9Go7VsNA+ejpUX/a5Zz9rIGNnpdZBBjX4Qu1g PAr742aUX+g9IWjYHmz/Q4ouWeX9FFuvWEllJuKqkTfd7nA/nCtdJkk4LTch9y8GmZmEy+ Gr+KenhfEQKTJa7WVAYo5FEUNPvre/ZiIaulqvWiZP4bq6AuoAs2mkzXrRiANLG6pKK+w9 2citIygLK786VKtx6mNDgkZZBWAx6Fe9yVXXjhhYkssJD6vFw5WyQwB7iRIkyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G5xDR/64D4ZKoWYwI3T5TFhUZlWmdyZ6aZdZlh7oKO4=; b=ilSI7XVbiw37by39ieuOCnG2YfBGmFr/B8udyrLAQlqf1Ou13jLffAqP22uCZ8B9TgAyaH cGdgWFQZTTjInhiA630HLQQNP5dvsQngJud8DEROtD/9HY428TSSRPXQXEtd72qJ8KyCAG qGYIZTfaS9H/HagKLo/8sAIi9roef3PlyiDSa6H/1YEhty7U86st7l8RxtMTxLZ5XOwzZC 73EnqNSRAKFccXoDwtuRAcIzNSvwxnTh7+o1NvDRRaRJYSTOkABZDwkWr0puNpIrigMd9J PIkxbMXtHEShXjYyOkqU5sY/yC1sf7Y/AEQUmPA+WxAyZCX63wTkHMPilERmzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598333; a=rsa-sha256; cv=none; b=YGNnlSkLwih5oFW3EFYw9pEdpzveKsohJjoeNmUeseCjQmsXaUlx7kqPBxImcAtWgTA+gY c7MqQYwAx/4zVR+udJDvW6+J3uPZGOfCvIMW6OLH70UWU0dkYZGAT9Ln8t7r0wJjMpNF2M WtULAIMMVcitWKjkdqx9Z3OgCTTwBmRnXov83gRFadNERGD4cbWwsCIr9APIorRJn6LT09 lKRUmnVKB/hu7B5/SvJ/oSB0mbpcop1DA8+TuMsPympoJtAEtM0RhbIrIMu4QyHWf9XsYi YK4DotBhXt8qZ0NvGD2uQ1WUy1RTTlO/T5O5VwvXctB2uMur/vYfCVXfhImVQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h652cXGzQgK; Tue, 24 Jan 2023 22:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCDe1086723; Tue, 24 Jan 2023 22:12:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCD17086722; Tue, 24 Jan 2023 22:12:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:13 GMT Message-Id: <202301242212.30OMCD17086722@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: f80cdedebe9f - stable/13 - stand: More sensible defaults when ConOut is missing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f80cdedebe9f10fe0e7cb0548c1ead0237c37d06 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f80cdedebe9f10fe0e7cb0548c1ead0237c37d06 commit f80cdedebe9f10fe0e7cb0548c1ead0237c37d06 Author: Warner Losh AuthorDate: 2022-08-26 21:46:33 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: More sensible defaults when ConOut is missing When ConOut is missing, we used to default to serial. Except we did it in the worst way possible by just setting the howto bits and not updating the console setting, which lead to weird behavior where we'd get some things on the video port, others on serial. Instead, set console to "efi,comconsole" for this case. Also set RB_MULTIPLE always (so we get dual consoles from the kernel) and or in RB_SERIAL when we can't find GOPs that suggest the precense of a video console. This will put output in the most places and have a sensible default for 'primary' console. Sponsored by: Netflix Reviewed by: emaste, manu Differential Revision: https://reviews.freebsd.org/D36299 (cherry picked from commit df065f699f1ff819bb9607c44a6754275ab335ed) --- stand/efi/loader/Makefile | 2 ++ stand/efi/loader/framebuffer.c | 15 +++++++++++++++ stand/efi/loader/framebuffer.h | 2 ++ stand/efi/loader/main.c | 20 ++++++++++++++++++-- 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 1edb5674712e..e6083c2dd450 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -39,6 +39,8 @@ CFLAGS.bootinfo.c += -I$(SRCTOP)/sys/teken CFLAGS.bootinfo.c += -I${SRCTOP}/contrib/pnglite CFLAGS.framebuffer.c += -I$(SRCTOP)/sys/teken CFLAGS.framebuffer.c += -I${SRCTOP}/contrib/pnglite +CFLAGS.main.c += -I$(SRCTOP)/sys/teken +CFLAGS.main.c += -I${SRCTOP}/contrib/pnglite CFLAGS.gfx_fb.c += -I$(SRCTOP)/sys/teken CFLAGS.gfx_fb.c += -I${SRCTOP}/sys/cddl/contrib/opensolaris/common/lz4 CFLAGS.gfx_fb.c += -I${SRCTOP}/contrib/pnglite diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index afae18603f9e..9dfe547d7557 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -535,6 +535,21 @@ efifb_get_edid(edid_res_list_t *res) return (rv); } +bool +efi_has_gop(void) +{ + EFI_STATUS status; + EFI_HANDLE *hlist; + UINTN hsize; + + hsize = 0; + hlist = NULL; + status = BS->LocateHandle(ByProtocol, &gop_guid, NULL, &hsize, hlist); + + return (status == EFI_BUFFER_TOO_SMALL); +} + + int efi_find_framebuffer(teken_gfx_t *gfx_state) { diff --git a/stand/efi/loader/framebuffer.h b/stand/efi/loader/framebuffer.h index 6c47a136f7be..a9377984de2b 100644 --- a/stand/efi/loader/framebuffer.h +++ b/stand/efi/loader/framebuffer.h @@ -27,11 +27,13 @@ * $FreeBSD$ */ +#include #include #ifndef _EFIFB_H_ #define _EFIFB_H_ +bool efi_has_gop(void); int efi_find_framebuffer(teken_gfx_t *gfx_state); #endif /* _EFIFB_H_ */ diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 7e6c1397781a..5edc06c9e0d5 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include "efizfs.h" +#include "framebuffer.h" #include "loader_efi.h" @@ -760,8 +761,20 @@ parse_uefi_con_out(void) if (rv != EFI_SUCCESS) rv = efi_global_getenv("ConOutDev", buf, &sz); if (rv != EFI_SUCCESS) { - /* If we don't have any ConOut default to serial */ - how = RB_SERIAL; + /* + * If we don't have any ConOut default to both. If we have GOP + * make video primary, otherwise just make serial primary. In + * either case, try to use both the 'efi' console which will use + * the GOP, if present and serial. If there's an EFI BIOS that + * omits this, but has a serial port redirect, we'll + * unavioidably get doubled characters (but we'll be right in + * all the other more common cases). + */ + if (efi_has_gop()) + how = RB_MULTIPLE; + else + how = RB_MULTIPLE | RB_SERIAL; + setenv("console", "efi,comconsole", 1); goto out; } ep = buf + sz; @@ -949,6 +962,9 @@ main(int argc, CHAR16 *argv[]) setenv("console", "efi", 1); uhowto = parse_uefi_con_out(); #if defined(__riscv) + /* + * This workaround likely is papering over a real issue + */ if ((uhowto & RB_SERIAL) != 0) setenv("console", "comconsole", 1); #endif From nobody Tue Jan 24 22:12:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h666C8lz3bfpR; Tue, 24 Jan 2023 22:12: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 4P1h664hxKz3C9f; Tue, 24 Jan 2023 22:12:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fsjV/uMj2COhHuAGtHmKMl5G+MOghF9YxjfPjDEG4TE=; b=ClAJBz6kRWIA+ICoYsvGmKAobxhyI12Pgyom67V0uE01tTRsTEp5ludCz3dshsK34JXAdO aDBXnAGaaFs0WGndFbeo+ljshIszIuOdYrYZ2jf8Kk+oGifVWobficEc4BohBsh5Escv1O bmVTxbidOIKjLlv0cbIlCvQEJSiJ5uvULCaIkFMxZXMiDEtMvJKRcsXkhI8oc/a9TJWN5e CItCpPeKbVP2YZWvHRNHZJCvTqnQqAj/gw1a6hFGWvtBBPI4Fuf4dCwikVus06Bif3SctV RF/n342piJKeQ0byUP+SOn8yecIAWFka84EhUYROGHLVv84l05gIjvmD0W4FpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fsjV/uMj2COhHuAGtHmKMl5G+MOghF9YxjfPjDEG4TE=; b=j9cv1mdDGG+5Z00w1jjR8OEtbr8dgaS4VcRONzNrD5GmB7kaC0XiOlv0W3FMrodI81XoKf jf/kny79jDK3e2naC3B8LrhBrVJWIeRDjeeXrZYXhSPO92Cm6wOOCvVQanrOHVft7u/8up icB8S/cS04pH8Ri6ivA48qdzG8hYT6pFPyVjA/zUp3pdXNfsVkf4CXYFaR+FY/7nY1gtrf 8tbHY57jW25gDyTwgIWpfKBE2ik1WPDi1JS5pZmYMcsk89e0wXtIDLbhBhq1XSmWq+OdI+ ptd64o/qsYxlUHcSREF3BzoXPsKg77xIBs4rkKu4mFssCcYLWYwKZKGpEZJY6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598334; a=rsa-sha256; cv=none; b=Q98j/yjUvc2T/7b1NgYxcao493uVnLkEyC6pDJNHM9OEJSDR+UFrKoSBcATu4RgSqK5iOU BRAvLcGAt+DULKFeM6/NMF1uDpF1q7Cdw7lUGvcflVmfTycCvj903BnEDrGwDeNVOUu6sN A32qU7p3kWXKIdNOatQyV5o6zC3nMyOoARPo4ho9iZep3HJob+z9YC2Vh4044fTjirrquM o2dKFeGQn+GzST3MdDkiGZj2TqOnK3jmsz/yR7brHKV33nXZ1hRLc0ZLfggnIqZV3OHv1Q tgipE94aiNme2DD9exztQL0jdCaW8PNEIYnF9TiYg4sEkkQWHg5mJxvTjet3og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h663gpgzQXr; Tue, 24 Jan 2023 22:12:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCESf086752; Tue, 24 Jan 2023 22:12:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCEsE086751; Tue, 24 Jan 2023 22:12:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:14 GMT Message-Id: <202301242212.30OMCEsE086751@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: adeec17f8122 - stable/13 - stand: Document that boot0 uses BIOS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: adeec17f8122f9af4940e6e45391b38b377082c1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=adeec17f8122f9af4940e6e45391b38b377082c1 commit adeec17f8122f9af4940e6e45391b38b377082c1 Author: Warner Losh AuthorDate: 2022-08-26 21:47:21 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: Document that boot0 uses BIOS And thus has a limited range of supported baud rates. Also add that setting BOOT_BOOT0_COMCONSOLE_SPEED=0 will leave it unchanged which sometimes can give you 115200 if the BIOS initialized things outside of the normal BIOS baud rates (which many x86 enbedded-targetted boards do). Sponsored by: Netflix Reviewed by: emaste, manu (earlier versions) Suggestions by: jhb Differential Revision: https://reviews.freebsd.org/D36300 (cherry picked from commit 7ed3228323ef4f9e3130603ea68c3be9c2ed50ce) --- stand/i386/boot0/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stand/i386/boot0/Makefile b/stand/i386/boot0/Makefile index 82eb9eefee76..1453f17751b9 100644 --- a/stand/i386/boot0/Makefile +++ b/stand/i386/boot0/Makefile @@ -42,6 +42,13 @@ BOOT_BOOT0_ORG?= 0x600 ORG=${BOOT_BOOT0_ORG} # Comm settings for boot0sio. +# +# boot0sio uses BIOS INT $0x14 for serial ports, we can only support these +# baudrates due to INT14's limited interface. In addition, if +# BOOT_BOOT0_COMCONSOLE_SPEED=0, then the baud rate and frame format will remain +# unchanged. Some BIOSes initialize the serial ports to 115200, and this may +# allow boot0sio access at that rate if so. +# # Bit(s) Description # 7-5 data rate (110,150,300,600,1200,2400,4800,9600 bps) # 4-3 parity (00 or 10 = none, 01 = odd, 11 = even) From nobody Tue Jan 24 22:12:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h676Gt1z3bfZ1; Tue, 24 Jan 2023 22:12: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 4P1h675d8hz3C5Z; Tue, 24 Jan 2023 22:12:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HJsyEaRFw4yknJ6Uunmwiq4cuxZR4mszToj6S07e+n4=; b=tWGBit08L+s0t++0qeISsYK6Y9Uonyz81qdeoQZ7CgXKSeNv1bEzBa4XA7S0OZNTgjCQz5 zX8MeBU2CokqrephA2iI2AwjNSNO/gLiy/20yuJwaX66p7wxQf+nVqNE0KVuGOZ76xlgs5 pzIDtgCGhEABZ7MvLOc0bhg5X6pgc9r65Au3BNBpron30h3VwWNkUeKtPshmbw4mcNlI9i EtJi+0pNmVGhSavmzcAHxbYQeuIUgok/PSyba4PNasmmgi/oAVDQAbYvLk0fHBx0mu1OOL sn1fUZZrsyUYmTFprEeo5YR8cFa1nDoMwJbsijw4GezhOmhNHWqSDh/mZ2A1gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HJsyEaRFw4yknJ6Uunmwiq4cuxZR4mszToj6S07e+n4=; b=bYwPwaeTjKVd0B/YRjWDbPUia3tLcbbYdAMLf33RIEu/jxz+/ZtXfmhnJvO90uMGfA7Mes tnVclWgh808Ec6Bjp0S+XOofZCu6jaDJjxEN/iSvp2gBdC5fNcRYEQSo8DnZTWpzTH7WP1 iOnBckxMqEp+9E1L0tCjlJFnAwVp6JYKumNMpV2Mec9/mNjTTrhLtNFB0Xd98+dHTTsNzZ br9RwavfwMUzMnCwBxhtRxNVBg3IfF8dEEPPpDNemmZksrn8yf5RiK22DhyTy7zyeazWRf /kmxCaZp5mBIzGnenMcrqMc8UcsN3m8qkEXfImLTv3D9QD4zvOK9TLhGRlikQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598335; a=rsa-sha256; cv=none; b=F/AZj3MY1JkFfiDZVn/sq9ktWpTLTOK9KjxaD4H5R/Ho5jCxQaXR2f/7QJ1ivofJv1aTxO OFbkn6i7jrUGBI3zRcdUwLRFHfKpyiC/9wgzNNp4z9QmT2VJL9rDLJFriyrD1S5JhBVHnz AdUCK5xOdFV7vt3C103Q0pfsTX7lHcIUD0QloetBbDHBhciy/xuj/M7CfohgSkYlihM0rS YzIp7aSbBuF84+wRL22Ng7qf5MnIobyG8Jnkc1h05tHDCijwSeUpXlg7re6IdlO7CQ1BzL BOfeklvAnc/opwEvrST/XZ5ycuoV+YlSYdV5GR+g0PDYc2nUK//os9avbTHd4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h674jzczQcP; Tue, 24 Jan 2023 22:12:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCFeA086778; Tue, 24 Jan 2023 22:12:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCFR4086777; Tue, 24 Jan 2023 22:12:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:15 GMT Message-Id: <202301242212.30OMCFR4086777@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: 1bd78b3302c8 - stable/13 - stand: Stop setting hints for bios loader too List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1bd78b3302c8a615b793c9c644ff167344ae8d23 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1bd78b3302c8a615b793c9c644ff167344ae8d23 commit 1bd78b3302c8a615b793c9c644ff167344ae8d23 Author: Warner Losh AuthorDate: 2022-09-01 16:33:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: Stop setting hints for bios loader too Catch up to 2753bbe71b5a and remove the old hints. Sponsored by: Netflix (cherry picked from commit b1819983e70f5b8890404b7e07d17888d0cccfb6) --- stand/i386/libi386/biosacpi.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/stand/i386/libi386/biosacpi.c b/stand/i386/libi386/biosacpi.c index 236c3fc45e7b..3bda472f3fc6 100644 --- a/stand/i386/libi386/biosacpi.c +++ b/stand/i386/libi386/biosacpi.c @@ -63,36 +63,24 @@ biosacpi_detect(void) /* * Report the RSDP to the kernel. While this can be found with * a BIOS boot, the RSDP may be elsewhere when booted from UEFI. - * The old code used the 'hints' method to communite this to - * the kernel. However, while convenient, the 'hints' method - * is fragile and does not work when static hints are compiled - * into the kernel. Instead, move to setting different tunables - * that start with acpi. The old 'hints' can be removed before - * we branch for FreeBSD 12. */ sprintf(buf, "0x%08x", VTOP(rsdp)); - setenv("hint.acpi.0.rsdp", buf, 1); setenv("acpi.rsdp", buf, 1); revision = rsdp->Revision; if (revision == 0) revision = 1; sprintf(buf, "%d", revision); - setenv("hint.acpi.0.revision", buf, 1); setenv("acpi.revision", buf, 1); strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); buf[sizeof(rsdp->OemId)] = '\0'; - setenv("hint.acpi.0.oem", buf, 1); setenv("acpi.oem", buf, 1); sprintf(buf, "0x%08x", rsdp->RsdtPhysicalAddress); - setenv("hint.acpi.0.rsdt", buf, 1); setenv("acpi.rsdt", buf, 1); if (revision >= 2) { /* XXX extended checksum? */ sprintf(buf, "0x%016llx", rsdp->XsdtPhysicalAddress); - setenv("hint.acpi.0.xsdt", buf, 1); setenv("acpi.xsdt", buf, 1); sprintf(buf, "%d", rsdp->Length); - setenv("hint.acpi.0.xsdt_length", buf, 1); setenv("acpi.xsdt_length", buf, 1); } } From nobody Tue Jan 24 22:12:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h690Cyxz3bfZ3; Tue, 24 Jan 2023 22:12: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 4P1h686ptlz3CK2; Tue, 24 Jan 2023 22:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qym8sPfSvV1PmTH2clKY/IFbf9Y7+E/Bpfa6B2EObGw=; b=l/oHcazgss5yUJ/vEZGuS6q8nsONLkfIJg1vZCsAGvTvoqYthyIthUgGF9PFCeGdI9yBnU mLfEmzekuhIjQZDLtU7kSp/uS3sSc6iCseuCpKZvoxgwYUiFTtaCKDdiMTDH/8APA6oFc5 Dv3hgU6t5y2dnExdo2BZyoaBicsrTRVidao633+KyrGeysO36CN8PwfTVanT2VwkR8DE+k Whc/lWZ5WuWPHoff0G0s724MrO/ftQ5U8F72OP98HxRg/TEbPGbBIjPpB4mMqEny8VcCWH VrOR3VKpShbL1YyDq0zmeY2o14bLK7knJ3PesVOG2FZwRVna4XEBhkVT/gUpfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qym8sPfSvV1PmTH2clKY/IFbf9Y7+E/Bpfa6B2EObGw=; b=XJ5Pd8aWNHiy6qnqMU+5FOvtQmL0ESq4xEtcJEtzHMJ4r+bi8xHanJcQDKaXUJ8uzlVwXW P7hCiQpqrKIWdby4I0tRh+nwmpQXfp5sHnWbs1zwGoXUWXdZKdVLT2V9ldXvXcsrqdbdCU IzxdZXLQeo0zXVJ/bhD4LJiVgH6MJWSxoWR02noPGacm+JOX3P60/j2L4kLer5r9kRB43A ZwRpY/Ge2M/YgJGRodrfxgl7B1Kfb3NVoE5yRQD4R1YCedQSbxva/XUqNOBWr2CLto1UDx sfHs+ZyOovLDGGppmRLQhMez1AQrWxxxkJKyao+SGPIUzaxkuyY+PxfrfW7low== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598337; a=rsa-sha256; cv=none; b=PFjxrt45oV4RjbxCgMmDsjmD8YaLK1DgRhE0pt+ZAwZUVn4xrWTzIM3KCel+TPllfaq9sT NBc2sVBsdcClg4lEgSCqFVgBgz2z+xiLUluM2EEJXvp8rT7KYDhh4vDFrHbFuD2Zl0Wm+b DWX/0txon8Ybi1JcAZPWf+J66NeCM6GyY8GPtBVvuv+LhZHSS+3MYRHMNULNiYNVLaWnQ6 KzvfhOomdHR+7gGwnnReNr/UEWZ3n7PC0e5lLh+TJExrnrSOWcTJuQVF4uvm/MergY783O PL84RwkEmobEJxEoFL3oV1j0ZxfMhCJrK2N3bLU9bhy3/cgZSk6RWA3fd152Cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h685ctyzQGs; Tue, 24 Jan 2023 22:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCGdY086803; Tue, 24 Jan 2023 22:12:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCG06086802; Tue, 24 Jan 2023 22:12:16 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:16 GMT Message-Id: <202301242212.30OMCG06086802@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: 8b46b5291367 - stable/13 - stand: Document EFI consoles List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b46b52913674111ab4c95478e037605117b0e32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b46b52913674111ab4c95478e037605117b0e32 commit 8b46b52913674111ab4c95478e037605117b0e32 Author: Warner Losh AuthorDate: 2022-09-01 16:34:30 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: Document EFI consoles Document how EFI consoles work, at least on x86. There's a number of weird quirks and limitations that are generally known, but not documented until now. Include information on how EFI decides what the defualt console is, how to set it and how to cope with common situations. Note limitations and mismatch between ACPI (which uses UID to identify a device) and our console code (which uses a raw address) and explain why we can't translate between them in the loader. Sponsored by: Netflix Reviewed by: manu, kevans, rpokala, pauamma Differential Revision: https://reviews.freebsd.org/D36286 (cherry picked from commit 75a91c70f8d12825ded5a6d14841bf3065ba6595) --- stand/man/loader.efi.8 | 188 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 180 insertions(+), 8 deletions(-) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index ca7480d5eba6..139988b111d4 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -1,7 +1,7 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD .\" -.\" Copyright (c) 2019 Netflix, Inc +.\" Copyright (c) 2019-2022 Netflix, Inc .\" Copyright (c) 2022 Mateusz Piotrowski <0mp@FreeBSD.org> .\" .\" Redistribution and use in source and binary forms, with or without @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 18, 2022 +.Dd August 31, 2022 .Dt LOADER.EFI 8 .Os .Sh NAME @@ -41,7 +41,167 @@ loads the kernel. .Xr boot1.efi 8 is used to load .Nm -when it is placed within the system. +when it is placed within a UFS or ZFS file system. +Alternatively, +.Nm +is used directly when configured with +.Xr efibootmgr 8 , +or when placed directly as the default boot program as described in +.Xr uefi 8 . +When a system is built using +.Xr bsdinstall 8 , +.Nm +will be used directly. +.Ss Console Considerations +The EFI BIOS provides a generic console. +In +.Nm +this is selected by specifying +.Dq efi +using the +.Dv console +variable. +.Nm +examines the +.Dv 8be4df61-93ca-11d2-aa0d-00e098032b8c-ConOut +UEFI environment variable to guess what the +.Dq efi +console points to. +.Nm +will output its prompts and menus to all the places specified by ConOut. +However, the +.Fx +kernel has a limitation when more than one console is present. +The kernel outputs to all configured consoles. +Only the primary console will get the log messages from the +.Xr rc 8 +system, and prompts for things like +.Xr geli 8 +passwords. +If +.Nm +finds a video device first, then +.Nm +tells the kernel to use the video console as primary. +Likewise, if a serial device is first in the +.Dv ConOut +list, the serial port will be the primary console. +.Pp +If there is no +.Dv ConOut +variable, both serial and video are attempted. +.Nm +uses the +.Dq efi +console for the video (which may or may not work) and +.Dq comconsole +for the serial on +.Dv COM1 +at the default baud rate. +The kernel will use a dual console, with the video console +primary if a UEFI graphics device is detected, or the serial console +as primary if not. +.Pp +On x86 platforms, if you wish to redirect the loader's output to a serial port +when the EFI BIOS doesn't support it, or to a serial port that isn't the one the +EFI BIOS redirects its output to, set +.Dv console +to +.Dq comconsole . +The default port is +.Dv COM1 +with an I/O address of 0x3f8. +.Dv comconsole_port +is used to set this to a different port address. +.Dv comconsole_speed +is used to set the of the serial port (the default is 9600). +If you have +.Dv console +set to +.Dq efi,comconsole +you will get output on both the EFI console and the serial port. +If this causes a doubling of characters, set +.Dv console +to +.Dq efi , +since your EFI BIOS is redirecting to the serial port already. +.Pp +If your EFI BIOS redirects the serial port, you may need to tell the kernel +which address to use. +EFI uses ACPI's UID to identify the serial port, but +.Nm +does not have an ACPI parser, so it cannot convert that to an I/O port. +The +.Fx +kernel initializes its consoles before it can decode ACPI resources. +The +.Fx +kernel will look at the +.Dv hw.uart.console +variable to set its serial console. +Its format should be described in +.Xr uart 4 +but is not. +Set it to +.Dq io:0x3f8,br:115200 +with the proper port address. +PCI or memory mapped ports are beyond the scope of this man page. +.Pp +The serial ports are assigned as follows on IBM PC compatible systems: +.Bl -column -offset indent ".Sy Windows Name" ".Sy I/O Port Address" ".Sy Typical FreeBSD device" +.It Sy Windows Name Ta Sy I/O Port Address Ta Sy Typical FreeBSD device +.It COM1 Ta 0x3f8 Ta Pa /dev/uart0 +.It COM2 Ta 0x2f8 Ta Pa /dev/uart1 +.It COM3 Ta 0x3e8 Ta Pa /dev/uart2 +.It COM4 Ta 0x2e8 Ta Pa /dev/uart3 +.El +Though +.Dv COM3 +and +.Dv COM4 +can vary. +.Pp +.Ss Primary Console +The primary console is set using the boot flags. +These command line arguments set corresponding flags for the kernel. +These flags can be controlled by setting loader environment variables +to +.Dq yes +or +.Dq no . +Boot flags may be set on the command line to the boot command. +Inside the kernel, the RB_ flags are used to control behavior, sometimes +in architecturally specific ways and are included to aid in discovery +of any behavior not covered in this document. +.Bl -column -offset indent ".Sy boot flag" ".Sy loader variable" ".Sy Kernel RB_ flag" +.It Sy boot flag Ta Sy loader variable Ta Sy Kernel RB_ flag +.It Fl a Ta Dv boot_askme Ta Va RB_ASKNAME +.It Fl c Ta Dv boot_cdrom Ta Va RB_CDROM +.It Fl d Ta Dv boot_ddb Ta Va RB_KDB +.It Fl r Ta Dv boot_dfltroot Ta Va RB_DFLTROOT +.It Fl D Ta Dv boot_multiple Ta Va RB_MULTIPLE +.It Fl m Ta Dv boot_mute Ta Va RB_MUTE +.It Fl g Ta Dv boot_gdb Ta Va RB_GDB +.It Fl h Ta Dv boot_serial Ta Va RB_SERIAL +.It Fl p Ta Dv boot_pause Ta Va RB_PAUSE +.It Fl P Ta Dv boot_probe Ta Va RB_PROBE +.It Fl s Ta Dv boot_single Ta Va RB_SINGLE +.It Fl v Ta Dv boot_verbose Ta Va RB_VERBOSE +.El +And the following flags determine the primary console: +.Bl -column -offset indent ".Sy Flags" ".Sy Kernel Flags" ".Sy Kernel Consoles" ".Sy Primary Console" +.It Sy Flags Ta Sy Kernel Flags Ta Sy Kernel Consoles Ta Sy Primary Console +.It none Ta 0 Ta Video Ta Video +.It Fl h Ta RB_SERIAL Ta Serial Ta Serial +.It Fl D Ta RB_MULTIPLE Ta Serial, Video Ta Video +.It Fl Dh Ta RB_SERIAL | RB_MULTIPLE Ta Serial, Video Ta Serial +.El +.Pp +.Nm +does not implement the probe +.Fl P +functionality where we use the video console if a keyboard is connected and a +serial console otherwise. .Sh FILES .Bl -tag -width "/boot/loader.efi" .It Pa /boot/loader.efi @@ -49,7 +209,7 @@ The location of the UEFI kernel loader within the system. .El .Ss EFI System Partition .Nm -is installed on ESP (EFI System Partition) in one of the following locations: +is installed on the ESP (EFI System Partition) in one of the following locations: .Bl -tag -width "efi/freebsd/loader.efi" .It Pa efi/boot/bootXXX.efi The default location for any EFI loader @@ -68,10 +228,10 @@ EFI loader. The default location for the ESP mount point is documented in .Xr hier 7 . .Sh EXAMPLES -.Ss Updating loader.efi on ESP +.Ss Updating loader.efi on the ESP The following examples shows how to install a new .Nm -on ESP. +on the ESP. .Pp First, find the partition of type .Dq efi : @@ -85,10 +245,10 @@ First, find the partition of type 1. Name: nvd0 .Ed .Pp -The name of ESP on this system is +The name of the ESP on this system is .Pa nvd0p1 . .Pp -Second, let's mount ESP, copy +Second, let's mount the ESP, copy .Nm to the special location reserved for .Fx @@ -97,6 +257,18 @@ EFI loaders, and unmount once finished: # mount_msdosfs /dev/nvd0p1 /boot/efi # cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi # umount /boot/efi +.Ed .Sh SEE ALSO .Xr loader 8 , .Xr uefi 8 +.Sh BUGS +Systems that do not have a +.Dv ConOut +variable set are not conformant with the standard, and likely have unexpected +results. +.Pp +Non-x86 serial console handling is even more confusing and less well documented. +.Pp +Sometimes when the serial port speed isn't set, 9600 is used. +Other times the result is typically 115200 since the speed remains unchanged +from the default. From nobody Tue Jan 24 22:12:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6B5K47z3bfgh; Tue, 24 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6B0RJpz3CNR; Tue, 24 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=buAJfO56rwImwDyC4TzsbRczqPvuArCxNGmKuvo1W9g=; b=JINOnqOmoSG1gsHRIDia3TkVdkE2SsmOdNkn3jt92hczp7GuohJKBi8mZDpQnDX+RMARGu +T5KZWveEBuaDwe0ep34VvKeovuRQHKJxjoQ7qUfq/rqTis1PLKR0PO1cKF+5lZ/+AiTGq q5APojBXMyTjIz+32hsOcdtXM2ylDuL3MSzKuHtbEmOccb9vWegJeb9ztqVfnx3qvQGmYJ /FkzEtvqdH7aBvuX6n2grmPtqa3wdJGnKWQ9eH/OEOY/beFFd4HM5k3dFbuiuPSlZvFrSZ Er45zf+T7+69Bl/DpPXnHAqYootNeNE75dAjHyqDp4Q6+xv4Nu5Axb5Q9Um5uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=buAJfO56rwImwDyC4TzsbRczqPvuArCxNGmKuvo1W9g=; b=JKV/3qnUBBT9+uE7MeKBY3VsMFZ4XsoBqgOAyaTUqbNwK/k5sbFAMFUTyQ59Mu8SReQKWh oDu4hmh21orqz1VDpwfTPN/449o1DWpNOIGg3nNEcxkF+c5cvFrwfz+ahxkKVnemndxFUh IODsiGJVrSbzGIUYLi9I26tPA0w5BDAtQzFSv0hbnA7sKDVFcf0etEyu0prXqChoQg0nr/ FBNEBIEQbbuQKBPUtqL4Olq1mtElOhioiWJL3gZ/b4ueFPON5dmKevOVs493oHESrRnEPE sS4eTitsqOCX9m/YHvfQrhpN5w/gMI0u3kEAaVkztnTlnh2xwVKrLzRp6CkCFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598338; a=rsa-sha256; cv=none; b=IGUYy0iRf69bfJkjhY0NxrdQaeVN7Hr1AA8/cejZzSrUh2eI38jLip99miMD/ZIjXsHRu9 dg94mEvlNKU1c7PqO5GKurDa38ao5l+5k9ua9Fd7qEFT4pSRBzt1+aV7kp+RKufvAqKERB N07dGMpsYwqIvzhZWiJ02BpbgUAd3qqvyPye4W8bcL9yHsSpAXAdi0tBizr09Tt734xfDQ s1uDIDkUJ/YryU20VVqRtVVrdNaJX44U6Zz9dhU0i62qsVKx+drUAKRE05o1/t18NTHKIE 6cdP6iV8N6s+4lNFDRVLO6d5UxN1E5A+uKk3zE2aUeq/ZLgWpkZj4n1dVgkVVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h696cf8zQGt; Tue, 24 Jan 2023 22:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCHLO086827; Tue, 24 Jan 2023 22:12:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCHeB086826; Tue, 24 Jan 2023 22:12:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:17 GMT Message-Id: <202301242212.30OMCHeB086826@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: 3cb3b855b97c - stable/13 - stand: separate the command lookup from the command execution List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3cb3b855b97ca8095c17d102b633374b4655aaed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3cb3b855b97ca8095c17d102b633374b4655aaed commit 3cb3b855b97ca8095c17d102b633374b4655aaed Author: Warner Losh AuthorDate: 2022-09-01 17:05:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: separate the command lookup from the command execution Factor out interp_lookup_cmd to search for a command from interp_builtin_cmd. This simplifies the latter and can be used to expand lua to ask if a command exists. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36363 (cherry picked from commit 113dfadd5c8c2b8a566bf4d0e969e1dff62c9e2f) --- stand/common/interp.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/stand/common/interp.c b/stand/common/interp.c index de5ea55eab41..227e7ad91e29 100644 --- a/stand/common/interp.c +++ b/stand/common/interp.c @@ -152,6 +152,19 @@ interp_emit_prompt(void) free(pr); } +static struct bootblk_command * +interp_lookup_cmd(const char *cmd) +{ + struct bootblk_command **cmdp; + + /* search the command set for the command */ + SET_FOREACH(cmdp, Xcommand_set) { + if (((*cmdp)->c_name != NULL) && !strcmp(cmd, (*cmdp)->c_name)) + return (*cmdp); + } + return (NULL); +} + /* * Perform a builtin command */ @@ -159,27 +172,21 @@ int interp_builtin_cmd(int argc, char *argv[]) { int result; - struct bootblk_command **cmdp; - bootblk_cmd_t *cmd; + struct bootblk_command *cmd; if (argc < 1) - return(CMD_OK); + return (CMD_OK); /* set return defaults; a successful command will override these */ command_errmsg = command_errbuf; strcpy(command_errbuf, "no error message"); - cmd = NULL; result = CMD_ERROR; - /* search the command set for the command */ - SET_FOREACH(cmdp, Xcommand_set) { - if (((*cmdp)->c_name != NULL) && !strcmp(argv[0], (*cmdp)->c_name)) - cmd = (*cmdp)->c_fn; - } - if (cmd != NULL) { - result = (cmd)(argc, argv); + cmd = interp_lookup_cmd(argv[0]); + if (cmd != NULL && cmd->c_fn) { + result = cmd->c_fn(argc, argv); } else { command_errmsg = "unknown command"; } - return(result); + return (result); } From nobody Tue Jan 24 22:12:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6C2VHtz3bfZD; Tue, 24 Jan 2023 22:12: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 4P1h6C1sMjz3CXw; Tue, 24 Jan 2023 22:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2lU/rQcjP4OcPlB6cbtCXzzHA/hJlQKV3Nt0RFVgsI8=; b=lshqXKUb3GCvQ9dn8zxrceqhp2HlX9rtyg/uacimiCIxb4cQB5XKNjpV7sFf/9hGl9mTfL JUwlAxvvaVxcm5fKp+Jz/dH3sioTk7OOx5am32GXyqa8liCCf7+fAAgwXxLYFphihAj+uv 4T32ARget7R1aXECs1MCKwd0r/JRgQw+ozMW24p2WAPP34tu6MUBrg3Y+PgfKEdWwb16EY WLC9sZFz4H/v4fAHDhBc/dwcW8TFsGC4tD0bJBAVzDufSPpAiW9K5QYna7gNQdvB3mSb0A vdnMVBuJG2sCck30QfTr1HYuhREuRp9zslqP8ASN1z0FpLU9fEB7FK05f8QH7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2lU/rQcjP4OcPlB6cbtCXzzHA/hJlQKV3Nt0RFVgsI8=; b=KlGjyOk8d8xE5PHFJ4RiANHWnBur8zwhxdMt4L1pE8PrZrN+AKPTIHKNCh0oTfDaHuOlkA PphRmMlwBmSez8OS+1CkTlyHAJNtAV4AtUMMhv8coWqUp5eK9pT3fdLrc4sve7tTdJtEik /JTMe9LEDhsbS4tOvgI7kVyXdiIzFO1z37nA3Z4VvRmnov5UQDoHDDHH/rbkzodBECJ5vD o0+iYkHIBAMoo54ltpGMCYx7rD9dfUBgcOYjpvKFSlsCkeYGeK8KDcUPRxyRY4xNnw3MwD Adb0FsWu39/aVRHH9lsoGOd5SH5CEWJ/y337vMKcDyce/KrmC4dLI4zzBXYMXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598339; a=rsa-sha256; cv=none; b=BL6Gp+6ZRcF+9C0bq7k7uJ2kqBU+mHf5XW4bgCZMrvqUqMZ2F1lO1q6Hi6GRgE+/AqBO6O bl/l2NcuUnHqE2JBxcTVFWncyHNT35YlyPEWQ3wuJLrSW4Dbjw8MqgSTsAsEZzoNlfpseD TBAOHMwYhAPl2/U/q8Lneq0rkHUZkWntXfpYzCJsbAxSfGQMeFkPLbgbLVZyRx4jJ4WIcU DtTjGmkiQXacfOmobd/4/18Yb6j+LVxvgmzO9EohzVpszlInvuAnP0TcI+aseV4qhUXfnT nkSV+NAiQer/TuglVrbzBLjBmwLY3uxPz8D2wW9RZVz/qEjjnrRTgaEkUWxDCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6C0dYlzQgM; Tue, 24 Jan 2023 22:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCItA086854; Tue, 24 Jan 2023 22:12:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCIiH086853; Tue, 24 Jan 2023 22:12:18 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:18 GMT Message-Id: <202301242212.30OMCIiH086853@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: 6617245b33af - stable/13 - stand: Add interp_has_builtin_cmd to see if we have a command List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6617245b33afca26c8961a92999130faa51d2c19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6617245b33afca26c8961a92999130faa51d2c19 commit 6617245b33afca26c8961a92999130faa51d2c19 Author: Warner Losh AuthorDate: 2022-09-01 17:06:01 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: Add interp_has_builtin_cmd to see if we have a command interp_has_builtin_cmd() will try to lookup the passed in command and returns true if it was found, false otherwise. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36364 (cherry picked from commit a5948d40ad060140bf5b995f5409458a18ced0ce) --- stand/common/bootstrap.h | 1 + stand/common/interp.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index 9c62a49b0da7..cb1c96dc3b69 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -52,6 +52,7 @@ extern char command_errbuf[COMMAND_ERRBUFSZ]; void interact(void); void interp_emit_prompt(void); int interp_builtin_cmd(int argc, char *argv[]); +bool interp_has_builtin_cmd(const char *cmd); /* Called by interp.c for interp_*.c embedded interpreters */ int interp_include(const char *); /* Execute commands from filename */ diff --git a/stand/common/interp.c b/stand/common/interp.c index 227e7ad91e29..8b779fb7a5e9 100644 --- a/stand/common/interp.c +++ b/stand/common/interp.c @@ -190,3 +190,12 @@ interp_builtin_cmd(int argc, char *argv[]) } return (result); } + +/* + * Return true if the builtin command exists + */ +bool +interp_has_builtin_cmd(const char *cmd) +{ + return (interp_lookup_cmd(cmd) != NULL); +} From nobody Tue Jan 24 22:12:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6D4Srkz3bfgq; Tue, 24 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6D2zZPz3CL4; Tue, 24 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2JbO5bfzQtaZXZMejan9Y9H3Sf0eelurV2ErXTrUtI0=; b=nCXfGFoBAxeR1vTTpdLTRlXD/LO24iV0ijuTtCk/4DS7TMaymSUMbt6TldrSUyl8r9WOrC 3jdo6Ws96lO7pNk6b0rdKelnk/nYje5To+HcruItXoXXWY/qgNPSWD/br7a7aAheknjMI/ whumZOuEfq1hD8ZVjwyGyw9596xoSQNqXUMsyEmnL1UpJwlp4h8T3Ms27e5/KInUFgji0a 9tnsxCpZeZo2orT2o9R9a0TZam3bYnjOX2X2dXoJW65UdDSuvvimnYi5OokMPgnieBlkkz rtokuOqiVvZ137jffAKCfUokq54E+hI4Kzg02oo7et8WndzZ4qqXoNNL1uDw5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2JbO5bfzQtaZXZMejan9Y9H3Sf0eelurV2ErXTrUtI0=; b=cUj2Qld8DdDy4jKli/dxbqteD2woYWajHZ5M6tSerHz1smOaQfd56her7yEk0EKkHGmNlD gfyLI0vvt1NXiQKHJWMSqQ6a4ZEDgmcBstLh1UXrby5pdMN/QeoiF6OmR2Q47fzGznajVK kxAOB/q6OoG6jkW7yPryYJJWO79BsalRtIQcA0yP65F89PRPSyXbpLnyu1r9yDQR3x6Vez 8kFwRw/uikvMMlbrB+0q8C40ZSrAaj/Y0DiqIHSrlW006MFuBK7q/Pz2ujbY6ZdcOYGfSb 4Bik959ddmXeJTx03L4rE4IiqIbgO4YtaOCzcF7plPnwaAUX+aC6kDF1TnSOQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598340; a=rsa-sha256; cv=none; b=YVle3t+KIzzBH5TfdRYiEW0Yaig7QxZs/EoQtsPkOYx2m5gUCyf0ewQrjTOqGY1/gFbjx4 F+Zw7QnxZNgW2x8mWKK8ZhDcHwb5eQU9yWqussLKX89InLCkIQhrXRG8DepEN9THX1fkp2 QQCA9T69uUcC/mUbcHK99jZZfyLg+AwD3NdbJxllJ9dQbClIfZdxk0foKu7QiPse+gPiEU rPE7eWV9BXuFk34pxYtLD0Z+fAd6jm9ECYa/b+q9NWvZHfaGTJyplHj6voGkQ7VVQdgCrg aCdfNk6c+Dnjuac/B4JbQBFvGYqVWCTef1GeIovXYh01UUeimll4RjUlDvwWEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6D1GpbzQXx; Tue, 24 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCKOZ086884; Tue, 24 Jan 2023 22:12:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCK34086883; Tue, 24 Jan 2023 22:12:20 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:20 GMT Message-Id: <202301242212.30OMCK34086883@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: 69c6f6347c12 - stable/13 - stand: Add lua binding loader.has_command List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 69c6f6347c126df97245499a18d94537de5cdefd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=69c6f6347c126df97245499a18d94537de5cdefd commit 69c6f6347c126df97245499a18d94537de5cdefd Author: Warner Losh AuthorDate: 2022-09-01 17:06:19 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:32 +0000 stand: Add lua binding loader.has_command Give scripts the ability to determine if the currently running loader has provided a command. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36365 (cherry picked from commit 29fc4075e69fd27de0cded313ac6000165d99f8b) --- stand/liblua/lutils.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/stand/liblua/lutils.c b/stand/liblua/lutils.c index 9243edd07e8f..1649ac9fd508 100644 --- a/stand/liblua/lutils.c +++ b/stand/liblua/lutils.c @@ -63,6 +63,21 @@ lua_command(lua_State *L) return 1; } +static int +lua_has_command(lua_State *L) +{ + const char *cmd; + + if (lua_gettop(L) != 1) { + lua_pushnil(L); + return 1; + } + cmd = luaL_checkstring(L, 1); + lua_pushinteger(L, interp_has_builtin_cmd(cmd)); + + return 1; +} + static int lua_perform(lua_State *L) { @@ -539,9 +554,9 @@ static const struct luaL_Reg loaderlib[] = { REG_SIMPLE(interpret), REG_SIMPLE(parse), REG_SIMPLE(getenv), + REG_SIMPLE(has_command), REG_SIMPLE(perform), - /* Also registered as the global 'printc' */ - REG_SIMPLE(printc), + REG_SIMPLE(printc), /* Also registered as the global 'printc' */ REG_SIMPLE(setenv), REG_SIMPLE(time), REG_SIMPLE(unsetenv), From nobody Tue Jan 24 22:12:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6F5M6Pz3bfNk; Tue, 24 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6F399Kz3CfT; Tue, 24 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XU3Y6S6Spa9pdPcULux8iWU/K+EDGsTX6BXZCxtYPnY=; b=Z20BoyaLWRDlQ/EGnsK72lLKi6QWBtLEsUBiYYpHuy3YLJ72sMEOlqUhKPJAGs4anHKUwE wTDqSJid7izsU2dBEyccRwtalGAowoN8pzr8JVezyVY0QYJQ4CFFcHyRK7bF98GvKlC9u1 VNUV7RaFBpfbb30zjFc+/BAzByDHs2mQA1KnXHbPlHlgwVyw/P6dx2+TYZqMynZSLKJcs+ FlvAPvaAxy4nTTS6+2yvNINVdrk1/S7358xRVPDptZGL2gfxwlBRWBhtocJCtFPWY4xAZ0 8On8MzXxUmHX2IdO5hNsWdxS1KuX40Du8+UwHgsIknWV2tX1QfoW1CwS7ueImw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XU3Y6S6Spa9pdPcULux8iWU/K+EDGsTX6BXZCxtYPnY=; b=iBpkO4AcITUSsZRmgcGReIn/hZlKj3UKELzoixdgkfgRB8avvEWtcC309QIwKgy/WGTKoP qvMNCPVuwVLaXXKn5Y9xiSgXb2/PUKtE50eTIeICpfPHlzvhOLwvgWhsz8m7f+h1lma/cs qU7jdVBOXVy48rSB4HjA1lVbJrD6F6W1N9bLhEEZv3aY1RL/pfxtZJ65EM7D9Ej8U5thQx tcwCgC7GnG5h//Lwt6FE72Yc9U1LdWZQl/W6D7aVW3ZnOAUtfQcedPr10XrcnNdGcW5UB2 VnrGgp2CqhsRuvX44gG47tIbB3U52hdVvM6i6fAQK1b3ygvm6EYNEjMLvaaTfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598341; a=rsa-sha256; cv=none; b=a93/zGoAqQ++aFYfUX0NSSzSDZH1IqMab6K2jIlQeXOe+04DzVBUiTUvbxfHR1yt7wYzQQ mY0b+Rtr0QfsKzpYNMTETuIRNq4o7CtbNSloGBJkA1roi6i8TEHS8MVpwIpZRt6j8G9yT0 nWxkD2vULLU+rDPRNpu++Xx+/D+qJyOCy24L0CiFgIMIiHh6lZcVnsUPUzawOhRa1ZOIb6 xEFG4qO8sc74xlkVTwc57372j/eiazw8EqDU1ayGh4UHbRBtoG3yhR551TdrOP/uA95k9Q s1zz180Rqg+7PlCIGXspp+5zaek9JcZ7KSTPtJXb1YhNW1PvTem8KboM2i/llg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6F2D2dzQY3; Tue, 24 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCLwS086910; Tue, 24 Jan 2023 22:12:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCL74086909; Tue, 24 Jan 2023 22:12:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:21 GMT Message-Id: <202301242212.30OMCL74086909@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: 77fd18a8271e - stable/13 - kboot: add minmalist init functionality List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 77fd18a8271ea32db8acefeab6e3fbeb181bbfec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=77fd18a8271ea32db8acefeab6e3fbeb181bbfec commit 77fd18a8271ea32db8acefeab6e3fbeb181bbfec Author: Warner Losh AuthorDate: 2022-09-01 17:06:43 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 kboot: add minmalist init functionality It is desirable to run kboot as the first program in some LinuxBoot environments. This is the traditional "pid 1" or "init" program. When running as pid 1. rovide a minimal environment based on what sysvinit, u-root, initramfs-tools and other like projects do. We mount /dev, /sys, /proc, make symlinks from /dev/fd to /dev/proc, and create /tmp, /run, and /var. We also setup stdin/out/err to the console, set the tty characteristics of same and block the appropriate signals. This is indended as an environment that never does a fork/exec. If that's required, the process groups, session leaders and all things POSIX terminal handlers will need to be added. Unlike the general purpose linux projects in this area, no attempt is made to support very old kernels. When not pid 1, we skip all of the above. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36368 (cherry picked from commit 57f90cf81338ca9d1e403fdfeac16f21def72763) --- stand/kboot/Makefile | 1 + stand/kboot/init.c | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++ stand/kboot/kboot.h | 12 +++++ stand/kboot/main.c | 7 ++- 4 files changed, 147 insertions(+), 2 deletions(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 986e636a8c35..b8e71fd70dc7 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -19,6 +19,7 @@ INSTALLFLAGS= -b # Architecture-specific loader code SRCS= crt1.c conf.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c +SRCS+= init.c SRCS+= termios.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/init.c b/stand/kboot/init.c new file mode 100644 index 000000000000..e707f65096d7 --- /dev/null +++ b/stand/kboot/init.c @@ -0,0 +1,129 @@ +/*- + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * Mini-init(8) so we can run as init/pid 1 in a LinuxBoot environment. + */ + +#include "stand.h" +#include "host_syscall.h" +#include "kboot.h" + +/* + * Create a 'standard' early boot environment. Cribbed from the things that + * sysvinit, u-root, and initramfs-tools do. This is a minimal environment + * for modern Linux systems, though the /tmp, /run and /var stuff can likely + * be done inside the initrd image itself (as can creating the mount points + * for /proc, /dev and /sys). + * + * Note: We ignore errors here. There's no stderr to report them to yet. These + * operations generally can't fail, but if they do, we may not have the ability + * to report them later. + */ +static void +init_fs_env(void) +{ + /* + * Create directories for mandatory filesystems and mount them. + */ + host_mkdir("/proc", 0555); + host_mount("proc", "/proc", "proc", MS_RELATIME, ""); + host_mkdir("/sys", 0555); + host_mount("sysfs", "/sys", "sysfs", MS_RELATIME, ""); + host_mkdir("/dev", 0755); + host_mount("devtmpfs", "/dev", "devtmpfs", MS_RELATIME, + "mode=0755,nr_inodes=0"); + + /* + * Create compat links: /dev/fd lives in /proc, and needs some help to + * get setup. + */ + host_symlink("/proc/self/fd", "/dev/fd"); + host_symlink("fd/0", "/dev/stdin"); + host_symlink("fd/1", "/dev/stdout"); + host_symlink("fd/2", "/dev/stderr"); + + + /* + * Unsure if we need this, but create a sane /tmp just in case that's useful. + * and point /run over to it. + */ + host_mkdir("/tmp", 01777); + host_mount("tmpfs", "/tmp", "tmpfs", MS_RELATIME, "size=10%,mode=1777"); + host_symlink("/tmp", "/run"); + + /* + * Unsure the loader needs /var and /var/log, but they are easy to + * create. + */ + host_mkdir("/var", 0555); + host_mkdir("/var/lock", 0555); + host_symlink("/tmp", "/var/tmp"); +} + +static void +init_tty(void) +{ + int fd; + + /* + * sysvinit asks the linux kernel to convert the CTRL-ALT-DEL to a SIGINT, + * but we skip that. + */ + + /* + * Setup /dev/console as stdin/out/err + */ + host_close(0); + host_close(1); + host_close(2); + fd = host_open("/dev/console", HOST_O_RDWR | HOST_O_NOCTTY, 0); + host_dup(fd); + host_dup(fd); +#if 0 + /* + * I think we may need to put it in 'raw' mode, but maybe not. Linux + * sysvinit sets it into 'sane' mode with several tweaks. Not enabled at + * the moment since host console initialization seems sufficient. + */ + struct host_termios tty; + + host_cfmakeraw(&tty); + host_tcsetattr(fd, HOST_TCANOW, &tty); + host_tcflush(fd, HOST_TCIOFLUSH) +#endif +} + +static void +init_sig(void) +{ + /* + * since we're running as init, we need to catch some signals + */ + + /* + * setup signals here + * + * sysvinit catches a lot of signals, but the boot loader needn't catch + * so many since we don't do as much as it does. If we need to, put the + * signal catching / ignoring code here. If we implement a 'shell' + * function to spawn a sub-shell, we'll likely need to do a lot more. + */ +} + +void +do_init(void) +{ + /* + * Only pid 1 is init + */ + if (host_getpid() != 1) + return; + + init_fs_env(); + init_tty(); + init_sig(); +} diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h new file mode 100644 index 000000000000..01de346234f3 --- /dev/null +++ b/stand/kboot/kboot.h @@ -0,0 +1,12 @@ +/*- + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef KBOOT_H +#define KBOOT_H + +void do_init(void); + +#endif /* KBOOT_H */ diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 5d40e2c3b582..be08528049e6 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include "host_syscall.h" - +#include "kboot.h" struct arch_switch archsw; extern void *_end; @@ -261,8 +261,11 @@ main(int argc, const char **argv) const size_t heapsize = 15*1024*1024; const char *bootdev; + /* Give us a sane world if we're running as init */ + do_init(); + /* - * Set the heap to one page after the end of the loader. + * Setup the heap 15MB should be plenty */ heapbase = host_getmem(heapsize); setheap(heapbase, heapbase + heapsize); From nobody Tue Jan 24 22:12:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6G5DZhz3bfs2; Tue, 24 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6G48z7z3CZL; Tue, 24 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m14WBGgx87kqYvIoA8n9+aNs0D1Znlleguqv+qHxCwA=; b=Tejq4MshWpBzW+Y8Fcy9T3wTVK3cqN47oYSDjzU5CGVe5A0ZuK+2HepoAfypJVi5Wvn2vL UF/ZeYC/X9AgA8doFrSptIQqi8DIPkCbYZUa/h1DXEqNW60tuUHUy8Rl6e6CcZ4vOxSDvB vDAyEBLq79h4+KwCJjrYlrekcsYnDRACC5Acoe/iP3WR50FbfaZy+oNRLxPSSw3kRnCopQ AO++HogTYdxKxDMlyn+V3Tr9NSkeodHbzbwNy768kGqPLxSWUme6satFV2FXcUf5DWBLEs FAIz1ZjsrUYgVmHeu/lKlcZVBOj4JhQvgoFQNgabuVwfrrIXz43js+whQMD4Tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m14WBGgx87kqYvIoA8n9+aNs0D1Znlleguqv+qHxCwA=; b=TDyzINjVobWeu7+Kjq5FBg/wuj94BKTpe+twF88/PCtwI9nqL4P2clvSyWvwKVnb0vzyUp T2LZQ8SjXCQAgC2kvfaIXL5d+6y+Z9Kp3EMoJ4LK3EgbvJxb2LPrdGypXw/z11Bvnd9iPY 6U1g6nyd+JpwK/dvEa/bjJ/E4sxb2C/TkWgUP4f+MckBejXyZ6TPvp62q2diYdPE35Z6iD TG56ntiRlx8Pn6avRYAqHaWYUHKjxbo/dZ51MyriDC3M0UUJerNWgaJh3bN7anriPvqCak Go/XZeROG/bVumpTAh6J+FPHb70U/Ts0JGKudLLj4JvidSsM1smmKEoJeQ8QBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598342; a=rsa-sha256; cv=none; b=HBUouM2KV8hxVVg2jeUQSiXmrtrZetFQYQKbuIbl6CfkmoseH9rGBtf6aOGuPNkfrhJIHr i1lCOO0F5rNLNlB0r36Y+BAEFM41aRsKChbmhftKNJlblPDetnWuuc41doeSRpi9wUEE9j Scy8EaBNxf04PSGZaxx0ovGW6lA8gnQIbVDfoCWdSIGjhjyTtGGelj049NOtVDE2N6oIgt JZWY48STr+BlVqhJAJkpmkf7pZKddJ/tYfkgWzEn3txE15yTUrdwv501jtAmtaVtp/1dcR KFG1RYotmEBBzFkTO8t0qdlpd9YDVCTFguQSU4WwqKtLMR0+PcISNb9bVD6mKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6G3FZpzQm5; Tue, 24 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCMEk086934; Tue, 24 Jan 2023 22:12:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCMG0086933; Tue, 24 Jan 2023 22:12:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:22 GMT Message-Id: <202301242212.30OMCMG0086933@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: 63284e7d6ac7 - stable/13 - kboot: List sources one per line to make merges easier List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 63284e7d6ac7719230190f26982111ad22ccfd6a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=63284e7d6ac7719230190f26982111ad22ccfd6a commit 63284e7d6ac7719230190f26982111ad22ccfd6a Author: Warner Losh AuthorDate: 2022-09-01 17:07:34 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 kboot: List sources one per line to make merges easier Make SRC an alphabetical list of files, one per line. Sponsored by: Netflix (cherry picked from commit 69818bcf38e0bb1716a8d29f61ed392d447cea83) --- stand/kboot/Makefile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index b8e71fd70dc7..c204af8b17e7 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -18,9 +18,18 @@ NEWVERSWHAT= "kboot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b # Architecture-specific loader code -SRCS= crt1.c conf.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c -SRCS+= init.c -SRCS+= termios.c +SRCS= \ + conf.c \ + crt1.c \ + gfx_fb_stub.c \ + host_syscalls.c \ + hostcons.c \ + hostdisk.c \ + init.c \ + kbootfdt.c \ + main.c \ + termios.c \ + vers.c \ CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken From nobody Tue Jan 24 22:12:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6H65Smz3bfZG; Tue, 24 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6H54jMz3CpZ; Tue, 24 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o0LE6zM6vC5fsBeytOlGBLgNPFhl75SONPXseUtx/pE=; b=ghyEx3taKCzKvlJwylnlr1/AZEK7WYVhHANYsdacIdpWvBqpgfjXTjsCvXq0HdCem6ClgT Lpsmcb5hPvVHJDX6DEaRkwI0HZdCOtv2n4AAFDxYRnRZureCJ+cITRq1B/ZJbo5S7j4HK3 k9R6LFUrQTzMlPbdz9zR4pRMzhSQpX1u1lN0sD7UNftzgyb1UMygNYiSK1JDsJU8p+5TYI ksH20yQr72XD9hPe8FD0sDM5YSNYQZE2ATnZ8wu3Iewts5KSIHVbx7fvlSmLHyVLFhNgWG oXXdcBg2T3aw2TB+xk+GpFVlYdyqiavJHRlmBBxEvpRl2bQpYxq/enDsFwDa0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o0LE6zM6vC5fsBeytOlGBLgNPFhl75SONPXseUtx/pE=; b=pS8H4SMcUw7lkgmbxtkWRn8RvBnpwJRiT3BrrnkhKi6NUS8EE5yQgMXGmYxavcjofBkAHC 2A2g44Xm9L1wR7sJ7xMW/ecd3/+S8cneEttfwcAZnUCz4yK6WcZO5ZdO6ZcrDPrykWXOvw RWpvprfg3sXvoZdAwxxRmlkiaGRxOwnkrX8Fp/OC13tXXmo/Y+ZUmrx2Ne/ffFpL12hioT ZwRVr45H56mqkVu/DUQEuG5mwzjUPp/OIxn4FrPB1GAeUnw90Fte7/PjzAcNB1UhFUN76w acOysPYLUh4KPSGDQkWwF4/tSXhqK6amKCre2ZgW9qXMuo4CmiqPzr7JueJEtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598343; a=rsa-sha256; cv=none; b=cdChaUNV1dAWcWHAuFhlgeZXVAg34+we4zv9prHkRPlHP3WEPH4kLqBM1gye6xeBMcqMNc Kto1uMm83goSPzDUhWo3pXTwOLo5I9OfLLIAf3wKVkPmwaEgCcMiKH5E+zM0ZHCVeeEejG EXo6cvpKxPsGXckV4eVHYWL1iASSrILoDmQPwr2sq2ej/rv6wEpmBcyG7iIuyoXMzSS4KD nXCIvPTl6YEAJhnmOJM5MrELv3cVrIOxvXzGxKJT66MdVixMZUNevDjgjtcLRjnnJHxWp1 wGZtcQ/5RtOPN0Po4KzIH9HVYgSCEg98EH43TC1JJO8/jF0wAIaEHk2Vfo2REg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6H478fzQVJ; Tue, 24 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCNNQ086958; Tue, 24 Jan 2023 22:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCNBZ086957; Tue, 24 Jan 2023 22:12:23 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:23 GMT Message-Id: <202301242212.30OMCNBZ086957@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: 09932da03ec4 - stable/13 - stand: Parse BIOS revision from SMBIOS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 09932da03ec45fc4da2247a73b802ee4083ab8c8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=09932da03ec45fc4da2247a73b802ee4083ab8c8 commit 09932da03ec45fc4da2247a73b802ee4083ab8c8 Author: Kornel Dulęba AuthorDate: 2022-09-02 11:08:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 stand: Parse BIOS revision from SMBIOS Add a smbios.bios.revision kenv, which contains the system BIOS revision as defined in SMBIOS specification, section 3.3.1. Since the revision is stored in two separate byte fields, the smbios_setenv helper can't be used. Read and construct the kenv manually instead. Approved by: mw(mentor) Sponsored by: Stormshield Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36413 (cherry picked from commit 66c73af7ea59382ce5ca7cfb2eedb0491790276c) --- stand/libsa/smbios.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 5582a2f3ce90..61bd82f9d6f0 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -298,6 +298,8 @@ smbios_parse_table(const caddr_t addr) { caddr_t cp; int proc, size, osize, type; + uint8_t bios_minor, bios_major; + char buf[16]; type = SMBIOS_GET8(addr, 0); /* 3.1.2 Structure Header Format */ switch(type) { @@ -305,6 +307,13 @@ smbios_parse_table(const caddr_t addr) smbios_setenv("smbios.bios.vendor", addr, 0x04); smbios_setenv("smbios.bios.version", addr, 0x05); smbios_setenv("smbios.bios.reldate", addr, 0x08); + bios_major = SMBIOS_GET8(addr, 0x14); + bios_minor = SMBIOS_GET8(addr, 0x15); + if (bios_minor != 0xFF && bios_major != 0xFF) { + snprintf(buf, sizeof(buf), "%u.%u", + bios_major, bios_minor); + setenv("smbios.bios.revision", buf, 1); + } break; case 1: /* 3.3.2 System Information (Type 1) */ From nobody Tue Jan 24 22:12:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6J6qYFz3bfpd; Tue, 24 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6J67Qlz3CqF; Tue, 24 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UFNdKZed26QUWxYWJ2aTOJEXAYYh+oTTwfXOMuepnnc=; b=uJoTOTaqSLNGfe6sDE8wXNrqtD0ROwr7ZkSBr6qeeeCizOU9kYZNmf1CrfTPwrq0ykPXzb 5ThnUQrMFqZnSEVhgAuncQ0B0BklRxerUN+OipGyRgDCPla2YCUxb/EjGrKVV/xzGnT/6x TgHwMqviYyczZvtvB/rKplThUHBRhSbx0dL8ZrPZkUXX8o0C/KTfTj0qTT3VGtb+h/4Spv kYAgd2bUfaVl2E/bXbN3m67D8gHVnBLW5LRdnK7dguDPQ/qBLYOErB2BOe97Ub1ghthMx5 It9K8wdLKkTHWFeLBXERVSY8lnfNBqKs4L0UonuNSIWcl3Xyq15IbzvIcvyRGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UFNdKZed26QUWxYWJ2aTOJEXAYYh+oTTwfXOMuepnnc=; b=eoYhVm54RfSgEyuI8rKvgwRpEPd4mlwbgP8OX3i846xgCvHNPjSCcJv84F18XkDCf+uZRM 6WatMcXKxI5Lx+YN8H6jsZdfW/aO4HV+vlOP1pUJcYwqITgA+gYLVuwVElSyFE/61k+UT6 SAmOedVMXVgbbT4fbeM8cxTtC2sio1cncgXuL/CmWKZKjds4lvvIG1FjYX3xmE9QWsUMeE ZOwKD2gTCi/iC4iKPFoTBOPkiWwJPA11LXKjimCr7I1JQXOyoxI5wUpCerjM8IXtxowABm ybuA0hGChKJJYbi9c+XntuI2BRk71iPET6VJ3HuI8pte+UMCPmuyh1BeYcy6hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598344; a=rsa-sha256; cv=none; b=e3dty00s+D85X2c14sltoHVpFpz4tUwEIQq6i0tVmtxsYhJNHS9c/O98nbL3fxBs7jWAWg khF8QsD24g6J//n2qTnaLee5wO+dy29b+3a3Nqwzfv5qRQIXlamRX95Yn36NqwnWCXULsF 4ln9I2pqu7EIsxsX0pfusRA4AQwkev6jCY0+Ana8isOq93hdQYtBiTpp9Qfw+boo787PmL pWHr3Ye+g0v8vsLapcITmGaummSIYI3/Uj6QwT28ldidoL/spJLIDWHRy6o8QmG1Ky35JW 69wUuCgGD3TV1kx5EzvA7LYg33YgCBkV8EvFoMk7Xy0KrxeUAG/EJkTJRyZvkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6J5BcKzQfD; Tue, 24 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCOYZ086982; Tue, 24 Jan 2023 22:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCOx2086981; Tue, 24 Jan 2023 22:12:24 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:24 GMT Message-Id: <202301242212.30OMCOx2086981@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: ffe0cd442311 - stable/13 - lualoader: Add loader_menu_multi_user_prompt config variable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ffe0cd442311819d308ac9837d8b674d9a5c9804 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ffe0cd442311819d308ac9837d8b674d9a5c9804 commit ffe0cd442311819d308ac9837d8b674d9a5c9804 Author: Jessica Clarke AuthorDate: 2022-09-02 19:30:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 lualoader: Add loader_menu_multi_user_prompt config variable This allows the "Multi user" in "[B]oot Multi user" to be substituted with another string, for example with "Installer" in installer media. Note that this is lua-only at the moment, since loader.4th's menu.rc defines the alternate name as Boot [M]ulti User, unlike lualoader which leaves it as [B]oot Multi user. Ideally loader.4th would adopt the newer and simpler lualoader behaviour and then it could gain support for this option, but loader.4th is on the way out and isn't used by any official installer media so this is not a significant concern. Reviewed by: kevans, rpokala MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36418 (cherry picked from commit 9b17aa27406f3716383e71c6687d53599a8f8d8a) --- stand/lua/menu.lua | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index f1a4f07a8d73..400dbf3d469b 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -60,6 +60,10 @@ local function bootenvSet(env) config.reload() end +local function multiUserPrompt() + return loader.getenv("loader_menu_multi_user_prompt") or "Multi user" +end + -- Module exports menu.handlers = { -- Menu handlers take the current menu and selected entry as parameters, @@ -263,11 +267,16 @@ menu.welcome = { all_entries = { multi_user = { entry_type = core.MENU_ENTRY, - name = color.highlight("B") .. "oot Multi user " .. - color.highlight("[Enter]"), + name = function() + return color.highlight("B") .. "oot " .. + multiUserPrompt() .. " " .. + color.highlight("[Enter]") + end, -- Not a standard menu entry function! - alternate_name = color.highlight("B") .. - "oot Multi user", + alternate_name = function() + return color.highlight("B") .. "oot " .. + multiUserPrompt() + end, func = function() core.setSingleUser(false) core.boot() From nobody Tue Jan 24 22:12:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6L38fZz3bfjw; Tue, 24 Jan 2023 22:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6L0fJvz3Crw; Tue, 24 Jan 2023 22:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xf4tq+ocfNVogKkQM+VWoqjDSdRS1yaJD1LgFEUtALE=; b=ZVepw6YIac8v8ZaMJowBOZ/KFYO/gHx0lNbpKDnHZ4KlNUtRmv+qb7t6TvcJWW9YuaWWp8 C4Cp4X1iSBGA8sZ4y3zMFQuERWrJTvoUZZaG3Rd5iYZenwzj1F8DmxH+MmclGHc8VY+6k/ RMRtY+nr29rDW9Ff6I6cAdISXySzI1nleezVgDT0/hEcUZITl73uuCBhacZ/JUS6iPpeCy gNyVChmr/wVoAKdg4bwrnuXlNQmaoeADujE5Usi+AbAojEen5URUs3mLHWMeVVqDAUJy7z uX1tCxfgTLpl4Z1lfiWDKIyim0xz86+pIQZMFeRH2A4wtHouNYQxjVyVLUXfng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xf4tq+ocfNVogKkQM+VWoqjDSdRS1yaJD1LgFEUtALE=; b=wCNatprrnmWFPu++S30B2/JrTaiQ7C2u2Whl6sPewG26w0hKtFa18kaJUV1P9yz8ech1yj +ztadMJupbKBhlPLiMEKNKaiP9C48AytRRr+vS+zu59j5MIVFgoEzYO4SvHN30DibCZenp H5QHjXUaAxtUnyVYV2A+yHfUy4i/2oLEwrqtl7kYvQY/IrxrRdUW3sC+PblTeySjTPXkvE xDVSGn5vWWsyWtUgNpWp5X01JTcK1GRrIzjNKJKsOiTc1IX2JaEu/TOLkh5rTjL9Z9jTN+ KAF9pSicEEAEMsXLbi+pim0gb+VQs/ZVY8Ux2YGc3832wd+AzXrdYIbPOTQsIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598346; a=rsa-sha256; cv=none; b=gop1sHSnsGvR+GDAv0oaCDJ6gxKtjl/ehjIAmMNML5oJQeyDCX/40sLTAvKCkQdTd3gRUL HQqB7+4zHQJ5pJxIQb1xSRHiVV6VlPJZ/V06tkBaKTYTE5PxMMvCj08NtIRxB7Td0XKRaQ FPE/g07whxt6jSVbr/h+HDT0WAYw5mLwAiAc4nlvZY63d9/p4L6FjWq/EbJ31pIhQQ1Xlr ubZpwvNn7oYXt6XssEfNP9uWLUoCgYFR+KWV9BmcPDjbiYNBYSz/+QZjQfZnz5DG4e9KxP sbxTmkn5TMcvDH1tRYr/2ykOmFPO4Yfeutz/inQ0kznXNExOoK1w6vTj4QnJkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6K6ZGBzQYB; Tue, 24 Jan 2023 22:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCPAq087012; Tue, 24 Jan 2023 22:12:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCPGx087010; Tue, 24 Jan 2023 22:12:25 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:25 GMT Message-Id: <202301242212.30OMCPGx087010@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: fb7f61f13ae1 - stable/13 - stand: Grammar fix for a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fb7f61f13ae1cd2fa06fd16c04492a4b59da65e6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fb7f61f13ae1cd2fa06fd16c04492a4b59da65e6 commit fb7f61f13ae1cd2fa06fd16c04492a4b59da65e6 Author: Gordon Bergling AuthorDate: 2022-09-04 15:26:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 stand: Grammar fix for a source code comment - s/that that/that this/ MFC after: 3 days (cherry picked from commit 7d91d6b83e74edf278dde375e6049aca833cbebd) --- stand/ficl/ficl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/ficl/ficl.h b/stand/ficl/ficl.h index 97cf00b0dff3..45403824ad8f 100644 --- a/stand/ficl/ficl.h +++ b/stand/ficl/ficl.h @@ -149,7 +149,7 @@ ** inner loop. I'll look at it for ficl 3.0 ** - Make the main hash table a bigger prime (HASHSIZE) ** - FORGET about twiddling the hash function - my experience is -** that that is a waste of time. +** that this is a waste of time. ** - Eliminate the need to pass the pVM parameter on the stack ** by dedicating a register to it. Most words need access to the ** vm, but the parameter passing overhead can be reduced. One way From nobody Tue Jan 24 22:12:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6M21Qpz3bfs9; Tue, 24 Jan 2023 22:12: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 4P1h6M1Sspz3CsG; Tue, 24 Jan 2023 22:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iA47WDCT4hfJ2qV3GcgCCmkmZ8eQbYNBEC+Q+QutaqM=; b=RBCrCM3I3eeXTVptdAs65SYrRX8TtqNgqDmZ2zHL03eH1ZuvR8uClPdrHWRnqPiKStbVNk 6JRH7o9mZwWEpxu+70zCI93RZGbHFChWWEW3slx4us+dS09aj9VfzYiWO5bLuKtRdZ+5Ho MRdR13YPGitfKBSUpwNNhDSOBMHCSDXFSOb761K8y/muC8x9+cW0K//JdnwMrzMUC4Djy4 I2cXndF/ti7SARiBbkKJ0iD1EVcTCqlimd4VOlUZu7l+8WHW/05fKeXmWPI1UmLtkeHZQH /yb3b4yoLxbcTiOFoxyDphENEu2cBIwqyOLVIxdP1Hyf0Ezigqm+CI72xoudkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iA47WDCT4hfJ2qV3GcgCCmkmZ8eQbYNBEC+Q+QutaqM=; b=p1hV2F1V1n/xcywPCHFcf23pmU1HuP49f/O62AGFtw1SOK6oL2h6xxgeW/2bQCiOMR00Q1 uqokDs1gazO+MWg2MZCF/UFSKCWHk6rU1iYuBK84jixJGPrAhZ747EI9t99EQnlChTc/Sd ZqhFJz5djsLD2XyXWcO89Neho06lSmaVKE+P3eWA/PCjF0XX6cbRebNXEyr2CQ1MCVx0G2 0wNx8H76XpwnMST0VDdS8FzsLDG15q4/5fYSWmj0QXujVema9gkxOQAy/1f/yBpgAAJoms IS9b0pQe4spS9JpjUlP1vXw025MQMjxPOoSCNJsvgaWJsN8iUvweEDDoddm4OA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598347; a=rsa-sha256; cv=none; b=cNjbnfYBf5QNu/cdkna2Z4v7FrP2027dsmwhknVw3GavBvzkiQ/vOu2P7Buu56rXC2D0dG q8UnlMvuf+rbvQr8csK/CxkZNgCpd+U5U70PfMWNrg9XZ8W1TcLCoYFa9d1FunEiZPXva5 orOg46hBehE8klkovi9UvNK2sr/2qUC4Ywh6ELcdbfrDLwKLyidxtSXB2UwNTj8lwoDoen JYqB0uH29szginHBW7hfVBabrcaBYcavnJavmNzfe/dTjmK/yw054LlCGutTxyEzsl3P0q U/vjAqoXJ9E7IyDpvb/2obOCH+tQD0yMSYUDMmQM8gojzIBYpidwKKYEwJoevw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6M0Pn4zQPb; Tue, 24 Jan 2023 22:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCQKQ087038; Tue, 24 Jan 2023 22:12:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCQMV087037; Tue, 24 Jan 2023 22:12:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:26 GMT Message-Id: <202301242212.30OMCQMV087037@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: ae04175ec32d - stable/13 - stand/kboot: Add note about why we use MACHINE_ARCH here List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ae04175ec32d2ae43cfbd49ea143a29c887c7287 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ae04175ec32d2ae43cfbd49ea143a29c887c7287 commit ae04175ec32d2ae43cfbd49ea143a29c887c7287 Author: Warner Losh AuthorDate: 2022-09-04 15:31:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 stand/kboot: Add note about why we use MACHINE_ARCH here Normally in the boot loader, we key off of MACHINE since that specifies the kernel and the loader is very tuned to each type of MACHINE in general. In this case, however, we're producing a Linux binary, with Linux system calls encoded in it. These align better along the MACHINE_ARCH axis of FreeBSD. For PowerPC the system calls are radically different for each of our MACHINE_ARCHes, with only powerpc64 and powerpc64le sharing the same numbers and memory layout. The same was true about mips when it was in the tree. 32-bit arm uses the same layout, however, for both armv6 and armv7 ports: that can be easily shared in the unlikely event we support that in the future. Sponsored by: Netflix (cherry picked from commit cc7b630cec8320ad979af6b29cb67027f6a95456) --- stand/kboot/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index c204af8b17e7..518e945a596e 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -35,6 +35,9 @@ CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken .include "${BOOTSRC}/fdt.mk" +# Note: Since we're producing a userland binary, we key off of MACHINE_ARCH +# instead of the more normal MACHINE since the changes between different flavors +# of MACHINE_ARCH are large enough in Linux that it's easier that way. .PATH: ${.CURDIR}/arch/${MACHINE_ARCH} .include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc" From nobody Tue Jan 24 22:12:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6N3SJBz3bfsC; Tue, 24 Jan 2023 22:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6N2pZ7z3D5p; Tue, 24 Jan 2023 22:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wj4la+Xksc10pi1AxosoOiMwlIsunaIwtYZUaCIQOwY=; b=vU6zaUKdxYTrN9lABukCaJ7Qnp0Lkbfzzp/nKK/c27acDS9/HCpJRse3CYIykY7WhV+DOk zbO7iTicAObcE4pmTFEj3Tt9YIkmqtuB2sCTTX9/+4czXNbPWdXCZEz1WdIliWXiLolkb6 ghZ6MzTrC/G1ZezChMBiX+LZl2MnK4HSiOzOTdRdaZTYK/fQK26NyT4WwqooKgICrAs9de OsjCq6J1Vh4npFdr3A9NdU/v0j0tGQffxOCZ83MkFbnqZkba7li7/qOJOIIk0waxSS43dW nPZw38Bpc3h9u8XYAuuft4gRdeRpHQpJK18X4HYxbmHSdKBj0z9TP9EHMFas5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wj4la+Xksc10pi1AxosoOiMwlIsunaIwtYZUaCIQOwY=; b=SFBZEORjZsl2ry5gLI/MbhrrRTEh5MiIjVs3VjMHabqdyluNKPcMFJxfs3TkytuQH8nk2C GEOKeiq8mXQS77Vau/aDp90whyhsx4bb/w62wX5CFHBehfP6baoajA4+lVIknhD64Ja9AX f45JBZQpyudXKMVGCDkZu1IyEhY9fRnVYt5Squag92XPgEh+m4chs1xE/xVR1VNaUMKFJL DvT5aqKhCJTVWykBTsGC3pHYCGjhJNvswo8OZ6uI80KCfSRYGbyJc6r2uUYcw/5gE4EjGV TRLGFiqwxpXeua42h8Rw7PYt9zM+EybjT7TGEbAA9sYxb7U3e0vLTPwGnmy2Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598348; a=rsa-sha256; cv=none; b=J93u3WyyyzTwigyoGXvUsCyuKfzsOperK2XLj3YrgcWL8LY7w+ZANADbq77mapVunrzF6H hteNhAqy9XwEqaxXZzhrUemLeSRZXfd1CSDucUbZCLoh52VkG9SFS00bmuzXYEB/K72o7V KEEWjn2aayUVcSx1M7CwQlKMV5s3XrOyb6IZ1/yckmBDOIJTpfOTVjDSbGUIV6x2ijDAZI 4DHGv98ZYB3InHGB/KB0TNKhsk8joJbQcW2nHed/ySScBC3XlS+BpDlIpOmUCe8PIv7+DW kQi7mFLds9rzCg4T4gT5SAfWwHsbxBD+wVhJ4DWLYAl40351LywpKpfcVGmK/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6N1ptbzQgX; Tue, 24 Jan 2023 22:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCSZp087062; Tue, 24 Jan 2023 22:12:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCS1v087061; Tue, 24 Jan 2023 22:12:28 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:28 GMT Message-Id: <202301242212.30OMCS1v087061@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: 9508e7be6540 - stable/13 - Revert "stand: Grammar fix for a source code comment" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9508e7be654005608dbf27fa30e7eab803866eb1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9508e7be654005608dbf27fa30e7eab803866eb1 commit 9508e7be654005608dbf27fa30e7eab803866eb1 Author: Gordon Bergling AuthorDate: 2022-09-05 13:40:55 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 Revert "stand: Grammar fix for a source code comment" This reverts commit 7d91d6b83e74edf278dde375e6049aca833cbebd. The orginal comment is more natural. Reported by:jrtc27 (cherry picked from commit 3c6db09bf45fd48e5e3c207f138ae1914dbeed0c) --- stand/ficl/ficl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/ficl/ficl.h b/stand/ficl/ficl.h index 45403824ad8f..97cf00b0dff3 100644 --- a/stand/ficl/ficl.h +++ b/stand/ficl/ficl.h @@ -149,7 +149,7 @@ ** inner loop. I'll look at it for ficl 3.0 ** - Make the main hash table a bigger prime (HASHSIZE) ** - FORGET about twiddling the hash function - my experience is -** that this is a waste of time. +** that that is a waste of time. ** - Eliminate the need to pass the pVM parameter on the stack ** by dedicating a register to it. Most words need access to the ** vm, but the parameter passing overhead can be reduced. One way From nobody Tue Jan 24 22:12:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6P6QSJz3bfxc; Tue, 24 Jan 2023 22:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6P4kwgz3D66; Tue, 24 Jan 2023 22:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hRRjWHWfRLK7NjauL9PuAkitgwSt7V7eHPNr5wOHnKY=; b=Okm/Dbg0sESegdqVyDgjSmban0vddN4fteE8einDFT5FNMKnhl8qgjuSqtbpvprverE9Tq aCN5RMzn4+1Evp951Y6zrRk+OIAd+Q3jlypsnOeyp0+X/kT44K31mXetbHWOToeyaz0KKq HF4k5MM8sD7HSux90NTWIc784K1aCuDYKoiyFqsfHuIq3kcQf+aHrxtMOrxUMjYR1uaGge dYqRGnJM/v+BhTv+pUSd8RD6UoWKJhF6ykF8JqNb3rduz1BvZWJs2OAz0LlqJ1yi+5euJO h31IudLsy8bJ3X8/RQ4YjmHqpQDROlJjZq5ACofytXXBqkiNJHTzdmQjqncCag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hRRjWHWfRLK7NjauL9PuAkitgwSt7V7eHPNr5wOHnKY=; b=SjZ9HgWV6H+zR3qELWc+Secs817SriwFA0OdRoNDAYinGpwBwuuYhKtwz6U1t8IphSKYKG Nr/r54kG+EyBffG2WPuaW7KXFvptUSNmhPQ/J1vDXz0XqV2TSK8L4iJIu/AeRREf1ib2sO vNvIEsXb9/Ec1UyVI7SnwGEwZ9/iZjSbDc+B61vV67s+UMWppV8wEAyRxdy9dJ1piVMm+E x2pAUZYZZh45XI1Pg/r3h4ODE6X28qR96lKkPH8iCdma1wZHokSSnd9Lvgu8Q+qo9uGpmM K37SMR8/vDBAH2JJH4WXcrdjIAQVBZWik8Jp2/0ClvITcKwSgfk8GU5cQXJJ8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598349; a=rsa-sha256; cv=none; b=xt4Fa7pnfYDJbVR5LwA8r60Ogr7bqtCRz3eOe36qAwwvEyMlU0LeZny75e5m4EVG5uSLjc j9v5AmRg2rYIMtkLLm5fJ0BgoRSqVEwB0t7TIfVWl1OFi0ds2mQqwEsXnUg9eXTBtU6AIl tCpJjhW7mu3BFPkfvP951iAl9UDTFLwVOkYit5wJ/nDj03Wm3zagbdv2f2yIdiMFIgONX3 OV9yvIqqoC0vFjCSF0K0VJBygykocQAMqM4rj+s7lr4t/0iJD2rShwGps+3puoPDkCGUv9 OJ75rfNxSU+P/MgWEY3oMGj3M4wzCnkUhM5uStjtEAa7qQHoygwi7BXSXM9Low== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6P2nftzQjc; Tue, 24 Jan 2023 22:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCT6J087086; Tue, 24 Jan 2023 22:12:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCTh7087085; Tue, 24 Jan 2023 22:12:29 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:29 GMT Message-Id: <202301242212.30OMCTh7087085@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: a79a53da7d99 - stable/13 - loader.efi(8): document slop control, amd64 nocopy, and amd64 fault commands List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a79a53da7d99aaf8b95ae96d74b5683e3b307797 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a79a53da7d99aaf8b95ae96d74b5683e3b307797 commit a79a53da7d99aaf8b95ae96d74b5683e3b307797 Author: Konstantin Belousov AuthorDate: 2022-09-04 07:36:35 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 loader.efi(8): document slop control, amd64 nocopy, and amd64 fault commands Reviewed by: imp Discussed with: gbe (man pages) English wording help by: rpokala Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D36435 (cherry picked from commit 85c8c0b77d164f00e7e6e1e94544c82041d43223) --- stand/man/loader.efi.8 | 117 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index 139988b111d4..b15ae53f2f9d 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -3,6 +3,11 @@ .\" .\" Copyright (c) 2019-2022 Netflix, Inc .\" Copyright (c) 2022 Mateusz Piotrowski <0mp@FreeBSD.org> +.\" Copyright 2022 The FreeBSD Foundation, Inc. +.\" +.\" Part of this documentation was written by +.\" Konstantin Belousov under sponsorship +.\" from the FreeBSD Foundation. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -27,7 +32,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 31, 2022 +.Dd September 4, 2022 .Dt LOADER.EFI 8 .Os .Sh NAME @@ -202,6 +207,116 @@ does not implement the probe .Fl P functionality where we use the video console if a keyboard is connected and a serial console otherwise. +.Ss Staging Slop +The kernel must parse the firmware memory map tables to know what memory +it can use. +Since it must allocate memory to do this, +.Nm +ensures there's extra memory available, called +.Dq slop , +after everything it loads +.Po +the kernel, modules and metadata +.Pc +for the kernel to bootstrap the memory allocator. +.Pp +By default, amd64 reserves 8MB. +The +.Ic staging_slop +command allows for tuning the slop size. +It takes a single argument, the size of the slop in bytes. +.Ss amd64 Nocopy +.Nm +will load the kernel into memory that is 2MB aligned below 4GB. +It cannot load to a fixed address because the UEFI firmware may reserve +arbitrary memory for its use at runtime. +Prior to +.Fx 13.1 , +kernels retained the old BIOS-boot protocol of loading at exactly 2MB. +Such kernels must be copied from their loaded location to 2MB prior +starting them up. +The +.Ic copy_staging +command is used to enable this copying for older kernels. +It takes a single argument +which can be one of +.Bl -tag -width disable +.It Ar disable +Force-disable copying staging area to +.Ad 2M . +.It Ar enable +Force-enable copying staging area to +.Ad 2M . +.It Ar auto +Selects the behaviour based on the kernel's capability of boostraping +from non-2M physical base. +The kernel reports this capability by exporting the symbol +.Va kernphys . +.El +.Pp +Arm64 loaders have operated in the +.Sq nocopy +mode from their inception, so there is no +.Ic copy_staging +command on that platform. +Riscv, 32-bit arm and arm64 have always loaded at any +.Ad 2MB +aligned location, so do not provide +.Ic copy_staging . +.Pp +.Bd -ragged -offset indent +.Sy Note. +BIOS loaders on i386 and amd64 put the staging area starting +at the physical address +.Ad 2M , +then enable paging with identical mapping for the low +.Ad 1G . +The initial port of +.Nm +followed the same scheme for handing control to the kernel, +since it avoided modifications for the loader/kernel hand-off protocol, +and for the kernel page table bootstrap. +.Pp +This approach is incompatible with the UEFI specification, +and as a practical matter, caused troubles on many boards, +because UEFI firmware is free to use any memory for its own needs. +Applications like +.Nm +must only use memory explicitly allocated using boot interfaces. +The original way also potentially destroyed UEFI runtime interfaces data. +.Pp +Eventually, +.Nm +and the kernel were improved to avoid this problem. +.Ed +.Ss amd64 Faults +Because it executes in x86 protected mode, the amd64 version of +.Nm +is susceptible to CPU faults due to programmer mistakes and +memory corruption. +To make debugging such faults easier, amd64 +.Nm +can provide detailed reporting of the CPU state at the time +of the fault. +.Pp +The +.Ic grab_faults +command installs a handler for faults directly in the IDT, +avoiding the use of the UEFI debugging interface +.Fn EFI_DEBUG_SUPPORT_PROTOCOL.RegisterExceptionCallback . +That interface is left available for advanced debuggers in +the UEFI environment. +The +.Ic ungrab_faults +command tries to deinstall the fault handler, returning TSS and IDT +CPU tables to their pre-installation state. +The +.Ic fault +command produces a fault in the +.Nm +environment for testing purposes, by executing the +.Ic ud2 +processor instruction. .Sh FILES .Bl -tag -width "/boot/loader.efi" .It Pa /boot/loader.efi From nobody Tue Jan 24 22:12:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6Q5vsGz3bfqJ; Tue, 24 Jan 2023 22:12: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 4P1h6Q4ntHz3DFL; Tue, 24 Jan 2023 22:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZG3j1SPZ0BRPzPon05S9in9Adstaiaiq5zWXZIPdu8o=; b=KT16F0Vgu90TOW64hcatBNMVQsSVP+AAapUnv7SKnuW0RU9VB7mpIPnrpT3p8cbst+UW+r rXirnQPXeNgiNVjl0DgdR7gwOFazvzm78uX3JpDpa6co+4U699ueX7pYtHIVOo0BLoRG8p AE60yzerOjbD8Ypi1T/H4unifCTejuwSaDk2AIcuNe4wTxD+qIBFx2s7YGLwdxz+XxB4tX F22cK4tFeAKPxaAmUbkc+YnI+YiP9PslUarSnV3ZF7+YSZUNwmWVfCgk2+bI4vyV2vxEW/ qTUBvZ0Pwrt73gTuD1krEtvr31EE22hH4IZZhaHnddYXfc9zXC5/eelq6RjPOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZG3j1SPZ0BRPzPon05S9in9Adstaiaiq5zWXZIPdu8o=; b=VVYN/0ARyRZqxlDMowkcOwG6fT1LDxAeLznaFGTcFwJr72iCR4K7vn3LLgt/jeuEd3Vcn9 4mIfnCCD6bHRvqaHImUIPitROSfWHBWg8AP2RkQUAYg1aRa2tXAyRL/ZWgn/xN/2GH2j3d 0TGoaJ7hIjwih2fzNYdU8RlH/RZKv9lCSPYT+rTjmr4z/xPXZSdjZtMeRfHg9x0PqIoD9m kvbxWTf5MMJI6W5pDL2e4lMXaIZN+8sqrFg8ECFibD1q95Vtn9wAGqa+VKLFG09kzdU8HX MYGO20mp7BX1Gd1f8umvGC5B/S0M7c6WZ/F0ngpsj1I0Vf6HUstGbelcxp48gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598350; a=rsa-sha256; cv=none; b=a3p/bPuZPWyUY1quF0qdPTevCt9eDqDEpBFZ3SAyXlOUWKEkgJOId6pu3cao/nMVHo/xYa x/5Sc9bU/ORFktr2HgBg9+W+rvELKO/fxWjlkdm4evsx+M7nQgK7zL0F7NQ7262dM9JqS6 NpxBU0t4M7dA5asrGfa0eNSS/QxvI9abuNOiAj6nc2Q4IeqKvomXGavjrr5QS+3VAp3Ae2 eL9qq9dq/b4+ah0qheHQXCmgfWqcYTusVTZv2u5RotCcztTnIP9fjy7oVjyQVmdtAMIZ4w DffK5V1jA59yOzYdKKEOHSEcxAQrsp09U9FgYH7C1Hx1lWtgbfffA9Lid2ypWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6Q3ry1zQfH; Tue, 24 Jan 2023 22:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCUuJ087114; Tue, 24 Jan 2023 22:12:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCUIJ087113; Tue, 24 Jan 2023 22:12:30 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:30 GMT Message-Id: <202301242212.30OMCUIJ087113@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: b9ec3ec2275c - stable/13 - stand: Add driver interface docs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b9ec3ec2275c6788fb91ebb8b641d5cd637fbed5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b9ec3ec2275c6788fb91ebb8b641d5cd637fbed5 commit b9ec3ec2275c6788fb91ebb8b641d5cd637fbed5 Author: Warner Losh AuthorDate: 2022-09-09 23:22:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:33 +0000 stand: Add driver interface docs Add some rather bare-bones driver interface docs. Sponsored by: Netflix Suggestions by: rpokala Reviewed by: pauamma Differential Revision: https://reviews.freebsd.org/D35912 (cherry picked from commit 45ad955714f8442a4485510de819755370a76af3) --- stand/libsa/libsa.3 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/stand/libsa/libsa.3 b/stand/libsa/libsa.3 index f1bfcd7b5be7..7bd7a848cd3d 100644 --- a/stand/libsa/libsa.3 +++ b/stand/libsa/libsa.3 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 22, 2018 +.Dd September 9, 2022 .Dt LIBSA 3 .Os .Sh NAME @@ -502,6 +502,12 @@ Returns -1 on error, 0 at EOF, or 1 if the user elects to quit while reading. .Sh MISC .Bl -hang -width 10n .It Xo +.Ft char * +.Fn devformat "struct devdesc *" +.Xc +.Pp +Format the specified device as a string. +.It Xo .Ft void .Fn twiddle void .Xc @@ -615,7 +621,7 @@ The device driver itself will already have been called for the close; this call should clean up any allocation made by devopen only. .It Xo .Ft void -.Fn abort +.Fn __abort .Xc .Pp Calls @@ -687,6 +693,65 @@ pointers should be terminated with a NULL. Devices are exported by the supporting code via the array .Vt struct devsw *devsw[] which is a NULL terminated array of pointers to device switch structures. +.Sh DRIVER INTERFACE +The driver needs to provide a common set of entry points that are +used by +.Nm libsa +to interface with the device. +.Bd -literal +struct devsw { + const char dv_name[DEV_NAMLEN]; + int dv_type; + int (*dv_init)(void); + int (*dv_strategy)(void *devdata, int rw, daddr_t blk, + size_t size, char *buf, size_t *rsize); + int (*dv_open)(struct open_file *f, ...); + int (*dv_close)(struct open_file *f); + int (*dv_ioctl)(struct open_file *f, u_long cmd, void *data); + int (*dv_print)(int verbose); + void (*dv_cleanup)(void); + void (*dv_fmtdev)(struct devdesc *); +}; +.Ed +.Bl -tag -width ".Fn dv_strategy" +.It Fn dv_name +The device's name. +.It Fn dv_type +Type of device. +The supported types are: +.Bl -tag -width "DEVT_NONE" +.It DEVT_NONE +.It DEVT_DISK +.It DEVT_NET +.It DEVT_CD +.It DEVT_ZFS +.It DEVT_FD +.El +Each type may have its own associated (struct type_devdesc), +which has the generic (struct devdesc) as its first member. +.It Fn dv_init +Driver initialization routine. +This routine should probe for available units. +Drivers are responsible for maintaining lists of units for later enumeration. +No other driver routines may be called before +.Fn dv_init +returns. +.It Fn dv_open +The driver open routine. +.It Fn dv_close +The driver close routine. +.It Fn dv_ioctl +The driver ioctl routine. +.It Fn dv_print +Prints information about the available devices. +Information should be presented with +.Fn pager_output . +.It Fn dv_cleanup +Cleans up any memory used by the device before the next stage is run. +.It Fn dv_fmtdev +Converts the specified devdesc to the canonical string representation +for that device. +.El .Sh HISTORY The .Nm From nobody Tue Jan 24 22:12:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6S0j82z3bgBN; Tue, 24 Jan 2023 22:12: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 4P1h6R5PHyz3D07; Tue, 24 Jan 2023 22:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GCTrY/qcwxLe9gyB3w1siSLQ7YB86CPyTdvKr/SdTDE=; b=kkY2wvM4F5zIzgi6HBtAHXX+WRgW/eTQWFMe6LRSwqTSYMCEmkk70JARj9e5iIgA4fbU2M GRiCyXYSUYgyoJg8EkEBpfhZlapuo1C5uvR224+ldlQibsaQ5EtB3btmdkIuR+5Ec0LQ22 2pgcx7CslixA4djF3rv0JcawF3CuDhB0GNsbrJPHZ9SoUpVjpOLHWIWBm3VjelrsInUxa0 7mPqSZBEN1mydqRCtWhWpgMxKeLuLH7tuqNqeqPnEQlZyh9R/H7b4E7ohR/DKv3o78K3Tp XQf/IBmFkQU0RY9M7lO6Rjz9zX2pe8NRGWN3rltX/DvAc1jkAf9NuUPdpZZIvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GCTrY/qcwxLe9gyB3w1siSLQ7YB86CPyTdvKr/SdTDE=; b=jbQYMGofQ7MMMpRLmbb21UXstvt7YtmbpQSLa1IvbCd1mOdpYg/Lq7JzCQzHW4a59LPr/p U3MwNBlwxzexgGHy4AfAtJv8IIo/541Su11RTs33H7rsxiOWwyMtnpFKKw9ObD0Gwb3sau Woy9WGfQcwrbEIUwS6esOFJswTb//n5hqF/PKvzBW7q4HSFM8+ghQsHSsjn96Am06+79xA dZObauZzypKWVEfrJ9WTAZDgIt8fXXJc/ZpnRsxzR/20LtAenK5fIRL1a9NNfQSjJUw21V gKFx7cWHvXje97Eg9WWSUTPz/d4UOepYwNAYwNK8hqCpLrus8AIh7vgmuZfDMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598351; a=rsa-sha256; cv=none; b=FWN1adzHXi/H2CtAIG20ZPiJU/MHKdgOc38AypAuLKBUvjhXwnBeKv6+Mh5ufbYjCGolwH XSKf1wGS0iavaoU+B5OAqyXCabZAWBSuQha7wgpZ92OJK8RkSkQIKZzMnEv/iDWia0fW0t ch+Y1eqEpgmcUZNEXF2uI1B8uyhaXqWBaN1cV6xglzbzXHMslqfjaGTe8PZKmDOhSzGWaH WnDrLflTf2KwuWea9lLehO8YWEn3aYQzYh6giKtvpHJ6AoRQRoyX4wFjVfd4JqnB3JgMJ4 NX2MyPg4Qh97dBSDGqnfuE4YcQCZqFtGHzmBX/nmbadtMFikPfWZPnwYs52DTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6R4Lb8zQpY; Tue, 24 Jan 2023 22:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCVZa087144; Tue, 24 Jan 2023 22:12:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCVxb087143; Tue, 24 Jan 2023 22:12:31 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:31 GMT Message-Id: <202301242212.30OMCVxb087143@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: 031b1942f92a - stable/13 - stand/efi: Clean the proper files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 031b1942f92a5c6321fe3773acb77f5b74e62b10 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=031b1942f92a5c6321fe3773acb77f5b74e62b10 commit 031b1942f92a5c6321fe3773acb77f5b74e62b10 Author: Guido van Rooij AuthorDate: 2022-09-15 15:10:20 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand/efi: Clean the proper files Need to clean the specific loader we build, not the generic loader.efi Reviewed by: imp (cherry picked from commit 0f97a0d425cf0c7fa3966e64b4f88e67a2ee2982) --- stand/efi/loader/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index e6083c2dd450..2aaba4fbb377 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -105,7 +105,7 @@ LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -pie LDFLAGS+= -Wl,--no-dynamic-linker .endif -CLEANFILES+= loader.efi +CLEANFILES+= ${LOADER}.efi ${LOADER}.efi: ${PROG} if ${NM} ${.ALLSRC} | grep ' U '; then \ From nobody Tue Jan 24 22:12:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6T0JKGz3bg5q; Tue, 24 Jan 2023 22:12: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 4P1h6S69hhz3D2j; Tue, 24 Jan 2023 22:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uEv0Qy2IB2w0RG1SQ5ZpSclQ5ScttQwqsGyR7PT1rSA=; b=AtggjqgYd0v7dNeVbx08Bpc56ejR22b1NI40L1jIAjIwft+0OLVNn52KUzYCXdn5F0EHo7 zH8v7tV8jRzgQX5urM6Wj58XtFkCWna/ppzbPdsp1q1xOgp1TXgWQtu4tx6emirN8toYCZ vI6tiDUjD8BrA/KT3Kh5p1MCM+uNwFehb6EIGr+ByTMY5seS0YxRrJKXvMca1R+EULeUIu T7KQfFwLpuj6WIvM6QK0hHlUKfvNmCbJXjSXsPUCTs3YyTgtbq7fBhb5EJ5p31+Tv5Wh8O on6aAFzA58D0gOvsaBNUe1OvuAWKUZjthfVJfASY//SC7xMSOzb1dp6hf0luUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uEv0Qy2IB2w0RG1SQ5ZpSclQ5ScttQwqsGyR7PT1rSA=; b=CrmkH6MAnRplpvGsMQ06YJEz+cRyu2I1W4mbjD/Via2u9HLpswK3SwmoF8xt3UgnICrYWY tXO0AVT8ruhZ852SxpA0d+eqyzQe51NcQ2atyf6n8sYb8Jp9A8FHRM97f9hx1rln+jA9yS zvRPmTTO2Ii+zko98gYtfHZyDorSMn+bb1nBjraICh4qw1rn85N7EpnqhwbjAz4uCbJHAr DVR0nUA+ZVlyvzCZSQ2hu8tt02Abu4Q8nCVLUla6wc6CamchBrxOw8hlJmeVnemRw9LZq1 XMQekyV2LkXWiF40hEdgN+3S6Sr8Se7/D7K6tAlJqdylSxUELQah6BmNJQQ8bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598352; a=rsa-sha256; cv=none; b=c5r1C/gG/Vb7Zqf5eOhq/mlgZc0PFDa1Tfo1n3AH2xkqSxdP2yf/0EoUXYaw5+W1VBH8QS cEonjN+hc3xHdVGS30a+j//SCwqTfyvTl2e5H6Zrbm3ofv2c59T4TLCw+Z3qSgDtONtmo+ dTmR2qjNh3ZFsPwsBJ/YY59xSOqQGoUYiIK5da5hWTF6x+mpcXHnqKdv8zknyVTnXn3E21 ymwKJ+lWCrwUCO5jRE/IAFAEntA2LNkW2b9SBQjZ4iyhSZSQyLqwJxMLYgeUFzG0w+nc7T nYlHzTcsU1QrSYxwYj7cIh/ryoZ0xxfUICxcJzAZDWFz76KHjvQTCKLQtbilCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6S51k7zQgb; Tue, 24 Jan 2023 22:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCWTJ087171; Tue, 24 Jan 2023 22:12:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCWTY087170; Tue, 24 Jan 2023 22:12:32 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:32 GMT Message-Id: <202301242212.30OMCWTY087170@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: 468109eba9d2 - stable/13 - stand: use archsw.arch_copyin instead of i386_copyin List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 468109eba9d2dddaf3fc7c91ae736cfd84b777a5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=468109eba9d2dddaf3fc7c91ae736cfd84b777a5 commit 468109eba9d2dddaf3fc7c91ae736cfd84b777a5 Author: Warner Losh AuthorDate: 2022-09-16 15:08:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: use archsw.arch_copyin instead of i386_copyin Since archsw.arch_copyin is always i386_copyin, this will be a nop in terms of functionality. This is a diff reduction against other copies of the code that differ only by what copyin routine they call. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D36568 (cherry picked from commit a705c72f214293a7aae5f83235a82f126f73e109) --- stand/i386/libi386/bootinfo.c | 10 +++++----- stand/i386/libi386/bootinfo32.c | 8 ++++---- stand/i386/libi386/bootinfo64.c | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/stand/i386/libi386/bootinfo.c b/stand/i386/libi386/bootinfo.c index bdf409b00ec0..84a0b3586a1c 100644 --- a/stand/i386/libi386/bootinfo.c +++ b/stand/i386/libi386/bootinfo.c @@ -116,18 +116,18 @@ bi_copyenv(vm_offset_t addr) /* traverse the environment */ for (ep = environ; ep != NULL; ep = ep->ev_next) { - i386_copyin(ep->ev_name, addr, strlen(ep->ev_name)); + archsw.arch_copyin(ep->ev_name, addr, strlen(ep->ev_name)); addr += strlen(ep->ev_name); - i386_copyin("=", addr, 1); + archsw.arch_copyin("=", addr, 1); addr++; if (ep->ev_value != NULL) { - i386_copyin(ep->ev_value, addr, strlen(ep->ev_value)); + archsw.arch_copyin(ep->ev_value, addr, strlen(ep->ev_value)); addr += strlen(ep->ev_value); } - i386_copyin("", addr, 1); + archsw.arch_copyin("", addr, 1); addr++; } - i386_copyin("", addr, 1); + archsw.arch_copyin("", addr, 1); addr++; return(addr); } diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 7afb11c6a3b7..dd919d0fad93 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -62,7 +62,7 @@ static struct bootinfo bi; #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ - i386_copyin(&x, a, sizeof(x)); \ + archsw.arch_copyin(&x, a, sizeof(x)); \ a += sizeof(x); \ } @@ -70,7 +70,7 @@ static struct bootinfo bi; COPY32(t, a, c); \ COPY32(strlen(s) + 1, a, c); \ if (c) \ - i386_copyin(s, a, strlen(s) + 1); \ + archsw.arch_copyin(s, a, strlen(s) + 1); \ a += roundup(strlen(s) + 1, sizeof(u_long));\ } @@ -82,7 +82,7 @@ static struct bootinfo bi; COPY32(t, a, c); \ COPY32(sizeof(s), a, c); \ if (c) \ - i386_copyin(&s, a, sizeof(s)); \ + archsw.arch_copyin(&s, a, sizeof(s)); \ a += roundup(sizeof(s), sizeof(u_long)); \ } @@ -93,7 +93,7 @@ static struct bootinfo bi; COPY32(MODINFO_METADATA | mm->md_type, a, c); \ COPY32(mm->md_size, a, c); \ if (c) \ - i386_copyin(mm->md_data, a, mm->md_size); \ + archsw.arch_copyin(mm->md_data, a, mm->md_size); \ a += roundup(mm->md_size, sizeof(u_long));\ } diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index e1dc704e0e1c..1e06c229ec30 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$"); #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ - i386_copyin(&x, a, sizeof(x)); \ + archsw.arch_copyin(&x, a, sizeof(x)); \ a += sizeof(x); \ } @@ -71,7 +71,7 @@ __FBSDID("$FreeBSD$"); COPY32(t, a, c); \ COPY32(strlen(s) + 1, a, c); \ if (c) \ - i386_copyin(s, a, strlen(s) + 1); \ + archsw.arch_copyin(s, a, strlen(s) + 1); \ a += roundup(strlen(s) + 1, sizeof(uint64_t));\ } @@ -83,7 +83,7 @@ __FBSDID("$FreeBSD$"); COPY32(t, a, c); \ COPY32(sizeof(s), a, c); \ if (c) \ - i386_copyin(&s, a, sizeof(s)); \ + archsw.arch_copyin(&s, a, sizeof(s)); \ a += roundup(sizeof(s), sizeof(uint64_t)); \ } @@ -94,7 +94,7 @@ __FBSDID("$FreeBSD$"); COPY32(MODINFO_METADATA | mm->md_type, a, c); \ COPY32(mm->md_size, a, c); \ if (c) \ - i386_copyin(mm->md_data, a, mm->md_size); \ + archsw.arch_copyin(mm->md_data, a, mm->md_size); \ a += roundup(mm->md_size, sizeof(uint64_t));\ } From nobody Tue Jan 24 22:12:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6V16kPz3bg5s; Tue, 24 Jan 2023 22:12: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 4P1h6V0Jdfz3DJZ; Tue, 24 Jan 2023 22:12:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ijEAtMFvkLFu+N3wLLufZLA5gH5rk2ACFwx3tnjJM2A=; b=KQjqI7RxawKe/+GnWgMwH9U9lm/yjddj8aMkku7Kcg8EfQ8SIgf3WdIjbvjIjUd26x77Z3 pplfwlFg+L6bBdC38oUs1XdqxWDIzNyjdMRnb9hnp19vIuzcT5LtjTLJIgRCZ4iDBrQ58b n4SmT+nrANkg56nAW5YB+qKsJCPGHgfrXyY4tqq7yvVNocBGzs81QXAKDHhmmwyEr8MJhO G15z8bAejoPWAEAPTfcfTgvs9M40ALBEcHflAYfef+eB5nM4bYGHCk/epQ3tAu2LrQOQZQ QjHhgec63MmbYpMhvtEN1+EPhJMn1Ke9H8TeSxnqEF8jQBI+1WRvKkB83+4rRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ijEAtMFvkLFu+N3wLLufZLA5gH5rk2ACFwx3tnjJM2A=; b=dVKYQyim3bJ3ZULDshWmkaqZ7Rhaq1zPmXAll6raWR5cgTqg6GWxg2hjazsq4NOSEzqXRu grBTQqK02k0SGJQOuHNPeMhNxq4EIvTh/02E/5aEsI7NkCAmUOVMCk6pNvAWkt4bYQbUGF TdVlREFACzZToDcJ0nhkRQGPo7gNpkQEZLQqp97/21ql8SNH44vfTRDVMJShzO/J62gwjY /tl1I6txeCYk9wVeQYnJsrSdxWyYSVqhU2YTUlxsvuuL216wnQMKcEhGc3JIgxAK27N4Z9 9mq54/jMwuoo/Iv//axFsm4IActdzTR2CmyvlyZ7W6cYXjoITIepl6jhFuo/1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598354; a=rsa-sha256; cv=none; b=irYmjrocRrfJQcQSd7XnaC6mAWA/Y8O99J3NHh8Ihgtb/sEPI8E47IbrWm0rXQiRS6rFYR BkgnDO1Ez4WFFuYN9Uyiq5Af4JbbNFVT3cpP6XsLl1FTcIy06mSL0PThypi+urtSDUONO9 3bbBfeCJwvGJUga7bdMsFrUKadXKvY/iSkPkmc6Zsc62p/zVW1LKO+tcVCGTT3sprabyYf nefGj+jM1vXbklarz1Gp6+dbl/AbiM19c8GgoWTAsg9EtRHkM8umkHlOJnV90X0BaYcZp5 GvJRz9T94Ujxuxq8/MOytHLfJX2sfXecM9ti6VI17zU9vGmXWbJ05/JbmTkzWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6T69pJzQgc; Tue, 24 Jan 2023 22:12:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCX0v087195; Tue, 24 Jan 2023 22:12:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCX6m087194; Tue, 24 Jan 2023 22:12:33 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:33 GMT Message-Id: <202301242212.30OMCX6m087194@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: cf96360237ea - stable/13 - stand: use archsw.arch_copyin instead of direct call List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cf96360237eada5ff5626832b4fb09c0e8b1b63f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cf96360237eada5ff5626832b4fb09c0e8b1b63f commit cf96360237eada5ff5626832b4fb09c0e8b1b63f Author: Warner Losh AuthorDate: 2022-09-16 15:08:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: use archsw.arch_copyin instead of direct call This replaces the CALLBACK(copyin, ...) with a call to archsw.arch_copyin which points to a function that does the callback. More diff reduction for the multiple copies of these routines in the tree. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36569 (cherry picked from commit 4c670b53a0007739a0fc84ea4bc24a5895953aae) --- stand/userboot/userboot/bootinfo.c | 10 +++++----- stand/userboot/userboot/bootinfo32.c | 8 ++++---- stand/userboot/userboot/bootinfo64.c | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/stand/userboot/userboot/bootinfo.c b/stand/userboot/userboot/bootinfo.c index 43088e2a7c0e..36a5e1982313 100644 --- a/stand/userboot/userboot/bootinfo.c +++ b/stand/userboot/userboot/bootinfo.c @@ -96,18 +96,18 @@ bi_copyenv(vm_offset_t addr) /* traverse the environment */ for (ep = environ; ep != NULL; ep = ep->ev_next) { - CALLBACK(copyin, ep->ev_name, addr, strlen(ep->ev_name)); + archsw.arch_copyin(ep->ev_name, addr, strlen(ep->ev_name)); addr += strlen(ep->ev_name); - CALLBACK(copyin, "=", addr, 1); + archsw.arch_copyin("=", addr, 1); addr++; if (ep->ev_value != NULL) { - CALLBACK(copyin, ep->ev_value, addr, strlen(ep->ev_value)); + archsw.arch_copyin(ep->ev_value, addr, strlen(ep->ev_value)); addr += strlen(ep->ev_value); } - CALLBACK(copyin, "", addr, 1); + archsw.arch_copyin("", addr, 1); addr++; } - CALLBACK(copyin, "", addr, 1); + archsw.arch_copyin("", addr, 1); addr++; return(addr); } diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index b830b767906d..26376709e899 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -61,7 +61,7 @@ static struct bootinfo bi; #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ - CALLBACK(copyin, &x, a, sizeof(x)); \ + archsw.arch_copyin(&x, a, sizeof(x)); \ a += sizeof(x); \ } @@ -69,7 +69,7 @@ static struct bootinfo bi; COPY32(t, a, c); \ COPY32(strlen(s) + 1, a, c); \ if (c) \ - CALLBACK(copyin, s, a, strlen(s) + 1); \ + archsw.arch_copyin(s, a, strlen(s) + 1);\ a += roundup(strlen(s) + 1, sizeof(uint32_t));\ } @@ -81,7 +81,7 @@ static struct bootinfo bi; COPY32(t, a, c); \ COPY32(sizeof(s), a, c); \ if (c) \ - CALLBACK(copyin, &s, a, sizeof(s)); \ + archsw.arch_copyin(&s, a, sizeof(s)); \ a += roundup(sizeof(s), sizeof(uint32_t)); \ } @@ -92,7 +92,7 @@ static struct bootinfo bi; COPY32(MODINFO_METADATA | mm->md_type, a, c); \ COPY32(mm->md_size, a, c); \ if (c) \ - CALLBACK(copyin, mm->md_data, a, mm->md_size); \ + archsw.arch_copyin(mm->md_data, a, mm->md_size);\ a += roundup(mm->md_size, sizeof(uint32_t));\ } diff --git a/stand/userboot/userboot/bootinfo64.c b/stand/userboot/userboot/bootinfo64.c index 0086ef21b60a..f2713adf5513 100644 --- a/stand/userboot/userboot/bootinfo64.c +++ b/stand/userboot/userboot/bootinfo64.c @@ -58,7 +58,7 @@ __FBSDID("$FreeBSD$"); #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ - CALLBACK(copyin, &x, a, sizeof(x)); \ + archsw.arch_copyin(&x, a, sizeof(x)); \ a += sizeof(x); \ } @@ -66,7 +66,7 @@ __FBSDID("$FreeBSD$"); COPY32(t, a, c); \ COPY32(strlen(s) + 1, a, c); \ if (c) \ - CALLBACK(copyin, s, a, strlen(s) + 1); \ + archsw.arch_copyin(s, a, strlen(s) + 1);\ a += roundup(strlen(s) + 1, sizeof(uint64_t));\ } @@ -78,7 +78,7 @@ __FBSDID("$FreeBSD$"); COPY32(t, a, c); \ COPY32(sizeof(s), a, c); \ if (c) \ - CALLBACK(copyin, &s, a, sizeof(s)); \ + archsw.arch_copyin(&s, a, sizeof(s)); \ a += roundup(sizeof(s), sizeof(uint64_t)); \ } @@ -89,7 +89,7 @@ __FBSDID("$FreeBSD$"); COPY32(MODINFO_METADATA | mm->md_type, a, c); \ COPY32(mm->md_size, a, c); \ if (c) \ - CALLBACK(copyin, mm->md_data, a, mm->md_size); \ + archsw.arch_copyin(mm->md_data, a, mm->md_size);\ a += roundup(mm->md_size, sizeof(uint64_t));\ } From nobody Tue Jan 24 22:12:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6W1CWMz3bfyS; Tue, 24 Jan 2023 22:12: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 4P1h6W0jc8z3DRX; Tue, 24 Jan 2023 22:12:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kvUckfE6KGzyOqUdt4QrRuD+AxTWQdqCfCTN1wx+L8=; b=OmgfvIzm8bkMCf/JlUHQyIK1yKvH3bOJ+VjbSfNGR7WaUNfl5i5PLjizuUZ0ROBkWwkSWV eT3CT6/sNb6O8vnvhHfiBGvDOGmUpO8H4hWx8nuMwXw0E8mRLLGOcQ05ZUFdJv8VmDsLvC UI8jVdKDb5uEq/KYH/3/tphwNeJPxqQNFcxPT2gM1Z4tllRrVakNqA2qFzxSt9jVTUVYAs Cpa32DDUPD+sFQc2gobRatPhPKIUIP/m8wn32I6NBKVXGRbXgpxi2DvGPkK8AVtf9FoAg+ uqmR/J1yinCWC9Z+QOzT0IJWX1IUVDCpikkhYoryRaFtKl05kQY/AulTXb6Few== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kvUckfE6KGzyOqUdt4QrRuD+AxTWQdqCfCTN1wx+L8=; b=A038OSh7UNajNg6aPT6Bxc62HarunXcDPv+6Vz/Xus9rzxk3Yt1EUxLGpL3vw8kPHy3UYK zO46RFTlnG22P4mb2cWytwa8i08Fzr6FXMUVHPrqCCCTzQFnIDwjmZeIx6/l5LJsuaRACZ bLF2CX4IsdFijnWxcUEubJ/2B1WcrPakqz+tZmciAt/6/LjDGvCnYXe/mAzzWitxo/yftT sS+NonS3dERZlr9a7peY9mcfQ+hMoHsxZuXnxdHPsdmF0ETL0hIcBvUK3jQ7JKu7811aJs g2AfElvJd840dIY5UrvnVAp8PGjScRsq816kq2R0bT6Itb8B38sGJLRBfSexIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598355; a=rsa-sha256; cv=none; b=OuhDlTbEfEmdeHzwXqrsSYyYFxHN3KYJYlw5TYrTc+jxNhV7491S1RMTjoBGF15PwFugli qOzGulFufGheDGNr2ifcKOIIGMaWxs2Il/YpvVN/Y+GU3FvMPIGbeNa5t2ipBJYntLp/nH HIWB4BE1cEhoAj3DgolO8ROn7g4pHRAkGTxqL2h94dR3/lJXY9DAFxSpVH+3cvnc5Z2TZy 0m1y/xZw7QS6ap6UMtfflmrxV1CDeJloRyI7cSHPw9iuqhXUe9S0d9n1hEFbdwcMRHtU9Y BSwW2CmixkQ3LWel2mbeUkwQYmOGDhB8tTXW8nmsmVf9W052RR9kfsJHTvsdAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6V6syjzQYD; Tue, 24 Jan 2023 22:12:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCYQ0087219; Tue, 24 Jan 2023 22:12:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCYZw087218; Tue, 24 Jan 2023 22:12:34 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:34 GMT Message-Id: <202301242212.30OMCYZw087218@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: 9bc956361bcc - stable/13 - stand: Create MOD_ALIGN macro and use it everywhere List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9bc956361bccb51a1349f4c903bfe1462f3b16cf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9bc956361bccb51a1349f4c903bfe1462f3b16cf commit 9bc956361bccb51a1349f4c903bfe1462f3b16cf Author: Warner Losh AuthorDate: 2022-09-16 15:08:37 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: Create MOD_ALIGN macro and use it everywhere To further reduce the differences between the different MOD_xxx macros, use MOD_ALIGN to do the proper alignment for the given use. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36570 (cherry picked from commit 8b19d28d68a396b0263e3c13a559a31f70eb3b1d) --- stand/common/metadata.c | 7 ++++--- stand/efi/loader/bootinfo.c | 9 +++++---- stand/i386/libi386/bootinfo32.c | 7 ++++--- stand/i386/libi386/bootinfo64.c | 7 ++++--- stand/userboot/userboot/bootinfo32.c | 7 ++++--- stand/userboot/userboot/bootinfo64.c | 7 ++++--- 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index a9c81added02..cb92537d1ce2 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -111,6 +111,7 @@ md_copyenv(vm_offset_t addr) static int align; +#define MOD_ALIGN(l) roundup(l, align) #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ @@ -123,7 +124,7 @@ static int align; COPY32(strlen(s) + 1, a, c) \ if (c) \ archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += roundup(strlen(s) + 1, align); \ + a += MOD_ALIGN(strlen(s) + 1); \ } #define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) @@ -135,7 +136,7 @@ static int align; COPY32(sizeof(s), a, c); \ if (c) \ archsw.arch_copyin(&s, a, sizeof(s)); \ - a += roundup(sizeof(s), align); \ + a += MOD_ALIGN(sizeof(s)); \ } #define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) @@ -146,7 +147,7 @@ static int align; COPY32(mm->md_size, a, c); \ if (c) \ archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += roundup(mm->md_size, align); \ + a += MOD_ALIGN(mm->md_size); \ } #define MOD_END(a, c) { \ diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 7f1a2f840f78..542f15a471d9 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -182,6 +182,7 @@ bi_copyenv(vm_offset_t start) * MOD_SIZE sizeof(size_t) module size * MOD_METADATA (variable) type-specific metadata */ +#define MOD_ALIGN(l) roundup(l, sizeof(u_long)) #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ @@ -194,7 +195,7 @@ bi_copyenv(vm_offset_t start) COPY32(strlen(s) + 1, a, c); \ if (c) \ archsw.arch_copyin(s, a, strlen(s) + 1); \ - a += roundup(strlen(s) + 1, sizeof(u_long)); \ + a += MOD_ALIGN(strlen(s) + 1); \ } #define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) @@ -206,7 +207,7 @@ bi_copyenv(vm_offset_t start) COPY32(sizeof(s), a, c); \ if (c) \ archsw.arch_copyin(&s, a, sizeof(s)); \ - a += roundup(sizeof(s), sizeof(u_long)); \ + a += MOD_ALIGN(sizeof(s)); \ } #define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) @@ -216,8 +217,8 @@ bi_copyenv(vm_offset_t start) COPY32(MODINFO_METADATA | mm->md_type, a, c); \ COPY32(mm->md_size, a, c); \ if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size); \ - a += roundup(mm->md_size, sizeof(u_long)); \ + archsw.arch_copyin(mm->md_data, a, mm->md_size); \ + a += MOD_ALIGN(mm->md_size); \ } #define MOD_END(a, c) { \ diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index dd919d0fad93..207fe9a3fde8 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -59,6 +59,7 @@ static struct bootinfo bi; * MOD_SIZE sizeof(size_t) module size * MOD_METADATA (variable) type-specific metadata */ +#define MOD_ALIGN(l) roundup(l, sizeof(u_long)) #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ @@ -71,7 +72,7 @@ static struct bootinfo bi; COPY32(strlen(s) + 1, a, c); \ if (c) \ archsw.arch_copyin(s, a, strlen(s) + 1); \ - a += roundup(strlen(s) + 1, sizeof(u_long));\ + a += MOD_ALIGN(strlen(s) + 1); \ } #define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) @@ -83,7 +84,7 @@ static struct bootinfo bi; COPY32(sizeof(s), a, c); \ if (c) \ archsw.arch_copyin(&s, a, sizeof(s)); \ - a += roundup(sizeof(s), sizeof(u_long)); \ + a += MOD_ALIGN(sizeof(s)); \ } #define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) @@ -94,7 +95,7 @@ static struct bootinfo bi; COPY32(mm->md_size, a, c); \ if (c) \ archsw.arch_copyin(mm->md_data, a, mm->md_size); \ - a += roundup(mm->md_size, sizeof(u_long));\ + a += MOD_ALIGN(mm->md_size); \ } #define MOD_END(a, c) { \ diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index 1e06c229ec30..e088c27347be 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); * MOD_SIZE sizeof(size_t) module size * MOD_METADATA (variable) type-specific metadata */ +#define MOD_ALIGN(l) roundup(l, sizeof(uint64_t)) #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ @@ -72,7 +73,7 @@ __FBSDID("$FreeBSD$"); COPY32(strlen(s) + 1, a, c); \ if (c) \ archsw.arch_copyin(s, a, strlen(s) + 1); \ - a += roundup(strlen(s) + 1, sizeof(uint64_t));\ + a += MOD_ALIGN(strlen(s) + 1); \ } #define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) @@ -84,7 +85,7 @@ __FBSDID("$FreeBSD$"); COPY32(sizeof(s), a, c); \ if (c) \ archsw.arch_copyin(&s, a, sizeof(s)); \ - a += roundup(sizeof(s), sizeof(uint64_t)); \ + a += MOD_ALIGN(sizeof(s)); \ } #define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) @@ -95,7 +96,7 @@ __FBSDID("$FreeBSD$"); COPY32(mm->md_size, a, c); \ if (c) \ archsw.arch_copyin(mm->md_data, a, mm->md_size); \ - a += roundup(mm->md_size, sizeof(uint64_t));\ + a += MOD_ALIGN(mm->md_size); \ } #define MOD_END(a, c) { \ diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index 26376709e899..bd2729927349 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -58,6 +58,7 @@ static struct bootinfo bi; * MOD_SIZE sizeof(size_t) module size * MOD_METADATA (variable) type-specific metadata */ +#define MOD_ALIGN(l) roundup(l, sizeof(uint32_t)) #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ @@ -70,7 +71,7 @@ static struct bootinfo bi; COPY32(strlen(s) + 1, a, c); \ if (c) \ archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += roundup(strlen(s) + 1, sizeof(uint32_t));\ + a += MOD_ALIGN(strlen(s) + 1); \ } #define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) @@ -82,7 +83,7 @@ static struct bootinfo bi; COPY32(sizeof(s), a, c); \ if (c) \ archsw.arch_copyin(&s, a, sizeof(s)); \ - a += roundup(sizeof(s), sizeof(uint32_t)); \ + a += MOD_ALIGN(sizeof(s)); \ } #define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) @@ -93,7 +94,7 @@ static struct bootinfo bi; COPY32(mm->md_size, a, c); \ if (c) \ archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += roundup(mm->md_size, sizeof(uint32_t));\ + a += MOD_ALIGN(mm->md_size); \ } #define MOD_END(a, c) { \ diff --git a/stand/userboot/userboot/bootinfo64.c b/stand/userboot/userboot/bootinfo64.c index f2713adf5513..5fffb04d8d75 100644 --- a/stand/userboot/userboot/bootinfo64.c +++ b/stand/userboot/userboot/bootinfo64.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); * MOD_SIZE sizeof(size_t) module size * MOD_METADATA (variable) type-specific metadata */ +#define MOD_ALIGN(l) roundup(l, sizeof(uint64_t)) #define COPY32(v, a, c) { \ uint32_t x = (v); \ if (c) \ @@ -67,7 +68,7 @@ __FBSDID("$FreeBSD$"); COPY32(strlen(s) + 1, a, c); \ if (c) \ archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += roundup(strlen(s) + 1, sizeof(uint64_t));\ + a += MOD_ALIGN(strlen(s) + 1); \ } #define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) @@ -79,7 +80,7 @@ __FBSDID("$FreeBSD$"); COPY32(sizeof(s), a, c); \ if (c) \ archsw.arch_copyin(&s, a, sizeof(s)); \ - a += roundup(sizeof(s), sizeof(uint64_t)); \ + a += MOD_ALIGN(sizeof(s)); \ } #define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) @@ -90,7 +91,7 @@ __FBSDID("$FreeBSD$"); COPY32(mm->md_size, a, c); \ if (c) \ archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += roundup(mm->md_size, sizeof(uint64_t));\ + a += MOD_ALIGN(mm->md_size); \ } #define MOD_END(a, c) { \ From nobody Tue Jan 24 22:12:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6X4vMQz3bg93; Tue, 24 Jan 2023 22:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6X2VV0z3DTr; Tue, 24 Jan 2023 22:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+lBHWo1YQMhcKNkRmK0E+YP0BqO+aACLdqJZgKdo/GA=; b=Wy55hVPCvz+RGJ4qKTqm9GRHoWrfX3t6ynyZ6RTzb2fHsgL2sSUB8oMi+Zk6fTqpm7M0DV NxIsiMf1Af0gcLjv9opMGxVReK2KyjfThR/VNJrlzvaHTjYF6SgGmrE4hghN0MgIwUrJ7O 3JQkAAHa4yS7t2nnG7WNWE4H00Xm4+GidRq8R0ay94aJXyEbJphlJxoXQ9gVJq3NLtteM0 FyUOW71yO3j+YO3uzaR7MKLoHPtSgevkwJrZo3nqz6UK4Xrr/OZp1ltELm4yEBHICjZaWW g3FZQwvGffrBOIBCLNBJpm1gd6yuqUX+nvKSEjaw6dAGD7a3xdkDFKIDg4iW9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+lBHWo1YQMhcKNkRmK0E+YP0BqO+aACLdqJZgKdo/GA=; b=Y22n+xxaMJ6so3Ou8/mzh9ALwlo7Q9ysJTvQJ5UXTRhF3yaGxZLsGp2DIrVBpI1vDFbcPX P+KXyINnofpprgDHb63DhKPtka9z8tUjomLIwIt84J5IP+v6FF6knBf1Y2paSP7V7ilXCq BMBETOXB5ZytHAIwB/EeYK2gmsJw83Yb1AKhgxA5L/1AxIkNfYKZekXiHN8004y2l90SnO zkESaYtJsraBmBNc0EZZoFEAEn3q7Qw1YHn4aq0dsvcKo7zrLddzNeGDEuIi5Unk33l0XH t9syJeVxg44bZJpJEgcXqQ5c1od7uov79LvOcS7J39WWd654LbWcALbx08fQAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598356; a=rsa-sha256; cv=none; b=ScB5TFR6dCNVVLvsCbZBpOt5nhl72uMek64d78WoyfHAxEMCEuW3cj/Dmop1wtJis7UsDI GICxN0pbiFV+QTjAbnv9/+Y0EZclB8vkqguxxFuNjICga32FXnfM+IczymMefo6RTffFAW rJwY/nEW9ijdQBX43eq6xgiw6wmAkTM9p8rUGA4+wQfqic5YIrogG3nnmDnOfAW1bGAq+6 XETptUxjdSJ2pBh0eHV0C4687EervMRJ8xJZ1lP4WK6c314V/uGwnMvwA3Rc8kL8/p7CzT jxbGGEsUiEuZ3MqPVfW1HyZRx22LyKERRcmKBcq/gRAt3qL4f+tDITt6pJy9vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6X0hgjzQVQ; Tue, 24 Jan 2023 22:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCaG5087246; Tue, 24 Jan 2023 22:12:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCaER087245; Tue, 24 Jan 2023 22:12:36 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:36 GMT Message-Id: <202301242212.30OMCaER087245@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: 52804bde1baf - stable/13 - stand: Create common/modinfo.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 52804bde1baf251701e345879dff30205abdc6de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=52804bde1baf251701e345879dff30205abdc6de commit 52804bde1baf251701e345879dff30205abdc6de Author: Warner Losh AuthorDate: 2022-09-16 15:08:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: Create common/modinfo.h Move all the MOD_xxx macros to this header. Each user of this interface is currently required to define MOD_ALIGNMENT(l). modinfo was selected because it sits inbetween modules and metadata and will make it easier to migrate to new, shared intefaces. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36571 (cherry picked from commit bca9c87b6104219af35ae5ea4a6af098a1631bca) --- stand/common/metadata.c | 61 +----------------------------- stand/common/modinfo.h | 72 ++++++++++++++++++++++++++++++++++++ stand/efi/loader/bootinfo.c | 66 +++------------------------------ stand/i386/libi386/bootinfo32.c | 59 ++--------------------------- stand/i386/libi386/bootinfo64.c | 59 ++--------------------------- stand/userboot/userboot/bootinfo32.c | 58 +---------------------------- stand/userboot/userboot/bootinfo64.c | 59 ++--------------------------- 7 files changed, 90 insertions(+), 344 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index cb92537d1ce2..99b67cfd1060 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" +#include "modinfo.h" #ifdef LOADER_GELI_SUPPORT #include "geliboot.h" @@ -92,68 +93,8 @@ md_copyenv(vm_offset_t addr) return(addr); } -/* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata - */ - static int align; - #define MOD_ALIGN(l) roundup(l, align) -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c) \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c);\ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} static vm_offset_t md_copymodules(vm_offset_t addr, int kern64) diff --git a/stand/common/modinfo.h b/stand/common/modinfo.h new file mode 100644 index 000000000000..245784ccb2ed --- /dev/null +++ b/stand/common/modinfo.h @@ -0,0 +1,72 @@ +/*- + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#ifndef COMMON_MODINFO_H +#define COMMON_MODINFO_H + +/* + * Copy module-related data into the load area, where it can be + * used as a directory for loaded modules. + * + * Module data is presented in a self-describing format. Each datum + * is preceded by a 32-bit identifier and a 32-bit size field. + * + * Currently, the following data are saved: + * + * MOD_NAME (variable) module name (string) + * MOD_TYPE (variable) module type (string) + * MOD_ARGS (variable) module parameters (string) + * MOD_ADDR sizeof(vm_offset_t) module load address + * MOD_SIZE sizeof(size_t) module size + * MOD_METADATA (variable) type-specific metadata + * + * Clients are required to define a MOD_ALIGN(l) macro which rounds the passed + * in length to the required alignment for the kernel being booted. + */ + +#define COPY32(v, a, c) { \ + uint32_t x = (v); \ + if (c) \ + archsw.arch_copyin(&x, a, sizeof(x)); \ + a += sizeof(x); \ +} + +#define MOD_STR(t, a, s, c) { \ + COPY32(t, a, c); \ + COPY32(strlen(s) + 1, a, c) \ + if (c) \ + archsw.arch_copyin(s, a, strlen(s) + 1);\ + a += MOD_ALIGN(strlen(s) + 1); \ +} + +#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) +#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) +#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) + +#define MOD_VAR(t, a, s, c) { \ + COPY32(t, a, c); \ + COPY32(sizeof(s), a, c); \ + if (c) \ + archsw.arch_copyin(&s, a, sizeof(s)); \ + a += MOD_ALIGN(sizeof(s)); \ +} + +#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) +#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) + +#define MOD_METADATA(a, mm, c) { \ + COPY32(MODINFO_METADATA | mm->md_type, a, c);\ + COPY32(mm->md_size, a, c); \ + if (c) \ + archsw.arch_copyin(mm->md_data, a, mm->md_size);\ + a += MOD_ALIGN(mm->md_size); \ +} + +#define MOD_END(a, c) { \ + COPY32(MODINFO_END, a, c); \ + COPY32(0, a, c); \ +} + +#endif /* COMMON_MODINFO_H */ diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 542f15a471d9..05dfc9f59c1f 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" +#include "modinfo.h" #include "loader_efi.h" #if defined(__amd64__) @@ -60,6 +61,11 @@ __FBSDID("$FreeBSD$"); #include "geliboot.h" #endif +/* + * Align to a pointer / long + */ +#define MOD_ALIGN(l) roundup(l, sizeof(u_long)) + int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); @@ -166,66 +172,6 @@ bi_copyenv(vm_offset_t start) return(last); } -/* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata - */ -#define MOD_ALIGN(l) roundup(l, sizeof(u_long)) -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c); \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1); \ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c); \ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size); \ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} - static vm_offset_t bi_copymodules(vm_offset_t addr) { diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 207fe9a3fde8..f00c692a3993 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include "bootstrap.h" +#include "modinfo.h" #include "libi386.h" #include "btxv86.h" @@ -44,64 +45,10 @@ __FBSDID("$FreeBSD$"); static struct bootinfo bi; /* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata + * We have 4 byte alignment for 32-bit targets. This code is compiled as 32-bit + * code... */ #define MOD_ALIGN(l) roundup(l, sizeof(u_long)) -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c); \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1); \ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c); \ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size); \ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} static vm_offset_t bi_copymodules32(vm_offset_t addr) diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index e088c27347be..18ed4af3e27f 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include "bootstrap.h" +#include "modinfo.h" #include "libi386.h" #include "btxv86.h" @@ -45,64 +46,10 @@ __FBSDID("$FreeBSD$"); #endif /* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata + * We have 8 byte alignment for 64-bit targets. This code is compiled as 64-bit + * code... */ #define MOD_ALIGN(l) roundup(l, sizeof(uint64_t)) -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c); \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1); \ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c); \ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size); \ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} static vm_offset_t bi_copymodules64(vm_offset_t addr) diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index bd2729927349..a717f4ad1f5a 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" +#include "modinfo.h" #include "libuserboot.h" #ifdef LOADER_GELI_SUPPORT @@ -43,64 +44,9 @@ __FBSDID("$FreeBSD$"); static struct bootinfo bi; /* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata + * We have 4 byte alignment for 32-bit targets. */ #define MOD_ALIGN(l) roundup(l, sizeof(uint32_t)) -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c); \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c); \ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} static vm_offset_t bi_copymodules32(vm_offset_t addr) diff --git a/stand/userboot/userboot/bootinfo64.c b/stand/userboot/userboot/bootinfo64.c index 5fffb04d8d75..773f59474bf4 100644 --- a/stand/userboot/userboot/bootinfo64.c +++ b/stand/userboot/userboot/bootinfo64.c @@ -37,67 +37,14 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" +#include "modinfo.h" #include "libuserboot.h" /* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata + * We have 8 byte alignment for 64-bit targets. This code is compiled as 32-bit + * code... */ #define MOD_ALIGN(l) roundup(l, sizeof(uint64_t)) -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c); \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c); \ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} static vm_offset_t bi_copymodules64(vm_offset_t addr) From nobody Tue Jan 24 22:12:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6Y4HWNz3bfyt; Tue, 24 Jan 2023 22:12: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 4P1h6Y2dTVz3DQ2; Tue, 24 Jan 2023 22:12:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C0nkvQ6gB5WW9nobvIoqNmYtVzBoOTHxtqP9JxOkiEw=; b=esbphbNFXiThFlsz0ST/j0s1lB0T2j2BPZfw3qE735r7RSHYW1rFw0HHR97p7H5JfMYBoh gy7vLwA7TyDQWRlPYkyDmadpzg/erdr89ocGLs4dP7Du3vq/KPKV1S8Ebf8I2Dy2n6xSsf RAmYhAfTLwY90lDvJWBr0DpB+R6um3TiR6yQM2/MxsjB98LJiEXCf1uy/OD3a3qo3tXHpq /80YMB19f0GZtFcHFegCA8UF4u4ba57dEW8TT88VkPCCfC+hoaeglfOfteGU4W/h0Ecb4C 2bCMa4wj+GRFOnkqODMB2Ny58Lpw3vUqRfbbVOikudRYBlTVfrNP7geFm0yRZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C0nkvQ6gB5WW9nobvIoqNmYtVzBoOTHxtqP9JxOkiEw=; b=lG/DZajDUtFC5D4/RNN1gsiWMpIXPuL35YH7c0eCOvjilGUmXJbrvE2KPxSLIaxVEdfNB4 EeLlPSgACIBlEZSyGxw7fvFV6cRWJHSR3MAHOrACZ3CkFaABnE1PLw53cBODK2xBCr2lbq 7naGzqkl0XAOKgVv4lOFHzqAkANZK0nxfoISuVCV3QhHBQnrBLFril/otdfD2urUrMMk4t z8F+pddpSuP+u7R/0eZ2sw8UB06l7UgS2RQd38u6r7Ds7tQYHWwFJSIKm+b3NwshkO2EM6 JF7eJ+zPvCJzTUnFEGuNTVkJ5q5hcVg1QSQRusBxNxGkW1Vkl9ecHMDv8jPfRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598357; a=rsa-sha256; cv=none; b=dhmQTJKxKsc1Unx2WQtF4tqt/EO0iaiZyAGZsLb6DJ7s2UBFsvaqPMEnFUDf1MsX3AfYJV 1RF5wZCHMxWSzB56rNzDfe0C1OREAfmy0k58NxzBvKz/EeEfcaz/0aMwTBJbaN37bJtooM id5tJVKrjm4BOm5NK+EO+PscYtePms8pesi4XPJv0D6jvnLZRMB/F8L+j8twfBCh6kGym1 ZPDZnfIIjm7hOytY77XWdqXU/bOdU20EmK+pAm+9JZ0KVsnXRX/bPO9/Gj712rhK42gkdo yr5D5cTKh+qmrM7t56mK7YkQCVza3tTIood6nlvpWYWuxLm8+sIu+2i0nLWORA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6Y13vrzQgj; Tue, 24 Jan 2023 22:12:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCbpX087275; Tue, 24 Jan 2023 22:12:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCbmh087274; Tue, 24 Jan 2023 22:12:37 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:37 GMT Message-Id: <202301242212.30OMCbmh087274@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: 2b3598753e20 - stable/13 - stand: Move md_copymodules into modinfo.c and reduce copies List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2b3598753e203b5a418cafdcd7a1e981d82d0657 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2b3598753e203b5a418cafdcd7a1e981d82d0657 commit 2b3598753e203b5a418cafdcd7a1e981d82d0657 Author: Warner Losh AuthorDate: 2022-09-16 15:08:47 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: Move md_copymodules into modinfo.c and reduce copies md_copymodules, bi_copymdoules, bi_copymodules32 (x2) and bi_copymodules64 (x2) are all the same routine... Replace them all with md_copymodules. This saves about 800 bytes on i386 BIOS loader, which is a nice bonus. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36572 (cherry picked from commit 5d1531d9d4e7d1b1b706ab23ac3f864416e87522) stand: fix mismerge Remove stray line from mismerge of 5d1531d9d4e7. This is no longer needed. Fixes: 5d1531d9d4e7 Sponsored by: Netflix (cherry picked from commit dd2b9c2967767b19bcbc33de0e487405c612f59f) stand/efi: Call md_copymodules based on __LP64__ to fix 32-bit arm When I refactored everything, I neglected to pass in the proper is64 value on 32-bit platforms. This corrects that. This prevented armv7 and armv6 platforms from booting due to misaligned data in the kernel. The only platform we support 32-bit booting in armv[67], which I apparently neglected to test before commiting my refactoring. Tested by: skibo Fixes: 5d1531d9d4e7d Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37095 (cherry picked from commit e0c3f66b4d5f0282e9c7c4803c4cd26b5a388a38) --- stand/common/metadata.c | 44 ------------------ stand/common/modinfo.c | 86 ++++++++++++++++++++++++++++++++++++ stand/common/modinfo.h | 2 + stand/efi/loader/bootinfo.c | 45 ++++--------------- stand/i386/libi386/bootinfo32.c | 35 +-------------- stand/i386/libi386/bootinfo64.c | 38 +--------------- stand/loader.mk | 1 + stand/userboot/userboot/bootinfo32.c | 34 +------------- stand/userboot/userboot/bootinfo64.c | 38 +--------------- 9 files changed, 105 insertions(+), 218 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index 99b67cfd1060..11a5276d0705 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -93,49 +93,6 @@ md_copyenv(vm_offset_t addr) return(addr); } -static int align; -#define MOD_ALIGN(l) roundup(l, align) - -static vm_offset_t -md_copymodules(vm_offset_t addr, int kern64) -{ - struct preloaded_file *fp; - struct file_metadata *md; - uint64_t scratch64; - uint32_t scratch32; - int c; - - c = addr != 0; - /* start with the first module on the list, should be the kernel */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - - MOD_NAME(addr, fp->f_name, c); /* this field must come first */ - MOD_TYPE(addr, fp->f_type, c); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args, c); - if (kern64) { - scratch64 = fp->f_addr; - MOD_ADDR(addr, scratch64, c); - scratch64 = fp->f_size; - MOD_SIZE(addr, scratch64, c); - } else { - scratch32 = fp->f_addr; -#ifdef __arm__ - scratch32 -= __elfN(relocation_offset); -#endif - MOD_ADDR(addr, scratch32, c); - MOD_SIZE(addr, fp->f_size, c); - } - for (md = fp->f_metadata; md != NULL; md = md->md_next) { - if (!(md->md_type & MODINFOMD_NOCOPY)) { - MOD_METADATA(addr, md, c); - } - } - } - MOD_END(addr, c); - return(addr); -} - /* * Load the information expected by a kernel. * @@ -177,7 +134,6 @@ md_load_dual(char *args, vm_offset_t *modulep, vm_offset_t *dtb, int kern64) }; #endif - align = kern64 ? 8 : 4; howto = md_getboothowto(args); /* diff --git a/stand/common/modinfo.c b/stand/common/modinfo.c new file mode 100644 index 000000000000..a274890ace64 --- /dev/null +++ b/stand/common/modinfo.c @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 1998 Michael Smith + * 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. + * + * from: FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.6 + */ +#include +#include +#include +#include +#include +#if defined(LOADER_FDT_SUPPORT) +#include +#endif + +#ifdef __arm__ +#include +#endif +#include + +#include "bootstrap.h" +#include "modinfo.h" + +static int align; +#define MOD_ALIGN(l) roundup(l, align) + +vm_offset_t +md_copymodules(vm_offset_t addr, bool kern64) +{ + struct preloaded_file *fp; + struct file_metadata *md; + uint64_t scratch64; + uint32_t scratch32; + int c; + + c = addr != 0; + /* start with the first module on the list, should be the kernel */ + for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { + + MOD_NAME(addr, fp->f_name, c); /* this field must come first */ + MOD_TYPE(addr, fp->f_type, c); + if (fp->f_args) + MOD_ARGS(addr, fp->f_args, c); + if (kern64) { + scratch64 = fp->f_addr; + MOD_ADDR(addr, scratch64, c); + scratch64 = fp->f_size; + MOD_SIZE(addr, scratch64, c); + } else { + scratch32 = fp->f_addr; +#ifdef __arm__ + scratch32 -= __elfN(relocation_offset); +#endif + MOD_ADDR(addr, scratch32, c); + MOD_SIZE(addr, fp->f_size, c); + } + for (md = fp->f_metadata; md != NULL; md = md->md_next) { + if (!(md->md_type & MODINFOMD_NOCOPY)) { + MOD_METADATA(addr, md, c); + } + } + } + MOD_END(addr, c); + return(addr); +} diff --git a/stand/common/modinfo.h b/stand/common/modinfo.h index 245784ccb2ed..3d7f26a3c963 100644 --- a/stand/common/modinfo.h +++ b/stand/common/modinfo.h @@ -69,4 +69,6 @@ COPY32(0, a, c); \ } +vm_offset_t md_copymodules(vm_offset_t addr, bool kern64); + #endif /* COMMON_MODINFO_H */ diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 05dfc9f59c1f..bcd2dad0bae1 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -61,11 +61,6 @@ __FBSDID("$FreeBSD$"); #include "geliboot.h" #endif -/* - * Align to a pointer / long - */ -#define MOD_ALIGN(l) roundup(l, sizeof(u_long)) - int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); @@ -172,36 +167,6 @@ bi_copyenv(vm_offset_t start) return(last); } -static vm_offset_t -bi_copymodules(vm_offset_t addr) -{ - struct preloaded_file *fp; - struct file_metadata *md; - int c; - uint64_t v; - - c = addr != 0; - /* Start with the first module on the list, should be the kernel. */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - MOD_NAME(addr, fp->f_name, c); /* This must come first. */ - MOD_TYPE(addr, fp->f_type, c); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args, c); - v = fp->f_addr; -#if defined(__arm__) - v -= __elfN(relocation_offset); -#endif - MOD_ADDR(addr, v, c); - v = fp->f_size; - MOD_SIZE(addr, v, c); - for (md = fp->f_metadata; md != NULL; md = md->md_next) - if (!(md->md_type & MODINFOMD_NOCOPY)) - MOD_METADATA(addr, md, c); - } - MOD_END(addr, c); - return(addr); -} - static EFI_STATUS efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) { @@ -392,6 +357,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) vm_offset_t size; char *rootdevname; int howto; + bool is64; #if defined(LOADER_FDT_SUPPORT) vm_offset_t dtbp; int dtb_size; @@ -411,6 +377,11 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #endif }; #endif +#ifdef __LP64__ + is64 = true; +#else + is64 = false; +#endif howto = bi_getboothowto(args); @@ -489,7 +460,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #endif bi_load_efi_data(kfp, exit_bs); - size = bi_copymodules(0); + size = md_copymodules(0, is64); kernend = roundup(addr + size, PAGE_SIZE); *kernendp = kernend; @@ -514,7 +485,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #endif /* Copy module list and metadata. */ - (void)bi_copymodules(addr); + (void)md_copymodules(addr, is64); return (0); } diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index f00c692a3993..965b62bbad81 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -44,37 +44,6 @@ __FBSDID("$FreeBSD$"); static struct bootinfo bi; -/* - * We have 4 byte alignment for 32-bit targets. This code is compiled as 32-bit - * code... - */ -#define MOD_ALIGN(l) roundup(l, sizeof(u_long)) - -static vm_offset_t -bi_copymodules32(vm_offset_t addr) -{ - struct preloaded_file *fp; - struct file_metadata *md; - int c; - - c = addr != 0; - /* start with the first module on the list, should be the kernel */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - - MOD_NAME(addr, fp->f_name, c); /* this field must come first */ - MOD_TYPE(addr, fp->f_type, c); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args, c); - MOD_ADDR(addr, fp->f_addr, c); - MOD_SIZE(addr, fp->f_size, c); - for (md = fp->f_metadata; md != NULL; md = md->md_next) - if (!(md->md_type & MODINFOMD_NOCOPY)) - MOD_METADATA(addr, md, c); - } - MOD_END(addr, c); - return(addr); -} - /* * Load the information expected by an i386 kernel. * @@ -179,7 +148,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t /* Figure out the size and location of the metadata */ *modulep = addr; - size = bi_copymodules32(0); + size = md_copymodules(0, false); kernend = roundup(addr + size, PAGE_SIZE); *kernendp = kernend; @@ -188,7 +157,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t bcopy(&kernend, md->md_data, sizeof kernend); /* copy module list and metadata */ - (void)bi_copymodules32(addr); + (void)md_copymodules(addr, false); ssym = esym = 0; md = file_findmetadata(kfp, MODINFOMD_SSYM); diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index 18ed4af3e27f..8b5eb8c1db93 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -45,40 +45,6 @@ __FBSDID("$FreeBSD$"); #include "geliboot.h" #endif -/* - * We have 8 byte alignment for 64-bit targets. This code is compiled as 64-bit - * code... - */ -#define MOD_ALIGN(l) roundup(l, sizeof(uint64_t)) - -static vm_offset_t -bi_copymodules64(vm_offset_t addr) -{ - struct preloaded_file *fp; - struct file_metadata *md; - int c; - uint64_t v; - - c = addr != 0; - /* start with the first module on the list, should be the kernel */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - - MOD_NAME(addr, fp->f_name, c); /* this field must come first */ - MOD_TYPE(addr, fp->f_type, c); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args, c); - v = fp->f_addr; - MOD_ADDR(addr, v, c); - v = fp->f_size; - MOD_SIZE(addr, v, c); - for (md = fp->f_metadata; md != NULL; md = md->md_next) - if (!(md->md_type & MODINFOMD_NOCOPY)) - MOD_METADATA(addr, md, c); - } - MOD_END(addr, c); - return(addr); -} - /* * Check to see if this CPU supports long mode. */ @@ -197,7 +163,7 @@ bi_load64(char *args, vm_offset_t *modulep, #endif bi_load_vbe_data(kfp); - size = bi_copymodules64(0); + size = md_copymodules(0, true); /* copy our environment */ envp = roundup(addr + size, PAGE_SIZE); @@ -216,7 +182,7 @@ bi_load64(char *args, vm_offset_t *modulep, bcopy(&envp, md->md_data, sizeof envp); /* copy module list and metadata */ - (void)bi_copymodules64(*modulep); + (void)md_copymodules(*modulep, true); return(0); } diff --git a/stand/loader.mk b/stand/loader.mk index aa88122cb7a1..9fa4c74e2501 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -6,6 +6,7 @@ CFLAGS+=-I${LDRSRC} SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c +SRCS+= modinfo.c SRCS+= module.c nvstore.c pnglite.c tslog.c CFLAGS.module.c += -I$(SRCTOP)/sys/teken -I${SRCTOP}/contrib/pnglite diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index a717f4ad1f5a..8203f90c98fe 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -43,36 +43,6 @@ __FBSDID("$FreeBSD$"); static struct bootinfo bi; -/* - * We have 4 byte alignment for 32-bit targets. - */ -#define MOD_ALIGN(l) roundup(l, sizeof(uint32_t)) - -static vm_offset_t -bi_copymodules32(vm_offset_t addr) -{ - struct preloaded_file *fp; - struct file_metadata *md; - int c; - - c = addr != 0; - /* start with the first module on the list, should be the kernel */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - - MOD_NAME(addr, fp->f_name, c); /* this field must come first */ - MOD_TYPE(addr, fp->f_type, c); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args, c); - MOD_ADDR(addr, fp->f_addr, c); - MOD_SIZE(addr, fp->f_size, c); - for (md = fp->f_metadata; md != NULL; md = md->md_next) - if (!(md->md_type & MODINFOMD_NOCOPY)) - MOD_METADATA(addr, md, c); - } - MOD_END(addr, c); - return(addr); -} - /* * Load the information expected by an i386 kernel. * @@ -157,7 +127,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t /* Figure out the size and location of the metadata */ *modulep = addr; - size = bi_copymodules32(0); + size = md_copymodules(0, false); kernend = roundup(addr + size, PAGE_SIZE); *kernendp = kernend; @@ -166,7 +136,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t bcopy(&kernend, md->md_data, sizeof kernend); /* copy module list and metadata */ - (void)bi_copymodules32(addr); + (void)md_copymodules(addr, false); ssym = esym = 0; md = file_findmetadata(kfp, MODINFOMD_SSYM); diff --git a/stand/userboot/userboot/bootinfo64.c b/stand/userboot/userboot/bootinfo64.c index 773f59474bf4..6d711cf51759 100644 --- a/stand/userboot/userboot/bootinfo64.c +++ b/stand/userboot/userboot/bootinfo64.c @@ -40,40 +40,6 @@ __FBSDID("$FreeBSD$"); #include "modinfo.h" #include "libuserboot.h" -/* - * We have 8 byte alignment for 64-bit targets. This code is compiled as 32-bit - * code... - */ -#define MOD_ALIGN(l) roundup(l, sizeof(uint64_t)) - -static vm_offset_t -bi_copymodules64(vm_offset_t addr) -{ - struct preloaded_file *fp; - struct file_metadata *md; - int c; - uint64_t v; - - c = addr != 0; - /* start with the first module on the list, should be the kernel */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - - MOD_NAME(addr, fp->f_name, c); /* this field must come first */ - MOD_TYPE(addr, fp->f_type, c); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args, c); - v = fp->f_addr; - MOD_ADDR(addr, v, c); - v = fp->f_size; - MOD_SIZE(addr, v, c); - for (md = fp->f_metadata; md != NULL; md = md->md_next) - if (!(md->md_type & MODINFOMD_NOCOPY)) - MOD_METADATA(addr, md, c); - } - MOD_END(addr, c); - return(addr); -} - /* * Check to see if this CPU supports long mode. */ @@ -190,7 +156,7 @@ bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) /* Figure out the size and location of the metadata */ *modulep = addr; - size = bi_copymodules64(0); + size = md_copymodules(0, true); kernend = roundup(addr + size, PAGE_SIZE); *kernendp = kernend; @@ -199,7 +165,7 @@ bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) bcopy(&kernend, md->md_data, sizeof kernend); /* copy module list and metadata */ - (void)bi_copymodules64(addr); + (void)md_copymodules(addr, true); return(0); } From nobody Tue Jan 24 22:12:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6Z3r47z3bg1H; Tue, 24 Jan 2023 22:12: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 4P1h6Z35Byz3Db0; Tue, 24 Jan 2023 22:12:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JWespAvH9InvmcM0aHWL1EivWDafFhLMJyMjqHSdKNQ=; b=CDRxIVX3QnGDOaRblkVLy8rJjzpByeIkuzuHtOXewulVI27k1wFRHTNU6O3dTaM/6YJfXd Cjo0ACl+hsZxpQ+A6F9GakZ+OImOzSqdu8c9s+kv/4hAYvJT7w1IYE1HZebWymsYO7fJLC 4/5eEeZfalH9/3oqTTkOew5EhUnvFo1ZBO9HUGAvQEoFN17DZmE372M7OdEDsas+U6Ec8D oqbZEZKfIt046rDxWS2GJmE3BucnPBqg3aUBPiq8X4fK0Q6bxNcMpZrmRf9f92O2WQ9W8l W/dMQcmhl6KqO3OMOJf51UVRnzjS2WSg+Z1nGquRKPsFvx39EJMgQI9grTZ7ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JWespAvH9InvmcM0aHWL1EivWDafFhLMJyMjqHSdKNQ=; b=J1L6PjAIpkR3L2wArw3qY7tChlr46NMxbIKhxv/e/eOevQ/GfcBsDyeGRoaQPrtlSzafqM 1F/CSUg5CxwS1JQXM7PEHSlT8ry1uix06lU/+04Ly2x/qe6DHr5n5AUwtcq6pk3Hetpud8 Z+o401/5bE/0O+3Ad8lXDwAt+QWP5eY7tG5lQYbTYWEQxXsKslA/cMk0UAjHoLZVsWotr0 fng/uvqZX/Zykd+dzyh1P/HGMI/4rNgKtsBPEGabxyndAq7xRIr8N7Eh6f/tMbKEASQEBm +Xa4gb7EfECcUWNF6ufK7P5xs7DYby4hcWOE8sY3s0zhFOso/CRaySy6gtvV6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598358; a=rsa-sha256; cv=none; b=PNBgj35enEVXgHxG/BZ4C1g87N3851wcYpaqhCqwyVxtRAwGS8P7g+kQDIE3M1zJYfmxez Xmir2eCydi+HCP/SSmvM60N2K/aq6uyUC2bEOMyBHWRwZET1Ht6rqRk3mMZXWKZXcQPFwh R2QePwCs6pBqDFY1aDTO/7lddsFjBlDB7esrpAVw+jlli3Bq8DC/jWoZyJkETPuKbKDR+c kjLFGF9ls5vifcExJbiPf/WJBYHU+cOqLBsX+26ZgO94ctBA2GtGBmb61g33FbAxijHvBG XvM217b1QqwZixm6cAGzOMLzFsjmyqOtGrVLYXHwUfeqg/JdNdOB4KyZfMkj/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6Z2589zQmJ; Tue, 24 Jan 2023 22:12:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCcYB087302; Tue, 24 Jan 2023 22:12:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCc4k087301; Tue, 24 Jan 2023 22:12:38 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:38 GMT Message-Id: <202301242212.30OMCc4k087301@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: b33c831ade59 - stable/13 - stand: Move MOD_xxx macros from modinfo.h to .c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b33c831ade59ced7a01d2374fc2c4e4c05e06d33 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b33c831ade59ced7a01d2374fc2c4e4c05e06d33 commit b33c831ade59ced7a01d2374fc2c4e4c05e06d33 Author: Warner Losh AuthorDate: 2022-09-16 15:08:52 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: Move MOD_xxx macros from modinfo.h to .c Now that MOD_xxx macros are modinfo.c, they don't need to be in modinfo.h. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36573 (cherry picked from commit 2e6ed47a4609ff03a9308a173c64900485172c22) --- stand/common/modinfo.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++- stand/common/modinfo.h | 63 ----------------------------------------------- 2 files changed, 65 insertions(+), 64 deletions(-) diff --git a/stand/common/modinfo.c b/stand/common/modinfo.c index a274890ace64..15116b3b9b78 100644 --- a/stand/common/modinfo.c +++ b/stand/common/modinfo.c @@ -42,7 +42,69 @@ #include "bootstrap.h" #include "modinfo.h" -static int align; +/* + * Copy module-related data into the load area, where it can be + * used as a directory for loaded modules. + * + * Module data is presented in a self-describing format. Each datum + * is preceded by a 32-bit identifier and a 32-bit size field. + * + * Currently, the following data are saved: + * + * MOD_NAME (variable) module name (string) + * MOD_TYPE (variable) module type (string) + * MOD_ARGS (variable) module parameters (string) + * MOD_ADDR sizeof(vm_offset_t) module load address + * MOD_SIZE sizeof(size_t) module size + * MOD_METADATA (variable) type-specific metadata + * + * Clients are required to define a MOD_ALIGN(l) macro which rounds the passed + * in length to the required alignment for the kernel being booted. + */ + +#define COPY32(v, a, c) { \ + uint32_t x = (v); \ + if (c) \ + archsw.arch_copyin(&x, a, sizeof(x)); \ + a += sizeof(x); \ +} + +#define MOD_STR(t, a, s, c) { \ + COPY32(t, a, c); \ + COPY32(strlen(s) + 1, a, c) \ + if (c) \ + archsw.arch_copyin(s, a, strlen(s) + 1);\ + a += MOD_ALIGN(strlen(s) + 1); \ +} + +#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) +#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) +#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) + +#define MOD_VAR(t, a, s, c) { \ + COPY32(t, a, c); \ + COPY32(sizeof(s), a, c); \ + if (c) \ + archsw.arch_copyin(&s, a, sizeof(s)); \ + a += MOD_ALIGN(sizeof(s)); \ +} + +#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) +#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) + +#define MOD_METADATA(a, mm, c) { \ + COPY32(MODINFO_METADATA | mm->md_type, a, c);\ + COPY32(mm->md_size, a, c); \ + if (c) \ + archsw.arch_copyin(mm->md_data, a, mm->md_size);\ + a += MOD_ALIGN(mm->md_size); \ +} + +#define MOD_END(a, c) { \ + COPY32(MODINFO_END, a, c); \ + COPY32(0, a, c); \ +} + #define MOD_ALIGN(l) roundup(l, align) vm_offset_t @@ -53,7 +115,9 @@ md_copymodules(vm_offset_t addr, bool kern64) uint64_t scratch64; uint32_t scratch32; int c; + int align; + align = kern64 ? sizeof(uint64_t) : sizeof(uint32_t); c = addr != 0; /* start with the first module on the list, should be the kernel */ for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { diff --git a/stand/common/modinfo.h b/stand/common/modinfo.h index 3d7f26a3c963..fc56173e1c51 100644 --- a/stand/common/modinfo.h +++ b/stand/common/modinfo.h @@ -6,69 +6,6 @@ #ifndef COMMON_MODINFO_H #define COMMON_MODINFO_H -/* - * Copy module-related data into the load area, where it can be - * used as a directory for loaded modules. - * - * Module data is presented in a self-describing format. Each datum - * is preceded by a 32-bit identifier and a 32-bit size field. - * - * Currently, the following data are saved: - * - * MOD_NAME (variable) module name (string) - * MOD_TYPE (variable) module type (string) - * MOD_ARGS (variable) module parameters (string) - * MOD_ADDR sizeof(vm_offset_t) module load address - * MOD_SIZE sizeof(size_t) module size - * MOD_METADATA (variable) type-specific metadata - * - * Clients are required to define a MOD_ALIGN(l) macro which rounds the passed - * in length to the required alignment for the kernel being booted. - */ - -#define COPY32(v, a, c) { \ - uint32_t x = (v); \ - if (c) \ - archsw.arch_copyin(&x, a, sizeof(x)); \ - a += sizeof(x); \ -} - -#define MOD_STR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(strlen(s) + 1, a, c) \ - if (c) \ - archsw.arch_copyin(s, a, strlen(s) + 1);\ - a += MOD_ALIGN(strlen(s) + 1); \ -} - -#define MOD_NAME(a, s, c) MOD_STR(MODINFO_NAME, a, s, c) -#define MOD_TYPE(a, s, c) MOD_STR(MODINFO_TYPE, a, s, c) -#define MOD_ARGS(a, s, c) MOD_STR(MODINFO_ARGS, a, s, c) - -#define MOD_VAR(t, a, s, c) { \ - COPY32(t, a, c); \ - COPY32(sizeof(s), a, c); \ - if (c) \ - archsw.arch_copyin(&s, a, sizeof(s)); \ - a += MOD_ALIGN(sizeof(s)); \ -} - -#define MOD_ADDR(a, s, c) MOD_VAR(MODINFO_ADDR, a, s, c) -#define MOD_SIZE(a, s, c) MOD_VAR(MODINFO_SIZE, a, s, c) - -#define MOD_METADATA(a, mm, c) { \ - COPY32(MODINFO_METADATA | mm->md_type, a, c);\ - COPY32(mm->md_size, a, c); \ - if (c) \ - archsw.arch_copyin(mm->md_data, a, mm->md_size);\ - a += MOD_ALIGN(mm->md_size); \ -} - -#define MOD_END(a, c) { \ - COPY32(MODINFO_END, a, c); \ - COPY32(0, a, c); \ -} - vm_offset_t md_copymodules(vm_offset_t addr, bool kern64); #endif /* COMMON_MODINFO_H */ From nobody Tue Jan 24 22:12:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6b464Hz3bg0r; Tue, 24 Jan 2023 22:12: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 4P1h6b3bRxz3DQw; Tue, 24 Jan 2023 22:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+SjSuo3jrNE4YtXMwg9pl6ZvGellBoXnhabtQPCwMpg=; b=k9D6l/odx4TXbxGPGAgAwmL9Sa88+gNYrucSH2WxQZkR+eW7JMRUHB8O+yApQlZftM9W+H RTC2Ld1jpRugvP2EYLb92kdTleOWpX+DyNYeUNd88+8VknWevZZBi6hgmtNCIyu7dEu/gT EuKfsUF/be6S0NrzuVuN02gAD8EnjxfV9svKe/Tl3op+u53w2oJqb5LAe7pLxkhADeid2r rgF4cb9fEepSdDibQDoyn9z0dTu9lVShKjZyCHBqe9xANF6QZj2U7pv1djqvdfmuOxrFi0 /RhFOGeup+yQinvCaBFrAU9wRUJNEKFyZzT7FQVhymrFfv1wCUlCsNdt3dDhtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+SjSuo3jrNE4YtXMwg9pl6ZvGellBoXnhabtQPCwMpg=; b=S1lOYZpEibHSHV6okBggHIJr41sqtEcBsWvqAxYfwl4eXX4TXkUZ1vRSfLQ6zs0QbdvVp9 +UaV8OOuepPej/zchR+QD7PFRBp8NQUfYjZpozuwvwelrQnQ0u7ckC/MpvIdv2kZEvYbnM XAibVvgYHtQ6Ijy7Gd8DkdG8H/iTw5D6V9dFAVlfRuyoEJxNmYEjgyya7kxJn+1hSPpLml aLO+ksUPgYDw7KyfGsYil4G0pjofZjZgBnkASBypdxtwPJPjpVG+znJbDeNP04XSiMgxBo yibZJIdetDtQczWWTC37m93Wdb2iSERm1RxZlJn2uJ9U1Y7E90AQqkPJ/p6svg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598359; a=rsa-sha256; cv=none; b=toJTCH8BD+pDk4rvWdP2OenffHuIhVn5Hznp7C/rkf/SZCqrQqn3muVbwvruoXvDQR8DKM rVJcPiMDJP8cwVWxKtBjtACryOfc1d0Y8gWlzhqxcVKkEjPXOSdCeRKzIh7O5SCvHs5f9r SFyQl7iGC+1POnMRS5lGViM3tlYNUpthNJiGiXxXyyWVbksBFSJssoTeGuSQAA3RZh0ZCp JiyeNz4zDsW4PDBFYnrcxTgQcjpv/6MHmhR+GaowuaA+fN/LetUsBzjbDqtHoyrrxVHj/9 y+DSxuM0J3eaSDaINm510Onutw0iBFPGfBpbGYJP6xCN0XBfEOomxXiLxJ6FFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6b2hDPzQjl; Tue, 24 Jan 2023 22:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCdFe087331; Tue, 24 Jan 2023 22:12:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCdwf087330; Tue, 24 Jan 2023 22:12:39 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:39 GMT Message-Id: <202301242212.30OMCdwf087330@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: 84a31012bf09 - stable/13 - stand: collapse all copies of *copyenv into md_copyenv List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 84a31012bf09ed6cd6c079c736ebf716994b160b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=84a31012bf09ed6cd6c079c736ebf716994b160b commit 84a31012bf09ed6cd6c079c736ebf716994b160b Author: Warner Losh AuthorDate: 2022-09-16 15:08:57 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:34 +0000 stand: collapse all copies of *copyenv into md_copyenv Use the efi's bi_copyenv to md_copyenv and place it in modinfo.c. Remove all other nearly identical and efi's has the best error handling. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36574 (cherry picked from commit fc352701ff3aeb0af22c0da17c4194cf1f8ad5d0) --- stand/common/metadata.c | 28 ------------------------ stand/common/modinfo.c | 39 +++++++++++++++++++++++++++++++++ stand/common/modinfo.h | 1 + stand/efi/loader/bootinfo.c | 41 +---------------------------------- stand/i386/libi386/bootinfo.c | 28 ------------------------ stand/i386/libi386/bootinfo32.c | 2 +- stand/i386/libi386/bootinfo64.c | 2 +- stand/i386/libi386/libi386.h | 1 - stand/userboot/userboot/bootinfo.c | 28 ------------------------ stand/userboot/userboot/bootinfo32.c | 2 +- stand/userboot/userboot/bootinfo64.c | 2 +- stand/userboot/userboot/libuserboot.h | 1 - 12 files changed, 45 insertions(+), 130 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index 11a5276d0705..a69c6d824d44 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -65,34 +65,6 @@ md_getboothowto(char *kargs) return(howto); } -/* - * Copy the environment into the load area starting at (addr). - * Each variable is formatted as =, with a single nul - * separating each variable, and a double nul terminating the environment. - */ -static vm_offset_t -md_copyenv(vm_offset_t addr) -{ - struct env_var *ep; - - /* traverse the environment */ - for (ep = environ; ep != NULL; ep = ep->ev_next) { - archsw.arch_copyin(ep->ev_name, addr, strlen(ep->ev_name)); - addr += strlen(ep->ev_name); - archsw.arch_copyin("=", addr, 1); - addr++; - if (ep->ev_value != NULL) { - archsw.arch_copyin(ep->ev_value, addr, strlen(ep->ev_value)); - addr += strlen(ep->ev_value); - } - archsw.arch_copyin("", addr, 1); - addr++; - } - archsw.arch_copyin("", addr, 1); - addr++; - return(addr); -} - /* * Load the information expected by a kernel. * diff --git a/stand/common/modinfo.c b/stand/common/modinfo.c index 15116b3b9b78..0c00b2070274 100644 --- a/stand/common/modinfo.c +++ b/stand/common/modinfo.c @@ -148,3 +148,42 @@ md_copymodules(vm_offset_t addr, bool kern64) MOD_END(addr, c); return(addr); } + +/* + * Copy the environment into the load area starting at (addr). + * Each variable is formatted as =, with a single nul + * separating each variable, and a double nul terminating the environment. + */ +vm_offset_t +md_copyenv(vm_offset_t start) +{ + struct env_var *ep; + vm_offset_t addr, last; + size_t len; + + addr = last = start; + + /* Traverse the environment. */ + for (ep = environ; ep != NULL; ep = ep->ev_next) { + len = strlen(ep->ev_name); + if ((size_t)archsw.arch_copyin(ep->ev_name, addr, len) != len) + break; + addr += len; + if (archsw.arch_copyin("=", addr, 1) != 1) + break; + addr++; + if (ep->ev_value != NULL) { + len = strlen(ep->ev_value); + if ((size_t)archsw.arch_copyin(ep->ev_value, addr, len) != len) + break; + addr += len; + } + if (archsw.arch_copyin("", addr, 1) != 1) + break; + last = ++addr; + } + + if (archsw.arch_copyin("", last++, 1) != 1) + last = start; + return(last); +} diff --git a/stand/common/modinfo.h b/stand/common/modinfo.h index fc56173e1c51..e4739df0b68f 100644 --- a/stand/common/modinfo.h +++ b/stand/common/modinfo.h @@ -7,5 +7,6 @@ #define COMMON_MODINFO_H vm_offset_t md_copymodules(vm_offset_t addr, bool kern64); +vm_offset_t md_copyenv(vm_offset_t addr); #endif /* COMMON_MODINFO_H */ diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index bcd2dad0bae1..99045735e7bb 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -128,45 +128,6 @@ bi_getboothowto(char *kargs) return (howto); } -/* - * Copy the environment into the load area starting at (addr). - * Each variable is formatted as =, with a single nul - * separating each variable, and a double nul terminating the environment. - */ -static vm_offset_t -bi_copyenv(vm_offset_t start) -{ - struct env_var *ep; - vm_offset_t addr, last; - size_t len; - - addr = last = start; - - /* Traverse the environment. */ - for (ep = environ; ep != NULL; ep = ep->ev_next) { - len = strlen(ep->ev_name); - if ((size_t)archsw.arch_copyin(ep->ev_name, addr, len) != len) - break; - addr += len; - if (archsw.arch_copyin("=", addr, 1) != 1) - break; - addr++; - if (ep->ev_value != NULL) { - len = strlen(ep->ev_value); - if ((size_t)archsw.arch_copyin(ep->ev_value, addr, len) != len) - break; - addr += len; - } - if (archsw.arch_copyin("", addr, 1) != 1) - break; - last = ++addr; - } - - if (archsw.arch_copyin("", last++, 1) != 1) - last = start; - return(last); -} - static EFI_STATUS efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) { @@ -416,7 +377,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) /* Copy our environment. */ envp = addr; - addr = bi_copyenv(addr); + addr = md_copyenv(addr); /* Pad to a page boundary. */ addr = roundup(addr, PAGE_SIZE); diff --git a/stand/i386/libi386/bootinfo.c b/stand/i386/libi386/bootinfo.c index 84a0b3586a1c..92238d4fab44 100644 --- a/stand/i386/libi386/bootinfo.c +++ b/stand/i386/libi386/bootinfo.c @@ -103,31 +103,3 @@ bi_setboothowto(int howto) boot_howto_to_env(howto); } - -/* - * Copy the environment into the load area starting at (addr). - * Each variable is formatted as =, with a single nul - * separating each variable, and a double nul terminating the environment. - */ -vm_offset_t -bi_copyenv(vm_offset_t addr) -{ - struct env_var *ep; - - /* traverse the environment */ - for (ep = environ; ep != NULL; ep = ep->ev_next) { - archsw.arch_copyin(ep->ev_name, addr, strlen(ep->ev_name)); - addr += strlen(ep->ev_name); - archsw.arch_copyin("=", addr, 1); - addr++; - if (ep->ev_value != NULL) { - archsw.arch_copyin(ep->ev_value, addr, strlen(ep->ev_value)); - addr += strlen(ep->ev_value); - } - archsw.arch_copyin("", addr, 1); - addr++; - } - archsw.arch_copyin("", addr, 1); - addr++; - return(addr); -} diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 965b62bbad81..9ca6a70d674e 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -126,7 +126,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t /* copy our environment */ envp = addr; - addr = bi_copyenv(addr); + addr = md_copyenv(addr); /* pad to a page boundary */ addr = roundup(addr, PAGE_SIZE); diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index 8b5eb8c1db93..bc8830d09098 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -167,7 +167,7 @@ bi_load64(char *args, vm_offset_t *modulep, /* copy our environment */ envp = roundup(addr + size, PAGE_SIZE); - addr = bi_copyenv(envp); + addr = md_copyenv(envp); /* set kernend */ kernend = roundup(addr, PAGE_SIZE); diff --git a/stand/i386/libi386/libi386.h b/stand/i386/libi386/libi386.h index 9c7a452a03ad..0115f30e31c7 100644 --- a/stand/i386/libi386/libi386.h +++ b/stand/i386/libi386/libi386.h @@ -146,7 +146,6 @@ int i386_autoload(void); void bi_load_vbe_data(struct preloaded_file *kfp); int bi_getboothowto(char *kargs); void bi_setboothowto(int howto); -vm_offset_t bi_copyenv(vm_offset_t addr); int bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t *modulep, vm_offset_t *kernend); int bi_load64(char *args, vm_offset_t *modulep, diff --git a/stand/userboot/userboot/bootinfo.c b/stand/userboot/userboot/bootinfo.c index 36a5e1982313..d77b2f3e51c7 100644 --- a/stand/userboot/userboot/bootinfo.c +++ b/stand/userboot/userboot/bootinfo.c @@ -83,31 +83,3 @@ bi_setboothowto(int howto) boot_howto_to_env(howto); } - -/* - * Copy the environment into the load area starting at (addr). - * Each variable is formatted as =, with a single nul - * separating each variable, and a double nul terminating the environment. - */ -vm_offset_t -bi_copyenv(vm_offset_t addr) -{ - struct env_var *ep; - - /* traverse the environment */ - for (ep = environ; ep != NULL; ep = ep->ev_next) { - archsw.arch_copyin(ep->ev_name, addr, strlen(ep->ev_name)); - addr += strlen(ep->ev_name); - archsw.arch_copyin("=", addr, 1); - addr++; - if (ep->ev_value != NULL) { - archsw.arch_copyin(ep->ev_value, addr, strlen(ep->ev_value)); - addr += strlen(ep->ev_value); - } - archsw.arch_copyin("", addr, 1); - addr++; - } - archsw.arch_copyin("", addr, 1); - addr++; - return(addr); -} diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index 8203f90c98fe..08dde13baa30 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -106,7 +106,7 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t /* copy our environment */ envp = addr; - addr = bi_copyenv(addr); + addr = md_copyenv(addr); /* pad to a page boundary */ addr = roundup(addr, PAGE_SIZE); diff --git a/stand/userboot/userboot/bootinfo64.c b/stand/userboot/userboot/bootinfo64.c index 6d711cf51759..530ddaf768ed 100644 --- a/stand/userboot/userboot/bootinfo64.c +++ b/stand/userboot/userboot/bootinfo64.c @@ -138,7 +138,7 @@ bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) /* copy our environment */ envp = addr; - addr = bi_copyenv(addr); + addr = md_copyenv(addr); /* pad to a page boundary */ addr = roundup(addr, PAGE_SIZE); diff --git a/stand/userboot/userboot/libuserboot.h b/stand/userboot/userboot/libuserboot.h index eb3bada097e4..6d7dc0c3ff40 100644 --- a/stand/userboot/userboot/libuserboot.h +++ b/stand/userboot/userboot/libuserboot.h @@ -61,7 +61,6 @@ int userboot_setcurrdev(struct env_var *ev, int flags, const void *value); int bi_getboothowto(char *kargs); void bi_setboothowto(int howto); -vm_offset_t bi_copyenv(vm_offset_t addr); int bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t *modulep, vm_offset_t *kernend); int bi_load64(char *args, vm_offset_t *modulep, vm_offset_t *kernend); From nobody Tue Jan 24 22:12:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6d2vVnz3bg45; Tue, 24 Jan 2023 22:12: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 4P1h6c54QSz3DkQ; Tue, 24 Jan 2023 22:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NcqpTWdtdQ6Y8pyr5jEGFkF5MxfdGBu/veE/BpcVOj4=; b=dER9VcQZfShYfktBzU5dEUQQ7D7ZIgpNSAxTBJTITe8YvIhIo2gG2JWqsL1kEWfboI55QP z+l54wMHj7z9TgyzjjL6iQMQhlVCyqUkXFSoPOWtpeyABjMKNBChhxuJIQjBTt9pKpCs6M jL3Of8gCNE+IG/iHcK33oIGGr0eIavLG0vN5MHLpXJH7UTTwosFNfyFamS+2T5ES1YISDd YItZVgVOuumYrZBdFWs97q9Lay4YA261sRrRCDgruAcoLGD13q9zHbTKHIv9bNOnZD7Cut r7lBydj4/5LwWBaMw6mZbS+gZrTGh1qGmFCyPQWjr0G9uNwp46eHtjUElriayw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NcqpTWdtdQ6Y8pyr5jEGFkF5MxfdGBu/veE/BpcVOj4=; b=hKvLORNlafC/p37MwB7qaifLfJSwuA6ZD37eeiVFvyFGXk40M07AuiYKkJrs2IJtsi0N8a CgEcK2gcAx5pohBbWeuaqfNk5RI6mKpRFcEvsYlZKxVe93NVJ79VnxcfRpB+qInC3Oic8D tJq/2zQELhQs0TcDdM33WrCZdy30WVhVFR9cHNKccktjY9JpFeaW9VG7Xq0UzoRKZJBMjQ 21z149u7RR8Ue07fa7wMEIgAPbp4E/0fs9msk1RSUnWmZ2GrC8hlqdePgE1VvCsuRYq1vz VWdGedtrYjBtv5GVe/ldmxVmPgb+kG69o4FPn+FdGbVvYRchV6Yhh/nBK8/uPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598360; a=rsa-sha256; cv=none; b=l9LV1GRQjPDC71s3h3PcmBjuB8+J08AI2HvuwozHvd8L8MydQ/0FCuFHUta1sMdXDFyP4m Vgw3to61w29nrrYjgaI+6SOwGzrCvagmNAwxxqePbmV+p5K+m2/v1Y4wIP6FLHNjrQIfP/ bH3m6SsGbnQDxD7H+zYrNVMP+7wF56VUOvRMkcYrK6l1kkdzvraE5CiDP41Pdwa8+A9m0S 4FxoahZ07Is+yEaXIe7HMBCY6nmrHUXp9UoFWOZ8xtlsj5r7+9geUcYKdszy8qPP49xEyI kQoiWjWk+jNPpgczZCg796fJkHGZ/BlDz9CgjaG3Zzu+uNsmlXWtH0DsYcvcsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6c3qf8zQfM; Tue, 24 Jan 2023 22:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCe1v087355; Tue, 24 Jan 2023 22:12:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCeOl087354; Tue, 24 Jan 2023 22:12:40 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:40 GMT Message-Id: <202301242212.30OMCeOl087354@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: 742ad212c5bd - stable/13 - stand: Remove dead store to bi_kernelname List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 742ad212c5bdc8e75a7ff58f0c21757cd010cb61 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=742ad212c5bdc8e75a7ff58f0c21757cd010cb61 commit 742ad212c5bdc8e75a7ff58f0c21757cd010cb61 Author: Warner Losh AuthorDate: 2022-09-16 15:09:02 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 stand: Remove dead store to bi_kernelname We set this value twice: once to 0 and once to the VA that has the name of the kernel. The first store is redundant. In addition, these two stores of 0 are also redundant. Since we never set them, they will always be zero, even if we're called multiple times. This saves 21 bytes on BIOS loader. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36541 (cherry picked from commit e895ab3fbdc10fbf944289165c25357cb3f279fe) --- stand/i386/libi386/bootinfo32.c | 3 --- stand/userboot/userboot/bootinfo32.c | 3 --- 2 files changed, 6 deletions(-) diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 9ca6a70d674e..68aae9b67ba9 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -173,9 +173,6 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t kernelname = getenv("kernelname"); i386_getdev(NULL, kernelname, &kernelpath); bi.bi_version = BOOTINFO_VERSION; - bi.bi_kernelname = 0; /* XXX char * -> kernel name */ - bi.bi_nfs_diskless = 0; /* struct nfs_diskless * */ - bi.bi_n_bios_used = 0; /* XXX would have to hook biosdisk driver for these */ for (i = 0; i < N_BIOS_GEOM; i++) bi.bi_bios_geom[i] = bd_getbigeom(i); bi.bi_size = sizeof(bi); diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index 08dde13baa30..d496384fbcb5 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -152,9 +152,6 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t kernelname = getenv("kernelname"); userboot_getdev(NULL, kernelname, &kernelpath); bi.bi_version = BOOTINFO_VERSION; - bi.bi_kernelname = 0; /* XXX char * -> kernel name */ - bi.bi_nfs_diskless = 0; /* struct nfs_diskless * */ - bi.bi_n_bios_used = 0; /* XXX would have to hook biosdisk driver for these */ #if 0 for (i = 0; i < N_BIOS_GEOM; i++) bi.bi_bios_geom[i] = bd_getbigeom(i); From nobody Tue Jan 24 22:12:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6f0kRcz3bgBt; Tue, 24 Jan 2023 22:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h6d5t5pz3DT6; Tue, 24 Jan 2023 22:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EABz0hN6v24VSvWoc+XEuGHEe0EOx4MsqtnOD0Td0HU=; b=HO1fvyK/X7ezrA3jkrwnz5/qSbL5csBuIapg1BNfDejKFkpsouEow6m0EZ64bf2z2ewcnf ntGBZAdAI9C2f32nCRee9GpEe4Mwu2PdU6mzHyX3fzchreZ9tgP/Ahyn2JKr9GVHYHJGQn sMFOTmC5XsAs/lTcFYtRD5q90wO1MnJHXHnvtXdRofEi8EX3pC8R9iFdt8OciKxfYV62Tg nDW9p7YiagB+ytdcWR8sYMnVn22J369NTUBnhd6Tb8R3//1AFOdLcNFdjkikOVEi5x6Z0L igNb0MvfWSjFUhB2nKVGkdSio4YmA8+7Hdd6xBVcsyw9L2lA8eu2kpDKyP2JtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EABz0hN6v24VSvWoc+XEuGHEe0EOx4MsqtnOD0Td0HU=; b=LpJPpTKBQ4l/2kclgMx3RllwiXVyBnVMBmE49l3Zf+HTwy4DvPBt32LaOwEn6jNNvwYzS8 K2iRgpOnT0awGNI+MGDR+xvKQsKwdB9BZYyI4119PQcUA5MPW1glN91mtNS9U4dOQeB5m/ uDekd8q5YwLwzjIpHIR4Yz7g+tVMQOLmUXVvilx5c3vh+kZPHnwP9uIhH6xRtBYwTCP5C4 FcwvuHvqSl0HfnqvpcFvA7t5Zhq01Qrn6I1vbe5vklL0j2zABPHkjTJ09ViugwosmjMNG5 XP0SCpn8tWI9KD2ky3vXDssozEUwezP46Qy3E7Ybgfl/QjUxJjNUO7Oi9Cy3pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598361; a=rsa-sha256; cv=none; b=pOPs7IW9ATxR8NcyIM7EWKMwXc7W+yF7Jqu+vQZBy1in0ugeJuR+6aAODiCQIMftfJWlNz u3tE0uUwa7MLGNxIAA2ry3vmRbuileTIMaKeokiugwqCY1LYs161QnKUquEJ5ry+yP/p3i VfP6lH06prxJy1Z7qBOR43ROQToXDtd1IbT0MzX3TWcYQ0gczOyYeWd9veGXq8lq/fXfu0 +6TgIwHgR2hZ7tqFmQm+XRoXJkstbYHrw57AqPD78pADQdwStwZDwIIzk8dwQsoJHw4twq p0f83ubKRzVzTJQ4WuDYNyImM/Znxf2ucgbtK1txSRLN3wT3yxsvDnqgpUuwlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6d4p61zQYN; Tue, 24 Jan 2023 22:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCfYA087382; Tue, 24 Jan 2023 22:12:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCftq087381; Tue, 24 Jan 2023 22:12:41 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:41 GMT Message-Id: <202301242212.30OMCftq087381@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: 771751dc1591 - stable/13 - stand: Stop support booting 4.x and earlier kernels List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 771751dc1591feb1369388561f473d032e475a1c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=771751dc1591feb1369388561f473d032e475a1c commit 771751dc1591feb1369388561f473d032e475a1c Author: Warner Losh AuthorDate: 2022-09-16 15:09:07 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 stand: Stop support booting 4.x and earlier kernels FreeBSD 4.x and earlier used the bi_bios_geom to get the geometry of the device. Starting in 5.x, with the wdc -> ata rewrite, it was used only in pc98 kernels to report geometry of the drives. It can be safely removed as booting kernels this old is no longer supported. This saves 176 bytes in the BIOS loader. Sponsored by: Netflix Reviewed by: adrian, emaste Differential Revision: https://reviews.freebsd.org/D36543 (cherry picked from commit d43bcf62a2182d3f00c11e5145c8912f4468871a) --- stand/i386/libi386/biosdisk.c | 29 ----------------------------- stand/i386/libi386/bootinfo32.c | 2 -- stand/userboot/userboot/bootinfo32.c | 4 ---- 3 files changed, 35 deletions(-) diff --git a/stand/i386/libi386/biosdisk.c b/stand/i386/libi386/biosdisk.c index 1b6134ab2e6b..bc819d8e312e 100644 --- a/stand/i386/libi386/biosdisk.c +++ b/stand/i386/libi386/biosdisk.c @@ -1286,35 +1286,6 @@ bd_io(struct disk_devdesc *dev, bdinfo_t *bd, daddr_t dblk, int blks, return (result); } -/* - * Return the BIOS geometry of a given "fixed drive" in a format - * suitable for the legacy bootinfo structure. Since the kernel is - * expecting raw int 0x13/0x8 values for N_BIOS_GEOM drives, we - * prefer to get the information directly, rather than rely on being - * able to put it together from information already maintained for - * different purposes and for a probably different number of drives. - * - * For valid drives, the geometry is expected in the format (31..0) - * "000000cc cccccccc hhhhhhhh 00ssssss"; and invalid drives are - * indicated by returning the geometry of a "1.2M" PC-format floppy - * disk. And, incidentally, what is returned is not the geometry as - * such but the highest valid cylinder, head, and sector numbers. - */ -uint32_t -bd_getbigeom(int bunit) -{ - - v86.ctl = V86_FLAGS; - v86.addr = DISK_BIOS; - v86.eax = CMD_READ_PARAM; - v86.edx = 0x80 + bunit; - v86int(); - if (V86_CY(v86.efl)) - return (0x4f010f); - return (((v86.ecx & 0xc0) << 18) | ((v86.ecx & 0xff00) << 8) | - (v86.edx & 0xff00) | (v86.ecx & 0x3f)); -} - /* * Return a suitable dev_t value for (dev). * diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 68aae9b67ba9..372bced917d6 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -173,8 +173,6 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t kernelname = getenv("kernelname"); i386_getdev(NULL, kernelname, &kernelpath); bi.bi_version = BOOTINFO_VERSION; - for (i = 0; i < N_BIOS_GEOM; i++) - bi.bi_bios_geom[i] = bd_getbigeom(i); bi.bi_size = sizeof(bi); bi.bi_memsizes_valid = 1; bi.bi_basemem = bios_basemem / 1024; diff --git a/stand/userboot/userboot/bootinfo32.c b/stand/userboot/userboot/bootinfo32.c index d496384fbcb5..782628c4126c 100644 --- a/stand/userboot/userboot/bootinfo32.c +++ b/stand/userboot/userboot/bootinfo32.c @@ -152,10 +152,6 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t kernelname = getenv("kernelname"); userboot_getdev(NULL, kernelname, &kernelpath); bi.bi_version = BOOTINFO_VERSION; -#if 0 - for (i = 0; i < N_BIOS_GEOM; i++) - bi.bi_bios_geom[i] = bd_getbigeom(i); -#endif bi.bi_size = sizeof(bi); CALLBACK(getmem, &lowmem, &highmem); bi.bi_memsizes_valid = 1; From nobody Tue Jan 24 22:12:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6g2Khpz3bg9L; Tue, 24 Jan 2023 22:12: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 4P1h6f6d1pz3DTL; Tue, 24 Jan 2023 22:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AIko9Zg6Dk1zMtSGIFZXpeSM0VQuWdohzM8IWEBxok=; b=sOm/m1w+QvyV5GSv/vNXb3FdqGlT8px60bWMo0qDZt0pinJLWMasoNSzBYsN9TZHSxADmZ 4wXu3Q/1GwBjeR9WVDID0K+KTIrauHgoHGuRDSYhc/3hZ/lT/Y7nkD4R7lYC4rnMGlTiHS eoAMPVuGql0OPXe5oPa/GBJy/hCEzHyV7oiH1eXclbyXXk+vFmr5r4xVyPVEW6I5g9oELf ikE5gz7pbmU4DnCEb7KH3ITYcYwNFXwZ7DGmJfv+S2ZBZCURZPCNq3B2plqUuv8wJHBF3M zzty6vnP/DqrYMhoslaXuO5Irn4ZzfbRapDqVWUkCjasV2kUc+gScZxPl55Ivw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AIko9Zg6Dk1zMtSGIFZXpeSM0VQuWdohzM8IWEBxok=; b=LeSOT20tpoqgvue6RCYeHoCRWwxvgIj3PKu4L++3csC8GT+fX7q/X1HiZF3kNhRwWkqMIi NvR4Z3ZYSYrRyZWTXSTeXErsxsvgHmOI5Qu3oG3Z8+ArimSM+Lt1lGBS9Xfa9om7YkQHV0 HFjqyiOigNJT2HuvY/vYnARpoc21vEW8o/w40xmE365P30xrWIh6VhWHxQX0quygIEwoDG jeD07Gkue2MN/Ia+4t0WtnyLWR6U72yIuI0Ug1QUmFtHLI46bGIlfFZQ5LARvR71/U8c8F 31PKuETnq+GwdJ9wFI8VZd2ru9BKuTEegguGOjO63SFJdJ2EMmBRexaaz0p2hA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598362; a=rsa-sha256; cv=none; b=D5aaEOaJa/xhLGgytuy/yqle4g6fUpc2l5bKWz5xztaapK/ywNRhIm99gItKADnxleXbwL SasDTzAIFTANAQqAk4WMvg55R01TG8QiDbyHPenK/jLcEALnDLXvX5PSRQ2UiJv8qpQC7V AriHW/PXnY/q9xft8x2vt2YHDaT3IJOuJyAHb2EK6n8JAEJpXaMAAXBtEAfopaCNy51Byh F81lWgxJbd6KMS/W8jOsH0e3lK6BLpY5d8O9tuq8Ilu5at6Zva1DpT6Jie5YA/mD+v51iI ShGZhWwSuen0m93a9Sq4ruAwiLfD75FrWBYcL40Tt4ikb3qTCaayMYhkHRtu3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6f5l6mzQgk; Tue, 24 Jan 2023 22:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCgRC087410; Tue, 24 Jan 2023 22:12:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCgU8087409; Tue, 24 Jan 2023 22:12:42 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:42 GMT Message-Id: <202301242212.30OMCgU8087409@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: f7f2e8226c52 - stable/13 - stand: Allocate bootinfo rather than have it be static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f7f2e8226c52f2d38b09fc0a5b76c35c0f70b253 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f7f2e8226c52f2d38b09fc0a5b76c35c0f70b253 commit f7f2e8226c52f2d38b09fc0a5b76c35c0f70b253 Author: Warner Losh AuthorDate: 2022-09-16 15:09:41 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 stand: Allocate bootinfo rather than have it be static This saves 80 bytes (the new bootinfo structure was 84 bytes, and a pointer is 4 bytes). The bi_load32 code is the same size. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D36575 (cherry picked from commit 9758dd3de1cddc8271be8dd6fee69286c5c86535) stand: Pass in the proper size for bootinfo Missed one sizeof(bi) -> sizeof(*bi) in 9758dd3de1cdd conversion to allocating bootinfo. Noticed by: tijl@ Fixes: 9758dd3de1cdd Sponsored by: Netflix (cherry picked from commit 4a676571e382d0188b98134732f421df57a47a87) --- stand/i386/libi386/bootinfo32.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 372bced917d6..169d2dfb81f4 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -42,7 +42,7 @@ __FBSDID("$FreeBSD$"); #include "geliboot.h" #endif -static struct bootinfo bi; +static struct bootinfo *bi; /* * Load the information expected by an i386 kernel. @@ -91,11 +91,12 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t /* XXX - use a default bootdev of 0. Is this ok??? */ bootdevnr = 0; + bi = calloc(sizeof(*bi), 1); switch(rootdev->dd.d_dev->dv_type) { case DEVT_CD: case DEVT_DISK: /* pass in the BIOS device number of the current disk */ - bi.bi_bios_dev = bd_unit2bios(rootdev); + bi->bi_bios_dev = bd_unit2bios(rootdev); bootdevnr = bd_getdev(rootdev); break; @@ -172,22 +173,22 @@ bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip, vm_offset_t /* legacy bootinfo structure */ kernelname = getenv("kernelname"); i386_getdev(NULL, kernelname, &kernelpath); - bi.bi_version = BOOTINFO_VERSION; - bi.bi_size = sizeof(bi); - bi.bi_memsizes_valid = 1; - bi.bi_basemem = bios_basemem / 1024; - bi.bi_extmem = bios_extmem / 1024; - bi.bi_envp = envp; - bi.bi_modulep = *modulep; - bi.bi_kernend = kernend; - bi.bi_kernelname = VTOP(kernelpath); - bi.bi_symtab = ssym; /* XXX this is only the primary kernel symtab */ - bi.bi_esymtab = esym; + bi->bi_version = BOOTINFO_VERSION; + bi->bi_size = sizeof(*bi); + bi->bi_memsizes_valid = 1; + bi->bi_basemem = bios_basemem / 1024; + bi->bi_extmem = bios_extmem / 1024; + bi->bi_envp = envp; + bi->bi_modulep = *modulep; + bi->bi_kernend = kernend; + bi->bi_kernelname = VTOP(kernelpath); + bi->bi_symtab = ssym; /* XXX this is only the primary kernel symtab */ + bi->bi_esymtab = esym; /* legacy boot arguments */ *howtop = howto | RB_BOOTINFO; *bootdevp = bootdevnr; - *bip = VTOP(&bi); + *bip = VTOP(bi); return(0); } From nobody Tue Jan 24 22:12:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6h6F85z3bgC2; Tue, 24 Jan 2023 22:12: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 4P1h6h0QrQz3Dsc; Tue, 24 Jan 2023 22:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKEcJRkR1NzkTT5RF3osnx8+dYNtiNWNLzfozwDkhVw=; b=MT23FYPno3h1V7DnSd4WljT2t3qdPwayp3w2WVPR2IRHKhiU2wQ5acrljsVznTSgevaeau 1Nh7APy+rsiqHcZQ5eTzTpcVwLz2xnsmiNsrEUcQbZIYXTBNuTRPiLtlnMBx4v1zhm64vP iOeLwC+fwupobBxa+H05ireAppEQfjqb7CrRgJV5cBEoLO5ZamVQbce61W60wW7yezIlrE E9DK7456NcqQlAhXAQTK7lNoAIidSZH8ZGZaT2aWW2MTyRk1Rj/mNYeYiEsozGRGs3r94p 63INw+3FUCfFett+YTuuYVmw0giJAfPBlRj4oQHC+bJzVcA1gCtzDjvSHDAdQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKEcJRkR1NzkTT5RF3osnx8+dYNtiNWNLzfozwDkhVw=; b=BROe1tbbDVwSzHAN8uH7DFZk0HergNjcwedkw7XvfCo4ipf7NJmin/fCNoBIGSeKnkfuRW CZNGVzJpTQz1bQz5fiPSrKeBj17KLM2M5V2fMs2p+nRm43bQjrymnZ5+DjT7H4oT/GvDtU bD1x8R5DDVxKnqxnhU6kcE2HlM9I09/2PSTdV+bNIHRXrTsvnbzvCbYJyNbw3SMipz7c6V eZEVFJUFoAgByoTvBLxltsszphtMoiY3kU7kBZ35qGTlFxwVJcAw5catmmNWNcFv3mtjgG rKe27PJ/oWXRPVkeaDXCd4tvnPva5y91YUm98tKXt7aLytMcF3CNdq/C4iqcaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598364; a=rsa-sha256; cv=none; b=v+s86xWUnGFS2QaJsxidirRf0ZYn+LAYCQABvSmGwfOfjKGr6ugdiwNN54r971ppexSSQ+ sBajd1C9VWAG2e4x3G6zQM+WgdRaPUWyGAcEdfv710AaWXcqej9dxfk8OR0lAHWZLdX71P 0GCUMztinNRv5pAMnmJyuifcVA8roLbFgujYsZwJ2JWRFs5CvWIEu6v4jIrfqWbIIouWnD MKj9yVyB8h2rFQ8UZQlnjkNEJKoMJGSKynybzKvHw5ACTrc4/xuoWbfaF6+LyUDCwzO9xh 0hy4aOPnrdN50jQ3j4iJkLxqek1iU6ZvZMqv23tmdo0PoHcUL5ISjqBDBNORdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6g6ctWzQgl; Tue, 24 Jan 2023 22:12:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCho8087436; Tue, 24 Jan 2023 22:12:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMChYD087435; Tue, 24 Jan 2023 22:12:43 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:43 GMT Message-Id: <202301242212.30OMChYD087435@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: 61c9a00f8e5c - stable/13 - stand/elf: Only support swapping headers on powerpc. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 61c9a00f8e5c17ffbabf46710c2dcdec32acbe3a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=61c9a00f8e5c17ffbabf46710c2dcdec32acbe3a commit 61c9a00f8e5c17ffbabf46710c2dcdec32acbe3a Author: Warner Losh AuthorDate: 2022-09-16 15:10:14 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 stand/elf: Only support swapping headers on powerpc. Powerpc is currently the only architecture that we support more than one endian. It's the only one that benefits from this swapping, so restrict the code to there. This saves about 1k in the i386 BIOS loader. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36577 (cherry picked from commit c0ecae78abbe5c925cd05d5e218aa6f038cd03c7) --- stand/common/load_elf.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index 363da4756c1d..81b9e3e7ee9f 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -98,6 +98,7 @@ const char *__elfN(moduletype) = "elf module"; uint64_t __elfN(relocation_offset) = 0; +#ifdef __powerpc__ extern void elf_wrong_field_size(void); #define CONVERT_FIELD(b, f, e) \ switch (sizeof((b)->f)) { \ @@ -203,7 +204,22 @@ static int elf_section_header_convert(const Elf_Ehdr *ehdr, Elf_Shdr *shdr) } #undef CONVERT_SWITCH #undef CONVERT_FIELD +#else +static int elf_header_convert(Elf_Ehdr *ehdr) +{ + return (0); +} + +static int elf_program_header_convert(const Elf_Ehdr *ehdr, Elf_Phdr *phdr) +{ + return (0); +} +static int elf_section_header_convert(const Elf_Ehdr *ehdr, Elf_Shdr *shdr) +{ + return (0); +} +#endif #ifdef __amd64__ static bool From nobody Tue Jan 24 22:12:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6k1y6Bz3bgC5; Tue, 24 Jan 2023 22:12: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 4P1h6j629Yz3DnT; Tue, 24 Jan 2023 22:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dQt8yVsYNdYQALdGQSIkhzPQ6/nwO+ynjLyg69MeS+g=; b=eVJmz/tYn5AB+iSWDjecMJebihSCk+mmOuSd6vZBjl09u1Fqza7klYJggZ6ORDtwda/fsM fOxWkNKD6fBgK82dwQLxWZSuCXfLrztPDFt6SSvtKOHz56L89kMwoQqLXwcMKLWc8C0cOL bfv5YBkbz+G2fY/QN58lREoMXd8GqSZEKHOFASbih8OFG9ANwpX1xRSAIe4Z9kv2QTTWP4 G4gsjkQZMNJ6egXYnc+EBeWwJ2Uc7UIMKCb/0oQBx3xruPuOt8KoelRf0u/UNRxqDJh5Of 2FYHbGeHCHcXkwzxAZVLKpsdyaQ0QCGpyDTK7K2ftGsyzQuhfsY6K8Vvt45q0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dQt8yVsYNdYQALdGQSIkhzPQ6/nwO+ynjLyg69MeS+g=; b=qfcQx8P3OtBcvlQ3TlVCzMz/XCtjXmi2PjtT2OiZyybjwRLuvVepkBl/UL6QV7Aymkx+FX E4QnBVZA8Udy9rtJxZV9PBAk8CIZ76rVLYk+/qkhsdvwMjGChWBbhXqsXHusIEiUtEdM7n WzXUXqfJwIWuuzrhWTMMktTW+wNB2outO++6R5jv8f+M86k2NzkIykGwyy81jlwbT63GHo lA670JJkZ5HddL8vbOA8e/MiOXMGw5XelYIJyktkoBRT+lXNyWffNORt7X+vBP9BNdNVIy yK7u8cC6tjueS0nQc/1nB2HlPsST+2u1oh+qHg27qMHPugxd7KCJQ/5bGSl0xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598365; a=rsa-sha256; cv=none; b=a6QIWtGPNu0DhZFigQQuyaMcPFzMHhc+bVm3S7LpHAYvEsaugJODNoiZYfM41LowJH1mcP 9rBGN37S7w0kHi8fGt+qFFXhwGqChLPYxVWDRZpUMS26mf5ABzo7z/Y+zb6r+G4tzwFp6w pxVAl8OYfsCtBl231oTUocHBPIUNN3u2xrlXKGzDWc3nXzAXpPXggpeUnH7fWIGGdI+c5M ZvYA1zZ4eP/IFgC+hC1WiPJzeip40Lk3/VpWkl3QqK+pV9jugTIHbQdhtp9Qt55rVXV1Td plr0Vc+4TWYvfvXZTSJVKqlMkCyL86zb/ZwGvEm9G5CcAp9WYyiuECsz8544Og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6j0FyYzQgq; Tue, 24 Jan 2023 22:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCi7I087462; Tue, 24 Jan 2023 22:12:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCiB3087461; Tue, 24 Jan 2023 22:12:44 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:44 GMT Message-Id: <202301242212.30OMCiB3087461@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: 48558b24a0a7 - stable/13 - libsa/rarp.c: Change printf format string List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 48558b24a0a7d5afa2779a80b6595e889f64a08e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=48558b24a0a7d5afa2779a80b6595e889f64a08e commit 48558b24a0a7d5afa2779a80b6595e889f64a08e Author: Michał Grzelak AuthorDate: 2022-09-28 10:34:55 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 libsa/rarp.c: Change printf format string Change printf format string to avoid compilation failure when RARP_DEBUG macro is defined. Reviewed by: imp Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36739 (cherry picked from commit 1ed7916188b5a9684414387ff88829b304a858ae) --- stand/libsa/rarp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/rarp.c b/stand/libsa/rarp.c index a81994e51b5c..27123e793b99 100644 --- a/stand/libsa/rarp.c +++ b/stand/libsa/rarp.c @@ -161,7 +161,7 @@ rarprecv(struct iodesc *d, void **pkt, void **payload, time_t tleft, if (n == -1 || n < sizeof(struct ether_arp)) { #ifdef RARP_DEBUG if (debug) - printf("bad len=%d\n", n); + printf("bad len=%zd\n", n); #endif free(ptr); return (-1); From nobody Tue Jan 24 22:12:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6k6GJBz3bg4G; Tue, 24 Jan 2023 22:12: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 4P1h6k2CcRz3Dcv; Tue, 24 Jan 2023 22:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Xywcx/QsgQpi14Y4KkXDOuWdteez/S7fAiLK9e4wqM=; b=ZLDF73eLm78KRAKE8HWGpYZOuk1vU2D1kDc8lN+BTlq942T7Su77oivj3lG/ukwVa8p5Hd ZjbZtk7ZMnRb0PJi/abgCRGXBQlYLWjglCJJ7beGxA+NA3JJkhWMuihMmxdSNft/WN0JFz k7SAQFEZxxBBMTnBLf8mYLz8NBNdLSjbnwhPJdS/CWSaQa8yXuyI0upXtYQemhxO2sY2r3 z1M4EdSdKjy55zu9eygZzoIDPD8ftytE3GUZp/wzKBog/MymNAngN9Lue7+ilMtPeluj0L vO+1GHr4bfrzdT34AJMriVKDOfJYCcS6zGP91D1wRMa7najvJfy6Wzd2fnnS8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Xywcx/QsgQpi14Y4KkXDOuWdteez/S7fAiLK9e4wqM=; b=LDDbaTGoq+9YwyLdVXYcC+3I1hyKWer9KoXAVcRWo79G73PncCv4SNMUAWNot/sGiDoDeh 1BPAl5J9t7uf866i6jrAYn0uTGDBe6B1wmSpMRjA/TPAgc/To697RYYKrXJ2wG5v70pYwz UPdgg15pRw85x2ZVa1p7CLgy4w7R9Cmtj4jc/NK/fjKEzClvVhV9/LRr/wf1FQxJ8OuOAC hxdieIhseYSnhfQSFClhcqyM1w9CudoxzyKgb2+tKaWer4DPut+sZP8Rm1AXVIzG8175yl 8Hc4wPOmpKkXYP+GOQNIvD9itPdyRbaJXh83U0iDll0zqBTEznfQ6LyR12IhwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598366; a=rsa-sha256; cv=none; b=hRj6L7MFAaIZVgIbU8JHMqru8QsEMQhqUpbbf2mvj7yPJeyMDBBqxCy/0P54kYIKY+K2NE 1MScIrkdpu1EqDwk6gc8DmngVbgnR+xc1iI+FZdWtPHUJTkvO8mPvJOJakZUHs5Z8RoPSp jy7Rn+73/+yu8RGq5if4pI5tLhM4vosBgoYq4CJPxqnyVKNevl/3BytVQElGDbCz6aJKMe DsUKAzKpgeQxZGAnaExTsOIUclCOzxqcIOdCQDCBB8pcrBL6q8SXTwK8iuwT+v88Hkn6u/ dulxzG7BmQ1NXU2z65nGRT8z4R/oTcTeZTviqpnCd7QmqhypLembBf86L9lV8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6k1HpSzQgs; Tue, 24 Jan 2023 22:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCkjY087486; Tue, 24 Jan 2023 22:12:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCkq0087485; Tue, 24 Jan 2023 22:12:46 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:46 GMT Message-Id: <202301242212.30OMCkq0087485@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: a6da4548613b - stable/13 - libsa/rarp.c: Change casted type and printf format List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6da4548613bed77fa940ee0e3bd1424f461274f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a6da4548613bed77fa940ee0e3bd1424f461274f commit a6da4548613bed77fa940ee0e3bd1424f461274f Author: Michał Grzelak AuthorDate: 2022-09-28 10:36:53 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 libsa/rarp.c: Change casted type and printf format Change the casted type and printf format string to avoid compilation failure when RARP_DEBUG macro is defined. Reviewed by: imp Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36738 (cherry picked from commit ee0d06faa0a5b0e551cac4cfcad68062cb3257c7) --- stand/libsa/rarp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/rarp.c b/stand/libsa/rarp.c index 27123e793b99..72aa2650f15e 100644 --- a/stand/libsa/rarp.c +++ b/stand/libsa/rarp.c @@ -83,7 +83,7 @@ rarp_getipaddress(int sock) } #ifdef RARP_DEBUG if (debug) - printf("rarp: d=%x\n", (u_int)d); + printf("rarp: d=%lx\n", (long)d); #endif bzero((char*)&wbuf.data, sizeof(wbuf.data)); From nobody Tue Jan 24 22:12:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6l6h4kz3bgHH; Tue, 24 Jan 2023 22:12: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 4P1h6l4fTFz3Dnm; Tue, 24 Jan 2023 22:12:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkqeJhoAAAOER0IfU41G3YYpiThcYjROxUhXqtii8zY=; b=e8jGT4TMfsggrUc/R+cGr2LvKXVml7zr8rhzfNxWGcK18qdr6wYm/DcTh4riXpoG4yWDXU 3ahCVPHP9WmMk1Ia6AOPx56wDI1WJbiF8sXTbjzdRpIMW2EIO9QQPinCzEOu60iBRCfyS/ Uvb+5CHW2WEpb+c7uySjjnJFZAmaFG8MM2fsj/CG0oHcfyZ58BNZ5z29cdljUP+J37qqWY l62BZpxqbjy3M2/BNcQNBHbNSw6G4vgNGufkbNnZIM8BR245l6A/2kEHdjAFHRV2rq+o36 QbvUI1mTQGWoMoPAlyR1Ex66v6Nh6mR/fx0pvqaJH1WD4npI28/w3e1Bl4l44A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkqeJhoAAAOER0IfU41G3YYpiThcYjROxUhXqtii8zY=; b=gUw2WVaE0zNyBwnwSq9gIP6oH76bOiElc611p00LjXw7UgSpBfGt+MtkhQmRPD03ksKoi+ tXSNg2/7A6YEeIcIb11jrKgEKAPnGz3hWQgH6jAf6hoF9OqPpDZ0gDJA1u/CJ2K9rWBxgz qChJ/3BzakLB3vUvjJCEG9RRH2OmU1hHXM9BbTTC8+QkYx7tsiBwMvX2UEsuMhFmPxesaF tj577qYBpfZQb6Q0lDvz/ZoGSb/sqOPZ5SBXGz+3ryG0hZM6abksQAZfsTxC1M2amIbFVP R+a5LnypVBXYZZks781Js2hu60mVLNQ7I7lYjHQhuGRPfJ3OEEogK5nlQMEhEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598367; a=rsa-sha256; cv=none; b=IBxYT8209EiP0s5PoCoMrF/jsQl9KybZfapZJH91AiyLjAjXsv9qCXGoBAhh5H6l1vtLXB wb1kXMt52yQQaLyoiItiNj6KiP/vkakH3GawyyELpaaXrI2SfMeH/IrQaZZ8QkC190nFaW h0SAzmcPLKp0V7qE+vM2m8CxoS5FW3mBLIR66r57hLXRU6pSu0k29/AGPaCyXeSNLOLwRw VQx0zEwjawpEUTMbTG6zy71sLJt+BMQudUAL9EJPM4MJF7Q/Dl+yI6S1O+wf14JbOWFEeo D22Cp//7Q0I5/QESZs3t0xeDMw/TobxZqv7TwpIOiclizbFdR0KwybXOcLENlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6l2DQ6zQYS; Tue, 24 Jan 2023 22:12:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMClH0087510; Tue, 24 Jan 2023 22:12:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMClQf087509; Tue, 24 Jan 2023 22:12:47 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:47 GMT Message-Id: <202301242212.30OMClQf087509@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: 285714ea7a21 - stable/13 - libsa/arp.c: Change printf format string List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 285714ea7a2194c84cdf4d23a0b92973511040f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=285714ea7a2194c84cdf4d23a0b92973511040f6 commit 285714ea7a2194c84cdf4d23a0b92973511040f6 Author: Michał Grzelak AuthorDate: 2022-09-29 05:22:47 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 libsa/arp.c: Change printf format string Change printf format string to avoid compilation failure when ARP_DEBUG macro is defined. Reviewed by: imp Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36735 (cherry picked from commit c66c6da4f08187deab6a30d4aeb4d6e82088a046) --- stand/libsa/arp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/arp.c b/stand/libsa/arp.c index 7d49559b4e04..9152cb2773dd 100644 --- a/stand/libsa/arp.c +++ b/stand/libsa/arp.c @@ -178,7 +178,7 @@ arprecv(struct iodesc *d, void **pkt, void **payload, time_t tleft, void *extra) if (n == -1 || n < sizeof(struct ether_arp)) { #ifdef ARP_DEBUG if (debug) - printf("bad len=%d\n", n); + printf("bad len=%zd\n", n); #endif free(ptr); return (-1); From nobody Tue Jan 24 22:12:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6m67bVz3bgHK; Tue, 24 Jan 2023 22:12: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 4P1h6m3frSz3DrM; Tue, 24 Jan 2023 22:12:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+3Ebb+jpI0SIn7ouviPCjvsQltNDN1ysIDHHdo7ivJE=; b=Fz6nwBC4xvvAjmCZ1Z7cqxAbs5Nrardp68gqXuShU6qrFgFHDEVSutDZqQyT7Sl9FSyy2o a05n+k8ltmVXpt4hf8gjd0golcIHFVa2HWFNcpCo1J6wUoWg67mHUGBI9N7+vADfDPnZsF GI6422RHXGxV8kbUMVzI2dgMTLZgYGs8yvDxuQ388aH58cmhFcYyA+IIIBse0+lv7NzKzZ TrAcM1CZIfZZzz+d19f1jgyGbzKl+6MexqZVRqb7YQ5Isi0xGBnlPVvBpfHJ3jJlRSaGfW VOfCmjRTmY6wvFVl+C8/LgPVupSX7sD3nlAQ3c7hWygmHLw2MECqgKNVtWYTIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+3Ebb+jpI0SIn7ouviPCjvsQltNDN1ysIDHHdo7ivJE=; b=N8EHwr8DwUwYSh0AJ1W3GG/4p4KseJbyL/BiXeJLK0JuLInu9RCGg8nrj+jh5FfEbXAUe1 JIkfloYEew+TCVP9jkzCwX+1t8UWwGuVm/4jOyUGQIdmT/byv3uBSIGyB8Ynk6f+NPGZS3 uICvaC5GuhqJ7D9le8Eek67P3oRd1orOdyuIqfjvpwzmzceQNoTTam8LEHsLUXCZzDNUqD eb98b8buqCI5YMzQJ2APeIWDw5aeQOYQCRI+JUhy7rsX5phEuAZdeg1RUwjX5k19+r7m8H 6D6WZKWsJ1RgBKXnRiZzAOSDkEdycHEAeGCS2JMgQmX2z6LgwDkza7VdAN6wqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598368; a=rsa-sha256; cv=none; b=QMpEj4gxGC6VVLRsPS+duvJe69g3oU5FTre30F/L/mkIY0gylEZndHLG1Mfwc0Jb5F/l8B tv3Z2u4fqPfSTPBMXBA2kQtuIWKaLuCd4tNqMXYGDTPZ0qNPqnVQ8i/6RaDqTTwfZPA1LM GPcO4KflghxRG0HhjrdFg5iWTIxdauanRmm0yzKpmexFyYnT3XESHt8fi2aFaYEEbOuLcj 7QPMga+J1IslGBOoi9apGVwnSXFNxX7jr+7SLqXl39xIU3sFnG3qpkWEHxVH6flOmR0Nhu 4Kk9rX8Y/34PlOvQSqRzhznRKEanR30n9AWtnrmmosqD3ETOVI9cE5a9j7MNTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6m2lT5zQgv; Tue, 24 Jan 2023 22:12:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCmlJ087540; Tue, 24 Jan 2023 22:12:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCmJt087539; Tue, 24 Jan 2023 22:12:48 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:48 GMT Message-Id: <202301242212.30OMCmJt087539@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: f600fa25a2f2 - stable/13 - libsa/netif.c: Replace #if with #ifdef List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f600fa25a2f2b1aac36f2ac528ebbd4df5870d9f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f600fa25a2f2b1aac36f2ac528ebbd4df5870d9f commit f600fa25a2f2b1aac36f2ac528ebbd4df5870d9f Author: Michał Grzelak AuthorDate: 2022-09-28 10:31:25 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:35 +0000 libsa/netif.c: Replace #if with #ifdef Follow the convention with *_DEBUG macros in stand/libsa/* and replace "#if" with "#ifdef". Reviewed by: kd Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36740 (cherry picked from commit 7b54d275ef6f74fe6030c85445bd3770d537d408) --- stand/libsa/netif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/netif.c b/stand/libsa/netif.c index 4e91e11a9413..91d07dcf96a4 100644 --- a/stand/libsa/netif.c +++ b/stand/libsa/netif.c @@ -91,7 +91,7 @@ netif_match(struct netif *nif, void *machdep_hint) { struct netif_driver *drv = nif->nif_driver; -#if NETIF_DEBUG +#ifdef NETIF_DEBUG if (netif_debug) printf("%s%d: netif_match (%d)\n", drv->netif_bname, nif->nif_unit, nif->nif_sel); From nobody Tue Jan 24 22:12:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6n4wDTz3bg6W; Tue, 24 Jan 2023 22:12: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 4P1h6n3sWcz3Dm3; Tue, 24 Jan 2023 22:12:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IfCo1MawnlpEn8Bdy4qxEM/2lm4mZxfzqfWVVi7KK90=; b=BfroB7JFp/zLt6nNYGx/I8tBXhsQhL5CXOkl4L1h+I+ZCTOP7lP8T0M0ddHEXxfxFHG7mo qkDHNyt0KbqC5tRihrjWrjKnystgkJ/PuTqkwWpx+bLGHieDQWOAEmwas5lvUTi5EAhFAV x7hmdi/pY50doBjdHI2dAmsvU87tEqjjs8RIEZptdmW5fxfo5JXk4tlntcEKpxWu6NFiq2 mAqak12R/RZsSlSg7X1AfwdMFNQzlH6l52qyrctY3WXRGjB9htkkKdS06ZtzAL3CGIkSqf MP9ovmGbZ7sTZdGEXULseNAYokbrRra5E+dCpIj00aEZWrUVevFWr6H8ZhbX8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IfCo1MawnlpEn8Bdy4qxEM/2lm4mZxfzqfWVVi7KK90=; b=h8oU5L8+EwzRdGkO9oD1tw2zE7T0vWrLDDMbOV9bBB1BdVSEqUp+TWaQqhQ720lU/fFSy+ saExNdgmKCHfUVloUXoLOOzzNx5B/A+qKYNLimxRscnhJeHj2Q4Dx6BiAnIpLiKjCFVu8V PoqIWRTcSA2tVyeORIqmn1n0sedugN+JysXaeviDZfNHDuY2g0v04w3RmGMyJfvm/0l1i+ UDq9m2WeMS0zOTWkGOKtxw4PBPnpJ3t8uT3OJ7YuZ+Dfbd5h/p9c/Z5kunUSvp/M5peTHO N5miNZRCorCB09QECV+KYH9Oh5/SZALjjgoS9AO8Ide7lUbhENkaSKICH1R+aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598369; a=rsa-sha256; cv=none; b=g5BC4HHnfA644CIZX/qVum3AL7vQeDramEyjufopHMjk/c0KH9kY2LhyzZ7eMbSmAOsQYi Rt/ZQtc0WosfI4ZZKj0WRJKh2iAqyJplYSCaz1gCdM71L2fIWWKn92XLouaHO+65XhxTj6 5YihUlJxL4tUNKxR1gzONOoua5amWcmGCI5qjHlgF1V+NPyqqz9u/OMkwRZfuGDJYS7+F3 rX9xl6Ya8EjSYwadkUlzJIAjqI/+npbnxb2qRmst9u7ySNoGpZuPk+Vc2Llg1YinQp3Duc tCezzkScrWB6gnL3aFd73GenU10i6x3CItY1euY0jAwZp4rEKL+PTOrOCXIXMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6n2yYmzQVg; Tue, 24 Jan 2023 22:12:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCnEF087566; Tue, 24 Jan 2023 22:12:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCnYx087565; Tue, 24 Jan 2023 22:12:49 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:49 GMT Message-Id: <202301242212.30OMCnYx087565@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: 924dc2ef3d58 - stable/13 - kboot: Move load address stuff to MD code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 924dc2ef3d586f453a1db171362ed647ce23dce8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=924dc2ef3d586f453a1db171362ed647ce23dce8 commit 924dc2ef3d586f453a1db171362ed647ce23dce8 Author: Warner Losh AuthorDate: 2022-10-08 05:40:56 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 kboot: Move load address stuff to MD code The load address computations are highly architecture specific. There are generic ways that are augmented by specific constraints of specific way things work on each architecture. Move the current load segment computations into a MD routine load_addr. As part of the move, I'm marking kboot_get_kernel_machine_bits as unused. This arrived in a prior commit, but never seems to have been connected, suggesting an incomplete merge at the time, or a path not yet taken. Create a stub for amd64 that will be filled in with a later commit. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36603 (cherry picked from commit beba54e4b8349c5482f92d1abf366cfdc12b2416) --- stand/kboot/arch/amd64/Makefile.inc | 2 +- stand/kboot/arch/amd64/load_addr.c | 37 ++++++ stand/kboot/arch/powerpc64/Makefile.inc | 2 +- stand/kboot/arch/powerpc64/load_addr.c | 210 ++++++++++++++++++++++++++++++++ stand/kboot/kboot.h | 2 + stand/kboot/main.c | 160 ------------------------ 6 files changed, 251 insertions(+), 162 deletions(-) diff --git a/stand/kboot/arch/amd64/Makefile.inc b/stand/kboot/arch/amd64/Makefile.inc index 79ddbd67f5b6..e2f5b9038ee6 100644 --- a/stand/kboot/arch/amd64/Makefile.inc +++ b/stand/kboot/arch/amd64/Makefile.inc @@ -1,4 +1,4 @@ -SRCS+= host_syscall.S amd64_tramp.S elf64_freebsd.c +SRCS+= host_syscall.S amd64_tramp.S elf64_freebsd.c load_addr.c CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include diff --git a/stand/kboot/arch/amd64/load_addr.c b/stand/kboot/arch/amd64/load_addr.c new file mode 100644 index 000000000000..cbe066d02d40 --- /dev/null +++ b/stand/kboot/arch/amd64/load_addr.c @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2022 Netflix, 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "stand.h" +#include "host_syscall.h" +#include "kboot.h" + +uint64_t +kboot_get_phys_load_segment(void) +{ + return (~0ULL); +} diff --git a/stand/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/arch/powerpc64/Makefile.inc index b62a12506969..4c863553397c 100644 --- a/stand/kboot/arch/powerpc64/Makefile.inc +++ b/stand/kboot/arch/powerpc64/Makefile.inc @@ -1,6 +1,6 @@ CFLAGS+= -mcpu=powerpc64 -SRCS+= ppc64_elf_freebsd.c host_syscall.S kerneltramp.S +SRCS+= ppc64_elf_freebsd.c host_syscall.S kerneltramp.S load_addr.c SRCS+= ucmpdi2.c LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc diff --git a/stand/kboot/arch/powerpc64/load_addr.c b/stand/kboot/arch/powerpc64/load_addr.c new file mode 100644 index 000000000000..81b5d0d50581 --- /dev/null +++ b/stand/kboot/arch/powerpc64/load_addr.c @@ -0,0 +1,210 @@ +/*- + * Copyright (C) 2010-2014 Nathan Whitehorn + * 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 TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include + +#include "stand.h" +#include "host_syscall.h" +#include "kboot.h" + +struct region_desc { + uint64_t start; + uint64_t end; +}; + +/* + * Find a good place to load the kernel, subject to the PowerPC's constraints + * + * This excludes ranges that are marked as reserved. + * And 0..end of kernel + * + * It then tries to find the memory exposed from the DTB, which it assumes is one + * contiguous range. It adds everything not in that list to the excluded list. + * + * Sort, dedup, and it finds the first region and uses that as the load_segment + * and returns that. All addresses are offset by this amount. + */ +uint64_t +kboot_get_phys_load_segment(void) +{ + int fd; + uint64_t entry[2]; + static uint64_t load_segment = ~(0UL); + uint64_t val_64; + uint32_t val_32; + struct region_desc rsvd_reg[32]; + int rsvd_reg_cnt = 0; + int ret, a, b; + uint64_t start, end; + + if (load_segment == ~(0UL)) { + + /* Default load address is 0x00000000 */ + load_segment = 0UL; + + /* Read reserved regions */ + fd = host_open("/proc/device-tree/reserved-ranges", O_RDONLY, 0); + if (fd >= 0) { + while (host_read(fd, &entry[0], sizeof(entry)) == sizeof(entry)) { + rsvd_reg[rsvd_reg_cnt].start = be64toh(entry[0]); + rsvd_reg[rsvd_reg_cnt].end = + be64toh(entry[1]) + rsvd_reg[rsvd_reg_cnt].start - 1; + rsvd_reg_cnt++; + } + host_close(fd); + } + /* Read where the kernel ends */ + fd = host_open("/proc/device-tree/chosen/linux,kernel-end", O_RDONLY, 0); + if (fd >= 0) { + ret = host_read(fd, &val_64, sizeof(val_64)); + + if (ret == sizeof(uint64_t)) { + rsvd_reg[rsvd_reg_cnt].start = 0; + rsvd_reg[rsvd_reg_cnt].end = be64toh(val_64) - 1; + } else { + memcpy(&val_32, &val_64, sizeof(val_32)); + rsvd_reg[rsvd_reg_cnt].start = 0; + rsvd_reg[rsvd_reg_cnt].end = be32toh(val_32) - 1; + } + rsvd_reg_cnt++; + + host_close(fd); + } + /* Read memory size (SOCKET0 only) */ + fd = host_open("/proc/device-tree/memory@0/reg", O_RDONLY, 0); + if (fd < 0) + fd = host_open("/proc/device-tree/memory/reg", O_RDONLY, 0); + if (fd >= 0) { + ret = host_read(fd, &entry, sizeof(entry)); + + /* Memory range in start:length format */ + entry[0] = be64toh(entry[0]); + entry[1] = be64toh(entry[1]); + + /* Reserve everything what is before start */ + if (entry[0] != 0) { + rsvd_reg[rsvd_reg_cnt].start = 0; + rsvd_reg[rsvd_reg_cnt].end = entry[0] - 1; + rsvd_reg_cnt++; + } + /* Reserve everything what is after end */ + if (entry[1] != 0xffffffffffffffffUL) { + rsvd_reg[rsvd_reg_cnt].start = entry[0] + entry[1]; + rsvd_reg[rsvd_reg_cnt].end = 0xffffffffffffffffUL; + rsvd_reg_cnt++; + } + + host_close(fd); + } + + /* Sort entries in ascending order (bubble) */ + for (a = rsvd_reg_cnt - 1; a > 0; a--) { + for (b = 0; b < a; b++) { + if (rsvd_reg[b].start > rsvd_reg[b + 1].start) { + struct region_desc tmp; + tmp = rsvd_reg[b]; + rsvd_reg[b] = rsvd_reg[b + 1]; + rsvd_reg[b + 1] = tmp; + } + } + } + + /* Join overlapping/adjacent regions */ + for (a = 0; a < rsvd_reg_cnt - 1; ) { + + if ((rsvd_reg[a + 1].start >= rsvd_reg[a].start) && + ((rsvd_reg[a + 1].start - 1) <= rsvd_reg[a].end)) { + /* We have overlapping/adjacent regions! */ + rsvd_reg[a].end = + MAX(rsvd_reg[a].end, rsvd_reg[a + a].end); + + for (b = a + 1; b < rsvd_reg_cnt - 1; b++) + rsvd_reg[b] = rsvd_reg[b + 1]; + rsvd_reg_cnt--; + } else + a++; + } + + /* Find the first free region */ + if (rsvd_reg_cnt > 0) { + start = 0; + end = rsvd_reg[0].start; + for (a = 0; a < rsvd_reg_cnt - 1; a++) { + if ((start >= rsvd_reg[a].start) && + (start <= rsvd_reg[a].end)) { + start = rsvd_reg[a].end + 1; + end = rsvd_reg[a + 1].start; + } else + break; + } + + if (start != end) { + uint64_t align = 64UL*1024UL*1024UL; + + /* Align both to 64MB boundary */ + start = (start + align - 1UL) & ~(align - 1UL); + end = ((end + 1UL) & ~(align - 1UL)) - 1UL; + + if (start < end) + load_segment = start; + } + } + } + + return (load_segment); +} + +#if 0 +/* + * XXX this appears to be unused, but may have been for selecting the allowed + * kernels ABIs. It's been unused since the first commit, which suggests an + * error in bringing this into the tree. + */ +uint8_t +kboot_get_kernel_machine_bits(void) +{ + static uint8_t bits = 0; + struct old_utsname utsname; + int ret; + + if (bits == 0) { + /* Default is 32-bit kernel */ + bits = 32; + + /* Try to get system type */ + memset(&utsname, 0, sizeof(utsname)); + ret = host_uname(&utsname); + if (ret == 0) { + if (strcmp(utsname.machine, "ppc64") == 0) + bits = 64; + else if (strcmp(utsname.machine, "ppc64le") == 0) + bits = 64; + } + } + + return (bits); +} +#endif diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 01de346234f3..13c9f9ad3032 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -8,5 +8,7 @@ #define KBOOT_H void do_init(void); +uint64_t kboot_get_phys_load_segment(void); +uint8_t kboot_get_kernel_machine_bits(void); #endif /* KBOOT_H */ diff --git a/stand/kboot/main.c b/stand/kboot/main.c index be08528049e6..10dd6b05194b 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -49,166 +49,6 @@ static void kboot_kseg_get(int *nseg, void **ptr); extern int command_fdt_internal(int argc, char *argv[]); -struct region_desc { - uint64_t start; - uint64_t end; -}; - -static uint64_t -kboot_get_phys_load_segment(void) -{ - int fd; - uint64_t entry[2]; - static uint64_t load_segment = ~(0UL); - uint64_t val_64; - uint32_t val_32; - struct region_desc rsvd_reg[32]; - int rsvd_reg_cnt = 0; - int ret, a, b; - uint64_t start, end; - - if (load_segment == ~(0UL)) { - - /* Default load address is 0x00000000 */ - load_segment = 0UL; - - /* Read reserved regions */ - fd = host_open("/proc/device-tree/reserved-ranges", O_RDONLY, 0); - if (fd >= 0) { - while (host_read(fd, &entry[0], sizeof(entry)) == sizeof(entry)) { - rsvd_reg[rsvd_reg_cnt].start = be64toh(entry[0]); - rsvd_reg[rsvd_reg_cnt].end = - be64toh(entry[1]) + rsvd_reg[rsvd_reg_cnt].start - 1; - rsvd_reg_cnt++; - } - host_close(fd); - } - /* Read where the kernel ends */ - fd = host_open("/proc/device-tree/chosen/linux,kernel-end", O_RDONLY, 0); - if (fd >= 0) { - ret = host_read(fd, &val_64, sizeof(val_64)); - - if (ret == sizeof(uint64_t)) { - rsvd_reg[rsvd_reg_cnt].start = 0; - rsvd_reg[rsvd_reg_cnt].end = be64toh(val_64) - 1; - } else { - memcpy(&val_32, &val_64, sizeof(val_32)); - rsvd_reg[rsvd_reg_cnt].start = 0; - rsvd_reg[rsvd_reg_cnt].end = be32toh(val_32) - 1; - } - rsvd_reg_cnt++; - - host_close(fd); - } - /* Read memory size (SOCKET0 only) */ - fd = host_open("/proc/device-tree/memory@0/reg", O_RDONLY, 0); - if (fd < 0) - fd = host_open("/proc/device-tree/memory/reg", O_RDONLY, 0); - if (fd >= 0) { - ret = host_read(fd, &entry, sizeof(entry)); - - /* Memory range in start:length format */ - entry[0] = be64toh(entry[0]); - entry[1] = be64toh(entry[1]); - - /* Reserve everything what is before start */ - if (entry[0] != 0) { - rsvd_reg[rsvd_reg_cnt].start = 0; - rsvd_reg[rsvd_reg_cnt].end = entry[0] - 1; - rsvd_reg_cnt++; - } - /* Reserve everything what is after end */ - if (entry[1] != 0xffffffffffffffffUL) { - rsvd_reg[rsvd_reg_cnt].start = entry[0] + entry[1]; - rsvd_reg[rsvd_reg_cnt].end = 0xffffffffffffffffUL; - rsvd_reg_cnt++; - } - - host_close(fd); - } - - /* Sort entries in ascending order (bubble) */ - for (a = rsvd_reg_cnt - 1; a > 0; a--) { - for (b = 0; b < a; b++) { - if (rsvd_reg[b].start > rsvd_reg[b + 1].start) { - struct region_desc tmp; - tmp = rsvd_reg[b]; - rsvd_reg[b] = rsvd_reg[b + 1]; - rsvd_reg[b + 1] = tmp; - } - } - } - - /* Join overlapping/adjacent regions */ - for (a = 0; a < rsvd_reg_cnt - 1; ) { - - if ((rsvd_reg[a + 1].start >= rsvd_reg[a].start) && - ((rsvd_reg[a + 1].start - 1) <= rsvd_reg[a].end)) { - /* We have overlapping/adjacent regions! */ - rsvd_reg[a].end = - MAX(rsvd_reg[a].end, rsvd_reg[a + a].end); - - for (b = a + 1; b < rsvd_reg_cnt - 1; b++) - rsvd_reg[b] = rsvd_reg[b + 1]; - rsvd_reg_cnt--; - } else - a++; - } - - /* Find the first free region */ - if (rsvd_reg_cnt > 0) { - start = 0; - end = rsvd_reg[0].start; - for (a = 0; a < rsvd_reg_cnt - 1; a++) { - if ((start >= rsvd_reg[a].start) && - (start <= rsvd_reg[a].end)) { - start = rsvd_reg[a].end + 1; - end = rsvd_reg[a + 1].start; - } else - break; - } - - if (start != end) { - uint64_t align = 64UL*1024UL*1024UL; - - /* Align both to 64MB boundary */ - start = (start + align - 1UL) & ~(align - 1UL); - end = ((end + 1UL) & ~(align - 1UL)) - 1UL; - - if (start < end) - load_segment = start; - } - } - } - - return (load_segment); -} - -uint8_t -kboot_get_kernel_machine_bits(void) -{ - static uint8_t bits = 0; - struct old_utsname utsname; - int ret; - - if (bits == 0) { - /* Default is 32-bit kernel */ - bits = 32; - - /* Try to get system type */ - memset(&utsname, 0, sizeof(utsname)); - ret = host_uname(&utsname); - if (ret == 0) { - if (strcmp(utsname.machine, "ppc64") == 0) - bits = 64; - else if (strcmp(utsname.machine, "ppc64le") == 0) - bits = 64; - } - } - - return (bits); -} - int kboot_getdev(void **vdev, const char *devspec, const char **path) { From nobody Tue Jan 24 22:12:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6r1T3Jz3bg9W; Tue, 24 Jan 2023 22:12: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 4P1h6p58R9z3DmS; Tue, 24 Jan 2023 22:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8nS+C+5NZQvAiZ7YLIqP62KJF4jjQAMTKwi0wSMYFlg=; b=YFYQQm5XYNuS1eLX4kJbRu8quz1qYs9N2Y98jdtfX1lgx3QAkQ+SDAo2VAU11YQQpGy3FF sC+m8ISWDCfk4p5pQ1ZrQLRk2NBzl+M/1n6gruGLp6eJT6Ks40W3Hy0l5CVBxxEsipEifY HHZlYXM7xojKCyiHJCfIeHrdYqRoT3Jaj9BeySqXGeyv9dwdKUwq3Ap3CkT+YIvPx9GW6M 2rmd1hypuXe+6QYbKC/ZG7XgjhzGsvDaJ6nppQpZwGvVCl3EUyrOP5Crw3rjFnNVqQY6n3 VgiXhqWGJ2yjEvillbNpmyV0GJwTMgAONBbMowG7BAEsGao8kdbpBLZ4FeRrHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8nS+C+5NZQvAiZ7YLIqP62KJF4jjQAMTKwi0wSMYFlg=; b=Yrw5N9VQ1tNq1ydyR/4Y5GD+TKccH3tYBI/Vo/wiJtRMb9hVeKvFTVovSa5MQJ4YG4tosv K4TxWz9oNnVi19r1DlkZ8GYOX6m4UsqTNt3proEljxaei3QHSTjfqltgaZNoTQ/cj7mz0o 7mjn5vqDHyGFqt0hkcgTy9HP/ew9qBC6MCps3tHuBLSeoAalIe8N5ckfvZPz5wgXKLLkkV Nwta6DeZAyNam243i23mDTMI9e0BhDKQzx2MYYmfKezNOma5tEgF61hziYH0V/71xEcnpZ bWNBJlqB/WnPgCL6uKRYYaBiDz1Hbj+kenHICY4L4LdgtPbO+qsH9k4mB7+FTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598370; a=rsa-sha256; cv=none; b=YD+nHagBooCydZDKpJg8ucqnc8mGL6av76iZTjOBW7V1qKeavh81qx6ECWIr1xGmYhvCiT aNkE0LVFyBnvCWJ6cqQ3kp9eb6SXDSnPBkm+ysfx4Al0uTlWZWnnNQ0oC30oOeMYYKw70j YvAm/SaTnOTK5CSO1rCIO1zZuwiKcFHPzN8auWii6nUdzodGaQ0aWht7DyoLOVNhFwYVh7 kHujtz7yWfKbUesDBnrpSaHVyH4PG2GxpVN6ENEpjUlCh343j8k36q2vCRshP0GEjl0OB6 p9J9H+f/IMCnRQOiJxhrnj36vJyXklEyOOEYU7Ikwq/zw3f7CfGe7H0xZiHCuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6p4CVdzQVh; Tue, 24 Jan 2023 22:12:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCovA087595; Tue, 24 Jan 2023 22:12:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCoL7087594; Tue, 24 Jan 2023 22:12:50 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:50 GMT Message-Id: <202301242212.30OMCoL7087594@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: cf39b45a3043 - stable/13 - kboot: hostdisk add to lsdev output List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cf39b45a30431ce84339970d30fbbf7e864af4de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cf39b45a30431ce84339970d30fbbf7e864af4de commit cf39b45a30431ce84339970d30fbbf7e864af4de Author: Warner Losh AuthorDate: 2022-10-08 05:46:20 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 kboot: hostdisk add to lsdev output Not entirely sure what to do here, so just list that we're here. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36606 (cherry picked from commit 6700f34d126eb4892e24f4c7758e9f570de2fb4e) --- stand/kboot/hostdisk.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 00f133274f10..487f24fde821 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -127,6 +127,12 @@ hostdisk_ioctl(struct open_file *f, u_long cmd, void *data) static int hostdisk_print(int verbose) { - return (0); -} + char line[80]; + printf("%s devices:", hostdisk.dv_name); + if (pager_output("\n") != 0) + return (1); + + snprintf(line, sizeof(line), " /dev%d: Host disk\n", 0); + return (pager_output(line)); +} From nobody Tue Jan 24 22:12:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6r2yq5z3bgHX; Tue, 24 Jan 2023 22:12: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 4P1h6q66gqz3Dv1; Tue, 24 Jan 2023 22:12:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PklSYAhTQwCuE9GaUdqiFJ2JV/1v1n1Xh2yXzeIHhe0=; b=QJXi5eGtzuKVRHJ7Fsd+bAQ4Z0GrOCeP6ugPlovaXHXqQo4iUE8T16j5WBauW/TcshbGu1 5A677nzTGpyHEqU3/4qa4Ya6cSlH7iYZTPNdnZ/RFYPgHdlS1gZ3H/5JicdwM+O4jMOcaa SrcS4NMRprYmydZpuwNbhRAowVxiWlZqfyap4DRHA00boGmPdGM+38tcdyJnNMQFwcKhF/ RQw5jPbdLVvp5iEmbhuG+EBeHTbb73zYQ1kie8jwWKsl13sYyAY3ZhmXA7MNB5RckUJzrU X2jFFjjgkXuGPqbZfZ/F2aEweG29deEyvgqva4f4tZ7S4sEqm8e+70+0WSu5Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PklSYAhTQwCuE9GaUdqiFJ2JV/1v1n1Xh2yXzeIHhe0=; b=jb6pmjUARLrtt3qmyJziiMP97UWZs8RZ79jbcC4PysxkSMshZz3FL7AITMjhazKmSzi16O BFtQWMCm16FDWmgdHG7fDSnKAOFVSvqFhYWad34begvrmAoCWtsPYKne/C2khLkjZLBeOJ 1LBRFcYIE7BoI6C7RSUJsVMEqAFxuRUAh2qK3JmyZIW8r/SvpfjNJ0DEQqLzRZSnf3bzzR BtcqmEVq9qRkPQTRcEW726oIZTC7pVvxNuSwTuS3UzyBp+YXDxXomnUn2035b2mhUD8GyK zX08ZCGY/9/BVeVHJ9UcADcwwMIyBL23lD/NMXqr/4YjPa4ry2SASJd06BF7Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598371; a=rsa-sha256; cv=none; b=WYRvVVV2hkqcm4FfeNVUug9cxdUmLIJAhLEz2Vn2w2dSktY4M9UGvnPZrYeDBOqoOYZJJN PmgDMw/WepKW863+KObkUgQOOl3uphryJBVgYxj/9vHDkoIorydT4EKT7hFUxU5meGITqw VaHe5Vq7dZnRzQpbMO/xSkXywttP2IRO8RPfEy7a6O3d2ctcfxv5BTT/E2/AE7pmvjP5JE buMlsDNr+f04P0tAowDe9r/LbusUvm9xzmNJDkhPbG2cge6R6X0JtElhElR2HOcahyc4N3 /uzADrJV3Qd7TYu9dGbp5GIoqZNQd+IquaLomMftqfL7LkdcIFtYCXyALkHGZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6q5DFnzQVj; Tue, 24 Jan 2023 22:12:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCpCj087619; Tue, 24 Jan 2023 22:12:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCplX087618; Tue, 24 Jan 2023 22:12:51 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:51 GMT Message-Id: <202301242212.30OMCplX087618@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: e2cc4bab4b00 - stable/13 - stabd/geli: Bail out if you can't get the disks size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e2cc4bab4b001e419557c9692a918b29dd35e1e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e2cc4bab4b001e419557c9692a918b29dd35e1e8 commit e2cc4bab4b001e419557c9692a918b29dd35e1e8 Author: Warner Losh AuthorDate: 2022-10-21 23:39:34 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 stabd/geli: Bail out if you can't get the disks size If the DIOCGMEDIASIZE ioctl fails, assume the disk doesn't have geli encryption. While all disks should implement this, fail safe for disks / partitions that do not. Sponsored by: Netflix (cherry picked from commit 787df454c8175e58131f582c05c169070fb6ca7c) --- stand/libsa/geli/gelidev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/libsa/geli/gelidev.c b/stand/libsa/geli/gelidev.c index 5f1143399fb3..2dd686c81883 100644 --- a/stand/libsa/geli/gelidev.c +++ b/stand/libsa/geli/gelidev.c @@ -302,7 +302,8 @@ geli_probe_and_attach(struct open_file *f) hdesc = (struct disk_devdesc *)(f->f_devdata); /* Get the last block number for the host provider. */ - hdesc->dd.d_dev->dv_ioctl(f, DIOCGMEDIASIZE, &hmediasize); + if (hdesc->dd.d_dev->dv_ioctl(f, DIOCGMEDIASIZE, &hmediasize) != 0) + return; hlastblk = (hmediasize / DEV_BSIZE) - 1; /* Taste the host provider. If it's not geli-encrypted just return. */ From nobody Tue Jan 24 22:12:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6s1Vm1z3bgCR; Tue, 24 Jan 2023 22: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 4P1h6s0CKbz3DxM; Tue, 24 Jan 2023 22: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=1674598373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZq0WLo7el4Y02h0f3COGQCEV8alHjlzAVOA3Am8MZA=; b=AGlHzT153vgzgtMfQZPaHpjX/mc7oAlL8dSWy9HLDQgujH9yufZZzFEIe7k+HP/eheAeXL B7gxYjQlKEbHNBtglfh9hiQMId5F1JUWLPDULbW3kJnxSlzuGMRq9eU0dBAsMMtMcFxnNj vocTARhK9+SnnxFuPdwrkm6GqrMq+OJ87JEEB832SRg96u40byQovAxky3PL/2Coq0tF0G yGFor5/zFiwDOxp04sbGlVTlx6Bcb7KOKRz2oss/HGPW8F79AYBJWoh/182DO64YOCvD9Y 5fRC4eQehc8uApuP4P+Ys75b9BclWsbBJsXieeqrQ7kWGcFVV1uXDnoc3qkfaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZq0WLo7el4Y02h0f3COGQCEV8alHjlzAVOA3Am8MZA=; b=bL+I/CTrxe7Nkwr9pnyC7iJR2AtVpp3a9CDhZDSPqZaGjSnkzA32unAeB0eZHNSxBI0Ep4 A5wVqv/1OiqnALN2YrmbrOEA7/0ojKGnza1V7lESe1QwH1OsSzHFYtxx4rxQpH88lc/V09 Yb9sTbno2mb//jdyB4YSoVuuWo4Ll85Ocu7JYo/D0j1IKbs4AMyj9ZqZjbUuPOH2LclCiP OnMJbGKwEUDWGpvHVooRiAO3MPCzBcXgrRFdvQoOD1ABTLnSgN5GhVoxEi4BciVxoF5K89 mKcht1SOIhqedBB//8sQAP4FYGPMf6m5ua03+dXyvgSmbBikVc0s1Y9Ba0Bvdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598373; a=rsa-sha256; cv=none; b=qhAVUDJE3Ds3WgkX3vdzoW1ZyuihsGWkwRlO4pQuh1Wtd7Gf5DqIlzZIJoyDydaeyhLrLW YJai4vqZo2pH9agXgr0JEKLeaC/WBVm0cArPsc2J54AaHf1cUrCzrQXshRgm/iqEQMeLsX kCTWdBYPkBPqrDhv9NbWPO6eVEqnuHs8DXXD6PejkB4/+VvzRrLtaTnGWM8IlcMTZeu3GL SEHgbMaIor91HtZ+buWvQYWiKJ4uqafOvo5E+Azv+CHOWJLiCmVrE/TMba1lh5Na9qhgLG r60NAmKPQOjnnbwVLFb5I4bc8fxDZMiMXZzBpcxyUvPrLt93no6FMZ0/UDUy/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6r656gzQYT; Tue, 24 Jan 2023 22:12:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCqZe087643; Tue, 24 Jan 2023 22:12:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCqcj087642; Tue, 24 Jan 2023 22:12:52 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:52 GMT Message-Id: <202301242212.30OMCqcj087642@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: a34fda8a5d1a - stable/13 - geli: Move check for DEVT_DISK into geli_probe_and_attach List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a34fda8a5d1a8dea30a0883689e59c9d64f9e37c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a34fda8a5d1a8dea30a0883689e59c9d64f9e37c commit a34fda8a5d1a8dea30a0883689e59c9d64f9e37c Author: Warner Losh AuthorDate: 2022-10-22 00:16:56 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 geli: Move check for DEVT_DISK into geli_probe_and_attach We only work on DEVT_DISK disks, so move that into the probe to drive the point home better. Sponsored by: Netflix (cherry picked from commit bb3230e40bea68c1a0fc9ba1bee204bc05d7ea78) --- stand/common/devopen.c | 4 +--- stand/libsa/geli/gelidev.c | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/stand/common/devopen.c b/stand/common/devopen.c index 8fd2c1796555..4fd955d5a9eb 100644 --- a/stand/common/devopen.c +++ b/stand/common/devopen.c @@ -63,9 +63,7 @@ devopen(struct open_file *f, const char *fname, const char **file) * pw if needed), this will attach the geli code to the open_file by * replacing f->f_dev and f_devdata with pointers to a geli_devdesc. */ - if (f->f_dev->dv_type == DEVT_DISK) { - geli_probe_and_attach(f); - } + geli_probe_and_attach(f); #endif return (0); diff --git a/stand/libsa/geli/gelidev.c b/stand/libsa/geli/gelidev.c index 2dd686c81883..23ded496c23d 100644 --- a/stand/libsa/geli/gelidev.c +++ b/stand/libsa/geli/gelidev.c @@ -301,6 +301,9 @@ geli_probe_and_attach(struct open_file *f) hdesc = (struct disk_devdesc *)(f->f_devdata); + /* We only work on DEVT_DISKs */ + if (hdesc->dd.d_dev->dv_type != DEVT_DISK) + return; /* Get the last block number for the host provider. */ if (hdesc->dd.d_dev->dv_ioctl(f, DIOCGMEDIASIZE, &hmediasize) != 0) return; From nobody Tue Jan 24 22:12:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6t2Y6tz3bgCS; Tue, 24 Jan 2023 22:12: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 4P1h6t1K6nz3DvV; Tue, 24 Jan 2023 22:12:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=adCTMgrPvkKZgAgTMNZRE675IzF1jDrciXhTxHcyQ5g=; b=ss7gBbFLQE2RmqeFvrt+I7gnRBBrZGmu3kqm7fmANJnLEGcnbHl4/ZiqRrD4dfSMecuuZP ogfPcjmOuQ/5tcbt6ophiEjaDgLhxguc5J1EZoRAD2pIHzRU8PXkypE1jufb4Z8Hb29Yih HeWZAkMJtXt9ja94Oc7rEwqEldbKv8+SlF2Ol+vty+NU38QDQ4K/ToKDaNYvanNR0a5fJL 2G1oBJSvcOJunWMrqlZdIDIYJ2DaaaID7pZ8iUIUJ+O7q89t24RA/PnuxjwxczDIiLeAGj VFI1Xj6dXKtCVPbwIOpQff7hsHFncgAyAafSXbRN9AnuhN6/hA2ud+/qY6u6UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=adCTMgrPvkKZgAgTMNZRE675IzF1jDrciXhTxHcyQ5g=; b=FtLyKqlXEYgm48PkxkB3uEFjbyNcwRRhZkBoiq1XNuaVTRV/mP9H4o3ZbbmR5o8HrY2hBQ dp2hP0ZVs3o8PE/6Lt6VJDtqdWNnpe6mcXHYvFCDorzaRyETml6crAAIIPOSynuxHgNHx3 Cx6HpKekonY5EhYBO67V92Rtn106WDN/8znvkWkPKr4ym/6ApcqJwoQ92uSUqYZtDlldeO R/oE+g87QtGlQhRwzzvVj3Sbmo9TR9zPSxmKW5pKCPsuOc44C0Dc6L36mXbiin80gIsMwH 8vkK7xpuPLK7hVOdvf2eP020n2dE+q3enFCDtd2+pcLYBCnVlS+zJSAaXMS8jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598374; a=rsa-sha256; cv=none; b=TW5t/S8hU0oRs+ey936JaQD72a2l26ezoojYdd0Ri6cOUaxmuS0PUXJi3rdKRaueJL3iCt bWORV5FgdV+Wx+AK3arVewG36sKhT1DA+4+rIQO8KOULcxne4AKvJA9sk7/ifKhQLRDWCO A0AV0g6NQ6OSgpkxxpzKeP0fReMx7fSPzHbnTfW98IwjPQxKdHIlpRWYh7MyYF8RsIuZvX IPRoUItN8V18x3qa6KvTxDnBWgH20r0Z09uIdxWhdKO1Ki/Dh+8P4y6eWnfCdV9Z1QzRwU KclJ/VPd9T0IBsL6E4CLoz+XvKIy7/sqksmfDAa4zo3yuXfSpgOoT+SSN5qXug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6t0GJHzQVk; Tue, 24 Jan 2023 22:12:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCrcD087671; Tue, 24 Jan 2023 22:12:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCr9G087670; Tue, 24 Jan 2023 22:12:53 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:53 GMT Message-Id: <202301242212.30OMCr9G087670@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: 228dfdb7f210 - stable/13 - stand/kboot: hostdisk isn't a DEVT_DISK, use a different value. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 228dfdb7f2105c7e89d1b708c973e0f88d899475 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=228dfdb7f2105c7e89d1b708c973e0f88d899475 commit 228dfdb7f2105c7e89d1b708c973e0f88d899475 Author: Warner Losh AuthorDate: 2022-10-22 15:09:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 stand/kboot: hostdisk isn't a DEVT_DISK, use a different value. We assume in all the code that a DEVT_DISK uses common/disk.c and/or common/part.c and we can access a struct disk_devdesc. hostdisk.c opens raw devices directly, so has no such structures. Define a kboot-specific DEVT_HOSTDISK and use that instead. In addition, disk_fmtdev assumes it is working with a struct disk_devdesc, so write hostdisk_fmtdev as well. Sponsored by: Netflix (cherry picked from commit 2cb90a7b2efc41e791c589e17127f63ccf24167c) --- stand/kboot/hostdisk.c | 14 ++++++++++---- stand/kboot/kboot.h | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 487f24fde821..852785497989 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -28,9 +28,8 @@ __FBSDID("$FreeBSD$"); #include #include -#include "bootstrap.h" #include "host_syscall.h" -#include "disk.h" +#include "kboot.h" static int hostdisk_init(void); static int hostdisk_strategy(void *devdata, int flag, daddr_t dblk, @@ -39,10 +38,11 @@ static int hostdisk_open(struct open_file *f, ...); static int hostdisk_close(struct open_file *f); static int hostdisk_ioctl(struct open_file *f, u_long cmd, void *data); static int hostdisk_print(int verbose); +static char *hostdisk_fmtdev(struct devdesc *vdev); struct devsw hostdisk = { .dv_name = "/dev", - .dv_type = DEVT_DISK, + .dv_type = DEVT_HOSTDISK, .dv_init = hostdisk_init, .dv_strategy = hostdisk_strategy, .dv_open = hostdisk_open, @@ -50,7 +50,7 @@ struct devsw hostdisk = { .dv_ioctl = hostdisk_ioctl, .dv_print = hostdisk_print, .dv_cleanup = nullsys, - .dv_fmtdev = disk_fmtdev, + .dv_fmtdev = hostdisk_fmtdev, }; static int @@ -136,3 +136,9 @@ hostdisk_print(int verbose) snprintf(line, sizeof(line), " /dev%d: Host disk\n", 0); return (pager_output(line)); } + +static char * +hostdisk_fmtdev(struct devdesc *vdev) +{ + return (vdev->d_opendata); +} diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 13c9f9ad3032..679d645d8ff0 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -7,6 +7,8 @@ #ifndef KBOOT_H #define KBOOT_H +#define DEVT_HOSTDISK 1234 + void do_init(void); uint64_t kboot_get_phys_load_segment(void); uint8_t kboot_get_kernel_machine_bits(void); From nobody Tue Jan 24 22:12:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6v55Bfz3bg6k; Tue, 24 Jan 2023 22:12: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 4P1h6v3Dx2z3F5t; Tue, 24 Jan 2023 22:12:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BsnS0tYYkLGvAhQUoBu+oTg0UfMDN1HtcnYueD4PzJ4=; b=OR+bGIxsXKXe4u2VoQrAgOcjYzyr9R4EuslACnL3kHTlc9yi5I1Jytmypgf0D7x5owRjqy OzKtWWSPwSW6fjoU51MZx9MMTB26Nq2Pb5rz2nH2JeZ6frtEVJZZsGgdTqXAx0GAfGDpHR bw04iiBvE4QNH8j0sQqTMXxZaz64Y03IigItspoukD5uUv6xDSnVEbeHrrLrQhL3q28YhB MaJVctrmZ1dUjPeI3Zxo1qYFoMSKKzNsQJXFcPNXNPT5CFxT7PPFj6yDKHohzwPdUNLvHt 9wh5BkRs48DCswyjBIl+91vit2fn/G6lJxrhrhJMpOzbgKGI4M5aUC8eJUJftA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BsnS0tYYkLGvAhQUoBu+oTg0UfMDN1HtcnYueD4PzJ4=; b=iH3X1S9T4+uTrL73AR+xvC8XXUjn6/PmaGv4z0/HEiiy6NVHgqlAqzf8qFVXRWEAU7fsbE UBz6Zw153PKBFTPmfJW+Aytl7UvEOYAB1iM8nCUzj5Ians00ofGhfFEXLV6/OBSt8k8LIl OwZVCvdknI5siXIM1dLE8NAc9pohSgsvO+4sl8+fhFWYyl6kWefk0nrb8mQkwGMrkWAZE5 DoEhG/KNDFb6xxjyOnerLepAQraixxF3UNbK6Ol2SJ6zslELL0Zk43Z2EF05gGx6UBa+yH z1Op7MP5Z5i3EyX44RcjPlH0jksWmaZlHPOCJko+nxf1anWEoacFpA5oXyfPYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598375; a=rsa-sha256; cv=none; b=pJhN4epE2cX7WQkZLO/PflgLssKJP9LqEVoxRqvYc9eYEOkCdhaYWIZSHtJNyClmINdDLa 2AChzetBI2uXru74vWRGvWAtc1hgO5xtr7Yx2pMYoKHyVj4D6VGcQ0+hIC2dl5wJ2Kwvfu U0QmkbQnn3xvGtnEriYos6mUSRjDquOaTJ7Gqb1GrXG5tQBYXR4JmwuadFi01MiR8pZhUy 850g6pzGKUCWDDIVj7bXeJCoFXtdww2jIwDBC9/Uo/py9Tpo4lYMdAGMPkrZLBBcoc1OEn DX4L16krlbZvlXpRMpAUFwoDk+FAd6L7NEivOCcFtntcJI5f6IqE6L7ZoV+dyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6v1WsnzQYV; Tue, 24 Jan 2023 22:12:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCtbL087697; Tue, 24 Jan 2023 22:12:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCtjw087696; Tue, 24 Jan 2023 22:12:55 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:55 GMT Message-Id: <202301242212.30OMCtjw087696@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: cc56d139e936 - stable/13 - stand/efi: Simpler construct List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cc56d139e936135ed9077b4aa459dc5ab4d0d049 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cc56d139e936135ed9077b4aa459dc5ab4d0d049 commit cc56d139e936135ed9077b4aa459dc5ab4d0d049 Author: Warner Losh AuthorDate: 2022-10-24 18:11:50 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 stand/efi: Simpler construct Use 'sizeof(long) == 8' for a compile time constant that can be used as an initializer rather than #ifdefs. Sponsored by: Netflix (cherry picked from commit eca818c872f7ad094f8dac143123e7e8d65f3bcc) --- stand/efi/loader/bootinfo.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 99045735e7bb..c5f0291c9e6e 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -318,7 +318,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) vm_offset_t size; char *rootdevname; int howto; - bool is64; + bool is64 = sizeof(long) == 8; #if defined(LOADER_FDT_SUPPORT) vm_offset_t dtbp; int dtb_size; @@ -338,12 +338,6 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #endif }; #endif -#ifdef __LP64__ - is64 = true; -#else - is64 = false; -#endif - howto = bi_getboothowto(args); /* From nobody Tue Jan 24 22:12:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6w6zXjz3bgHr; Tue, 24 Jan 2023 22: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 4P1h6w5CYHz3Dxy; Tue, 24 Jan 2023 22: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=1674598376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFAAXchNU9Ax/XmPj9emFiXvxZ5pnU+Ush6UHKZ55vM=; b=VmInchIdyri54zGr+0IIXRlxxWYK1EigKA8vP0EV3keiFVBB5l2WQJs/vVpDW3WN/h/69r 2O7w2INO83jF7tcTC3nYcQz0JosyCNjDo1hhkd1ERHJsQKUl90ysqQjxdHQGB/JtXFNS2Z w5VfTqeNtMATlhYCvBUG6UudB/6YZT4viVpWoEOsszpSmrAwMhnEgUisS4uE74IajTSzGd +jOtvkw3stacVPYZ+zK7DpLKseiFCh3ElIubXWPHwgXc+SrPIKIMHDe/7m+y4AephRPHse a+L8/LsjF/8mI6zstemhn/j7L45MlF5SacXim8qZCjBunUXv1yJhGfbCfsOdjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFAAXchNU9Ax/XmPj9emFiXvxZ5pnU+Ush6UHKZ55vM=; b=UcPwCfTNfgQtroVJR1wY5emobtumes5unUxj9OIPTcdOOcZUtb5oLCONRiYd1jbBGAQLuM sapfWMinEn+TwO9l78ojVkb29OtiLCRX/LYzhyRXWQ6SNNbFYHkQHRvVfz1ubw4XRoQ+8Q +jHHs5LA2Mg4HsDtB6BMi7zLETSgLAYZOwJAYd5O71qu9GF8rlEkZ7EGWnXdamQMZhqspA YNAkJrk3DiSqgo+GoDTGOsMzmCMfqEM6coyTB2LTSNqiGulDkeS9K0XyKyDSp3INWhrWrH RHLa+EIm87l/M95g3VCW9g2fbxuNpVpAJwAitWvcOmBzlIGKDLD4r25JNhtiag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598376; a=rsa-sha256; cv=none; b=KkeUcJJF7V/ieXJSrVl/x4sikLN4FGQUhc/e4pdQiwQpjNEk7iYv/4lrI90hjHnGpBg/gF mfLSCloKLBAs/xaaYkTBhcvbHg6CDkgACqSjovqk2K0oMJ7BCZjy7jf7g7fLZuP8XbUQk6 Dzyp5NLsWPkFwJoKxRFxTAnKHDDKwd5l9iG3u+VkVppFNyQwFPC1nD0WAbsaRfGccqG7aM sIYAQPkbM8jFKzd3O4JBsECo3cm+DgRi6HfS4pDeq66otcqj5EkUsX5pIcubmaQy98T/1j Sw9sI7of8oYAmFq3hFHiER1fBtbwFig0cLwxHjqwy4OuqJnkGrCbMAJfrBoDWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6w2My2zQYW; Tue, 24 Jan 2023 22:12:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCuK0087721; Tue, 24 Jan 2023 22:12:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCunY087720; Tue, 24 Jan 2023 22:12:56 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:56 GMT Message-Id: <202301242212.30OMCunY087720@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: 7a6a561e861c - stable/13 - stand/kboot: Make FDT fixup per-arch List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7a6a561e861cd6c3889f173b4e1408c572e36d48 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7a6a561e861cd6c3889f173b4e1408c572e36d48 commit 7a6a561e861cd6c3889f173b4e1408c572e36d48 Author: Warner Losh AuthorDate: 2022-10-27 17:36:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 stand/kboot: Make FDT fixup per-arch The fixups needed vary somewhat by architecture, so move the FDT fixup to be per-arch. Rename the fdt_linux_fixup() routine to be fdt_arch_fixup() and expect all architecutres to fix things up as needed. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36604 (cherry picked from commit cc9f1b4c35974972c36553d4ca07ac91dc4262a2) --- stand/kboot/arch/amd64/Makefile.inc | 2 +- stand/kboot/arch/amd64/fdt_arch.c | 32 ++++++++++++ stand/kboot/arch/powerpc64/Makefile.inc | 2 +- stand/kboot/arch/powerpc64/fdt_arch.c | 89 +++++++++++++++++++++++++++++++++ stand/kboot/kboot.h | 4 ++ stand/kboot/kbootfdt.c | 63 +---------------------- 6 files changed, 129 insertions(+), 63 deletions(-) diff --git a/stand/kboot/arch/amd64/Makefile.inc b/stand/kboot/arch/amd64/Makefile.inc index e2f5b9038ee6..fdd40fe9bc5a 100644 --- a/stand/kboot/arch/amd64/Makefile.inc +++ b/stand/kboot/arch/amd64/Makefile.inc @@ -1,4 +1,4 @@ -SRCS+= host_syscall.S amd64_tramp.S elf64_freebsd.c load_addr.c +SRCS+= host_syscall.S amd64_tramp.S elf64_freebsd.c load_addr.c fdt_arch.c CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include diff --git a/stand/kboot/arch/amd64/fdt_arch.c b/stand/kboot/arch/amd64/fdt_arch.c new file mode 100644 index 000000000000..eefb76b1f92c --- /dev/null +++ b/stand/kboot/arch/amd64/fdt_arch.c @@ -0,0 +1,32 @@ +/*- + * Copyright (c) 2022 Netflix, 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 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 TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include "kboot.h" + +void +fdt_arch_fixups(void *fdtp) +{ + /* amd64 doesn't pass in a FDT, so nothing to fix */ +} diff --git a/stand/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/arch/powerpc64/Makefile.inc index 4c863553397c..c29e69970505 100644 --- a/stand/kboot/arch/powerpc64/Makefile.inc +++ b/stand/kboot/arch/powerpc64/Makefile.inc @@ -1,6 +1,6 @@ CFLAGS+= -mcpu=powerpc64 -SRCS+= ppc64_elf_freebsd.c host_syscall.S kerneltramp.S load_addr.c +SRCS+= ppc64_elf_freebsd.c host_syscall.S kerneltramp.S load_addr.c fdt_arch.c SRCS+= ucmpdi2.c LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc diff --git a/stand/kboot/arch/powerpc64/fdt_arch.c b/stand/kboot/arch/powerpc64/fdt_arch.c new file mode 100644 index 000000000000..dc5f0fbd8fb6 --- /dev/null +++ b/stand/kboot/arch/powerpc64/fdt_arch.c @@ -0,0 +1,89 @@ +/*- + * Copyright (C) 2014 Nathan Whitehorn + * 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 TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include "kboot.h" + +/* Fix up wrong values added to the device tree by prom_init() in Linux */ + +void +fdt_arch_fixups(void *fdtp) +{ + int offset, len; + const void *prop; + + /* + * Remove /memory/available properties, which reflect long-gone OF + * state + */ + + offset = fdt_path_offset(fdtp, "/memory@0"); + if (offset > 0) + fdt_delprop(fdtp, offset, "available"); + + /* + * Add reservations for OPAL and RTAS state if present + */ + + offset = fdt_path_offset(fdtp, "/ibm,opal"); + if (offset > 0) { + const uint64_t *base, *size; + base = fdt_getprop(fdtp, offset, "opal-base-address", + &len); + size = fdt_getprop(fdtp, offset, "opal-runtime-size", + &len); + if (base != NULL && size != NULL) + fdt_add_mem_rsv(fdtp, fdt64_to_cpu(*base), + fdt64_to_cpu(*size)); + } + offset = fdt_path_offset(fdtp, "/rtas"); + if (offset > 0) { + const uint32_t *base, *size; + base = fdt_getprop(fdtp, offset, "linux,rtas-base", &len); + size = fdt_getprop(fdtp, offset, "rtas-size", &len); + if (base != NULL && size != NULL) + fdt_add_mem_rsv(fdtp, fdt32_to_cpu(*base), + fdt32_to_cpu(*size)); + } + + /* + * Patch up /chosen nodes so that the stored handles mean something, + * where possible. + */ + offset = fdt_path_offset(fdtp, "/chosen"); + if (offset > 0) { + fdt_delprop(fdtp, offset, "cpu"); /* This node not meaningful */ + + offset = fdt_path_offset(fdtp, "/chosen"); + prop = fdt_getprop(fdtp, offset, "linux,stdout-package", &len); + if (prop != NULL) { + fdt_setprop(fdtp, offset, "stdout", prop, len); + offset = fdt_path_offset(fdtp, "/chosen"); + fdt_setprop(fdtp, offset, "stdin", prop, len); + } + } +} diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 679d645d8ff0..81bd18faa893 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -10,6 +10,10 @@ #define DEVT_HOSTDISK 1234 void do_init(void); + +/* Per-platform fdt fixup */ +void fdt_arch_fixups(void *fdtp); + uint64_t kboot_get_phys_load_segment(void); uint8_t kboot_get_kernel_machine_bits(void); diff --git a/stand/kboot/kbootfdt.c b/stand/kboot/kbootfdt.c index e4e8e7cfbf04..df9506af6773 100644 --- a/stand/kboot/kbootfdt.c +++ b/stand/kboot/kbootfdt.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" #include "host_syscall.h" +#include "kboot.h" static void add_node_to_fdt(void *buffer, const char *path, int fdt_offset) @@ -88,66 +89,6 @@ add_node_to_fdt(void *buffer, const char *path, int fdt_offset) host_close(fd); } -/* Fix up wrong values added to the device tree by prom_init() in Linux */ - -static void -fdt_linux_fixups(void *fdtp) -{ - int offset, len; - const void *prop; - - /* - * Remove /memory/available properties, which reflect long-gone OF - * state - */ - - offset = fdt_path_offset(fdtp, "/memory@0"); - if (offset > 0) - fdt_delprop(fdtp, offset, "available"); - - /* - * Add reservations for OPAL and RTAS state if present - */ - - offset = fdt_path_offset(fdtp, "/ibm,opal"); - if (offset > 0) { - const uint64_t *base, *size; - base = fdt_getprop(fdtp, offset, "opal-base-address", - &len); - size = fdt_getprop(fdtp, offset, "opal-runtime-size", - &len); - if (base != NULL && size != NULL) - fdt_add_mem_rsv(fdtp, fdt64_to_cpu(*base), - fdt64_to_cpu(*size)); - } - offset = fdt_path_offset(fdtp, "/rtas"); - if (offset > 0) { - const uint32_t *base, *size; - base = fdt_getprop(fdtp, offset, "linux,rtas-base", &len); - size = fdt_getprop(fdtp, offset, "rtas-size", &len); - if (base != NULL && size != NULL) - fdt_add_mem_rsv(fdtp, fdt32_to_cpu(*base), - fdt32_to_cpu(*size)); - } - - /* - * Patch up /chosen nodes so that the stored handles mean something, - * where possible. - */ - offset = fdt_path_offset(fdtp, "/chosen"); - if (offset > 0) { - fdt_delprop(fdtp, offset, "cpu"); /* This node not meaningful */ - - offset = fdt_path_offset(fdtp, "/chosen"); - prop = fdt_getprop(fdtp, offset, "linux,stdout-package", &len); - if (prop != NULL) { - fdt_setprop(fdtp, offset, "stdout", prop, len); - offset = fdt_path_offset(fdtp, "/chosen"); - fdt_setprop(fdtp, offset, "stdin", prop, len); - } - } -} - int fdt_platform_load_dtb(void) { @@ -158,7 +99,7 @@ fdt_platform_load_dtb(void) fdt_create_empty_tree(buffer, buflen); add_node_to_fdt(buffer, "/proc/device-tree", fdt_path_offset(buffer, "/")); - fdt_linux_fixups(buffer); + fdt_arch_fixups(buffer); fdt_pack(buffer); From nobody Tue Jan 24 22:12:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6y00rDz3bg6n; Tue, 24 Jan 2023 22: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 4P1h6x4Kmtz3F8N; Tue, 24 Jan 2023 22:12:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LpxdUbCXRUg8urHozWOWrD3f4cDJgy7/YHXJFX2pU5Y=; b=Zu775aP7DL5pdeNdCxLBWrenZxKZ5g2VUQ1oXBCPcbc+17GqC6fye+aC53JVNvobe1TKES vUtrWdxfJr4Ky8YhYV4msmvJeQ6hXDoAGLLL0pdNDvzC/Inji5pHVQBkyUuoRdZ54wI/uF MB3TwqKnivZlmi5T6WFhN+yM53mORnxa1LryXzMKYOnxknMpqKXav6Y4AbK4BfvC2Eqzld Jl9cGciuvXlB3Qvw8W7o2ZMFXMlYHf72Y2by19AuCA/8j9kP7xIzh03iIpyR2qEJTnd9M/ nNn+syFjKfbyl63uTzU9BO3FFLmr1SHBYbIvD/KnyYNZA7OIfEdRSy6DZqiCZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LpxdUbCXRUg8urHozWOWrD3f4cDJgy7/YHXJFX2pU5Y=; b=sSDFEawQ+FsiCpDeFH1TPkJP74PCFW/zRrRC3sBqntQqv/96NgttrxB4NB4P+GqRSAIBgz kXN4nwe/8QjlaSSIPTkd5PDn64/sopi2kwhs6DXdPnNoN84z6Q67cWP5a0dqAFzYguFm8P nsdeZxOgpNFD8zKAHZP0cTrTGwlYpfYhJb5F7oOY2C0xx14HL5xwL0mdPEgouZMt/9/Qlr A1wU9hseuLcEMMGDCW7lVIJggKwxYkKI8Dy5ug/7JQ9WrwbbPWGhpfpid1WldxUfCkvqDt bxcOb1w0x2ne0M97WQLLucItP+dxrA3Bh6dBvVQnGX6qhhBW+nPzPM0LHzGhqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598377; a=rsa-sha256; cv=none; b=qVLDfCqUALHQcqgUUK9OPpsYZvkfmqj6R1vlmmGKiCecn6cvc5drOaIkeAeBVPqMt5Tdv2 +07dwxwz0Xkp0pw5JDD6syJe83s9PGybk7oYZPKv/TIOHXG6ECoamWvBPUvYfnzhCJXYCQ 1JjepUwNKOIAPgTDOLorbesxsBzPQ0hKwIG//eLqmnzZryVHSipKfeAee2s4hPDazqQZ4V H9uE+9Go8essTEtBdQ5UO3W1sXHP9rbJquLsCTGnghVaUC8ZO0vpeHueCklrfMSXI8kR3w oqkWpjsf6HsPrETh6FZ7OOitF4e+keCB07drmFsZN6Ng2GBcywnaXxgvUQ15Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6x3QklzQVl; Tue, 24 Jan 2023 22:12:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCvcp087746; Tue, 24 Jan 2023 22:12:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCvDA087745; Tue, 24 Jan 2023 22:12:57 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:57 GMT Message-Id: <202301242212.30OMCvDA087745@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: f811057b2a7f - stable/13 - kboot: Add hostfs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f811057b2a7fabaf47700c3788f136466248d0ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f811057b2a7fabaf47700c3788f136466248d0ae commit f811057b2a7fabaf47700c3788f136466248d0ae Author: Warner Losh AuthorDate: 2022-10-27 17:37:54 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:36 +0000 kboot: Add hostfs Add hostfs for the Linux environment. We can't use the userboot one that's kinda similar because the Linux system calls we have in kboot are not quite POSIX compliant (Linux takes care of providing the POSIX interface in libc), so we have to cope with a number of quirks in that area. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36607 (cherry picked from commit 02dba4f75f86f3d5ae5a6a438b5bcfdc667929bb) --- stand/kboot/Makefile | 1 + stand/kboot/conf.c | 5 + stand/kboot/hostfs.c | 280 +++++++++++++++++++++++++++++++++++++++++++++++++++ stand/kboot/kboot.h | 2 + stand/kboot/main.c | 4 +- 5 files changed, 291 insertions(+), 1 deletion(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 518e945a596e..c8bd313d1d1d 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -25,6 +25,7 @@ SRCS= \ host_syscalls.c \ hostcons.c \ hostdisk.c \ + hostfs.c \ init.c \ kbootfdt.c \ main.c \ diff --git a/stand/kboot/conf.c b/stand/kboot/conf.c index b840d008a347..26788342c4b9 100644 --- a/stand/kboot/conf.c +++ b/stand/kboot/conf.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #endif extern struct devsw hostdisk; +extern struct devsw host_dev; /* * We could use linker sets for some or all of these, but @@ -53,9 +54,12 @@ struct devsw *devsw[] = { #if defined(LOADER_NET_SUPPORT) &netdev, #endif + &host_dev, NULL }; +extern struct fs_ops hostfs_fsops; + struct fs_ops *file_system[] = { #if defined(LOADER_UFS_SUPPORT) &ufs_fsops, @@ -79,6 +83,7 @@ struct fs_ops *file_system[] = { &bzipfs_fsops, #endif &dosfs_fsops, + &hostfs_fsops, NULL }; diff --git a/stand/kboot/hostfs.c b/stand/kboot/hostfs.c new file mode 100644 index 000000000000..08f532999abe --- /dev/null +++ b/stand/kboot/hostfs.c @@ -0,0 +1,280 @@ +/*- + * Copyright (c) 2022 Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include "stand.h" +#include "host_syscall.h" +#include "kboot.h" + +#define HOST_PATH_MAX 1025 + +extern struct devsw host_dev; + +const char *hostfs_root = "/"; + +enum FTYPE { + regular, + dir, +}; + +typedef struct _hostfs_file { + enum FTYPE hf_type; + int hf_fd; + /* The following are only used for FTYPE == dir */ + char hf_dents[2048]; + char *hf_curdent; + int hf_dentlen; /* Valid part of hf_dents */ +} hostfs_file; + +static hostfs_file * +hostfs_alloc(void) +{ + hostfs_file *hf; + + hf = malloc(sizeof(*hf)); + if (hf != NULL) + memset(hf, 0, sizeof(*hf)); + return (hf); +} + +static void +hostfs_free(hostfs_file *hf) +{ + free(hf); +} + +static int +hostfs_open(const char *fn, struct open_file *f) +{ + hostfs_file *hf; + struct host_kstat ksb; + char path[HOST_PATH_MAX]; + + if (f->f_dev != &host_dev) { + return (EINVAL); + } + + /* + * Normally, we root everything at hostfs_root. However, there are two + * exceptions that make it easier to write code. First is /sys and /proc + * are special Linux filesystems, so we pass those paths + * through. Second, if the path starts with //, then we strip off the + * first / and pass it through (in a weird way, this is actually in + * POSIX: hosts are allowed to do specail things with paths that start + * with two //, but one or three or more are required to be treated as + * one). + */ + if (strncmp("/sys/", fn, 5) == 0 || strncmp("/proc/", fn, 6) == 0) + strlcpy(path, fn, sizeof(path)); + else if (fn[0] == '/' && fn[1] == '/' && fn[2] != '/') + strlcpy(path, fn + 1, sizeof(path)); + else + snprintf(path, sizeof(path), "%s/%s", hostfs_root, fn); + hf = hostfs_alloc(); + hf->hf_fd = host_open(path, HOST_O_RDONLY, 0); + if (hf->hf_fd < 0) { + hostfs_free(hf); + return (EINVAL); + } + + if (host_fstat(hf->hf_fd, &ksb) < 0) { + hostfs_free(hf); + return (EINVAL); + } + if (S_ISDIR(hf->hf_fd)) { + hf->hf_type = dir; + } else { + hf->hf_type = regular; + } + f->f_fsdata = hf; + return (0); +} + +static int +hostfs_close(struct open_file *f) +{ + hostfs_file *hf = f->f_fsdata; + + host_close(hf->hf_fd); + hostfs_free(hf); + f->f_fsdata = NULL; + + return (0); +} + +static int +hostfs_read(struct open_file *f, void *start, size_t size, size_t *resid) +{ + hostfs_file *hf = f->f_fsdata; + ssize_t sz; + + sz = host_read(hf->hf_fd, start, size); + if (sz < 0) { + return (EINVAL); + } + *resid = size - sz; + + return (0); +} + +static off_t +hostfs_seek(struct open_file *f, off_t offset, int whence) +{ + hostfs_file *hf = f->f_fsdata; + uint32_t offl, offh; + int err; + uint64_t res; + + /* + * Assumes Linux host with 'reduced' system call wrappers. Also assume + * host and libstand have same whence encoding (safe since it all comes + * from V7 later ISO-C). Also assumes we have to support powerpc still, + * it's interface is weird for legacy reasons.... + */ + offl = offset & 0xffffffff; + offh = (offset >> 32) & 0xffffffff; + err = host_llseek(hf->hf_fd, offh, offl, &res, whence); + if (err < 0) + return (err); + return (res); +} + +static int +hostfs_stat(struct open_file *f, struct stat *sb) +{ + struct host_kstat ksb; + hostfs_file *hf = f->f_fsdata; + + if (host_fstat(hf->hf_fd, &ksb) < 0) + return (EINVAL); + /* + * Translate Linux stat info to lib stand's notion (which uses FreeBSD's + * stat structure, missing fields are zero and commented below). + */ + memset(sb, 0, sizeof(*sb)); + sb->st_dev = ksb.st_dev; + sb->st_ino = ksb.st_ino; + sb->st_nlink = ksb.st_nlink; + sb->st_mode = ksb.st_mode; + sb->st_uid = ksb.st_uid; + sb->st_gid = ksb.st_gid; + sb->st_rdev = ksb.st_rdev; + /* No st_?time_ext on i386 */ + sb->st_atim.tv_sec = ksb.st_atime_sec; + sb->st_atim.tv_nsec = ksb.st_atime_nsec; + sb->st_mtim.tv_sec = ksb.st_mtime_sec; + sb->st_mtim.tv_nsec = ksb.st_mtime_nsec; + sb->st_ctim.tv_sec = ksb.st_ctime_sec; + sb->st_ctim.tv_nsec = ksb.st_ctime_nsec; + /* No st_birthtim */ + sb->st_size = ksb.st_size; + sb->st_blocks = ksb.st_blocks; + sb->st_blksize = ksb.st_blksize; + /* no st_flags */ + /* no st_get */ + + return (0); +} + +static int +hostfs_readdir(struct open_file *f, struct dirent *d) +{ + hostfs_file *hf = f->f_fsdata; + int dentlen; + struct host_dirent64 *dent; + + if (hf->hf_curdent == NULL) { + dentlen = host_getdents64(hf->hf_fd, hf->hf_dents, sizeof(hf->hf_dents)); + if (dentlen <= 0) + return (EINVAL); + hf->hf_dentlen = dentlen; + hf->hf_curdent = hf->hf_dents; + } + dent = (struct host_dirent64 *)hf->hf_curdent; + d->d_fileno = dent->d_ino; + d->d_type = dent->d_type; /* HOST_DT_XXXX == DX_XXXX for all values */ + strlcpy(d->d_name, dent->d_name, sizeof(d->d_name)); /* d_name is NUL terminated */ + d->d_namlen = strlen(d->d_name); + hf->hf_curdent += dent->d_reclen; + if (hf->hf_curdent >= hf->hf_dents + hf->hf_dentlen) { + hf->hf_curdent = NULL; + hf->hf_dentlen = 0; + } + + return (0); +} + +struct fs_ops hostfs_fsops = { + .fs_name = "host", + .fo_open = hostfs_open, + .fo_close = hostfs_close, + .fo_read = hostfs_read, + .fo_write = null_write, + .fo_seek = hostfs_seek, + .fo_stat = hostfs_stat, + .fo_readdir = hostfs_readdir +}; + +/* + * Generic "null" host device. This goes hand and hand with the host fs object + * + * XXXX This and userboot for bhyve both use exactly the same code, modulo some + * formatting nits. Make them common. We mostly use it to 'gate' the open of the + * filesystem to only this device. + */ + +static int +host_dev_init(void) +{ + return (0); +} + +static int +host_dev_print(int verbose) +{ + char line[80]; + + printf("%s devices:", host_dev.dv_name); + if (pager_output("\n") != 0) + return (1); + + snprintf(line, sizeof(line), " host%d: Host filesystem\n", 0); + return (pager_output(line)); +} + +/* + * 'Open' the host device. + */ +static int +host_dev_open(struct open_file *f, ...) +{ + return (0); +} + +static int +host_dev_close(struct open_file *f) +{ + return (0); +} + +static int +host_dev_strategy(void *devdata, int rw, daddr_t dblk, size_t size, + char *buf, size_t *rsize) +{ + return (ENOSYS); +} + +struct devsw host_dev = { + .dv_name = "host", + .dv_type = DEVT_NET, + .dv_init = host_dev_init, + .dv_strategy = host_dev_strategy, + .dv_open = host_dev_open, + .dv_close = host_dev_close, + .dv_ioctl = noioctl, + .dv_print = host_dev_print, + .dv_cleanup = NULL +}; diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 81bd18faa893..5441c90eaecc 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -11,6 +11,8 @@ void do_init(void); +extern const char *hostfs_root; + /* Per-platform fdt fixup */ void fdt_arch_fixups(void *fdtp); diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 10dd6b05194b..23211ce9df4c 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -120,8 +120,10 @@ main(int argc, const char **argv) bootdev = argv[1]; else bootdev = ""; + if (argc > 2) + hostfs_root = argv[2]; - printf("Boot device: %s\n", bootdev); + printf("Boot device: %s with hostfs_root %s\n", bootdev, hostfs_root); archsw.arch_getdev = kboot_getdev; archsw.arch_copyin = kboot_copyin; From nobody Tue Jan 24 22:12:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6y66PGz3bgFf; Tue, 24 Jan 2023 22: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 4P1h6y5D2bz3FF3; Tue, 24 Jan 2023 22: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=1674598378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKBXEd5t6qAtD8m+qYhVUSWgPCwDO3NF4QBNqPZ7+3s=; b=KPiAHEqA7mOiXwkmRlHF0c2fgHdUNeG0lMbhfQYa0Gl5zE1RY4HozY7Gq/554XHbTxGFnl sXlLNo5PLM6bkbsb78W09/MDJMHxnu2NTztmD8lj55QmYyvFQPOEgp6xtO260WkgC/f+8U cIzV2O58L+RZU46oZH4nPFCKDYLRuWkK8xPKsugM5m0i48nRUJDaVl63Ctp/X+Cz+puoKu 2xIvKKX6iXOlg0NcXlBeBo/bCM25KoWJKqAsZhiwMZAh/4jUQQg9T2JD5UAf3QooVvoOdZ DV21aiQqE9sZ6Dv3v7wegXGBNf3qT9w2c8nJRdMASK6JRYMDxkxECg8yxDKcmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKBXEd5t6qAtD8m+qYhVUSWgPCwDO3NF4QBNqPZ7+3s=; b=OkGCjFtjuMx+6rwaZbUuugdb30/gStc41SAYf1167VfS4z+zJZ3gE5AwVbf5tEWbej+TBI uJUDy5RRs7SoF+RwsB9Y5XeR5bLDHjEMtj3LNPpCPIM0dXzvjVTuCeYH3ajfidvYBK2fxB 0XL3gYRPA/9QuAzRmx6MpBvk5As9/0qz6U93Xe2FkudxqL4K1tdgiIq69qJwtMTmeRE6JW bonE31hXpm5xUmckE83dw+3aeiRc0UWbxRLCAQpJHaQ7GU5tIW1RiUIj3A7LdQhcdl/cAl KNzUZZ9VBSaxR6o0lV3zUBKdGF4oGdmfEoHGPCfaXfMezaREhJpoiPw+ZD5mhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598378; a=rsa-sha256; cv=none; b=KL5kUPPGsHD9NownVya2LDGfl6toxb0ULEjoY3ySujkWaifsoZAFx8tckJl8iOaJzMvxuJ FH/hi5dP/HZJgXn27Y9XMNbXOStykvvpLz+OcxS0oJzYkZulz8aXHEjRz7XBYzxWHZm/YW 2t/ysRXQvwKLKUt3SKhZQK/cgwakv6TK08srh9TiJQagfK1gGi0YYP2vidqSIcY7AMesEH KJSj8QfrwL701GtDSEiLr3/i9gd1Axr2rOngyfTeRTVA3LDGGmIirpAJsVsFRuf89LP0sD 2udDn7sPNtU11vSRoaKuhOmeemn69DH1uV0fwzzzCWV4Pns5XUgrvE31qEmHjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6y4KsYzQPn; Tue, 24 Jan 2023 22:12:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCw0l087772; Tue, 24 Jan 2023 22:12:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCwcB087771; Tue, 24 Jan 2023 22:12:58 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:58 GMT Message-Id: <202301242212.30OMCwcB087771@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: 973f42c8e214 - stable/13 - stand: Nuke double-semicolons List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 973f42c8e214d738b8a6caad2194a9a0520b5752 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=973f42c8e214d738b8a6caad2194a9a0520b5752 commit 973f42c8e214d738b8a6caad2194a9a0520b5752 Author: Elliott Mitchell AuthorDate: 2021-08-16 22:51:38 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 stand: Nuke double-semicolons A distinct number of double-semicolons have ended up in FreeBSD. Take a pass at getting rid of many of these harmless typos. Reviewed by: emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D31717 (cherry picked from commit 798ea06f07778f69297bcb9c88738d115bf0369e) --- stand/common/gfx_fb.c | 2 +- stand/libsa/gpt.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index b80e9c565944..3e163de265ed 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -1190,7 +1190,7 @@ gfx_fb_copy_line(teken_gfx_t *state, int ncol, teken_pos_t *s, teken_pos_t *d) screen_buffer[doffset + x] = screen_buffer[soffset + x]; if (mark) { /* update end point */ - sr.tr_end.tp_col = s->tp_col + x;; + sr.tr_end.tp_col = s->tp_col + x; } else { /* set up new rectangle */ mark = true; diff --git a/stand/libsa/gpt.c b/stand/libsa/gpt.c index 46e67a9c9a2d..6f061e4a8096 100644 --- a/stand/libsa/gpt.c +++ b/stand/libsa/gpt.c @@ -79,7 +79,7 @@ gptupdate(const char *which, struct dsk *dskp, struct gpt_hdr *hdr, hdr->hdr_crc_table = crc32(0, Z_NULL, 0); hdr->hdr_crc_table = crc32(hdr->hdr_crc_table, (const Bytef *)table, hdr->hdr_entries * hdr->hdr_entsz); - hdr->hdr_crc_self = crc32(0, Z_NULL, 0);; + hdr->hdr_crc_self = crc32(0, Z_NULL, 0); hdr->hdr_crc_self = crc32(hdr->hdr_crc_self, (const Bytef *)hdr, hdr->hdr_size); bzero(secbuf, DEV_BSIZE); From nobody Tue Jan 24 22:12:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h6z6m6Qz3bg6s; Tue, 24 Jan 2023 22: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 4P1h6z69GTz3FQQ; Tue, 24 Jan 2023 22: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=1674598379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xOKky77VQvDg+rMgi6AGekc2jaQDwyvB5sN/PUnEulA=; b=CCyPIceMCyRVkZ5z8j/17Qo6QRCeBkdab4PFkSVPgZ9Ez0WDIGGpZqYz7Q4QfAJoPCG1dC p/drT7rF3Rqwbt+r/M5+zG2ZkiuMnr08xFvhx7JD+au4nM8CyaJLd85kIV+I2ZZMHiX40q JEeOAxA4KRyMamPBzwsJsdPuE7pNKTM8IskBWkoPw2ITJEwoPgnJ+t6gvegMhtC2Pqf2bm fKt8Vrptc0EuXZMIG7an/0TlKp/TmAcT6UcPumTbvPm5YXV0AFwvnhmMoEX0U24Vjz8GVb EKN9UMN4OEhreqGe9XVK9tZwdVmtTbcw4IZ9C3zO/vgIJ8S5ddI/5NGS46MAnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xOKky77VQvDg+rMgi6AGekc2jaQDwyvB5sN/PUnEulA=; b=OBnOARvUVwoBcoVxTNdY16hxUEo2tm6+OG+/naNOV00SyOnMnS3VpMVhE6jNtXoAr0Ripx 9RE4RkA5NkqAFxGXtjWjcIzFDN3NPnULfzOp0Ijv4WPQNP5RkXDfIlY1F8cDJvyoWfxU9Y 4whl2Elc1lrjCy1u1NQWrijQsq7uzIxwzfgbLa5h4G/R891qJRHTRBTW/0nNhJ1i6gkrTL 9lPGaoxhIHWotw8E83seRGR8Zx0IL4QEScIKOtpj79cehH5dKjPVGv+QD4oJnbqrmoT4fM TK0NtKGfJ62pxZ5ESdNXKMheeG4Fd4t1ATC1Id8wuKDyVHa6VK0gsQDvA3ilXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598379; a=rsa-sha256; cv=none; b=ddE3QYXZdkgzvBJ1Embw67jWxilT4YnKqm1cWIpjfqoIOg4Rb8c66w63o2n9fHHwA0qRJK ZWTjVtdDwwmhNPbGFsNHQz3cmqT+V1Hnz7chQA9RIJOB/i6E32F0qoYULvwQDjL0zXvCcp VnLa1P6C0/LhS6Rg/mzQVE6SRkZ93JReZuAl+oMpDP46m9HwU6VG40PuGdFyGtBZY3yF1B lzenE0YHAnMcYGmql9t6ZMpPo7axA3RGJraZFFjZ/hVpK+bhTnkdSf3disQ6vz6oLHtC5D reNqIFjQyAFXOPNQ4VvLN3k7o8E716l9k8X59mIE59d8fQLTI2tarSaMLiLNXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h6z5Bz4zQmR; Tue, 24 Jan 2023 22:12:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMCxsZ087802; Tue, 24 Jan 2023 22:12:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMCx9S087800; Tue, 24 Jan 2023 22:12:59 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:12:59 GMT Message-Id: <202301242212.30OMCx9S087800@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: 75d454911f7d - stable/13 - stand: Remove unused enum List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 75d454911f7d243b546835d55da5aba3c5b5520c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=75d454911f7d243b546835d55da5aba3c5b5520c commit 75d454911f7d243b546835d55da5aba3c5b5520c Author: Warner Losh AuthorDate: 2022-11-04 21:28:26 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 stand: Remove unused enum enum disk_ioctl is unused. It's only ever defined. All of the stand code uses DIOCGSECTORSIZE and DIOCGMEDIASIZE instead, both to query and to implement ioctl. Sponsored by: Netflix (cherry picked from commit c9ee39a3f255b62cbf106f4e5a704bcefdef017b) --- stand/common/disk.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/stand/common/disk.h b/stand/common/disk.h index 806673349cb8..291999ce960d 100644 --- a/stand/common/disk.h +++ b/stand/common/disk.h @@ -97,11 +97,6 @@ struct disk_devdesc { uint64_t d_offset; }; -enum disk_ioctl { - IOCTL_GET_BLOCKS, - IOCTL_GET_BLOCK_SIZE -}; - /* * Parse disk metadata and initialise dev->d_offset. */ From nobody Tue Jan 24 22:13:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h711m0wz3bgHx; Tue, 24 Jan 2023 22: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 4P1h7105Q6z3FNg; Tue, 24 Jan 2023 22: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=1674598381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hBHnQcUhhGm3M0ufKRDIErVZhGuqRAWdUlBcUIk69q4=; b=ck8yfrNhzphx9uqSTZf2FNhce2QG1M6XiBWRNOt+O6r6UK1wiGY4yYBwUnuzUsD7CDMxkb /MCmyN3FQeJnQsgBnxogIP5PrBufYTtZQScQGwkZ6y9jIb0q0NlxzMD1IR0Un/1GjXnzIJ 75VFoh6zn5dln0SSnDwuKUEcIEPubdKWfjvrheov9GzbYD2lCT37xKE/wYudYGPHMTrFHD bfGEdxnDXNYqgtN5rGrUmtLn/CrkzlmMdE8oIaWWDBwBa38n/GIFGhRLY9VYfGMYOUWQlL sSn2nmw2nw4Jcte/gO7HPw9+h58s3nCvasK+y7EnCUogOYZ2umbVOTt3P76wvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hBHnQcUhhGm3M0ufKRDIErVZhGuqRAWdUlBcUIk69q4=; b=BE7Ol1jPs4UnB6j58/2HtEZV0+PLzlcNZg1NX5L+el0WMkzACrNIFBzCivqlT5xWUUsWtD gSR9HbLvg+jMNqWaNTgAdIG7AQ+n1vBYq/CY+JHLybJXF2FwNvuTfIpq3WiiY9kXUWPUTq Ggnx80YYe6y3OXmZgQ4ygpb06DIneC0ddNaMure5jwi9QSPvlx0QnozdQiNvs5gdl9ZJqG MRn9IR4pq1WgQYCwypWdRvpb6tIe9Nob66ertZGkPryKqttq7BK4MyzhO1QbVQWXolMRZo 3/xGVDP3a5GO6WIest+uSb8hR7slt3DWFo2RogenwATRKpbhn7s94+1U1QuwfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598381; a=rsa-sha256; cv=none; b=UXQNgl7pAccXDP3NcmdhrHxr8im4/TVOulz0Wnj7M3FNO13NbAVxj2YeQWWJlTS123QI5p WaaKaUg2xfcZNPPH6IbCbDNYRWWH5pw5VYOdJX0BX3waGmYO4LwIY1o26nU1Ij5/wLPALt nB4p7lIomnPJt4/gP5xbVDb456HtLr9i5jRwcZwR4kLhnvqxKt4AqEJyLsw8SAS9P+tKVC +fGdvvPwGHCG3HqV2Jy6yUXoR1OxmJEgkZgZRQINvOAdzm9GAyUw4pXqyy9JN2WwjoEka6 B2xgewE26sVSMGAtLUq19F2F7PHytohSKea0JeQV42wnkMIbtXpiTEv+hSoP+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h706K59zQk0; Tue, 24 Jan 2023 22:13:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD0nh087828; Tue, 24 Jan 2023 22:13:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD0En087827; Tue, 24 Jan 2023 22:13:00 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:00 GMT Message-Id: <202301242213.30OMD0En087827@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: 665145887765 - stable/13 - stand: Update comment about devdesc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 66514588776559991675e0959491885f939a0d5f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=66514588776559991675e0959491885f939a0d5f commit 66514588776559991675e0959491885f939a0d5f Author: Warner Losh AuthorDate: 2022-11-05 01:45:27 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 stand: Update comment about devdesc How devdesc is used is opaque until much code is read. Give a more useful description of the theory behind it here. Sponsored by: Netflix (cherry picked from commit 269865a8eed240f572472750451484feccaeeeea) --- stand/libsa/stand.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 5ffff54c7ca7..3b2627355ed6 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -170,9 +170,14 @@ extern struct devsw netdev; extern int errno; /* - * Generic device specifier; architecture-dependent - * versions may be larger, but should be allowed to - * overlap. + * Generic device specifier; architecture-dependent versions may be larger, but + * should be allowed to overlap. The larger device specifiers store more data + * than can fit in the generic one that's gleaned after parsing the device + * string, or used in some cases to indicate wildcards that match a variety of + * situations based on what's on the drive itself rather than what the progammer + * might know in advance. Information about open files is stored in d_opendata, + * though what's passed into the open routine may differ from what's present + * after the open on some configurations. */ struct devdesc { struct devsw *d_dev; From nobody Tue Jan 24 22:13:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7220g1z3bg2S; Tue, 24 Jan 2023 22:13: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 4P1h7213Jvz3FYp; Tue, 24 Jan 2023 22:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dVOOPtgit8d2uStYMUt/Revt0Plf5OkOIhB3bu2s5UE=; b=SHOqmdg95VRVA8UjC1o/oprTMxtqCYK+4U8VHS8I5NZsD2afgiq/9l+Qr9fWtog/RHzwp1 0JnbqMCG7CUiQFTjsX2dBd0J7iV9IwuQ+9f4l6EWdXI5U2Mx88KYfXeHbfFcQFbVKhhd3U 5jGfbDtxdgR0VJTxCfnPhUoL68O4bvm2iLi30Fhnd/lZdyTm302zqcMvkvKp/qxW/jQUqo NCndxP1RKA+mpYcG4aqf3euR0ObVTaHP5bCxcOJ2w8SuyJwOY4twNfswQTyl5G/DoeECKg j+n8CASOpdWIaadlWqJWwAPgmBq+NgkdhhZgcNEt991xA0X5EFDkluVMWOF2Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dVOOPtgit8d2uStYMUt/Revt0Plf5OkOIhB3bu2s5UE=; b=gUaM0+rh9tgfjG+Ei+B65nkXdE9ORidPQD2GuI06c+WOhwuOyZv/trSnQ9vWBRb3522/7M k9lwv7USwLzebAEKhqMmgmQyLPPkpaluZyI4Jy6Bx5kiFLstyVtKugvHp3kdDtHLPa2SYa I5wmqUUK3xW2thXKmvy95+RFALYu4xtkArKExbd0d0a65gwXUleMO4+eDUHg4JKVAEth0o pOmG7jgEUrrdfSIu3QaycGjz4cc4D0Ezlfy3zIifRQmIV52pVItjMcnQWTmchj3FUgOxdU S3FgbeYgzj04zBfsesq2mo+GXiBOZNrZ9KWA9Vf41Squ4UxIhmvcZ8xiqw0pqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598382; a=rsa-sha256; cv=none; b=HUQP+ikocKKdM+0KPuWpOHHydUOnHOj6lA5WdtTiB+VFrBD8WlolZXX1gNQ24OUMf/Q1KF p5O2cs2lWcuZ4N86EVzLqd92a6yECb7Kt92Y516jo0Fzm9Sf/cwwpHUbrbY4KW5PTXhZnV ZNEGfDj8gu+7QnZjGd1DQF9aRvsF6njCUGbnF7TObQLRWaw6Oj4/Xci4q0gwwtwO9zeKgN BVm5yaeBvM5hd/LBZa+eje7cMl++BuaJJNWAfCS00KlfaNeMfeEEBQxRlFsrNRRZgfriOg P0yRLK+qQQ2QwmKMs8+zZh/FTgCMFov4Vy6hmefYhbuNe84ylkM8R4kc3T/mHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7206TvzQVm; Tue, 24 Jan 2023 22:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD175087852; Tue, 24 Jan 2023 22:13:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD1ox087851; Tue, 24 Jan 2023 22:13:01 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:01 GMT Message-Id: <202301242213.30OMD1ox087851@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: 45e293c9b335 - stable/13 - libsa: Add missing GNU-stack annotations to _setjmp.S. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 45e293c9b3359c0a67b27ad13bfe6a6b62916d8d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=45e293c9b3359c0a67b27ad13bfe6a6b62916d8d commit 45e293c9b3359c0a67b27ad13bfe6a6b62916d8d Author: John Baldwin AuthorDate: 2022-11-22 16:36:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 libsa: Add missing GNU-stack annotations to _setjmp.S. ld.bfd marks the stack as executable for the crt objects due to the missing annotations which raises a fatal warning starting with version 2.39. (cherry picked from commit 69f6399c3733d717bc3dcefda7fcc031f06cef0d) --- stand/libsa/amd64/_setjmp.S | 2 ++ stand/libsa/i386/_setjmp.S | 2 ++ stand/libsa/powerpc/_setjmp.S | 2 ++ 3 files changed, 6 insertions(+) diff --git a/stand/libsa/amd64/_setjmp.S b/stand/libsa/amd64/_setjmp.S index 53ea6e9b5d52..38f27dc1968d 100644 --- a/stand/libsa/amd64/_setjmp.S +++ b/stand/libsa/amd64/_setjmp.S @@ -90,3 +90,5 @@ ENTRY(_longjmp) 1: movq %rcx,0(%rsp) ret END(_longjmp) + + .section .note.GNU-stack,"",%progbits diff --git a/stand/libsa/i386/_setjmp.S b/stand/libsa/i386/_setjmp.S index 95b0ea8037f5..5766b25816ae 100644 --- a/stand/libsa/i386/_setjmp.S +++ b/stand/libsa/i386/_setjmp.S @@ -75,3 +75,5 @@ ENTRY(_longjmp) 1: movl %ecx,0(%esp) ret END(_longjmp) + + .section .note.GNU-stack,"",%progbits diff --git a/stand/libsa/powerpc/_setjmp.S b/stand/libsa/powerpc/_setjmp.S index 485050f003a1..c36f2e6a6b87 100644 --- a/stand/libsa/powerpc/_setjmp.S +++ b/stand/libsa/powerpc/_setjmp.S @@ -115,3 +115,5 @@ ASENTRY_NOPROF(_longjmp) mr 3, 4 blr ASEND(_longjmp) + + .section .note.GNU-stack,"",%progbits From nobody Tue Jan 24 22:13:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h73326nz3bgKZ; Tue, 24 Jan 2023 22:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h732P7sz3FZw; Tue, 24 Jan 2023 22:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AsNMwHmncFJNAibaUcqMZfH3Sce+B2zGqUrNkOfmwcc=; b=GHJzGIlwlvrllGxUoaEPTqN1pZ830RlT8AyJ+UsYiTFTD/TBS9lHYWNjw+2euNSBbAHwVK gmPVI1zX/yQNtYBiJKHEYnuDYQHaDy3TPmaeHxxa6h3Om00hlbeVtZgvwi6PHLHUAolt7E bZ3b2Xz1PDYgVuewUJOYCcuwQeQ3iGAYFHy+mJ4fw7CSwV2rO5ANw0Ym/U0Mw6ZfkRHzBW JpIOB1K0k/eljdd49a3C+QDFatFR8/myCVbGoz9brkoyVE8Imj98Zp5yuqrgh6IeAMx5PB yfp05Kmrw4xJC1aEHAaXl7S8UtqTD7X+96r1XVZ7wFgpJsP8J8h4gz0GXmuTrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AsNMwHmncFJNAibaUcqMZfH3Sce+B2zGqUrNkOfmwcc=; b=fh+r+oxZB3JZZSvmGbsFcdkBsbqbx0VYOwSxqAsBsuyKmKXLoDkxWyaWbbohLrvG0jop6n 8TNHqUUVxfnMfzFnzeKlmNpMaeyasiUcSlXzFTsmFazc7sWol4HylRieNFAMKegMHXTjNi 9SCBx3s53Cuyq6rRz/5xbh1EnqSUVk5Syyby1wjJyeU0DIURmO1VGZEQbz2h/Rkxr4EVXt J8KvXVY89YJSHb7V3GT9SJ3q+oQg2S0Zb5hMAWACILkVMUzu6OWPDl6oZbSbuZVXW5hTBH FZsBam+a/+sjsOIq9cj8JnePoNBkZQU41z5oROtnb/He7GfzKhTH284j91PTTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598383; a=rsa-sha256; cv=none; b=OXaN6mAHSBBJfmuMHDKyubN27dqZfqoqa6njI0dOB/dhX92bHsKpoAg2zDRISKphISJJFc pI4gs1DBncffQC4FF7V80dMTd9gp7betw4srP0Zs6ogv+ivlMspFqKA1RDSAhINvCI843l zvCLMGoLht2Ad17z04c+H1YYEbyjt7HqQjhbqCi8DJku7GvhZLGmZqpFEr1GWaw/6jTgIM jeWGr1cRtsJgtgh3T7lqkOf/SZm6hcdonyxp7XsU/7H0bie3PdYrc9meGvPJFme/RB35X3 3h7LyRF4xjVS4RwnbfjHy2iFdhCsjaicRptdHvKGeQkkOKgIWeS4Y7ph578kiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h73140jzQk1; Tue, 24 Jan 2023 22:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD3GI087876; Tue, 24 Jan 2023 22:13:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD3dH087875; Tue, 24 Jan 2023 22:13:03 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:03 GMT Message-Id: <202301242213.30OMD3dH087875@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: becebbab43c7 - stable/13 - ofw: Cast function pointer to proper type List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: becebbab43c7a52b9075b471dde514a76a1687a6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=becebbab43c7a52b9075b471dde514a76a1687a6 commit becebbab43c7a52b9075b471dde514a76a1687a6 Author: Warner Losh AuthorDate: 2022-11-27 20:23:28 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 ofw: Cast function pointer to proper type clang 15 insists that we call entry() via a function prototype. Rather than copping out and using (...), cast it to the same prototype that's used elsewhere (with tweaks to pointers to make them fit into that prototype). No functional change. Sponsored by: Netflix (cherry picked from commit fea231d21b299535302b41ac2e841f8abf1787fc) --- stand/libofw/openfirm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/libofw/openfirm.c b/stand/libofw/openfirm.c index b2b89581ae70..b780a9e36125 100644 --- a/stand/libofw/openfirm.c +++ b/stand/libofw/openfirm.c @@ -772,6 +772,7 @@ OF_chain(void *virt, u_int size, void (*entry)(), void *arg, u_int len) if (size > 0) OF_release(virt, size); #endif - entry(0, 0, openfirmware, arg, len); + ((int (*)(u_long, u_long, u_long, void *, u_long))entry) + (0, 0, (u_long)openfirmware, arg, len); } #endif From nobody Tue Jan 24 22:13:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h744QNbz3bgCt; Tue, 24 Jan 2023 22:13: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 4P1h743GpRz3FLg; Tue, 24 Jan 2023 22:13:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkXwvkMXVPa3C3dScLF2wqu7oC/ZSfpUnfRqq5SrdRM=; b=xwou0swjCyyX3WPuvRmegi7094Muwx4B6ZFELsi0qWldRNk80PRVasy+n/Z3Y9oQYQ4XNJ 1Ty5zCr4Pp0jtYmi8MrsPNn0h/YsjVS3G/CURoKKZyIRxPzOE/xRTcF+92RreYCUH/uicX 9ARIsr+gziiV8mK9i5U9csJU7WVPQyy7dFEYLqVlAtTJOSqf3WhnI4Zpw/wMwhpk5mInSD ZAJJzGGdrI5isdibrc1okx355dqV/AI11kKZ4HQlqP8jxtijij0AJ9dwAjU41BtfFOaTWG SSF6MjG0hPtXHOFzPQaZYIOZXaQQsa0yRFNuG2ZicVZAL4AT3ryng4CD/+Fc4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkXwvkMXVPa3C3dScLF2wqu7oC/ZSfpUnfRqq5SrdRM=; b=rZ2KVkyHQeYM0p37Q3mWnVk8ClciATpbnFcYsVVy29fv0XYHq5biV3UIZkvvYHwEizaomg WDaRFfS9dAzRrfgkd8e/9eJhf0oJOLYPGhAjm2E9L5vBdvKJfQ47HP9doHuELc60A1W+Aa bnVpDka+YZFHdBjfUmPxH8NZEFLMYwLt9XPl0rL4uEBEtUaMdxaIW7OkL5mt2ad4RDfFqT EuH39nKbepls0cZNkxOUnxGdB1DcFGbE9xrmEbmkidclit9AWQyXblOO8kJYcOvc79NN18 WXY4F6vnPNHG9TuqS4QFCU1hk/dgR61TKTUe/6tzdazPhZQXAh5Uk6IZc9IHjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598384; a=rsa-sha256; cv=none; b=fcj0aaPiP/c0Ve3SMCw5MYKbNWoCqrhc61ldkZGeTgzuG//7koYJZqyWkyMpWtSCxZN6dz D3/Fevpzl0gyrFgCTJYRH8dYuqXZaB2Ar+QxqG5C2xfB0PEQ1bQSevaFg7nTNCSu6nS/Pt y2Az3wUVSGV04OMjMHdkrtv5U7d0jHtJEyNylJZdLSFbLlW3RhXm1UJDD7osLx4nwVZvXA RgdRSJXiZS7CzWh8+70YPQ6EHMJpuKsDAq7cy4ZKhjeJYqBamdZe/S76pYBJ2kjmYy4NW3 ZehlOH55vuW90Vt+TqVOR5ydg2ft2kGKzt0EOZ9jbAVzUGoY4hW8zghFXah/bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h742KvPzQYY; Tue, 24 Jan 2023 22:13:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD4fs087902; Tue, 24 Jan 2023 22:13:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD4Qk087901; Tue, 24 Jan 2023 22:13:04 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:04 GMT Message-Id: <202301242213.30OMD4Qk087901@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: 1170d72ddcc0 - stable/13 - ofw: Remove old K&R function declaration List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1170d72ddcc0e662c848a1951bf48f5c25963d4b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1170d72ddcc0e662c848a1951bf48f5c25963d4b commit 1170d72ddcc0e662c848a1951bf48f5c25963d4b Author: Warner Losh AuthorDate: 2022-11-27 20:34:33 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 ofw: Remove old K&R function declaration We don't need to forward declar strchr anymore. Sponsored by: Netflix (cherry picked from commit 9f7156560905f5da0b42dce3e5fb64f77e9f70aa) --- stand/libofw/ofw_net.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/stand/libofw/ofw_net.c b/stand/libofw/ofw_net.c index 4f393cebc2fa..643f989d5018 100644 --- a/stand/libofw/ofw_net.c +++ b/stand/libofw/ofw_net.c @@ -189,8 +189,6 @@ ofwn_get(struct iodesc *desc, void **pkt, time_t timeout) return (length); } -extern char *strchr(); - static void ofwn_init(struct iodesc *desc, void *machdep_hint) { From nobody Tue Jan 24 22:13:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h756lvHz3bg9s; Tue, 24 Jan 2023 22:13: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 4P1h754CBXz3Fls; Tue, 24 Jan 2023 22:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NDbPy44PbB/6vl8znJi8pd4GBLQDnF5mrCctm+ZxXaQ=; b=lyv4VUKCr+brgebI01qTCJLfdqppQ0LBthmkR/BCfGr0IeXh+fN+UpxtvbmaGe2tR1FTP9 AuneFsTloEyNkhOQHhub6Yh61+ubXgYgQ7Ld3CrLWLjFW/5w8J/3Ht+KHpVM3YBDo6rA8+ 3CniFNi6hsPvA4tv5qpy8w2EHlxtuZiMWMdWjRkiPuWbJh0LCi8YqWuBy2gc2twIkBtIaR 8LK1g8V6VkfHTyx7A3mLtEm3l3e41VwIUPeNizhBztb3E+7HjIGWaWlLc5J6/9aK67WHa6 HWDs4T3yfZNiaXCm/jxaHDo8BRgp+sGTaK0wCRkqHJO+ZqdffGou3WUjRACDXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NDbPy44PbB/6vl8znJi8pd4GBLQDnF5mrCctm+ZxXaQ=; b=T9D/txpQoy5kKk29L3N4hpmCIU1VFdlO+zxpQQgD8A+MtwufHqZBNN9dkgEfRAdxqU5Cwp L2QixwYX1qL/smTjhBh4jeuODGg1QOY4nLc5SntbF/fk5no9UEDqUes8ExZxosr3sPfRrr CyG1qz+3reDBXdcXrkdh8IzfNQE3vFzex4eIeysSH1CstmYVRig3nGHKtUYuUb+TFGzFZj 3eqRxMUixuuqAYtQ61HHtvS/UozSMG/uXi62mx6aCLKfy9mbKp9VKZ/u2josOfBrPMA8Qc K+J7v8xYc4ArXPhdSKywfFndyEuYVQXvNsj9ZgfDSYjXqWb2z3QOC+CGMjoCLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598385; a=rsa-sha256; cv=none; b=CfVHsw66GGFHZqHYMGwWKysGB7/aNeXiH88hU4gTTJz39G6Az7SY+yZobLrBDogOWY0MbF tq5oK0tCUJZXBJ+oP2jsjJmuFLj/V1e7K86zRUlDdqCT4xO/4GzPqFy6d2rdI7hiDS2wha jGpMywz0xELHcjpfJoVFmWa00rf6wA3EEaBxR6TiypU4X3F0EiGLdWgfsDnxN6yDcSes9G K7JYDIZCcTYs3xbd9I4wEEIO3IInYN1VxEJ2qYwSV6jnyeMll0E4LSSCbaqNJNSQ4S4AAL 8AvIwhfAwobB8Et1R61GahW2R2wGx8uLG25M0ABS6kmTnF+EWsinmXw96t0zPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7534ZdzQfS; Tue, 24 Jan 2023 22:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD5nG087936; Tue, 24 Jan 2023 22:13:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD5BF087935; Tue, 24 Jan 2023 22:13:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:05 GMT Message-Id: <202301242213.30OMD5BF087935@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: 6e6aabe8bc2c - stable/13 - stand/ofw: Use strpbrk instead of two strchrs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6e6aabe8bc2cd31c84e9be263afd9d003a27cca2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6e6aabe8bc2cd31c84e9be263afd9d003a27cca2 commit 6e6aabe8bc2cd31c84e9be263afd9d003a27cca2 Author: Warner Losh AuthorDate: 2022-11-29 20:02:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 stand/ofw: Use strpbrk instead of two strchrs No need to call strchr twice, when one call to strpbrk will do the job.. Test booted with qemu-powerpc + mac99 successfully. Minor style(9) tweaks as well. Sponsored by: Netflix (cherry picked from commit b60164c9f4d823b3e9fbcb733f92d181c704f415) --- stand/libofw/devicename.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 11c0a1719ff3..353675db6b1f 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -43,27 +43,24 @@ static int ofw_parsedev(struct ofw_devdesc **, const char *, const char **); int ofw_getdev(void **vdev, const char *devspec, const char **path) { - struct ofw_devdesc **dev = (struct ofw_devdesc **)vdev; - int rv; + struct ofw_devdesc **dev = (struct ofw_devdesc **)vdev; + int rv; - /* - * If it looks like this is just a path and no - * device, go with the current device. - */ - if ((devspec == NULL) || - ((strchr(devspec, '@') == NULL) && - (strchr(devspec, ':') == NULL))) { - - if (((rv = ofw_parsedev(dev, getenv("currdev"), NULL)) == 0) && - (path != NULL)) - *path = devspec; - return(rv); - } + /* + * If it looks like this is just a path and no device, go with the current + * device. + */ + if (devspec == NULL || strpbrk(devspec, ":@") == NULL) { + if (((rv = ofw_parsedev(dev, getenv("currdev"), NULL)) == 0) && + (path != NULL)) + *path = devspec; + return(rv); + } - /* - * Try to parse the device name off the beginning of the devspec - */ - return(ofw_parsedev(dev, devspec, path)); + /* + * Try to parse the device name off the beginning of the devspec + */ + return(ofw_parsedev(dev, devspec, path)); } /* From nobody Tue Jan 24 22:13:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h765xyWz3bgKy; Tue, 24 Jan 2023 22:13: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 4P1h764bYdz3FvJ; Tue, 24 Jan 2023 22:13:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFUkRdZwGgScPCEfAxMtJHnR6BW2KanMRYWRBaiDqXw=; b=TvUPyRV5yBMe6lHXL4/0WsogVVJ7dAH+GwOMlIQ9gXjEdy8WJomHhg3Mf0rju9pKSDe46/ CJpj1g9b5ujZ4bc3gGxgPDgQZPh6MRiMR2VdJEqK7GFNbkL0CXNKUnhz9sYDHMg06GHPl7 95x9GVcnYGp/FsdKBUM9ipsx6KWBmF+Jc+mBynXEFNqKfE9jaFaVFTDVfutF0H//Ay3SPC v3MSI73Jg7UX0aWYKzblDA65z9xZfZjoYtxOZKgrtr8abfJm2ReoE7DASj0ymUEKyox6ja COkCVxMqwNppAoUv1Dfno/we7j9f0wHaFQL+g+GIlyn01J76jHGtSbfq2USgOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFUkRdZwGgScPCEfAxMtJHnR6BW2KanMRYWRBaiDqXw=; b=VcoF27URUBy/falsK98fOUw5gNp/wVVqQM05zZTRxWqZc3UTpdGncjORyXdMsA+cuDeJaF LrR9x4CduMMxzYnJE4FfoMB4vtebvLoaQ4k4VD0IlqUnISaguaD2igkXd6Ek193VuDLhtE 1deAN+3oPkCuZHLxKQf23kHc0hO27UvLfvQpYgYBNOYvgR6yVoC6+ZH2knKpg8iI0cJtuM woQth8cLhxtezMVEK5hl/Pv5hEZsEO1Sx5K0UPgVx/n9Y+DtbL0+4tGEC6WvhWgZCDM/By yYDCTjKq/SdvRoPeWJiVUGgq+QhA+Bm8GCVBc/CENRZDf6e8axxuSxUMb1cccw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598386; a=rsa-sha256; cv=none; b=VPuHDLwNs2rdiJC5rgixTFcMuYWTVqWWd52kZq5134zKOjfcmyAdsv6dZ8qv/jxlkS+z+T XulM0B/T+GfxdFmRxXqVxcLwrZntcp1jJpSluihhtvrYVc4uLib3DT44LyI5GqRoEjQn4N zXg6C+3h0k2gtJZZjrR4uvy4MQy9jQOGOinGsKNHA+z7o+CmFBl/2LiBlOqeH+H7ScRpao 7WZwdLio9MpotH1HZw50AakaoSnp9wUEef5idvHVU8vDJfCAkQXIcz6ONLjUYxFFqy58su y5Lb/ua80gCkhq+X22b8m+y+xi60OAXdjp7/1P5dASnQtKb9/wHjryz8+EehnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h763jRQzQPp; Tue, 24 Jan 2023 22:13:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD6bl087962; Tue, 24 Jan 2023 22:13:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD6ws087961; Tue, 24 Jan 2023 22:13:06 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:06 GMT Message-Id: <202301242213.30OMD6ws087961@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: 063a16f690e4 - stable/13 - ofw_net: Use c99 initializers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 063a16f690e4e83f6f1422bbe6dbbcad4a03d6e3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=063a16f690e4e83f6f1422bbe6dbbcad4a03d6e3 commit 063a16f690e4e83f6f1422bbe6dbbcad4a03d6e3 Author: Warner Losh AuthorDate: 2022-11-29 21:47:02 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:37 +0000 ofw_net: Use c99 initializers Update to use c99 initializers, although there's no plans to change anything that this would make easier... Sponsored by: Netflix Reviewed by: zlei Differential Revision: https://reviews.freebsd.org/D37442 (cherry picked from commit 4c4563e32dfce0652953fcbd160a9dfdda050cc4) --- stand/libofw/ofw_net.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/stand/libofw/ofw_net.c b/stand/libofw/ofw_net.c index 643f989d5018..fa4a3abd88e8 100644 --- a/stand/libofw/ofw_net.c +++ b/stand/libofw/ofw_net.c @@ -53,22 +53,26 @@ static void ofwn_end(struct netif *); extern struct netif_stats ofwn_stats[]; struct netif_dif ofwn_ifs[] = { - /* dif_unit dif_nsel dif_stats dif_private */ - { 0, 1, &ofwn_stats[0], 0, }, + { + .dif_unit=0, + .dif_nsel=1, + .dif_stats=&ofwn_stats[0], + .dif_private=0, + }, }; struct netif_stats ofwn_stats[nitems(ofwn_ifs)]; struct netif_driver ofwnet = { - "net", /* netif_bname */ - ofwn_match, /* netif_match */ - ofwn_probe, /* netif_probe */ - ofwn_init, /* netif_init */ - ofwn_get, /* netif_get */ - ofwn_put, /* netif_put */ - ofwn_end, /* netif_end */ - ofwn_ifs, /* netif_ifs */ - nitems(ofwn_ifs) /* netif_nifs */ + .netif_bname="net", + .netif_match=ofwn_match, + .netif_probe=ofwn_probe, + .netif_init=ofwn_init, + .netif_get=ofwn_get, + .netif_put=ofwn_put, + .netif_end=ofwn_end, + .netif_ifs=ofwn_ifs, + .netif_nifs=nitems(ofwn_ifs) }; static ihandle_t netinstance; From nobody Tue Jan 24 22:13:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h780g5Sz3bgLK; Tue, 24 Jan 2023 22:13: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 4P1h7765CCz3FsJ; Tue, 24 Jan 2023 22:13:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vomtbIUkhiDjxK2Q8G1dkBzDB/iugOnIRavmzAPm6Ew=; b=AQyiE85cDtjfQvH0t3yzelQ7c3HHR02g8SfzLiYDfty5Tn2wM2uQ0ksRvkdVzo/Xdz9lOt wwk4FqfMcpjb41ID43X39CzCujiMy8wntUxPT+k/lku++YB3lkd1I8nsRdaXY17XsDlsYx hn2IiA62Xep5hWgho5lMzVm1/GkvgmUfVE3Myapv8Js6duM7U9BfAQ9Awuht5a7F/hOv9o auLaBf0lqQJxDSsta2kg8arqV9tmNg8Zf/ee9Fu1CKqCCvCUmgmsb0o5hivqp4Ea3ShWmh 74PDn9DQc2HAFTPACpnsa7hLYlDuENzwk+KRQTulQUMZJIkUyzCA3Ze9iYEZWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vomtbIUkhiDjxK2Q8G1dkBzDB/iugOnIRavmzAPm6Ew=; b=jFCyEjn7Xh9HkJLA7/w/w+LkG9OAAEyRu7lO5TjQfEHvphJZTIUD4ADh5EmgAZ8SLAngGq 8cO8XUw1OaqDDBw5YTtk3/od+X7FviTdjrm6Az6rrBtAIYb8jO3FYIgXrW6AlsY7fJ6PrK nngk4jGRZNZOkJTyQO8zakycOVM2UTfC05pwHvIG1VgY2WkPNoRC7TkDkkYZhAAhhQ7o3N 9q1wdQJ9eEelMP0ZSEOMOavnvJJZCCG0z+/DxqQjikNnclWZgD7rHxWBz/f8wV71Yyr9w0 XYhvKcY6HzgPhRBrRtuY3lSA86zTTqnvCacNRp/VCCddZeZGoWc+Zk28Lrth9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598387; a=rsa-sha256; cv=none; b=kpMK8Omo94gXtIkN76BuFlvjTGmQOFET9sY+v47Sl65m9mvsDlFTsHCUuMWPJO9+pXO7g9 3ed5iJpMxu52tsiSmkcOPfGxKT+9Wo9LWK4cMLDeKQsHM3B/AyRiuAREghKNs7s+h0fqCj LUEnKicp6DaxPTX7r1niME2xwAbjIx082prXdFDzMyDQ6RHvCfimUd1X1Dvokk/JVmd0uq +PEXhXxnN+5rU+Bgxs9ovb/4pnRacZ1N+dIEM0Xmk7yzw678YCdRv4zhRunkyIA7LbqIpV 7mA90SgXy19Ig/pMsAW34KZaI3QxgkFP0wvyj3vwIqHa6FkHWr03rxRV9PU3zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h774MnfzQPq; Tue, 24 Jan 2023 22:13:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD7BD087986; Tue, 24 Jan 2023 22:13:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD7Lj087985; Tue, 24 Jan 2023 22:13:07 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:07 GMT Message-Id: <202301242213.30OMD7Lj087985@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: 9ef73855542f - stable/13 - stand/zlib: Zlib still uses K&R function definitions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9ef73855542f7523094892b6f8e0106c3ea0d97a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ef73855542f7523094892b6f8e0106c3ea0d97a commit 9ef73855542f7523094892b6f8e0106c3ea0d97a Author: Warner Losh AuthorDate: 2022-11-30 18:08:24 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand/zlib: Zlib still uses K&R function definitions So add ${NO_WDEPRECATED_NON_PROTOTYPE} to the CFLAGS of those files. This can be removed when we import a zlib that's free of this anachronism. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D37516 (cherry picked from commit 983a18021decd68fbcf5d14ccd60c3d66dac1c6a) --- stand/libsa/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 9fbc9cc91b14..580afa65ab85 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -96,7 +96,7 @@ SRCS+=${i} # decompression functionality from zlib .PATH: ${SRCTOP}/sys/contrib/zlib -ZLIB_CFLAGS=-DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib +ZLIB_CFLAGS=-DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib ${NO_WDEPRECATED_NON_PROTOTYPE} .for i in adler32.c crc32.c infback.c inffast.c inflate.c inftrees.c zutil.c CFLAGS.${i}+=${ZLIB_CFLAGS} SRCS+= ${i} From nobody Tue Jan 24 22:13:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h790Z4Mz3bg6D; Tue, 24 Jan 2023 22:13: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 4P1h786v76z3Fkh; Tue, 24 Jan 2023 22:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dIuitBxLRfx8qZnvW3n7MitM7EdCYFypkYyqtbw4BWA=; b=eAssSlL0yG8UcF3blWdbg3Dt6taNKlB7xGfnUj3JRPUiqfSMLZ4nExTdae70ci/7NPahJ/ c0brATanu7vbWtI/fKNDqukUtodu6BFDk92FfrK+T5hEJ07M9Ze2EWiTtB5DWr5LylacXA 6Da1pjhVSBJbbjT5qSRd0eMErTCajBYSeViUv3JSNWkH8XAgZvqE2tyYGKM10L60XEbrbB rzuFoy9AJkdSN3fCiGc3RBlPWsQo1Q3JreI3lTP98CrLXAaboiuOz5ARv3V/wGgwToyAT4 p4vvO0YZ7fcV1rPRemKcs9/Um2qH6bkBTjFuAApPJjRcevjmwY4ZttHgiD7Xww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dIuitBxLRfx8qZnvW3n7MitM7EdCYFypkYyqtbw4BWA=; b=mkGI+qL0a8U7dIPFma9UusklheV0CsE70KwGKVXHuu/h/dF9ob8Z85jgDX4YlmgBHC4T9S j5ySqgRcpL14b5EYngGLDCRAp+CtLedYQSCtDsDBWXoPu3dx26W9U0jPxkE8c78z15G8sR olokn78Qz0PAFt8x8nbEAm6ThLToBVuIY7gQCxDWYWzKgYJ02OPlJdFaoW3SpSrQdv/73b NY9p1iUH90nJKKTgjcAvQ00FfeMt91R3sL8eDaLX5VacZNlPyrGRqCXfLYeWN2iqh85fGs CxenmPYBLjMfgl+6UfJ7tXONdpkT7SOnrt+KE++aWTi9MmWd1/1rglwbEVnucg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598389; a=rsa-sha256; cv=none; b=qMrgg7k1NKwysxGNJ7NPcPjwenwy1jTxB5PAkFG0xYVLn5Ph5Ifakuez+qRWKs8vnve0LH ZbI6n4DtngCw8lQ0QxuyIS6A9EnMJY6O2tWhPYbX9oekptzPaROoOAyTNQgVkA/q8jDxv7 SE/JXNDLxa6jeFKfLsNHpLe+nra7YNh6y08nGx+ptnhNRjkIm/9B/Ma7vrwZDj5+4HPpNv BoyfQXxb9qkqipS1J1m0MdmKdchAVVS/kNPnXw1ROcmt4TFhKFOoWbOyczc7Gne91oyYey xCAukC1PWi/pb67KTfGQPQ9kqUBHE5eTFh+H1EmSR7PhJlO6sxKqc/ux/yr3ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h785VnYzQgy; Tue, 24 Jan 2023 22:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD8oD088012; Tue, 24 Jan 2023 22:13:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD8EV088011; Tue, 24 Jan 2023 22:13:08 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:08 GMT Message-Id: <202301242213.30OMD8EV088011@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: 8189dec087b7 - stable/13 - stand: Change disk_parsedev() API List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8189dec087b741744eeaccd697a50c3a6ad9e4b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8189dec087b741744eeaccd697a50c3a6ad9e4b4 commit 8189dec087b741744eeaccd697a50c3a6ad9e4b4 Author: Warner Losh AuthorDate: 2022-11-30 22:08:15 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand: Change disk_parsedev() API Change the first argument to disk_parsedev() to be a pointer to a struct devdesc *. This now gets filled in with a malloc'd structure that's returned to the caller that the caller is repsonsible for freeing. Most places in the tree passed in a malloc'd pointer anyway, and this moves knowledge of disk_devdesc more firmly into the disk.[ch] code. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37335 (cherry picked from commit 17276525fa1a28028f7ca423f365d5081cbe9a97) --- stand/common/disk.c | 7 ++++++- stand/common/disk.h | 2 +- stand/efi/libefi/devicename.c | 6 +----- stand/i386/libi386/devicename.c | 8 ++------ stand/i386/zfsboot/zfsboot.c | 12 +++++++----- stand/uboot/devicename.c | 3 ++- stand/uboot/main.c | 11 ++++++----- stand/userboot/userboot/devicename.c | 18 ++++++++++-------- 8 files changed, 35 insertions(+), 32 deletions(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index 15daf7e358c6..653f971d46b8 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -413,11 +413,12 @@ disk_fmtdev(struct devdesc *vdev) } int -disk_parsedev(struct disk_devdesc *dev, const char *devspec, const char **path) +disk_parsedev(struct devdesc **idev, const char *devspec, const char **path) { int unit, slice, partition; const char *np; char *cp; + struct disk_devdesc *dev; np = devspec; unit = -1; @@ -470,9 +471,13 @@ disk_parsedev(struct disk_devdesc *dev, const char *devspec, const char **path) if (*cp != '\0' && *cp != ':') return (EINVAL); + dev = malloc(sizeof(*dev)); + if (dev == NULL) + return (ENOMEM); dev->dd.d_unit = unit; dev->d_slice = slice; dev->d_partition = partition; + *idev = &dev->dd; if (path != NULL) *path = (*cp == '\0') ? cp: cp + 1; return (0); diff --git a/stand/common/disk.h b/stand/common/disk.h index 291999ce960d..a05b532918de 100644 --- a/stand/common/disk.h +++ b/stand/common/disk.h @@ -111,7 +111,7 @@ extern int ptblread(void *, void *, size_t, uint64_t); * Print information about slices on a disk. */ extern int disk_print(struct disk_devdesc *, char *, int); -extern int disk_parsedev(struct disk_devdesc *, const char *, const char **); +extern int disk_parsedev(struct devdesc **, const char *, const char **); char *disk_fmtdev(struct devdesc *vdev); diff --git a/stand/efi/libefi/devicename.c b/stand/efi/libefi/devicename.c index 67a2e24d9da1..ad4b5d590609 100644 --- a/stand/efi/libefi/devicename.c +++ b/stand/efi/libefi/devicename.c @@ -111,11 +111,7 @@ efi_parsedev(struct devdesc **dev, const char *devspec, const char **path) break; case DEVT_DISK: - idev = malloc(sizeof(struct disk_devdesc)); - if (idev == NULL) - return (ENOMEM); - - err = disk_parsedev((struct disk_devdesc *)idev, np, path); + err = disk_parsedev(&idev, np, path); if (err != 0) goto fail; break; diff --git a/stand/i386/libi386/devicename.c b/stand/i386/libi386/devicename.c index 73445aeba172..9ac4c9742593 100644 --- a/stand/i386/libi386/devicename.c +++ b/stand/i386/libi386/devicename.c @@ -84,7 +84,7 @@ i386_getdev(void **vdev, const char *devspec, const char **path) static int i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path) { - struct i386_devdesc *idev; + struct i386_devdesc *idev = NULL; struct devsw *dv; int i, unit, err; char *cp; @@ -113,11 +113,7 @@ i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path) break; case DEVT_DISK: - idev = malloc(sizeof(struct i386_devdesc)); - if (idev == NULL) - return (ENOMEM); - - err = disk_parsedev((struct disk_devdesc *)idev, np, path); + err = disk_parsedev((struct devdesc **)&idev, np, path); if (err != 0) goto fail; break; diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index 930a6fb530af..ea390b6ea7a6 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -168,7 +168,7 @@ main(void) { unsigned i; int auto_boot, fd, nextboot = 0; - struct disk_devdesc devdesc; + struct disk_devdesc *devdesc; bios_getmem(); @@ -215,11 +215,13 @@ main(void) if (devsw[i]->dv_init != NULL) (devsw[i]->dv_init)(); - disk_parsedev(&devdesc, boot_devname + 4, NULL); + /* XXX assumes this will be a disk, but it looks likely give above */ + disk_parsedev((struct devdesc **)&devdesc, boot_devname + 4, NULL); - bootdev = MAKEBOOTDEV(dev_maj[DEVT_DISK], devdesc.d_slice + 1, - devdesc.dd.d_unit, - devdesc.d_partition >= 0 ? devdesc.d_partition : 0xff); + bootdev = MAKEBOOTDEV(dev_maj[DEVT_DISK], devdesc->d_slice + 1, + devdesc->dd.d_unit, + devdesc->d_partition >= 0 ? devdesc->d_partition : 0xff); + free(devdesc); /* * devformat() can be called only after dv_init diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c index b73a7694f14a..8f867406e6fa 100644 --- a/stand/uboot/devicename.c +++ b/stand/uboot/devicename.c @@ -115,7 +115,8 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec, #ifdef LOADER_DISK_SUPPORT case DEVT_DISK: - err = disk_parsedev((struct disk_devdesc *)idev, np, path); + free(idev); + err = disk_parsedev((struct devdesc **)&idev, np, path); if (err != 0) goto fail; break; diff --git a/stand/uboot/main.c b/stand/uboot/main.c index 573995663fe4..cf41917d6ee5 100644 --- a/stand/uboot/main.c +++ b/stand/uboot/main.c @@ -206,7 +206,7 @@ device_typename(int type) static void get_load_device(int *type, int *unit, int *slice, int *partition) { - struct disk_devdesc dev; + struct disk_devdesc *dev; char *devstr; const char *p; char *endp; @@ -237,10 +237,11 @@ get_load_device(int *type, int *unit, int *slice, int *partition) if (*type & DEV_TYP_STOR) { size_t len = strlen(p); if (strcspn(p, " .") == len && strcspn(p, ":") >= len - 1 && - disk_parsedev(&dev, p, NULL) == 0) { - *unit = dev.dd.d_unit; - *slice = dev.d_slice; - *partition = dev.d_partition; + disk_parsedev((struct devdesc **)&dev, p, NULL) == 0) { + *unit = dev->dd.d_unit; + *slice = dev->d_slice; + *partition = dev->d_partition; + free(dev); return; } } diff --git a/stand/userboot/userboot/devicename.c b/stand/userboot/userboot/devicename.c index 45bf9bc6ebd8..2fffebf282c6 100644 --- a/stand/userboot/userboot/devicename.c +++ b/stand/userboot/userboot/devicename.c @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); #include "libzfs.h" #endif -static int userboot_parsedev(struct disk_devdesc **dev, const char *devspec, +static int userboot_parsedev(struct devdesc **dev, const char *devspec, const char **path); /* @@ -49,7 +49,7 @@ static int userboot_parsedev(struct disk_devdesc **dev, const char *devspec, int userboot_getdev(void **vdev, const char *devspec, const char **path) { - struct disk_devdesc **dev = (struct disk_devdesc **)vdev; + struct devdesc **dev = (struct devdesc **)vdev; int rv; /* @@ -87,10 +87,10 @@ userboot_getdev(void **vdev, const char *devspec, const char **path) * */ static int -userboot_parsedev(struct disk_devdesc **dev, const char *devspec, +userboot_parsedev(struct devdesc **dev, const char *devspec, const char **path) { - struct disk_devdesc *idev; + struct devdesc *idev; struct devsw *dv; int i, unit, err; const char *cp; @@ -119,7 +119,8 @@ userboot_parsedev(struct disk_devdesc **dev, const char *devspec, break; case DEVT_DISK: - err = disk_parsedev(idev, np, path); + free(idev); + err = disk_parsedev(&idev, np, path); if (err != 0) goto fail; break; @@ -143,13 +144,14 @@ userboot_parsedev(struct disk_devdesc **dev, const char *devspec, goto fail; } - idev->dd.d_unit = unit; + idev->d_unit = unit; if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; break; case DEVT_ZFS: #if defined(USERBOOT_ZFS_SUPPORT) + /* XXX assumes sizeof disk_devdesc >= sizeof zfs_devdesc */ err = zfs_parsedev((struct zfs_devdesc *)idev, np, path); if (err != 0) goto fail; @@ -162,7 +164,7 @@ userboot_parsedev(struct disk_devdesc **dev, const char *devspec, err = EINVAL; goto fail; } - idev->dd.d_dev = dv; + idev->d_dev = dv; if (dev == NULL) { free(idev); } else { @@ -182,7 +184,7 @@ fail: int userboot_setcurrdev(struct env_var *ev, int flags, const void *value) { - struct disk_devdesc *ncurr; + struct devdesc *ncurr; int rv; if ((rv = userboot_parsedev(&ncurr, value, NULL)) != 0) From nobody Tue Jan 24 22:13:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7B3hJ3z3bg6W; Tue, 24 Jan 2023 22:13: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 4P1h7B0FPFz3Fxs; Tue, 24 Jan 2023 22:13:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aQZY0TFZ4h7Ay3K8VyBtYqZk5Bbm+FAdCBK+XgwfGOw=; b=NJ+/T6ZYkBoLzsAgtIz9t+dbWXFnBp1H6m5q0licwAAyZ6QfplSQy58ESp0kSqCbQaXNGe 4dtUK5EpPn7qUiLJaFToKKlXQatnRyxDu/2imbrjHnT41/09ekyL0sZWzb20RdeiqDx0Ok PhpzwbX2hEPA9XhZT9OmJ0uWYDC9+1tJ0/fjq6WK72HRv4/F1X5NlALWjlIPvWSoXV+lo9 dHSdVNso2F7bdOderUkm56Q4OzAlmohb4F3Gjwmd34EFxlByqvyxP9dBSOV9DL/cFvQHE6 mlPNqO1bu75pVGr5AgH//J1KKSsaaxyEYgC/CMm4dBwn702LEe2INpkOaQzalQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aQZY0TFZ4h7Ay3K8VyBtYqZk5Bbm+FAdCBK+XgwfGOw=; b=gu7xdbtVkyETvJnD7+Yu2vkPcWfQMYR+8xF+jES2NWmI1yao7Px1UUPQpdBsnT8qa1z6cQ EQN6cWREseFK/7T4+Q6yiuM3lBGvs1lVCxaBm4/Sqy5kPpa1wt3z29m0a3WJFg0Q6Dd5Ph efQhd+uBsy/FxREaYUWJihsAGjZtJxnPsOwiveDkbtxcyxVdXvQTIc+SAd+ecVt3n8WW8M 6Yng3v5gM8LjqfnKyYvC9Vh6/+x2cPlnJ8C668gTrDNswsphEHfRHVGjupCQU5xEccXofN QG+NJ3V1mohOSMYikCePb8ffFwZKzAsPGXqobj22kiRj48mPkeN5aKQ0VSQo2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598390; a=rsa-sha256; cv=none; b=GDPktHm6lg+YphBoLA+xWlGNDjiRaNe/vhC3oWWjpv8P3YkwF+3d+B+lSunlkECgbRgXU4 zJZGTh/WK+OXLi9uM+17lNA4t9rpJ+eXXxnHTadIZBEK5rdTI5EUMJn+nI8FptKATcuQ53 lsfUdhKKfWipFsqfT65lAa45AwZJKurPRPHbr7UiD/SqBI9+EhUfB8v2cSn8GvVFdE5bCs 1He12uRMeozDmlQ4fRfjlgbciTRSwbXYMU5/qDD/NshVKnW0XVpBW7qZBj6yKLXzFU9qt9 i0r2TmGJ+ZumFJotFBWRxJkOl0RPYLPPN9jVzrrAtcgBHXqD5m4uQ68xSU5MfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h796SrRzQh0; Tue, 24 Jan 2023 22:13:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMD93l088038; Tue, 24 Jan 2023 22:13:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMD9um088037; Tue, 24 Jan 2023 22:13:09 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:09 GMT Message-Id: <202301242213.30OMD9um088037@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: 9fd7cf55e6ff - stable/13 - stand: Change zfs_parsedev() API List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9fd7cf55e6fff04b049bfda70da48b2c9d4b57b3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9fd7cf55e6fff04b049bfda70da48b2c9d4b57b3 commit 9fd7cf55e6fff04b049bfda70da48b2c9d4b57b3 Author: Warner Losh AuthorDate: 2022-11-30 22:08:22 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand: Change zfs_parsedev() API Change the first argument to zfs_parsedev() to be a pointer to a struct devdesc *. This now gets filled in with a malloc'd structure that's returned to the caller that the caller is repsonsible for freeing. Most nplaces in the tree passed in a malloc'd pointer anyway, and this moves knowledge of zfs_devdesc more firmly into the zfs.c code. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37336 (cherry picked from commit ba11bc368e612e7c5bbc195830a280f8af73ce18) --- stand/efi/libefi/devicename.c | 6 +----- stand/i386/libi386/devicename.c | 6 +----- stand/libofw/devicename.c | 4 ++-- stand/libsa/zfs/devicename_stubs.c | 2 +- stand/libsa/zfs/libzfs.h | 2 +- stand/libsa/zfs/zfs.c | 18 ++++++++++-------- stand/userboot/userboot/devicename.c | 4 ++-- 7 files changed, 18 insertions(+), 24 deletions(-) diff --git a/stand/efi/libefi/devicename.c b/stand/efi/libefi/devicename.c index ad4b5d590609..73b1d783c01f 100644 --- a/stand/efi/libefi/devicename.c +++ b/stand/efi/libefi/devicename.c @@ -118,11 +118,7 @@ efi_parsedev(struct devdesc **dev, const char *devspec, const char **path) #ifdef EFI_ZFS_BOOT case DEVT_ZFS: - idev = malloc(sizeof(struct zfs_devdesc)); - if (idev == NULL) - return (ENOMEM); - - err = zfs_parsedev((struct zfs_devdesc*)idev, np, path); + err = zfs_parsedev(&idev, np, path); if (err != 0) goto fail; break; diff --git a/stand/i386/libi386/devicename.c b/stand/i386/libi386/devicename.c index 9ac4c9742593..1d7e4c7d3fa3 100644 --- a/stand/i386/libi386/devicename.c +++ b/stand/i386/libi386/devicename.c @@ -119,11 +119,7 @@ i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path) break; case DEVT_ZFS: - idev = malloc(sizeof (struct zfs_devdesc)); - if (idev == NULL) - return (ENOMEM); - - err = zfs_parsedev((struct zfs_devdesc *)idev, np, path); + err = zfs_parsedev((struct devdesc **)&idev, np, path); if (err != 0) goto fail; break; diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 353675db6b1f..292fba927d1a 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -113,9 +113,9 @@ found: idev->dd.d_dev = dv; if (dv->dv_type == DEVT_ZFS) { p = devspec + strlen(dv->dv_name); - err = zfs_parsedev((struct zfs_devdesc *)idev, p, path); + free(idev); + err = zfs_parsedev((struct devdesc **)&idev, p, path); if (err != 0) { - free(idev); return (err); } } diff --git a/stand/libsa/zfs/devicename_stubs.c b/stand/libsa/zfs/devicename_stubs.c index e58bc9c40e35..4b1ebca8e5a3 100644 --- a/stand/libsa/zfs/devicename_stubs.c +++ b/stand/libsa/zfs/devicename_stubs.c @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); __attribute__((weak)) int -zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path) +zfs_parsedev(struct devdesc **dev, const char *devspec, const char **path) { return (EINVAL); } diff --git a/stand/libsa/zfs/libzfs.h b/stand/libsa/zfs/libzfs.h index 2f0dfd8afc86..a8ce762d2bc2 100644 --- a/stand/libsa/zfs/libzfs.h +++ b/stand/libsa/zfs/libzfs.h @@ -48,7 +48,7 @@ struct zfs_devdesc { uint64_t root_guid; }; -int zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, +int zfs_parsedev(struct devdesc **dev, const char *devspec, const char **path); char *zfs_fmtdev(struct devdesc *); int zfs_probe_dev(const char *devname, uint64_t *pool_guid); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index bee243352f78..a97d5fe59226 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -382,13 +382,8 @@ zfs_mount(const char *dev, const char *path, void **data) int rv; errno = 0; - zfsdev = malloc(sizeof(*zfsdev)); - if (zfsdev == NULL) - return (errno); - - rv = zfs_parsedev(zfsdev, dev + 3, NULL); + rv = zfs_parsedev((struct devdesc **)&zfsdev, dev + 3, NULL); if (rv != 0) { - free(zfsdev); return (rv); } @@ -1634,7 +1629,7 @@ struct devsw zfs_dev = { }; int -zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path) +zfs_parsedev(struct devdesc **idev, const char *devspec, const char **path) { static char rootname[ZFS_MAXNAMELEN]; static char poolname[ZFS_MAXNAMELEN]; @@ -1643,6 +1638,7 @@ zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path) const char *np; const char *sep; int rv; + struct zfs_devdesc *dev; np = devspec; if (*np != ':') @@ -1667,13 +1663,19 @@ zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path) spa = spa_find_by_name(poolname); if (!spa) return (ENXIO); + dev = malloc(sizeof(*dev)); + if (dev == NULL) + return (ENOMEM); dev->pool_guid = spa->spa_guid; rv = zfs_lookup_dataset(spa, rootname, &dev->root_guid); - if (rv != 0) + if (rv != 0) { + free(dev); return (rv); + } if (path != NULL) *path = (*end == '\0') ? end : end + 1; dev->dd.d_dev = &zfs_dev; + *idev = &dev->dd; return (0); } diff --git a/stand/userboot/userboot/devicename.c b/stand/userboot/userboot/devicename.c index 2fffebf282c6..c8b46e7f590c 100644 --- a/stand/userboot/userboot/devicename.c +++ b/stand/userboot/userboot/devicename.c @@ -151,8 +151,8 @@ userboot_parsedev(struct devdesc **dev, const char *devspec, case DEVT_ZFS: #if defined(USERBOOT_ZFS_SUPPORT) - /* XXX assumes sizeof disk_devdesc >= sizeof zfs_devdesc */ - err = zfs_parsedev((struct zfs_devdesc *)idev, np, path); + free(idev); + err = zfs_parsedev(&idev, np, path); if (err != 0) goto fail; break; From nobody Tue Jan 24 22:13:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7C3zSyz3bgNp; Tue, 24 Jan 2023 22:13: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 4P1h7C1YgLz3FyJ; Tue, 24 Jan 2023 22:13:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xp3TR2DZ675QLcP5j888Zyqhw6Temu4p85Wj/1g8MGQ=; b=ndq9AxQ5C9XwtOJm4frY5jIhkgXeQoJxS5mqZzGTK6oph3UDI2kaurerTILDIDtHMlcVDb QMLpVRpJBKz03DsBezNri+b/UpIP504KEetq1G+LbwSYxh6qJ973M3oaUJxFpvG/Xwjrar zY5wBN/6VRdXy25UssL6Luk8b6sA883SoiRbkoCCi+1FsmFgfG+7j/g7rfmKXWjtmDkpHs oQHhR0Z7+jA2a3V7OzzRoBdEupuUW7a6e9hEKybIz7TE7mIa78VAebuTnp5lCHxn2e8com nPk/VTWq1P6/W4EPSZoCwHXISrXejmTqxAFvEJPHEpD5OMrnhSbZrD0ix+2PXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xp3TR2DZ675QLcP5j888Zyqhw6Temu4p85Wj/1g8MGQ=; b=koLzkNsnO9s0+smgjvXTN1gkdZuAaX5KQcDAvwYJkLlw8rtqBuod+eRyz6DkpqaViPlSTx U5RBNTxNAMirQVKB/pLrF3MqyxKZWJTpd8QHWgXDh0C0pjfKjR3GKAdieCtazY6zOzS5AU VdcHK4mxFCj3XE4VZeE+N3MkVXThcPBx0GAwy8dkkvxWMs68Kdf/yd/Arun6O0x8UGpeWZ wM/J4OoAldsb7jebMByv/MBmAcZybbMlocwt0W3hipCEro4F4euQzUlhzzxa6v10rTbv2H bics7Rgw7y3pXU0E/yO7gY7LqJbGNz1gjSV56g6Mz8XaKLuFYTOJNjALfTfWnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598391; a=rsa-sha256; cv=none; b=o1hL41YpWgAJuP8hyDih2vNlsp1M8FLRWg8T7sYSwsqnmzyM5qUiGiYdfXiUKZg81xBuql +CJGgV2+9ZbDyq2ND/CFxf1US5ULOaXOvDuXf5WA2UJYNQKB3UeeShmdi+Adobg9uAPv0h +RZKdphzBnMjjHv4ng7bq1M3dS5DFpTf3J7Uj0VTaceybxErlwBpqfzWYKaUGJOssxeIkv 546ADo4SNVAqW3r7/Y/oOl3h7MZ2qRVVRRdMW29wQH1igY5P9EnIeBZHMaEw2EWMrnEEox CZXmIknE6AYAmhn1PINNrKePlVo50wEo+zCK3BjHkULszhDK/ymBb6KPzwwFZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7C0MKpzQYZ; Tue, 24 Jan 2023 22:13:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDADA088068; Tue, 24 Jan 2023 22:13:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDAV5088067; Tue, 24 Jan 2023 22:13:10 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:10 GMT Message-Id: <202301242213.30OMDAV5088067@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: e29ff543be64 - stable/13 - stand: Introduce new dv_parsedev routine List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e29ff543be64de4f0c3c8008a1b6d762b553a6da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e29ff543be64de4f0c3c8008a1b6d762b553a6da commit e29ff543be64de4f0c3c8008a1b6d762b553a6da Author: Warner Losh AuthorDate: 2022-11-30 22:08:36 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand: Introduce new dv_parsedev routine Allow device classes to define a parsing routine. Most device classes already have these routines, but there's much duplication in their use. Define an interface for a common routine to parse an individual device. By convetion, files have the form "[device:]/path/to/file" where device is optional (filled in to be the value of currdev) and it starts with the dv_name field of the device, with the rest of the name up to the device (typically a unit number, but disks add partition inforation, and other devices may do artibtrary otehr things). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37337 (cherry picked from commit a0aad69f9556221283b8f6ddcd332329b50463e4) --- stand/libsa/libsa.3 | 32 +++++++++++++++++++++++++++++++- stand/libsa/stand.h | 1 + 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/stand/libsa/libsa.3 b/stand/libsa/libsa.3 index 7bd7a848cd3d..f732595bc647 100644 --- a/stand/libsa/libsa.3 +++ b/stand/libsa/libsa.3 @@ -710,7 +710,9 @@ struct devsw { int (*dv_ioctl)(struct open_file *f, u_long cmd, void *data); int (*dv_print)(int verbose); void (*dv_cleanup)(void); - void (*dv_fmtdev)(struct devdesc *); + char * (*dv_fmtdev)(struct devdesc *); + int (*dv_parsedev)(struct devdesc **dev, const char *devpart, + const char **path); }; .Ed .Bl -tag -width ".Fn dv_strategy" @@ -751,6 +753,34 @@ Cleans up any memory used by the device before the next stage is run. .It Fn dv_fmtdev Converts the specified devdesc to the canonical string representation for that device. +.It Fn dv_parsedev +Parses the device portion of a file path. +The +.Dv devpart +will point to the +.Sq tail +of device name, possibly followed by a colon and a path within the device. +The +.Sq tail +is, by convention, the part of the device specification that follows the +.Fa dv_name +part of the string. +So when parsing the string +.Dq disk3p5:/xxx +.Dv devpart +will point to the +.Sq 3 +in that string. +The parsing routine is expected to allocate a new +.Dv struct devdesc +or subclass and return it in +.Dv dev +when successful. +This routine should set +.Dv path +to point to the portion of the string after device specification, or +.Dq /xxx +in the earlier example. .El .Sh HISTORY The diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 3b2627355ed6..716486107b27 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -160,6 +160,7 @@ struct devsw { int (*dv_print)(int verbose); /* print device information */ void (*dv_cleanup)(void); char * (*dv_fmtdev)(struct devdesc *); + int (*dv_parsedev)(struct devdesc **, const char *, const char **); }; /* From nobody Tue Jan 24 22:13:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7F0Fw2z3bgNw; Tue, 24 Jan 2023 22:13: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 4P1h7D6LfGz3Fr9; Tue, 24 Jan 2023 22:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4DgwyOynCSENFrnibDaGMi8kZTzYE+Q4zosK9TJuH+w=; b=ZkpZ6hvOiWo7BOmLP4t8FSFGru6LeVPD+z3ZNsZqztYQS+6HxKs5ic+rfad7448+uH8jq2 DgCvyPRvD42Zb+7yWBM1aTnArQgK2SBFdRgwOo6ngPcfZ4adfkChyqh8SGepRjoKK7pYB+ kkh66/iJpfKkMIG3pq0hBh7s/BAgdBWTpCabyGDu9hwJDGiRswncYPu1YgBMHABWjB+6dO zicl4xZC4QvyWP3bUNqljXP3PCneUeNWS5mT80AJBXOVxvDCMnVKNrQcngLFQ3bi8ARyTa mGvXwp6Tkoe6zdXMDP61P0RUcN7AVgZabqKJGJfIAlClO2tn4SBU7mHxHlSkiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4DgwyOynCSENFrnibDaGMi8kZTzYE+Q4zosK9TJuH+w=; b=YoQX5g/Fs9dCxSFWZdlUzxV8Y+23oR8q+JB9OnX8JbeYsXMjh/vmAjs5gzZk70km41bcoX RWG17fYfLa3d+RdEMs2/l2LCYXQcJMSVHq1EKfQ2/QHMzvwYP6SKO6OMbW4FwSA8ZI20Bg lRuDLubJ04jdBNi5yK1Dl3HFIcP3IDVI4m6SwnXd9rn7nObs7WDYn1X4Q7LJoN9hG5SN5S 64CrDfPIzWKmLG6bYYwRb//vwAW2u328RwjwqRklKG6lvZI1CVaF9qY1TjQ8tAFzw14TXn QGoXVz7g6stp4AQ9oNH3/eNfQf8tmVwQC/SPQ7X0Fz1iif/Y9jdHYePretUd9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598392; a=rsa-sha256; cv=none; b=r+auvFkqXmbOcTZUaAfmWnep/gqWUGN/XAGASpAvV8JjxcD+IQnioX1MhqpeF5A3qLrLvx Z40sUFud87vxy8B0HRrTfJ8I9W8mOOFr7nMqne4I/MsnVpi7OQsgDUmm5Ku2ewGontqazL AFznxJLV3D6/V59p49yTNX3C0LbBSFCc0kZ4AAJXIq3c0lweEQO0Xd2Zx6tTqvavY/W9Cf XOT95k4ik7u5uoPo6MG5vIQnOdIu2pPa7DJD3WAM+lvwLNiS7bsbr1EYFyd2YdUEexJyUj rFceItyT9qz7NP9owFEQDdmtkhVMXqAJCx5RXgeR/88LAlLbMmrsMDvV1eXu5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7D1BMSzQYb; Tue, 24 Jan 2023 22:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDCRc088094; Tue, 24 Jan 2023 22:13:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDCSu088093; Tue, 24 Jan 2023 22:13:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:12 GMT Message-Id: <202301242213.30OMDCSu088093@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: ac8d9f5c8968 - stable/13 - stand: Introduce devparse to parse device / path strings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ac8d9f5c8968a96cafb4f7ef0ad0d901633e901d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ac8d9f5c8968a96cafb4f7ef0ad0d901633e901d commit ac8d9f5c8968a96cafb4f7ef0ad0d901633e901d Author: Warner Losh AuthorDate: 2022-11-30 22:08:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand: Introduce devparse to parse device / path strings devparse is now the preferred interface to use to parse device strings or device:/path strings. It parses the passed in string, mallocs the device's particular devdesc string and returns the 'remainder' of the device:/path for further processing. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37338 (cherry picked from commit 781ca0afcd6c64ac3fbaf2a19b1880734cdfe947) --- stand/libsa/dev.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++ stand/libsa/libsa.3 | 38 +++++++++++++++++++++++-- stand/libsa/stand.h | 1 + 3 files changed, 119 insertions(+), 2 deletions(-) diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index 2ccdce22d596..c0bcce07718b 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -67,3 +67,85 @@ devformat(struct devdesc *d) snprintf(name, sizeof(name), "%s%d:", d->d_dev->dv_name, d->d_unit); return (name); } + +/* NB: devspec points to the remainder of the device name after dv_name */ +static int +default_parsedev(struct devdesc **dev, const char *devspec, + const char **path) +{ + struct devdesc *idev; + int unit, err; + char *cp; + + idev = malloc(sizeof(struct devdesc)); + if (idev == NULL) + return (ENOMEM); + + unit = 0; + cp = (char *)devspec; /* strtol interface, alas */ + + if (*devspec != '\0' && *devspec != ':') { + errno = 0; + unit = strtol(devspec, &cp, 0); + if (errno != 0 || cp == devspec) { + err = EUNIT; + goto fail; + } + } + if (*cp != '\0' && *cp != ':') { + err = EINVAL; + goto fail; + } + + idev->d_unit = unit; + if (path != NULL) + *path = (*cp == 0) ? cp : cp + 1; + if (dev != NULL) /* maybe this can be required? */ + *dev = idev; + else + free(idev); + return (0); +fail: + free(idev); + return (err); +} + +/* NB: devspec points to the whole device spec, and possible trailing path */ +int +devparse(struct devdesc **dev, const char *devspec, const char **path) +{ + struct devdesc *idev; + struct devsw *dv; + int i, err; + const char *np; + + /* minimum length check */ + if (strlen(devspec) < 2) + return (EINVAL); + + /* look for a device that matches */ + for (i = 0; devsw[i] != NULL; i++) { + dv = devsw[i]; + if (!strncmp(devspec, dv->dv_name, strlen(dv->dv_name))) + break; + } + if (devsw[i] == NULL) + return (ENOENT); + idev = NULL; + err = 0; + if (dv->dv_parsedev) { + err = dv->dv_parsedev(&idev, np, path); + } else { + np = devspec + strlen(dv->dv_name); + err = default_parsedev(&idev, np, path); + } + if (err != 0) + return (err); + + idev->d_dev = dv; + if (dev != NULL) + *dev = idev; + else + free(idev); + return (0); +} diff --git a/stand/libsa/libsa.3 b/stand/libsa/libsa.3 index f732595bc647..210f54a5aa6a 100644 --- a/stand/libsa/libsa.3 +++ b/stand/libsa/libsa.3 @@ -508,6 +508,35 @@ Returns -1 on error, 0 at EOF, or 1 if the user elects to quit while reading. .Pp Format the specified device as a string. .It Xo +.Ft int +.Fn devparse "struct devdesc **dev" "const char *devdesc" "const char **path" +.Xc +.Pp +Parse the +.Dv devdesc +string of the form +.Sq device:[/path/to/file] . +The +.Dv devsw +table is used to match the start of the +.Sq device +string with +.Fa dv_name . +If +.Fa dv_parsedev +is non-NULL, then it will be called to parse the rest of the string and allocate +the +.Dv struct devdesc +for this path. +If NULL, then a default routine will be called that will allocate a simple +.Dv struct devdesc , +parse a unit number and ensure there's no trailing characters. +If +.Dv path +is non-NULL, then a pointer to the remainder of the +.Dv devdesc +string after the device specification is written. +.It Xo .Ft void .Fn twiddle void .Xc @@ -765,8 +794,10 @@ The is, by convention, the part of the device specification that follows the .Fa dv_name part of the string. -So when parsing the string -.Dq disk3p5:/xxx +So when +.Fa devparse +is parsing the string +.Dq disk3p5:/xxx , .Dv devpart will point to the .Sq 3 @@ -781,6 +812,9 @@ This routine should set to point to the portion of the string after device specification, or .Dq /xxx in the earlier example. +Generally, code needing to parse a path will use +.Fa devparse +instead of calling this routine directly. .El .Sh HISTORY The diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 716486107b27..6e52325ec166 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -187,6 +187,7 @@ struct devdesc { }; char *devformat(struct devdesc *d); +int devparse(struct devdesc **, const char *, const char **); struct open_file { int f_flags; /* see F_* below */ From nobody Tue Jan 24 22:13:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7F512Fz3bgTW; Tue, 24 Jan 2023 22:13: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 4P1h7F3WKgz3Ftj; Tue, 24 Jan 2023 22:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gDpNTa0sUBCwBsW2+6JJb/x17M7Ldu/QFDVJz5eKifY=; b=cCDpenf2cJFW/2QPiziWTUTNXA1BTrKDQ5kJk/Cto7USmQ3dDgUwtrF62aEpDPYkxoikvf h/9y/xvvaQ9Yo/GGPF3A3PL3iAsRRYccMKOY1sRiiLPlUzoE/rrm9ortmYLR1pa/1AjOsB 6ntu6ZtY40b6kCob2UHjv+5eVoptLspqzEGE5uChf3cO06mUI8dSdtWNochtCOTbQOqW0f pOSYn/zLT618IdTaM3ReH2GqHFGwAkc4+AnK4oeJy9fZpKvMhPvi1JGCIx4FX7TlfSxM+1 HxGFX5egC0SVIX7DYJj2bk8t0uASj/nks4DMMXkLzE2U4LT7GYu34e450WPcVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gDpNTa0sUBCwBsW2+6JJb/x17M7Ldu/QFDVJz5eKifY=; b=TPCIns4cNj+nplQUp0vfb7cGbnk58ffvAYSZDu387f2UFwqn6iWjPfJAhYaUTl5M7bc+OX VpZe9Cds4UapNg//Am/FHmWTL0O+iMA5U2xNkJ086PP0axuP+6V/fzhuE5LibcE57TO8bK MvWJZ9TKxPhZ0snlq7Desfe3maLxcUaXhOMZmyABnEHZOXG7qbCGjUVNTlLpCO4o45s8B5 920aeQTL31/QN9ViUb1rxCNfJSEsO+rXGhszLDqcDRPuwbIZ+ukL/KFVHyIEH3PraqF8g3 P5uQ0vYLiz88aPpTai3+KWILX+P75FrsMRfMPwaRCnEz19JK9lhE46fhDK+3PQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598393; a=rsa-sha256; cv=none; b=GG7InkDe6Fm5nPSQQ4jFIRgr8MHKMaexKJzgjIjZWdSbC9zcsmEDPcvO9mrMK5hqXQDo08 43inZ28lP693wV+ez5GxKJvx6s+YmVd2twrm8mn889kZcxYFemPfOoszbPq1n173tvoAD6 bKy/XTnYbsl9GJkkyDGLAgOhSQPCApQ1aUpip/2oXzulwdhAm4yCJGfh/LzYjm9AL36ema 5nzjYfcAV5GO/h4IS3jd5LJUuD2ZiRDSK9qhXbHoJjmDDCOewHpz/QYPfLkTQ0hmIvBw/U YYs0IfF0eHoKDkwpWCtv7p/+8hE4xuhxurjdbJf9OHZI+EX3LvdGonB8Wj/FAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7F227czQYc; Tue, 24 Jan 2023 22:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDDbw088120; Tue, 24 Jan 2023 22:13:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDDeU088119; Tue, 24 Jan 2023 22:13:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:13 GMT Message-Id: <202301242213.30OMDDeU088119@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: b5046150d49c - stable/13 - stand/zfs: Connect dv_parsedev to zfs_parsedev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b5046150d49c114d9c625c3dea717d8134020014 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b5046150d49c114d9c625c3dea717d8134020014 commit b5046150d49c114d9c625c3dea717d8134020014 Author: Warner Losh AuthorDate: 2022-11-30 22:08:47 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand/zfs: Connect dv_parsedev to zfs_parsedev Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37348 (cherry picked from commit ca0654bad68d521066497e708cfb56f5f3f5d1fa) --- stand/libsa/zfs/zfs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index a97d5fe59226..96b0509149f8 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1626,6 +1626,7 @@ struct devsw zfs_dev = { .dv_print = zfs_dev_print, .dv_cleanup = nullsys, .dv_fmtdev = zfs_fmtdev, + .dv_parsedev = zfs_parsedev, }; int From nobody Tue Jan 24 22:13:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7H10gfz3bg8D; Tue, 24 Jan 2023 22:13: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 4P1h7G44t7z3G9L; Tue, 24 Jan 2023 22:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cf1r+mE+ibLL3dhvIxfVUTnsstFgxLoo6N77kEokgag=; b=RdC8aVFcWJl+sPnDZfLOxkwFeed5OIe/RWJdX3tFFy3eOcsbv3W1kgkgmRdYK+DwP43rdz four7qK628py2H9pl+fMy8y8RKi2YtMBND5cj+ch87T0WXkh4ZS8PJrOweHFwA3ww58/LK LQX3BWN+b/g9iEjMP7NPg7qkgTwdGiYlqDk5cxob2EgcYFNQkxIuJjDxXyYxcNAhkS7aEm 7ej+3GO9BWP2ZSYx7iV+EzFXsr+v9hgnnlE8PAlF9fdsnFDRFLkiIqCm7pEYTTJTuUQJes 34wonSf5XLJFnJlJtiPyYAqJQx5aQ/OEf+W3qSpgMXuR5dwhYWx+otAuQ38tKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cf1r+mE+ibLL3dhvIxfVUTnsstFgxLoo6N77kEokgag=; b=OuU8th+uC/odhNioBCmGjzOnKp28+mcCVspNw4i0c1teeGLB99fQTugUp0d/uAHPP8zxHN LdBXeGKUC4S0jbwK4/LOlI7Ou0LTCi/L6AdASaTwkGHRl96ogLZdTsUT/DAZmVBmXxlGpN awQ0438Gi3l5SJ+sKRexdMn4oIGiYEEaWwZdfuBQkOVdanlne7KpxLUg4hu8lCGgmxCRLT RbCJOfcF6DNGQHL4Mubi05jrlN0Ldbs9oN1J9yY3gPc4dTGKWI2/UyQ26Aq4Kudu4dIUuS ycujAQqiZ8tZndDeskRpFcMZiiGJrYv1NXpJwIduj/onSRUNzsxhs4pV+Iby4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598394; a=rsa-sha256; cv=none; b=SLwIWVieOgxZaE8wq1kKmwVOEWRmaNhm8kjNlaXiNRfJsDGZxeDxRi9pzqFEkG7JFRxf7M e48ew40odYxps1crcFPkPQlcHFM6cB0ZM/eD/QkXaLY4WpUObFPQs21e3CD9DupL8PT8OX moLYAEwos9xWCBlfNNTDpMMFgkmuM4vDxzGvPF9Dt+NjFSaLiy3RZt6oH9hO4E5ix3Y0ux AtdgeVUr8E4VpZCccHzQh2qZjVhqWhD3XpU10nLXklVFWCKv9ZaCKrw7iatB1KpqaWvZiY 4L2sibvfRb+g5jGyzm0V+EZnASMcsDJdsBC3+SXc/vY2YAl6dabEut5qQufGiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7G33WczQq0; Tue, 24 Jan 2023 22:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDESo088144; Tue, 24 Jan 2023 22:13:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDEi3088143; Tue, 24 Jan 2023 22:13:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:14 GMT Message-Id: <202301242213.30OMDEi3088143@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: 226a0e3226cd - stable/13 - stand: For all disk drivers, connect dv_parsedev to disk_parsedev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 226a0e3226cda20c09f66f15294f1f233129c0c9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=226a0e3226cda20c09f66f15294f1f233129c0c9 commit 226a0e3226cda20c09f66f15294f1f233129c0c9 Author: Warner Losh AuthorDate: 2022-11-30 22:08:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand: For all disk drivers, connect dv_parsedev to disk_parsedev Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37339 (cherry picked from commit 8337ab69ba8e065e5cfde8f09859ec1d0d47e892) --- stand/common/md.c | 1 + stand/common/vdisk.c | 1 + stand/efi/libefi/efipart.c | 1 + stand/i386/libi386/biosdisk.c | 1 + stand/libofw/ofw_disk.c | 1 + stand/libsa/geli/gelidev.c | 1 + stand/uboot/uboot_disk.c | 1 + stand/usb/storage/umass_loader.c | 1 + stand/userboot/userboot/userboot_disk.c | 1 + 9 files changed, 9 insertions(+) diff --git a/stand/common/md.c b/stand/common/md.c index 9f95d3cdfd2d..a3243beb17dd 100644 --- a/stand/common/md.c +++ b/stand/common/md.c @@ -76,6 +76,7 @@ struct devsw md_dev = { .dv_print = md_print, .dv_cleanup = nullsys, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; static int diff --git a/stand/common/vdisk.c b/stand/common/vdisk.c index c4220787b1ac..5c08a524b4d3 100644 --- a/stand/common/vdisk.c +++ b/stand/common/vdisk.c @@ -54,6 +54,7 @@ struct devsw vdisk_dev = { .dv_print = vdisk_print, .dv_cleanup = nullsys, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; typedef STAILQ_HEAD(vdisk_info_list, vdisk_info) vdisk_info_list_t; diff --git a/stand/efi/libefi/efipart.c b/stand/efi/libefi/efipart.c index 88587192a1b7..9a4d2b22ed20 100644 --- a/stand/efi/libefi/efipart.c +++ b/stand/efi/libefi/efipart.c @@ -104,6 +104,7 @@ struct devsw efipart_hddev = { .dv_print = efipart_printhd, .dv_cleanup = nullsys, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; static pdinfo_list_t fdinfo = STAILQ_HEAD_INITIALIZER(fdinfo); diff --git a/stand/i386/libi386/biosdisk.c b/stand/i386/libi386/biosdisk.c index bc819d8e312e..87c8c47844b0 100644 --- a/stand/i386/libi386/biosdisk.c +++ b/stand/i386/libi386/biosdisk.c @@ -191,6 +191,7 @@ struct devsw bioshd = { .dv_print = bd_print, .dv_cleanup = nullsys, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; static bdinfo_list_t * diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 5585b463c737..524bc7b77d5c 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -61,6 +61,7 @@ struct devsw ofwdisk = { .dv_print = ofwd_print, .dv_cleanup = nullsys, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; /* diff --git a/stand/libsa/geli/gelidev.c b/stand/libsa/geli/gelidev.c index 23ded496c23d..3e256c290739 100644 --- a/stand/libsa/geli/gelidev.c +++ b/stand/libsa/geli/gelidev.c @@ -63,6 +63,7 @@ static struct devsw geli_devsw = { .dv_print = geli_dev_print, .dv_cleanup = geli_dev_cleanup, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; /* diff --git a/stand/uboot/uboot_disk.c b/stand/uboot/uboot_disk.c index 2a41d1181992..63a7a68e8c1b 100644 --- a/stand/uboot/uboot_disk.c +++ b/stand/uboot/uboot_disk.c @@ -91,6 +91,7 @@ struct devsw uboot_storage = { .dv_print = stor_print, .dv_cleanup = stor_cleanup, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; static int diff --git a/stand/usb/storage/umass_loader.c b/stand/usb/storage/umass_loader.c index cc1f6b68e275..647d8a58b534 100644 --- a/stand/usb/storage/umass_loader.c +++ b/stand/usb/storage/umass_loader.c @@ -62,6 +62,7 @@ struct devsw umass_disk = { .dv_print = umass_disk_print, .dv_cleanup = umass_disk_cleanup, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; static int diff --git a/stand/userboot/userboot/userboot_disk.c b/stand/userboot/userboot/userboot_disk.c index d5b0f36e5e50..7af31a158ed2 100644 --- a/stand/userboot/userboot/userboot_disk.c +++ b/stand/userboot/userboot/userboot_disk.c @@ -73,6 +73,7 @@ struct devsw userboot_disk = { .dv_print = userdisk_print, .dv_cleanup = userdisk_cleanup, .dv_fmtdev = disk_fmtdev, + .dv_parsedev = disk_parsedev, }; /* From nobody Tue Jan 24 22:13:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7J0jBhz3bgTj; Tue, 24 Jan 2023 22:13: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 4P1h7H5Hkgz3G6w; Tue, 24 Jan 2023 22:13:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yj3AbB7dGTHyVbGEw+N4Z8L4TD0AhWga68ttUyMzfio=; b=xmzSsYdMevL0HMEHRveBud93aFvrDf7n+YSPce2I059rJa5Qr94rHRhz+TNn9eVjbgGgJZ 2CrPsIGAM/j87AlNpLmN1mDYJ9q2haFxjvSD0z+CW8FcgfzCtItw2jabYBlkn2U3jpWnhY bycnSJUMx+zBVsm0mu8YX5trhMOCpFIhvyThs4PQrGbG9jI5vdRz2PXOfmJ+71pFdymhE4 CuJCf81Z0KIjB7LMQ7XVfwRlYQxbCSj6e/5gup2P6sPL3HfQdibk6/Sdrr/H8FDqDWXUNE 5uoYAUML7uJxInoq0Mi2hQRfCaMh/EpIKqqHFNY/ICiuOdh/oXSI1B/hS1qNkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yj3AbB7dGTHyVbGEw+N4Z8L4TD0AhWga68ttUyMzfio=; b=mbwn7pnwyVuBc5S+UiSQ6XGDjzovE2mHgtitE2JTYLH6tss2NMQzKTGmv3UdUwyeWE+9MI ure9C5z14PCu+S/F9IF4txTEV5d2EZjAKZyMRIehXVGMAURu4FDgtwwIz4NAEov1i25Rda 201oHPqrupl2YgeIFkHcjOTFRmCfSLMdPe/Kou0sjI7nzcw9MQRDOwZfII5CjPkFTKm40S 8yd+42s7nt8hkqPjj8ACNL33ATga8Iv9J2+zqD4zn1/GgwZ+prqCMsdq9jP/aoQdPvqZcw ZOMdkinI+iq8KUqTyfftJ9+cpOlt07zGGNiU25LcOhNA8C8MbnXGY5QBjOhmzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598395; a=rsa-sha256; cv=none; b=WWjXIsDA3A856BvyoiIxfosK5mE+8tvBatLakzv8Qwo8cBAl6cYaBECwpE3txeEoRkAozw Dr++gzNS2WyXfcNm/YgZpXS3eE7kYluOozcfz0lJAiaRQkfaiJX+xGfU1X7pNyn23iIqvK 2Wll2NbMZRJWk1+muOvNGHOS0kL84P3HuBNEO82ZX87uVmeG6rRtQYQMJi7FOtIfBIqVh9 Vw9FV9J8JnqKVo1scdscRIDQvX7iD9mXsLGTWjQLKd0ljSTIm7/PZjR/735xmOt1RHEUJq 02QFbHHT0L73LfDt5mtJdR0BboHJjxW8ElC2x36bM3ZuL2vMhvGQOkD0ZmcVmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7H47HNzQVp; Tue, 24 Jan 2023 22:13:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDFTa088168; Tue, 24 Jan 2023 22:13:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDF79088167; Tue, 24 Jan 2023 22:13:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:15 GMT Message-Id: <202301242213.30OMDF79088167@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: ed6e58152124 - stable/13 - stand/efi: Move to using common devparse() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed6e58152124fae4d577c148921234ae87625587 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ed6e58152124fae4d577c148921234ae87625587 commit ed6e58152124fae4d577c148921234ae87625587 Author: Warner Losh AuthorDate: 2022-11-30 22:08:55 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:38 +0000 stand/efi: Move to using common devparse() We no longer need to have to hand-code this for each boot loader since devparse() handles them all with dv_parsedev(). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37340 (cherry picked from commit 77378d79f165b59296a0133eb910af55c8b2b600) --- stand/efi/libefi/devicename.c | 105 ++---------------------------------------- 1 file changed, 3 insertions(+), 102 deletions(-) diff --git a/stand/efi/libefi/devicename.c b/stand/efi/libefi/devicename.c index 73b1d783c01f..83f4e6e99201 100644 --- a/stand/efi/libefi/devicename.c +++ b/stand/efi/libefi/devicename.c @@ -39,8 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include -static int efi_parsedev(struct devdesc **, const char *, const char **); - /* * Point (dev) at an allocated device specifier for the device matching the * path in (devspec). If it contains an explicit device specification, @@ -57,110 +55,13 @@ efi_getdev(void **vdev, const char *devspec, const char **path) * use the current device instead. */ if (devspec == NULL || *devspec == '/' || !strchr(devspec, ':')) { - rv = efi_parsedev(dev, getenv("currdev"), NULL); + rv = devparse(dev, getenv("currdev"), NULL); if (rv == 0 && path != NULL) *path = devspec; return (rv); } - /* Parse the device name off the beginning of the devspec. */ - return (efi_parsedev(dev, devspec, path)); -} - -/* - * Point (dev) at an allocated device specifier matching the string version - * at the beginning of (devspec). Return a pointer to the remaining - * text in (path). - * - * In all cases, the beginning of (devspec) is compared to the names - * of known devices in the device switch, and then any following text - * is parsed according to the rules applied to the device type. - * - * For disk-type devices, the syntax is: - * - * fs: - */ -static int -efi_parsedev(struct devdesc **dev, const char *devspec, const char **path) -{ - struct devdesc *idev; - struct devsw *dv; - int i, unit, err; - char *cp; - const char *np; - - /* minimum length check */ - if (strlen(devspec) < 2) - return (EINVAL); - - /* look for a device that matches */ - for (i = 0; devsw[i] != NULL; i++) { - dv = devsw[i]; - if (!strncmp(devspec, dv->dv_name, strlen(dv->dv_name))) - break; - } - if (devsw[i] == NULL) - return (ENOENT); - - np = devspec + strlen(dv->dv_name); - idev = NULL; - err = 0; - - switch (dv->dv_type) { - case DEVT_NONE: - break; - - case DEVT_DISK: - err = disk_parsedev(&idev, np, path); - if (err != 0) - goto fail; - break; - -#ifdef EFI_ZFS_BOOT - case DEVT_ZFS: - err = zfs_parsedev(&idev, np, path); - if (err != 0) - goto fail; - break; -#endif - default: - idev = malloc(sizeof(struct devdesc)); - if (idev == NULL) - return (ENOMEM); - - unit = 0; - cp = (char *)np; - - if (*np != '\0' && *np != ':') { - errno = 0; - unit = strtol(np, &cp, 0); - if (errno != 0 || cp == np) { - err = EUNIT; - goto fail; - } - } - if (*cp != '\0' && *cp != ':') { - err = EINVAL; - goto fail; - } - - idev->d_unit = unit; - if (path != NULL) - *path = (*cp == 0) ? cp : cp + 1; - break; - } - - idev->d_dev = dv; - - if (dev != NULL) - *dev = idev; - else - free(idev); - return (0); - -fail: - free(idev); - return (err); + return (devparse(dev, devspec, path)); } /* @@ -172,7 +73,7 @@ efi_setcurrdev(struct env_var *ev, int flags, const void *value) struct devdesc *ncurr; int rv; - rv = efi_parsedev(&ncurr, value, NULL); + rv = devparse(&ncurr, value, NULL); if (rv != 0) return (rv); free(ncurr); From nobody Tue Jan 24 22:13:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7J6FChz3bgP2; Tue, 24 Jan 2023 22:13: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 4P1h7J5fLrz3GGT; Tue, 24 Jan 2023 22:13:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/XY+S3nmmhbu8+mY3py50Y/G9ihjdQU7pgmuWYZvPNQ=; b=Wg0Q5sViUIenmC9zV3JBjvJ+ax3JbA4b99lVYk+KVMVZz8x88YQqHQkKuqNLPxBt5WLaBb tMEdrR7SqYdHEJqULTfTqXWjAdD9vc3uvrBQkZYcBUKxOs261P7trO0by3pnFm26f4E/c5 FU2VnOyCM68kol4zRyF5kSDkjpW4CWEd05LJUnQlTZzI5EhqCmNC6hDJUJnG5vhJve6oa6 mBRJ3lZjClNo150TAC2hlWmoy2hgQf+mExbPM6EY1SKLh4+gc4JxB7t2C77IGKGjlY8lTs UA/2M3y+0npSJM0Hr85rzPJrndVo/04PrI9V11nPEx1748pae4lV9vrsReXlcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/XY+S3nmmhbu8+mY3py50Y/G9ihjdQU7pgmuWYZvPNQ=; b=rbfkRw69yJuDyxhPhS1rYBfxrahQHN3v76FCh2Xh53UD2B3QcKUDqJOQqv+MpfZIBrVRJ2 26MYBmFgQ3mKjcoTaStuZoDJpMVYdZaXz24hmfjV/WZHnjJj+e6hJ3QycVLc5b/l5JblY+ 2OMP8lNnzTdxdLl7NSrB8XFCkV+vTpRhrdp6vCBJRuZD2a+5J/SWGanUdXbYi2ktkGtUXR KOxh4gRoBrEV4EjUw0dj7TJ+Ea9WN9fE/E/F8twAMfbkP9DqkYxdDT3QOx5KP1r4nhQ9mV 1X6+0URHp1t4W8Dnv5twDp7rx6czBqWbSFuxzxV3fUIASv8sdbd7PS9/0Loapw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598396; a=rsa-sha256; cv=none; b=yECKhCZbLz+gWeZrkc15oaZZG6IcCo7WA8QncSYPVhzqMflR+DWF248XxnP4kYqDR8eauE j1ZRBGIbESHTTa8dZf7Ss7sFoebiItfFpZKCVr9ZNZy+iD/pYhVB25p/yT6Pn5Jtr4uy8M U5OHjt2ozaR1YZKDNoCiRSS6AvWTlLzLHqpvf6F1p9gijQazQeR/Dd+gKqO3zDq33voiSd 1F802afMu8lR/tAvlo5c6CH8AxQUMusCLn80C/FDjCO8opm3L4ijCgTmReIcEZUoK+3WvC zLtGsOUvuDO22lpduXZoY3O8GWj9CkkZsjfDIewLndeXzPet4Ftmo3/62rUdWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7J4cyczQYf; Tue, 24 Jan 2023 22:13:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDGC8088198; Tue, 24 Jan 2023 22:13:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDGLM088197; Tue, 24 Jan 2023 22:13:16 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:16 GMT Message-Id: <202301242213.30OMDGLM088197@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: 0bd2b461b9f6 - stable/13 - stand/i386: Move to using common devparse() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0bd2b461b9f6f515b67ec28f33cf51d9d8dd4c3d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0bd2b461b9f6f515b67ec28f33cf51d9d8dd4c3d commit 0bd2b461b9f6f515b67ec28f33cf51d9d8dd4c3d Author: Warner Losh AuthorDate: 2022-11-30 22:09:00 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand/i386: Move to using common devparse() We no longer need to have to hand-code this for each boot loader since devparse() handles them all with dv_parsedev(). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37341 (cherry picked from commit 641a0617e8d060c3c5fb997cee9e2b7fb40d9306) --- stand/i386/libi386/devicename.c | 109 ++-------------------------------------- 1 file changed, 5 insertions(+), 104 deletions(-) diff --git a/stand/i386/libi386/devicename.c b/stand/i386/libi386/devicename.c index 1d7e4c7d3fa3..99d3aa7920bc 100644 --- a/stand/i386/libi386/devicename.c +++ b/stand/i386/libi386/devicename.c @@ -32,9 +32,6 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "disk.h" #include "libi386.h" -#include "libzfs.h" - -static int i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path); /* * Point (dev) at an allocated device specifier for the device matching the @@ -44,7 +41,7 @@ static int i386_parsedev(struct i386_devdesc **dev, const char *devspec, const c int i386_getdev(void **vdev, const char *devspec, const char **path) { - struct i386_devdesc **dev = (struct i386_devdesc **)vdev; + struct devdesc **dev = (struct devdesc **)vdev; int rv; /* @@ -55,7 +52,7 @@ i386_getdev(void **vdev, const char *devspec, const char **path) (devspec[0] == '/') || (strchr(devspec, ':') == NULL)) { - if (((rv = i386_parsedev(dev, getenv("currdev"), NULL)) == 0) && + if (((rv = devparse(dev, getenv("currdev"), NULL)) == 0) && (path != NULL)) *path = devspec; return(rv); @@ -64,103 +61,7 @@ i386_getdev(void **vdev, const char *devspec, const char **path) /* * Try to parse the device name off the beginning of the devspec */ - return(i386_parsedev(dev, devspec, path)); -} - -/* - * Point (dev) at an allocated device specifier matching the string version - * at the beginning of (devspec). Return a pointer to the remaining - * text in (path). - * - * In all cases, the beginning of (devspec) is compared to the names - * of known devices in the device switch, and then any following text - * is parsed according to the rules applied to the device type. - * - * For disk-type devices, the syntax is: - * - * disk[s][]: - * - */ -static int -i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path) -{ - struct i386_devdesc *idev = NULL; - struct devsw *dv; - int i, unit, err; - char *cp; - const char *np; - - /* minimum length check */ - if (strlen(devspec) < 2) - return(EINVAL); - - /* look for a device that matches */ - for (i = 0, dv = NULL; devsw[i] != NULL; i++) { - if (!strncmp(devspec, devsw[i]->dv_name, strlen(devsw[i]->dv_name))) { - dv = devsw[i]; - break; - } - } - if (dv == NULL) - return(ENOENT); - - np = (devspec + strlen(dv->dv_name)); - idev = NULL; - err = 0; - - switch(dv->dv_type) { - case DEVT_NONE: - break; - - case DEVT_DISK: - err = disk_parsedev((struct devdesc **)&idev, np, path); - if (err != 0) - goto fail; - break; - - case DEVT_ZFS: - err = zfs_parsedev((struct devdesc **)&idev, np, path); - if (err != 0) - goto fail; - break; - - default: - idev = malloc(sizeof (struct devdesc)); - if (idev == NULL) - return (ENOMEM); - - unit = 0; - cp = (char *)np; - - if (*np && (*np != ':')) { - unit = strtol(np, &cp, 0); /* get unit number if present */ - if (cp == np) { - err = EUNIT; - goto fail; - } - } - - if (*cp && (*cp != ':')) { - err = EINVAL; - goto fail; - } - - idev->dd.d_unit = unit; - if (path != NULL) - *path = (*cp == 0) ? cp : cp + 1; - break; - } - idev->dd.d_dev = dv; - if (dev != NULL) - *dev = idev; - else - free(idev); - - return(0); - - fail: - free(idev); - return(err); + return(devparse(dev, devspec, path)); } /* @@ -169,10 +70,10 @@ i386_parsedev(struct i386_devdesc **dev, const char *devspec, const char **path) int i386_setcurrdev(struct env_var *ev, int flags, const void *value) { - struct i386_devdesc *ncurr; + struct devdesc *ncurr; int rv; - if ((rv = i386_parsedev(&ncurr, value, NULL)) != 0) + if ((rv = devparse(&ncurr, value, NULL)) != 0) return (rv); free(ncurr); From nobody Tue Jan 24 22:13:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7L136pz3bg8g; Tue, 24 Jan 2023 22:13: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 4P1h7L07RDz3GGw; Tue, 24 Jan 2023 22:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3BHFI4+QMzMWGDp2aoESuPXPmMINCQLTBEBtKsF0Ek8=; b=pnysvoO/sVFOxgd6sgfMjZVlIypqS9genqOYaUhGzAj0V9/zKxUOuynA4sl/7jJQoPecTP ji0mX4f0jRnsOg9poyM/Yt2l0vF8A2h+b8ofdWh0FsKZjHi0eRJ6nhEqVr9MZJ8PVKLnw+ UUZYkFUg/ZZ1wwnqiVcusECFQCdyDIvHNncjoOtnGcfHBB6nSUNMRQiWDebjI9VLRoZgbk /QJiJW5/51RUshE1j0rtjlwm2hZRrNOMbcj1+6fFwi0A0ClwjKpjHYQHq5E7p0VP23nA8C mAd6UPQ+VWP0EVoBDzIO+V1GAGATTHmbOnjvtIup8SEsxDggV/nTbjsPINOmoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3BHFI4+QMzMWGDp2aoESuPXPmMINCQLTBEBtKsF0Ek8=; b=FxGmYI1nbdy6Q0BG3qvvM028nlMzoT3SyFfEuJcZx6l2y3Df95+qmiTP9uEnuRGRzwBcVh oXQC/m2Khrz3Kgio7vePdyc161CX0vv7WeUlTmPGAfvpP3DSkhCxC5uKeN/vhRxKIoi+8m lLxOfM/Wc+4poVemRQ21FQn+teWH/1zQtolvGHDrv3FRwIp+n9XAZmKGbDuh1l5gudDLdB PLD5IEG5w1SSHcTEb5cnew3CZrt4S28mSVzt6yDddrbGNSmMh0D5ZEfEfEp7MS2KVKByIl zOQjgNLeq/IE8xDdocZpwYY3604FKsEFhdMK9oAa2YWch/0STBojcoawnR7lLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598398; a=rsa-sha256; cv=none; b=B5ekuP1PtSUr0otXsSoQmzhudPpHPoJmvDOAfkbgV8hV1eJcO+1Ga6GuHjhTVXxcc0rl8W nxcIaXIHlgEWtaZbhRie5797Pt2rtJur/lPw7Wspahp6Rs29c1vLoTBUpomLk8gTJ9Tw67 VVH3FH0JHnPEJTGl/yhyXtiza1cCRGPAFXenBtiY3N3oNV9DIW+mgOjrBoglqTiUL3Rk2i yjh/+PuKrkyq15MQnSVnrs8hGLYOQ9PNVGMQdaKfoMtrN5De69sq8y55xKfhUqoHbHXsmH +inwlYyFy+BdiBFH0Qi3Hz4PDrAtodTDvzP4L9as1TwimwRUbZWGr5FHjx04gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7K5zp5zQYg; Tue, 24 Jan 2023 22:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDHft088223; Tue, 24 Jan 2023 22:13:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDHug088222; Tue, 24 Jan 2023 22:13:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:17 GMT Message-Id: <202301242213.30OMDHug088222@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: 8bf426402870 - stable/13 - stand/userboot: Move to using common devparse() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8bf42640287058b8af67dbeef702a5d7a7fe6407 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8bf42640287058b8af67dbeef702a5d7a7fe6407 commit 8bf42640287058b8af67dbeef702a5d7a7fe6407 Author: Warner Losh AuthorDate: 2022-11-30 22:09:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand/userboot: Move to using common devparse() We no longer need to have to hand-code this for each boot loader since devparse() handles them all with dv_parsedev(). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37342 (cherry picked from commit 910de60a7e43c593b5126b2f1ee468c089c8116e) --- stand/userboot/userboot/devicename.c | 119 +---------------------------------- 1 file changed, 3 insertions(+), 116 deletions(-) diff --git a/stand/userboot/userboot/devicename.c b/stand/userboot/userboot/devicename.c index c8b46e7f590c..e6d7e9706c18 100644 --- a/stand/userboot/userboot/devicename.c +++ b/stand/userboot/userboot/devicename.c @@ -34,13 +34,6 @@ __FBSDID("$FreeBSD$"); #include "disk.h" #include "libuserboot.h" -#if defined(USERBOOT_ZFS_SUPPORT) -#include "libzfs.h" -#endif - -static int userboot_parsedev(struct devdesc **dev, const char *devspec, - const char **path); - /* * Point (dev) at an allocated device specifier for the device matching the * path in (devspec). If it contains an explicit device specification, @@ -60,7 +53,7 @@ userboot_getdev(void **vdev, const char *devspec, const char **path) (devspec[0] == '/') || (strchr(devspec, ':') == NULL)) { - rv = userboot_parsedev(dev, getenv("currdev"), NULL); + rv = devparse(dev, getenv("currdev"), NULL); if (rv == 0 && path != NULL) *path = devspec; return (rv); @@ -69,115 +62,9 @@ userboot_getdev(void **vdev, const char *devspec, const char **path) /* * Try to parse the device name off the beginning of the devspec */ - return (userboot_parsedev(dev, devspec, path)); + return (devparse(dev, devspec, path)); } -/* - * Point (dev) at an allocated device specifier matching the string version - * at the beginning of (devspec). Return a pointer to the remaining - * text in (path). - * - * In all cases, the beginning of (devspec) is compared to the names - * of known devices in the device switch, and then any following text - * is parsed according to the rules applied to the device type. - * - * For disk-type devices, the syntax is: - * - * disk[s][]: - * - */ -static int -userboot_parsedev(struct devdesc **dev, const char *devspec, - const char **path) -{ - struct devdesc *idev; - struct devsw *dv; - int i, unit, err; - const char *cp; - const char *np; - - /* minimum length check */ - if (strlen(devspec) < 2) - return (EINVAL); - - /* look for a device that matches */ - for (i = 0, dv = NULL; devsw[i] != NULL; i++) { - if (strncmp(devspec, devsw[i]->dv_name, - strlen(devsw[i]->dv_name)) == 0) { - dv = devsw[i]; - break; - } - } - if (dv == NULL) - return (ENOENT); - idev = malloc(sizeof(struct disk_devdesc)); - err = 0; - np = (devspec + strlen(dv->dv_name)); - - switch (dv->dv_type) { - case DEVT_NONE: /* XXX what to do here? Do we care? */ - break; - - case DEVT_DISK: - free(idev); - err = disk_parsedev(&idev, np, path); - if (err != 0) - goto fail; - break; - - case DEVT_CD: - case DEVT_NET: - unit = 0; - - if (*np && (*np != ':')) { - /* get unit number if present */ - unit = strtol(np, (char **)&cp, 0); - if (cp == np) { - err = EUNIT; - goto fail; - } - } else { - cp = np; - } - if (*cp && (*cp != ':')) { - err = EINVAL; - goto fail; - } - - idev->d_unit = unit; - if (path != NULL) - *path = (*cp == 0) ? cp : cp + 1; - break; - - case DEVT_ZFS: -#if defined(USERBOOT_ZFS_SUPPORT) - free(idev); - err = zfs_parsedev(&idev, np, path); - if (err != 0) - goto fail; - break; -#else - /* FALLTHROUGH */ -#endif - - default: - err = EINVAL; - goto fail; - } - idev->d_dev = dv; - if (dev == NULL) { - free(idev); - } else { - *dev = idev; - } - return (0); - -fail: - free(idev); - return (err); -} - - /* * Set currdev to suit the value being supplied in (value) */ @@ -187,7 +74,7 @@ userboot_setcurrdev(struct env_var *ev, int flags, const void *value) struct devdesc *ncurr; int rv; - if ((rv = userboot_parsedev(&ncurr, value, NULL)) != 0) + if ((rv = devparse(&ncurr, value, NULL)) != 0) return (rv); free(ncurr); From nobody Tue Jan 24 22:13:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7M2HT8z3bgTt; Tue, 24 Jan 2023 22:13: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 4P1h7M0gxdz3GbQ; Tue, 24 Jan 2023 22:13:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bB9HhcDpsqLGXt+3xeBFBP88uG7QXWtOSYuHzctBKkY=; b=raBzwtbzHO4BafrIESJVzWikHQeloez0RmO0t9KWxl8jKI3dllKzXd7BnzsBPPC5ZzvZI4 H3NYFx7R6EYebvhyik72VFBDUaQQXAFijiJNiGnFDn2WdV4xOs83FNEqKiSEZ7qGCpEav0 5+Kqjs5M1G3bnljQoj1YAMvFpeDh+mYKaaDLXY1xkWEXq+kf8MDrRewHm2GJ3cieMdmg+y ACxdMk7ZwfSQYzVjSxLzW422fS4toxowvw6TyodSyehBYNcG4xUhIdq3DEsc+ZsDMd+ZI1 HjuKdUjeZEyJOrpKyHHnEjzb+tNRuOCvKwBk4Nq5w5f1srAdQ43bAdL4QgCgoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bB9HhcDpsqLGXt+3xeBFBP88uG7QXWtOSYuHzctBKkY=; b=hRMxzSlZlapyto/ojt9zD4NlXduzuxe8FHXiQwLmriNoxxZygcAnwNpvDOvCBJVgcelHEh tb7tzkdx5M3sxzdOZfuAYsX0zigNCXePERV2HVX02xrTUjAJRTugETbdgAkRMOy1nTn/MW 4fTenzH+yeorqyZARxWN1Jm9ID44C7wzxFl8xN7rqpbO1QOT8FcuNqgw7FHFI5IBPUF59v Qvj6Rh0sdPh8otXRCJ+guLZWvBtTE1oB2QfR4ehQzNUwf82EXm6ZRBOWw6XlkhJBPAcggR 7ZllBQigV+L4xSfgVoOnS0bXbkgh22q9WJ41b67qdhBoiimKbsi4B1aILGTYDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598399; a=rsa-sha256; cv=none; b=y1BzbWR77Lq90g33SS1yTNj2FwpTcVHe525AvcPsc64xVYH3Bu4hyDpqm78PUgHugPTWFk lDiMll/yAh+wjS4iluIzyNCs06/9TkrtkAtK2hexcjDiJppSuleCgjirKs28cbQGQoCJNS jLsVSGoOTX6Qx4PAUqw8bPQXkY9luxE1Wol5Ey976IxOluGGIRG2yhMFqDdkxDeNXaYTqy g9ZJsGfKC8PGFtRlunhOnQ0eZXZJiNq6aKWnE1Dn1CxDUJTlgRwhb0+XgVPilrKmV0qDYP EuapOWWLwfP9Tixi76HsWHGPKb0gSEuX2l+nLU8L5+N3WHNTRTnTArDhBzXkUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7L6j3YzQk3; Tue, 24 Jan 2023 22:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDI5a088250; Tue, 24 Jan 2023 22:13:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDIbM088249; Tue, 24 Jan 2023 22:13:18 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:18 GMT Message-Id: <202301242213.30OMDIbM088249@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: 69814700c6fb - stable/13 - stand/ofw: Access the parsing routine more directly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 69814700c6fb327d9ea616572934806fc9b7a3ca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=69814700c6fb327d9ea616572934806fc9b7a3ca commit 69814700c6fb327d9ea616572934806fc9b7a3ca Author: Warner Losh AuthorDate: 2022-11-30 22:09:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand/ofw: Access the parsing routine more directly We don't need to check if something is a ZFS device. Instead, if the found device has a parse routine, call it. Otherwise, just copy the path. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37343 (cherry picked from commit d16083815caf32dd117487c709b33669cef4af6f) --- stand/libofw/devicename.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 292fba927d1a..f03703e3872f 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -31,7 +31,6 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "libofw.h" -#include "libzfs.h" static int ofw_parsedev(struct ofw_devdesc **, const char *, const char **); @@ -109,15 +108,16 @@ found: printf("ofw_parsedev: malloc failed\n"); return ENOMEM; } - strcpy(idev->d_path, name); idev->dd.d_dev = dv; - if (dv->dv_type == DEVT_ZFS) { + if (dv->dv_parsedev != NULL) { p = devspec + strlen(dv->dv_name); free(idev); - err = zfs_parsedev((struct devdesc **)&idev, p, path); + err = dv->dv_parsedev((struct devdesc **)&idev, p, path); if (err != 0) { return (err); } + } else { + strcpy(idev->d_path, name); } if (dev == NULL) { From nobody Tue Jan 24 22:13:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7N2gNbz3bgTx; Tue, 24 Jan 2023 22:13: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 4P1h7N1qkDz3Gdw; Tue, 24 Jan 2023 22:13:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=apADyE1YZT2benFmtVUXr3GTRBgLsnRvD7ckkH0Skuw=; b=fRxwKfjIGAZmC9XwOY8eaC7SC4adm3enag6s4Y0ixXE3CG19aaCLwz8AMglabEbVuArOWE eYNFuZtpHHH0kjIlKFDsvGQ+DNHqpZMkALAV/1tGaD7dbF3JJYCVhtVRctfVtW7EoQb+bQ MP/voeCC0xpEo02pHwhILkBq8FgM7WTlJFJGdTbrpxD4ZiWADsOioeEVslvFubHO17cP+Y jT/NPgMFFnzfWQvs7tDUIpt0fEDcMTiLum470xLTbCAWtn1ZUjwFQ/aP9cF76omUFjo6Pz wPWfJOC3Zdg2VmG0QFQBf64UY+C0IazZreoAkDDIwEJw+irR96LUC0agmi1FZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=apADyE1YZT2benFmtVUXr3GTRBgLsnRvD7ckkH0Skuw=; b=OwVcyMqmxV81N51muSFsYAqgCldZhdIVAfltOJNXgYuvLx/Uh7zOuiTER4UtFslletvlRS GDDBa8OYMatTMLADbSxOo3/sUTat8QUTVYFNS+hOQ7ApJhORQcm+Dx8cpv1JMF9F8CE8yb ydELaHoqbvP06MhihfPie/cGn5FqEHVxbYjDw1a42ctDf+SSAdxo+Ymu5xVGo2RtBovItj 7Tpz4XHgkKraskoThercMo7fWfUNOgFbDPpAXl47MSHXgV9pH4y51Tbp0HZnbUATY465wV UqceoD63jWZQuJaK/se9FA6toPK8P6XFkfjGclYYYdA0vrVFGZ8NY0tOrurhHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598400; a=rsa-sha256; cv=none; b=cG3dXvBYC3yy3yNqw6sBfvlJ07PMmODj10ODwQXKp7C/DDE8TDXMUt82a9O5PiJIx58EQu 9SOy6L4t3+4QgsakIVjr+5Wdz0GweNfOyR+UzWH3ng/XRebh6YM/X5KW11p/Vx1XpjnWez WY4qKLQRf1SA7idMQK3akjVDEIuievQHTjpG4y2VUeJ2ysrpyLl+mVn39YXRGKQvxSVvYx /Oa9viN5FFVCZCQPnCi7+DuMw0S6ruzmZpBHKUss9Hwt7ujHPZKL/GZjWffcWYobIM43uF /9CWkFoVrI/oXoMtLlJ6Mzg7IumZx4vvTrm/JxBapbDqbM9HD/EIGBr2FhkVeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7N0nkkzQq2; Tue, 24 Jan 2023 22:13:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDKJQ088279; Tue, 24 Jan 2023 22:13:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDKlK088278; Tue, 24 Jan 2023 22:13:20 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:20 GMT Message-Id: <202301242213.30OMDKlK088278@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: e78a4b39013d - stable/13 - stand: make zfs_parsedev static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e78a4b39013de37b8d998fec5b6c314419037889 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e78a4b39013de37b8d998fec5b6c314419037889 commit e78a4b39013de37b8d998fec5b6c314419037889 Author: Warner Losh AuthorDate: 2022-11-30 22:09:14 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand: make zfs_parsedev static It's now unreferenced outside of zfs.c. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37344 (cherry picked from commit 90412431fe1bf5f4a10b68c7938b0fc9f11dc4a2) --- stand/libsa/zfs/devicename_stubs.c | 7 ------- stand/libsa/zfs/libzfs.h | 2 -- stand/libsa/zfs/zfs.c | 5 ++++- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/stand/libsa/zfs/devicename_stubs.c b/stand/libsa/zfs/devicename_stubs.c index 4b1ebca8e5a3..44df5251118a 100644 --- a/stand/libsa/zfs/devicename_stubs.c +++ b/stand/libsa/zfs/devicename_stubs.c @@ -30,13 +30,6 @@ __FBSDID("$FreeBSD$"); #include #include "libzfs.h" -__attribute__((weak)) -int -zfs_parsedev(struct devdesc **dev, const char *devspec, const char **path) -{ - return (EINVAL); -} - __attribute__((weak)) char * zfs_fmtdev(struct devdesc *vdev) diff --git a/stand/libsa/zfs/libzfs.h b/stand/libsa/zfs/libzfs.h index a8ce762d2bc2..b6b6cd78f073 100644 --- a/stand/libsa/zfs/libzfs.h +++ b/stand/libsa/zfs/libzfs.h @@ -48,8 +48,6 @@ struct zfs_devdesc { uint64_t root_guid; }; -int zfs_parsedev(struct devdesc **dev, const char *devspec, - const char **path); char *zfs_fmtdev(struct devdesc *); int zfs_probe_dev(const char *devname, uint64_t *pool_guid); int zfs_list(const char *name); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 96b0509149f8..db4bed7f7697 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -66,6 +66,9 @@ static void zfs_bootenv_initial(const char *envname, spa_t *spa, static void zfs_checkpoints_initial(spa_t *spa, const char *name, const char *dsname); +static int zfs_parsedev(struct devdesc **idev, const char *devspec, + const char **path); + struct devsw zfs_dev; struct fs_ops zfs_fsops = { @@ -1629,7 +1632,7 @@ struct devsw zfs_dev = { .dv_parsedev = zfs_parsedev, }; -int +static int zfs_parsedev(struct devdesc **idev, const char *devspec, const char **path) { static char rootname[ZFS_MAXNAMELEN]; From nobody Tue Jan 24 22:13:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7P3CF2z3bgWs; Tue, 24 Jan 2023 22:13: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 4P1h7P2l46z3GcS; Tue, 24 Jan 2023 22:13:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdYhB0hlfkcbb03XSoYd8EGNiV6yuC4CGoD9Mil2B9E=; b=c37FBYmN4d5l91BrGX54IOaKXhP1w0iJPxnsLTbpehEU95jECBhE7dagF/Ay6240yPbkvS h5Gnv/w3+KVtxI9ESUxdSMZnqPGtVCrc5Sm1wMXW2wHPV6iNnTkKkC9WWokpU6oZTQ5ckA pzNqBmTeF72hi2wyRVpr48xZJFvkjP44yAki9OP4pra+ji2WPHOvc9NSfbk3qFtnZW9lQS mfYElSNeXhSlprk63DGLtnXwgLTHeRCDcuNSKhLVT3IkeOV8X5/0ZX2g2j4E8kzh8/w3UJ bdgwSvcVWBDvzirWrdkZ7RIIKaVEHg/Ta2mDHbJi3PTj0Cz4tcWHS75Di8Y2Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdYhB0hlfkcbb03XSoYd8EGNiV6yuC4CGoD9Mil2B9E=; b=uBEgDvPhhPaYgalnhDwFVepmb5uVKf9ZVlj+ZW8J/SYhK1JqMAFHhGodVImdrMEd0BxjQV uV102fod9dfNRrY4kQYbG/WCFZJq5XRzuBy7H0fNIuZOfGICXJdmEZpfOS+qNrgCpfC90D zIDm8+FV6E6rcDZ+D+cUEWRSsMalwzjKPlLMKSiDIYz49mx0E/vzNLNwXphaEpCivOCHSC kSx06aaVTjv/bVZsoHkr975cMQjUBgVJSRThfVJKIquUPuoE6vay7WJoEZ+/qKAeBj0yPi 6uXNR6DtRvDAE2LId1YlaGFQX9coWTg4OC4fwiZYJnbnFSu72m0Bt4hlCOtzow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598401; a=rsa-sha256; cv=none; b=pBp5lyH9h6cLHlf8Ythw+PVTAilJr7W2rK9nXxACwxbNhfkmNaGZ579IGF1dslqMaMfEOU NVPVhdUcmcWov310thUXkdFyswqJeGuk8oYMz+9TG1n/ahtbkaARBEgJ8Zw39C9/dwcH0A ZUJrvDyDhaCeY66E8WyM5wvvPnhT/VBTleHD/ywkdusX7/WEaGbN3BpRw69Jln5GrQvqHe /eq13rjVRg7RvXgHI/LuaYKJcWVE3RZu8OeqX0uNnzIBw/LmJzVIjBgo3nLvdI4buje9Qp XHB2p8Y9d9L+D25VaMcrzK6cUA/5LzJTqXS/2JyivaSXrYl+hQxA8aR5XPXTvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7P1qLMzQh1; Tue, 24 Jan 2023 22:13:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDLRT088304; Tue, 24 Jan 2023 22:13:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDLcL088303; Tue, 24 Jan 2023 22:13:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:21 GMT Message-Id: <202301242213.30OMDLcL088303@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: e75f304a5e97 - stable/13 - zfs: Remove devicename_stubs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e75f304a5e97681a7cde0033bcce539ce9fa283b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e75f304a5e97681a7cde0033bcce539ce9fa283b commit e75f304a5e97681a7cde0033bcce539ce9fa283b Author: Warner Losh AuthorDate: 2022-11-30 22:09:18 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 zfs: Remove devicename_stubs We no longer need the zfs stubs since we're no longer referencing these functions outside of zfs.c. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37345 (cherry picked from commit bb9f61da17f66352a344e14c4d32fda83126827b) --- stand/i386/libi386/Makefile | 5 ----- stand/libofw/Makefile | 4 ---- stand/libsa/zfs/devicename_stubs.c | 40 -------------------------------------- 3 files changed, 49 deletions(-) diff --git a/stand/i386/libi386/Makefile b/stand/i386/libi386/Makefile index 1b23cd53d137..2b2cfd82812e 100644 --- a/stand/i386/libi386/Makefile +++ b/stand/i386/libi386/Makefile @@ -10,9 +10,6 @@ SRCS= bio.c biosacpi.c biosdisk.c biosmem.c biospnp.c \ elf64_freebsd.c multiboot.c multiboot_tramp.S relocater_tramp.S \ i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.S \ time.c vidconsole.c vbe.c amd64_tramp.S spinconsole.c -.PATH: ${ZFSSRC} -SRCS+= devicename_stubs.c -CFLAGS+= -I${ZFSSRC} .PATH: ${SYSDIR}/teken SRCS+= teken.c @@ -44,8 +41,6 @@ CFLAGS+= -Dalloca=__builtin_alloca CFLAGS+= -I${BOOTSRC}/ficl -I${BOOTSRC}/ficl/i386 \ -I${LDRSRC} -I${BOOTSRC}/i386/common \ - -I${SYSDIR}/cddl/boot/zfs \ - -I${SYSDIR}/cddl/contrib/opensolaris/uts/common \ -I${SYSDIR}/contrib/dev/acpica/include # Handle FreeBSD specific %b and %D printf format specifiers diff --git a/stand/libofw/Makefile b/stand/libofw/Makefile index 2d3e30e1ace9..0406224040e3 100644 --- a/stand/libofw/Makefile +++ b/stand/libofw/Makefile @@ -7,10 +7,6 @@ LIB= ofw SRCS= devicename.c ofw_console.c ofw_copy.c ofw_disk.c \ ofw_memory.c ofw_module.c ofw_net.c ofw_reboot.c \ ofw_time.c openfirm.c -.PATH: ${ZFSSRC} -SRCS+= devicename_stubs.c -CFLAGS+= -I${ZFSSRC} -I${SYSDIR}/cddl/boot/zfs -CFLAGS+= -I${SYSDIR}/cddl/contrib/opensolaris/uts/common # Pick up the bootstrap header for some interface items CFLAGS+= -I${LDRSRC} diff --git a/stand/libsa/zfs/devicename_stubs.c b/stand/libsa/zfs/devicename_stubs.c deleted file mode 100644 index 44df5251118a..000000000000 --- a/stand/libsa/zfs/devicename_stubs.c +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 2012 Andriy Gapon - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include "libzfs.h" - -__attribute__((weak)) -char * -zfs_fmtdev(struct devdesc *vdev) -{ - static char buf[128]; - - return (buf); -} From nobody Tue Jan 24 22:13:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7Q5Wxdz3bg8s; Tue, 24 Jan 2023 22:13: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 4P1h7Q3dfvz3GdC; Tue, 24 Jan 2023 22:13:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ykk9sE2e5iymGRou3nv7Q9B988dNFM7K/HOOqUhQhQ=; b=L5Uz6qZRokLmgIoRAgV49ewnBnte6nssyhrLfX5OSJ7FZuurWzchLwUSnBHRdy+NH10Cf/ t7XGrvhtZTT/GAVtyX0h1T3J4oBu6She2NkkGV1jd8OsvYVPGIhy179EYHsBI1yxtcJApj 2RR/o/w3ENsKEet6aQplglLwRv1JaQd7fpJNsfHZm2Ru7JnrR4mZWKkqqAogsW890Hf3N6 YyYDfXWGtdcIAzKDCg5WEnef1LDwm/MWQSg50ZhzOLag0rKWivhrPGkLQ7s89UsdYs6cvH kHkekgPKSuKkiAj5LnyfhbmPsn084nSVn/VmtrEW9OCikrZiIK/Zbhh+4CHtnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ykk9sE2e5iymGRou3nv7Q9B988dNFM7K/HOOqUhQhQ=; b=vTurUMpssvgYxUW5X49sLiB6Dc9P67GIhKhgDOw4alz+1nlTPx2nOOMlfTC5Dbz5YeLE7g hL7JlJFTBF0WvgwgPxo5DFLy531xL7Idwr7f9od8itRc1QqQunJa4LDEhu6ge7Hg5V9RMa AwRJDO3zAXk48nJ4W8dUohI1RfaUfTfX3o/ngqbePPDR1CMZNSH2qn6dYGpljm6xJZNWa1 SrD+t+h/dFxMf/XBFuJhREZ4hK69QvS38od61HvdgKK6S5sugloSHUEXBq0gVrdKuqy7H3 rAlghPh8wEbfA9+12cJU2S8IUAhg1iy3ZUAsSd0b+WKoAKT2P7QSmRwY5yYITQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598402; a=rsa-sha256; cv=none; b=YYwNMpGlb9gBBlH+7ZoZP/wYSANly4VOP1cUDFoCoij6OJSlyIt9e9MOHZIdg95M9UlI0i ersXXH9DgBU6d8RmAunpud5QVH3NlZGAkqv8BrkE+0aAjxPTNxdZGmrD6tSkLn2HhOl+Ru TbqbNpqcfNj/il52UsUvmWNmh6c3mLSHMlBkH85yAClbHfjNllJqN0leHonzUNeUitHxW+ vgOWAf3mupJ+M9PTODjoLca3VNPQmmd6YGX96gat9E4wIFMRCrXm1a7Sd27EOT9hMiiw8A PYs0BJT+rKAF0xpL9Ca5vcWtQ/MRm2Oahq5xOIT2ArjukHiEqvapHis1VWNSrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7Q2j9czQYh; Tue, 24 Jan 2023 22:13:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDMMa088334; Tue, 24 Jan 2023 22:13:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDMxL088333; Tue, 24 Jan 2023 22:13:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:22 GMT Message-Id: <202301242213.30OMDMxL088333@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: b148cd6c8c5b - stable/13 - stand/ofw: ofw_disk isn't really a disk List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b148cd6c8c5b0b88df1ac16b3fd61441e293daec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b148cd6c8c5b0b88df1ac16b3fd61441e293daec commit b148cd6c8c5b0b88df1ac16b3fd61441e293daec Author: Warner Losh AuthorDate: 2022-11-30 22:09:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand/ofw: ofw_disk isn't really a disk The rest of the code in the tree assumes that a DEVT_DISK uses a disk_devdesc to represent the device. However ofw_disk diesn't, so we can't use disk_fmtdev, nor disk_parsedev. ofw needs to have a dv_match-like routine to use devpasrse, though, since we have two drivers (net and block) that claim the same sort of devices (eg /path/to/ofw-dev) based on the device-type property. In the interim, we can't use devmatch and ofw_disk's and the default net driver's parsing is offloaded ofw_parsedev. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37347 (cherry picked from commit daaf594e8469b1fb4fb7861c2f7129f4d61c6d4d) --- stand/libofw/libofw.h | 2 ++ stand/libofw/ofw_disk.c | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/stand/libofw/libofw.h b/stand/libofw/libofw.h index 0483c9dbf754..59c7ec1fa6b7 100644 --- a/stand/libofw/libofw.h +++ b/stand/libofw/libofw.h @@ -28,6 +28,8 @@ #include "openfirm.h" #include +#define DEVT_OFDISK 1001 + struct ofw_devdesc { struct devdesc dd; union { diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 524bc7b77d5c..8f4c0162d32b 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -49,10 +49,12 @@ static int ofwd_open(struct open_file *f, ...); static int ofwd_close(struct open_file *f); static int ofwd_ioctl(struct open_file *f, u_long cmd, void *data); static int ofwd_print(int verbose); +static char * ofwd_fmtdev(struct devdesc *); + struct devsw ofwdisk = { .dv_name = "block", - .dv_type = DEVT_DISK, + .dv_type = DEVT_OFDISK, .dv_init = ofwd_init, .dv_strategy = ofwd_strategy, .dv_open = ofwd_open, @@ -60,8 +62,7 @@ struct devsw ofwdisk = { .dv_ioctl = ofwd_ioctl, .dv_print = ofwd_print, .dv_cleanup = nullsys, - .dv_fmtdev = disk_fmtdev, - .dv_parsedev = disk_parsedev, + .dv_fmtdev = ofwd_fmtdev, }; /* @@ -185,3 +186,10 @@ ofwd_print(int verbose __unused) { return (0); } +static char * +ofwd_fmtdev(struct devdesc *idev) +{ + struct ofw_devdesc *dev = (struct ofw_devdesc *)idev; + + return (dev->d_path); +} From nobody Tue Jan 24 22:13:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7S0XXBz3bgM0; Tue, 24 Jan 2023 22:13: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 4P1h7R4Zn5z3GNn; Tue, 24 Jan 2023 22:13:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bg10cy59EeEfnLSPsI8c8Fz2PhE9Y8HDiADq5V7a1QU=; b=SogiE2jmePQbaWxKjhIfzTLx7morJ1YcPV5Mn3fABvBoL6zE670DqRdauhEJys6nn5s0fc N15yh7/9kwxX79nsxeodRSlX2ZsashwsBi3o8p1nLoB186tF3Ydgz/anIvqU6P0L2UY+Uj THJD0toc25RRuVFaD2pbsEITkb2tc3S5+PwtEpERUd/sxP6czwPUg1YCM5asUzBRhXgw/M kMnjGIwpr5HAPCJbgNcJ0SniBqMIROoSGAJAQNlnSMEwVJOf9VaRAbxORLYU4ytdQ16NJX jBSh2c/3ymQaOgHO723aKcwgzaqOsmv2DJMsR7FmS4whJtW8dDO84tmOkcIMqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bg10cy59EeEfnLSPsI8c8Fz2PhE9Y8HDiADq5V7a1QU=; b=xTRGo+Bv6EgaLOIbLkc72rwGdRd2VIRgUpcOKB8WRl2EDoxEc1swq7JrybRjzZPsNR1G4P v39mub5jeaVxycfcepx1DSleKIDiypzte7zycAiBsBZYtFIoZu5Y6rsR4FHkxIdWGpOww2 /LrHWVJBQ8RFqUsX+v+rN6FVbXhUD1bTnDxVuKm/HJjJr/Zo75Chuy0lAe0dmprzalbHvK kzXVuGBcvjIsDCvYF0XC6nHjPa7d+RPqwYvDnmYXkrIn+XMORTqXmwcCXQiEcOZv7c4xB5 8XcjcR1HA+ssbxtV4Hob46kB9dY1t/2qrBepzHWYBIOBh2gBBPMgMUcfvn5L4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598403; a=rsa-sha256; cv=none; b=q8nNr3ul//upbCNlLJcHrLLM/JjpqjNyJ7bDOJ/Zc5IYMmVT0zgUB0SSLF0BOJefkxTg4m 86U91/U3nCGFWI+2nvWTXR1JNKm7v70CHRzJ1c8DoJyNrjL5vS9ka3kUUhHpXCJul7vOz3 f/5ktnX+AsVHcdWR+fBf0anexdRFC8BeEm3z/B861zhi7p78oogUW7AfsqOEvmCP0CvSWn 20N/6whDCwCtmciAj9IbojtpMFnv9rRN4cA8XMyVEGOB6RNQUMl0iOTGuUPsENkBxFdJNw 3sc+Fg7/0uUHcLOmcFZPh0XkfsJyOTZfPS/3S4pbMdnn8ADvTwRtgRb6csadHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7R3hk4zQh5; Tue, 24 Jan 2023 22:13:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDNqb088360; Tue, 24 Jan 2023 22:13:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDNRK088359; Tue, 24 Jan 2023 22:13:23 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:23 GMT Message-Id: <202301242213.30OMDNRK088359@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: 31cf842a96da - stable/13 - stand: create devinit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 31cf842a96da02e198590d93f7577c1621035d7b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=31cf842a96da02e198590d93f7577c1621035d7b commit 31cf842a96da02e198590d93f7577c1621035d7b Author: Warner Losh AuthorDate: 2022-11-30 22:09:29 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand: create devinit devinit() marches through all the devices, calling the inint routines if any exist. Replace all the identical copies of this code. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37349 (cherry picked from commit 66012c8fc4f92b80a61405dc7e206617e9f08920) --- stand/efi/loader/main.c | 4 +--- stand/i386/loader/main.c | 9 +-------- stand/i386/zfsboot/zfsboot.c | 4 +--- stand/libsa/dev.c | 18 ++++++++++++++++++ stand/libsa/libsa.3 | 8 ++++++++ stand/libsa/stand.h | 1 + stand/powerpc/ofw/main.c | 7 +------ stand/userboot/userboot/main.c | 8 +------- 8 files changed, 32 insertions(+), 27 deletions(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 5edc06c9e0d5..85c545e0e72f 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -991,9 +991,7 @@ main(int argc, CHAR16 *argv[]) "failures\n", i); } - for (i = 0; devsw[i] != NULL; i++) - if (devsw[i]->dv_init != NULL) - (devsw[i]->dv_init)(); + devinit(); /* * Detect console settings two different ways: one via the command diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 15d1c312b278..861e08e7569c 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -96,8 +96,6 @@ ptov(uintptr_t x) int main(void) { - int i; - /* Pick up arguments */ kargs = (void *)__args; initial_howto = kargs->howto; @@ -244,12 +242,7 @@ main(void) import_geli_boot_data(gbdata); #endif /* LOADER_GELI_SUPPORT */ - /* - * March through the device switch probing for things. - */ - for (i = 0; devsw[i] != NULL; i++) - if (devsw[i]->dv_init != NULL) - (devsw[i]->dv_init)(); + devinit(); printf("BIOS %dkB/%dkB available memory\n", bios_basemem / 1024, bios_extmem / 1024); diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index ea390b6ea7a6..1d64ace063e0 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -211,9 +211,7 @@ main(void) env_setenv("currdev", EV_VOLATILE, "", i386_setcurrdev, env_nounset); - for (i = 0; devsw[i] != NULL; i++) - if (devsw[i]->dv_init != NULL) - (devsw[i]->dv_init)(); + devinit(); /* XXX assumes this will be a disk, but it looks likely give above */ disk_parsedev((struct devdesc **)&devdesc, boot_devname + 4, NULL); diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index c0bcce07718b..158b4d69381b 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -149,3 +149,21 @@ devparse(struct devdesc **dev, const char *devspec, const char **path) free(idev); return (0); } + +int +devinit(void) +{ + int err = 0; + + /* + * March through the device switch probing for things. + */ + for (int i = 0; devsw[i] != NULL; i++) { + if (devsw[i]->dv_init != NULL) { + if ((devsw[i]->dv_init)() != 0) { + err++; + } + } + } + return (err); +} diff --git a/stand/libsa/libsa.3 b/stand/libsa/libsa.3 index 210f54a5aa6a..fcfd22cbf0d0 100644 --- a/stand/libsa/libsa.3 +++ b/stand/libsa/libsa.3 @@ -537,6 +537,14 @@ is non-NULL, then a pointer to the remainder of the .Dv devdesc string after the device specification is written. .It Xo +.Ft int +.Fn devinit void +Calls all the +.Fa dv_init +routines in the +.Dv devsw +array, returning the number of routines that returned an error. +.It Xo .Ft void .Fn twiddle void .Xc diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 6e52325ec166..660337db6980 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -188,6 +188,7 @@ struct devdesc { char *devformat(struct devdesc *d); int devparse(struct devdesc **, const char *, const char **); +int devinit(void); struct open_file { int f_flags; /* see F_* below */ diff --git a/stand/powerpc/ofw/main.c b/stand/powerpc/ofw/main.c index 81195d3f2444..177e665a4dc7 100644 --- a/stand/powerpc/ofw/main.c +++ b/stand/powerpc/ofw/main.c @@ -182,12 +182,7 @@ main(int (*openfirm)(void *)) /* Set up currdev variable to have hooks in place. */ env_setenv("currdev", EV_VOLATILE, "", ofw_setcurrdev, env_nounset); - /* - * March through the device switch probing for things. - */ - for (i = 0; devsw[i] != NULL; i++) - if (devsw[i]->dv_init != NULL) - (devsw[i]->dv_init)(); + devinit(); printf("\n%s", bootprog_info); printf("Memory: %lldKB\n", memsize() / 1024); diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index 9ede0cd360e9..6ec5c5ddbbb6 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -206,13 +206,7 @@ loader_main(struct loader_callbacks *cb, void *arg, int version, int ndisks) * Initialise the block cache. Set the upper limit. */ bcache_init(32768, 512); - /* - * March through the device switch probing for things. - */ - for (i = 0; devsw[i] != NULL; i++) - if (devsw[i]->dv_init != NULL) - (devsw[i]->dv_init)(); - + devinit(); extract_currdev(); /* From nobody Tue Jan 24 22:13:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7S66f7z3bgRq; Tue, 24 Jan 2023 22:13: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 4P1h7S5c1Qz3GtY; Tue, 24 Jan 2023 22:13:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SOp7KSqila1OgMPHi7TILufQN6b39nAJyaWObVmz8/U=; b=kSDtc72mrx+3eUjTPBtCZyGEtLQL2xEORxugro3L57rkAW5CBDTj5wEbuB4AW1jgzQyDOS OF1gsLoU7HLY46YTFRHTIOnCYr2bYD15THzOPx0VJeFwd/lZy9HDt7q3pjCKyTqEjm5k4U vGugmgcmXR3w2wNt8bOS0iOAtw37rNCE6K62ZhU6mVAPDniMUtIvtpB6Mg4XmvuR5mfxUI PBdJlrxydZQSZWAkyVDe1Qs6YASNAyp1cBP+EyXoMKBnt5hwMVLgFXF10jcwCqGkm2TBSe K6rQ5OpOsWk4F+xTkR5LbKpk2EEsoM9T9eQXazNjjz73W7AUy0tEvnEH3AoBRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SOp7KSqila1OgMPHi7TILufQN6b39nAJyaWObVmz8/U=; b=jtJ06zrZ37xAG+9y2pYViHfUQ/MdEtCZajD7yFyGWAZdYRI+s5v6d9psE/mAz1FyUWDSmC tkkAS6/U5AnA6bffWfd8j7UFxxwX7E/jxK+7L1/+0Vk+GaGkJRyxNQJW+yZbgoUjA67FT8 o3RbajE7+y1/diH8LnNzW/0LjEmnLOStTzJqGPiaEzLl3x1U1SL9EjuDc6BTsCNxhlxymJ Z66bMUneFux8fX7uw6PfZwTlu9vIeJtNXeFalmizLHAS+6HGndeKAfOGVaq95QOLQpPz0J 5hXAgHbcj0UklF1i0MDoaouAHlSFJh8ORyFg/ovSP/0dMR/MLpUcBxzUe2eQeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598404; a=rsa-sha256; cv=none; b=fscTY92eap9z2thVU3lNfRxbleeOWY909mkZoVFASZmCscVgSV4Tzq65+wymaeMBVD9Go6 yp94AM8mIjzxSx4BzyO7GHg7XtjIymNcq+Lz+utjsZ0zVnND8uKB+UG4NvCkjKK7RcnXJM Qs9kS/xX12o4UPCVOTIO97qZQaXVG0eqHOb9sKhJdk5wPfp0Ymmu5S0MY4tSLWogrcCO5H 7jMNx89W0wPcAw29DUzfQpTL6f9+WViuUaOnFn6YKAETCajnMlDuH0zagdjV4Kbg9MO4PW 701dE/+qvc+liCEdOAxYFEn8FF0Sz+LpUQ3wWFI+WaD+1Ut1YYy/Cauor0GMoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7S4k0QzQYj; Tue, 24 Jan 2023 22:13:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDOfi088385; Tue, 24 Jan 2023 22:13:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDOhA088384; Tue, 24 Jan 2023 22:13:24 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:24 GMT Message-Id: <202301242213.30OMDOhA088384@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: 62f382631793 - stable/13 - stand: parsedev API change: devspec now points to start of full device name List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 62f38263179338f551110a14f14d47a62309fbb8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=62f38263179338f551110a14f14d47a62309fbb8 commit 62f38263179338f551110a14f14d47a62309fbb8 Author: Warner Losh AuthorDate: 2022-11-30 22:09:36 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:39 +0000 stand: parsedev API change: devspec now points to start of full device name To support more flexible device matching, we now pass in the full devspec to the parsedev routines. For everything execpt uboot, this is just a drop in (since everything except uboot and openfirmware always uses disk...: and/or zfs:, but openfirmware isn't really affected). uboot we kludge around it by subtracting 4 from where the rest of the device name starts. This is unforunate, and can compute the address one before the string. But we never dereference that address. uboot needs more work, and this is an acceptable UB until that other work happens. OFW doesn't really use the parsedev routines these days (since none of the supported device uses this... yet). It too needs more work, but it needs device matching support first. Sponsored by: Netflix Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D37553 (cherry picked from commit 33bbe5ddcbbce03b6395a4948927643107b55c06) --- stand/common/disk.c | 2 +- stand/i386/zfsboot/zfsboot.c | 2 +- stand/libofw/devicename.c | 2 +- stand/libsa/dev.c | 2 +- stand/libsa/zfs/zfs.c | 4 ++-- stand/uboot/devicename.c | 2 +- stand/uboot/main.c | 8 +++++++- 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index 653f971d46b8..eecf519c52aa 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -420,7 +420,7 @@ disk_parsedev(struct devdesc **idev, const char *devspec, const char **path) char *cp; struct disk_devdesc *dev; - np = devspec; + np = devspec + 4; /* Skip the leading 'disk' */ unit = -1; /* * If there is path/file info after the device info, then any missing diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index 1d64ace063e0..c6305b41493e 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -214,7 +214,7 @@ main(void) devinit(); /* XXX assumes this will be a disk, but it looks likely give above */ - disk_parsedev((struct devdesc **)&devdesc, boot_devname + 4, NULL); + disk_parsedev((struct devdesc **)&devdesc, boot_devname, NULL); bootdev = MAKEBOOTDEV(dev_maj[DEVT_DISK], devdesc->d_slice + 1, devdesc->dd.d_unit, diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index f03703e3872f..ecf966506194 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -112,7 +112,7 @@ found: if (dv->dv_parsedev != NULL) { p = devspec + strlen(dv->dv_name); free(idev); - err = dv->dv_parsedev((struct devdesc **)&idev, p, path); + err = dv->dv_parsedev((struct devdesc **)&idev, devspec, path); if (err != 0) { return (err); } diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index 158b4d69381b..b16637181059 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -134,7 +134,7 @@ devparse(struct devdesc **dev, const char *devspec, const char **path) idev = NULL; err = 0; if (dv->dv_parsedev) { - err = dv->dv_parsedev(&idev, np, path); + err = dv->dv_parsedev(&idev, devspec, path); } else { np = devspec + strlen(dv->dv_name); err = default_parsedev(&idev, np, path); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index db4bed7f7697..d7aecc71ab5c 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -385,7 +385,7 @@ zfs_mount(const char *dev, const char *path, void **data) int rv; errno = 0; - rv = zfs_parsedev((struct devdesc **)&zfsdev, dev + 3, NULL); + rv = zfs_parsedev((struct devdesc **)&zfsdev, dev, NULL); if (rv != 0) { return (rv); } @@ -1644,7 +1644,7 @@ zfs_parsedev(struct devdesc **idev, const char *devspec, const char **path) int rv; struct zfs_devdesc *dev; - np = devspec; + np = devspec + 3; /* Skip the leading 'zfs' */ if (*np != ':') return (EINVAL); np++; diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c index 8f867406e6fa..075880baa59f 100644 --- a/stand/uboot/devicename.c +++ b/stand/uboot/devicename.c @@ -116,7 +116,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec, #ifdef LOADER_DISK_SUPPORT case DEVT_DISK: free(idev); - err = disk_parsedev((struct devdesc **)&idev, np, path); + err = disk_parsedev((struct devdesc **)&idev, devspec, path); if (err != 0) goto fail; break; diff --git a/stand/uboot/main.c b/stand/uboot/main.c index cf41917d6ee5..58de335edf7f 100644 --- a/stand/uboot/main.c +++ b/stand/uboot/main.c @@ -233,11 +233,17 @@ get_load_device(int *type, int *unit, int *slice, int *partition) * parse the remainder of the string as such, and if it works, return * those results. Otherwise we'll fall through to the code that parses * the legacy format. + * + * disk_parsedev now assumes that it points to the start of the device + * name, but since it doesn't know about uboot's usage, just subtract 4 + * since it always adds 4. This is the least-bad solution since it makes + * all the other loader code easier (might be better to create a fake + * 'disk...' string, but that's more work than uboot is worth). */ if (*type & DEV_TYP_STOR) { size_t len = strlen(p); if (strcspn(p, " .") == len && strcspn(p, ":") >= len - 1 && - disk_parsedev((struct devdesc **)&dev, p, NULL) == 0) { + disk_parsedev((struct devdesc **)&dev, p - 4, NULL) == 0) { /* Hack */ *unit = dev->dd.d_unit; *slice = dev->d_slice; *partition = dev->d_partition; From nobody Tue Jan 24 22:13:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7V032Yz3bgLX; Tue, 24 Jan 2023 22:13: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 4P1h7T6SQ9z3Gkl; Tue, 24 Jan 2023 22:13:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=94pxIxkcRkexLmhQDfTGr7gZZEb0O0ybHpdTEqhJSCI=; b=hlwRrMKXKW4xI80Ifsd0uwFfTGf00LLNJ1vhoAFAK+GTFAVxmgGY7QidwBFZMgbVsYISJc 4t50bn2FVBS07BcKvOA76CukA7epaJmGW8Yvk+1sN6ixvt1ceJ2afwv/GWkzmWBi15/cg5 7XxWHgU9KPxlvhGUl/KvfwKlB7PomLQ1B+teBnfHgn+B10AVH0HaLjMONi+PZymr524lEL 419gjwRcf0FvbDL1wHgqwh4in5ir/N7PPzfJCOfusaC6UHMpE8aR4YmNdWHaLm9teZN51A AJGbtvR+8mwQzhZXLq51eABcpMXOWsUWwSuAXocC8feJPtaPXMJ5c8X70QLOUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=94pxIxkcRkexLmhQDfTGr7gZZEb0O0ybHpdTEqhJSCI=; b=QeJeprNvRtvsHInoiYWe/92GWSddMhrkIBe+NuwGQyd+wfIjyAPv3pcb2Xc1YQVJadLWLx y06wE/byQuHm93KZIS7KGVHfQiji8zTG+J3LY0uni1BNy7A6NsUjVplkwjDO+ex2vxU5YN GzW77baLDpeY9EIYAuaSYoke6Kzjkuzyd1HYBfKE+RGVkLu0o7octXXhTe/YQH59YDC94c EawmmRNclSlrWcGT+WYbmrUvdkm2gaRe3yB3/Sldy0aaCUNjPkQBSOgkXGUNOrjynYkQ3J K51blw0bDYhsLO30DEmbvqqtbs2RHMLyTZiwIkZTC00GGnn3pybZIrFjJnZzjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598405; a=rsa-sha256; cv=none; b=W91tkZ6MyF+VY7qlWfYmEQO5PWr1Fsc7Gmhi5eJ486zkEm8m+CyZtH62PfOyh3yO1xTZ4L AR5Z6anoGb0XS9sli9mr7hHuRAACjidb6pOjtnNAKR8c5RXHDwNuERQXprnwqPDgFTIsRK pThLmA514cS0aw4RZLS5d5cU9Zf/nnTOn3+bQEseiM9RDN1HZdLJIFIbrxepDWiKgxxCwe KEHS4zRoYI1kWK+HsHifA6JOgg2g4vxTafdWCyFUsNaFFFJlHqBQevMPNTgOxlrgKxI4yM ZwXStca7okrguZOBA3IYKowxFFLlysbvNQ9rrlJ5/DSmNVYuMRxpoANemXItNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7T5Y50zQmT; Tue, 24 Jan 2023 22:13:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDP5c088413; Tue, 24 Jan 2023 22:13:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDPpg088412; Tue, 24 Jan 2023 22:13:25 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:25 GMT Message-Id: <202301242213.30OMDPpg088412@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: 91cce9c871a6 - stable/13 - stand: Add dv_match List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 91cce9c871a6d367a68ae1ada0d8e73fad994301 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=91cce9c871a6d367a68ae1ada0d8e73fad994301 commit 91cce9c871a6d367a68ae1ada0d8e73fad994301 Author: Warner Losh AuthorDate: 2022-11-30 22:09:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 stand: Add dv_match On OpenFirmware, and possibly kboot, we use full path names for the objects that are the 'device'. kboot uses a hack of knowing that all disk device nodes start with '/dev', but this generalizes it for OpenFirmware where both 'block' and 'network' devices live in the same namespace and one must ask the OF node its type to know if this device type matches. For drivers that don't specify, the current convention of using strncmp() is retained. This is done only in devparse(), but everything uses it directly (or will soon). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37554 (cherry picked from commit a07cef5a738642ae0a39fa513945d9f867a5e2f1) --- stand/libsa/dev.c | 9 +++++++-- stand/libsa/libsa.3 | 12 ++++++++++++ stand/libsa/stand.h | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index b16637181059..b273edb4457e 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -126,8 +126,13 @@ devparse(struct devdesc **dev, const char *devspec, const char **path) /* look for a device that matches */ for (i = 0; devsw[i] != NULL; i++) { dv = devsw[i]; - if (!strncmp(devspec, dv->dv_name, strlen(dv->dv_name))) - break; + if (dv->dv_match != NULL) { + if (dv->dv_match(dv, devspec) != 0) + break; + } else { + if (!strncmp(devspec, dv->dv_name, strlen(dv->dv_name))) + break; + } } if (devsw[i] == NULL) return (ENOENT); diff --git a/stand/libsa/libsa.3 b/stand/libsa/libsa.3 index fcfd22cbf0d0..8e504ca2585d 100644 --- a/stand/libsa/libsa.3 +++ b/stand/libsa/libsa.3 @@ -750,6 +750,7 @@ struct devsw { char * (*dv_fmtdev)(struct devdesc *); int (*dv_parsedev)(struct devdesc **dev, const char *devpart, const char **path); + bool (*dv_match)(struct devsw *dv, const char *devspec); }; .Ed .Bl -tag -width ".Fn dv_strategy" @@ -823,6 +824,17 @@ in the earlier example. Generally, code needing to parse a path will use .Fa devparse instead of calling this routine directly. +.It Fn dv_match +.Dv NULL +to specify that all device paths starting with +.Fa dv_name +match. +Otherwise, this function returns 0 for a match and a non-zero +.Dv errno +to indicate why it didn't match. +This is helpful when you claim the device path after using it to query +properties on systems that have uniform naming for different types of +devices. .El .Sh HISTORY The diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 660337db6980..b1c48bd88b39 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -161,6 +161,7 @@ struct devsw { void (*dv_cleanup)(void); char * (*dv_fmtdev)(struct devdesc *); int (*dv_parsedev)(struct devdesc **, const char *, const char **); + bool (*dv_match)(struct devsw *, const char *); }; /* From nobody Tue Jan 24 22:13:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7W1D65z3bgPM; Tue, 24 Jan 2023 22:13: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 4P1h7V70bgz3Gsd; Tue, 24 Jan 2023 22:13:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IO/UdmbgbECH/tVWIBMDIt/85QZPxQ0n/Hlefg3D04w=; b=oJ4EgnJsnK7LZdHLYg+doT+1zF7f5+t0yQ67OtnP+br7nS1YZZigGPZAgrFKfs9y+yApYg H/3KsLshul2BHbDmTjt4MVhTH13v1XTW1hfQIPpP5865Hc5xOAv/GvX82/ifoVJjCghgez pVW11sth3zzBsqD/uPAvceiNW7ofCfzXgeFxp9tELT/VNTepefc4tIhtyZ0RgLtSZbNpAN KIb7H7SeSqQAUfUJM8Be1TKhVmwTt3SQDo9WwuF9TkchTPVu+00xj8rzvEQZPgqiyd6pQC l0P8NCK4zdFI/TnZjtq1ikilL9K5q9IuyFrBZd/OFS9MJsPeMxmZQYRwb+fNjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IO/UdmbgbECH/tVWIBMDIt/85QZPxQ0n/Hlefg3D04w=; b=oIRJ5TY7eVohH6PDGypINn8ZvMmgfkxRdhhBqUp5wJtt/EiZc4Gv/6IE67yKwEympYBJU3 ZzDA2Vb2M5MctBelVfHcWjAIda1YLSiiUd7sRepqADdgquPSSLVTHKUoZDKJvBqmKbfLYr A8++ejX2b+4Sf7u4g+nfvIsoESVDxVWwrJMhOPMKqdWLkrejjzO7dB6b8b8rW/TUNPqJAZ 6jTHRG5j1a3C1lku9sAuHr/A2TosCdUidfwmpTwgnJZtFLm3J65JfQ5F6HuVZASOKUTQ4v /sr+SxR/Ou/neOyRecsZUaJrjTIllEsrVbTqLy9JuOA7rzhnpDwfxb9z6THI8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598407; a=rsa-sha256; cv=none; b=Km1PxW4QFBIzSjnUWgFtCeErO405ymhaDs3DGJbzfvOlEqa9+SXmbnhpJbyvaCQ6yifR0U qCycM5GkyGHEtw1AC9Osic0HFW77dEV+bImEiu+IpIEynUDk8CDt9EvbXfL1Y/UIcIBDDg Cy78zIeIeoJBV8n2XANQdHS4Mqy0+6nmHOtbao9XO3liNJRG5DfXYTRjyNnjppNKLkfpNN 0F+eoGcEhS+7h0mrgEjcVK2MuUABBJ2CSXWy9+3ip24ZdPwyHZEGSIuLqQFlV+hrPW6y10 X3L6/KAnqqpcUB+tcwq/ykUYA3yiZbaH5jF4PvmNLAvUY+u2nSQwFDfidY76qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7V66L9zQh6; Tue, 24 Jan 2023 22:13:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDQpF088437; Tue, 24 Jan 2023 22:13:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDQQb088436; Tue, 24 Jan 2023 22:13:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:26 GMT Message-Id: <202301242213.30OMDQQb088436@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: 5df48d2d0386 - stable/13 - stand: Implement ofw disk print routine List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5df48d2d03860a81d7a1867aeac3c5768109eeac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5df48d2d03860a81d7a1867aeac3c5768109eeac commit 5df48d2d03860a81d7a1867aeac3c5768109eeac Author: Warner Losh AuthorDate: 2022-11-30 22:09:56 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 stand: Implement ofw disk print routine Have lsdev show openfirmware devices. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37555 (cherry picked from commit 40d340acb9316db5771fe777e279776b903336d4) --- stand/libofw/ofw_disk.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 8f4c0162d32b..67da8cbeb310 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -184,6 +184,30 @@ ofwd_ioctl(struct open_file *f, u_long cmd, void *data) static int ofwd_print(int verbose __unused) { + uintmax_t block_size, n; + int ret; + char line[80]; + + /* + * We don't have a list of devices since we don't parse the whole OFW + * tree to find them. Instead, if we have an open device print info + * about it. Otherwise say we can't. Makes lsdev nicer. + */ + if ((ret = pager_output("block devices:\n")) != 0) + return (ret); + if (kdp != NULL) { + block_size = OF_block_size(kdp->d_handle); + n = OF_blocks(kdp->d_handle); + snprintf(line, sizeof(line), + " %s: OFW block device (%ju X %ju): %ju bytes\n", + kdp->d_path, n, block_size, n * block_size); + if ((ret = pager_output(line)) != 0) + return (ret); + } else { + if ((ret = pager_output(" none are open, so no info\n")) != 0) + return (ret); + } + return (0); } static char * From nobody Tue Jan 24 22:13:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7X1lChz3bgPN; Tue, 24 Jan 2023 22:13: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 4P1h7X1G5sz3H67; Tue, 24 Jan 2023 22:13:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cz3TujFLaM7WpjTriHT3d5d36RyBU6tfanhDZgGQXh4=; b=I18oN8Y1NEKkFKikTSNVMo7J2C9HVenNwZ8pdg9k/gkqG8k1I4hLVRq8v5P+Y2Q+Ad5+Pf xzKoV8OfK8U2N38XZakMWl5WzENwlpmPmntMknMaldKvC/r3jVUbdn3DHKs5qDv6j1C+hf v4M09qlNkyD4iCkFZsT3sOVCJ0HgQ0EGFzzYh5QB2x6OLO8AGVuAe8oUz0m4Y0WMhxAjDj npI+IFcCnIiZxsiHMhzvrmwZO3fGwLkr0NpsZqHOgVwbWZHcdycBBObyavFzuyEz620cqd T+gCHuukzAe/k/f/+RD+Yfh6aKfv/eT00s0tkLYxDR3QKFwKykThyD8JSHhO9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cz3TujFLaM7WpjTriHT3d5d36RyBU6tfanhDZgGQXh4=; b=evzTSs1O04a68hOuXBfYbxoxXRd8asezCbeLyuI1JJdJ5NKIdVIrigu2SRHy7N7/Qn7Kaa bBme/Fhu5TBaGlr+sN9zOm5GVZ5iD7otCxN+oXo0LtcMc8+95Hg1HLj/JYopHrovB+fh+h Nx2AFrSBDrdltnjIOr3ayZWTlkF/Z0iRpJse3h7+INBrnYJHJdp08CCT5VL1le9x0W9cpL vKWkeszlf7tCifcvjwEJaYfAUqnpUoT0sVPbjxQXmxlqXu8GCCd/oMUioYrS4mh2aQs+J5 tWGoi81//WhUkjTrUDVw+vrj6C0yA0Y4RIVF9/xKyZUWuqKO4bi8p7gwqtjYEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598408; a=rsa-sha256; cv=none; b=t+dnrIOoLuCFZb1j+gjL0OIzrBBqooUWRL6BR6wxyRlsGsouFTImgkdqqqAWAtKBQ325XU SPWXePWrc1YtbF9Ijb32LcJJF3kgxIg4ONLbp2uL5mJ2BV3CTs4sgUiepaJ96gtMf+x6bl DpNsMuAJi10B/HCIAzpat2pMOJffiDxA+z+UuUfxubr7/coalmNrZukwUysY9hNZ56oYY6 b/LtfDFznT1lIM78Rk+WTimtH90KOg7zJLUdhZmXnfdT+A0DPyzoA8qak9/BPlSo0ZP0rQ YP9aAPP2wjiLYvLYKJV+dHnafS49FLuauzte4z/nOgYQpDIXgbMeVonzjjBBJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7X0FV6zQVr; Tue, 24 Jan 2023 22:13:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDR3G088468; Tue, 24 Jan 2023 22:13:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDRqt088467; Tue, 24 Jan 2023 22:13:27 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:27 GMT Message-Id: <202301242213.30OMDRqt088467@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: 454b52dc3709 - stable/13 - stand/ofw: Add ofw_path_to_handle List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 454b52dc3709f167a91d8c9199fe01f8579c9ffb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=454b52dc3709f167a91d8c9199fe01f8579c9ffb commit 454b52dc3709f167a91d8c9199fe01f8579c9ffb Author: Warner Losh AuthorDate: 2022-11-30 22:10:00 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 stand/ofw: Add ofw_path_to_handle ofw_path_to_handle converts a path string to a phandle_t. It searches down the path for the first device whose type matches the passed-in string. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37556 (cherry picked from commit ed3cc2f24829e6c5827f142cfcd9729331a1106c) --- stand/libofw/devicename.c | 33 +++++++++++++++++++++++++++++++++ stand/libofw/libofw.h | 2 ++ 2 files changed, 35 insertions(+) diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index ecf966506194..6ed2343ee7bd 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -62,6 +62,38 @@ ofw_getdev(void **vdev, const char *devspec, const char **path) return(ofw_parsedev(dev, devspec, path)); } +/* + * Search the OFW (path) for a node that's of (want_type). + */ +phandle_t +ofw_path_to_handle(const char *ofwpath, const char *want_type, const char **path) +{ + const char *p, *s; + char name[256]; + char type[64]; + phandle_t handle; + int len; + + for (p = s = ofwpath; *s != '\0'; p = s) { + if ((s = strchr(p + 1, '/')) == NULL) + s = strchr(p, '\0'); + len = s - ofwpath; + if (len >= sizeof(name)) + return ((phandle_t)-1); + bcopy(ofwpath, name, len); + name[len] = '\0'; + if ((handle = OF_finddevice(name)) == -1) + continue; + if (OF_getprop(handle, "device_type", type, sizeof(type)) == -1) + continue; + if (strcmp(want_type, type) == 0) { + *path = s; + return (handle); + } + } + return ((phandle_t)-1); +} + /* * Point (dev) at an allocated device specifier matching the string version * at the beginning of (devspec). Return a pointer to the remaining @@ -82,6 +114,7 @@ ofw_parsedev(struct ofw_devdesc **dev, const char *devspec, const char **path) int len; int i; + /* XXX next step: use devparse -- don't forget to hack ofw_disk like you did ofw_net */ for (p = s = devspec; *s != '\0'; p = s) { if ((s = strchr(p + 1, '/')) == NULL) s = strchr(p, '\0'); diff --git a/stand/libofw/libofw.h b/stand/libofw/libofw.h index 59c7ec1fa6b7..0494a78135e7 100644 --- a/stand/libofw/libofw.h +++ b/stand/libofw/libofw.h @@ -61,6 +61,8 @@ extern int ofw_autoload(void); void ofw_memmap(int); +phandle_t ofw_path_to_handle(const char *ofwpath, const char *want_type, const char **path); + struct preloaded_file; struct file_format; From nobody Tue Jan 24 22:13:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7Y2dZkz3bg9T; Tue, 24 Jan 2023 22:13: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 4P1h7Y1sTWz3Gyc; Tue, 24 Jan 2023 22:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zKtqHT9GkGakzAL+ey+9TX6IYWme/B7IWJJbIaJ/hpk=; b=q3S9/yleKFcMylDyGkJ40ElCNOqLA1Why5eK0jvoma6f7iro11j0OHyBaPDStMdHjy4M9/ z2PiURHkkM2JpUmao/QJ1rz9YeLntyIZuwVjkio+fJc0qPsl4UpWFq+lWSXZMNwy1nID0h /iAqz+OYBLUbAmqtAlAU+Q+2erO/LvHm+mR4K1mcy88hvsGGj3lQQHAsdY7nIoDL0CGG43 l5PyXXf4LQWZKLXgKse7EVPTznXYu+1dI6BBnnIOoXO2J+LQZ3Gz6e2Zxwn+FHB7LLhu4U kRvlNZjU0J21C0sMtXkI7+CMXWJSlVpex4ELNhnj+2gEM3zFmfuo89peWHeuIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zKtqHT9GkGakzAL+ey+9TX6IYWme/B7IWJJbIaJ/hpk=; b=LYvl+qK/LspLYxxaM2/4ehdXNvHYbh7EWK/CvfOqO4xfCasSMO5DVN7g0xg4D448Ad9zmn ejJlHy/NHMAOv+u2IEtLvCr2wRcdCcVqCUDZCB7GBEAqJR/nJXi67vRImtNvIouc08R0Fy L6rTTYbM4H+kWpZYwpaRpZ7YIkQ49Prdqx8EZTzhF3TsAa8Ecmmrze8fgAnzPRAdpRjJEZ y6xR28pNRFGQb56GhmeYu+GMzvXfEAI6GnwZVve7ZY4Imkv4SWxk6b/QFHSNA6me9NPRnM rcYliSz6S2ylYTJZHYcHuKUTChCDqOc1cAstTQGFOVJKr0Qv83sozVwjHhONKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598409; a=rsa-sha256; cv=none; b=I95AwWBczH2WJ74+8hIVp5dTknFfWRTnzhM8sAl50vGX5mKP3R50M0ZCfg4xUdlghyC4j4 AOxdkJfWj13IgJ+ixrXF/Ndwj1+vSQJ1CjwdI8b0tkA8DytUoNpw8d8IQYYIEfa/A6LEba SlmlGYOjW0BoCj761Qcee0QyJCKh4dbLD6z3ejAgywwVa1Dl3mwiDuACRsXOmuqKxaC/4P Tb0StPX4+cTng9kNRpKzAQN6ZyfwOJrJkzXzI4YGXdSNU1KgKGl+RsVm85RdTOLm63qWBI VRDUu7IAQuVJjJMx66kxa+RFjJM1+85PXDAkPGyi3SNQ+7pBb3eH3ZjD7lyhbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7Y0p6DzQYm; Tue, 24 Jan 2023 22:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDThp088492; Tue, 24 Jan 2023 22:13:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDTxF088491; Tue, 24 Jan 2023 22:13:29 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:29 GMT Message-Id: <202301242213.30OMDTxF088491@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: 8bca927b88d6 - stable/13 - stand/ofw: Subclass devnet to cope with ofw's unique needs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8bca927b88d6b7e31b2f66a7f2f93684b7698797 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8bca927b88d6b7e31b2f66a7f2f93684b7698797 commit 8bca927b88d6b7e31b2f66a7f2f93684b7698797 Author: Warner Losh AuthorDate: 2022-11-30 22:10:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 stand/ofw: Subclass devnet to cope with ofw's unique needs We need to match devices in a slightly special way: We have to look up the path and see if the device is a 'network' device in order to use it. Sponsored by: Netflix Tested by: grehan@ (with tweaks to my original patch) Differential Revision: https://reviews.freebsd.org/D37557 (cherry picked from commit b8ff248f6595067ef9a31d5d4cec5fb9b9052fc3) --- stand/libofw/libofw.h | 1 + stand/libofw/ofw_net.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ stand/powerpc/ofw/conf.c | 2 +- 3 files changed, 77 insertions(+), 1 deletion(-) diff --git a/stand/libofw/libofw.h b/stand/libofw/libofw.h index 0494a78135e7..ce7e6e986029 100644 --- a/stand/libofw/libofw.h +++ b/stand/libofw/libofw.h @@ -48,6 +48,7 @@ extern int ofw_getdev(void **vdev, const char *devspec, const char **path); extern ev_sethook_t ofw_setcurrdev; extern struct devsw ofwdisk; +extern struct devsw ofw_netdev; extern struct netif_driver ofwnet; int ofwn_getunit(const char *); diff --git a/stand/libofw/ofw_net.c b/stand/libofw/ofw_net.c index fa4a3abd88e8..59b9f8de7efb 100644 --- a/stand/libofw/ofw_net.c +++ b/stand/libofw/ofw_net.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include "libofw.h" #include "openfirm.h" static int ofwn_probe(struct netif *, void *); @@ -267,3 +268,77 @@ ofwn_getunit(const char *path) return -1; } #endif + +/* + * To properly match network devices, we have to subclass the netdev device. + * It has a different devdesc than a normal network device (which is fine: + * it's a struct superset) and different matching criteria (since it has to + * look at the path, find a handle and see if that handle is a network node + * or not). + */ + +static int ofwnd_init(void); +static int ofwnd_parsedev(struct devdesc **, const char *, const char **); +static bool ofwnd_match(struct devsw *, const char *); +static char *ofwnd_fmtdev(struct devdesc *); + +struct devsw ofw_netdev = { + .dv_name = "network", + .dv_type = DEVT_NET, + .dv_init = ofwnd_init, + .dv_match = ofwnd_match, + .dv_fmtdev = ofwnd_fmtdev, + .dv_parsedev = ofwnd_parsedev, +}; + +static int ofwnd_init(void) +{ + netdev.dv_init(); + ofw_netdev.dv_strategy = netdev.dv_strategy; + ofw_netdev.dv_open = netdev.dv_open; + ofw_netdev.dv_close = netdev.dv_close; + ofw_netdev.dv_ioctl = netdev.dv_ioctl; + ofw_netdev.dv_print = netdev.dv_print; + ofw_netdev.dv_fmtdev = netdev.dv_fmtdev; + /* parsedev is unique to ofwnd */ + /* match is unique to ofwnd */ + return (0); +} + +static int +ofwnd_parsedev(struct devdesc **dev, const char *devspec, const char **path) +{ + const char *rem_path; + struct ofw_devdesc *idev; + + if (ofw_path_to_handle(devspec, ofw_netdev.dv_name, &rem_path) == -1) + return (ENOENT); + idev = malloc(sizeof(struct ofw_devdesc)); + if (idev == NULL) { + printf("ofw_parsedev: malloc failed\n"); + return ENOMEM; + }; + strlcpy(idev->d_path, devspec, min(rem_path - devspec + 1, + sizeof(idev->d_path))); + if (dev != NULL) + *dev = &idev->dd; + if (path != NULL) + *path = rem_path; + return 0; +} + +static bool +ofwnd_match(struct devsw *devsw, const char *devspec) +{ + const char *path; + + return (ofw_path_to_handle(devspec, devsw->dv_name, &path) != -1); +} + +static char * +ofwnd_fmtdev(struct devdesc *idev) +{ + struct ofw_devdesc *dev = (struct ofw_devdesc *)idev; + + return (dev->d_path); +} diff --git a/stand/powerpc/ofw/conf.c b/stand/powerpc/ofw/conf.c index a472faeed97b..c2b28f4fe0f0 100644 --- a/stand/powerpc/ofw/conf.c +++ b/stand/powerpc/ofw/conf.c @@ -54,7 +54,7 @@ struct devsw *devsw[] = { &ofwdisk, #endif #if defined(LOADER_NET_SUPPORT) - &netdev, + &ofw_netdev, #endif NULL }; From nobody Tue Jan 24 22:13:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7Z4ht0z3bgRx; Tue, 24 Jan 2023 22:13: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 4P1h7Z35rhz3H4k; Tue, 24 Jan 2023 22:13:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y/Yd+v8bIHQ6ml1tdMrE3MuQt/rGtGP/mNQR3vI0rS4=; b=JuFjMEoiNI0TEhWHRZko2qJS+c7+7Q+tzvci4ExXwGLTD/gSvH83tZs5BVV/9k/sGMUREa fiyBu4GMJ3rwz15DooN/zlgDAitZJizi4hzJ9D/TJO4WzIYHfFqYH6rjBIsws618WdXqfH 2zNx5JwRFk1BN3eslOidzVIiACbxrhNMd/iQJdZO2lVycX2Pm3C/v+iR+gx4lBi4xNAesQ OJouWkef5tz5GT3VIYgDoftzvlkVwa0CmHgIfozVhyQkgcgS1Mq67yYizHEKXI9sXm+udQ g7kh8VyBRxNpG++p1JOrqmK0u83sMh83iAsF6Btpo9bouo6Xp+jARdsLOHXVFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y/Yd+v8bIHQ6ml1tdMrE3MuQt/rGtGP/mNQR3vI0rS4=; b=rSvp+I1qmGWpP1FTHytot4gX+36igpHG1tb83vHqHxCa6lTitmtMkGn75pvcaubx3zomS7 n1RGSRyPQQzu1KRTX9TRsN0kiv9gpqZ7plQuJpOk4UE1xqPauBNuBotWF6LvrZ1DwcdNxb wtWRKEiD0whJhcJQSImgxV0+nCNkmXviNRaEUrg7jhs7OvAyaR0ItsHlU955pl4WSa2Ske W85PvMvjw2EnSXe7goUnuwmD/mOhHpuKsioPnABuAiS3CxxC8qAgjkPKW3A7Xgvv65qmq0 7vfkirSfZsJclU3YG3D4BeVal+RXYMLvfZ0v+sg5b9pnm23TKGsV8cEb5/QArg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598410; a=rsa-sha256; cv=none; b=GYsQJPHrAwJbxJoktF7N2N6XR7qIsp4TkCyxcDV15R9NWTLonSKlPHrs5yQCxjkwigFyIO X0saK5q/oOqWEDPdwH4gMoMgl+8K1xT2SLj5d7C/18Qj0lmbPVQzNDPR1OabuX1iXGib2b 6ivHPFRkxPtXltNOAEYIpDxb5bMEKn1OPr32UXeJjFoucekePAz07MzmLq0RNRIZKfLhYc 0IsPH7VFwvf/hqeFZhOxfgUUtEPJCAhCHRH6lL76O12D2sbebAi7zyA6CZTMmxI7f47TyO t/AHs8lSN03ouVFf5VG08HvplnXxmb6hFHzkkzFM1UFktkRDY2SkP/Jrhnaz/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 4P1h7Z27mMzQYn; Tue, 24 Jan 2023 22:13:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDUSa088516; Tue, 24 Jan 2023 22:13:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDUM3088515; Tue, 24 Jan 2023 22:13:30 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:30 GMT Message-Id: <202301242213.30OMDUM3088515@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: c079fa5c04d8 - stable/13 - ofw/disk: Add parsedev support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c079fa5c04d8450cac1dc0c803922452c0f6b1cb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c079fa5c04d8450cac1dc0c803922452c0f6b1cb commit c079fa5c04d8450cac1dc0c803922452c0f6b1cb Author: Warner Losh AuthorDate: 2022-11-30 22:10:11 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 ofw/disk: Add parsedev support Add a parsedev support for OpenFirmware disks. We must look at characteristics of the OFW node to know if we match this device (so supply a match routine) or not. Add a parsing routine to allocate devdesc for OpenFirmware disks as well. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37558 (cherry picked from commit 88a8c68298dbc86370d9a7eff06314da398829cb) --- stand/libofw/ofw_disk.c | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index 67da8cbeb310..ae2776ee4689 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -50,7 +50,8 @@ static int ofwd_close(struct open_file *f); static int ofwd_ioctl(struct open_file *f, u_long cmd, void *data); static int ofwd_print(int verbose); static char * ofwd_fmtdev(struct devdesc *); - +static int ofwd_parsedev(struct devdesc **, const char *, const char **); +static bool ofwd_match(struct devsw *, const char *); struct devsw ofwdisk = { .dv_name = "block", @@ -62,7 +63,9 @@ struct devsw ofwdisk = { .dv_ioctl = ofwd_ioctl, .dv_print = ofwd_print, .dv_cleanup = nullsys, + .dv_match = ofwd_match, .dv_fmtdev = ofwd_fmtdev, + .dv_parsedev = ofwd_parsedev, }; /* @@ -210,6 +213,16 @@ ofwd_print(int verbose __unused) return (0); } + + +static bool +ofwd_match(struct devsw *devsw, const char *devspec) +{ + const char *path; + + return (ofw_path_to_handle(devspec, devsw->dv_name, &path) != -1); +} + static char * ofwd_fmtdev(struct devdesc *idev) { @@ -217,3 +230,25 @@ ofwd_fmtdev(struct devdesc *idev) return (dev->d_path); } + +static int +ofwd_parsedev(struct devdesc **dev, const char *devspec, const char **path) +{ + const char *rem_path; + struct ofw_devdesc *idev; + + if (ofw_path_to_handle(devspec, ofwdisk.dv_name, &rem_path) == -1) + return (ENOENT); + idev = malloc(sizeof(struct ofw_devdesc)); + if (idev == NULL) { + printf("ofw_parsedev: malloc failed\n"); + return ENOMEM; + }; + strlcpy(idev->d_path, devspec, min(rem_path - devspec + 1, + sizeof(idev->d_path))); + if (dev != NULL) + *dev = &idev->dd; + if (path != NULL) + *path = rem_path; + return 0; +} From nobody Tue Jan 24 22:13:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7b5kBkz3bgGh; Tue, 24 Jan 2023 22:13: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 4P1h7b3Q1sz3H7x; Tue, 24 Jan 2023 22:13:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAHwOBF0RHO4Y7juqZ7pI4bFB1s0QP6Y437nIM3c/1I=; b=dXc+GNY2v/AyOSbaOWNy47bRcc7hkHWWSgzi449it1LaNPIMZGuG/Kz/Dnk+B3RBGo4X1h bTHWTC76CI3qdeDbOKuPvoP4tUQkfdTQIssJ/suBYl8bZx3WvS26rAcLIrhuYJ3urxNP20 888BlItBRRJPzi8tbpW6TJV3rpYSKypVY1qRAs1GPeU8BzGo4ZZB44WLFslL/a5gPO29BU jcX1w86Y0cT+J2bTs13at3q3v3TjOXIn5tWOC8TaulDbI4TDK0ASBrKHKMo0gszP+/heDa dEJRUJ63vNbQxjBRltitao5RNAKxdtthnnQ5S699czHLbYZ3BK6XQO2jw3gpnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAHwOBF0RHO4Y7juqZ7pI4bFB1s0QP6Y437nIM3c/1I=; b=FYBj8njUiFdyIUH4UpydT33qjFlD1N3+idFlmSUoEKpzNZBO6ZiHWBNAObXF6rWFojoyan TIcMHcA4hxzWIxE7JpQhJHO95wYWVCNXn/XffhP0WP8G3LIeoRJd4By0EeA8M2rQTkG0KL 6YYDIAjoxBT7Vbnfb4GHnt82KctsOSy04QE+jpNd6gdl7KRIDLuH5iEuSqdgilBMJ6p8wq 84REM7SvZEOXn1Q8MjXYQd9J5+wzi6Hcw0EKOo9JG0c/tZ0+MXnuIl0SVST1wIPrvjwynn zwoi+ckVBm5nOz8OlzqZ1KZsliHOoQQns0dSkeydbDJTZZxFxYpL+vp6CagAVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598411; a=rsa-sha256; cv=none; b=Z1yPF6PTUaBsllEZZVVh1lkei2e/QOcJ99gX6FAT4fge0hl+T7Zz7WagI6qIWVJ1YImVMK y5SrdY6lwVZ9Qe6tlwGjo3vh4iEyyt1y3IvjMGXHev++xlc56aThl1I6AkW1dWGZG46koA aVjzhJvO7WcKXVgal9lhq1EqNgMIzS8GcjS2N/ySR567L333i1Bf+uD3gj8/cPEADFr2ff eUBPX4wUOAfA3Oj2NCom5L1WvofC8ARMJD7QWFIcYPiBhlqn48XlLwXW1oRd6XhTdopHwh xyPo4zIGQeHdtQ37Ohzigq8iAXwc2q96geiJjRQ8YkAkl12iYw9FMA+k3LUPUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7b2WTDzQVs; Tue, 24 Jan 2023 22:13:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDVNG088540; Tue, 24 Jan 2023 22:13:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDVDi088539; Tue, 24 Jan 2023 22:13:31 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:31 GMT Message-Id: <202301242213.30OMDVDi088539@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: 6cb83949f7dd - stable/13 - stand/ofw: Use devparse List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6cb83949f7dd65d12e0baa5ee657ec8ebfc3233f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6cb83949f7dd65d12e0baa5ee657ec8ebfc3233f commit 6cb83949f7dd65d12e0baa5ee657ec8ebfc3233f Author: Warner Losh AuthorDate: 2022-11-30 22:10:18 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 stand/ofw: Use devparse Retire the custom parsedev routine and use the standard devparse. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37559 (cherry picked from commit 854001759e59172a2760d3a77f37a287f92053b3) --- stand/libofw/devicename.c | 93 ++++++----------------------------------------- 1 file changed, 12 insertions(+), 81 deletions(-) diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 6ed2343ee7bd..7d488608c3f8 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -32,9 +32,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "libofw.h" -static int ofw_parsedev(struct ofw_devdesc **, const char *, const char **); - -/* +/* * Point (dev) at an allocated device specifier for the device matching the * path in (devspec). If it contains an explicit device specification, * use that. If not, use the default device. @@ -42,24 +40,24 @@ static int ofw_parsedev(struct ofw_devdesc **, const char *, const char **); int ofw_getdev(void **vdev, const char *devspec, const char **path) { - struct ofw_devdesc **dev = (struct ofw_devdesc **)vdev; + struct devdesc **dev = (struct devdesc **)vdev; int rv; /* - * If it looks like this is just a path and no device, go with the current - * device. + * If it looks like this is just a path and no device, go with the + * current device. */ if (devspec == NULL || strpbrk(devspec, ":@") == NULL) { - if (((rv = ofw_parsedev(dev, getenv("currdev"), NULL)) == 0) && - (path != NULL)) + rv = devparse(dev, getenv("currdev"), NULL); + if (rv == 0 && path != NULL) *path = devspec; - return(rv); + return (rv); } - + /* * Try to parse the device name off the beginning of the devspec */ - return(ofw_parsedev(dev, devspec, path)); + return (devparse(dev, devspec, path)); } /* @@ -94,80 +92,13 @@ ofw_path_to_handle(const char *ofwpath, const char *want_type, const char **path return ((phandle_t)-1); } -/* - * Point (dev) at an allocated device specifier matching the string version - * at the beginning of (devspec). Return a pointer to the remaining - * text in (path). - */ -static int -ofw_parsedev(struct ofw_devdesc **dev, const char *devspec, const char **path) -{ - struct ofw_devdesc *idev; - struct devsw *dv; - phandle_t handle; - const char *p; - const char *s; - char *ep; - char name[256]; - char type[64]; - int err; - int len; - int i; - - /* XXX next step: use devparse -- don't forget to hack ofw_disk like you did ofw_net */ - for (p = s = devspec; *s != '\0'; p = s) { - if ((s = strchr(p + 1, '/')) == NULL) - s = strchr(p, '\0'); - len = s - devspec; - bcopy(devspec, name, len); - name[len] = '\0'; - if ((handle = OF_finddevice(name)) == -1) { - bcopy(name, type, len); - type[len] = '\0'; - } else if (OF_getprop(handle, "device_type", type, sizeof(type)) == -1) - continue; - for (i = 0; (dv = devsw[i]) != NULL; i++) { - if (strncmp(dv->dv_name, type, strlen(dv->dv_name)) == 0) - goto found; - } - } - return(ENOENT); - -found: - if (path != NULL) - *path = s; - idev = malloc(sizeof(struct ofw_devdesc)); - if (idev == NULL) { - printf("ofw_parsedev: malloc failed\n"); - return ENOMEM; - } - idev->dd.d_dev = dv; - if (dv->dv_parsedev != NULL) { - p = devspec + strlen(dv->dv_name); - free(idev); - err = dv->dv_parsedev((struct devdesc **)&idev, devspec, path); - if (err != 0) { - return (err); - } - } else { - strcpy(idev->d_path, name); - } - - if (dev == NULL) { - free(idev); - } else { - *dev = idev; - } - return(0); -} - int ofw_setcurrdev(struct env_var *ev, int flags, const void *value) { - struct ofw_devdesc *ncurr; - int rv; + struct devdesc *ncurr; + int rv; - if ((rv = ofw_parsedev(&ncurr, value, NULL)) != 0) + if ((rv = devparse(&ncurr, value, NULL)) != 0) return (rv); free(ncurr); From nobody Tue Jan 24 22:13:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7c5KNYz3bgPW; Tue, 24 Jan 2023 22:13: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 4P1h7c4j5cz3HB1; Tue, 24 Jan 2023 22:13:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9X2wUCeX4G45xEXTlCtTnL+GoUxhF6tXmsQUo/A3tuQ=; b=ZBJaItUPU/RzkgpnApdCUsM7I6351i+qn2AS0PBnVb2h3YqZqNrWEssRRmZADppMQJ6INK 0NExiPpPqVp8NtaAeR/RQNx2LFBi2xACZpanYgiaVsMVLSyrdANZ1m21GIKz07L/8O2qj+ azyNJSu/64fikHs1QycArkqNEb/jQo7WnB2L/8/eyuXZo7I11y9l6GhkcyYYozWn2FxfGy CxROIxNdalRUli6Yx4B73XLmLztrpwTmLg8sOncJp/7FtD+OtdNqlCxhzAzIcJX46II0Ja tWkYhMdiMLieeMzlRUOo4q9dARnhFX0jVZ5YtL4WU0B27SwQyKcQxrrx8QbR3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9X2wUCeX4G45xEXTlCtTnL+GoUxhF6tXmsQUo/A3tuQ=; b=R2nAJuYozRKJHvXdhsX5kLSXJ9RZTdEVE09j1xYNlJAA7NC6CVn7o80lxkACHpgJ7u7O8A r9cgNXUihlNcJkZISFO7i8aAHCmnp3YZxgBqy6r8W2K3SmJ0yCB4QK6PLfz/ZJ/QsgHNRD DwCk8/wf+KdwmmsfFTkDYT1UcUJxY0MsUMJAtC4B9p/LGCqWwH9pC+tQGAvjFvwy9Eo/1O iAPWTSO/gs8Ophoj1zNeazYyPKyI319qCGhhL//++gMGn2zYZxolcY9vCSEZB2GuzsCfh+ RVMMNa8hXT+GjM8aD8BND4HR3syGNufdFsvduunsMPINvJXMgEJsDclEM1WEVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598412; a=rsa-sha256; cv=none; b=IbuLMH/9ihalCruNLdEvpFrqQ4vYgsziVc0JLMQmSBtGbuUTZqvXQ15VUpUKFRzJEmT0+w T6qLG/Ncw7kR3Q8P72DzUDi2e2CtUJwttB3YxR/HiAs5JR2S3MdU9DAclH4wGbaeXl3o6D 6bfh40EXrKiuktsPoFXBI6RpMceyvUuUJHQIfmsJ7i5HrbRYCNYIqExuJ5D52F6E+TKWuP pQTh9ljNtOhZgpRnBB07gCZ4buo3h5rZ0srgkwWYTYI50BZSXOnDs+PUsuZjbkuSToqZmJ pJ/LtApSKTb17IwZQ8OJ8zt82WwxSr0LeBjxRG/PVgeuioM1Mo4evNKCre2ylg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7c3phVzQYp; Tue, 24 Jan 2023 22:13:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDWMh088565; Tue, 24 Jan 2023 22:13:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDWfO088564; Tue, 24 Jan 2023 22:13:32 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:32 GMT Message-Id: <202301242213.30OMDWfO088564@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: 7ece24fe1680 - stable/13 - stand/ofw: Refactor ofw parsedev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7ece24fe1680fe849667eab6ae4e84d93f364dbd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7ece24fe1680fe849667eab6ae4e84d93f364dbd commit 7ece24fe1680fe849667eab6ae4e84d93f364dbd Author: Warner Losh AuthorDate: 2022-11-30 22:10:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 stand/ofw: Refactor ofw parsedev Both ofw_disk and ofw_net use the same parsedev routine, except for the string passed in to match the ofw device node's type. Create a routine to do that and connect these two users up to that. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37560 (cherry picked from commit f9ce8da86434867e1e7172fb56a5504f91c98ce4) --- stand/libofw/devicename.c | 23 +++++++++++++++++++++++ stand/libofw/libofw.h | 2 ++ stand/libofw/ofw_disk.c | 18 +----------------- stand/libofw/ofw_net.c | 18 +----------------- 4 files changed, 27 insertions(+), 34 deletions(-) diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 7d488608c3f8..77a53ccd90ce 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -105,3 +105,26 @@ ofw_setcurrdev(struct env_var *ev, int flags, const void *value) return (mount_currdev(ev, flags, value)); } + +int +ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path, + const char *ofwtype) +{ + const char *rem_path; + struct ofw_devdesc *idev; + + if (ofw_path_to_handle(devspec, ofwtype, &rem_path) == -1) + return (ENOENT); + idev = malloc(sizeof(struct ofw_devdesc)); + if (idev == NULL) { + printf("ofw_parsedev: malloc failed\n"); + return ENOMEM; + }; + strlcpy(idev->d_path, devspec, min(rem_path - devspec + 1, + sizeof(idev->d_path))); + if (dev != NULL) + *dev = &idev->dd; + if (path != NULL) + *path = rem_path; + return 0; +} diff --git a/stand/libofw/libofw.h b/stand/libofw/libofw.h index ce7e6e986029..dc520d741290 100644 --- a/stand/libofw/libofw.h +++ b/stand/libofw/libofw.h @@ -63,6 +63,8 @@ extern int ofw_autoload(void); void ofw_memmap(int); phandle_t ofw_path_to_handle(const char *ofwpath, const char *want_type, const char **path); +int ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path, + const char *ofwtype); struct preloaded_file; struct file_format; diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index ae2776ee4689..ae36ca8be4b9 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -234,21 +234,5 @@ ofwd_fmtdev(struct devdesc *idev) static int ofwd_parsedev(struct devdesc **dev, const char *devspec, const char **path) { - const char *rem_path; - struct ofw_devdesc *idev; - - if (ofw_path_to_handle(devspec, ofwdisk.dv_name, &rem_path) == -1) - return (ENOENT); - idev = malloc(sizeof(struct ofw_devdesc)); - if (idev == NULL) { - printf("ofw_parsedev: malloc failed\n"); - return ENOMEM; - }; - strlcpy(idev->d_path, devspec, min(rem_path - devspec + 1, - sizeof(idev->d_path))); - if (dev != NULL) - *dev = &idev->dd; - if (path != NULL) - *path = rem_path; - return 0; + return (ofw_common_parsedev(dev, devspec, path, ofwdisk.dv_name)); } diff --git a/stand/libofw/ofw_net.c b/stand/libofw/ofw_net.c index 59b9f8de7efb..0a2e7e2a8714 100644 --- a/stand/libofw/ofw_net.c +++ b/stand/libofw/ofw_net.c @@ -308,23 +308,7 @@ static int ofwnd_init(void) static int ofwnd_parsedev(struct devdesc **dev, const char *devspec, const char **path) { - const char *rem_path; - struct ofw_devdesc *idev; - - if (ofw_path_to_handle(devspec, ofw_netdev.dv_name, &rem_path) == -1) - return (ENOENT); - idev = malloc(sizeof(struct ofw_devdesc)); - if (idev == NULL) { - printf("ofw_parsedev: malloc failed\n"); - return ENOMEM; - }; - strlcpy(idev->d_path, devspec, min(rem_path - devspec + 1, - sizeof(idev->d_path))); - if (dev != NULL) - *dev = &idev->dd; - if (path != NULL) - *path = rem_path; - return 0; + return (ofw_common_parsedev(dev, devspec, path, ofw_netdev.dv_name)); } static bool From nobody Tue Jan 24 22:13:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7d6KHSz3bgMY; Tue, 24 Jan 2023 22:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h7d5Wlsz3HXD; Tue, 24 Jan 2023 22:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x+3pyo3qFXfbePrjBeLJXUUHDY65l0ZEicObcu39byM=; b=fF1nCnIEKf5iC2VLzz5fRx16Bta4JE95nR2snu22mnhTqzQrAAtNOCApOHVuKqu80dkWj6 eqMYzQQv36qttW+J7i+qDKMleGHoOkDCgxNKSbSkccXhlOZ8czLIjasaDp7qx3hRGyejVo 2GdOSqRxQt2UHd0Ve9weI7QWU3Yy9STaKFr6Dx8DOemDWUTPZ9n0Sgu1yh5T9185V99poj BHCgGqVIcRsT/DQDbIRagCHascYSmdz9elLAsC0IPyg+MYlEOcMIQy0XxFmmCjVAyC3eVJ Ig6js7xjgcCX2s3sahRNQEqelSroKCIb0e4ElAovqFLxeVzKZKBEEGTDRha9ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x+3pyo3qFXfbePrjBeLJXUUHDY65l0ZEicObcu39byM=; b=eei1xajFXyRH79XTnIhaqecmyzpgXio4l1G0RQ+81x4IQFOcvKUnu42xbLvv7LBil2/6NQ NNqitJelVeHFdgGDcvH4gHakjNNiHF78kqgPXDc+rOuezsqq5nYALS6pOEte4eVw/DhXN7 E2/PMvjI8O5t0Lbkpm3YxvIwSZ/bPvh2MvErnmO8+c1TdvGxcFdWaG2Q38JYs/ouGwo+rk /Yen3wsjqBH0Do/7nnsJ+mBwiM59BeM+tCJf3YZ+/Gx7Q2vcodPzHtKDS/mrEtf9bdFZVD 31oKP3Ft2YbUlieveXBOYXBv701O+Nx7byPmiMIUB8OF8UQLx8ldnzPIc4QPsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598413; a=rsa-sha256; cv=none; b=SNJPtqddXSHrPJ2IZ7Ex52V8p5+cLH+XFolQa3f4Ta1qiX13wybL0+XfIqIq1Ae6abosf/ TXQkTxJZWNHvPY1rH1pK3wmQ0C/gONK5vPOKO58yiPSH8TuSsZkrglG3bd/3kffSmMPJ5b DXMPAr07CUrqIGpKpuLMQUPh2SSZYXrRm7cTRD4x/Z1NjEXTO+TwPfTa2Ev9S0ZCTrjj7C ykuWgDVBMm2DAxZU6SWc/+pZuxhR6R1z2McD/xpqnXFWVwPCJnxoz7vQkvBSZuXPAQXnMN HPJx6AxxBXPyzgwXfq4O3cOD2RaHDNj7gkCG3oBkrIhMlqAs6ZxtR6UdwtBVUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7d4YQPzQYq; Tue, 24 Jan 2023 22:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDXFF088594; Tue, 24 Jan 2023 22:13:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDXLq088593; Tue, 24 Jan 2023 22:13:33 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:33 GMT Message-Id: <202301242213.30OMDXLq088593@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: 4777b87c13e0 - stable/13 - kboot: Create routines to read Linux tiny files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4777b87c13e060ff04a4fdb0eac0f5fc75371de3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4777b87c13e060ff04a4fdb0eac0f5fc75371de3 commit 4777b87c13e060ff04a4fdb0eac0f5fc75371de3 Author: Warner Losh AuthorDate: 2022-12-02 18:05:58 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 kboot: Create routines to read Linux tiny files Most of the files in /sys/ and /proc/ are small with one value. Create two routines to help us read the file and decode that value. Sponsored by: Netflix (cherry picked from commit 7e1a2e46aa9a2f834c33b5c50de0437ac19d7b41) --- stand/kboot/Makefile | 3 ++- stand/kboot/kboot.h | 4 ++++ stand/kboot/util.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index c8bd313d1d1d..42385c9caf76 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -30,7 +30,8 @@ SRCS= \ kbootfdt.c \ main.c \ termios.c \ - vers.c \ + util.c \ + vers.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 5441c90eaecc..e3d169ee5ac0 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -19,4 +19,8 @@ void fdt_arch_fixups(void *fdtp); uint64_t kboot_get_phys_load_segment(void); uint8_t kboot_get_kernel_machine_bits(void); +/* util.c */ +bool file2str(const char *fn, char *buffer, size_t buflen); +bool file2u64(const char *fn, uint64_t *val); + #endif /* KBOOT_H */ diff --git a/stand/kboot/util.c b/stand/kboot/util.c new file mode 100644 index 000000000000..938aad599e19 --- /dev/null +++ b/stand/kboot/util.c @@ -0,0 +1,46 @@ +/*- + * Copyright 2022 Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include "stand.h" +#include "host_syscall.h" +#include "kboot.h" + +bool +file2str(const char *fn, char *buffer, size_t buflen) +{ + int fd; + ssize_t len; + + fd = host_open(fn, HOST_O_RDONLY, 0); + if (fd == -1) + return false; + len = host_read(fd, buffer, buflen - 1); + if (len < 0) { + host_close(fd); + return false; + } + buffer[len] = '\0'; + /* + * Trim trailing white space + */ + while (isspace(buffer[len - 1])) + buffer[--len] = '\0'; + host_close(fd); + return true; +} + +bool +file2u64(const char *fn, uint64_t *val) +{ + unsigned long v; + char buffer[80]; + + if (!file2str(fn, buffer, sizeof(buffer))) + return false; + v = strtoull(buffer, NULL, 0); /* XXX check return values? */ + *val = v; + return true; +} From nobody Tue Jan 24 22:13:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7g2ygXz3bgBG; Tue, 24 Jan 2023 22:13: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 4P1h7f6ZNsz3HdY; Tue, 24 Jan 2023 22:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FrEUWnNfLoo3ucG53O9gaj6hqCL4SvdM5Y5nBuOpKE4=; b=QypmlXJoXSxd9ggfP/eDfBgCGevKsSoKpgJZL52FZj8IuhZG3bEy5kKjjHlL9isId+LRjm jV38gXXUIi6J2cF/pc9KcaIKL2E6dHAY3zqfxINXC6LxrWo/+PAe0xnKIq7wN9CB7wi040 KJFRzxHmrLUhnQG9MviedHm/ZsnJDYe8ScAALlSAsLXkp4+vwTI3YWh1runt/kF6pIatEZ 5ebR9x7txvMS+XL4c0AemKS8kOzcAWoESotXDy/Mb83+Ges/ApERnMUPIPMrE8JWjcY7v5 EooQx/ZnnqBdBVdy4PEjHFEfqBzG31E7ZA4zZBGOPBwOn19lzmuUGoFkWwygqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FrEUWnNfLoo3ucG53O9gaj6hqCL4SvdM5Y5nBuOpKE4=; b=Vc/U4AbIuOGTCxi5Hm6v2iAoTyhLdl3Fxn5RJzEzqmfjsE2hyhHgZJqjBFP3gRfBjPNUeK rXFAUeLPpRP5LiIn7iHGQ3NJUTqXPcqj6253S2O1zGv58SkD6JZGyHX/1M78P0iKTpBY0a SLwphXGDq4bSpmFOqbHFngVm/tfVSCEcGGCrcpvt80hnEDq3eFsceB2L+FRo4J5W2i5yKF ii2TmZqJ4oJB+jgP5zlpp1OYK253wh7IS8Lohdt9rT7yLGuOO8/VnMB4dPDDdAbm5aJ9fD 1IFX1xcrID4Qijv5mvdvREbLbqvRVaWa3rp+pX8a/pfawX6EBAwHxe5JbX5/+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598414; a=rsa-sha256; cv=none; b=LiWHTTJal4bgqXbpMWLGMBm9lDlb/fROigfDpKzeJTGCeykFY2unAO3xEyRcpzMIltkERu YnsQa+fNqZ7FFp3htC4K8pK6BeOP2gZITwLOW9nT3F9S0ray7cSdfcG9wzzVIYmST0uCMP DxyLbAGghyNie7nH0qvebY+tbBB23f6KERju56JMz76dyibJeAPpQ3Q8x627ObnwmbzIrx wPH5Y6VHs3lYObMBXO2Gke6Vwm8kjbo2Vv3RbwKe7rzMnAakq30P7XeVCsK7KiWzf2cIPm bOypLtYals1amZD44StkXh602thdNfQ+Sr4ng085Mp5CzBjHBiiQKJM1uFCKBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7f5h3jzQYs; Tue, 24 Jan 2023 22:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDYHq088619; Tue, 24 Jan 2023 22:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDYml088618; Tue, 24 Jan 2023 22:13:34 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:34 GMT Message-Id: <202301242213.30OMDYml088618@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: 9bc5c28cc0c1 - stable/13 - kboot: move to using devparse List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9bc5c28cc0c1c3f19224bc6dce1e0d9f32be3363 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9bc5c28cc0c1c3f19224bc6dce1e0d9f32be3363 commit 9bc5c28cc0c1c3f19224bc6dce1e0d9f32be3363 Author: Warner Losh AuthorDate: 2022-12-02 18:10:06 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:40 +0000 kboot: move to using devparse We can use devparse directly now. No need to invent a kboot_parsedev that just does what devparse does now that we've refactored. Sponsored by: Netflix (cherry picked from commit 6f8e9f22739aa7f5fe997741e9f50a66385c9e0c) --- stand/kboot/main.c | 54 ++++++++++++++++++------------------------------------ 1 file changed, 18 insertions(+), 36 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 23211ce9df4c..3b2c43c20a0f 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -49,49 +49,31 @@ static void kboot_kseg_get(int *nseg, void **ptr); extern int command_fdt_internal(int argc, char *argv[]); +/* + * NB: getdev should likely be identical to this most places, except maybe + * we should move to storing the length of the platform devdesc. + */ int kboot_getdev(void **vdev, const char *devspec, const char **path) { - int i, rv; - const char *devpath, *filepath; - struct devsw *dv; - struct devdesc *desc; - - if (devspec == NULL) { - rv = kboot_getdev(vdev, getenv("currdev"), NULL); - if (rv == 0 && path != NULL) + int rv; + struct devdesc **dev = (struct devdesc **)vdev; + + /* + * If it looks like this is just a path and no device, go with the + * current device. + */ + if (devspec == NULL || strchr(devspec, ':') == NULL) { + if (((rv = devparse(dev, getenv("currdev"), NULL)) == 0) && + (path != NULL)) *path = devspec; return (rv); } - if (strchr(devspec, ':') != NULL) { - devpath = devspec; - filepath = strchr(devspec, ':') + 1; - } else { - devpath = getenv("currdev"); - filepath = devspec; - } - for (i = 0; (dv = devsw[i]) != NULL; i++) { - if (strncmp(dv->dv_name, devpath, strlen(dv->dv_name)) == 0) - goto found; - } - return (ENOENT); - -found: - if (path != NULL && filepath != NULL) - *path = filepath; - else if (path != NULL) - *path = strchr(devspec, ':') + 1; - - if (vdev != NULL) { - desc = malloc(sizeof(*desc)); - desc->d_dev = dv; - desc->d_unit = 0; - desc->d_opendata = strdup(devpath); - *vdev = desc; - } - - return (0); + /* + * Try to parse the device name off the beginning of the devspec + */ + return (devparse(dev, devspec, path)); } int From nobody Tue Jan 24 22:13:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7h1QsZz3bgJP; Tue, 24 Jan 2023 22:13: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 4P1h7h0rQwz3HNH; Tue, 24 Jan 2023 22:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPMet5iarGQNvC6sVPbXzEyyG/uKbhH3SvErgomf7+8=; b=xXYfop9v0abk/JEcrIizqDbBF6qqhi0n26TqcKc1OLNT5+ibXJmLPll6VyrcJh4KeXgWWV 8cvD32CpR9DR0r8iYNx+fsEpUbl5e0t1EtuuGqDn9P+jc2ENxr3jQbNVhWck4DwHwJTicE 5PXqo34vP156+ajqeSdGj6em10Lpi18aVzEnd4J3YQgenllPhLN5oItH1UsH2JZgdc2Rw9 tWdM6nn/GcwoUDUifKE5LMmzgOnMxNbuZeVHDzU+ROzLEGKkDmVvqRlzdjZX5gLmKL7sNy 1gFD0zVfjzkgKv9N+6fYHHyPLD/NSSkF2JFHfSrVVtrF4/kGiE71Vh2h4A2Oig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPMet5iarGQNvC6sVPbXzEyyG/uKbhH3SvErgomf7+8=; b=NL6h/QahzAlHxfAdulz0NALSbkPiiPX27EFNcwpk+akgsj88zvHtYaGZ05SXteQIJejSY1 o/gsaQYwIZBgZ6Mp/7lnQlyxwSD32job48+WaTUDsjr2N1S3wCZLDqyys0v4bS7bui/bi2 byiMRYD2IGhsN9nYXbH74nUUQ8ozDeXsmOzmJVfHOuBV1tYN8KTMzthigX8C8B2zg9DBI4 s+wsM4aHkLssh/gH50OvtCkqaZP4wLRIP7tEZEctUJrOPW0xivlinvqMkyFZZbZjEioh1K rYIoscqzg/+wCUWqtOj6FcZ8JR5O+/s7mMtCWtmmmIfKJarNmNABVfeNfbo1nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598416; a=rsa-sha256; cv=none; b=hG2ZNtEYqm0Pe8+rGByXf3r+tk6Vss0j8rys9Ruc/eB2VcvWcUyKpe5AzSu9hF2JUWAFO+ /DSNpD1ITTQxSv4XhzlIbOy6aSS4dcimyT8QC1Ds+qpD1CkjGXbUPjvADRnKfAKCdYQtDQ PXRwYGpc2ENl5B590atrfQZj5h8Xa0mDGEjS8LynlbyP9pjhY7yJDt4VtbysXEMKSPBmr+ tWk1LKbLmktSvSnmU3KI1FL3WQMFX0g6VHC3WXrisovqrZfJB6GtmIUjP83D0vc43xbXLF HLsspoHpkXMH49HptlUjj3E7e3Z5m9yDcw4KPH8sEPWZuM55+WME8adHMT5Uow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7g6k1xzQh7; Tue, 24 Jan 2023 22:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDZwI088646; Tue, 24 Jan 2023 22:13:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDZss088645; Tue, 24 Jan 2023 22:13:35 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:35 GMT Message-Id: <202301242213.30OMDZss088645@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: 965939b23966 - stable/13 - kboot: amd64 use /sys/firmware/memmap to find free memory List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 965939b23966fdfdada374af77e5aa783315a9a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=965939b23966fdfdada374af77e5aa783315a9a0 commit 965939b23966fdfdada374af77e5aa783315a9a0 Author: Warner Losh AuthorDate: 2022-12-02 18:10:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: amd64 use /sys/firmware/memmap to find free memory Use the system's firmware memory map to find a good place to put the kernel that won't stomp on anything else. While this uses obstensibly MI interfaces to get this data, arm64 doesn't have this, nor does powerpc64, so place it here. Sponsored by: Netflix (cherry picked from commit c51e1d7c0a79a4fe2774d526ad0393cd2edd3f6c) --- stand/kboot/arch/amd64/load_addr.c | 127 ++++++++++++++++++++++++++++++++++++- 1 file changed, 126 insertions(+), 1 deletion(-) diff --git a/stand/kboot/arch/amd64/load_addr.c b/stand/kboot/arch/amd64/load_addr.c index cbe066d02d40..fccd17cf8d51 100644 --- a/stand/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/arch/amd64/load_addr.c @@ -30,8 +30,133 @@ #include "host_syscall.h" #include "kboot.h" +/* Refactor when we do arm64 */ + +struct memory_segments +{ + uint64_t start; + uint64_t end; + uint64_t type; +}; + +enum types { + system_ram = 1, + acpi_tables, + acpi_nv_storage, + unusable, + persistent_old, + persistent, + soft_reserved, + reserved, +}; + +struct kv +{ + uint64_t type; + char * name; +} str2type_kv[] = { + { system_ram, "System RAM" }, + { acpi_tables, "ACPI Tables" }, + { acpi_nv_storage, "ACPI Non-volatile Storage" }, + { unusable, "Unusable memory" }, + { persistent_old, "Persistent Memory (legacy)" }, + { persistent, "Persistent Memory" }, + { soft_reserved, "Soft Reserved" }, + { reserved, "reserved" }, + { 0, NULL }, +}; + +#define MEMMAP "/sys/firmware/memmap" + +static bool +str2type(struct kv *kv, const char *buf, uint64_t *value) +{ + while (kv->name != NULL) { + if (strcmp(kv->name, buf) == 0) { + *value = kv->type; + return true; + } + kv++; + } + + return false; +} + +static int +read_memmap(struct memory_segments *segs, int maxseg) +{ + int n; + char name[MAXPATHLEN]; + char buf[80]; + + n = 0; + do { + snprintf(name, sizeof(name), "%s/%d/start", MEMMAP, n); + if (!file2u64(name, &segs[n].start)) + break; + snprintf(name, sizeof(name), "%s/%d/length", MEMMAP, n); + if (!file2u64(name, &segs[n].end)) + break; + snprintf(name, sizeof(name), "%s/%d/type", MEMMAP, n); + if (!file2str(name, buf, sizeof(buf))) + break; + if (!str2type(str2type_kv, buf, &segs[n].type)) + break; + n++; + } while (n < maxseg); + + return n; +} + +#define BAD_SEG ~0ULL + +#define SZ(s) (((s).end - (s).start) + 1) + +static uint64_t +find_ram(struct memory_segments *segs, int nr_seg, uint64_t minpa, uint64_t align, + uint64_t sz, uint64_t maxpa) +{ + uint64_t start; + + /* XXX assume segs are sorted in numeric order -- assumed not ensured */ + for (int i = 0; i < nr_seg; i++) { + if (segs[i].type != system_ram || + SZ(segs[i]) < sz || + minpa + sz > segs[i].end || + maxpa < segs[i].start) + continue; + start = roundup(segs[i].start, align); + if (start < minpa) /* Too small, round up and try again */ + start = (roundup(minpa, align)); + if (start + sz > segs[i].end) /* doesn't fit in seg */ + continue; + if (start > maxpa || /* Over the edge */ + start + sz > maxpa) /* on the edge */ + break; /* No hope to continue */ + return start; + } + + return BAD_SEG; +} + uint64_t kboot_get_phys_load_segment(void) { - return (~0ULL); + static uint64_t base_seg = BAD_SEG; + struct memory_segments segs[32]; + int nr_seg; + + if (base_seg != BAD_SEG) + return (base_seg); + + nr_seg = read_memmap(segs, nitems(segs)); + if (nr_seg > 0) + base_seg = find_ram(segs, nr_seg, 2ULL << 20, 2ULL << 20, + 64ULL << 20, 4ULL << 30); + if (base_seg == BAD_SEG) { + /* XXX Should fall back to using /proc/iomem maybe? */ + /* XXX PUNT UNTIL I NEED SOMETHING BETTER */ + base_seg = 42ULL * (1 << 20); /* Jam it in at the odd-ball address of 42MB so it stands out */ + } + return (base_seg); } From nobody Tue Jan 24 22:13:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7j4x8yz3bgDc; Tue, 24 Jan 2023 22:13: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 4P1h7j1ts2z3HQx; Tue, 24 Jan 2023 22:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FFuZJayBp3ibYwae2w5XpLHM2JC+5GKqOBwUAwcRSxQ=; b=TTbOW5420POo5lG5xeME0Yy8eJ1ihMsDtZNrnzRsnmP+QW1IrmQiqKPO3jF/GydlDf9/Q1 AqDk4VcxpLfCTshaGgJXQbXu5T4sDIaBbuUBnXK+Xga88bSfW+UQiKZiRC7DzDw71UWfbX 1BUgphDvxi2XFuivBfa92e5fkVdkWSGW4pTzMlPwnOUxGKfzmkgKLjTC+a2BsjKBIX6wj4 /cN0kYk5HQgTCWZj5Bgb1vF12X6FQDFDIcWUGqqhpFTGyRKT3XEgBwSkx5e9FT6qcN1mv8 1EHtthNBesxpsDQ+ejrgG9fTXwOz1hKUKffkp8fdSokSxubSBO3O4SnXvZOi4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FFuZJayBp3ibYwae2w5XpLHM2JC+5GKqOBwUAwcRSxQ=; b=M49XDZ+vt3c++lHpGijB5cVFoMObWiCUUdbjSW/t3iSL3nwVvkCcaVCgtIpKHL+5VbC9Kw nyJPZNlx5dytnH+4jRIqp0Mt2/RnXSHjNtOMD1l06J68R1GDhI5TTIELmscz0gTyqxVbDQ OFgIFENsqdZRkvnlTbsj5mcVk6k5fTJKqgmFGew/tthcgJ77+MN2clNBzp9A4QXSL6DOrR 41HS+XRdEs1l8E+xmCRAKYGSHCX+7r1Ksb8MZNl29ggrfAHhgMt2LLok0SVsyaJJnT3t8q 10I6dSViC3C00Yl8V4SI2JIz5udNYITzQhKKk5FW7uLa/coiW9AfUm7lkefYKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598417; a=rsa-sha256; cv=none; b=yKpu7Ugqu2/czK43BYaIuFOhga8mIN+POZjSQhQA/faIFzjfrYnQBSLU+6yR+0BKSO90tv 1gjqG2dyXXpPgX9S3FlHXdP9i0AKlDBqabi+8xfQts9hIyQ4LRSg5SH6QmqOlZTehoP58V IP1PaYIQmA0KMa+3fwwtrcNHetaLsnQKmGPrRME7/JqhVVGBWvw0TnZJ51GVvFUom40EZH Ojx/CnUdLfqznqRv8W8B2YLHJxReV45n1qD/J1KVrNv+trz2BQANJ5c3bhEYPv7HKPKStg foTZKUEIl8h3tG2OFeEktQ0MbPpMU1DzF7Kc8eNXISC21GGIOM+WzqBhD1ORqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7j0hnVzQYt; Tue, 24 Jan 2023 22:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDb8C088670; Tue, 24 Jan 2023 22:13:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDaG9088669; Tue, 24 Jan 2023 22:13:36 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:36 GMT Message-Id: <202301242213.30OMDaG9088669@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: 0e78599a5b58 - stable/13 - kboot: Enhance hostdisk List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0e78599a5b58684eae89f7bfb24da599c2ad8ec1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0e78599a5b58684eae89f7bfb24da599c2ad8ec1 commit 0e78599a5b58684eae89f7bfb24da599c2ad8ec1 Author: Warner Losh AuthorDate: 2022-12-02 18:28:08 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: Enhance hostdisk Added missing functionality to allow us to boot off of things like /dev/nvme0n1p2 successfully. And to list all available devices and partitions with 'lsdev'. Sponsored by: Netflix (cherry picked from commit 7685e8d97a22ae4b58243d6ef67569ea5bcbc988) --- stand/kboot/hostdisk.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 185 insertions(+), 7 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 852785497989..d83161f5bfee 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -53,9 +53,163 @@ struct devsw hostdisk = { .dv_fmtdev = hostdisk_fmtdev, }; +/* + * We need to walk through the /sys/block directories looking for + * block devices that we can use. + */ +#define SYSBLK "/sys/block" + +typedef STAILQ_HEAD(, hdinfo) hdinfo_list_t; +typedef struct hdinfo { + STAILQ_ENTRY(hdinfo) hd_link; /* link in device list */ + hdinfo_list_t hd_children; + struct hdinfo *hd_parent; + const char *hd_name; + uint64_t hd_size; + uint64_t hd_sectors; + uint64_t hd_sectorsize; + int hd_flags; +} hdinfo_t; + +static hdinfo_list_t hdinfo = STAILQ_HEAD_INITIALIZER(hdinfo); + +typedef bool fef_cb_t(struct host_dirent64 *, void *); +#define FEF_RECURSIVE 1 + +static bool +foreach_file(const char *dir, fef_cb_t cb, void *argp, u_int flags) +{ + char dents[2048]; + int fd, dentsize; + struct host_dirent64 *dent; + + fd = host_open(dir, O_RDONLY, 0); + if (fd < 0) { + printf("Can't open %s\n", dir);/* XXX */ + return (false); + } + while (1) { + dentsize = host_getdents64(fd, dents, sizeof(dents)); + if (dentsize <= 0) + break; + for (dent = (struct host_dirent64 *)dents; + (char *)dent < dents + dentsize; + dent = (struct host_dirent64 *)((void *)dent + dent->d_reclen)) { + if (!cb(dent, argp)) + break; + } + } + host_close(fd); + return (true); +} + +static void +hostdisk_add_part(struct hdinfo *hd, const char *drv, uint64_t secs) +{ + struct hdinfo *md; + + printf("hd %s adding %s %ju\n", hd->hd_name, drv, (uintmax_t)secs); + if ((md = calloc(1, sizeof(*md))) == NULL) + return; + md->hd_name = strdup(drv); + md->hd_sectors = secs; + md->hd_sectorsize = hd->hd_sectorsize; + md->hd_size = md->hd_sectors * md->hd_sectorsize; + md->hd_parent = hd; + STAILQ_INSERT_TAIL(&hd->hd_children, md, hd_link); +} + +static bool +hostdisk_one_part(struct host_dirent64 *dent, void *argp) +{ + struct hdinfo *hd = argp; + char szfn[1024]; + uint64_t sz; + + if (strncmp(dent->d_name, hd->hd_name, strlen(hd->hd_name)) != 0) + return (true); + /* Find out how big this is -- no size not a disk */ + snprintf(szfn, sizeof(szfn), "%s/%s/%s/size", SYSBLK, + hd->hd_name, dent->d_name); + if (!file2u64(szfn, &sz)) + return true; + hostdisk_add_part(hd, dent->d_name, sz); + return true; +} + +static void +hostdisk_add_parts(struct hdinfo *hd) +{ + char fn[1024]; + + snprintf(fn, sizeof(fn), "%s/%s", SYSBLK, hd->hd_name); + foreach_file(fn, hostdisk_one_part, hd, 0); +} + +static void +hostdisk_add_drive(const char *drv, uint64_t secs) +{ + struct hdinfo *hd; + char fn[1024]; + + if ((hd = calloc(1, sizeof(*hd))) == NULL) + return; + hd->hd_name = strdup(drv); + hd->hd_sectors = secs; + snprintf(fn, sizeof(fn), "%s/%s/queue/hw_sector_size", + SYSBLK, drv); + if (!file2u64(fn, &hd->hd_sectorsize)) + goto err; + hd->hd_size = hd->hd_sectors * hd->hd_sectorsize; + hd->hd_flags = 0; + STAILQ_INIT(&hd->hd_children); + printf("/dev/%s: %ju %ju %ju\n", + drv, hd->hd_size, hd->hd_sectors, hd->hd_sectorsize); + STAILQ_INSERT_TAIL(&hdinfo, hd, hd_link); + hostdisk_add_parts(hd); + return; +err: + free(hd); + return; +} + +static bool +hostdisk_one_disk(struct host_dirent64 *dent, void *argp __unused) +{ + char szfn[1024]; + uint64_t sz; + + /* + * Skip . and .. + */ + if (strcmp(dent->d_name, ".") == 0 || + strcmp(dent->d_name, "..") == 0) + return (true); + + /* Find out how big this is -- no size not a disk */ + snprintf(szfn, sizeof(szfn), "%s/%s/size", SYSBLK, + dent->d_name); + if (!file2u64(szfn, &sz)) + return (true); + hostdisk_add_drive(dent->d_name, sz); + return (true); +} + +static void +hostdisk_find_block_devices(void) +{ + /* + * Start here XXX open SYSBLK, walk through all directories, keep the + * ones that return a size and a 'block' device when we 'stat' it. Try + * to avoid partitions and only do raw devices. + */ + foreach_file(SYSBLK, hostdisk_one_disk, NULL, 0); +} + static int hostdisk_init(void) { + hostdisk_find_block_devices(); return (0); } @@ -67,15 +221,17 @@ hostdisk_strategy(void *devdata, int flag, daddr_t dblk, size_t size, struct devdesc *desc = devdata; daddr_t pos; int n; + int64_t off; uint64_t res; uint32_t posl, posh; pos = dblk * 512; - posl = pos & 0xffffffff; - posh = (pos >> 32) & 0xffffffff; - if (host_llseek(desc->d_unit, posh, posl, &res, 0) < 0) { - printf("Seek error\n"); + posl = pos & 0xffffffffu; + posh = (pos >> 32) & 0xffffffffu; + if ((off = host_llseek(desc->d_unit, posh, posl, &res, 0)) < 0) { + printf("Seek error on fd %d to %ju (dblk %ju) returns %jd\n", + desc->d_unit, (uintmax_t)pos, (uintmax_t)dblk, (intmax_t)off); return (EIO); } n = host_read(desc->d_unit, buf, size); @@ -98,7 +254,6 @@ hostdisk_open(struct open_file *f, ...) va_end(vl); desc->d_unit = host_open(desc->d_opendata, O_RDONLY, 0); - if (desc->d_unit <= 0) { printf("hostdisk_open: couldn't open %s: %d\n", (char *)desc->d_opendata, desc->d_unit); @@ -128,13 +283,36 @@ static int hostdisk_print(int verbose) { char line[80]; + hdinfo_t *hd, *md; + int ret = 0; printf("%s devices:", hostdisk.dv_name); if (pager_output("\n") != 0) return (1); - snprintf(line, sizeof(line), " /dev%d: Host disk\n", 0); - return (pager_output(line)); + STAILQ_FOREACH(hd, &hdinfo, hd_link) { + snprintf(line, sizeof(line), + " /dev/%s: %ju X %ju: %ju bytes\n", + hd->hd_name, + (uintmax_t)hd->hd_sectors, + (uintmax_t)hd->hd_sectorsize, + (uintmax_t)hd->hd_size); + if ((ret = pager_output(line)) != 0) + break; + STAILQ_FOREACH(md, &hd->hd_children, hd_link) { + snprintf(line, sizeof(line), + " /dev/%s: %ju X %ju: %ju bytes\n", + md->hd_name, + (uintmax_t)md->hd_sectors, + (uintmax_t)md->hd_sectorsize, + (uintmax_t)md->hd_size); + if ((ret = pager_output(line)) != 0) + goto done; + } + } + +done: + return (ret); } static char * From nobody Tue Jan 24 22:13:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7k4PSKz3bgYs; Tue, 24 Jan 2023 22:13: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 4P1h7k2ndBz3Hck; Tue, 24 Jan 2023 22:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/xhY+P55UPb6ulnWuIgbn7VfjjlG70YbwKgR8LWYFbU=; b=xvPUVvnHQHqcRdspN1JdnNzgrMOxzNA7uhTNeT1g7UqjwyqiWLRxcouGiFiNGqlOz4lTZp UX7w6rx8aT9DML7NFd7ea7nCLVUdbXwUQHI1R7JmrpTlDa0IYaaIoNvujhTihoWs0BfOmH NvdeaAXYwWmAWkdfdHDJb7xggDB69xbBaDM+ijFfaUi7Hp+XPntHtkqfjsW1fkvkOWFyeP SkCRlvWiYPc2lsYi/SOO4qH7dXPNuT++KuXSFxd0ezMq0G1LQjYdLGybcugId0kX+f0D5U qImfar8GOm4UeAWZFk8hpzfwgYbRUdpQVQmzU4VzY+R5xYZzFhCq44m+vsvlrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/xhY+P55UPb6ulnWuIgbn7VfjjlG70YbwKgR8LWYFbU=; b=joRzuys6BW5DBPU46EA0FF/BHdUkql1FK2WM9EJjMdckdLKiGAcG45fJl64WtyAe5qzkba exOMUkzxhugSN3HIOIbJNa9LWxRf3BLVKDUy+wS08A24vf6IPFISifXaWatovesH4Y2vOA O+9aQeHXr8cHdlYta96pkyZuGU2PVsPnt19ki48zp/hTRTAiahvkeE47VI5UYCK7pkfTmi uto6khn2Q9cfSiC+jA/p6rYIpQ/BkzP3LTTrVZH7fyZRiejKXSyCxFnwglPFI2ZgrPDMH2 9Hffw/s6lp85luwQzCd6JoxdajmmisntsZzxKKtBK4hiE+sN/r+VEd8AObb3Xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598418; a=rsa-sha256; cv=none; b=DqT4Vo99zMFsXUjzBPHcFYF4My07R8/aAPxf53iJVzR9RCTchBDXLGIzue1B+abctaIYcc nT0P5cm8g0cIslHhRwNe1hp2i7dyHu104GUrhR8T96LdO46CwfJiI6M1JfDTHfiC17SGDf Xsv96WwADpdaG00yti+S4SHkLFZou9FPSAN5iBVNK2VZQp6nK0kGVJLshOC0aPKa4avarN DcU/oUO3yhpQgBd2dDzwzLDDPqKQs5gHHSgHOLAX5m1m76uGeBzJUbE1GNIy8Dzg7WKUWz 6M5OGCXBxlpq4u16klrXJ9gvz296aOVVfkdBfJvmD4orVI8pK0XWuX4VSIjVow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7k1r9yzQVt; Tue, 24 Jan 2023 22:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDcK2088702; Tue, 24 Jan 2023 22:13:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDcl9088699; Tue, 24 Jan 2023 22:13:38 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:38 GMT Message-Id: <202301242213.30OMDcl9088699@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: 01e7e8c58f86 - stable/13 - kboot: Use unsigned long long. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 01e7e8c58f86c06f246dcaf368440d2b3bc070a3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=01e7e8c58f86c06f246dcaf368440d2b3bc070a3 commit 01e7e8c58f86c06f246dcaf368440d2b3bc070a3 Author: Warner Losh AuthorDate: 2022-12-02 19:41:01 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: Use unsigned long long. For the 64-bit platforms, this is a nop. Currently kboot only supports 64-bit platforms, though. If we support 32-bit in the future, this will become important. Noticed by: rpokala Sponsored by: Netflix (cherry picked from commit da5d0a1dbc2838eae7033254705c684d7a013fce) --- stand/kboot/util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kboot/util.c b/stand/kboot/util.c index 938aad599e19..7d467a29b059 100644 --- a/stand/kboot/util.c +++ b/stand/kboot/util.c @@ -35,7 +35,7 @@ file2str(const char *fn, char *buffer, size_t buflen) bool file2u64(const char *fn, uint64_t *val) { - unsigned long v; + unsigned long long v; char buffer[80]; if (!file2str(fn, buffer, sizeof(buffer))) From nobody Tue Jan 24 22:13:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7l4x4Gz3bgb4; Tue, 24 Jan 2023 22:13: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 4P1h7l3zscz3HhS; Tue, 24 Jan 2023 22:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgbUEPTLFKunHSBvrd54kq21fOe1Zqhohh7umrVai9g=; b=xsoCYoEjCFymtXp6DspzqwXefFVo3d4ckVVQFZMh6FgNwB1e1F3Za+/SG2kZoYSCbl5Shm pb8LyTqWggWNb9wzad/W24pGSMobrUWYLSejhKm5JJHUr4xQm0go4BkYJQzcus9Hn65OhT CREJ59k3zhFpZqoNCp60wRPW38EkiXQ2WASekt2Ij4flveIdRRNGd7aJvUDehR8OmYHk95 XDEkWN2wVSBezIkLtw98Fyg0VdLGRqWl+6LudS+ZagPhiQBCerh8uOOW+UDqf/wbWweroP tvm4TJ07RgfcuXwLXxYMaZVIeVtZLa2DhMGW4fXqqw27Jz7NfeYDiei2tbL3Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgbUEPTLFKunHSBvrd54kq21fOe1Zqhohh7umrVai9g=; b=lPvJUN0kymShp0kvfC+zHqIu7Bk3PnGNcMSt4w03hCbYWlTZL9UMi499bx8cqhqjb2hDHs cPpDmJmjFk7aaTWJLvF71e33dvZM4o4VZZOBhvPrkRONH86J7xcRcqFlS0oG34rkisXLq5 qyEeGb/Qt3w4ZLh894NwSHHkGTGM5BMfLLLXcT+ORlWH32KJtd8Utgsp65t8M3McbjAb6b ClP54KLRMq2kV8ybZK9pxsVFhD/0p7PZrFCoVoClNdqquHznRVsWzX4csBYqauDA+mTf3B 0h6A3bmgjPqCI75NDwtcqxqOHwGRLH4YOewzKdom5DnuNoxaNRB2kMo+zRQHoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598419; a=rsa-sha256; cv=none; b=ssAnvIbpVqP0VczTcw9yUzx38LCokcmiO1tUe4QcrYMBUbXJEPGFwTK7+iXQPbaDu/uyma kMEpUFPYeCqCoh/PPx6yB1vKT0MQ+QGqZQXAE13utkrPWl1vkl9JZNbWN89yMZDmF7hHFj sT6d++j44RliuDD7odYjJKoZam8NzaqfH1GK4vsQZCbaHPd7llW7etFd/Mf7ezrtXa9S7P DzsjXIsFHeCHN893BZlOGdGE/0PzfFTf+bH8LHD5qiEtA0TsOTouxQuwCeP+WusTcYIZAT VV9fwaix0+bbs4CGDNhtnf6ZFPWrNnjA589algapaCZe8S8DsytPPnhykGsGlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7l3025zQh8; Tue, 24 Jan 2023 22:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDdeD088733; Tue, 24 Jan 2023 22:13:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDdqY088732; Tue, 24 Jan 2023 22:13:39 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:39 GMT Message-Id: <202301242213.30OMDdqY088732@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: d716a23cabf4 - stable/13 - kboot: Move archsw init earlier List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d716a23cabf4b390eb70494d7c022ab189cfb4ef Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d716a23cabf4b390eb70494d7c022ab189cfb4ef commit d716a23cabf4b390eb70494d7c022ab189cfb4ef Author: Warner Losh AuthorDate: 2022-12-03 19:48:11 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: Move archsw init earlier Do archsw init first thing. Sponsored by: Netflix (cherry picked from commit a2fbc8859361c7bac7823c0a1978c78df11bc81d) --- stand/kboot/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 3b2c43c20a0f..7826e06c653f 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -83,6 +83,14 @@ main(int argc, const char **argv) const size_t heapsize = 15*1024*1024; const char *bootdev; + archsw.arch_getdev = kboot_getdev; + archsw.arch_copyin = kboot_copyin; + archsw.arch_copyout = kboot_copyout; + archsw.arch_readin = kboot_readin; + archsw.arch_autoload = kboot_autoload; + archsw.arch_loadaddr = kboot_loadaddr; + archsw.arch_kexec_kseg_get = kboot_kseg_get; + /* Give us a sane world if we're running as init */ do_init(); @@ -107,14 +115,6 @@ main(int argc, const char **argv) printf("Boot device: %s with hostfs_root %s\n", bootdev, hostfs_root); - archsw.arch_getdev = kboot_getdev; - archsw.arch_copyin = kboot_copyin; - archsw.arch_copyout = kboot_copyout; - archsw.arch_readin = kboot_readin; - archsw.arch_autoload = kboot_autoload; - archsw.arch_loadaddr = kboot_loadaddr; - archsw.arch_kexec_kseg_get = kboot_kseg_get; - printf("\n%s", bootprog_info); setenv("currdev", bootdev, 1); From nobody Tue Jan 24 22:13:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7n1DTqz3bgNy; Tue, 24 Jan 2023 22:13: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 4P1h7m5Jxgz3J2Y; Tue, 24 Jan 2023 22:13:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xAWB8Thz+I/v3MHdLifigjFHO1UHFB0iCOubwx6c2m8=; b=rYbPfdGmQm2KMiFoZzd6vRd9hEjifN137NzmTRHds4pLOBrlSlK8/UIDgzHIbKCkpa4sTP Klh9bMHsvNeISz0movst+hoNF1YNAxlepLxpdTGrI3KxjpsCwvubPf7fTg0j90YqwYh7Hv 5ymCqvkbvy5u4hRYo681Y39rUgV5TzhP2ABOpKsYklSxdk+N45tdZLFkUzJFHYuXNg7kvW lTDT/njSZAI50PzmQpmzxH7yj8RLqD0jeVyenud/eA7VeX5oVzngsFUfaiuKYSWAEfbED+ 9PQhlR359k/mBbOtXHidtpCCjAZJX5t2gm9fm3xEC0s2JS3Dcuo/dpnuCM1l0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xAWB8Thz+I/v3MHdLifigjFHO1UHFB0iCOubwx6c2m8=; b=S8V2lzhOdeJ+7R2LUCDGtUK5f9xpeWN/v8MIptZIKMHe4vNGzj+HoLeP2vGweZ70ljFXu/ GeYCeN6AQ12q3OR0XQo+9Lo1V/VkRDdpVwp505PmkOvnjUU5HUU+O5nbmrQseHUs312ZKS edwxOrF5k6bSEldgKcefvPL9v1kB6gOfe83qwj8lYbTTyjXLJAHpxnkJ+Z2rCAzMs2bSCg qTFveeeFlCBmtyzcI5euc4lLJ+YozINDcF68T+A1UC6+w+PGzE+GLIQUFJYkJ6RAXmbYO9 pFOA4TpgqEVV50Wa8HiyCY14G50ViLyUPT7CO7uq9PCH8wFT3Ai5Dm6zZKvWew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598420; a=rsa-sha256; cv=none; b=NDGqkjhGp64OH0nOamJ5dl+2yAuQ9QSoHwy6GH5xjhPj4A0sjZHOQ130FBAZb89Q0aHgEN cO178efw/pYmxRV5BW7vjdRc0j62kNNLHHLrXBGd1KXmAnD8A/P0g6FNUKhCyQlSVqbUUG fTDoHiPEGeQT/nSXOnOzKxcU8QmDbYFa62UBmc2fwP2RtSEV5ihFoiC6X4J//zHxpyYMOK qp+/vdxE0HsZn7bqXA2N2x+SlDt9GSqNpdVyXDk7opFWiBLN+s1TyTxKAVkuAo1PPE949y 8HyOsZeYDmy/Ik/6KjlmwJkI/KKSbwDnrH1dY5ygWeHebenLjwBtVuzrYCQIcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7m46hNzQYv; Tue, 24 Jan 2023 22:13:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDevS088757; Tue, 24 Jan 2023 22:13:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDesJ088756; Tue, 24 Jan 2023 22:13:40 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:40 GMT Message-Id: <202301242213.30OMDesJ088756@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: fe0c839e2cb3 - stable/13 - kboot: Add readme List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fe0c839e2cb30f057d60ebb724a778bf13c503c9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fe0c839e2cb30f057d60ebb724a778bf13c503c9 commit fe0c839e2cb30f057d60ebb724a778bf13c503c9 Author: Warner Losh AuthorDate: 2022-12-03 19:48:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: Add readme Document how to test kboot and how to build a initrd. Sponsored by: Netflix (cherry picked from commit 59cbe840cffcd5513e1d3b8736fb6c0d10945ab2) --- stand/kboot/README | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/stand/kboot/README b/stand/kboot/README new file mode 100644 index 000000000000..ad390a023bb9 --- /dev/null +++ b/stand/kboot/README @@ -0,0 +1,48 @@ +So to make a Linux initrd: + +(1) mkdir .../initrd +(2) mkdir -p .../initrd/boot/defaults +(3) cd src/stand; make install DESTDIR=.../initrd +(4) Copy kernel to .../initrd/boot/kernel +(5) cd .../initrd +(6) cp boot/loader.kboot init +(7) find . | sort | cpio -o -H newc | gzip > /tmp/initrd.cpio +(8) download or build your linux kernel +(9) qemu-system-x86_64 -kernel ~/vmlinuz-5.19.0-051900-generic \ + -initrd /tmp/initrd.cpio \ + -m 256m -nographic \ + -monitor telnet::4444,server,nowait -serial stdio \ + -append "console=ttyS0" + (though you may need more than 256M of ram to actually boot FreeBSD and do + anything interesting with it and the serial console to stdio bit hasn't + been the most stable recipe lately). + +Notes: +For #6 you might need to strip loader.kboot if you copy it directly and don't + use make install. +For #7 the sort is important, and you may need LC_ALL=C for its invocation +For #7 gzip is but one of many methods, but it's the simplest to do. +For #9, this means we can automate it using methods from + src/tools/boot/rootgen.sh when the time comes. +#9 also likely generalizes to other architectures +For #8, see https://kernel.ubuntu.com/~kernel-ppa/mainline/ to download + a kernel suitable for testing... For arm, I've been using the + non 64k page kernels and 5.19 seems to not suck. + +aarch64: +qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt \ + -kernel ~/linuxboot/arm64/kernel/boot/vmlinuz-5.19.0-051900-generic \ + -initrd ~/linuxboot/arm64/initrd.img -m 256m -nographic \ + -monitor telnet::4444,server,nowait -serial stdio \ + -append "console=ttyAMA0" + +General + +Add -g -G to have gdb stop and wait for the debugger. This is useful for +debugging the trampoline (hbreak will set a hardware break that's durable across +code changes). If you set the breakpoint for the trampoline and it never hits, +then there's likely no RAM there and you got the PA to load to wrong. When +debugging the trampiline and up to that, use gdb /boot/loader. When debugging +the kernel, use kernel.full to get all the debugging. hbreak panic() is useful +on the latter since you'll see the original panic, not the panic you get from +there not being an early console. From nobody Tue Jan 24 22:13:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7n6g29z3bggc; Tue, 24 Jan 2023 22:13: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 4P1h7n5xrbz3HlX; Tue, 24 Jan 2023 22:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yiTUOVS441PSCvBs6KRi37Qi6INuO1oHuSOGsAhFtfo=; b=yWj+zHZwV+7X9pWCrHAjqy/yXZP4g5tZqpdPMXDsPnh3XsGVwPsqO7Tm7y6eqSbVK77mLb 5wo2vBDEFZk/xlRr7XNV4Lxrqm3T4u9ALgS20/WYAyp4Xxup2bsN+8xYQeEGPOeq50iFfb M3wKpBgLQl3uicDbgD7T0iDK6wv9O/zodsVmaJlU9IEKEmasWwLmGw2AzXnOBT/NqqdM5q HiwKLn+OrJQr1iPf3i5T3Gj8zrZwZYHAIbIRlfjRfo9/wQdU4tInAGkxQFX9ttQ+/397kC 7p5VnLS6/f86tZ0bRvrq7SyvfKYsWjCyWaJJsEav1n/24eq5f5mXN0zrX00cGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yiTUOVS441PSCvBs6KRi37Qi6INuO1oHuSOGsAhFtfo=; b=dCtAuGolQkIon344ZHraUeZ3B//RZtZW65sW8HUE8XSNkr/XHZ3vLsB0Jl3VcRP/oru7nk 9rzDyIJ8oAvmvzgqt6p6kgAPJjjLT6vQBWDxjrGzrXzXu8SVp4lJhh3UBuEWVRPV1xr4qd I14eC53tds5ndW03AlNTtyFo+t3ABJuciI/XI56QMXMQv0oVhzwImih6LNYBMR8mONp5Gz hKlXYIr9u644XO0P/JsobctbihQF5vyYceqP83r/dh031Ax8fa+FcrIXnxaELLF5t2UaFk DbeWaGC9tDOz9X61uwlPDvqQ6eJInYowTw4GjuOxikuB27YJnJUsOTim5vFqvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598421; a=rsa-sha256; cv=none; b=V6ikeb6QbTHzDs0dsk5HZClzQA917tR2fRs+0t+KGbWnymbmUYtimCaeOM8QSKO3NsJQcD SxWy3GHsOsN736erdUTmxe+31LrMlTbCtC7JHxvkaTifHuK6Q5aKlagL2KcLkWDZFzrOtu wpQZEkMWHJ57J3ELLrivgFDCHHJf/OdkpGROuthTIyYCx8UlGh1dmqDTwWmXISdDDWwbHF bXxvDQqBxH8EIG3Wn9ivsLMZkbniA7feH6Xx/GFRf8bsrGdb9W4nbVwMVVw4CjrfBD7C80 dhFmKACgiTlX9V7h3Fw6qAfj3Nw2aRf2NOsWAYUG7jc2C8jIgbKixCiIlhL5yQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7n53dhzQhB; Tue, 24 Jan 2023 22:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDfvn088781; Tue, 24 Jan 2023 22:13:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDfo9088780; Tue, 24 Jan 2023 22:13:41 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:41 GMT Message-Id: <202301242213.30OMDfo9088780@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: a5f090ffe83a - stable/13 - kboot: Make dosfs support conditional List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a5f090ffe83a5a06e14d8888ca62857b7f17cb35 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a5f090ffe83a5a06e14d8888ca62857b7f17cb35 commit a5f090ffe83a5a06e14d8888ca62857b7f17cb35 Author: Warner Losh AuthorDate: 2022-12-03 19:48:19 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: Make dosfs support conditional Sponsored by: Netflix (cherry picked from commit 4f6c506c6f44db2ac149a22c1048d526055b37e3) --- stand/kboot/conf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stand/kboot/conf.c b/stand/kboot/conf.c index 26788342c4b9..ba6031b52783 100644 --- a/stand/kboot/conf.c +++ b/stand/kboot/conf.c @@ -82,7 +82,9 @@ struct fs_ops *file_system[] = { #if defined(LOADER_BZIP2_SUPPORT) &bzipfs_fsops, #endif +#if defined(LOADER_MSDOS_SUPPORT) &dosfs_fsops, +#endif &hostfs_fsops, NULL }; From nobody Tue Jan 24 22:13:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7q0xJtz3bgbn; Tue, 24 Jan 2023 22:13: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 4P1h7q0HqLz3Hpl; Tue, 24 Jan 2023 22:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uYD5RtXMlXMc0vWr5CQ5qvNkqvq0LKKfAR0voTR4Xfw=; b=E6Sm7+3VTNNbs7jFHJzrcT7hwEWz6eM4TXWJPP0/RLZR4bzXtv8BUHzJYSt037KM9MwkhT ZbZuMCVttRzc2CSuIAi+xSYfcJRbifC6JoKJhWz/WqIisctfRKNe+Sh3Sz9duJeiQGsADr GCiMczciITO9Ox6fj5VF6/mQzX/LMj5sU7VhClxkaEoRMuhGsbgeDuCDzo05UTtGoKAR4i Q1wcbF5jtPXYXnzIKzM2cMvIkBVAqT+xAYgoD423fK7hodaKGW1HdQFJfRRslGq7WnICD0 AeUv3qdV8SdICmrPRonkPSlQ8BF3iFlx5mJmdwGhfZ14dO/sODFIvewZTr3a7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uYD5RtXMlXMc0vWr5CQ5qvNkqvq0LKKfAR0voTR4Xfw=; b=IcJcrk8XEk6OMtegRakMuQ3TUA8TqrTXylyTwEKgvJpgI8eoedquCshfwyLzJGEI3tzEhC Ciq0MhBlfxa9ur1UQh+yOTNT04pCw3VFcXxd9KvUpgcvCTW/FkzPeaqYpSQVp6H6dWd18I s6kozkUzLDnnJxQ1jO6NIQvb6sAhRE/yKSUoTPgva8PYgQrkAPl0W/jDGfVr7kQN9/+8MM gr9qGtJa/0bZSQQkFSgrRN+YEBF31gRkYDjJOKH/61GjMarLtmYoVW/u7438Vc0gNVwvke nzr3ON0zHDa8MkAbvWWwvNl/5nXTJ3DeeaQIo95gKrfx+jkyi2JGtgFiXASgSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598423; a=rsa-sha256; cv=none; b=TTLNwKroUt10TT8Hr5gvQKIxlXDxWON/37kBqv2AbHjqA0xKJGWnHcOSY4vTkJyjcPiUCF LVaLSduXaR1aaPxl4ifbVQS/PEBkK/dq0XB1WIz4pLgRGGfyKZ8L7wN+lWbiLEX7wyV650 BMxulfZWNy5dOUy4ykfwhhIrvfeYHYKib3+FvHlIUYivWsGNfKJb8UOGo6iCWxlKL48tBR S9OqDpntF1DdkG7jx85z2RhjTjlJ4O8Qpp4kOv/bUI5r/JhrA+lrh/S+++J+vTd+RFCbfR mmGdx0zJlJbYgDlhbR6oy1T0Fd1QQEyaWro3eDG7dWn8n5PG5TXdeDnxqz33zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7p6TthzQmY; Tue, 24 Jan 2023 22:13:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDgbI088805; Tue, 24 Jan 2023 22:13:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDgAk088804; Tue, 24 Jan 2023 22:13:42 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:42 GMT Message-Id: <202301242213.30OMDgAk088804@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: 68e7006a78c2 - stable/13 - kboot: Enable fewer things by default List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 68e7006a78c2bcc2fc70fc8eb2b622fa6140d48c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=68e7006a78c2bcc2fc70fc8eb2b622fa6140d48c commit 68e7006a78c2bcc2fc70fc8eb2b622fa6140d48c Author: Warner Losh AuthorDate: 2022-12-03 19:48:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 kboot: Enable fewer things by default We don't need NFS / network support by default, nor do we need gzip support. Remove them for now. Sponsored by: Netflix (cherry picked from commit cc623784c11df05b3019b282691b6abdd63d9a71) --- stand/kboot/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 42385c9caf76..5fe444cdf8c5 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -5,10 +5,10 @@ LOADER_CD9660_SUPPORT?= yes LOADER_MSDOS_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= yes LOADER_UFS_SUPPORT?= yes -LOADER_NET_SUPPORT?= yes -LOADER_NFS_SUPPORT?= yes +LOADER_NET_SUPPORT?= no +LOADER_NFS_SUPPORT?= no LOADER_TFTP_SUPPORT?= no -LOADER_GZIP_SUPPORT?= yes +LOADER_GZIP_SUPPORT?= no LOADER_BZIP2_SUPPORT?= no .include From nobody Tue Jan 24 22:13:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7r2318z3bgPB; Tue, 24 Jan 2023 22:13: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 4P1h7r1RXlz3J4G; Tue, 24 Jan 2023 22:13:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSeSpUnNsX/BK5cRMCMSt9+jLlZmqhNYnoV03hkDh90=; b=U+OBX89EOilxwh8ZihD1y7yvUhGJyjrrrUANzjxyf32WVwKgL6q4lqYZFDbB9mlpzzMQhX 9tXhRgVOMjh4ljvjiuwyA+WBzPVeGaBZNDyEoEm7lF/ALedAak7gYPq5W+fVpLvgCtGiA8 QLrLM5/vPhlKwuuDKe/VaRetrfK3tkTQqw9MHvfPN4bUIrfhtDh2hhOCmh2PnB+wUlpkXR uhRt8FcLqio8/gp61rkKPRUCZjdOB19WhOD3fx7O2MLC6T+FYBlSfoJqd3Aju2qNtvLNJ8 5basJKWFaf9VJERASD8Bdmpf3jKB4wWUshlYYScFtziTDUmbYKksKFedjDmTRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSeSpUnNsX/BK5cRMCMSt9+jLlZmqhNYnoV03hkDh90=; b=hHuPjogiz0y24MGxqNZTXJHLCsC9tyO4XqlAi4J7vfek+o6wdtJCkDoTCxB3V46kB8rKXd 9/LNVAbS/PXpoOV/UXcXFg1RGaeMaBOjVoUlOvPWQNPOxqwr+RhCG7cCcNRVKUWmKJBG92 Qh6/OYQDhDGuq7dXEzH4a7goMMOUkpT6itRW53P41xu1JaaNfLY+v+eTlxXFXaD0Dgw2gH yqebbkTE69y9dboprs0+LNwVBrR/QLgNRlQdV3MDAmTP0ctkJ9mBFwuko8Rz22R3+unO1R hAyCxf9QWbO+g2/U32SrDjX14vpvL18EhgKUNIukhufFlLYYYAlR9NlEx3B+8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598424; a=rsa-sha256; cv=none; b=RiXejOuPXYFKscxMkftQFytaav9lv3CvRbr5sjRS6K/hJIW+cLu6cI4qK+kJcvM47BbXio wLvwqwvF4Z2kPragHsmrQipx+2chYyqpmbCbrm6zdxDnC766QFl12Qp1vgM/atscWSlySG izV0xe+j9lHZhI6Rt/5+cJbMXJU4ujd29/9lgXOprHmYeX5QHKTg/LaVNoVfFO6bItIqW8 Z8Io/TRxP0vBpXkymsL3/52v0ZXQNSshFjXsTphrfYhzqHDBjHJFKmNPoyqW9rIr2d1HJW Wv1Rf76T0xmES8h6eQ227iNIUZvh+2UfSbBe5AX/gi9hZ9k84eODZVJObk7FPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7r0WXVzQfV; Tue, 24 Jan 2023 22:13:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDhlf088829; Tue, 24 Jan 2023 22:13:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDhtI088828; Tue, 24 Jan 2023 22:13:43 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:43 GMT Message-Id: <202301242213.30OMDhtI088828@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: 8bf162765f42 - stable/13 - stand/efi: Document the copy size trick List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8bf162765f4268b31ac17e9fe398f69713752440 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8bf162765f4268b31ac17e9fe398f69713752440 commit 8bf162765f4268b31ac17e9fe398f69713752440 Author: Warner Losh AuthorDate: 2022-12-04 00:23:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:41 +0000 stand/efi: Document the copy size trick We call bi_copymodules twice: once with 0 and once with the size of the arena. We do this to find the size, it turns out. Document this. Sponsored by: Netflix (cherry picked from commit 67e39a0d1bdb24967591721bf7c995d61e0e1c2d) --- stand/efi/loader/bootinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index c5f0291c9e6e..b93f91dfaf15 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -415,7 +415,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #endif bi_load_efi_data(kfp, exit_bs); - size = md_copymodules(0, is64); + size = md_copymodules(0, is64); /* Find the size of the modules */ kernend = roundup(addr + size, PAGE_SIZE); *kernendp = kernend; From nobody Tue Jan 24 22:13:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7s3vYCz3bgbx; Tue, 24 Jan 2023 22:13: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 4P1h7s2M6kz3JBS; Tue, 24 Jan 2023 22:13:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h2QuMQeeZV6xMVA3ijGbYEpWbrheLSXePTrBxiXlV6c=; b=bG5WJp5pMDh6DHW2ZThBNiJPPLvXmHfO6xcHluyHvvuloYIg7LUSX7qi0IvtdYoPIgYxQj azB2N6AFLO3Spd38luDMOIEgEHMEa/numxHPO0Vpd1o88OdYmn7ru/9mG2GFg4DwN9fpqq Lfo5Hl0QetVyvNwiboJSy82XvCF8RjyxI7JyLpJqeMI9pKvkmuYXMJuObj6eS6JgzIwSNm 3DiItQWtTFRAVACAvCtGoXVFU/2sZ5oZcPh701ski01uHebkWrFKHOPwMhUSQenCoI1L0O KTU+FneeRLRlfVGB4rKeJYa9vaNSdpZQFyViIQnAKyaI4V6LpotsuZaFIHWsdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h2QuMQeeZV6xMVA3ijGbYEpWbrheLSXePTrBxiXlV6c=; b=nNVpwg3xYBchNaO1WqwNy6o63Y+un3q27kElPDCUetSrO9xGB/8+devJzfQf6WUZnSxpCN Qn3lkJ45tpS/telwm4qLRappeietxflhdvPjS3FOrTcKKk/sprMJgbkQu7m9KdDslT/Pvj Z6yTTYtf+PQkCT+y5Scjodejx0wqaB/kHJ7hY29dkaaprdaH3mHputIIFZTB4P04P3ic3v 8bPxIH3uQpvJEUgh5YHTsIaN3WlTRHi5PFIDoLNykOJwOQPC8U1Q6Ilh4nsBFyRwA0fdfd hp3z0EQT12zSFvs4u6s1hUNJgMZmhHRzU9cEmtA3LMXmQrHWpdMLrXzC4sHqRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598425; a=rsa-sha256; cv=none; b=ceOx4xek9GfZGR4zJn6DLB9t8854f/l06C9vYCKezju6VciVy/GUHePYd3usZCtKmsMkeX ZfmVlNHb9rxblIcba7//bgSuY9HuCJbbVKML9xSKPDxmBisRrmPxg2+/gjiN/uti2XDJv8 6oYjre/vAJQHGRs1BjFVISfpBhw2DZe9BxF3xB3Few2uDG0hEyET4gxSRfrG+rZQlJ3eXG NkY0WCMfiJ7Sk92kOmkkfSNANQqLf4lWX6N3LbwVDdV32lm0KPyIcSKDDcT+2xKRFj3rq0 MKd7nIy3YFsAn7rjC4AMG+J6bvwyVWDXeLFP+6VoUvV00s5z8DMH2LnbH23qRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7s1RqxzQfW; Tue, 24 Jan 2023 22:13:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDj1a088860; Tue, 24 Jan 2023 22:13:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDjf2088859; Tue, 24 Jan 2023 22:13:45 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:45 GMT Message-Id: <202301242213.30OMDjf2088859@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: 495986b63bf1 - stable/13 - stand/efi: Remove redundant parenthesis List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 495986b63bf1e6e539e8accb24168503b96ed2f1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=495986b63bf1e6e539e8accb24168503b96ed2f1 commit 495986b63bf1e6e539e8accb24168503b96ed2f1 Author: Warner Losh AuthorDate: 2022-12-04 00:23:20 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 stand/efi: Remove redundant parenthesis Style: Remove redundant parens. Sponsored by: Netflix (cherry picked from commit 3df86732afed7cea51934d613f8aa43b87787cc1) --- stand/efi/loader/bootinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index b93f91dfaf15..8daa00660e17 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -357,7 +357,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) addr = 0; for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { - if (addr < (xp->f_addr + xp->f_size)) + if (addr < xp->f_addr + xp->f_size) addr = xp->f_addr + xp->f_size; } From nobody Tue Jan 24 22:13:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7t4KQYz3bggg; Tue, 24 Jan 2023 22:13: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 4P1h7t3vcxz3JFS; Tue, 24 Jan 2023 22:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPpsbXypcmx2s4pmQ4I1G1taffMHaQoLUOi0JXQ4yXM=; b=aLMTuL+D5ZloFl9aNk6iG1T4Xlwz0Q0suYJpvsx0YOo/+8IE6EgCLCU5b6CiNun1GRrBap y1B8TOIclq7M644jFNZDtPp4PJvk3GPnir2LpAFTt6UKjqBbER4V6hU3r/QF+e1CHpOsrJ rnm+PRtdrjjIgl8ZBWHIP7d4ZtAdAqX0Jnx39T2ZB6Vn+ABXZVNxP0ANO8oP3abgltunQz bML8c3x/ZOrP9xHwaZDHoukzZLbHyEBTrtqAkvv1I2cPYuKxrB7PzMukL+7PDph2cgZgEk uLHfwzubx8dB/nRP2Mb9kmT6oMBngkI5IbcePsxNZ0WZBBDZ9P32xuWVjaFb7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPpsbXypcmx2s4pmQ4I1G1taffMHaQoLUOi0JXQ4yXM=; b=nVdlxP+DaIsQZzqUjBgrHlmKi3Wl11gMETQEGOrMAgk57TTRlXgMUnGjfnUJUpfrePiMjI dJ3is3iTwWkThDIHy7j1iNeuEqMeEpI3LScjeTYohmRyepR2N8KJVUexJMmBWYDVQRZKW/ /42jIm4blElvBf6Wl7foecrKd8AepynA2g5S5sjxnbRBf5roTUEKP2Hm3F8M45AnQ0gaTY 6Uy89uhVHlJEYHkNRcFWQrfvaTwVUusYHOapZocszZW3d4pg8n8cSXUWyHvLvmPamYt+ff /+zGQGoFl4qffOaJHUUuibfrGPzN+IMsfjEGvpK2VfteG/5U6/RjdGI5OXYgGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598426; a=rsa-sha256; cv=none; b=Li0cn8KpzPX8ppRhitw6odgXvjK1s6BZP/ICI9HC/MVlKsBratozV4LutEgZgxb7aBSMNJ 2D6QZj+vpuk2j4XKd0khqiEPcBCEkqimIjZ+85AbUqin2xIvnIV2B3Lx/iLIY9qnFqFLYx 4FWFWJhXlGE+/V9EhvexcBaC/kqG1uqZWQ6xb8Z7S6Z0Z3ROf7v83h1YnUaUJ5JZ226Prh LT3C1twV50na0Wm9ttZsPwQ3aagGFSeK71uMcTDF8AOvWIip5dh+p7wDiMLzBVgocyadd5 6SfCzGCvgOoJZiFuIige3FtsvG/aR3PQheQLDepoXTwpeAEM1sppZlU8uS4iJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7t2sKSzQhC; Tue, 24 Jan 2023 22:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDkoT088884; Tue, 24 Jan 2023 22:13:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDkQs088883; Tue, 24 Jan 2023 22:13:46 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:46 GMT Message-Id: <202301242213.30OMDkQs088883@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: 374952d9911b - stable/13 - stand/efi: Better include order for sharing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 374952d9911bf362c97751d93311df9e1c9457dc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=374952d9911bf362c97751d93311df9e1c9457dc commit 374952d9911bf362c97751d93311df9e1c9457dc Author: Warner Losh AuthorDate: 2022-12-04 00:23:22 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 stand/efi: Better include order for sharing Have a better include order so this can more easily be shared between EFI and kboot. Fewer ifdefs and the same (enough) include order as before. Sponsored by: Netflix (cherry picked from commit 3f2c1eb5b84317bae98420c1346304b604436727) --- stand/efi/loader/bootinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 8daa00660e17..2187a09c1ebf 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -45,12 +45,12 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "modinfo.h" -#include "loader_efi.h" #if defined(__amd64__) #include #endif +#include "loader_efi.h" #include "gfx_fb.h" #if defined(LOADER_FDT_SUPPORT) From nobody Tue Jan 24 22:13:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7v5XpTz3bgGn; Tue, 24 Jan 2023 22:13: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 4P1h7v56HJz3JP1; Tue, 24 Jan 2023 22:13:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYkdl5DP1I25DhIBcdGSxha+IVyBpSM0gL7BWqaWFZY=; b=QCLxhfwvJx2x/tOad2YJVYtQLlFOiO/qSuQ6njQgm098CojNwWpUMytc3xi50dQLNW515y seZACuetQkkOuuOP+FS6CH8O74uBFOvhsPEKmWBnCh8JvOM+YLoSabcJ/KmhXwR3Ou3ebC d0c96/rDqFSaJEf5hxU7Jv3/UYG9G8b5Yi/hKPJTvX5yPwKjwe/QWTB/c5u25QCp4ZQxmH emJWilY+vqZWhrnagi0JY0Sy1e12nv9EPxajazkYvnsaTcUvUQFH0Sxid548wkcJPWI1a6 fOivELSIfIhzW2UL08tUH7rKQOIEYYQB5m7CiWZsLAgvvBfPJKMgt9VD9hOSQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYkdl5DP1I25DhIBcdGSxha+IVyBpSM0gL7BWqaWFZY=; b=WZaY0cYP9JcmWCsBZQG0q8Xia1FR84UXj5IjJpchvgETPVErBIfeX/QDALlrUIFWwxbbw5 LN3vTbgJ/Y4bNvQDQd0oEJgAjR/BlGKQeb9Td7NaFt0yTb2pZFi290QE4rM3fuuYFjegbM TFLnFZYAGELA6h+AljlD0n/kLGof5AAX+HpO/O0bx8C22iqz9LVhNZHgrfRxSpPQC3WDcZ ot5xbUtb2eBxOXOiscJtF6EltctPItYarnOy+7zGnPhoraTxDc51xrQPZjp4RYPpBqynOK WgGrckNZH1r+Fhr8rkTW76wvjvnP6pE+tzhcVkncotlPTrCQRc24ZISIrKgS6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598427; a=rsa-sha256; cv=none; b=VI2WbRPmmZlht7xvD9sa5y5KjlFM8+Mjd78e/IXMPdNGtLFSygfXTepfY/ADrCsUFt1aNV 70St19ppevEJyvFSd40vEEwQ47yEvZEeAKf2SofcChZG6xO6zz4dSXxHoGG2cvSqSDDzyk jDwYbQCKIxVXf+puAE/eqQzfcearc2p+KR21rk/1ILoB3ijo9H/7a+OtPqV8h7VsVZL1yH Kc3ZrIWWYRxVIb0Af1/dZjBMTj9mbtzQb059aDT8gBqOcizFtaGxf0xFeSgMJjeYTbbgmM v08l3SctnsN6P1YS4Ol7nt4Zpnm4z+nI2lIOINV+c6w86mer+OoShyb42D972Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7v42DpzQhD; Tue, 24 Jan 2023 22:13:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDl1C088910; Tue, 24 Jan 2023 22:13:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDlCg088909; Tue, 24 Jan 2023 22:13:47 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:47 GMT Message-Id: <202301242213.30OMDlCg088909@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: 583dde3da0b6 - stable/13 - stand/efi: Break stlye rules a little for easier sharing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 583dde3da0b64e772e0f10c1485d55cf2375d311 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=583dde3da0b64e772e0f10c1485d55cf2375d311 commit 583dde3da0b64e772e0f10c1485d55cf2375d311 Author: Warner Losh AuthorDate: 2022-12-04 00:23:25 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 stand/efi: Break stlye rules a little for easier sharing Break the style rules a little to allow easier sharing between efi and kboot. This will allow the ifdefs to be fewer in number. Sponsored by: Netflix (cherry picked from commit aed1e5d332f9d26cdd8477bc336279217d53ecb8) --- stand/efi/loader/bootinfo.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 2187a09c1ebf..e05197189a46 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -71,9 +71,10 @@ bi_getboothowto(char *kargs) { const char *sw, *tmp; char *opts; - char *console; - int howto, speed, port; + int speed, port; char buf[50]; + char *console; + int howto; howto = boot_parse_cmdline(kargs); howto |= boot_env_to_howto(); From nobody Tue Jan 24 22:13:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7x0tzxz3bgdX; Tue, 24 Jan 2023 22:13: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 4P1h7w5swmz3JM8; Tue, 24 Jan 2023 22:13:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jyjA1TDc1n3ooEih1u61QIH1v6mYmPODhTg9LOhe8ks=; b=HqR71VIxLPWRQ1uyM+YumaBv/yr3mSbBtWZJNrtICt0a+TxhLSYTCxKP6Zsu/mspOoGO4l uIVt0pGcndSkx2tCQXoPqXwNFv5sQrDlG22em3LfjMBpcLEZ1ZQW3ahdGWa7Gp0+BGN+61 1E2BXsYjAzOPTRYSRm1QQWIG/bjUfy5XVocgLtF6SU/uqSCXkbD4j5yPj6cJFcofZzxIcy Tpm/3Uih2rGxkT6Hb7e2bMPl7i2EZ/DkhNVSiX4XodxL1A3AFJl7pLz8aOTi/tr7LpH+ko tBlovWiGgUVtHSQyAWd4dYsNYpJX0unVrBXIr/1ejWa+LDPtmO7kJWQnmbLmlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jyjA1TDc1n3ooEih1u61QIH1v6mYmPODhTg9LOhe8ks=; b=R9jXB+vVzlGl8ZCcREnUZKDE3j1k8T+TEy+lVybEXGPO2f678elSCKlOn8M+v9kaW2NNAN rLreS97r2RFeYQ+4+ObgSZu3yK6of0ZQ51Ab5iInU6WVwfvMa9fgapwtqAeCxgOQy94dRN Tf4/NSVafFVo5B8nZtbSF+98oRJUGunNHlP8DcUSSqyTLkZFaUtx5hQBns+zeB1FfK0att pl2QNwEm7A7dc+ZCWDb34yMBrFFfP5nDaw10FrbENwh5OYIQvmNYOLeOL72Ig52djZ4eyk JBBAU2AVDHBuICaLG2l9cGOvrRxw5C0h8cEsViHwOlsW4yJ08Be74aXhNE6qXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598428; a=rsa-sha256; cv=none; b=DfrsHqXn4BUzJCHgwlq8x+FrIEPAAYBgGCZeudBmiSsyoNhvDVcles8LiS5IJAqVsWWlpY gF+3zzWUictZpY/MgjiWqrX6o7VVxdxT2TTyVSyw+X/jE9zYKg86dSitCT93URH3MYUfER 91hdno1JW6uGesfiMaAKA9R2lE3MireIagdivncVofYRuU3NmkyPdu/iwdEvh64en4TqhP E4HWy9/b5y/UAc1ZGTfrYEVE3EQjJgomwylqiVEzSdGnbqHxwTLU+BlkuiS9WYWnoOs9Pl ukRJiYcQArxBM/zuzj0K22Oeefv990an5UbW5Y6lYverq2zSE4n2uDFoBGkmoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7w4t5bzQVy; Tue, 24 Jan 2023 22:13:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDmPQ088935; Tue, 24 Jan 2023 22:13:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDmbp088934; Tue, 24 Jan 2023 22:13:48 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:48 GMT Message-Id: <202301242213.30OMDmbp088934@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: 743ee03d7289 - stable/13 - kboot: powerpc ldscript catchup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 743ee03d7289ec1296c78eff5c3b10215dca132f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=743ee03d7289ec1296c78eff5c3b10215dca132f commit 743ee03d7289ec1296c78eff5c3b10215dca132f Author: Warner Losh AuthorDate: 2022-12-04 04:41:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 kboot: powerpc ldscript catchup Catch up with the latest ldscript for powerpc. Make it match others in the tree. Sponsored by: Netflix (cherry picked from commit e3b74ec119a7d98a0f340674e28923707b7166b4) --- stand/kboot/arch/powerpc64/ldscript.powerpc | 48 +++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/stand/kboot/arch/powerpc64/ldscript.powerpc b/stand/kboot/arch/powerpc64/ldscript.powerpc index 729113695105..662871eb7c09 100644 --- a/stand/kboot/arch/powerpc64/ldscript.powerpc +++ b/stand/kboot/arch/powerpc64/ldscript.powerpc @@ -10,15 +10,7 @@ SECTIONS { /* Read-only sections, merged into text segment: */ . = 0x100000; - .text : - { - *(.text) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - } =0 - _etext = .; - .interp : { *(.interp) } + .interp : { *(.interp) } :text .hash : { *(.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } @@ -40,7 +32,9 @@ SECTIONS .rela.fini : { *(.rela.fini) } .rela.bss : { *(.rela.bss) } .rela.plt : { *(.rela.plt) } + .rela.sdata : { *(.rela.sdata) } .rela.sbss : { *(.rela.sbss) } + .rela.sdata2 : { *(.rela.sdata2) } .rela.sbss2 : { *(.rela.sbss2) } .text : { @@ -55,9 +49,11 @@ SECTIONS .fini : { *(.fini) } =0 .rodata : { *(.rodata) *(.gnu.linkonce.r*) } .rodata1 : { *(.rodata1) } + .sdata2 : { *(.sdata2) } .sbss2 : { *(.sbss2) } /* Adjust the address for the data segment to the next page up. */ . = ((. + 0x1000) & ~(0x1000 - 1)); + .data.rel.ro : { *(.data.rel.ro*) } .data : { *(.data) @@ -86,6 +82,10 @@ SECTIONS .got : { *(.got) } .got.plt : { *(.got.plt) } PROVIDE (_GOT_END_ = .); + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : { *(.sdata) } _edata = .; PROVIDE (edata = .); .sbss : @@ -107,5 +107,33 @@ SECTIONS . = ALIGN(4096); _end = . ; PROVIDE (end = .); + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* These must appear regardless of . */ } - From nobody Tue Jan 24 22:13:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7y0QvVz3bgcG; Tue, 24 Jan 2023 22:13: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 4P1h7x6lG3z3Jg0; Tue, 24 Jan 2023 22:13:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l4YpC7wvfEMPD13l+HUdi6Ja7DZJz/HDMCPuZVOzU2k=; b=rbgF3uBKvAwa6aMFFhLI7ei9nHlXFILEVkfM9rgIObxfLMskgIroryKXHuCC4pgloSUtbe CaKnESpWyxnLZ6PvWBL/tlgrxY09lWjwReAB0KGzzGCaE0tb0Cvi5QJWftkKnvxGbIZ+IG qYoOmzYxghh/akgIImgC1gf5HNI9PiFLfd4kVZ+D7XVrRzTaq2WYZdWQ4zUCWMmvIH6C3o kIp10dFma9XiY++t700mMwATO/1FrM82URFYADebtjs9ITRQXzti/xut48efE7WobJQMR1 MNhIf9aleyNBz8R9TU9OykpfuijpsWC97i7qz5zHinQJJ4Ii7oxYdE6YncCSzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l4YpC7wvfEMPD13l+HUdi6Ja7DZJz/HDMCPuZVOzU2k=; b=xOvzLGMegpg+iIDm48cdct4ZebKyP6tjbP7g3N+KLBLWLg52rWJW/IJTn7tPZp77Xh/nWe pN0o0l6MdOvfeZ5bGVol+b3I6vKQI9bxBcGnAkE0nAg9Pj+3fnXfH9k/Vwr+9nFqIdzWjM jpWqokXq9V+ix+ni7vTdDMRqxsdx4GjCvsCyAr1osqtAqf0T+pR8TaAHt/Pnd9+CZdkfez CGCgXBEOKpIiO59zBh+AVhUVbDnZ7G577JtpojztFeJWGDE5s0yncJkPPDd7xigdY/RlLJ vmMf6lQWSkXHwQ8u/GhPBaizXOgDmy7OdIdr2InrM3/P70pCFRtm/5nwR/cqYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598430; a=rsa-sha256; cv=none; b=nxWwVm+sd45B5/uSigo1cfnok7cPoVftm5HbR090+d8o0ViuNpT/ixQwVqDHLGWz8ozZVs pl5zrW7/1qsUbWLhTab8DOj8+6r5sqIV1jexLWr6YjcROeNdKgc0taOoZlrESLGk0uVj1J GCxxGvpPxbbLU5Uz9O2FadtrQRcirLVk/ZT1OgMnsCrVW0iE+FqOdB4IyV29qrW3tEemXA CpNQf2bSd8Eh49SPWRNen9tR7N8jGz5wyrrA6GAdRpXhcT0A436kc+XcM9LqFBVLcnlLob 6+Po27FRsu10YluXtKr3LnlXnv1AjNJh50shycJ8hSF6i5y4Bz5a638ypzjPOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7x5q22zQk4; Tue, 24 Jan 2023 22:13:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDn5B088960; Tue, 24 Jan 2023 22:13:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDniK088959; Tue, 24 Jan 2023 22:13:49 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:49 GMT Message-Id: <202301242213.30OMDniK088959@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: 76cd49c8fecf - stable/13 - stand: aarch64 has different nlinks than amd64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 76cd49c8fecf77412c9449c3e7583fb8d0455f28 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=76cd49c8fecf77412c9449c3e7583fb8d0455f28 commit 76cd49c8fecf77412c9449c3e7583fb8d0455f28 Author: Warner Losh AuthorDate: 2022-12-04 05:46:21 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 stand: aarch64 has different nlinks than amd64 Some typedefs are system dependent, so move them into stat_arch.h where they are used. On amd64, nlinks is a int64_t, while on aarch64 it's an int (or int32_t). Sponsored by: Netflix (cherry picked from commit 929c6216b1668b9a8bc7d9d9edfd528ef74c69f8) --- stand/kboot/arch/aarch64/stat_arch.h | 2 ++ stand/kboot/arch/amd64/stat_arch.h | 2 ++ stand/kboot/arch/powerpc64/stat_arch.h | 2 ++ stand/kboot/host_syscall.h | 1 - 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/stand/kboot/arch/aarch64/stat_arch.h b/stand/kboot/arch/aarch64/stat_arch.h index 2462caed8682..9b52fe60c449 100644 --- a/stand/kboot/arch/aarch64/stat_arch.h +++ b/stand/kboot/arch/aarch64/stat_arch.h @@ -6,6 +6,8 @@ * Note: From the musl project */ +typedef int host_nlink_t; + struct host_kstat { host_dev_t st_dev; host_ino_t st_ino; diff --git a/stand/kboot/arch/amd64/stat_arch.h b/stand/kboot/arch/amd64/stat_arch.h index 81f3738f3ea6..74946abd2cda 100644 --- a/stand/kboot/arch/amd64/stat_arch.h +++ b/stand/kboot/arch/amd64/stat_arch.h @@ -6,6 +6,8 @@ * Note: From the musl project */ +typedef uint64_t host_nlink_t; + struct host_kstat { host_dev_t st_dev; host_ino_t st_ino; diff --git a/stand/kboot/arch/powerpc64/stat_arch.h b/stand/kboot/arch/powerpc64/stat_arch.h index be5584951afb..103849b0e82b 100644 --- a/stand/kboot/arch/powerpc64/stat_arch.h +++ b/stand/kboot/arch/powerpc64/stat_arch.h @@ -6,6 +6,8 @@ * Note: From the musl project */ +typedef uint64_t host_nlink_t; + struct host_kstat { host_dev_t st_dev; host_ino_t st_ino; diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 0029004f675a..ea0745542a5b 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -37,7 +37,6 @@ long host_syscall(int number, ...); */ typedef uint64_t host_dev_t; typedef uint64_t host_ino_t; -typedef int64_t host_nlink_t; typedef unsigned int host_mode_t; typedef unsigned int host_uid_t; typedef unsigned int host_gid_t; From nobody Tue Jan 24 22:13:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h7z1VZHz3bggr; Tue, 24 Jan 2023 22:13: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 4P1h7z0Z9lz3JgX; Tue, 24 Jan 2023 22:13:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2bxB+C+1aArxKVC3hfNgRFVxy/JhMJ1hwLpzEy6kuwQ=; b=yNwu1xwUWBpinBWlIOjOV5eZvJBwJvzAxojyfHTY9iEb0VLqokkEmNv2Kbi1+jKgtnacL1 UrR6BpvUpKKgsaD7FUcz+ssRYDaLGrYdiOclyIBY3Lh317hjxt+i++a86JOWudHgQQc2Pv 5KLiS1IEm1QlHTgStV8nLBJKFbxDonOfKi6HjPqWyXfthWT8h8Y7MRrJ7MdJP7rPxZI/6C CAruwJ7MmCVMyg8skekpJqRODN6ZB4frisWoBefTChgTLLdiYfxIZymom1src8lQSaLlrx VgkI/LPYasnpj1vtTnJY5Ch8wKqjjbiEq9zHcK7Z5zXUD1PZdGBpwp5v18FmjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2bxB+C+1aArxKVC3hfNgRFVxy/JhMJ1hwLpzEy6kuwQ=; b=n8AkWnS8EWu77myH9E7bXC4j1UIq5ZprQtGuCRHqymHP3Lb9idCao362906ayOIkaDvAYR SpyG+xQSCACyaBYY2R8UNZgGEs0JhRQj3tf9QWRDkJDqgKG6a9XFxYYtSf+1lKHEzu24pw 33la5F37BpxHqgC+Lpk9TEq8zcb62tjqcbe9ImiDcypLUn8kdsE90KhovwFh5XcylsrbJe mj4d0RiqogAASf4V69JiSg4/C4uzwrttG5xfmiXIKaEU0J8nY6t+xrTTxWO5YyMiHCghqL wDz//gFPYajEUJLZIlRjLpkCB3S9Ua5rxvqbKLPolYhPusG1PgSqD0RvYa4k3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598431; a=rsa-sha256; cv=none; b=TIsgcaCT9noUKy+/emLyBCV7LbwG8FJi+GaIRxfNQ0bEYUGDsZz/nmW1GixcV/ag205unr vUVEW9XKSVc0OSwELs/6B2YpPwYQRdQys9uYyFklF93SsNMmVO8+cim5WCXv9QSujHxCQO jQkRSD3eNnCAN1BqG1hmt2FmqyKw2FfrytrsE8+Jwo2/4Q2DQukM9hIfW/updhDhZkqVOp NtxeI5YYOd5E0tlZFDaImKifcePaimWrnP8JL2a1W8Yq7Wk+kVX4nu+01/tmUYypKMGm+o tARhphFx+Hk1pYr/HHoiWL07MENqWnb9nn2jP2bbyGUPhoE6ZsMvGgC5C9PU2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h7y6m4wzQPs; Tue, 24 Jan 2023 22:13:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDoGe088991; Tue, 24 Jan 2023 22:13:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDoX1088990; Tue, 24 Jan 2023 22:13:50 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:50 GMT Message-Id: <202301242213.30OMDoX1088990@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: 3f10d138f335 - stable/13 - kboot: Add missing license to termios List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3f10d138f335661e5f5869b4eefcbb6f7884890d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3f10d138f335661e5f5869b4eefcbb6f7884890d commit 3f10d138f335661e5f5869b4eefcbb6f7884890d Author: Warner Losh AuthorDate: 2022-12-04 20:12:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 kboot: Add missing license to termios I neglected to include the proper license markings on these files. Remedy that now. Sponsored by: Netflix (cherry picked from commit 1fc8e9b833347e1376fa486ff1b0b756acdbfaf6) --- stand/kboot/arch/amd64/termios_arch.h | 6 ++++++ stand/kboot/arch/powerpc64/termios_arch.h | 8 ++++++++ stand/kboot/termios_gen.h | 8 ++++++++ 3 files changed, 22 insertions(+) diff --git a/stand/kboot/arch/amd64/termios_arch.h b/stand/kboot/arch/amd64/termios_arch.h index 0d5ae3718498..5db0b9831cdb 100644 --- a/stand/kboot/arch/amd64/termios_arch.h +++ b/stand/kboot/arch/amd64/termios_arch.h @@ -1 +1,7 @@ +/*- + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + #include "termios_gen.h" diff --git a/stand/kboot/arch/powerpc64/termios_arch.h b/stand/kboot/arch/powerpc64/termios_arch.h index 62b801ff16da..7b9e8f15a8ca 100644 --- a/stand/kboot/arch/powerpc64/termios_arch.h +++ b/stand/kboot/arch/powerpc64/termios_arch.h @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Note: From the musl project, stripped down and repackaged with HOST_/host_ prepended + */ + #undef HOST_NCCS #define HOST_NCCS 19 struct host_termios { diff --git a/stand/kboot/termios_gen.h b/stand/kboot/termios_gen.h index 041205e6dd0a..6e26338d4496 100644 --- a/stand/kboot/termios_gen.h +++ b/stand/kboot/termios_gen.h @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2005-2020 Rich Felker, et al. + * + * SPDX-License-Identifier: MIT + * + * Note: From the musl project, stripped down and repackaged with HOST_/host_ prepended + */ + struct host_termios { host_tcflag_t c_iflag; host_tcflag_t c_oflag; From nobody Tue Jan 24 22:13:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h801vGtz3bgPW; Tue, 24 Jan 2023 22:13: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 4P1h801GRSz3JbP; Tue, 24 Jan 2023 22:13:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JwbbBx29mWwd4VRDnxIRgnL9aXoGYwbZXbS36fyF2xA=; b=iWnAAq9ameC5VeIkcWpilGrvxJJ+a4wSmdpd5COtQo4mQGAVb0AsVnpl9FRVHMZPDfuYmD aPyFhJUc3slV3Vypr7WTBJzqNWt0NVFoVW1sobc8tXOY/exNCHE1OYwlhr+dduAd9r0NO+ 6CF8cmxSA3+Yfci3dX8kutEsDaaPApeR4BPd6L9ZBfLFyfV9tgpjjrfkVcTSm7cT9pjk3V C6JjM7MHH1ljpBQra1LZ+LWCDXUs11h7juiZdpTAvmwXDD/lqB0xbb3XYERjE+nEgRu4EF 1Vq0YzADmRWD16f1skE5OhDm9Cm62HqIuzgm/U60EVfEXPJQ7YbVSofOgkXcCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JwbbBx29mWwd4VRDnxIRgnL9aXoGYwbZXbS36fyF2xA=; b=L/0O1c5FAub/C9Za7oamibNupLvkYrA9D+1UEbJfn4Mykgv9trRX1y4FxWRKBIBMbQG+48 n3hELIeNbKHv688AwDzkBmL+BlU4kUcvxCep8tzG0Y/iJKXIqPjcTdcQfH7Q1x2h9XURN9 h6BzGzgcXXVGd3qPIP80HAyrJMbx+mHTJnL3J14QIIRrJTqPrNEMZrfDI3m6EjmDY2IwhP 0nDFGZN4KfSfJItiytZhoXVJWpO5x7eRh+CkHkzDeQWT7NiEt8MSs+is5P4AbM6X92Y0TG UOg0iMRT3ofi/qnqcRk9uS4/unCy5Yy75d8IazhalN0KxxoTkx/+BgNq9pqjpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598432; a=rsa-sha256; cv=none; b=PRNZwZHI8gu9GaCWLgca0TJBaW1jh0FdkMRanO5NCzGkX84UZz75FnCLtsnud6H7kscUkU p8QGUo6l3WnE09lGestqyEiKuxK2U8fn0oGwYRt3w/3Tj0ckbFitAmmclpNRTq+ZKvcx+l HYsqIliEnsTQ0yP+WoGNKmIrm9ygiB+4f7fDni4D2711onYsb/uJY/Vo5nF1cdCELEiVM/ V0bUqg1r3IBJthyc8p1Z1iMwr34vP5IomgKRToH2lZzr13BeD5lcOAWf5jjBRdRxN/fA7m PCOmEFUCLO4Krcupq6oKJbnP4Mn4CDEhrYwnvU6dj5iRgbwTjeIVD6Ra7+pg7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h800LDvzQhF; Tue, 24 Jan 2023 22:13:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDpNR089015; Tue, 24 Jan 2023 22:13:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDpAk089014; Tue, 24 Jan 2023 22:13:51 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:51 GMT Message-Id: <202301242213.30OMDpAk089014@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: abda8106e231 - stable/13 - kboot: Add aarch64 termios List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: abda8106e231e1ac45d3a4fd461c099b9b68b80e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=abda8106e231e1ac45d3a4fd461c099b9b68b80e commit abda8106e231e1ac45d3a4fd461c099b9b68b80e Author: Warner Losh AuthorDate: 2022-12-04 20:16:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 kboot: Add aarch64 termios Aarch64 has the generic termios interface, so use termios_gen.h Sponsored by: Netflix (cherry picked from commit 58091659cf0805c8b5b977686313d06aeb400446) --- stand/kboot/arch/aarch64/termios_arch.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stand/kboot/arch/aarch64/termios_arch.h b/stand/kboot/arch/aarch64/termios_arch.h new file mode 100644 index 000000000000..5db0b9831cdb --- /dev/null +++ b/stand/kboot/arch/aarch64/termios_arch.h @@ -0,0 +1,7 @@ +/*- + * Copyright (c) 2022, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include "termios_gen.h" From nobody Tue Jan 24 22:13:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h813hMvz3bggv; Tue, 24 Jan 2023 22:13: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 4P1h812MRVz3Jbs; Tue, 24 Jan 2023 22:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=baHglczFxtPvp9a2rReJ5mnnFRuCehAWSCR+w7Eldes=; b=Fl5TQwtT3M2vdqtSos3mq3lbdZrfKuPQpNWV4Szp4pkuEGlPx9tGFXrj1IYXdd2z1VIxme pDUFqtEcRiYkpJ3V087KkMmv5ubkK7uLJvPwXETSqVamFGv4WkA4lXRGXBYf1IjHQBIhhk eUzOnqedfJIZgsA5Qjs4QkF6e3xeKvPEoyVL/y0zFwiuigehi8U1EPBHPvqpIiSSP5X2HB zqA9KtdKgwzPXQoAmNRkgRqAtckZm8Z7RzyB5W1LNtZVCgmR5XzUcNSv9Kgxggenmk6VRl ELfzWxwVpzPKpncYKq82zNJYrwyC6J8EELtJZL9/UMjbmUUtMTHIvHnzI7qsAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=baHglczFxtPvp9a2rReJ5mnnFRuCehAWSCR+w7Eldes=; b=iT1MGtdh/2kVbSc+4XQSWfa0pNUM+bxE2FNOF5FKTmD5t1IscHOuRgewAmULN5oFGzIbre acQ+qKUpyJe4CFNDQbVZvEuEIHUKlSphqSaBlcYdzhH4NBOA8+U8FHyUZGXdmk8lEvlXZQ OUDMH0D9PFQXs7YAviPTBdgs0CoxKVcXAkxlLQodlII6lUKIZIXmmLly6MEzVqIr386p6a ItvADwJtyDKi0fqObELEj8xcaWnxz71IJvipN/8T9lqyFiMpI+kAf0xNPs4uDo4fzJgnpA fAHx+m4jN21G6X7b177Q4vo5puzA42tMg/9uq7pF2nwBvbS7X46lgUDQZ90N+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598433; a=rsa-sha256; cv=none; b=gn5/ws6KuE4Kte63RepI29lf2YRLzFSZA2wKiWVgeo0+MYjWwRqJMDxbLS87rQ1FSeMhWq sG7wK9CdKM3sXzPmPkxt4lJAyY/5arQM0E7YKon3qleqcUXu9w92DobNcJvsWmaJwKPzzO pj1bBZmw95xAF7lYwEEI40AHjHGiToiBIKB1rlV3gn/Pn7uSt3B1eSIXkWySIDsEKJib8/ Pt4jlc1u8Qxz00YmCJRxYFCFK1HMC+rSuBDIITPRtwzKxckVckpwFGtGCFdCqItQ9TX9mi oLr08AJG8hRkl99zw3LqEKFvpdmfM63SgjQFhgIEr/Rv+dgAEIKEZA/0hR+ueA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h811TSSzQhG; Tue, 24 Jan 2023 22:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDrl6089044; Tue, 24 Jan 2023 22:13:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDr7d089043; Tue, 24 Jan 2023 22:13:53 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:53 GMT Message-Id: <202301242213.30OMDr7d089043@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: 31f473ee8763 - stable/13 - kboot: powerpc64 has no newfstat system call List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 31f473ee87632c79220b44f38c41374accdcacdd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=31f473ee87632c79220b44f38c41374accdcacdd commit 31f473ee87632c79220b44f38c41374accdcacdd Author: Warner Losh AuthorDate: 2022-12-04 20:20:04 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:42 +0000 kboot: powerpc64 has no newfstat system call Powerpc doesn't have a newfstat system call. It does have a fstat call, which we define properly if SYS_newfstat isn't defined. Sponsored by: Netflix (cherry picked from commit 8483b3add8e706e6e54e8508e268c623f77031d1) --- stand/kboot/arch/powerpc64/syscall_nr.h | 1 - 1 file changed, 1 deletion(-) diff --git a/stand/kboot/arch/powerpc64/syscall_nr.h b/stand/kboot/arch/powerpc64/syscall_nr.h index 71f2452c9124..735e79a09158 100644 --- a/stand/kboot/arch/powerpc64/syscall_nr.h +++ b/stand/kboot/arch/powerpc64/syscall_nr.h @@ -12,7 +12,6 @@ #define SYS_mmap 90 #define SYS_mount 21 #define SYS_munmap 91 -#define SYS_newfstat SYS_fstat #define SYS_newfstatat 291 #define SYS_openat 286 #define SYS_pselect6 280 From nobody Tue Jan 24 22:13:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h824C4Xz3bgdh; Tue, 24 Jan 2023 22:13: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 4P1h823DmDz3Jky; Tue, 24 Jan 2023 22:13:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OI+3H+ug3t1FkiX02tjVuUAleY3fH6S4HUsbyJBbXQs=; b=eHuGoa7urrW7S6GNY690BWugq2rsahB9EkODpD/yPBeWqljTnXAgkgwAb2n4pz1FnECeo0 R99JZ8aEM5Qafc4+1gC2i8ibq0O264E6fQZVBYQ6+Bo/XL90imJO6v+foqvRSScCSvJirk R9XStgu6QstYIptK79U/2JPjC95mkEa1HkXZT/YZLp2KFcIcru302l0HjDUKD3k5ZGW+vf QPnD7FjH6nWdCVT1o3XHBoJuxYN0slxUlJqPi35YYN5frJqZPFj6NjchUeuRrZhRuyfhgQ N5r1Y3+8CM5Z/Rrjo7YZGFp6ZAWJ9FrlCP+mZVTKYVwrK7R0H/JEqT/xfK04FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OI+3H+ug3t1FkiX02tjVuUAleY3fH6S4HUsbyJBbXQs=; b=s43QzGiNq0gmmjFINLgh5ER+ClxM1FYgkodgTtQyRMlZ9gyoMKQ7C1N4niveQ+XbqzX5Ox D8T4bwv+VLPRLNs7ULQ88S4ArBpb+h2ImVq9EEfVHqkDI+FkIeToZQAmWPERAyNiVZGASI h11x3ZN8uHozQyGHuYUQ4ortHKceYVtS5adjJvYAlABYh71QqGPLxGwPbiopeh5/4/3LcG Ea3z9DABH3UW25ituL0ANcGXHUJ3W1KVtV17EyIlfQ8FZPOatCMbaWXbfNlYQTTYVTLfKL vpMy234640RVibP9PDW/SeY4ZqJRjW+rixwZ0oUnNqhLI+mPzYd2jraSJXjZYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598434; a=rsa-sha256; cv=none; b=yKZg/4ElfJ79X51PbPbWh5HTBP+0QdTBe7aEs3UozVHkhoO+MBJdWEwD2ojr05qAr86gmR mzeZOCqgbmQmS8CnvZC5RRYnU3wjMkVlaEBXexOAUxH6t2N+psh3O+n7lU9XborKeJ0CYK RlIqGabBDdZfaqjEprEOVn5+jofwfmkAutof8mVRA0Kdo0J3Chhzfx/FlIfXpyEHw0oyYE He1ueS9oN+oIC+j/nfa5ipTimuoIWYBKdxf/zB4PdPVLYAkxncxiv9qsJV8P1Dwk8e9jyO AvlheLFMNHghGmwqDNposERoHUqKGdPkMQDOqQC/akanT8RjOjqvrTJmbjZ/lA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h822B3gzQk5; Tue, 24 Jan 2023 22:13:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDsMG089075; Tue, 24 Jan 2023 22:13:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDsAG089074; Tue, 24 Jan 2023 22:13:54 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:54 GMT Message-Id: <202301242213.30OMDsAG089074@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: 931e05ffc215 - stable/13 - kboot: Use #define for DT_DIR List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 931e05ffc2153449b2b66bd06603cf6f3e62dd1b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=931e05ffc2153449b2b66bd06603cf6f3e62dd1b commit 931e05ffc2153449b2b66bd06603cf6f3e62dd1b Author: Warner Losh AuthorDate: 2022-12-04 20:25:54 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 kboot: Use #define for DT_DIR Sponsored by: Netflix (cherry picked from commit 0ea00e71a2734caeb166287873b697d917e5a92d) --- stand/kboot/kbootfdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kboot/kbootfdt.c b/stand/kboot/kbootfdt.c index df9506af6773..aafa436daf9f 100644 --- a/stand/kboot/kbootfdt.c +++ b/stand/kboot/kbootfdt.c @@ -58,7 +58,7 @@ add_node_to_fdt(void *buffer, const char *path, int fdt_offset) strcmp(dent->d_name, "..") == 0) continue; d_type = dent->d_type; - if (d_type == 4 /* DT_DIR */) { + if (d_type == HOST_DT_DIR) { child_offset = fdt_add_subnode(buffer, fdt_offset, dent->d_name); if (child_offset < 0) { From nobody Tue Jan 24 22:13:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h834NlKz3bgh1; Tue, 24 Jan 2023 22:13: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 4P1h833rvVz3K42; Tue, 24 Jan 2023 22:13:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xhQAh3Rucf+/jNeOG+ThPDpXVBl1T91h4NNzfQFkYDE=; b=YD15im7Prm07cBbT8Qp3n1tibhaL5g6X3TMJaoeMTAA3MyklcGBkloSKdQBN4rj14tijQx aJZtj98SQQh8us9ebEbGoIZtusy0kU/bEjj4VKd69k1TMHx5yhn4UunVWdSUD8KzRVM7pk 28JBu0uAeDAi5Gyxi6Q8dmfbHZS1E074C+cuy5JaLAuaopD324lOrh2gvipxLyN7CnMsz+ 4+tGvy4947WYFVrNdDgnsQ4H5E4bEeZ7OG/lW8jAOS5gpz/XzxCMrQ7OWd/kvOh6FeWdhC 8Yjph+z/5S0zU0GLD8W0SyNSfb3ejewp6L3N9UAePzE5DGibf2nUghH/nAgxbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xhQAh3Rucf+/jNeOG+ThPDpXVBl1T91h4NNzfQFkYDE=; b=rPhlBNsQ3bNX8R8ex+dNr8S6LtgIPFnxnr+oLF5YLwM1DzaQl/z/Bs4ftP9CZ/FS085ZeK kvfEIuRhLdySSBAHQNkXAmpzO5ZZ/saC0Ah+5aWecOfVfsaLZ2lamnhStybe4RHRtmAVOW DwtnnbBVPCHAIbeigJUN6epHWI1iNDJTk2+UntUdmMTb8sxHxF7viUHjF+E1uNfgpDKAkr LDItUaTkHa7AZqITZ4bAuZhlT5yK1pbvlYgKSab0VC+iz/xURk3KKRrFRY4PMUTtYbS1T+ UzY2DBtv7l2hsV3ENHqM0gNey4essad94cEOghmdLL3o4kCJTOo/ektbH4ZUkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598435; a=rsa-sha256; cv=none; b=JHUGPQu2sNoanCWOy0BiRuyW3KpUhLDL0IeLpafUWmoFlRhTiGOKm0/ZsVJLrRLK0xthOG KXqHzFy+CQVHcnBcernmyO/gkJuSbZ99OCJDNRHBkpI2/6h+JMkReDJH9yXeees/XhT4nd w0mXiND52VsmhZvlI7g3vhZgatmUafpJRaXfEDhjva0cuI51vh45iLIP2HjaeA6q3tOogJ LW9fD2NC0WhVKe7Sp9vGAAg1qkiaMHQi/xoLk6wx6Gj7bj6m+aKq0CODf0WpTWgSjEmtJ+ euOX0c3GnKJDvnPOMkCqIBAAjH++mi3HeD7FAXqYHZ6vrC7MoclF3wEPr/2A4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h832tLGzQW0; Tue, 24 Jan 2023 22:13:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDtSj089099; Tue, 24 Jan 2023 22:13:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDtTt089098; Tue, 24 Jan 2023 22:13:55 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:55 GMT Message-Id: <202301242213.30OMDtTt089098@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: 0d805f0f6f25 - stable/13 - kboot: Add md_addr to metadata List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0d805f0f6f25cc18faf46ae729d8e1b06e7dea66 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0d805f0f6f25cc18faf46ae729d8e1b06e7dea66 commit 0d805f0f6f25cc18faf46ae729d8e1b06e7dea66 Author: Warner Losh AuthorDate: 2022-12-04 20:52:22 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 kboot: Add md_addr to metadata Save the address of where the metadata is loaded. Sponsored by: Netflix (cherry picked from commit 9f7269677c5e70283a16887e1e4b4a1ed95a96fb) --- stand/common/bootstrap.h | 1 + stand/common/modinfo.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index cb1c96dc3b69..bbe97e80323b 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -201,6 +201,7 @@ struct file_metadata { size_t md_size; uint16_t md_type; + vm_offset_t md_addr; /* Valid after copied to kernel space */ struct file_metadata *md_next; char md_data[1]; /* data are immediately appended */ }; diff --git a/stand/common/modinfo.c b/stand/common/modinfo.c index 0c00b2070274..381bd9dfd719 100644 --- a/stand/common/modinfo.c +++ b/stand/common/modinfo.c @@ -95,8 +95,10 @@ #define MOD_METADATA(a, mm, c) { \ COPY32(MODINFO_METADATA | mm->md_type, a, c);\ COPY32(mm->md_size, a, c); \ - if (c) \ + if (c) { \ archsw.arch_copyin(mm->md_data, a, mm->md_size);\ + mm->md_addr = a; \ + } \ a += MOD_ALIGN(mm->md_size); \ } From nobody Tue Jan 24 22:13:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h851W39z3bgck; Tue, 24 Jan 2023 22:13: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 4P1h844zyZz3JwS; Tue, 24 Jan 2023 22:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=slOLFMEhh9xkt/bNJSLS7q8kQFMmxBpmtiDN0HEP36A=; b=vLLIEOruC/B7B/AUenOp+k+98cyjflLY/1X18Xni6LWIqq6yv+ig552PqnPP7wGA3t/F1R Yn752wyA4QR3ZLePRiX6wgP9oN7spXBRdc7zzQZOHAHrOonGxN6OfpNXoHs+X4zF62v5ki qUvw0r4LOt3vxMswkfKZZNQ1Emnh7GfT4fUR/uYZAlalVlzW1/EziOuFPaRrjQMUW2MMu1 rhjYWTsYQJDurMmXhLVE6cWaFuA1Viklo4Oocv335PZjP3z0vK1lFM/4Wnod88wPbB9EiT IGmv6FDTjrj4i5L+XBdmw7Bych6S5trMyjYM28ZevBJu7Ua0yRNjlLGjApJkiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=slOLFMEhh9xkt/bNJSLS7q8kQFMmxBpmtiDN0HEP36A=; b=cGSLb6qwl7BZyQ0Ln+PcQIlas0mlJPq/LiT9N5u7mkCLxTOpnCgvZySyGQwtavBmQbOhl6 8IHofI/IKUABbpHVlsZjXQ4F9zu9l8W/B7V9bO+7cx+vDlJMVi35V/4VkFe9bweI9vgQtK TArRQqtg1Sn6dP1KOEhxi09sGqlNgmZ1BEFZRnUtg4VLe+WYDqyIUWeQPbJwtdiVnNwhWM LNRKHPPaudOp1tmflUBIbaFOJ8i/jFtgbmhSFl/rHpDVFuJsZUCXZMMj0roV6la88knm/z 1XlAcT67p0it0ZyFw5xnKgnm+Eh5IX814N9YeirYgwJAIjySJanMjbSsnifbPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598436; a=rsa-sha256; cv=none; b=xFgchbO2LbctWeA8W/vtpk0dnOm4KjfL0WhZL8osF2djyrMIA9IQAJG3jJMufqKw9bd0qw XXP+ZJWEg2ZfIlgijqTBWG7NR3gEpbmlnEJ3C75TzwE7roLgB+SIDLc0/ADjNN3a164IAH bj0Jjs30bMwhEGfN68Yn08T6JeUhc2y1v/sscnu1+85NfyZSsyLm0bRoWZzRGUqbJLRhJV iMchQl9/OWlEI1N0by2a932OokoDOJ3XvdmDOXMKIzu/M1ZBFAhpy6r2/0Ov0g793NTetf aUPwp/OwaDoU11O4nvT2TYvDR25eJ1YyTG2bo+L84Bpel3BtZs9gOuNZyOi/dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h84464nzQYx; Tue, 24 Jan 2023 22:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDuEZ089131; Tue, 24 Jan 2023 22:13:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDub3089130; Tue, 24 Jan 2023 22:13:56 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:56 GMT Message-Id: <202301242213.30OMDub3089130@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: d0288b18fbac - stable/13 - stand: update prototypes for md_load and md_load64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d0288b18fbacfc7d4a92be28568accb46a49cb60 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d0288b18fbacfc7d4a92be28568accb46a49cb60 commit d0288b18fbacfc7d4a92be28568accb46a49cb60 Author: Warner Losh AuthorDate: 2022-12-05 17:40:15 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 stand: update prototypes for md_load and md_load64 These are declared as extern in a number of files (some with the wrong return type). Centralize this in modinfo.h and remove a few extra stray declarations as well that are no longer used. No functional change. Note: I've not tried to cope with the bi_load() functions which are the same logical thing. These will be handled separately. Sponsored by: Netflix (cherry picked from commit 335615c4cad79765b46048bfa782120fd9cadb95) --- stand/common/modinfo.h | 3 +++ stand/efi/loader/arch/arm/exec.c | 1 - stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 3 +-- stand/libofw/libofw.h | 4 ---- stand/powerpc/ofw/elf_freebsd.c | 1 + stand/powerpc/ofw/ppc64_elf_freebsd.c | 1 + stand/uboot/arch/powerpc/ppc64_elf_freebsd.c | 5 +---- stand/uboot/elf_freebsd.c | 3 +-- 8 files changed, 8 insertions(+), 13 deletions(-) diff --git a/stand/common/modinfo.h b/stand/common/modinfo.h index e4739df0b68f..967367beeeb0 100644 --- a/stand/common/modinfo.h +++ b/stand/common/modinfo.h @@ -6,6 +6,9 @@ #ifndef COMMON_MODINFO_H #define COMMON_MODINFO_H +int md_load(char *args, vm_offset_t *modulep, vm_offset_t *dtb); +int md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb); + vm_offset_t md_copymodules(vm_offset_t addr, bool kern64); vm_offset_t md_copyenv(vm_offset_t addr); diff --git a/stand/efi/loader/arch/arm/exec.c b/stand/efi/loader/arch/arm/exec.c index a110f3d07cbc..2fecb2ea043a 100644 --- a/stand/efi/loader/arch/arm/exec.c +++ b/stand/efi/loader/arch/arm/exec.c @@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "loader_efi.h" -extern vm_offset_t md_load(char *, vm_offset_t *); extern int bi_load(char *, vm_offset_t *, vm_offset_t *, bool); static int diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index 5851d71fdc13..3341771be09a 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "syscall_nr.h" #include "host_syscall.h" +#include "modinfo.h" extern char end[]; extern void *kerneltramp; @@ -55,8 +56,6 @@ struct trampoline_data { uint32_t mdp_size; }; -vm_offset_t md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb); - int ppc64_elf_loadfile(char *filename, uint64_t dest, struct preloaded_file **result) diff --git a/stand/libofw/libofw.h b/stand/libofw/libofw.h index dc520d741290..2d6ea9a5bf24 100644 --- a/stand/libofw/libofw.h +++ b/stand/libofw/libofw.h @@ -69,10 +69,6 @@ int ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char ** struct preloaded_file; struct file_format; -/* MD code implementing MI interfaces */ -vm_offset_t md_load(char *args, vm_offset_t *modulep, vm_offset_t *dtb); -vm_offset_t md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb); - extern void reboot(void); struct ofw_reg diff --git a/stand/powerpc/ofw/elf_freebsd.c b/stand/powerpc/ofw/elf_freebsd.c index 89811e965d6e..ee173d55e25c 100644 --- a/stand/powerpc/ofw/elf_freebsd.c +++ b/stand/powerpc/ofw/elf_freebsd.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "libofw.h" #include "openfirm.h" +#include "modinfo.h" extern char end[]; extern vm_offset_t reloc; /* From /conf.c */ diff --git a/stand/powerpc/ofw/ppc64_elf_freebsd.c b/stand/powerpc/ofw/ppc64_elf_freebsd.c index 38c664228c12..ece3dbc6d822 100644 --- a/stand/powerpc/ofw/ppc64_elf_freebsd.c +++ b/stand/powerpc/ofw/ppc64_elf_freebsd.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "libofw.h" #include "openfirm.h" +#include "modinfo.h" extern char end[]; extern vm_offset_t reloc; /* From /conf.c */ diff --git a/stand/uboot/arch/powerpc/ppc64_elf_freebsd.c b/stand/uboot/arch/powerpc/ppc64_elf_freebsd.c index 57b2e791fbba..feabcde3bf4a 100644 --- a/stand/uboot/arch/powerpc/ppc64_elf_freebsd.c +++ b/stand/uboot/arch/powerpc/ppc64_elf_freebsd.c @@ -40,10 +40,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "libuboot.h" - -vm_offset_t md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb); -extern char end[]; -extern vm_offset_t reloc; /* From /conf.c */ +#include "modinfo.h" int ppc64_uboot_elf_loadfile(char *filename, uint64_t dest, diff --git a/stand/uboot/elf_freebsd.c b/stand/uboot/elf_freebsd.c index 802d6e96dee6..0541edd92c64 100644 --- a/stand/uboot/elf_freebsd.c +++ b/stand/uboot/elf_freebsd.c @@ -39,8 +39,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "libuboot.h" - -extern vm_offset_t md_load(char *, vm_offset_t *, vm_offset_t *); +#include "modinfo.h" int __elfN(uboot_load)(char *filename, uint64_t dest, From nobody Tue Jan 24 22:13:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h860XVFz3bgh5; Tue, 24 Jan 2023 22:13: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 4P1h855rJwz3Jtw; Tue, 24 Jan 2023 22:13:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9NvELhZyug79nf/LMC5CiVkJt0gK4fmD/fXf7dtio0=; b=RoK/kvaXn9xWwvf4nPvBsjjk8FNUjXugIj8k07wgIdOm8AthOq11QYgEe/WT4fi1YZwz5L rdYKbrgrC+c1IaWN7MqZnGBPHQk+ywJeZm5NACvLHWm86SY4xt8RGHDZpW8iWmdi8KR9vE iFhoo277XXVnuxzSHn2jxcakTcLFeNP2krYudNk/C1CurxJpTChDJYKTUzDr+CH6X/9CTS pfVx+1lkj/nCXKGjhpLYG2kcLW+eKixfFMLUHcZccJHFe1vCSJDX5GMZFeUJAgRKYuY7Ap 04S0Ex03GOWM3u0qoYNauc/wwXJ5x/Un25oCG2JIT5tc1HxUhqVJftoX7Vng+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9NvELhZyug79nf/LMC5CiVkJt0gK4fmD/fXf7dtio0=; b=H8kMddyrgHh5izuGZpyUmZgyJBU/R1wSdQAviUyl7kbwzlbG6syId1IMbsLrP2PCQBArT/ N9MUVqj4VEtJSn2DUyyLOtMOvKYkVaNopNzAZEzNxFNBRwy4yNP+CJB+VQOycUk7b6Q0Li tKAYpX3QZ0WbjzfQqRPO60KWCZJA0o3Tm9fIwKbN1PNcslVlxSo2kweswpNxF6MOe01j2P ySyT+l12BPOiFYc3LkGMHxSzmPRr3tf5nEVYk5v465upauHC5jwi3Z8mESCTaGOYR5udxj d86AOGF3v8ejSY/lVnzYsD3c5fVFUhYVi5LBIP0YTUkda4cruSWRd1KCb4MYaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598437; a=rsa-sha256; cv=none; b=l8mvl6/+qr5x9E6HPVwA2jg0MjhRG9HypVwUkXGqhthxUGwIlQBx1QwaEW836EyRchCW3K raUqlJU0qJg7Z5Af31aFjjWgUvJ+AKUwP0VrEN7JmtzHYdAX3CtJ3fSFJADrRbZad/i9fL ERPVXQ8xxdIWnx58DUjBAtkCKwkVEX6zb+7JQuuSCtsI+QgZbzMjX65dQQLRRf1dce7jE/ b0pt+x8pEG7rPsbym0v4XNOBsNpv1lhVBrIfTtulSsRsrjZKqYBMg/u99p+rmlVRWcQGqf 86ktyPHpuesT5o3u5v5plbBf7SRl05V6GHhCJawLq5Xo858DjusLTv4VDIZTbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h854yG1zQYy; Tue, 24 Jan 2023 22:13:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDvUi089155; Tue, 24 Jan 2023 22:13:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDvIH089154; Tue, 24 Jan 2023 22:13:57 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:57 GMT Message-Id: <202301242213.30OMDvIH089154@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: 8eed23716454 - stable/13 - stand/zlib: Document the upstream issue behind NO_DEPRECATED_NON_PROTOTYPE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8eed237164540d1e02ad77605380708eefb80c0e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8eed237164540d1e02ad77605380708eefb80c0e commit 8eed237164540d1e02ad77605380708eefb80c0e Author: Warner Losh AuthorDate: 2022-12-05 23:55:04 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 stand/zlib: Document the upstream issue behind NO_DEPRECATED_NON_PROTOTYPE The zlib project has issue https://github.com/madler/zlib/issues/633 to document its continued use of old K&R-style function definitions. Suggested by: delphij@ Sponsored by: Netflix (cherry picked from commit 6b574b3ba99af4ae81d4c619057e737e67523907) --- stand/libsa/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 580afa65ab85..e3bff3cccddb 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -95,6 +95,8 @@ SRCS+=${i} .endfor # decompression functionality from zlib +# https://github.com/madler/zlib/issues/633 documents why we suppress deprecated +# prototype warnings. .PATH: ${SRCTOP}/sys/contrib/zlib ZLIB_CFLAGS=-DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib ${NO_WDEPRECATED_NON_PROTOTYPE} .for i in adler32.c crc32.c infback.c inffast.c inflate.c inftrees.c zutil.c From nobody Tue Jan 24 22:13:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h870gS0z3bgLX; Tue, 24 Jan 2023 22:13: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 4P1h866xZXz3K7g; Tue, 24 Jan 2023 22:13:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B4UYJBh3GOmaYwm8q9512vQAgVSuea17qm+PMRedyLo=; b=dgAOIPmm8vdS76iaxJaBawzm8nxa5Rjev4+mH0oRJB5sZ0+SmUmA/xPh5Nkk6l0ZAHUk16 mxyDvyvYTRj6sDZyDWUR6JqUX0SN9ETwOP6h7pOdl8cpLpmOL6OxFWOP/zIdRWmdZGrZ23 OpvmEwpoY/g3MKui9fpAlvnIO9S+46a4X8REbivoi94T6PbT5vKupDk2kv4hcP4Gr/j5+U RtCOFakr96aI/8N2fQhAsvtb7IL7mHK6SqX8Gdhn9glqN/Q5pb3ODPGMoxwtqJIOIWPojc A0iD19/CwV8DOJLUKUqw5YK3mU/hJJNFvh8FvkSO82IqW8K5d8oBgUF/idPf4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B4UYJBh3GOmaYwm8q9512vQAgVSuea17qm+PMRedyLo=; b=mhS/wwVnbOI/UDv7LjK5wcuXm/9NUbG8bnIBjSHKdTo2b0gwkhNMbVq2RRzlF7z1HSqhi5 VObrsPAc9/0XOQQ7KtM5MPbct5Imum++YjLYSUgaUUPUxInD6dT1Xhmm8uVa4CFP+FtcwG cUTSC4ufHDDzVLV4Ja0gFNo+iY8wDI13tY51fH/e2M8il0ygS73Lb8Mr2TVeQNkILdc80J Rv0r41lG4U6XF1rS125vlIumMpYaxlz/ANRrlMiHLe20saOxk4IwTFDQhHtF70/51HAi9D Jlk20vc9Ci0FnNz1SDbDXUmjRvmkZWtaHzug6pKIUzFY8KaECcEz18LxudrIUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598439; a=rsa-sha256; cv=none; b=Wu2Y+CFaPdTonxpS2gugklfwwyJuklKxO1vGatamYaCsW4WxshflQGCWfmaMDN5CuGru+b ltKiPfQZtOqH6+YjWyw1iqdRoEnGt0vsP2pkhqJZ4VYFviu1fHyQFmUSY43aHunACJXr+V HsiTzcRseEtDNmsXZF5vgcKiHH1M4rBF8vWddwVFdj1V615Au/GR6Fvnbxtaa8Q0dKAd/k y3ZONLTEuImc18mUwmet7mkDv36eH/aRYbHf9hpDYOr8ygbJqizhHRJk+swoetCGuiGXOq 08o8ppYKaeRwA7XJnXibD6XT+7HJQEHjVJt6P2CUHjYCxmqVSgWOEiLq1tYwrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h865n9wzQW1; Tue, 24 Jan 2023 22:13:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDw7F089181; Tue, 24 Jan 2023 22:13:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDwRm089180; Tue, 24 Jan 2023 22:13:58 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:58 GMT Message-Id: <202301242213.30OMDwRm089180@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: 693894521c5e - stable/13 - kboot: Mark the EFI specific parts of bootinfo.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 693894521c5e3f5c7f632ecb7d9f33711f4d57e2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=693894521c5e3f5c7f632ecb7d9f33711f4d57e2 commit 693894521c5e3f5c7f632ecb7d9f33711f4d57e2 Author: Warner Losh AuthorDate: 2022-12-06 17:55:58 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 kboot: Mark the EFI specific parts of bootinfo.c bootinfo.c is about to be shared with kboot since they create substantially similar environments / metadata tagging / etc. Tag this with #ifdef EFI for the moment until the proper abstracting out can happen. Sponsored by: Netflix (cherry picked from commit b11aebff4d4a301bfeac516b5be45080c8a11142) --- stand/efi/loader/bootinfo.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index e05197189a46..a6b722b947e9 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -40,8 +40,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef EFI #include #include +#endif #include "bootstrap.h" #include "modinfo.h" @@ -50,8 +52,10 @@ __FBSDID("$FreeBSD$"); #include #endif +#ifdef EFI #include "loader_efi.h" #include "gfx_fb.h" +#endif #if defined(LOADER_FDT_SUPPORT) #include @@ -69,10 +73,12 @@ int boot_services_gone; static int bi_getboothowto(char *kargs) { +#ifdef EFI const char *sw, *tmp; char *opts; int speed, port; char buf[50]; +#endif char *console; int howto; @@ -85,6 +91,7 @@ bi_getboothowto(char *kargs) howto |= RB_SERIAL; if (strcmp(console, "nullconsole") == 0) howto |= RB_MUTE; +#ifdef EFI #if defined(__i386__) || defined(__amd64__) if (strcmp(console, "efi") == 0 && getenv("efi_8250_uid") != NULL && @@ -123,12 +130,14 @@ bi_getboothowto(char *kargs) NULL, NULL); } } +#endif #endif } return (howto); } +#ifdef EFI static EFI_STATUS efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) { @@ -297,6 +306,7 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) return (0); } +#endif /* * Load the information expected by an amd64 kernel. @@ -353,8 +363,10 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) return(EINVAL); } +#ifdef EFI /* Try reading the /etc/fstab file to select the root device */ getrootmount(devformat(rootdev)); +#endif addr = 0; for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { @@ -410,11 +422,15 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #ifdef MODINFOMD_MODULEP file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); #endif +#ifdef EFI file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); +#endif #ifdef LOADER_GELI_SUPPORT geli_export_key_metadata(kfp); #endif +#ifdef EFI bi_load_efi_data(kfp, exit_bs); +#endif size = md_copymodules(0, is64); /* Find the size of the modules */ kernend = roundup(addr + size, PAGE_SIZE); From nobody Tue Jan 24 22:13:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h881Wzwz3bgds; Tue, 24 Jan 2023 22:14: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 4P1h880hcFz3KGN; Tue, 24 Jan 2023 22:14:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m4PvuL/I5az1R01XdK+MalQ/CeR6y0E6N3f4DMt1Wk0=; b=XUhDheUJNFSlerLC/n7d2yrJLEwKDUAhdptV17z18NewPANENVgoznINyh1FR1osl9MCer 7zEVgI46zgSaSkE98KOwFObQ1ZiXsAS1HhuRmzntyECwpX651MlExdOOVv8a9AdvUV93a+ gH6UjpUbFAx/31K269Vs5LZI/cShvAr7MdFTuF1R62FGFuQL1D06T0AazP9Qujk8+um2cz WGO4Qhyp6PXlT8f4WbG8iR592pmK2bpSKinuMKWXbafXodcdZW1+IeeFv5Ea/TgMvMZ6gF FyjxtbRN27OxiSpBQJFneG3JcaW4ojq6zFJZWOoLBaVzLXXuWFvUnrxzgOzBFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m4PvuL/I5az1R01XdK+MalQ/CeR6y0E6N3f4DMt1Wk0=; b=w/FIQ05LusC7fh+08hNbV+DJlf6RFwrR7v24APUJ+asKyAUIbWNpiE9QsorPVN+tpp+mlH LaNgOLgCJN+W8kVQC1a2HVVDBWnAtXJH9+V5MEXqVwFInkZ2mP3umjx1nK6jYXrtkYL0vA 0x+TZex44zlQr1p76/697YQTlbrrx+5OqL+kIdLTGAYKhYjYvWKTq4t9MFXrJ+fBO0Q2Ty PLauu4TmlQ/9hWy8VsVWSwsgDqhnU9u8cvOFy5tt3IKCi0tzpmhtdZPB76BFtE6Oofe2nj ChSyXR/5haKgvRKHpEa1xM3d3QQb7o9vFY9QvaoGFrGq4txjJ1ZDPUvp1sNOsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598440; a=rsa-sha256; cv=none; b=Phgq8s90rI14/yUkXsaBEv/HEqTv0eKRGEgOQ+AZa8pTBagB6L2cg3IAcuQfARD1+fB9jx v+MVKePe0fSiN6fshbSbOjGPON7JBh5OlNt+mNklVlhFcvLDgTWzfqu20FcfVwiJZFqKlI +bohXD7eVlPP0nsixuDm71mWdoHTirdqEuumIdRiKuF1V73SfWywkMT+elQuIiFT1n5HE6 y2Q1eHRZe/ZuGQQBAPB7MHw/5rXSI/qahjSmaPB7IFFRHB7zj+gWgFz9z15XcPfiQuJDc8 XM8Ih4Hh3Nx8DgouYh1LP/M6kD7PoEonNYGQa8+78dvQbLQsxQwfIpP6osvEOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h876tcHzQmZ; Tue, 24 Jan 2023 22:13:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMDxgC089207; Tue, 24 Jan 2023 22:13:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMDxtl089206; Tue, 24 Jan 2023 22:13:59 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:13:59 GMT Message-Id: <202301242213.30OMDxtl089206@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: 093049763b37 - stable/13 - kboot: copy EFI's bootinfo.c and adjust List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 093049763b37e160fe4c958cb86aeae28ca2179a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=093049763b37e160fe4c958cb86aeae28ca2179a commit 093049763b37e160fe4c958cb86aeae28ca2179a Author: Warner Losh AuthorDate: 2022-12-06 18:00:08 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 kboot: copy EFI's bootinfo.c and adjust Copy EFI's bootinfo.c and make minor adjustments for kboot's needs. Do not connect this to the build just yet until other pieces are in place. Sponsored by: Netflix (cherry picked from commit 288626083b6064a777ecfe1f64af06d658ef804c) --- stand/kboot/bootinfo.c | 467 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 467 insertions(+) diff --git a/stand/kboot/bootinfo.c b/stand/kboot/bootinfo.c new file mode 100644 index 000000000000..c71ec125c031 --- /dev/null +++ b/stand/kboot/bootinfo.c @@ -0,0 +1,467 @@ +/*- + * Copyright (c) 1998 Michael Smith + * Copyright (c) 2004, 2006 Marcel Moolenaar + * Copyright (c) 2014 The FreeBSD Foundation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef EFI +#include +#include +#endif + +#include "bootstrap.h" +#include "modinfo.h" + +#if defined(__amd64__) +#include +#endif + +#ifdef EFI +#include "loader_efi.h" +#include "gfx_fb.h" +#endif + +#if defined(LOADER_FDT_SUPPORT) +#include +#endif + +#ifdef LOADER_GELI_SUPPORT +#include "geliboot.h" +#endif + +int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); +#ifndef EFI +void bi_loadsmap(struct preloaded_file *kfp); +#endif + +static int +bi_getboothowto(char *kargs) +{ +#ifdef EFI + const char *sw, *tmp; + char *opts; + int speed, port; + char buf[50]; +#endif + char *console; + int howto; + + howto = boot_parse_cmdline(kargs); + howto |= boot_env_to_howto(); + + console = getenv("console"); + if (console != NULL) { + if (strcmp(console, "comconsole") == 0) + howto |= RB_SERIAL; + if (strcmp(console, "nullconsole") == 0) + howto |= RB_MUTE; +#ifdef EFI +#if defined(__i386__) || defined(__amd64__) + if (strcmp(console, "efi") == 0 && + getenv("efi_8250_uid") != NULL && + getenv("hw.uart.console") == NULL) { + /* + * If we found a 8250 com port and com speed, we need to + * tell the kernel where the serial port is, and how + * fast. Ideally, we'd get the port from ACPI, but that + * isn't running in the loader. Do the next best thing + * by allowing it to be set by a loader.conf variable, + * either a EFI specific one, or the compatible + * comconsole_port if not. PCI support is needed, but + * for that we'd ideally refactor the + * libi386/comconsole.c code to have identical behavior. + * We only try to set the port for cases where we saw + * the Serial(x) node when parsing, otherwise + * specialized hardware that has Uart nodes will have a + * bogus address set. + * But if someone specifically setup hw.uart.console, + * don't override that. + */ + speed = -1; + port = -1; + tmp = getenv("efi_com_speed"); + if (tmp != NULL) + speed = strtol(tmp, NULL, 0); + tmp = getenv("efi_com_port"); + if (tmp == NULL) + tmp = getenv("comconsole_port"); + if (tmp != NULL) + port = strtol(tmp, NULL, 0); + if (speed != -1 && port != -1) { + snprintf(buf, sizeof(buf), "io:%d,br:%d", port, + speed); + env_setenv("hw.uart.console", EV_VOLATILE, buf, + NULL, NULL); + } + } +#endif +#endif + } + + return (howto); +} + +#ifdef EFI +static EFI_STATUS +efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) +{ + EFI_MEMORY_DESCRIPTOR *desc, *viter, *vmap; + EFI_STATUS ret; + int curr, ndesc, nset; + + nset = 0; + desc = mm; + ndesc = sz / mmsz; + vmap = malloc(sz); + if (vmap == NULL) + /* This isn't really an EFI error case, but pretend it is */ + return (EFI_OUT_OF_RESOURCES); + viter = vmap; + for (curr = 0; curr < ndesc; + curr++, desc = NextMemoryDescriptor(desc, mmsz)) { + if ((desc->Attribute & EFI_MEMORY_RUNTIME) != 0) { + ++nset; + desc->VirtualStart = desc->PhysicalStart; + *viter = *desc; + viter = NextMemoryDescriptor(viter, mmsz); + } + } + ret = RS->SetVirtualAddressMap(nset * mmsz, mmsz, mmver, vmap); + free(vmap); + return (ret); +} + +static int +bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) +{ + EFI_MEMORY_DESCRIPTOR *mm; + EFI_PHYSICAL_ADDRESS addr = 0; + EFI_STATUS status; + const char *efi_novmap; + size_t efisz; + UINTN efi_mapkey; + UINTN dsz, pages, retry, sz; + UINT32 mmver; + struct efi_map_header *efihdr; + bool do_vmap; + +#if defined(__amd64__) || defined(__aarch64__) + struct efi_fb efifb; + + efifb.fb_addr = gfx_state.tg_fb.fb_addr; + efifb.fb_size = gfx_state.tg_fb.fb_size; + efifb.fb_height = gfx_state.tg_fb.fb_height; + efifb.fb_width = gfx_state.tg_fb.fb_width; + efifb.fb_stride = gfx_state.tg_fb.fb_stride; + efifb.fb_mask_red = gfx_state.tg_fb.fb_mask_red; + efifb.fb_mask_green = gfx_state.tg_fb.fb_mask_green; + efifb.fb_mask_blue = gfx_state.tg_fb.fb_mask_blue; + efifb.fb_mask_reserved = gfx_state.tg_fb.fb_mask_reserved; + + printf("EFI framebuffer information:\n"); + printf("addr, size 0x%jx, 0x%jx\n", efifb.fb_addr, efifb.fb_size); + printf("dimensions %d x %d\n", efifb.fb_width, efifb.fb_height); + printf("stride %d\n", efifb.fb_stride); + printf("masks 0x%08x, 0x%08x, 0x%08x, 0x%08x\n", + efifb.fb_mask_red, efifb.fb_mask_green, efifb.fb_mask_blue, + efifb.fb_mask_reserved); + + if (efifb.fb_addr != 0) + file_addmetadata(kfp, MODINFOMD_EFI_FB, sizeof(efifb), &efifb); +#endif + + do_vmap = true; + efi_novmap = getenv("efi_disable_vmap"); + if (efi_novmap != NULL) + do_vmap = strcasecmp(efi_novmap, "YES") != 0; + + efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf; + + /* + * Assign size of EFI_MEMORY_DESCRIPTOR to keep compatible with + * u-boot which doesn't fill this value when buffer for memory + * descriptors is too small (eg. 0 to obtain memory map size) + */ + dsz = sizeof(EFI_MEMORY_DESCRIPTOR); + + /* + * Allocate enough pages to hold the bootinfo block and the + * memory map EFI will return to us. The memory map has an + * unknown size, so we have to determine that first. Note that + * the AllocatePages call can itself modify the memory map, so + * we have to take that into account as well. The changes to + * the memory map are caused by splitting a range of free + * memory into two, so that one is marked as being loader + * data. + */ + + sz = 0; + mm = NULL; + + /* + * Matthew Garrett has observed at least one system changing the + * memory map when calling ExitBootServices, causing it to return an + * error, probably because callbacks are allocating memory. + * So we need to retry calling it at least once. + */ + for (retry = 2; retry > 0; retry--) { + for (;;) { + status = BS->GetMemoryMap(&sz, mm, &efi_mapkey, &dsz, &mmver); + if (!EFI_ERROR(status)) + break; + + if (status != EFI_BUFFER_TOO_SMALL) { + printf("%s: GetMemoryMap error %lu\n", __func__, + EFI_ERROR_CODE(status)); + return (EINVAL); + } + + if (addr != 0) + BS->FreePages(addr, pages); + + /* Add 10 descriptors to the size to allow for + * fragmentation caused by calling AllocatePages */ + sz += (10 * dsz); + pages = EFI_SIZE_TO_PAGES(sz + efisz); + status = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, + pages, &addr); + if (EFI_ERROR(status)) { + printf("%s: AllocatePages error %lu\n", __func__, + EFI_ERROR_CODE(status)); + return (ENOMEM); + } + + /* + * Read the memory map and stash it after bootinfo. Align the + * memory map on a 16-byte boundary (the bootinfo block is page + * aligned). + */ + efihdr = (struct efi_map_header *)(uintptr_t)addr; + mm = (void *)((uint8_t *)efihdr + efisz); + sz = (EFI_PAGE_SIZE * pages) - efisz; + } + + if (!exit_bs) + break; + status = efi_exit_boot_services(efi_mapkey); + if (!EFI_ERROR(status)) + break; + } + + if (retry == 0) { + BS->FreePages(addr, pages); + printf("ExitBootServices error %lu\n", EFI_ERROR_CODE(status)); + return (EINVAL); + } + + /* + * This may be disabled by setting efi_disable_vmap in + * loader.conf(5). By default we will setup the virtual + * map entries. + */ + + if (do_vmap) + efi_do_vmap(mm, sz, dsz, mmver); + efihdr->memory_size = sz; + efihdr->descriptor_size = dsz; + efihdr->descriptor_version = mmver; + file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, + efihdr); + + return (0); +} +#endif + +/* + * Load the information expected by an amd64 kernel. + * + * - The 'boothowto' argument is constructed. + * - The 'bootdev' argument is constructed. + * - The 'bootinfo' struct is constructed, and copied into the kernel space. + * - The kernel environment is copied into kernel space. + * - Module metadata are formatted and placed in kernel space. + */ +int +bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) +{ + struct preloaded_file *xp, *kfp; + struct devdesc *rootdev; + struct file_metadata *md; + vm_offset_t addr; + uint64_t kernend, module; + uint64_t envp; + vm_offset_t size; + char *rootdevname; + int howto; + bool is64 = sizeof(long) == 8; +#if defined(LOADER_FDT_SUPPORT) + vm_offset_t dtbp; + int dtb_size; +#endif +#if defined(__arm__) + vm_offset_t vaddr; + size_t i; + /* + * These metadata addreses must be converted for kernel after + * relocation. + */ + uint32_t mdt[] = { + MODINFOMD_SSYM, MODINFOMD_ESYM, MODINFOMD_KERNEND, + MODINFOMD_ENVP, MODINFOMD_FONT, +#if defined(LOADER_FDT_SUPPORT) + MODINFOMD_DTBP +#endif + }; +#endif + + howto = bi_getboothowto(args); + + /* + * Allow the environment variable 'rootdev' to override the supplied + * device. This should perhaps go to MI code and/or have $rootdev + * tested/set by MI code before launching the kernel. + */ + rootdevname = getenv("rootdev"); + archsw.arch_getdev((void**)(&rootdev), rootdevname, NULL); + if (rootdev == NULL) { + printf("Can't determine root device.\n"); + return(EINVAL); + } + +#ifdef EFI + /* Try reading the /etc/fstab file to select the root device */ + getrootmount(devformat(rootdev)); +#endif + + addr = 0; + for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { + if (addr < xp->f_addr + xp->f_size) + addr = xp->f_addr + xp->f_size; + } + + /* Pad to a page boundary. */ + addr = roundup(addr, PAGE_SIZE); + + addr = build_font_module(addr); + + /* Pad to a page boundary. */ + addr = roundup(addr, PAGE_SIZE); + + /* Copy our environment. */ + envp = addr; + addr = md_copyenv(addr); + + /* Pad to a page boundary. */ + addr = roundup(addr, PAGE_SIZE); + +#if defined(LOADER_FDT_SUPPORT) + /* Handle device tree blob */ + dtbp = addr; + dtb_size = fdt_copy(addr); + + /* Pad to a page boundary */ + if (dtb_size) + addr += roundup(dtb_size, PAGE_SIZE); +#endif + + kfp = file_findfile(NULL, "elf kernel"); + if (kfp == NULL) + kfp = file_findfile(NULL, "elf64 kernel"); + if (kfp == NULL) + panic("can't find kernel file"); + kernend = 0; /* fill it in later */ + + /* Figure out the size and location of the metadata. */ + module = *modulep = addr; + + file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof(howto), &howto); + file_addmetadata(kfp, MODINFOMD_ENVP, sizeof(envp), &envp); +#if defined(LOADER_FDT_SUPPORT) + if (dtb_size) + file_addmetadata(kfp, MODINFOMD_DTBP, sizeof(dtbp), &dtbp); + else + printf("WARNING! Trying to fire up the kernel, but no " + "device tree blob found!\n"); +#endif + file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof(kernend), &kernend); +#ifdef MODINFOMD_MODULEP + file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); +#endif +#ifdef EFI + file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); +#endif +#ifdef LOADER_GELI_SUPPORT + geli_export_key_metadata(kfp); +#endif +#ifdef EFI + bi_load_efi_data(kfp, exit_bs); +#else + bi_loadsmap(kfp); +#endif + + size = md_copymodules(0, is64); /* Find the size of the modules */ + kernend = roundup(addr + size, PAGE_SIZE); + *kernendp = kernend; + + /* patch MODINFOMD_KERNEND */ + md = file_findmetadata(kfp, MODINFOMD_KERNEND); + bcopy(&kernend, md->md_data, sizeof kernend); + +#if defined(__arm__) + *modulep -= __elfN(relocation_offset); + + /* Do relocation fixup on metadata of each module. */ + for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { + for (i = 0; i < nitems(mdt); i++) { + md = file_findmetadata(xp, mdt[i]); + if (md) { + bcopy(md->md_data, &vaddr, sizeof vaddr); + vaddr -= __elfN(relocation_offset); + bcopy(&vaddr, md->md_data, sizeof vaddr); + } + } + } +#endif + + /* Copy module list and metadata. */ + (void)md_copymodules(addr, is64); + + return (0); +} From nobody Tue Jan 24 22:14:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h896Fzjz3bgM8; Tue, 24 Jan 2023 22:14: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 4P1h891lLHz3KKZ; Tue, 24 Jan 2023 22:14:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0HLv9V35eNH3aC0WDtN9vIoqHw5zE69l5rBK9gd+Vs=; b=WJ6dLhV90719tbXyYnpY4laEaPQ6jFbCYnITCBsxv9mmxw30JTzkw8X6+NQdgpQpoxVSEs fgOtIiG4SvqT91OVMMnevICNyBWVzxlYBpkhiuJzmLxspOwZ0FZ1KLoQBd/2qWn6dCPynU iMN3jkGg0LYYLOrRVaEjdkP1Xs8vc3LvPCU60+/U5t+y7U6+PSWAvguhUPx7qgr08Z3E03 9cmholz1rZmS2LDfGMnMdavi5TPRyJfM5h3v+shmke3+22aOzi9omHbJ9JnPKZOa+krq9L AsSy7JWAL1Xv+L5FlJWrjnrHoMMAcVMzsKlo3eOFeR2hooUdaPbd7U7O+Knvgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0HLv9V35eNH3aC0WDtN9vIoqHw5zE69l5rBK9gd+Vs=; b=mDduo525muOol/LUUekLJ3UE3tp9vf3olU85fQQpsIHYKbfyiXvXsycFDT4+K9/nD/zewC n6DRuLEu4mNhPtsFD1QAwLJ/ukS8e4H/VJj9qsKyDdltFcAg+xHVezH0pXVMBKvFxOBLJE 7xogKRcVyzxnr4S2IlvabjuKuRrTInrQYmLFiZ7v6W9fvkRteL1EmI/nA0lCXLLLdqfU9H HYtJ2uvjJqcuUecYBdw5LCCrlXVJIIbZZruPOErriH9bjMlOLcLF/stYdhYIKLjnqzUwti SFRqyDEVfKsJnvm3UjIZfdht9c0PGmRrK2NjOxAwcCB2ubTEpyPVakTElSf5ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598441; a=rsa-sha256; cv=none; b=FZjPz+GoAIhkSJm5t09h39T5PAYBlP5zyhI5taWcwaKhhLmtDhL6BAUOnSmjPX52R/dROr W2dPxpyBPe4gLbhC6o5hGGXN6bfD5m87MZ2Iqn9GNOyxIaqa/DuxqxAAWkWNzpHKxcJPHR NkakkwtT5mtPhQF5KI+k2u+IwdflaVG4BZ1wSsVXXOGKLXW7IDi5XtiJ1RRtjdCmVcWdBK 6NP3lJ9HcH3KZ5DEq+jEDc1JXg+2+LuR//faYJhTlveibeOu6e1fMW95k57iE2FmR+RyaP YOKxxoKiDIK+kLl+M56afJ+tZKaJlSzklURGCGx+jskQCoqeyUVFuTuqcIg7gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h890sC5zQs4; Tue, 24 Jan 2023 22:14:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME1ME089232; Tue, 24 Jan 2023 22:14:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME1Wr089231; Tue, 24 Jan 2023 22:14:01 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:01 GMT Message-Id: <202301242214.30OME1Wr089231@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: c6faa738825c - stable/13 - stand/kboot: Initialize all the devices List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c6faa738825c42beb0427965272ad9889f921fd5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c6faa738825c42beb0427965272ad9889f921fd5 commit c6faa738825c42beb0427965272ad9889f921fd5 Author: Warner Losh AuthorDate: 2022-12-07 17:50:35 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 stand/kboot: Initialize all the devices main() of the boot loader is expected to call devinit() early. We do this at the same time we do it in the EFI loader (except we don't have a buffer cache here, we don't need to initialize time and we don't have special efi partition handles to enumerate). This is just after we probe for the console. Sponsored by: Netflix (cherry picked from commit 299c64e316f026a9441775f21dfdb69e8125d58e) --- stand/kboot/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 7826e06c653f..b8cd27bf3cf9 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -105,6 +105,9 @@ main(int argc, const char **argv) */ cons_probe(); + /* Initialize all the devices */ + devinit(); + /* Choose bootdev if provided */ if (argc > 1) bootdev = argv[1]; From nobody Tue Jan 24 22:14:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8B44Lsz3bgMk; Tue, 24 Jan 2023 22:14:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h8B3G1lz3KGs; Tue, 24 Jan 2023 22:14:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IELcb6wG3irrWV24rP6wUaUKwARotUmKDtFl9LtBlYQ=; b=kWsVj7uGePtZ5eYpEXa3i/T/RbT9TjAhmIXs2t2L06XwrlCDyQLrPsmxr7UsxZy/Aeg+ol f7XWcHzXDkzpvb/3Dc2CV9SugnvQhL9OkjdxmatyAc6DWxAonjqjh4L8lnAnrv+VKtTwZ8 aa7FKDzhD2CFU6XI/V5fTYq0JYpBSyoCtGMuzJG7c6eNFh3Vz0/T/bpPClS9iz3or2nay4 tjbpOBf83h/hFMVaybm/i+hle5iZHI82OAVofsyzOJmRnCiNTu3UjSjQMVmoTcBS8xYVEi gOUD6Rhu0wfB2HY1npkZr5fPBMGeOwrvvks4gKEwM8c+IpjNO3zYgqbDOg6eNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IELcb6wG3irrWV24rP6wUaUKwARotUmKDtFl9LtBlYQ=; b=GggoM4fhSyCVPXvvb+1IpW+olur1sOvXRKrIPxHN7ZmmFBkjaZWEohwVCkRchQCpz0d6vP MMzrsr3yzcFjBPNKH/CmMgVaoPO7N4w7neZCwvDcMZUo922PZxw3Bev39zIuOYaS5AyW3B ubnaxhorYONaUaLlSfQ32A2930qyLoYi9J4eNWRHkmGNx/JBSGDXOc8oUO3ogOTyZB62cH za6g9UyXe7nXG3BxBgc7CGBB31QtZ/E49dyGyXX6+Kfv5/ChiFVb4WdxBmBgykPgsHglu9 Yji8JcsxHlBw7DmsDOV0/ibtFRZOWDIK+NY2X8CaMT5avOzyjQDxBPBW5HeVvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598442; a=rsa-sha256; cv=none; b=AYbPr5UuBD//pX2FcGSEt8/Gtxs+IC9ucEzbMR2RFYtSjidEgFIJyG6xAIpuA0MrAbL/na 3+El5OCg4ctgj8CocjPi31tBwoBH+XDIijtx2lIfgtCaFeNNDLbt/KDFfQG7c+qupRv+nX iQKCmhcQiDoetxWsu/qLtBie4bATvsInINjEbt6mulZWQpw7OiHCHVKAWCkYvM51iHtdAS Tj9YM245CGk961gIgwpPJ4ML9xlJACliwkLe6ToLS5GcPRd2LYrWMsrxEhopT+nl8qRpmb hosQkqnsMZGPI/etLKxz5CDx3xLlx7M0AQeydgHiOoIbLqxJfAvX61qwzndYGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8B21KRzQW2; Tue, 24 Jan 2023 22:14:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME2wU089262; Tue, 24 Jan 2023 22:14:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME2nk089261; Tue, 24 Jan 2023 22:14:02 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:02 GMT Message-Id: <202301242214.30OME2nk089261@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: e0dcc847893d - stable/13 - stand/kboot: Remove unneeded include. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e0dcc847893d5bf0690071dc72fe979e7cf9703d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e0dcc847893d5bf0690071dc72fe979e7cf9703d commit e0dcc847893d5bf0690071dc72fe979e7cf9703d Author: Warner Losh AuthorDate: 2022-12-07 17:53:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:43 +0000 stand/kboot: Remove unneeded include. endian.h isn't needed for this file, so remove it. Sponsored by: Netflix (cherry picked from commit 482380c6f8252228a172d82e74ef0964f8fc258b) --- stand/kboot/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index b8cd27bf3cf9..e8a9365b2c4c 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -27,7 +27,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include From nobody Tue Jan 24 22:14:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8C4sxGz3bgmR; Tue, 24 Jan 2023 22:14: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 4P1h8C44mhz3KLB; Tue, 24 Jan 2023 22:14:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZowS5oKvl6SvfBiG8YF5cfVAdmS2oRdgDYJDz5dgEXc=; b=Ew0TwB2QfRO4uF3lw09zMvAGJ8lZ7f2fIIup0pVTsLxS4QgAfHcX7QCB1lWWVs+bNSt10l f5qzuEe8BJVI8ppyRI8t3vvW3QmUQsbYfWvbNOuUYCj3SfHzKBZUsiYod639U1QkZkyNDE Ol2OpMdxskwFgiZQRtaImms4w6oqw6YZ4ZbIBbMdOcxpF5XbBsi+f/3vaKgXGjHnntMkIa eSHy5ZYi4OPbO9zsdTumHK4ER5PZHDPqXAmnXAzQ2eIkc2HHxcWGAdAiyVkbmwnr8vFhx5 11XbLgILaca899nFBKWkrDC/H28Vnyeu0+xoTqjUb+bEQgsNb4YhR2/GosY2hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZowS5oKvl6SvfBiG8YF5cfVAdmS2oRdgDYJDz5dgEXc=; b=s0P6vKC6uvBMyRj2uuHrQAO9Rbkt13P/ZP50TnX1rXxdhS2IzB9GnUYRyFOmQ6kXo7HIoB 4DyIpPUwufx9Lt4D9WzIjuQUG3JBdKQI4MM91Cwn1Xf57bxJo3wwGuuTrgiN1z/aOQICj/ dER2Mccxq279BI2EbK/Z383/SsVA3NczMidQAfChcLJyAPeLEg2z8iTnlrWsucWm2lM5GP QKaoO5h0aV0RSKAhE/YM8kVSBz4QVwaPfNgw5cUjYubb924F3R6Er0zNK7W7vDyjPQD7L+ GvOoQQWpegREjGtP/ObhVqgWboiXNRV+nUm7m1DnxdwsZWUeccwmFMpOAGQlnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598443; a=rsa-sha256; cv=none; b=ZHfBkfejm9e5GpxgZD5q1TpjgYSSMmvTyOvnVKZBt1Y55mZLuHQZvlXPBPrV/1KnCDyuEQ rvKRo40PLa6+PrEZgJslYiM4oYYEfRgSbsL3JMPzGC9H+b+VEYSTRfD13hUOxUH2nIlKti YQmW7EmXwh8Pdx4+Bp8Psu+6p9wGFxq7TCdtHwUeGUrJuuhzkzoGEehePoOpmW7dzGU+33 UBrp4GMXGO2AqWRDVBx9VhDsPxARSTwgvdzpoAVW6la8U/Leih5aQfjqfkq06hZkztwv/U NMNrxdId1Wwr69u+ewkZkE6b88yHsGKgL8v/yDzMTjrNeiMWdqsV6VBtiCb4wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8C2y5kzQPt; Tue, 24 Jan 2023 22:14:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME3jS089287; Tue, 24 Jan 2023 22:14:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME381089286; Tue, 24 Jan 2023 22:14:03 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:03 GMT Message-Id: <202301242214.30OME381089286@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: 9c621f09dda5 - stable/13 - stand/efi: remove unused local varaibles List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9c621f09dda5eb934069c32d1f0e564611d65784 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9c621f09dda5eb934069c32d1f0e564611d65784 commit 9c621f09dda5eb934069c32d1f0e564611d65784 Author: Warner Losh AuthorDate: 2022-12-07 00:42:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 stand/efi: remove unused local varaibles Remove some unused local variables. No functional change. Sponsored by: Netflix (cherry picked from commit 667419d55313619807b07b1bff1b206fb5d9edbb) --- stand/efi/loader/main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 85c545e0e72f..57a9769f6024 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -702,8 +702,7 @@ interactive_interrupt(const char *msg) static int parse_args(int argc, CHAR16 *argv[]) { - int i, j, howto; - bool vargood; + int i, howto; char var[128]; /* From nobody Tue Jan 24 22:14:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8D6BVqz3bgq7; Tue, 24 Jan 2023 22:14:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h8D5fdwz3KLn; Tue, 24 Jan 2023 22:14:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1xPOXCDXHHrJr/exs3PyBrToujfXhMFaFwlh41up20=; b=WfZ/oCVF1gvwwotaRI1pH3suz6o4jb5z8AI0ZbHC1V6gOcdhXb2Pw5Ts2zZgnJslD+y46P j8iUp5ahgr7SS6cv93cMv/klrntPvNV4h4o8IIDzZcYOUUizEv7lB7f3Ei+kd7GMhM9KlL OCukBry46di60ZE172NfJ46D3GTa+xn2u3u7+PvaEqLb/kag8QEm4Gn6TPFRPRsvk1BWzl AdkkZvi+F4BGn8OGbUYLQjbP7J3Owd5V2/mpocs5iYD+xVDt0o15p+dfmhDI2JqlipunFz l8kh8Xdgqc/g/H7W/0uLP1xZjPl3PrlBe1CBJ9xudclheN+FcTpWzh7wtI6xmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1xPOXCDXHHrJr/exs3PyBrToujfXhMFaFwlh41up20=; b=tign1N67nsf5vNwotI2Ac/7PCMME5oF/zRrMuDG5EBB6Wt7gGUqHjve0G3dLXCUEP3N3TW 63AVbzCWOZy65akQ5o/0V7rwiDXijvX22WQo6hJk2mNlPOzNU2RVcvn/362VU86G8PARtv m33r1lnpScMmLsU+tlFSbDx45vWIRF4L1RWeN1Lj3poOUS3u6z/ezFZ/XOUkz+aofkc7SQ SkP1htJNI9tVHD9JL6kZkicIeW8epeHmFAkoRceEZ38Zt5nsbBdHjT04PZ06I5xwvzi1JI FB9x9iFfv1WaG/fiEGeF8Ack2nBetZnI4qkUDyZNeYfInwUbOrvGP2Ju7vyjYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598444; a=rsa-sha256; cv=none; b=ud586qWBVs9H2rcvLNY+Njqxbl8VLmrjQM9SjzQf/gOZJMoMIR/vx7BX+OvVWC0T+VM0Zt gF4gS/f0qaohyEe2Ail6bL4d1aI8gpm1aCVzCEJSp1jG0J0bXprXKAUCnJmo4Evoz0u+e0 PN/C1wXBuhqUYd8bumshWH7gU9Zc2Z0cZBFCDKFCbMhT7MrwvTKTep9lbCd9IXmCnTboIu w3uCfTbnurQ83fzxNh8AAy/z2LRHgoc3UQUMrBUarXrPWWOPZpRZ9x52vrHT/YngdcbLpo kwYec4o1Ux3T7P9M5pbcDGhfEh70l/V3hcUeNkDNQ8IE6GiaNgWVvxTG+FoKng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8D4J37zQs5; Tue, 24 Jan 2023 22:14:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME466089311; Tue, 24 Jan 2023 22:14:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME482089310; Tue, 24 Jan 2023 22:14:04 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:04 GMT Message-Id: <202301242214.30OME482089310@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: 4bebad28e66f - stable/13 - stand/kboot: Parse the command line args List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4bebad28e66fc421c0546378bde0cc9f02b24638 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4bebad28e66fc421c0546378bde0cc9f02b24638 commit 4bebad28e66fc421c0546378bde0cc9f02b24638 Author: Warner Losh AuthorDate: 2022-12-07 17:58:44 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 stand/kboot: Parse the command line args Do the standard command line parsing... With a small twist to deal with the quirks of booting via linuxboot to the initrd from the command line in shell.efi and other observed oddities. Sponsored by: Netflix (cherry picked from commit e1ff7945e1b3a9af34f092d9cca72ed802671c20) --- stand/kboot/main.c | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index e8a9365b2c4c..2bbe14d79253 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -75,6 +76,32 @@ kboot_getdev(void **vdev, const char *devspec, const char **path) return (devparse(dev, devspec, path)); } +static int +parse_args(int argc, const char **argv) +{ + int howto = 0; + + /* + * When run as init, sometimes argv[0] is a EFI-ESP path, other times + * it's the name of the init program, and sometimes it's a placeholder + * string, so we exclude it here. For the other args, look for DOS-like + * and Unix-like absolte paths and exclude parsing it if we find that, + * otherwise parse it as a command arg (so looking for '-X', 'foo' or + * 'foo=bar'). This is a little different than EFI where it argv[0] + * often times is the first argument passed in. There are cases when + * linux-booting via EFI that we have the EFI path we used to run + * bootXXX.efi as the arguments to init, so we need to exclude the paths + * there as well. + */ + for (int i = 1; i < argc; i++) { + if (argv[i][0] != '\\' && argv[i][0] != '/') { + howto |= boot_parse_arg(argv[i]); + } + } + + return (howto); +} + int main(int argc, const char **argv) { @@ -107,13 +134,8 @@ main(int argc, const char **argv) /* Initialize all the devices */ devinit(); - /* Choose bootdev if provided */ - if (argc > 1) - bootdev = argv[1]; - else - bootdev = ""; - if (argc > 2) - hostfs_root = argv[2]; + /* Parse the command line args -- ignoring for now the console selection */ + parse_args(argc, argv); printf("Boot device: %s with hostfs_root %s\n", bootdev, hostfs_root); From nobody Tue Jan 24 22:14:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8G2YdBz3bgmd; Tue, 24 Jan 2023 22:14: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 4P1h8F6rg2z3Kf9; Tue, 24 Jan 2023 22:14:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WsITNTXRDJJ4H783TCyrI+VNjTpk+oPjdHqldvi7n6E=; b=hBE6IKOvQuMvEYRXYnbtxaHNSRehlSFLguPaq/AXw3J593O0Y94eirj5CDMDBaft/Lg96E BPxuXIbzRYO6TOuL6qkcW0STH8ZmyJhBInJ/X+KugFpoAeufKWW8ZLl/OkijNPHOCxyH0q HE13Y+tMVX/uJcVsvHFpZgrjQ08jByp3Pz+8vAoGUrAhaJj6hIs10RWWtXe22RqxdznmyP QxKMytwaRKkXcy2PzV40M9GFaSPZViBLzH+IlhonRnGPfEUcYR7rpLKy5vFhLcyKtR77kj HX1rpQ8CId3MfXZ7uYlaqhFvP+D4gGA2CFam3lgJsxwYwwb5sPVR9YBpNT6u5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WsITNTXRDJJ4H783TCyrI+VNjTpk+oPjdHqldvi7n6E=; b=nGPHft0sJ35Ls8zARUBSudacHwrv8oahStTRHHfc0XQpoyx4qEvjo8qPkOflxw63QTv1cW 48rlrDBT9GA8WiAKaoux78lDcNiftuC5z4teWDhySGdW/GUnW2MjPjpsyIfsIAqS7r1LnE l/HhdBdB6lh01clqjs5EjpbDSC8/aSO8VHjSpgnPtsvPhS6r9amHNUSRp4QuNTK04c18mt Xv/5ktOWqzmRTb7W9fvs7rRQ/tqOkmhewMOZmysvz9bgCnwOSKUcFRzLT7rCiNQ/td2tSc BlvCIsU3UcZcAEWX7ItlRz1nM37TtaWF+m5HjnsuCj7h8qn6ILTj10bg+T21nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598446; a=rsa-sha256; cv=none; b=FsUId8lrV9cSW8uh9jh8mKG3sSAipSB5uryjhURxHol+pwxUSFnkt/euMenu+Hj2t2HY2G dIVvXpjeFhrbDM5D4geinJArJIqe49hjLA5JRXJg+8ttJWgvCV+AITyLPcfshyPFgbUCRU Skpf2Rl/D0Z0cOkbJQox+MHVKYekPkJ8ONDDLORmGJNjoIzFIp1YvnQH39T7FUIGV7RaWw tx6wZUE9BF2CgQLmFfn7LX3LfI+cBBqpo/bn/GS/iuyNI5Iw1VRamcW0XSgwk7FsC0cefC QQrD76sEns8Z/pFfz8djcR/QC0sc3dMKb2ZseLR6/8R2xi/zqnlp8yU+Da3gCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8F5SkfzQW3; Tue, 24 Jan 2023 22:14:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME5Cw089335; Tue, 24 Jan 2023 22:14:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME5bp089334; Tue, 24 Jan 2023 22:14:05 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:05 GMT Message-Id: <202301242214.30OME5bp089334@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: 5cf716225179 - stable/13 - kboot: Need to find the ACPI tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5cf7162251797587e031b38f220770d9ba631b19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5cf7162251797587e031b38f220770d9ba631b19 commit 5cf7162251797587e031b38f220770d9ba631b19 Author: Warner Losh AuthorDate: 2022-12-09 04:56:06 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 kboot: Need to find the ACPI tables We need to pass the ACPI tables to the laucnhed kernel (at least for x86 and aarch64). Find it using the Linux standard way. Sponsored by: Netflix (cherry picked from commit 1066a70e149abb383c49a4587de21eebf9b7e1d5) --- stand/kboot/kboot.h | 3 +++ stand/kboot/main.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index e3d169ee5ac0..72be7299995b 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -9,6 +9,9 @@ #define DEVT_HOSTDISK 1234 +bool has_acpi(void); +vm_offset_t acpi_rsdp(void); + void do_init(void); extern const char *hostfs_root; diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 2bbe14d79253..88657d908b34 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -102,6 +102,50 @@ parse_args(int argc, const char **argv) return (howto); } +static vm_offset_t rsdp; + +static vm_offset_t +kboot_rsdp_from_efi(void) +{ + char buffer[512 + 1]; + char *walker, *ep; + + if (!file2str("/sys/firmware/efi/systab", buffer, sizeof(buffer))) + return (0); /* Not an EFI system */ + ep = buffer + strlen(buffer); + walker = buffer; + while (walker < ep) { + if (strncmp("ACPI20=", walker, 7) == 0) + return((vm_offset_t)strtoull(walker + 7, NULL, 0)); + if (strncmp("ACPI=", walker, 5) == 0) + return((vm_offset_t)strtoull(walker + 5, NULL, 0)); + walker += strcspn(walker, "\n"); + } + return (0); +} + +static void +find_acpi() +{ + rsdp = kboot_rsdp_from_efi(); +#if 0 /* maybe for amd64 */ + if (rsdp == 0) + rsdp = find_rsdp_arch(); +#endif +} + +vm_offset_t +acpi_rsdp() +{ + return (rsdp); +} + +bool +has_acpi() +{ + return rsdp != 0; +} + int main(int argc, const char **argv) { @@ -146,6 +190,11 @@ main(int argc, const char **argv) setenv("LINES", "24", 1); setenv("usefdt", "1", 1); + /* + * Find acpi, if it exists + */ + find_acpi(); + interact(); /* doesn't return */ return (0); From nobody Tue Jan 24 22:14:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8H2spYz3bgNt; Tue, 24 Jan 2023 22:14: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 4P1h8H1RhSz3KfX; Tue, 24 Jan 2023 22:14:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jcr58X+8NLKzBineahybFH3B6/sDGZjeDREDsmFPfLs=; b=L6wl5XJGmhYz1T1mwvJf6HSH70AnsNYIVzVqaLkaSOVbjJh5t7b0fccWmATJ4YbHbCoNyb IyqcceJxMaAaJdkizzswREfY16LQbyOGhImPKjJy/MYAMU1hMUFlmbdUm3F8Z/ZFcSuDFz HjT7kUoJpEa7odspsNXhXWjGaAh+O9Fv4izYc5wqONCGE4/JmOgQwKSeyeDU6s163QQwL7 xG7nPNcaLL+XdgMrtenejDCY0/DnUbCYoLwKoJBAsIdLEE0awj7q7FSh2kIy3wb9ZcYfyR rIBkAo5LeZAtYyORKr3IjalZ1FjtY/LuavL8a7tDO4so0fTy0JEdpX4t+ibvRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jcr58X+8NLKzBineahybFH3B6/sDGZjeDREDsmFPfLs=; b=Rn0rB8IVH+DPAdz9G1sy2LZGxJ5hfuMh3i/Z/4KhdXwvVg6xWp5HqMnYlFh6gKg2HFDM9l xBAB0I5rv2ojjnwcRN+mYmVA2c3Vus5yGDU6VZC/jWtxUPGSKCrLvAHG0WuaWIBHsgP2h/ /PjHUIIqoqbC6i2T8FkbvlKAup1UjxK83Mwp32LSy14NYa9RIJfAACR8s8TzQWJE3dwftd OvgVFgDBWcjMU9RqXpEq5Eu0+9/MRo3MjQDM0xqoJKP5uZNZ0zFP8Zl1WqRzIqvDpJ3skf 2V2L7Am9hoKApA3tI2/xdB67oubz3f9iN7yFOrLfjUNuf981XTmQ9VeqVMVCxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598447; a=rsa-sha256; cv=none; b=Dup6l//u+ZXLsPBTDY8Bmbpm6+WHnbhwvUiGLgUl8W5i0LrWRVfV6XlblSQLK8Z5o73UxD wi6v++b8QEa5OqOqOm8N5XRm61XJxYxPX8EDH8/TizYtpPpq7wWA6J4gXJg1NrOYTDSVVG 7WQIlIiNEE+lpJmwOnaBIy4PRaxezm9I8off79lRfHUX76FUyveRHKf7rGeCSE7I9HTNGv oxRd6LqunH5EPfLYiy0BLgEBTJ0mMoK2jqk29zXqGCGuY4Jy5Xyovm4UM3wPyML+HvsJ5S 8WrQgyTFkpKT1GqzIGCnLfvuqrXMMZjKxor4/bn8GzVNt/qt2m5Z5U6jISkYZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8G6bznzQfY; Tue, 24 Jan 2023 22:14:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME68j089362; Tue, 24 Jan 2023 22:14:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME6Rm089361; Tue, 24 Jan 2023 22:14:06 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:06 GMT Message-Id: <202301242214.30OME6Rm089361@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: b5f753c82a11 - stable/13 - kboot: Allow loading fdt from different sources List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b5f753c82a116e50a5cc02db22fcccffb53c777b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b5f753c82a116e50a5cc02db22fcccffb53c777b commit b5f753c82a116e50a5cc02db22fcccffb53c777b Author: Warner Losh AuthorDate: 2022-12-09 05:07:52 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 kboot: Allow loading fdt from different sources Linux has /sys/firmware/fdt and /proc/device-tree to publish the dtb for the system. The former has it all in one file, while the latter breaks it out. Prefer the former since it's the more modern interface, but retain both since I don't have a PS3 to test to see if its kernel is new enough for /sys/firmware or not. In addition, do the proper fixup. Sponsored by: Netflix (cherry picked from commit 111610316e49dd6dc6b0b74455c1e4c81960faa8) --- stand/kboot/kbootfdt.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/stand/kboot/kbootfdt.c b/stand/kboot/kbootfdt.c index aafa436daf9f..3791b0c92ddd 100644 --- a/stand/kboot/kbootfdt.c +++ b/stand/kboot/kbootfdt.c @@ -94,11 +94,26 @@ fdt_platform_load_dtb(void) { void *buffer; size_t buflen = 409600; + int fd; + /* + * Should load /sys/firmware/fdt if it exists, otherwise we walk the + * tree from /proc/device-tree. The former is much easier than the + * latter and also the newer interface. But as long as we support the + * PS3 boot, we'll need the latter due to that kernel's age. It likely + * would be better to script the decision between the two, but that + * turns out to be tricky... + */ buffer = malloc(buflen); - fdt_create_empty_tree(buffer, buflen); - add_node_to_fdt(buffer, "/proc/device-tree", - fdt_path_offset(buffer, "/")); + fd = host_open("/sys/firmware/fdt", O_RDONLY, 0); + if (fd != -1) { + buflen = host_read(fd, buffer, buflen); + close(fd); + } else { + fdt_create_empty_tree(buffer, buflen); + add_node_to_fdt(buffer, "/proc/device-tree", + fdt_path_offset(buffer, "/")); + } fdt_arch_fixups(buffer); fdt_pack(buffer); @@ -112,12 +127,11 @@ fdt_platform_load_dtb(void) void fdt_platform_load_overlays(void) { - + fdt_load_dtb_overlays(NULL); } void fdt_platform_fixups(void) { - + fdt_apply_overlays(); } - From nobody Tue Jan 24 22:14:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8J2FvCz3bgqH; Tue, 24 Jan 2023 22:14: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 4P1h8J1LvCz3KXW; Tue, 24 Jan 2023 22:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FObcGDLamUnsbeF6eS5W3DgEZkcL1LyVeReIdKyAsWw=; b=vA5PVOE0i68jFHM5cW4Tlivm31zvr3bAILIDObnPu1ZTckf7XmmGWGR1LQzzgeBqaPWKVv ylCbCI3B5cZq8mKVRuYJpYt/CSBjqR0FHLfPzp7L6anrfufDdQg+2hgdpEbqQI4CvbY8F4 XX1DzMoUCfTfnUShHnNeuzcK1QerPDzU30acar0og25x1tRk41cJ9Dcr19CyjXxNK7DNiY NQYydObyu+3LTekx/KUox3fZwWxmEQnsoLwaU9F3uAX8SasQlDA2VUouo5U83Q5eZHOj42 euMoeCMjqcdSk0gZ+sI1uwubYAW8LDKAOBE+ZQrZFszBy6xnDIhFKFFYOIqKqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FObcGDLamUnsbeF6eS5W3DgEZkcL1LyVeReIdKyAsWw=; b=y4MFQYnlcDCjb7OXCqwgheI5yBwCqut0qxqKixtJEoS5V4iZLgZScq+BEFPfpTrdiGY3/m ToIcGwig1m2ZrkXjblcSPVQ5NMNnVBRjLgWY36SX+OVWn2ebLuneLzRCUi0IwM63Zj/qHu 95607qgzzLcaVkP/zPIJEtItNlLkSCy1BWu/CqEzLYqupdWQgDql3TlP8IP27an9aWaK+B PHuISn3sXz2DFmi50bfSyFbdwc0UbZqqiSDj8Rx1gKFBk/CaSxK8l1ix0Q20RWCwB6s/L+ 4w7r3bhE+YzayACBesH1iLUkZMquSEaOPGDVFjcWWdmXCboqXAQGUreMK5vaJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598448; a=rsa-sha256; cv=none; b=U4ULKmCW2/6jsl8I6VRqkJ/i21jjgshJY/IDJ6uJQgMtanHb4knKRovqkJftt5OtzWN2qK 21Go7XkLkZoA0smV4wz9vVrkw44Syn45h/mVW5k3lqYSlp+hwBhuDP9yTyYsRt/G5DYE/p KENAhB4QG64H8Zq8+VNAJ8YropZQ+3pzda2BoxPqmKHCVk2NBTJ70PhvYXmRU11XwN3wpQ IRycLAt1R3CPInOeET623laqkukJxfagY/zb3beT8fXk+61jheuXaSnOAzLmo2lK01Hp2j vKhn0iDeCgIzWLv1BRpf4JheNVeHRkmcOjjHQbLWOz+vWDXtoIFS9foj7SI/zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8J0Rm8zQq8; Tue, 24 Jan 2023 22:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME7Ef089392; Tue, 24 Jan 2023 22:14:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME7us089391; Tue, 24 Jan 2023 22:14:07 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:07 GMT Message-Id: <202301242214.30OME7us089391@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: e68bfa6252a5 - stable/13 - kboot: Use (void) instead of () for functiosn with no args List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e68bfa6252a501cf962760b313cbc3baefb6d407 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e68bfa6252a501cf962760b313cbc3baefb6d407 commit e68bfa6252a501cf962760b313cbc3baefb6d407 Author: Warner Losh AuthorDate: 2022-12-09 14:55:42 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 kboot: Use (void) instead of () for functiosn with no args `int foo();` means 'a function that takes any number of arguments.` not `a function that takes no arguemnts`, that's spelled `int foo(void);` Adopt the latter. Sponsored by: Netflix (cherry picked from commit e830a6cbbe8e7ab359e871b0ba95b9b025c0ffcc) --- stand/kboot/hostcons.c | 8 ++++---- stand/kboot/main.c | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/stand/kboot/hostcons.c b/stand/kboot/hostcons.c index 80d4a1c4319b..9ff536279a73 100644 --- a/stand/kboot/hostcons.c +++ b/stand/kboot/hostcons.c @@ -34,8 +34,8 @@ __FBSDID("$FreeBSD$"); static void hostcons_probe(struct console *cp); static int hostcons_init(int arg); static void hostcons_putchar(int c); -static int hostcons_getchar(); -static int hostcons_poll(); +static int hostcons_getchar(void); +static int hostcons_poll(void); struct console hostconsole = { "host", @@ -79,7 +79,7 @@ hostcons_putchar(int c) } static int -hostcons_getchar() +hostcons_getchar(void) { uint8_t ch; int rv; @@ -91,7 +91,7 @@ hostcons_getchar() } static int -hostcons_poll() +hostcons_poll(void) { struct host_timeval tv = {0,0}; long fds = 1 << 0; diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 88657d908b34..85453db50fa5 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -125,7 +125,7 @@ kboot_rsdp_from_efi(void) } static void -find_acpi() +find_acpi(void) { rsdp = kboot_rsdp_from_efi(); #if 0 /* maybe for amd64 */ @@ -135,13 +135,13 @@ find_acpi() } vm_offset_t -acpi_rsdp() +acpi_rsdp(void) { return (rsdp); } bool -has_acpi() +has_acpi(void) { return rsdp != 0; } From nobody Tue Jan 24 22:14:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8K3H86z3bgqS; Tue, 24 Jan 2023 22:14: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 4P1h8K2GSJz3KgZ; Tue, 24 Jan 2023 22:14:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UCWLaJ9C1WYKKc0Ev4IHxe8GdH15aMm+vPDbGKekmOs=; b=C6kFj88e2hyf1UKZG1qNN+xVpc9HdviTtMuoiryWHQ4r0GBqfV7aPpkeG6YLsMb4BxA0PM 7rP6GKj5lWxAcSVloLe1usdzrw9yTYorWkEgetaeUiDzPXpSVUdPKg4uAaHXQ7/TyOUWIl NXl/T+tAVOsDI+fFF3eksATwe+lBufuhFJ9zVf3FVpC1oGf0NKdhpdeXOMO1b1mhEj5UGv 7zs8pidv6mKg12NyquW1P7ZOXN7D+CZa8tBWrTHA/H9DrMtFUF7uBV9hl1IMxPrJCvxwM8 MYyGfJ+AfFS049fGeJ4UogVsNFF7qKQWBuja4KTVmg/W9mApTyxJK0Ty5T1VYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UCWLaJ9C1WYKKc0Ev4IHxe8GdH15aMm+vPDbGKekmOs=; b=C47k1h8lvzrRd+XIVSmVPOFlg/JZAnzmDe6bn+pBuhvT5r014rqTWtXav/aP/H8PGI/+q+ sbwrudKzUmLNPlSKInTeQnDdNxWWnFO/aseYk9b80rzrC0iS8ya/oDKQn/V3w5eVT3Ai9c 6qVFp+jp+q5Uwev2O/zZoHnAoUBz3gcT3mTsMLiSFQ6qgzTM6xtKY6l10pNnzzQ4xyfq2j 3zU8rTSGIR4MwjUp9GO+xNULvFGNpLSjXvV4hf4FgWDbQvQuEx/E5DJXMPqHELgOsUZTxn NO3MHGIMaPFsP8+FV4nKhJIaX/SSs+cjZH2pmirDjMpJjUgtBUiDdOC7UX58Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598449; a=rsa-sha256; cv=none; b=vdSYHANl+arx+YOBvw6LT0gTjYWXbtQPfurXLmILO3WdhA/VyelV7PyvW1LlXhuU3qe8qK wlxcRFe7TuYMxXpWvW+/rAFvjHPrsuFYnL9x4BssktmcAWPCoMbCovh6lh5kihEsC2YMzw ZmA5wRwDQ1ywqKTQJ6MGLcezAS4XSEftb72CWGHlc65ah4o3Q2A7clIV/6KrYxeZMRnIRq Vz5KAj3PsTpJ42svJC+PdqwuKe8e0Id/CnFwuDO0N1GwmyA57EG3qqvxDIG6VE48Zn6E5M rK/majsyM+Wb/BI5INXFiq+XPAxE6KZy0vQ2oI989uxAR1G31ge0knPotQ+6Jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8K1JrYzQmb; Tue, 24 Jan 2023 22:14:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OME9SD089418; Tue, 24 Jan 2023 22:14:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OME95p089417; Tue, 24 Jan 2023 22:14:09 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:09 GMT Message-Id: <202301242214.30OME95p089417@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: 887eddca598a - stable/13 - stand: Make ioctl declaration consistent List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 887eddca598afeb678d06cb997961c248da47c6e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=887eddca598afeb678d06cb997961c248da47c6e commit 887eddca598afeb678d06cb997961c248da47c6e Author: Warner Losh AuthorDate: 2022-12-13 04:46:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 stand: Make ioctl declaration consistent It typically had two args with an optional third from the userland declaration in sys/ioccom.h. However, the funciton definition used a non-optional char * argument. This mismatch is UB behavior (but worked due to the calling convetions of all our machines). Instead, add a declaration for ioctl to stand.h, make the third arg 'void *' which is a better match to the ... declaration before. This prevents the convert int * -> char * errors as well. Make the ioctl user-space declaration truly user-space specific (omit it in the stand-alone build). No functional change intended. Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D37680 (cherry picked from commit 2e1e68cbaee3e74a89e9b63fdb180974a2bf4292) --- stand/libsa/ioctl.c | 2 +- stand/libsa/stand.h | 1 + sys/sys/ioccom.h | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/stand/libsa/ioctl.c b/stand/libsa/ioctl.c index 7363236ada0e..5d38d73bf106 100644 --- a/stand/libsa/ioctl.c +++ b/stand/libsa/ioctl.c @@ -66,7 +66,7 @@ __FBSDID("$FreeBSD$"); #include "stand.h" int -ioctl(int fd, u_long cmd, char *arg) +ioctl(int fd, u_long cmd, void *arg) { struct open_file *f; diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index b1c48bd88b39..c0550104bca0 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -315,6 +315,7 @@ extern int close(int); extern void closeall(void); extern ssize_t read(int, void *, size_t); extern ssize_t write(int, const void *, size_t); +extern int ioctl(int, u_long, void *); extern struct dirent *readdirfd(int); extern void preload(int); diff --git a/sys/sys/ioccom.h b/sys/sys/ioccom.h index 13faba046719..7eb5c323d886 100644 --- a/sys/sys/ioccom.h +++ b/sys/sys/ioccom.h @@ -82,7 +82,7 @@ #define _IOC_INVALID (_IOC_VOID|_IOC_INOUT) /* Never valid cmd value, use as filler */ -#else +#elif !defined(_STANDALONE) #include From nobody Tue Jan 24 22:14:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8L4fdHz3bgdN; Tue, 24 Jan 2023 22:14: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 4P1h8L313Tz3Kk0; Tue, 24 Jan 2023 22:14:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=755viHpt5eUpd4njPSX1qLeV61FRJYAHkgNMzou4Xy0=; b=UxWxsjsuy7yrjTofnS5/ReweCdLUQyVlPjGhHZ3502dpItBNMRlVQ/JB1ADhvLASgsGvIb 1AfBLdl9ROWng/NVr8OiuvsktpoxVovP1pRE5ByBEQJd0lF7oPPuvfB8iQg+RhqQgMwGGX cr+qKhh9/QWe65xwX6RTB+8nvWjKIy4qA6eyYEeBgvZ6K0bx8GjNJKWB4AKu6GvZSAkMdM 1RANMsUGiXY//u07ralNJKRRJ/lWLY3vNF2dOq3cAIVADnHyoawKEUADsRMj50ueNtCrp4 7gY7y18/lZk0kXJflL9y34SdSXqkUu1WdOxDqeAGo2zLbLs93m2JsyNfbnOjug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=755viHpt5eUpd4njPSX1qLeV61FRJYAHkgNMzou4Xy0=; b=E3p3s/8u8dACBhERW71uJz40J9djqglya/l50pgucq+MVszrwc3fV9cZH3vDpOFKf7hgWJ rJxbfnJ9dP64se22nrc6JhEx77CR1sYVG67uEwv/qpLDRzEQw+H1QFR3vlvfbG9FJbh8/B dbOgAigFYd0k7h8ewX+V4qu3DRXiCvkZ7m0xNwHM0QD5QBa6GBFdq/v3V3aqYLB9N4S7zj 3gMx0MjqQTPna2RsWQFR6qgfJSvsli7KBMB+VcHZD2b+aDdbp6WZ746wKd1oW+jQcFZn4Z 2Npk2On+6YIdLUPpN7D0Kxy/apP3DUgWzygHAmlxv6FXzA9gcR52JA7dWsrs+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598450; a=rsa-sha256; cv=none; b=SahmHBOe0d0EiacniPMFvwAuh2TtRe8+pDovza39IlbAr2TVmSbKUBkunMqw+OFJBpgMZm E7pTAQzPXWK47oxGr6XxTxGDkjL3IexpGUE3RkRZVDR8L1uQ+tbtaLRWw5CN0o4Hj9uRQk cwUaEFP9nKcUbF6GwJyAfQKHkP7HQDUhOk4Wob1VUk7a2ewyjz1kxBbKIYVqcC2UtwHNNd 0Mpog8dwRjp2eVrsw9qDVjtv3JAJzwWHqHqX6VQfP2fYme0k0yjHMJBYt5K+xQgnPcIiAk YQxOB03vefCuxl7QL1tEenILWhxMbTl38YN5PG5DdcYDrKhRkPwyIVcJ+HSN+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 4P1h8L20GJzQW4; Tue, 24 Jan 2023 22:14:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEACT089445; Tue, 24 Jan 2023 22:14:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEAsi089444; Tue, 24 Jan 2023 22:14:10 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:10 GMT Message-Id: <202301242214.30OMEAsi089444@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: 28dc27649b0e - stable/13 - stand: Add inttype.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 28dc27649b0ea8d0ca2fecd71514ff2cedcdd332 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=28dc27649b0ea8d0ca2fecd71514ff2cedcdd332 commit 28dc27649b0ea8d0ca2fecd71514ff2cedcdd332 Author: Warner Losh AuthorDate: 2023-01-07 01:37:56 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 stand: Add inttype.h libunwind files need inttype.h. It's safe so add it to the safe list. Sponsored by: Netflix Reviewed by: jrtc27, kevans Differential Revision: https://reviews.freebsd.org/D37947 (cherry picked from commit 97e1430606f8387c03fe6e544005be8dab6a3364) --- stand/libsa/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index e3bff3cccddb..17e8ba3ff924 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -112,7 +112,7 @@ CFLAGS.lz4.c+= -I${SRCTOP}/sys/cddl/contrib/opensolaris/common/lz4 # Create a subset of includes that are safe, as well as adjusting those that aren't # The lists may drive people nuts, but they are explicitly opt-in FAKE_DIRS=xlocale arpa -SAFE_INCS=a.out.h assert.h elf.h limits.h nlist.h setjmp.h stddef.h stdbool.h string.h strings.h time.h unistd.h uuid.h +SAFE_INCS=a.out.h assert.h elf.h inttypes.h limits.h nlist.h setjmp.h stddef.h stdbool.h string.h strings.h time.h unistd.h uuid.h STAND_H_INC=ctype.h fcntl.h signal.h stdio.h stdlib.h OTHER_INC=stdarg.h errno.h stdint.h From nobody Tue Jan 24 22:14:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8M4df6z3bgqY; Tue, 24 Jan 2023 22:14: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 4P1h8M3rjsz3Ks0; Tue, 24 Jan 2023 22:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nNk1pJgu/Qkq6rpFD4k9PC4cQqLP6ub02bfmkmQNZ7Q=; b=bRuRPA43dAGuPGZhpgYSbaRWjV+Ie5MuUyaUZg8LbgjJKuLG52wUgOZkYFbg5QVjNBZ1Ia bTe03r6tgn9Gpxv+mvikxCDqOchCNr3MfeFVbIAFDnjMt91h8EThAX5ibPJ+2kTg+UQ+aK aNVJ7WnH8CEp0Ames3GA/tzWg2c0gT6sA9M40DZEHenT4hWVztYGNHnb3YL3rcrLEpVrER H1HMD7u7h7htWt7gwoMkIoIODhdbllnNXvGgsACM8WFzfVObaZlhfmGqrCYuBblJBmXrsd vV9l/2kmJTtzzRYwV5wj9+hiUxSgbPqrRYhbDmExoAKBzd18120Kddo6Y1j9UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nNk1pJgu/Qkq6rpFD4k9PC4cQqLP6ub02bfmkmQNZ7Q=; b=XEmFJknnqsxoB1ParfinqEcZVB4pvDde4f2jPLbIwLtkRPPxc5mdNxLSO0erCRgrTVfJJN P+qWJS+dZl9MetYSSavz5bN7oLAPrzbNy0nFIejv+IFlTTEZm+QaEgHE9DuZttpJIdb+7k dZoyy/Eayjoo53SGVb8oxuDSq1yFsxneKunFn7wiDfY5jusqWfAy8uDKlX1UNH7E3Nptwf wjOy9vyRbWGUGYbHVn1OovjIxBqF5bYfnD76GBYRBjMH+mH/wW8F3iZEdGt9mYi8WkjXYJ QSZTIC5clZAY+6RkYJwZRgFm5P3WXTBBi6wnD0Ehwo+T5Xmo748/yV74f0vi8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598451; a=rsa-sha256; cv=none; b=gymzxQ2HW8ATl+FinqZSCsqsIelFC+S1Pr+gTFdI03uSyghJPCPBWvqeIdmxTs0nFcElNr WjUbfrdP25E3M1w2pifyyLXpHNkN3ZspFWa/B3guj284HPOAt40VLk4otcoQmXlMdsSxcr cqosVV5F1WJkG0rPZsbg1qREqQ/QkCK881MrD2zJ+apSRmoyawGaaiGRAaDz4PiFzTe/AY PEigK+mklY1JAemIVVOSzjmP5ASR429oKLd89BNks84/vpH6v+9DXmxOFodkxPNW67sXHI L3nVqU0+42ySXM+c54kI9fyRG7gyIh0hNz5C1pt21oZAQ1ctpVsDwkMlTa2tmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8M2wbZzQmd; Tue, 24 Jan 2023 22:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEBCx089469; Tue, 24 Jan 2023 22:14:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEBiJ089468; Tue, 24 Jan 2023 22:14:11 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:11 GMT Message-Id: <202301242214.30OMEBiJ089468@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: 5e4f201c7ded - stable/13 - stand: Allow stand.h to be included in C++ programs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5e4f201c7dedcb891ed98e3916683184a119079e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e4f201c7dedcb891ed98e3916683184a119079e commit 5e4f201c7dedcb891ed98e3916683184a119079e Author: Warner Losh AuthorDate: 2023-01-07 01:39:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:44 +0000 stand: Allow stand.h to be included in C++ programs Allow stand.h to be included in C++ programs. This is little more than using our stylized __BEGIN_DECL / __END_DECL around the entire file. There's no run-time support for C++, so the C++ that can be used is quite limited. It is enough for libunwind, though. Sponsored by: Netflix Reviewed by: jrtc27, kevans Differential Revision: https://reviews.freebsd.org/D37946 (cherry picked from commit 5cf20707ba79b5c06b26381da0013c65004b53be) --- stand/libsa/stand.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index c0550104bca0..b5087d17e114 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -61,8 +61,9 @@ #ifndef STAND_H #define STAND_H -#include #include + +#include #include #include #include @@ -90,6 +91,8 @@ /* Partial signal emulation for sig_atomic_t */ #include +__BEGIN_DECLS + struct open_file; /* @@ -509,4 +512,6 @@ void tslog(const char *, const char *, const char *); void tslog_setbuf(void * buf, size_t len); void tslog_getbuf(void ** buf, size_t * len); +__END_DECLS + #endif /* STAND_H */ From nobody Tue Jan 24 22:14:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8N5VJbz3bglH; Tue, 24 Jan 2023 22:14: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 4P1h8N4tSPz3L3H; Tue, 24 Jan 2023 22:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4e3KMJKxL1a4tWm5ENAmiCOpS//T380iN4cAszj/d14=; b=pJ/tf4xMGbN7O9Snzf7WTCLUvWwCh7BTpvGOn7qjWH/GUI+afQ1yObP7hiOqQTYJdOpSdP i5MleD6FZy584h5Gf1yMkkNloxAxsAVnElw+ZJ5GIeuEMq/aVwKIaxRIQoB8trTvnDJDJL Sa8+DgQPNOgk8KkqDwCz0g5pV3LPTMOVc8G42OIh2eZaOzywaSiImhJJxOM7/UiPbFH54W BerKxStb2hL4isb8KpWtYnHvFFYSg5/cr1vpdv4h6zdVLS0A6X0p/fF0et/O1sFwV09mB0 qKZJWSGFCFb3iVPCoId0sT+0h1T6z3jeccc8apP8rzBScX6NfOwImKFuzC7Z9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4e3KMJKxL1a4tWm5ENAmiCOpS//T380iN4cAszj/d14=; b=hzof5IAzCFnK78WoJNaUtwk4p7GCzktTDK9pEgGX7Lv5VbSkn0dis6M0z7HMN4m0Jk6K1G ZhHI9x6HmUD/TseRcwsbXvQU0G88/D+z4xwxGkVXaSN0Wlgl/p5xLt14bIfjmGTHvB8VnP 1z/rhRg4Ok2c9RoFAI4S19QPlBHPrsfw2rNTWfUZS1PlETOK+xyQoct18lJ1iIBFI8mvH/ s6lW6Ravqgq1irznGpuJLdLH2Pdsakk8t6mAOjjsTFgjPJQIkkHih9VBdOZPO3VZ4qnuaE 9FGLiGYujpQ5vGzo5/9JMH84HC7Ps4CwFd3I9pzDaakWEi9RLFikTogM7bkrwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598452; a=rsa-sha256; cv=none; b=vf8BUw6M/EKS2asg6CCivsX+lnE9vW70EIJU6aPV3vraG2yv37CU0sX7thyqMkUjC9fthQ co8Uek67FHoqb1iLSpI/m448y2PX5I0JSWj+tqlmYc8BUSX7NdFAz4kbAqci5glwON6/o9 iQq4ouHbADxc1BUjJMHSuQ7hUzcNfD/G5ip4oBeCwIF0ZKcthKZLyUqAeKRMXQh+tRpaSb IkS/yojmpd1e49wyyicOcMJyKhstD27iBKjERrsJDan67npuCjAvfE4UzLnUVR2OrHiPQE efo4vpv47PvvpyRhgDROWJJ/T6c0j5BceVoRZ3d27Bj3P4xnu6/MWmGTcFzBag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8N3vlHzQhH; Tue, 24 Jan 2023 22:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMECaP089494; Tue, 24 Jan 2023 22:14:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMECgD089493; Tue, 24 Jan 2023 22:14:12 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:12 GMT Message-Id: <202301242214.30OMECgD089493@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: 2b42c3818a68 - stable/13 - kboot: hostdisk.c update copyright notice List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2b42c3818a68d05da05d2943defcdc653c08c03a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2b42c3818a68d05da05d2943defcdc653c08c03a commit 2b42c3818a68d05da05d2943defcdc653c08c03a Author: Warner Losh AuthorDate: 2022-12-13 05:37:35 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 kboot: hostdisk.c update copyright notice I've rewritten a substantial portion of this file, so add Netflix copyright. Sponsored by: Netflix (cherry picked from commit 538b73578b9190af1b2fd57ca886c79b40aa1c17) --- stand/kboot/hostdisk.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index d83161f5bfee..bc31bef8e6d0 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -1,6 +1,7 @@ /*- * Copyright (C) 2014 Nathan Whitehorn * All rights reserved. + * Copyright 2022 Netflix, Inc * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From nobody Tue Jan 24 22:14:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8P6mB2z3bgfB; Tue, 24 Jan 2023 22:14: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 4P1h8P65C1z3L8n; Tue, 24 Jan 2023 22:14:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0o6xvxRyqZl52QLMUFPyt7jzzk2SLLKd3SrffJLw3Mk=; b=xvRJkZf4qh7uh7bVaMZECKLP+x/hO6UsMCNYDnLYCXP8D2LqZ5CgoGA9Lypj6L2r/+lY2k u3XwWpIWm8UD6qf0d0zxz2NQg6lMtCDWuXu7cf/sAgeB4kFh2BcqHgHBhWBmIHDYNQ5vOI kq6+lhZ01NEM7rmeLcUmeECbgUExYP++epXSGpH2mMU8Jj+ZqspsyiPMjN35zP3yjnUF81 7N2Nt+3lQdhkJmcSs7wYj7n4gjhQimV021CPCVKj3dXp7WLuN0s7628GDTWCtdTti7IJUy sBqVzoB4edS7PDYgZXsZ1L59/AulZb7c1r5qzWMk+YIEoW+fQ76emBDFafsc1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0o6xvxRyqZl52QLMUFPyt7jzzk2SLLKd3SrffJLw3Mk=; b=GRebIRlQpmWFRvqVOSEAjK3+TuvoLWZQGh/o7BUcut/ceb5Kq5XknevWBz441aSe1t2xZ4 OrIJ2J5WJ2Mlt4O35mZThSQlyd7IknP9fAsD76IV1bYNjwiaVY9TmjOpVDKgK3VvAUYzlD 4iaHmbWtbLLasfGNXxI4u+kcOmM9zynmmRj5tXzcCF7PUp/09ur2ovwIgSFotcGVqI68T+ M/MZiwm06Byag9+tSJQzxPZeAWlMmMzRlNj1bvqJUqplopB7oBaq4VG+4ZIBqiuqz9X9d4 d+1uHXX3C7bEF5BPkAF2CJvKXPLGNm6Ruo1RJTYu53PwX7HuurC9V2fS9Iz1vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598453; a=rsa-sha256; cv=none; b=Xjxe55tR+SY6YFKyDP3IJTnwFFsrjcJM9bSC6+1VSoBsW2nLssyl2rxOtMyHgjfzVv33zF O5dFhsYjvBJmRT+BXEHMn68iNa//GqCYguQgUk3kxbwXQ4lVvH1yfe/G0O0W+9VgxYKtvR D1bTI/ls2oAeTglqcKxTXY3404UiQvEwD/WiltBduSmBpyi9XwJJVc5P3WRli4inHWD82C 2cr+lVfUl/vsNwfl4r9XzWhVBk/uhz+/l91w3QtacGWoWzVfeWuAoWcRyeX8xO53mYdsva i/MKWnRZWkYKQuXwmlm1X+ECHXcoSWZvtgb9UXSLy3QUtxNG1qZBgI8id7mexg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8P4wsYzQW5; Tue, 24 Jan 2023 22:14:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEDIN089524; Tue, 24 Jan 2023 22:14:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMED3X089523; Tue, 24 Jan 2023 22:14:13 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:13 GMT Message-Id: <202301242214.30OMED3X089523@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: 85d8155e9526 - stable/13 - kboot: Disks should be at least 16MB List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 85d8155e952613e03ab444947405ec0d9183e3b0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=85d8155e952613e03ab444947405ec0d9183e3b0 commit 85d8155e952613e03ab444947405ec0d9183e3b0 Author: Warner Losh AuthorDate: 2022-12-13 05:39:03 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 kboot: Disks should be at least 16MB Linux pre-boot environments will often have a number of psuedo disks that are small, all smaller than a few MB. 16MB is a good cutoff since it's big enough to filter these devices, yet small enough to allow a super-minimal partition through (the smallest I've been able to make that's useful lately is around 20MB). Sponsored by: Netflix (cherry picked from commit 0386255bee079922f00f37eeb4e9e3138b7666c1) --- stand/kboot/hostdisk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index bc31bef8e6d0..628450ef8bb5 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -60,6 +60,8 @@ struct devsw hostdisk = { */ #define SYSBLK "/sys/block" +#define HOSTDISK_MIN_SIZE (16ul << 20) /* 16MB */ + typedef STAILQ_HEAD(, hdinfo) hdinfo_list_t; typedef struct hdinfo { STAILQ_ENTRY(hdinfo) hd_link; /* link in device list */ @@ -162,6 +164,8 @@ hostdisk_add_drive(const char *drv, uint64_t secs) if (!file2u64(fn, &hd->hd_sectorsize)) goto err; hd->hd_size = hd->hd_sectors * hd->hd_sectorsize; + if (hd->hd_size < HOSTDISK_MIN_SIZE) + goto err; hd->hd_flags = 0; STAILQ_INIT(&hd->hd_children); printf("/dev/%s: %ju %ju %ju\n", From nobody Tue Jan 24 22:14:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8R1Rh8z3bgfK; Tue, 24 Jan 2023 22:14: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 4P1h8Q6w4gz3KtS; Tue, 24 Jan 2023 22:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kBayI0pWPofB/zCq59NN9Z1BDQQ6QJa0B7B+wLdJ4mQ=; b=HpMhFnOh43UaWmAAdXf+GwW+gVywMvSLuKQjWfn0rkx1knZoAAZFl5m+zfvBOxrgDEKuqY PCPf1AUYrtQcdptDA71+e9Wf5yqSX2hqflF63jSHR32Xmg3hKJ0MfauewIZJ40ZjTEocoI tOisQZFfOOHl+g4q1p2TG/q/kSlyUHk3f8nLiuPanV20Go7caloYT9eA4sRsa28mfmk3dC I9qObsDHoIWnQ1QIUMS7bvIJOZZfe2UBFQExg5PHHXNAGHLJ7wbAEqU6vEwjYcUCeuu7uT L+XgsS/WRf2J0tp5nmHXgoZJhNmYlNf3QmV4Ec4hoOyAnqwnZMMeuJWko4ohJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kBayI0pWPofB/zCq59NN9Z1BDQQ6QJa0B7B+wLdJ4mQ=; b=sGvdy1jv0MNqn3dJR7l43GcaTjlairqfgFbq0u5wWGmHw79FYGeLZBApX3oDjQ9+EZNyMI etbcwL/pjbCJcon4k8tmyHazuTpKLNRW44K61mtdVtlg1CypsA51G9sTy1y295Z8MF8A6X fYxsbuAGxa8fJ3wX63mM92kUt2Fyyqhw9INYQsdhxNiwCC35Nht7CnpRmmTIWASVWfRlr7 zGgqw3AdklG5gQZJiKInIxMFtRA8PlWvyV/Jhb2BYnK2O+6YkHokMfNITK/b83CXDwbnoA ps60Xqj4kdz5JOHzL2EBx41ZsbmLaiGIP0sLcWLa3zFXyEvkCsU7mbqyCNLJ8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598455; a=rsa-sha256; cv=none; b=vFQzCvpbzXxfb7ZdEWq5j3+GI4ghZxPOXR1trt0i8uI8YbyyiyvdB7NRYg0qhYzKbX8kQ6 PcFCMoC7bZjPooldNoFebjj/Ito/QZLObd4IkXYRI+VDKofxo+a0IaWGMtg8XpLS59+/G1 SmLl9SA/NQU9Sj/PeqbI2JdtVrajtG6P+HOGdR1FpZJjXiNncUlRD1Ud6eCHcg15HNVyLb mpfgzZagBAImUg4W/vBs1Gow3ViLiuTi5r57wXC5ZsJ/a0SGAQBmxTc+QXy22TpvpkR8Jb BuPlwDYTWJ3i81dqYBZ5n8l3vQgvhImURemjAjAPuyAjdpcp7I42G9OK36HIOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8Q62BKzQPv; Tue, 24 Jan 2023 22:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEEd4089548; Tue, 24 Jan 2023 22:14:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEELo089547; Tue, 24 Jan 2023 22:14:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:14 GMT Message-Id: <202301242214.30OMEELo089547@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: 3141164b2a88 - stable/13 - stand: Add macros for file types from stat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3141164b2a88423b83d04282dc828f2f85c05166 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3141164b2a88423b83d04282dc828f2f85c05166 commit 3141164b2a88423b83d04282dc828f2f85c05166 Author: Warner Losh AuthorDate: 2023-01-07 20:23:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 stand: Add macros for file types from stat Add the familiar macros for file types for stat's st_mode member. Prepend HOST_ to the start of these. Make sure all the values match the linux nolibc and uapi headers. These values are the same as native values since they appear to be required by POSIX. Define anyway to allow the reader of the code to know that they are in the 'host (eg Linux)' namespace rather than the 'loader' namespace. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37967 (cherry picked from commit 2f5f17b80c2d030196e05b12b15d544b363eb058) --- stand/kboot/host_syscall.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index ea0745542a5b..38f0fb04aa95 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -46,6 +46,28 @@ typedef int64_t host_blkcnt_t; #include "stat_arch.h" +/* + * stat flags + * These are arch independent and match the values in nolib and uapi headers + * with HOST_ prepended. + */ +#define HOST_S_IFMT 0170000 +#define HOST_S_IFIFO 0010000 +#define HOST_S_IFCHR 0020000 +#define HOST_S_IFDIR 0040000 +#define HOST_S_IFBLK 0060000 +#define HOST_S_IFREG 0100000 +#define HOST_S_IFLNK 0120000 +#define HOST_S_IFSOCK 0140000 + +#define HOST_S_ISBLK(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFBLK) +#define HOST_S_ISCHR(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFCHR) +#define HOST_S_ISDIR(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFDIR) +#define HOST_S_ISFIFO(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFIFO) +#define HOST_S_ISLNK(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFLNK) +#define HOST_S_ISREG(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFREG) +#define HOST_S_ISSOCK(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFSOCK) + /* * Constants for open, fcntl, etc * From nobody Tue Jan 24 22:14:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8S2SHZz3bglN; Tue, 24 Jan 2023 22:14: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 4P1h8S0PtTz3L9f; Tue, 24 Jan 2023 22:14:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=COEMfQH1zZhe1aLCoQgFGhi9rkBoVWUoR4JFadbIz6c=; b=g0KILNBm2C+L/ACBjkKr55iNwlLctPOu9i359xVzZsBSds65odGnkQ2sqwVNbmo8f6St+F bG857gF17Xuyr1hI3SyBcveBvNZCVSzf35UXLvueW5YgMN5Li3QAaI9btvDPUuD/wCqNcV a1+jVFZeCjc/CbZy4Gt4PwDo2sv/z4ceyWO60QcegHCNc05LGWS1aZuLE9uBNtu8EYHNkC aak9T0OHp7p5IrhwsdXXMcCKcf1D8/aLXPtcMUQTTgU0n9M93DD+oo5IoR/9PuD90WcqJi QWNWjEX+kPxoHb78k5breWqF3mhRo++KHYSKZEFZfnEFq6Z432/MiKxYJqNL6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=COEMfQH1zZhe1aLCoQgFGhi9rkBoVWUoR4JFadbIz6c=; b=q51PbWB3IWlX1IlmeD/66gTFkk1nfnLTQgn0/5fnTOqEdm1h05tYtw7km8vrjLUx5/TKL7 aQbv/h2lQ2KaNWEdDhGyPR6XOLgMubwJp1lFB+ogs7teXVcE3o1fDcDKsFCu9B3lMhocdZ tmclje1H+uwr+VUnvPy50iX13y4ncj457LagDVLrTNTTKZnnrUMdh2+hvx5pcpyNTwc2qd t7ieq+82hlcli1gs7QExIUcQLt0aG8lLInV0u7Stt79Gnl+JlHfAKnUmMEzzfJTC3OIyRz VI+gyY9z4PRQF6pSoPZcqWt7/3Dg0pmYFTxd3kNiocK983rlp8JrQyeShgtx4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598456; a=rsa-sha256; cv=none; b=G6ErbyLGkDCFch/TaA7dRGOtRMPVmwLqE3yuC5/k7z9qM84suNCSMEiObi20p4d3QLWiZB IA8u9RUlgsxm/EzA+gRxGk1EsA+f+OJlDwEZO1PDVhV7s/J2EdCPJM1pZHwbD++LBiJXkM U0cMQg28aA+4vOTM/G1BsO59DL3ONagmlO100j2CEVDJDrf4Bl3ffc7QBgmeUkMMTLEIuP j2PxuEaXgznRHsKkIbKcnPVBpi6tZ17TF1lQYUNnoo5kPMzcEcDL3y9Dy6hjcDt2YVfowO FDVLyUEBXIW6GkM9qzrwBt2Wy++RB1jyD2RcTNfxZ/VuFJHaynQihdKMRHaNzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8R6dP2zQfZ; Tue, 24 Jan 2023 22:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEFJj089572; Tue, 24 Jan 2023 22:14:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEFKv089571; Tue, 24 Jan 2023 22:14:15 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:15 GMT Message-Id: <202301242214.30OMEFKv089571@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: dd0f00db08e0 - stable/13 - kboot: Sort kexec_load alphabetically List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dd0f00db08e08aedab330fcc54fd6994afe17657 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dd0f00db08e08aedab330fcc54fd6994afe17657 commit dd0f00db08e08aedab330fcc54fd6994afe17657 Author: Warner Losh AuthorDate: 2023-01-07 20:24:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 kboot: Sort kexec_load alphabetically Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37968 (cherry picked from commit a0e4d18091a4fab66c4eb7c5dc731f78a2f9b0a3) --- stand/kboot/host_syscalls.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index 1ffa04948fdf..092ddfd133fd 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -60,12 +60,6 @@ host_ioctl(int fd, unsigned long request, unsigned long arg) return host_syscall(SYS_ioctl, fd, request, arg); } -int -host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags) -{ - return host_syscall(SYS_kexec_load, entry, nsegs, segs, flags); -} - ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence) { @@ -80,6 +74,12 @@ host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, in #endif } +int +host_kexec_load(unsigned long entry, unsigned long nsegs, struct host_kexec_segment *segs, unsigned long flags) +{ + return host_syscall(SYS_kexec_load, entry, nsegs, segs, flags); +} + int host_mkdir(const char *path, host_mode_t mode) { From nobody Tue Jan 24 22:14:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8T2LY7z3bghY; Tue, 24 Jan 2023 22:14: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 4P1h8T1pc5z3LFk; Tue, 24 Jan 2023 22:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598457; h=from:from:reply-to:subject:subject: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/dFgXnpz78SYw6Qge1Kk9X8/bXU3cj2+a6FdJcMtD8=; b=f3po4DtXD9vnbauItGHnM/tW6dK94PdH4/L6wuDA2jmwoN154P4HPxwX73iU/FaaE/lQlX 1DuPoFTjjZuNZUiV7nET/DwKCwLslOK0cq9dNOIAL5ixhq6Ux06HMnblSVsYnVtWNVVg02 WiJ2TJVSWm7OYUAvYYMLe6FCGY0buw7fJKns8mjw/jZzt5JVP6AczTE0OhrfVrBjv1pSy9 aqaF+xdS28vEw+04CDgBTuGUiqIcAUer8myhQE6r3qAfBkuyhRuIQkeOYqHqaIlzDfjHz+ ozgJJ1snkVrMsUutLy1/O5K4Uq6rUNqsl7zZiO+mpPK0jjrjpNIaGwuhGp9cvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598457; h=from:from:reply-to:subject:subject: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/dFgXnpz78SYw6Qge1Kk9X8/bXU3cj2+a6FdJcMtD8=; b=dV2oqNCyRBHnraTjKqWnXZjTodHhxDG3PZkkwwxDuBMua7hUWxbexgXdgYVlZ/kt50dVvi 6/3cS/UlVRL6cBqPT/25x0MENCY+NYxUi8khxWOxMvSpvM7qPeQOpbZXVv347/XPKOZCzC DOqSIuQoCo+gU0F/yl+fsiG4kFLhSFcmh2nncukhooMDY4IMWaMkjrwcGid2plPZy7Hv0m Yc76IWrlJmLavYuXl7LztWEJtYVZG43gVxfRRpAxOuRUcIfJ/sa53hYdRnDuGy7oS3IyQL ejIhV2/x5AQEUrO/vewe+IGWYmKjvZhcrGxI9qwepAIMfH06namYt+h/Rhafug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598457; a=rsa-sha256; cv=none; b=Zy7a+R4mdgSEvJ62R1DNDziQm1BfPGChTPSlEFHMQiAe7mzUMazV1jU6fTW8tREOb+r12R p5xWk0ffy2HBf9YCTtKxxmOvvwCuRUOLkJkowK9ojXkFBVuWdpjHykkJVmMZmUj+awM9+g 6O0UPCG+XTIfc9ZQ3dJFpeWpJZaqznC5flTyBDuZco7/fmEs0Qlp459HgNY8h2kpNoz7u9 O29h/MrBqyk7eIkFqxvlRWuSIyIy24T6BJARCM3eF4UGXfR1YqFtscJp/BhLY+10QMb4Zn WvLLMkG9yG4ZUi5ugL37PvFdy9YMWzcFCSMjAGPp1ZS6TLG5WqgXR5ZIhg/OMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8T0qlVzQW6; Tue, 24 Jan 2023 22:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEHGD089599; Tue, 24 Jan 2023 22:14:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEHKs089598; Tue, 24 Jan 2023 22:14:17 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:17 GMT Message-Id: <202301242214.30OMEHKs089598@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: e474c385776e - stable/13 - kboot: use 128MB for the heap area, ZFS needs a lot of memory List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e474c385776ed4c1a8a782b8b47db285a288a4ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e474c385776ed4c1a8a782b8b47db285a288a4ae commit e474c385776ed4c1a8a782b8b47db285a288a4ae Author: Warner Losh AuthorDate: 2022-12-23 18:26:32 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 kboot: use 128MB for the heap area, ZFS needs a lot of memory ZFS uses a lot of memory. The old minimal allocations won't work when ZFS support is added. Most environments this will be used (or will liekly be used) have >> 256MB, 128MB should be safe everywhere and allow examination of a fair number of ZFS pools to boot from. Sponsored by: Netflix (cherry picked from commit 4dd3e76881ad025170b0cfb5455680b3c89fe263) --- stand/kboot/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 85453db50fa5..2e85121b7b12 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -150,7 +150,7 @@ int main(int argc, const char **argv) { void *heapbase; - const size_t heapsize = 15*1024*1024; + const size_t heapsize = 128*1024*1024; const char *bootdev; archsw.arch_getdev = kboot_getdev; From nobody Tue Jan 24 22:14:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8V3gsQz3bgsH; Tue, 24 Jan 2023 22:14: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 4P1h8V2whsz3LRB; Tue, 24 Jan 2023 22:14:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6jGy3lZGBMHvv/+r2ultQP/NB5ErfIUqXHc5236N1q0=; b=dtkya8Cn2bOVK10kkjECi8TiKBLVVj7uk8vJxws9Bytz2q3E1/UK6YXzTkysR2p2qMdpcf V+29vqIxHmw8yAMt673NesxSH+QXDrNIdtq7sCTDT/K3YnH3kVC4+Sf9wua8crKFCQPx8a xMuBPtonEDJC+ZB/UQiWg72xoUknqEoQwLvfpSipfM3f77HxKp8e+KW/k8fpfT+U6R1Wsd MKOPlbmhr7uZcVVkq0h4dWYMrKDt2w5o0hrjnhtOr6tEUaa7K+azkZrw2C/fo3wm0R+JdZ djy7GICjpFG3e71KLlGttpwlGnmRxeN2lRoFATM2GLW82Tf9rmK43J7cidQeVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6jGy3lZGBMHvv/+r2ultQP/NB5ErfIUqXHc5236N1q0=; b=FbrLD/4HNIjJyGGk9iWWJ31iQgBgeCUOMWxUZYZA7iEdKVXHVxeGm1/jzhck/HKq6kOfmL vyBd/j1DyP4Soa3VXk2cAty+CgMT0ouljnTuJSekADA2yUEa4CsaiIdpVXs18vlV5U8jlh trHa8nK7b885IIbWeIKdt+2xAk+HuVxcxiBz6yZSqptTSS9uIUcSKfprMMLcqdyoLbBWF5 XxYTwq5aqa+4K8fM6Ja/RLkEfoe/XbXBKSfvHpF7tNo/BxuSC9uE7aKw/oiAsYkJ1HyDNq 5jvBdEUO2rAIq7GmtSoCe+0Y9G4O9MQ+Qzptgh9HNR8LCN3uoph1mfPkfFCN2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598458; a=rsa-sha256; cv=none; b=cMbYRmy36Kc+guKuY5tilR85phbBQwM+wpxh8Qw6aZPabhOgnVZ9Pz8XVjSS1AVqZ7Dqt/ /CCi1MdrwdtJQUgyia0Ac2dXBJqCr1nBr7Cfe61DBtCT28iXSC/h4Xg+uRjNjjpIkzIAS9 Li8lvtEryxVtUxcH3HI4M49Ea7g9MYiiSL50ZUjgl9444mG6bZaGSss79ztfnjEmN7lA7Z E4iRX0Dkfhn4EikklSPwedFqtJ8SGU4xp1ZPFfyuzadjsjt90eqSsEoWs7NFj0uTRvw3m/ hpk+nbUutFPDlZ2FyUuhLn0knm7Gb3cvDjCVGdpjfoBnccfmr56qn6Qkqy9s2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8V1hdSzQs7; Tue, 24 Jan 2023 22:14:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEI2F089625; Tue, 24 Jan 2023 22:14:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEIYn089624; Tue, 24 Jan 2023 22:14:18 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:18 GMT Message-Id: <202301242214.30OMEIYn089624@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: 903ffbe57d2b - stable/13 - stand/zfs: Add a third argument to zfs_probe_dev: part_too List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 903ffbe57d2b6d5a129d8b01b5c9898a03c46d21 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=903ffbe57d2b6d5a129d8b01b5c9898a03c46d21 commit 903ffbe57d2b6d5a129d8b01b5c9898a03c46d21 Author: Warner Losh AuthorDate: 2022-12-16 23:19:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 stand/zfs: Add a third argument to zfs_probe_dev: part_too Pass in 'true' if you'd like to search this device's partitions or 'false' if you should just search the device. EFI and (in the future) kboot have discrete partitions that aren't accessed via the full disk device. Weird things happen if you try to search in these cases. Sponsored by: Netflix (cherry picked from commit 71bbe6fb709dcfbe36877fa53c928e2e6d881843) --- stand/efi/libefi/efizfs.c | 2 +- stand/i386/loader/main.c | 2 +- stand/i386/zfsboot/zfsboot.c | 4 ++-- stand/libsa/zfs/libzfs.h | 2 +- stand/libsa/zfs/zfs.c | 4 +++- stand/userboot/userboot/main.c | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/stand/efi/libefi/efizfs.c b/stand/efi/libefi/efizfs.c index 7f3986d47140..4fa336df1d59 100644 --- a/stand/efi/libefi/efizfs.c +++ b/stand/efi/libefi/efizfs.c @@ -115,7 +115,7 @@ efi_zfs_probe(void) snprintf(devname, sizeof(devname), "%s%dp%d:", efipart_hddev.dv_name, hd->pd_unit, pd->pd_unit); guid = 0; - if (zfs_probe_dev(devname, &guid) == 0) { + if (zfs_probe_dev(devname, &guid, false) == 0) { insert_zfs(pd->pd_handle, guid); if (pd->pd_handle == boot_img->DeviceHandle) pool_guid = guid; diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 861e08e7569c..16ac23909c0d 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -453,7 +453,7 @@ i386_zfs_probe(void) for (dev.dd.d_unit = 0; bd_unit2bios(&dev) >= 0; dev.dd.d_unit++) { snprintf(devname, sizeof(devname), "%s%d:", bioshd.dv_name, dev.dd.d_unit); - zfs_probe_dev(devname, NULL); + zfs_probe_dev(devname, NULL, true); } } #endif diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index c6305b41493e..da91fc3a5d20 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -706,9 +706,9 @@ i386_zfs_probe(void) dev.dd.d_unit); /* If this is not boot disk, use generic probe. */ if (dev.dd.d_unit != boot_unit) - zfs_probe_dev(devname, NULL); + zfs_probe_dev(devname, NULL, true); else - zfs_probe_dev(devname, &pool_guid); + zfs_probe_dev(devname, &pool_guid, true); if (pool_guid != 0 && bdev == NULL) { bdev = malloc(sizeof (struct i386_devdesc)); diff --git a/stand/libsa/zfs/libzfs.h b/stand/libsa/zfs/libzfs.h index b6b6cd78f073..d9758f49ab78 100644 --- a/stand/libsa/zfs/libzfs.h +++ b/stand/libsa/zfs/libzfs.h @@ -49,7 +49,7 @@ struct zfs_devdesc { }; char *zfs_fmtdev(struct devdesc *); -int zfs_probe_dev(const char *devname, uint64_t *pool_guid); +int zfs_probe_dev(const char *devname, uint64_t *pool_guid, bool part_too); int zfs_list(const char *name); int zfs_get_bootonce(void *, const char *, char *, size_t); int zfs_get_bootenv(void *, nvlist_t **); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index d7aecc71ab5c..57fecf2f4d68 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1492,7 +1492,7 @@ zfs_attach_nvstore(void *vdev) } int -zfs_probe_dev(const char *devname, uint64_t *pool_guid) +zfs_probe_dev(const char *devname, uint64_t *pool_guid, bool parts_too) { struct ptable *table; struct zfs_probe_args pa; @@ -1508,6 +1508,8 @@ zfs_probe_dev(const char *devname, uint64_t *pool_guid) ret = zfs_probe(pa.fd, pool_guid); if (ret == 0) return (0); + if (!parts_too) + return (ENXIO); /* Probe each partition */ ret = ioctl(pa.fd, DIOCGMEDIASIZE, &mediasz); diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index 6ec5c5ddbbb6..b403d9b48f56 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -313,7 +313,7 @@ userboot_zfs_probe(void) for (unit = 0; unit < userboot_disk_maxunit; unit++) { sprintf(devname, "disk%d:", unit); pool_guid = 0; - zfs_probe_dev(devname, &pool_guid); + zfs_probe_dev(devname, &pool_guid, true); if (pool_guid != 0) userboot_zfs_found = 1; } From nobody Tue Jan 24 22:14:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8X008wz3bgqs; Tue, 24 Jan 2023 22:14: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 4P1h8W4Mdtz3LJR; Tue, 24 Jan 2023 22:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n8KScbVYimzUt9PERsmfx6UE5Lf3lj41gO8YeerSMFY=; b=UX3frRtvWJjkNe9FFUoCXFQGjfLIfvNQkWEUn9HoSvrzTvJ7DeRLznpwwenXD7+wWmokG5 4KFWRqJmnTHdNTt95IZ9zHS5EMHXRK/JSjUaKKXz04fwyYXfan0Cs7OvmIEv1sDWu29MRT nU47hqHueGtoSEMQXCtLpdPvtEfc86DqpISuZp8go8kGlgx2TsP7krKCEWD0jy89BqoXsp ScRErYKXw/aAQ+7FjyTEIltjgkLSwhYbc/e/hx4sf35KYKI/9nXaU907Qv18thTqh02mbW OLU1iDCrOUoXme6LBdFawcDTOuiy/a/maw/+LJWmZKRgFV4qt0VWjGjwERjVNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n8KScbVYimzUt9PERsmfx6UE5Lf3lj41gO8YeerSMFY=; b=xOo+746Q+V+hO3C8KHWdiMRZgadxg2KyNyl2aOrgwy/fMCP4OE1paat8abqSerQ9zY5S61 IQXwYeVsiA4HFyQWphwrblxZVZv2Myss7r1tGKShOBYAGLu8xYvstZrG9ZT74eVvj/qwyq cC9uFIeA5Pa2J4inluvqT2rgFPcfMv4hTGILmcfIhiCQS5lGjFoYNziwX+k3p76VR3FQrn egxv8cCGs92pAgk0+DsEZakXeOLYA72HcT0Vfcw6QTYgSgEQ0oku6lIYhhkX0jnyBIW5Sn rP2W94fdB0cXMOe3Ap8/h6yfk/XS4i2X6WgqErJy3bvXiXlTI1P5BvWUlZ6s3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598459; a=rsa-sha256; cv=none; b=yyYlNXiXsFgVRuN8Oh05QBvO3BfTGhsTmoHCjTnXVcwiHDLiBEx/NirOWDWvyxuD6Zmuzy W9mCA7LByCRsVOafXkBbrFhOcga64X06XWG7Pa46lVBPT2xdRVEiAKfuLioZo3DUAzhOzN T5IFKBwC4Mcup+pQwFoy2m5yaURH3YZkg5Z3KkaF2ed7+q12XE6+2O7sJeg3H3x+CdhYar qM8QR8DqBanSWANSF9s50W4N3tT8CA+ilveGnfMS5Jrh73nkBFYDe9CjOccFUwk7RrYycW mH1QZERkOx/JENUB8Qho3yPdhtBjF3UsPFCi+xO/4EG2XAw7FszVdUq2NYIqQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8W33cRzQfd; Tue, 24 Jan 2023 22:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEJrI089659; Tue, 24 Jan 2023 22:14:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEJgl089658; Tue, 24 Jan 2023 22:14:19 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:19 GMT Message-Id: <202301242214.30OMEJgl089658@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: 6ebdd83cae10 - stable/13 - stand/efi: Better variable name List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6ebdd83cae10a8660e02fe132c33e93955bfa231 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6ebdd83cae10a8660e02fe132c33e93955bfa231 commit 6ebdd83cae10a8660e02fe132c33e93955bfa231 Author: Warner Losh AuthorDate: 2023-01-08 19:00:51 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 stand/efi: Better variable name sanity_check_currdev returns true if it found a kernel or a sane loader config file. A better name for this would be 'bootable' rather than 'rv' which connotes in other places an errno value or similar. Sponsored by: Netflix (cherry picked from commit 23ed2a38c200c93414de20d20f7508f621acecd1) --- stand/efi/loader/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 57a9769f6024..a315fdea8edc 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -267,7 +267,7 @@ probe_zfs_currdev(uint64_t guid) char *devname; struct zfs_devdesc currdev; char *buf = NULL; - bool rv; + bool bootable; currdev.dd.d_dev = &zfs_dev; currdev.dd.d_unit = 0; @@ -277,8 +277,8 @@ probe_zfs_currdev(uint64_t guid) devname = devformat(&currdev.dd); init_zfs_boot_options(devname); - rv = sanity_check_currdev(); - if (rv) { + bootable = sanity_check_currdev(); + if (bootable) { buf = malloc(VDEV_PAD_SIZE); if (buf != NULL) { if (zfs_get_bootonce(&currdev, OS_BOOTONCE, buf, @@ -291,7 +291,7 @@ probe_zfs_currdev(uint64_t guid) (void) zfs_attach_nvstore(&currdev); } } - return (rv); + return (bootable); } #endif From nobody Tue Jan 24 22:14:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8Y12Nkz3bgvs; Tue, 24 Jan 2023 22: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 4P1h8X5zPZz3LSB; Tue, 24 Jan 2023 22:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mem/5y27zfVwxID0Iqmyoz2V368Eb7VKYWYMk0wV6w4=; b=OrDylX7MsM50TkKPpwIrDJtBH55pcwD/77MtutW9TlUdhw2PnzecF2o56eTMq9q0Nk+A8F c3YC7NRNeCtK45snmWX5Po2BEYnCUzMBk9hJ+WVRKYALFClAF6FcBMUGHOg7Y3wKNUECGu auAcaDSX1STYn7bqWY8pnkO6fvmaHazZ7f9lFi6pZnfQ3t9Ocl+1XekfWWJvCcnpaAfrm9 4vd8ACP5JsvWEmjJxuQpUVUH5ZUnT/GxujCrSm55ziCUu8KrM2PXE2zOPwMElHkXkBA5Ao ZwnleULNNpQs3MShQXo03mEd0JSRO/pSv4lXS4jke8sfJqjNO601kytRHUTVTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mem/5y27zfVwxID0Iqmyoz2V368Eb7VKYWYMk0wV6w4=; b=tcLi5znf4cUInq6RQkBaYG7ZKsvzw8PCopSL1nmtZmF0cmCRPlH8sEGduKljg7GeH5Q1ZG I6H9P14tQGxk4EDD3ILpprwnt4ove9eHo8tPwSsiyP2i4zeAFZR6TR0tSEab7QUtC5E5rm O9kJ5mLrbHn7JhTYSiP5KcqMDk+HOdjrrAsESgfIkjMdstinxlm26wxpvfudjYNogvv9f9 dPdLRis3yRQnPi5AmC+nHrSyrGZ+DmXksB442lkAcveM1ZyK4i/3JQdu9swjTo8Ckzbh1a Jkpc5aBoXCk2FAM9HQVpzvLPJUnIqgpe1bzc5E7ErFuvSk/WQYSVYMPjp5P89A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598460; a=rsa-sha256; cv=none; b=Q3LUNN4sdv2qlp1sRjd/ThbkIXNI0JOGPhlw+nea/+mNBC0U+IuPZWmQV6sfYg426l+XMf bxgAoUUhndC4+NRctRCmyDugIG3dIuravqTYRjLuLON5CisAiXOuk0UG9Ft8DQTEHr+QML xmpt538+YU98jmBaYf98PkZCO/3SpnX7/7rZL+lgNDg0csagbnHuDH4iCaXkNs857QvQrB o3loAulKrhf3/xOCng+IK4P9Y2YgMCELU7bavTDh3Vuywyp4oonINSGfuH/CEvvWysm+6i zU5KyuPebfsTqHCpxK8sWNNb7LFrOXcHiNKjgFdtrA3rJVOr5WR93jl+SOFXCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8X49XlzQs8; Tue, 24 Jan 2023 22:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEK3f089685; Tue, 24 Jan 2023 22:14:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEK09089684; Tue, 24 Jan 2023 22:14:20 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:20 GMT Message-Id: <202301242214.30OMEK09089684@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: ab377e0e5168 - stable/13 - stand: Create common gen_setcurrdev and replace code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ab377e0e516872b94fdf6076d0f046e7cbe4df7e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ab377e0e516872b94fdf6076d0f046e7cbe4df7e commit ab377e0e516872b94fdf6076d0f046e7cbe4df7e Author: Warner Losh AuthorDate: 2023-01-11 22:14:02 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 stand: Create common gen_setcurrdev and replace code Replace 4 identical copies of *_setcurrdev with gen_setcurrdev to avoid having to create a 5th copy. uboot_setcurrdev is actually different and needs to remain separate (even though it's quite similar). Sponsored by: Netflix Reviewed by: fuz@fuz.su, kevans Differential Revision: https://reviews.freebsd.org/D38003 (cherry picked from commit 1c1783d66bc81ebd0c1304b1f613a9403c073915) --- stand/common/bootstrap.h | 3 ++- stand/common/misc.c | 16 ++++++++++++++++ stand/efi/include/efilib.h | 2 -- stand/efi/libefi/devicename.c | 17 ----------------- stand/efi/loader/main.c | 4 ++-- stand/i386/libi386/devicename.c | 16 ---------------- stand/i386/libi386/libi386.h | 1 - stand/i386/loader/main.c | 4 ++-- stand/i386/zfsboot/zfsboot.c | 4 ++-- stand/libofw/devicename.c | 14 -------------- stand/libofw/libofw.h | 1 - stand/powerpc/ofw/main.c | 6 +++--- stand/userboot/userboot/devicename.c | 16 ---------------- stand/userboot/userboot/libuserboot.h | 1 - stand/userboot/userboot/main.c | 5 ++--- 15 files changed, 29 insertions(+), 81 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index bbe97e80323b..b16625774ce5 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -415,7 +415,8 @@ int nvstore_set_var_from_string(void *, const char *, const char *, int nvstore_unset_var(void *, const char *); /* common code to set currdev variable. */ -extern int mount_currdev(struct env_var *, int, const void *); +int gen_setcurrdev(struct env_var *ev, int flags, const void *value); +int mount_currdev(struct env_var *, int, const void *); #ifndef CTASSERT #define CTASSERT(x) _Static_assert(x, "compile-time assertion failed") diff --git a/stand/common/misc.c b/stand/common/misc.c index 9cb5550344ca..e1945b24be5a 100644 --- a/stand/common/misc.c +++ b/stand/common/misc.c @@ -201,3 +201,19 @@ int mount_currdev(struct env_var *ev, int flags, const void *value) } return (rv); } + +/* + * Set currdev to suit the value being supplied in (value) + */ +int +gen_setcurrdev(struct env_var *ev, int flags, const void *value) +{ + struct devdesc *ncurr; + int rv; + + if ((rv = devparse(&ncurr, value, NULL)) != 0) + return (rv); + free(ncurr); + + return (mount_currdev(ev, flags, value)); +} diff --git a/stand/efi/include/efilib.h b/stand/efi/include/efilib.h index bbef44fca4b3..1673ac97fdf2 100644 --- a/stand/efi/include/efilib.h +++ b/stand/efi/include/efilib.h @@ -85,8 +85,6 @@ efi_exit_boot_services(UINTN key) } int efi_getdev(void **vdev, const char *devspec, const char **path); -int efi_setcurrdev(struct env_var *ev, int flags, const void *value); - int efi_register_handles(struct devsw *, EFI_HANDLE *, EFI_HANDLE *, int); EFI_HANDLE efi_find_handle(struct devsw *, int); diff --git a/stand/efi/libefi/devicename.c b/stand/efi/libefi/devicename.c index 83f4e6e99201..ec821821bdf5 100644 --- a/stand/efi/libefi/devicename.c +++ b/stand/efi/libefi/devicename.c @@ -63,20 +63,3 @@ efi_getdev(void **vdev, const char *devspec, const char **path) return (devparse(dev, devspec, path)); } - -/* - * Set currdev to suit the value being supplied in (value) - */ -int -efi_setcurrdev(struct env_var *ev, int flags, const void *value) -{ - struct devdesc *ncurr; - int rv; - - rv = devparse(&ncurr, value, NULL); - if (rv != 0) - return (rv); - free(ncurr); - - return (mount_currdev(ev, flags, value)); -} diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index a315fdea8edc..1e91817410b6 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -189,7 +189,7 @@ static void set_currdev(const char *devname) { - env_setenv("currdev", EV_VOLATILE, devname, efi_setcurrdev, + env_setenv("currdev", EV_VOLATILE, devname, gen_setcurrdev, env_nounset); /* * Don't execute hook here; the loaddev hook makes it immutable @@ -970,7 +970,7 @@ main(int argc, CHAR16 *argv[]) cons_probe(); /* Set up currdev variable to have hooks in place. */ - env_setenv("currdev", EV_VOLATILE, "", efi_setcurrdev, env_nounset); + env_setenv("currdev", EV_VOLATILE, "", gen_setcurrdev, env_nounset); /* Init the time source */ efi_time_init(); diff --git a/stand/i386/libi386/devicename.c b/stand/i386/libi386/devicename.c index 99d3aa7920bc..99674a4ac877 100644 --- a/stand/i386/libi386/devicename.c +++ b/stand/i386/libi386/devicename.c @@ -63,19 +63,3 @@ i386_getdev(void **vdev, const char *devspec, const char **path) */ return(devparse(dev, devspec, path)); } - -/* - * Set currdev to suit the value being supplied in (value) - */ -int -i386_setcurrdev(struct env_var *ev, int flags, const void *value) -{ - struct devdesc *ncurr; - int rv; - - if ((rv = devparse(&ncurr, value, NULL)) != 0) - return (rv); - free(ncurr); - - return (mount_currdev(ev, flags, value)); -} diff --git a/stand/i386/libi386/libi386.h b/stand/i386/libi386/libi386.h index 0115f30e31c7..587a367ccf9c 100644 --- a/stand/i386/libi386/libi386.h +++ b/stand/i386/libi386/libi386.h @@ -80,7 +80,6 @@ extern uint16_t relocator_a20_enabled; int i386_getdev(void **vdev, const char *devspec, const char **path); char *i386_fmtdev(void *vdev); -int i386_setcurrdev(struct env_var *ev, int flags, const void *value); extern struct devdesc currdev; /* our current device */ diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 16ac23909c0d..1a7b97f48d75 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -164,7 +164,7 @@ main(void) /* Set up currdev variable to have hooks in place. */ env_setenv("currdev", EV_VOLATILE | EV_NOHOOK, "", - i386_setcurrdev, env_nounset); + gen_setcurrdev, env_nounset); /* * Initialise the block cache. Set the upper limit. @@ -384,7 +384,7 @@ extract_currdev(void) #endif env_setenv("currdev", EV_VOLATILE, devformat(&new_currdev.dd), - i386_setcurrdev, env_nounset); + gen_setcurrdev, env_nounset); env_setenv("loaddev", EV_VOLATILE, devformat(&new_currdev.dd), env_noset, env_nounset); } diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index da91fc3a5d20..6b8c72ea0fb8 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -208,7 +208,7 @@ main(void) bd_bios2unit(bootinfo.bi_bios_dev)); /* Set up currdev variable to have hooks in place. */ - env_setenv("currdev", EV_VOLATILE, "", i386_setcurrdev, + env_setenv("currdev", EV_VOLATILE, "", gen_setcurrdev, env_nounset); devinit(); @@ -256,7 +256,7 @@ main(void) free(bdev); i386_getdev((void **)&bdev, boot_devname, NULL); - env_setenv("currdev", EV_VOLATILE, boot_devname, i386_setcurrdev, + env_setenv("currdev", EV_VOLATILE, boot_devname, gen_setcurrdev, env_nounset); /* Process configuration file */ diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 77a53ccd90ce..76ba5530520c 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -92,20 +92,6 @@ ofw_path_to_handle(const char *ofwpath, const char *want_type, const char **path return ((phandle_t)-1); } -int -ofw_setcurrdev(struct env_var *ev, int flags, const void *value) -{ - struct devdesc *ncurr; - int rv; - - if ((rv = devparse(&ncurr, value, NULL)) != 0) - return (rv); - - free(ncurr); - - return (mount_currdev(ev, flags, value)); -} - int ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path, const char *ofwtype) diff --git a/stand/libofw/libofw.h b/stand/libofw/libofw.h index 2d6ea9a5bf24..3101dcb645be 100644 --- a/stand/libofw/libofw.h +++ b/stand/libofw/libofw.h @@ -45,7 +45,6 @@ struct ofw_devdesc { }; extern int ofw_getdev(void **vdev, const char *devspec, const char **path); -extern ev_sethook_t ofw_setcurrdev; extern struct devsw ofwdisk; extern struct devsw ofw_netdev; diff --git a/stand/powerpc/ofw/main.c b/stand/powerpc/ofw/main.c index 177e665a4dc7..83ab2647f308 100644 --- a/stand/powerpc/ofw/main.c +++ b/stand/powerpc/ofw/main.c @@ -180,7 +180,7 @@ main(int (*openfirm)(void *)) #endif /* Set up currdev variable to have hooks in place. */ - env_setenv("currdev", EV_VOLATILE, "", ofw_setcurrdev, env_nounset); + env_setenv("currdev", EV_VOLATILE, "", gen_setcurrdev, env_nounset); devinit(); @@ -202,11 +202,11 @@ main(int (*openfirm)(void *)) bargc = 0; parse(&bargc, &bargv, bootargs); if (bargc == 1) - env_setenv("currdev", EV_VOLATILE, bargv[0], ofw_setcurrdev, + env_setenv("currdev", EV_VOLATILE, bargv[0], gen_setcurrdev, env_nounset); else env_setenv("currdev", EV_VOLATILE, bootpath, - ofw_setcurrdev, env_nounset); + gen_setcurrdev, env_nounset); env_setenv("loaddev", EV_VOLATILE, bootpath, env_noset, env_nounset); setenv("LINES", "24", 1); /* optional */ diff --git a/stand/userboot/userboot/devicename.c b/stand/userboot/userboot/devicename.c index e6d7e9706c18..8caafd1cab67 100644 --- a/stand/userboot/userboot/devicename.c +++ b/stand/userboot/userboot/devicename.c @@ -64,19 +64,3 @@ userboot_getdev(void **vdev, const char *devspec, const char **path) */ return (devparse(dev, devspec, path)); } - -/* - * Set currdev to suit the value being supplied in (value) - */ -int -userboot_setcurrdev(struct env_var *ev, int flags, const void *value) -{ - struct devdesc *ncurr; - int rv; - - if ((rv = devparse(&ncurr, value, NULL)) != 0) - return (rv); - free(ncurr); - - return (mount_currdev(ev, flags, value)); -} diff --git a/stand/userboot/userboot/libuserboot.h b/stand/userboot/userboot/libuserboot.h index 6d7dc0c3ff40..5539b617cdce 100644 --- a/stand/userboot/userboot/libuserboot.h +++ b/stand/userboot/userboot/libuserboot.h @@ -57,7 +57,6 @@ extern ssize_t userboot_copyin(const void *, vm_offset_t, size_t); extern ssize_t userboot_copyout(vm_offset_t, void *, size_t); extern ssize_t userboot_readin(readin_handle_t, vm_offset_t, size_t); extern int userboot_getdev(void **, const char *, const char **); -int userboot_setcurrdev(struct env_var *ev, int flags, const void *value); int bi_getboothowto(char *kargs); void bi_setboothowto(int howto); diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index b403d9b48f56..02118c2ec1ae 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -172,8 +172,7 @@ loader_main(struct loader_callbacks *cb, void *arg, int version, int ndisks) cons_probe(); /* Set up currdev variable to have hooks in place. */ - env_setenv("currdev", EV_VOLATILE, "", - userboot_setcurrdev, env_nounset); + env_setenv("currdev", EV_VOLATILE, "", gen_setcurrdev, env_nounset); printf("\n%s", bootprog_info); #if 0 @@ -230,7 +229,7 @@ set_currdev(const char *devname) { env_setenv("currdev", EV_VOLATILE, devname, - userboot_setcurrdev, env_nounset); + gen_setcurrdev, env_nounset); env_setenv("loaddev", EV_VOLATILE, devname, env_noset, env_nounset); } From nobody Tue Jan 24 22:14:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8Y6WL9z3bgfT; Tue, 24 Jan 2023 22: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 4P1h8Y5KkXz3LGl; Tue, 24 Jan 2023 22: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=1674598461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6sCsyesoDwUyw9gC0WfNRNUFSkaeytcg4MNj/9P6+Lg=; b=dN5vuPkvHIIWzU4OIuEa5YPy7DjU05gUGBeE4yii7YDLV7mErG68gsq+HuPuFcnCcABqve qszkqEBD+XK5lPtDUobCxsl0XfvSK2gxR6Z5nsFx0RNNqRFv0TzmMRJfyEy6uqjzGKbnRY R9GE5kEo0lVRVT16CyCNTrKlkJQztUec/q+4UbcLNBi8v68Nm9Y31XdE74W40B6SVbujy6 P18/spwyaasWHxquM9IoEC/gcI6Z8M0RPA3urgRyBQDp1bVwDsjMcD94yDUZCxObQFGWP0 g52RBF0YXLCrSc4u5haLTUcmp4bZqb30km3oGAVBWfkyYVavaYErOr5LEzGjAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6sCsyesoDwUyw9gC0WfNRNUFSkaeytcg4MNj/9P6+Lg=; b=IFMwrNBYbOgsOa60j0lad1JrhY0BEGxRDUzmKvYdljq5NbfI2BNIm/dkSF1c3lZGKBEF6v cVTB/C1t+2j/m+L/9ZJYzwSne+SzAbryU02suggSpvdzSkJ2XJuLFYSuc3JplfYe7o9EFf SOADfT3PLXiJmYJwqxSibanCbrZmyPqGOlkxYRhBW12J8smUhTAVtJLlJSFzzVMOUVg/Tm waBNnglkQNgFV+1ykWCM+8Ooh7OwPl7egANMZlmCVys+cUN9o8/7juD13yATmgCboX6ics BwmiICEfjIpz8Kf6xP58l7fHbKvFiYOT4N8Y1pD0WjCYgiptbYzQikQX+wfkyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598461; a=rsa-sha256; cv=none; b=yQXp0SHEPob7hGifPhqsbn9F3eyj9jUFuhPCDHLbSPFUBg6pq5mDgnpjmNDxSsqKp/ybHd Qg9Zxkv6WoocijQPxjgMvFOuQZ1igfqF49RmHsWORx4j70JN+Wj/ckct9k7MQAM+0NA0Z1 6L02lyu76m+KZG07H5LjC10wIiLlz1JncKgCPD5BVUdic9zdlJnV81DgEQ90dG+4O/fC2m 5LQgn1sESbWsQIPgto455+meGovvPB4H6dAw2eVxYUVJGTYiLxLVgSxJCsBrpJZZO0Te+h uU4rfTVnqY3tL6MbcSewgodkw7iheXdco5VdMEeG2lIC1v4YhQE7Fey0Qc82kQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8Y4RqZzQk8; Tue, 24 Jan 2023 22:14:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMELca089709; Tue, 24 Jan 2023 22:14:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMELbO089708; Tue, 24 Jan 2023 22:14:21 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:21 GMT Message-Id: <202301242214.30OMELbO089708@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: 6c918e0bfaf8 - stable/13 - stand: Move dev_cleanup into libsa List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6c918e0bfaf8268e42a4b612c3f218e1abf97a2b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6c918e0bfaf8268e42a4b612c3f218e1abf97a2b commit 6c918e0bfaf8268e42a4b612c3f218e1abf97a2b Author: Warner Losh AuthorDate: 2023-01-11 22:14:17 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 stand: Move dev_cleanup into libsa Since dev_cleanup() walks through all the devsw devices with dv_cleanup rotuines, move it into libsa rather than having it in 'common'. Logically, it operates only on things that are in libsa, and would never be different for different loaders: either people would call it as is, or they'd do the loop themselves with 'special' things inline between calls to cleanup (not that I think that will ever be needed though). Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38004 (cherry picked from commit bf020787d5f1b4a1274135b49309f7e9ef3955e1) --- stand/common/bootstrap.h | 2 -- stand/common/misc.c | 11 ----------- stand/libsa/dev.c | 11 +++++++++++ stand/libsa/stand.h | 1 + 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index b16625774ce5..138e2e51ceff 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -381,8 +381,6 @@ extern struct arch_switch archsw; /* This must be provided by the MD code, but should it be in the archsw? */ void delay(int delay); -void dev_cleanup(void); - /* * nvstore API. */ diff --git a/stand/common/misc.c b/stand/common/misc.c index e1945b24be5a..e27191796a72 100644 --- a/stand/common/misc.c +++ b/stand/common/misc.c @@ -169,17 +169,6 @@ alloc_pread(readin_handle_t fd, off_t off, size_t len) return (buf); } -void -dev_cleanup(void) -{ - int i; - - /* Call cleanup routines */ - for (i = 0; devsw[i] != NULL; ++i) - if (devsw[i]->dv_cleanup != NULL) - (devsw[i]->dv_cleanup)(); -} - /* * mount new rootfs and unmount old, set "currdev" environment variable. */ diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index b273edb4457e..6d1834c8a14a 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -172,3 +172,14 @@ devinit(void) } return (err); } + +void +dev_cleanup(void) +{ + int i; + + /* Call cleanup routines */ + for (i = 0; devsw[i] != NULL; ++i) + if (devsw[i]->dv_cleanup != NULL) + (devsw[i]->dv_cleanup)(); +} diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index b5087d17e114..87b86fb98b20 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -193,6 +193,7 @@ struct devdesc { char *devformat(struct devdesc *d); int devparse(struct devdesc **, const char *, const char **); int devinit(void); +void dev_cleanup(void); struct open_file { int f_flags; /* see F_* below */ From nobody Tue Jan 24 22:14:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8b1VVGz3bglp; Tue, 24 Jan 2023 22:14: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 4P1h8Z6Jctz3LV5; Tue, 24 Jan 2023 22:14:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=utCiSbTBLP2dCkqgq7T2EFT3mxYEXo89IwSZ7QkNwI8=; b=XXOK5jRE9CA+fWIttq6WhCtmZ8b1oAgeHOOe2MeCiDEXAQ8QSEaerTCw3H2TisLJvcm5ai e6j2MhhUvChCEzZLM9K3KyC8ZuNoWyYfC1KOQgFfZJo59G9invErWM/CNVeDmtBpMzvphi joc/NHw0AZM4xTX0e+cCYDnauedwQynPfi6AWGIw8dgtXQQYhE+UcxPFM08F688avuNLqn aHlTsANAFgNhWmrNDOE+tRotNlWBOrW+dMdtRQ3puil8vD/0fX+g4QZ29FfinS2QxYSUBH ElRHY1BRrQxj+jFq/T3g0C0nNyYoRvP9hCwNgz0Onbbt1v2/P/Wn3CZTDDvBTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=utCiSbTBLP2dCkqgq7T2EFT3mxYEXo89IwSZ7QkNwI8=; b=GE6Y8z+9fgWkOHZCpE4IozhzVUc000E52laSXnJSYoS3cfHQQni4bhUxjDv3KpjtZVF206 VmSePXxQAIBHnT1dF9WDChJf2/dMr4VodNKT7Cpdxcy8HHhAidpugPrbtfJrWe1CYavnHr 3/pCMrWvEvl1LCXAztOsaEC3IiWFQXi3QBAR3sS913imOHExPTJM6b09pyZHLR0RhZzIXK sSvR26rDY2msjfcc+DMDQrvkNbrUEvVzBU/6stgaLfsH63k63hvXeC+OzVdvVutb5Ld0Tb pn9PjOHd5MTd94Uvz+3xZPw2E5JZqqU0cjiJA5I26bo1dPFPQn36WAM4EXJtzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598462; a=rsa-sha256; cv=none; b=SIBJXBpVpi3hkyqt4MSU/yHv3Z1u9HgTQSTYzykRyX/ij1k2TEiQdrKVFbNbh+A6V1nwGz vjnNRLH80tLYeOurg9oviuGr/QkaHWrQOqz2CF7KyS260uir1lOuWyO7oqMxTdEbeWp6We pohtYZ+kcBlDJA1LHCaeAThCmu+Hq25fWk71L4UYMZDYd4RlAHH4RCTPcBbdw0YiSMdnEl 4h07vLeYQVtAhaPo5Va5J88Q5CXEYXXUX+NUxXwIznPXFDLZEEDJ1vOobQM3mdU19F1O6H /3/xSsBaFmh0zr+4qirEz6uYmo6tYEhD36RRGNm8oISnOVm9bBHR2AlZL7CvcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8Z5N0kzQs9; Tue, 24 Jan 2023 22:14:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEMsU089733; Tue, 24 Jan 2023 22:14:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEMhO089732; Tue, 24 Jan 2023 22:14:22 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:22 GMT Message-Id: <202301242214.30OMEMhO089732@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: 7956ceec924a - stable/13 - stand: create common set_currdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7956ceec924a4ef9a9f97c11efe89a959a5b23db Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7956ceec924a4ef9a9f97c11efe89a959a5b23db commit 7956ceec924a4ef9a9f97c11efe89a959a5b23db Author: Warner Losh AuthorDate: 2023-01-11 22:14:28 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 stand: create common set_currdev Pull together the nearly identical copies of set_currdev in i386, userboot and efi. Other boot loaders have variances that might be fine to use the common routine, or not. Since they are harder to test for me, and ofw and uboot do handle these setting differently, leave them be for now. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38005 (cherry picked from commit ad70f2e22ef29f94bf5208b3a9a2389575330b06) --- stand/common/bootstrap.h | 1 + stand/common/misc.c | 17 +++++++++++++++++ stand/efi/loader/main.c | 14 -------------- stand/i386/loader/main.c | 5 +---- stand/userboot/userboot/main.c | 10 ---------- 5 files changed, 19 insertions(+), 28 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index 138e2e51ceff..261eefaac943 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -415,6 +415,7 @@ int nvstore_unset_var(void *, const char *); /* common code to set currdev variable. */ int gen_setcurrdev(struct env_var *ev, int flags, const void *value); int mount_currdev(struct env_var *, int, const void *); +void set_currdev(const char *devname); #ifndef CTASSERT #define CTASSERT(x) _Static_assert(x, "compile-time assertion failed") diff --git a/stand/common/misc.c b/stand/common/misc.c index e27191796a72..b80909b9edfb 100644 --- a/stand/common/misc.c +++ b/stand/common/misc.c @@ -206,3 +206,20 @@ gen_setcurrdev(struct env_var *ev, int flags, const void *value) return (mount_currdev(ev, flags, value)); } + +/* + * Wrapper to set currdev and loaddev at the same time. + */ +void +set_currdev(const char *devname) +{ + + env_setenv("currdev", EV_VOLATILE, devname, gen_setcurrdev, + env_nounset); + /* + * Don't execute hook here; the loaddev hook makes it immutable + * once we've determined what the proper currdev is. + */ + env_setenv("loaddev", EV_VOLATILE | EV_NOHOOK, devname, env_noset, + env_nounset); +} diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 1e91817410b6..446c267a517a 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -185,20 +185,6 @@ out: return retval; } -static void -set_currdev(const char *devname) -{ - - env_setenv("currdev", EV_VOLATILE, devname, gen_setcurrdev, - env_nounset); - /* - * Don't execute hook here; the loaddev hook makes it immutable - * once we've determined what the proper currdev is. - */ - env_setenv("loaddev", EV_VOLATILE | EV_NOHOOK, devname, env_noset, - env_nounset); -} - static void set_currdev_devdesc(struct devdesc *currdev) { diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 1a7b97f48d75..f073f7a31f6d 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -383,10 +383,7 @@ extract_currdev(void) init_zfs_boot_options(devformat(&new_currdev.dd)); #endif - env_setenv("currdev", EV_VOLATILE, devformat(&new_currdev.dd), - gen_setcurrdev, env_nounset); - env_setenv("loaddev", EV_VOLATILE, devformat(&new_currdev.dd), - env_noset, env_nounset); + set_currdev(devformat(&new_currdev.dd)); } COMMAND_SET(reboot, "reboot", "reboot the system", command_reboot); diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c index 02118c2ec1ae..40911f35020a 100644 --- a/stand/userboot/userboot/main.c +++ b/stand/userboot/userboot/main.c @@ -224,16 +224,6 @@ loader_main(struct loader_callbacks *cb, void *arg, int version, int ndisks) exit(0); } -static void -set_currdev(const char *devname) -{ - - env_setenv("currdev", EV_VOLATILE, devname, - gen_setcurrdev, env_nounset); - env_setenv("loaddev", EV_VOLATILE, devname, - env_noset, env_nounset); -} - /* * Set the 'current device' by (if possible) recovering the boot device as * supplied by the initial bootstrap. From nobody Tue Jan 24 22:14:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8c3P1yz3bgr0; Tue, 24 Jan 2023 22:14: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 4P1h8c0Lksz3LH4; Tue, 24 Jan 2023 22:14:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DGnsnOGkaZYVxD6K115vQM7qEDZXhTMA4SiX3U03NLA=; b=OpVvkXimUsusYLk01fP7/bqOUmNHrm111sH/sSeChqn3jMLLD9df9FIDsB6sfSlOFsWF1O hHoLOPZY33MEKwHTKKvufDLjbyLUto2gxonsyJkmPLpdXY7SBozc7Od7QxRzc/f8vdVGrn z/VWCX3NMQzbsDsqWynkKL9+l8MdXjjbaPGp/FhaMK6KQwLYx96hWPTPA2hOEijVKIB32C h0QtRT3nu86669eNckOqNM6IGtdUx+KpY+qCp1Ua/wyW5KLC3NafOOs19b6Ag4cdf81yVP opjYYM/A1B8Iq4VYeLG7P+NdpDTzaB/Ydz0sW2ovEdfwVlWHlwOWWRoNR5YWYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DGnsnOGkaZYVxD6K115vQM7qEDZXhTMA4SiX3U03NLA=; b=YGJ84GnI6MO06TkiZt8rttyOu+zo4H1Q22xceEDvNZ74/HZk4njhAHQRwnmhPU7E2iYgKv ZTAgC2H3jA0W74WVxSpHWJMy+Rywfn755VoNuAFWmM4cRBJWqQIKERRT7Bp64GZXuTFus3 2fMrt3sprQ0O0+16R8HvQfV0qE2Xz8WH+OpdHpkEqtCmRxIIrAuq+V/JlOdfjUk14QXoYe LinxadPjhYlfccQe+jjx5uYIE3jMkOxMecTdvHWJrcyhwp/xDCK4A7L7OkRyDHNM6jq+Aw v0fFI4FjEhaFVKYo2tQi57sDFVj8B0mRI2O7qZtDdaz6phmtXHB9ADAkH640mQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598464; a=rsa-sha256; cv=none; b=Umx1ppA8yci2L3iAApvcSVpW5BpvWcNb38jv00ia1J88IfUqW/23wt8pchmYzZg4bbj+Z3 fs0+BmNPXCeChqTTnfAwrZLppvn9CgbYMNXhQeIu6Tw2BlyDiQYdvYz1aCiDnDLVsf0E56 fuP9CNriVXRtiU02iRHUWCg7B0BRC1rNhXkQaab5omqaFp4VcnpjdjebAE4MBEgrHNRvr4 qbC8xmCaZW6mlTFp8Eh9p0QCUYQJuwSBCLWm1tDi7rPuIMCdFQGKviejN5652sszhp6viq PcUIsQARVJ7Yv2l/e242BiUVIpAde+OueduEy+7qReIs2IoHObkzouzGJALXFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8b6Z1XzQff; Tue, 24 Jan 2023 22:14:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMENF0089757; Tue, 24 Jan 2023 22:14:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMENPS089756; Tue, 24 Jan 2023 22:14:23 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:23 GMT Message-Id: <202301242214.30OMENPS089756@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: 10b9e348e467 - stable/13 - stand: Separate base and cli parts of nvstore List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 10b9e348e4678a3849e2cd38c0e4aff722cc4926 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=10b9e348e4678a3849e2cd38c0e4aff722cc4926 commit 10b9e348e4678a3849e2cd38c0e4aff722cc4926 Author: Warner Losh AuthorDate: 2023-01-13 21:19:30 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 stand: Separate base and cli parts of nvstore zfs lives in libsa. However, it depends on nvstore (and other things) that are in common. Fix part of this layering violation by splitting nvstore into a libsa piece (which is the base implementation) and keeping a much smaller common piece (to implement the nvstore command). This just leaves zfs' knowledge of device names that's specific to common and its calling platform specific init code to resolve. Add a nvstore.h file for these two parts to communicate private things and move the public nvstore api from bootstrap.h to stand.h. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38043 (cherry picked from commit d1ea5017141ffecdb7ce97a3d97b27a6aabf8c4a) --- stand/common/bootstrap.h | 31 ---------- stand/common/nvstore.c | 132 +---------------------------------------- stand/libsa/Makefile | 2 +- stand/libsa/nvstore.c | 151 +++++++++++++++++++++++++++++++++++++++++++++++ stand/libsa/nvstore.h | 39 ++++++++++++ stand/libsa/stand.h | 29 +++++++++ 6 files changed, 223 insertions(+), 161 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index 261eefaac943..cc22cbcb729d 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -381,37 +381,6 @@ extern struct arch_switch archsw; /* This must be provided by the MD code, but should it be in the archsw? */ void delay(int delay); -/* - * nvstore API. - */ -typedef int (nvstore_getter_cb_t)(void *, const char *, void **); -typedef int (nvstore_setter_cb_t)(void *, int, const char *, - const void *, size_t); -typedef int (nvstore_setter_str_cb_t)(void *, const char *, const char *, - const char *); -typedef int (nvstore_unset_cb_t)(void *, const char *); -typedef int (nvstore_print_cb_t)(void *, void *); -typedef int (nvstore_iterate_cb_t)(void *, int (*)(void *, void *)); - -typedef struct nvs_callbacks { - nvstore_getter_cb_t *nvs_getter; - nvstore_setter_cb_t *nvs_setter; - nvstore_setter_str_cb_t *nvs_setter_str; - nvstore_unset_cb_t *nvs_unset; - nvstore_print_cb_t *nvs_print; - nvstore_iterate_cb_t *nvs_iterate; -} nvs_callbacks_t; - -int nvstore_init(const char *, nvs_callbacks_t *, void *); -int nvstore_fini(const char *); -void *nvstore_get_store(const char *); -int nvstore_print(void *); -int nvstore_get_var(void *, const char *, void **); -int nvstore_set_var(void *, int, const char *, void *, size_t); -int nvstore_set_var_from_string(void *, const char *, const char *, - const char *); -int nvstore_unset_var(void *, const char *); - /* common code to set currdev variable. */ int gen_setcurrdev(struct env_var *ev, int flags, const void *value); int mount_currdev(struct env_var *, int, const void *); diff --git a/stand/common/nvstore.c b/stand/common/nvstore.c index c6d230584f9d..3cdb094c858f 100644 --- a/stand/common/nvstore.c +++ b/stand/common/nvstore.c @@ -29,138 +29,12 @@ * nvstore is abstraction layer to implement data read/write to different * types of non-volatile storage. * - * User interfaces: - * Provide mapping via environment: setenv/unsetenv/putenv. Access via - * environment functions/commands is available once nvstore has - * attached the backend and stored textual data is mapped to environment. - * - * Provide command "nvstore" to create new data instances. - * - * API: TBD. - * nvstore_init(): attach new backend and create the environment mapping. - * nvstore_fini: detach backend and unmap the related environment. - * - * The disk based storage, such as UFS file or ZFS bootenv label area, is - * only accessible after root file system is set. Root file system change - * will switch the back end storage. + * Provides cli command 'nvostre' */ -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include #include "stand.h" - -typedef struct nvstore { - char *nvs_name; - void *nvs_data; - nvs_callbacks_t *nvs_cb; - STAILQ_ENTRY(nvstore) nvs_next; -} nvstore_t; - -typedef STAILQ_HEAD(store_list, nvstore) nvstore_list_t; - -nvstore_list_t stores = STAILQ_HEAD_INITIALIZER(stores); - -void * -nvstore_get_store(const char *name) -{ - nvstore_t *st; - - st = NULL; - - STAILQ_FOREACH(st, &stores, nvs_next) { - if (strcmp(name, st->nvs_name) == 0) - break; - } - - return (st); -} - -int -nvstore_init(const char *name, nvs_callbacks_t *cb, void *data) -{ - nvstore_t *st; - - st = nvstore_get_store(name); - if (st != NULL) - return (EEXIST); - - if ((st = malloc(sizeof (*st))) == NULL) - return (ENOMEM); - - if ((st->nvs_name = strdup(name)) == NULL) { - free(st); - return (ENOMEM); - } - - st->nvs_data = data; - st->nvs_cb = cb; - - STAILQ_INSERT_TAIL(&stores, st, nvs_next); - return (0); -} - -int -nvstore_fini(const char *name) -{ - nvstore_t *st; - - st = nvstore_get_store(name); - if (st == NULL) - return (ENOENT); - - STAILQ_REMOVE(&stores, st, nvstore, nvs_next); - - free(st->nvs_name); - free(st->nvs_data); - free(st); - return (0); -} - -int -nvstore_print(void *ptr) -{ - nvstore_t *st = ptr; - - return (st->nvs_cb->nvs_iterate(st->nvs_data, st->nvs_cb->nvs_print)); -} - -int -nvstore_get_var(void *ptr, const char *name, void **data) -{ - nvstore_t *st = ptr; - - return (st->nvs_cb->nvs_getter(st->nvs_data, name, data)); -} - -int -nvstore_set_var(void *ptr, int type, const char *name, - void *data, size_t size) -{ - nvstore_t *st = ptr; - - return (st->nvs_cb->nvs_setter(st->nvs_data, type, name, data, size)); -} - -int -nvstore_set_var_from_string(void *ptr, const char *type, const char *name, - const char *data) -{ - nvstore_t *st = ptr; - - return (st->nvs_cb->nvs_setter_str(st->nvs_data, type, name, data)); -} - -int -nvstore_unset_var(void *ptr, const char *name) -{ - nvstore_t *st = ptr; - - return (st->nvs_cb->nvs_unset(st->nvs_data, name)); -} +#include "nvstore.h" +#include "bootstrap.h" COMMAND_SET(nvstore, "nvstore", "manage non-volatile data", command_nvstore); diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 17e8ba3ff924..d1ec566ec112 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -15,7 +15,7 @@ LIB?= sa # standalone components and stuff we have modified locally SRCS+= gzguts.h zutil.h __main.c abort.c assert.c bcd.c environment.c \ getopt.c gets.c globals.c \ - hexdump.c pager.c panic.c printf.c strdup.c strerror.c \ + hexdump.c nvstore.c pager.c panic.c printf.c strdup.c strerror.c \ random.c sbrk.c tslog.c twiddle.c zalloc.c zalloc_malloc.c # private (pruned) versions of libc string functions diff --git a/stand/libsa/nvstore.c b/stand/libsa/nvstore.c new file mode 100644 index 000000000000..e5a804ff15e8 --- /dev/null +++ b/stand/libsa/nvstore.c @@ -0,0 +1,151 @@ +/*- + * Copyright 2020 Toomas Soome + * + * 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. + */ + +/* + * Big Theory Statement. + * + * nvstore is abstraction layer to implement data read/write to different + * types of non-volatile storage. + * + * User interfaces: + * Provide mapping via environment: setenv/unsetenv/putenv. Access via + * environment functions/commands is available once nvstore has + * attached the backend and stored textual data is mapped to environment. + * + * nvstore_init(): attach new backend and create the environment mapping. + * nvstore_fini: detach backend and unmap the related environment. + * + * The disk based storage, such as UFS file or ZFS bootenv label area, is + * only accessible after root file system is set. Root file system change + * will switch the back end storage. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include "stand.h" +#include "nvstore.h" + +nvstore_list_t stores = STAILQ_HEAD_INITIALIZER(stores); + +void * +nvstore_get_store(const char *name) +{ + nvstore_t *st; + + st = NULL; + + STAILQ_FOREACH(st, &stores, nvs_next) { + if (strcmp(name, st->nvs_name) == 0) + break; + } + + return (st); +} + +int +nvstore_init(const char *name, nvs_callbacks_t *cb, void *data) +{ + nvstore_t *st; + + st = nvstore_get_store(name); + if (st != NULL) + return (EEXIST); + + if ((st = malloc(sizeof (*st))) == NULL) + return (ENOMEM); + + if ((st->nvs_name = strdup(name)) == NULL) { + free(st); + return (ENOMEM); + } + + st->nvs_data = data; + st->nvs_cb = cb; + + STAILQ_INSERT_TAIL(&stores, st, nvs_next); + return (0); +} + +int +nvstore_fini(const char *name) +{ + nvstore_t *st; + + st = nvstore_get_store(name); + if (st == NULL) + return (ENOENT); + + STAILQ_REMOVE(&stores, st, nvstore, nvs_next); + + free(st->nvs_name); + free(st->nvs_data); + free(st); + return (0); +} + +int +nvstore_print(void *ptr) +{ + nvstore_t *st = ptr; + + return (st->nvs_cb->nvs_iterate(st->nvs_data, st->nvs_cb->nvs_print)); +} + +int +nvstore_get_var(void *ptr, const char *name, void **data) +{ + nvstore_t *st = ptr; + + return (st->nvs_cb->nvs_getter(st->nvs_data, name, data)); +} + +int +nvstore_set_var(void *ptr, int type, const char *name, + void *data, size_t size) +{ + nvstore_t *st = ptr; + + return (st->nvs_cb->nvs_setter(st->nvs_data, type, name, data, size)); +} + +int +nvstore_set_var_from_string(void *ptr, const char *type, const char *name, + const char *data) +{ + nvstore_t *st = ptr; + + return (st->nvs_cb->nvs_setter_str(st->nvs_data, type, name, data)); +} + +int +nvstore_unset_var(void *ptr, const char *name) +{ + nvstore_t *st = ptr; + + return (st->nvs_cb->nvs_unset(st->nvs_data, name)); +} diff --git a/stand/libsa/nvstore.h b/stand/libsa/nvstore.h new file mode 100644 index 000000000000..a03a73249194 --- /dev/null +++ b/stand/libsa/nvstore.h @@ -0,0 +1,39 @@ +/*- + * Copyright 2020 Toomas Soome + * + * 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. + */ + +/* Private part of nvstore API, for internal use only */ + +#pragma once + +typedef struct nvstore { + char *nvs_name; + void *nvs_data; + nvs_callbacks_t *nvs_cb; + STAILQ_ENTRY(nvstore) nvs_next; +} nvstore_t; + +typedef STAILQ_HEAD(store_list, nvstore) nvstore_list_t; + +extern nvstore_list_t stores; diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 87b86fb98b20..83bfabd1c878 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -503,6 +503,35 @@ caddr_t ptov(uintptr_t); /* hexdump.c */ void hexdump(caddr_t region, size_t len); +/* nvstore.c */ +typedef int (nvstore_getter_cb_t)(void *, const char *, void **); +typedef int (nvstore_setter_cb_t)(void *, int, const char *, + const void *, size_t); +typedef int (nvstore_setter_str_cb_t)(void *, const char *, const char *, + const char *); +typedef int (nvstore_unset_cb_t)(void *, const char *); +typedef int (nvstore_print_cb_t)(void *, void *); +typedef int (nvstore_iterate_cb_t)(void *, int (*)(void *, void *)); + +typedef struct nvs_callbacks { + nvstore_getter_cb_t *nvs_getter; + nvstore_setter_cb_t *nvs_setter; + nvstore_setter_str_cb_t *nvs_setter_str; + nvstore_unset_cb_t *nvs_unset; + nvstore_print_cb_t *nvs_print; + nvstore_iterate_cb_t *nvs_iterate; +} nvs_callbacks_t; + +int nvstore_init(const char *, nvs_callbacks_t *, void *); +int nvstore_fini(const char *); +void *nvstore_get_store(const char *); +int nvstore_print(void *); +int nvstore_get_var(void *, const char *, void **); +int nvstore_set_var(void *, int, const char *, void *, size_t); +int nvstore_set_var_from_string(void *, const char *, const char *, + const char *); +int nvstore_unset_var(void *, const char *); + /* tslog.c */ #define TSRAW(a, b, c) tslog(a, b, c) #define TSENTER() TSRAW("ENTER", __func__, NULL) From nobody Tue Jan 24 22:14:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8d5NXNz3bgnD; Tue, 24 Jan 2023 22:14: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 4P1h8d1LXbz3LZx; Tue, 24 Jan 2023 22:14:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/UcubLNqm+OsaW7w2ILsWVqyaS3+ZrnA4zD7ABot7rA=; b=t/ZlYDsGdcXSUIyIxSUMdwWO5bgn5jCXP/1ZycJmveCEEAQgNcC+ITvEjOsky3uom5V03Y 5ZUmuGfNxR+RAspHAOGN76YECTKIUn8iaU6DbcViF4oL4nvEjpcyMXotd2SaN9dWHjML85 r/WCJBIV4thI9DjWpwrx4WUuEQRl+tvyA/1jkliHKgRfaymIA8B+Z1vdbekp9ix9XB+QPZ 6hLcsdQrOH2tHfD4/75T4+uxE8vYxgU3CeFJIUOY69sG4Yeay1iCrLMvdQk+F0cxGEbn1b M0iIScICXAVvUWZKKNSCaJvho7mVTA4YL/Tt4dBZtRTQRdtwMTSn1oVle2tuoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/UcubLNqm+OsaW7w2ILsWVqyaS3+ZrnA4zD7ABot7rA=; b=fVzZkTC8of6ccelDPUSWp9c3oxZxJM9ramwydNCIQ9gNsrMgaM2HCsaL6e+IEKYCTp32Dt E/W9Cr3IlR18hOYEqukhcmC6ziuslIRLKyyu/4wChuVJ2JFgzNgXssduqqsy2H303Jvb4D 6VPDgWP9vk3rWSJSTanDxDpAl51l0nldYWMn9/zvgUBSa2jJ4CqYfuL/zRudWmnvEgN+OC ozQhhxoqzLhgjREsWMIqB5fJFiKq54OzReZgGjG0P3N/1Q403dQ90Og3TtTp97UdgHzTP0 iugfE+0G5Fqr03AXLmh6vZAifYGOQNFYwuJynx7YXKlHkWTgPMOKn0z9E65z7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598465; a=rsa-sha256; cv=none; b=WLy4xXLZkzhdsU3wr1sZm4SI3AqbkAviel5CM32m+St2+/5Y/c8L7ZVNweHoid2N/CGtv5 /zG1yeroaECcz3WQ44D2DNWKRd9Q1+uompfY4z+cqcXGKSnjHbNu7tNsHUkfBBhD/nWaUj QL6WuuCjVe9EplqARRfd01ZEPpLyIkOvUVHUHNi2zV6DvCvt+WyGbHBrQHTBScikps/RKO oCyDa7pIQfVmaTx6k+i4b+48F7jwvw9ZoPtTBfpmzz5kLEzd5oKtgVyGHbkYtiD2NRbDua Ps6yrWZ6rPVinrfTiBsxyivKphU6+W8UB13K7A1aD0TXvrSfqlvVxwkHMVdvXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8d0P7FzQfg; Tue, 24 Jan 2023 22:14:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEOhl089789; Tue, 24 Jan 2023 22:14:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEOeO089788; Tue, 24 Jan 2023 22:14:24 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:24 GMT Message-Id: <202301242214.30OMEOeO089788@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: 2f7b00be106f - stable/13 - stand/ofw: dev can't be NULL here List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2f7b00be106ff560656c638bf44c6b92f1d823d8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2f7b00be106ff560656c638bf44c6b92f1d823d8 commit 2f7b00be106ff560656c638bf44c6b92f1d823d8 Author: Warner Losh AuthorDate: 2023-01-13 21:19:39 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 stand/ofw: dev can't be NULL here dev can't be NULL here. ofw_common_parsedev is always called via devparse (indirectly through dv_parsedev() calls there which call it with the args unchanged). In the past, ofw_getdev could call us with NULL pointer for the parse-only case, but that's now all handled inside of devparse for simplicity. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38041 (cherry picked from commit d38d8a4c4e9a3c4667307ac2163007ff193040b0) --- stand/libofw/devicename.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 76ba5530520c..510fe9d92ec1 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -108,8 +108,7 @@ ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path }; strlcpy(idev->d_path, devspec, min(rem_path - devspec + 1, sizeof(idev->d_path))); - if (dev != NULL) - *dev = &idev->dd; + *dev = &idev->dd; if (path != NULL) *path = rem_path; return 0; From nobody Tue Jan 24 22:14:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8f5bc1z3bgnG; Tue, 24 Jan 2023 22:14:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h8f2ClDz3LYV; Tue, 24 Jan 2023 22:14:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hfUIi+GowCJpVxa2Kr+MNj7kGS+F/S6HGme5LH4lz+k=; b=YPO2SfGFeB1FJiqwV+F0EG0eETd6n78AmM2zCyIAjkS+fSiG5kcfp74Riv3fB7DquoAFwi f9/GnH1lNASMA+OyxruAv9d8MNjSJSUhjWjk8+amBms0OfqDqahl9f9Xi85QLWUS1hvcYk YcXbP5lmCDJTexRwl7y3fxkUqql50ydoD20uL85X8l6zI/q64Lf0v1+csND+Ck2VTOY06K oN2fxeVRqscyUq65m8RsRhFh9sCUdG4pkm0adgdoEsu9yNZaE1vm3DpplRaGIT1Ytk/cp7 /885auO9pxrhu6YajiTItWpOt4I2gFM1qb5dmRVsVNmmMbSUi2uGpcKCA4GoUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hfUIi+GowCJpVxa2Kr+MNj7kGS+F/S6HGme5LH4lz+k=; b=NeDO3Cgu7D3Zfton5GLYSC5bcUUjY/JuCkl9R1Ie9Ew/16/d7i9Df74ILU9qK4id31l4Iq 2pV7KZbZhHL/HT77rzMa8PA6qIFllhZ0wW7xpUqxdMBPT5NdorbnRqj+P/AE54SofBM0CL 9ysm7Svami9FvQEXhVIdSCiV358pjiyJK1MFHOkmmf3QbD1QLiq5WZNf05reFaXdJNSkiP RnyZsIs3lL4BePYNUAZb44SMoZJ5okjoB5y7lMI5+iktREmokxs73BeAkzdsCGgnIWpL3/ Czuqw7JaasVU7e1Z1aTwTygnVpfCoJoqobVkPDpxRLYgkZ2QjhQNhAZA2rRpMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598466; a=rsa-sha256; cv=none; b=xdbzm6WrqIj5b+zeKQuK9CyySLDNEyz2GWkMnE0cSEgzryJbtAEgUgyCgx/dJ6cV7oPhUk Xs1y11sY8rouI40X5hqUuWqAepxBw0ulu9z0fxfr47F2JEhKTZT+iiC4sjDbzt3A5AbqNR gNRRo+RV1Thq8W97fciFyGH3x/8NnUNmsCJnPDlegHt9121fInO6XrI5JPU2yeTqMV6/Jy ku0upJlFZq6aiAT2VdoxOvrOLzNM/gYfP9/i85Fh5NBRQwcHtjw6wFC16HMSFlmYlIIQ8S 32VTRSCfS/FDgSy1dRI1gyR+vPG0kFSpm1X57SXoLw4x8xdY2i+S234fpcFo+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 4P1h8f1K9dzQhL; Tue, 24 Jan 2023 22:14:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEQv2089815; Tue, 24 Jan 2023 22:14:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEQHt089814; Tue, 24 Jan 2023 22:14:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:26 GMT Message-Id: <202301242214.30OMEQHt089814@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: 0cd6d49acf74 - stable/13 - stand/uboot: Explain why we test for NULL here List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0cd6d49acf74ab0746a1be91453515e4eedb2a14 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0cd6d49acf74ab0746a1be91453515e4eedb2a14 commit 0cd6d49acf74ab0746a1be91453515e4eedb2a14 Author: Warner Losh AuthorDate: 2023-01-13 21:19:47 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 stand/uboot: Explain why we test for NULL here Most parsedev routines assume that idev is non-null and can always be set. Since we break from this pattern in uboot, explain why in a comment. devparse was invented to put a lot of common code in one place and to simplify the archsw.arch_getdev code and any dv_parsedev code called. However, uboot couldn't use devparse at the time because its device naming scheme slightly different parsing. So, we still use uboot_parsedev directly from uboot_getdev where dev could be NULL. Add a comment to this effect. The match functionality added for ofw likely could be used to clean up the multiple kludges that are here for uboot's device naming differences with the normal boot loader. This work will wait for the future. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38042 (cherry picked from commit 5740057b4388f116717b9614cd54cf2c755e6e7d) --- stand/uboot/devicename.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c index 075880baa59f..d5de86384369 100644 --- a/stand/uboot/devicename.c +++ b/stand/uboot/devicename.c @@ -148,6 +148,10 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec, goto fail; } idev->dd.d_dev = dv; + /* + * dev can be NULL, since uboot_getdev calls us directly, rather than via + * dv_parsedev in devparse() which otherwise ensures that it can't be NULL. + */ if (dev == NULL) { free(idev); } else { From nobody Tue Jan 24 22:14:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8g6cpfz3bgm0; Tue, 24 Jan 2023 22:14: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 4P1h8g38Tjz3Lbg; Tue, 24 Jan 2023 22:14:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JypMySRbeiZr9x5YazEu8wAz0Y7xubzr60GyIGBCtDM=; b=XXpyhd2+h43Ih/j9WsUKVxbxs0tEZJyhSQ1BBw8VYBQwanN+EcirUvmdISLhqssBEnASLq SCuZaiMKJ48O9342yC1hkMj7+VbmbR/BLWCW7bhn79Ya/dM0bbUhIB4AXxJV4ifP190STA fgOab+d00agV0+rKTA5fRGwZJi7USJiY1uWeSLf48KxGWSe+oS9xiKls6bJnWgrN97L75l 3bewrfjrbh6FfvVmIhkILDA95HlFLa47557+U/xIyicokIri0rOSff9PQDX/3b7o0tsw3Y +ar4Fj1vU0tSPuNqJUIDoxnOCjji8L3+f5zyMshCKyWDnV7Q5ke0HzGkWZJKHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JypMySRbeiZr9x5YazEu8wAz0Y7xubzr60GyIGBCtDM=; b=MOT+cdKLcuYoqeOVfnbFgKi39KGASTlWB4L3bBSBfxLU0pZK/YXfAVYa6BSt149FG7AFBq ueyBiVReaTyiniRwWQ+P4d1XbLd4/sG0oq8sW7V3YkjewZRfL/H1HbY12bSM1h7wRqUvFJ FW715Fl+HrMAf3H97eOPDkAeUpbYbyBc0FacQeWKCK06KlPB1bNd9f+PxdKMc9OBvJWVAL OyCyeviZR1JQQbGpcKT5xILdO/N+69atwVlaLqDE5Sdr7jlciMHKSEIVQ1qetetuypAXSL bip0ka/QxoID0xjA00IKGNySF4EMUNQT268RiXdDpgurRzi9VRlZ9nV2CUGeNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598467; a=rsa-sha256; cv=none; b=WeATM81gkZ1Arv9ne10ORZZFrAa38rj1mgM+xlS4bAY1rHhwFL/Ts+1jt4XRdULzwnpClH 2fZCDg4YEXFvO9evxjOXB/g6i8JaYTIs9WiWkSoIeYQFHmrn4JZyoDFcRstzptSRurFDVk 9rMPc5ySNv8Hls9KRVboNcgZxbYLYVbv1lkZAxy2yM7i3C+QntCVhyDPd/s+YieQemyTDR zLe6omW8lk2flMjxDFyHrgL9unprIqLwl9c6i/WZNYrJbqzpvd4XEVhu1h8Xm+5YkcS8PF qehz1dRxrK7w+9GPGuhIhlVTJrZGT0+vvAR+jEyBggb2iVPLBJfdOD+BbmzHFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8g2G0xzQsB; Tue, 24 Jan 2023 22:14:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMERcR089839; Tue, 24 Jan 2023 22:14:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEREf089838; Tue, 24 Jan 2023 22:14:27 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:27 GMT Message-Id: <202301242214.30OMEREf089838@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: 379f5668e24a - stable/13 - stand/zfs: Fix memory leaking on error cases List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 379f5668e24ac173d7ab4cd865e82bccef6b1540 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=379f5668e24ac173d7ab4cd865e82bccef6b1540 commit 379f5668e24ac173d7ab4cd865e82bccef6b1540 Author: Warner Losh AuthorDate: 2023-01-13 21:20:00 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 stand/zfs: Fix memory leaking on error cases Now that we return an allocated zfs_devdesc, we have to free it. These frees were missing from the error cases. In addition, simplify the code a bit for the out of memory case. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38006 (cherry picked from commit 5385c7e13b06cb42a28bbf8c0d910b0c2ffddec7) --- stand/libsa/zfs/zfs.c | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 57fecf2f4d68..3d5a392dd03f 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -379,9 +379,9 @@ zfs_readdir(struct open_file *f, struct dirent *d) static int zfs_mount(const char *dev, const char *path, void **data) { - struct zfs_devdesc *zfsdev; + struct zfs_devdesc *zfsdev = NULL; spa_t *spa; - struct zfsmount *mnt; + struct zfsmount *mnt = NULL; int rv; errno = 0; @@ -391,36 +391,46 @@ zfs_mount(const char *dev, const char *path, void **data) } spa = spa_find_by_dev(zfsdev); - if (spa == NULL) - return (ENXIO); + if (spa == NULL) { + rv = ENXIO; + goto err; + } mnt = calloc(1, sizeof(*mnt)); - if (mnt != NULL && path != NULL) + if (mnt == NULL) { + rv = ENOMEM; + goto err; + } + + if (mnt->path != NULL) { mnt->path = strdup(path); - rv = errno; + if (mnt->path == NULL) { + rv = ENOMEM; + goto err; + } + } - if (mnt != NULL) - rv = zfs_mount_impl(spa, zfsdev->root_guid, mnt); - free(zfsdev); + rv = zfs_mount_impl(spa, zfsdev->root_guid, mnt); - if (rv == 0 && mnt != NULL && mnt->objset.os_type != DMU_OST_ZFS) { + if (rv == 0 && mnt->objset.os_type != DMU_OST_ZFS) { printf("Unexpected object set type %ju\n", (uintmax_t)mnt->objset.os_type); rv = EIO; } - +err: if (rv != 0) { if (mnt != NULL) free(mnt->path); free(mnt); + free(zfsdev); return (rv); } - if (mnt != NULL) { - *data = mnt; - if (path != NULL) - STAILQ_INSERT_TAIL(&zfsmount, mnt, next); - } + *data = mnt; + if (path != NULL) + STAILQ_INSERT_TAIL(&zfsmount, mnt, next); + + free(zfsdev); return (rv); } From nobody Tue Jan 24 22:14:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8h55V3z3bgw9; Tue, 24 Jan 2023 22:14: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 4P1h8h3r1bz3Lc1; Tue, 24 Jan 2023 22:14:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7A3U5DiSa4nufDRb+hhQtyv3WU2BjaOlgXScy2UqLQ=; b=lDf1sPkTjQbXrDViQHAY1SCdmfu/axDIjOUuCW3XJH803Za47h6LkjcSjPRijsILRgRi7N pcar693q1RranLq9u0VwVSWESFSn6OX/1cLXg2Lp1vB0xMQr2c/x5gNG6gnGa7+5Aw6l+y CMQAMuy8wR6GX2xeX0APIF1IriR/vxEJ7qMWA/s/lvcwBnaP+AIK+PF0eII1L/DYZfrG0Z IRQ/FDXVd8RGxoxmhAX0F56iDxGXoKaVARGeb3vi2gIo/Txhafl5M/YD6895Ceno7oM9/R knitUY09xNwdIAAtYDIxDBg2zjXVMUZuj1C4Rf3S9rmbJtZ2OhShZD//ntZg+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7A3U5DiSa4nufDRb+hhQtyv3WU2BjaOlgXScy2UqLQ=; b=a6b0z+5/6iiDu99JvMCRygUJ37qIVfNrcjrY7cr5XVPeaHH15HReHI24utz5iogGvjIkL4 07wjBw4FqACJOYSvNu9vT40fG8MlrXcR2vsaJApcSSNyz+vlqXZ9cD3PkU3JikXA8Oyi/z 8INsGbld69CrPVdclpvSPbyTALnd6wIS8s9vU/481n+ETckvZYJS3+6+nGCiB2akcXyUVL PR7GK71WmeKjGUkd0lOrqteUDGGcjb3O/QHoTiDmjOuDe+bYXPdKze8Yb6je281XBZJTay XeJBxoMFmYDcti/YZAhEymkmrw4mnyK02ekMYquM5OXulcewFi/LnO1of+kSjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598468; a=rsa-sha256; cv=none; b=oqsoiRah2ThmiYDOpU08/aUEcWfbP+xQr3W+uVAMQtqh/K3+AQNRW28QeN+lPC0KFkRqTK eNTZfSI4eS0TXCowsfaaKPwA+hmpqoi20wTVaplvHcG2m85R/dMvCiRntN/TDZZq11nr1T 4jIrwceFb9a+UvemirKrGA++l7hf0VmX1Y2RsYxShOe0Vht/vbvqJ0WBxXUAyAlW9kreYd HZhDDhlhJYKuk6lvNT72eYpAnpffA39DZAIWYAjx5PtwJFqj9uhDscq2GmNK8Sk1vf7IMQ AekVl9s96NZhiXsHW1GbnkzERBhdd2OHUfbv7h3AkuPcRtMQszVWYCo97FzmBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8h2xySzQhM; Tue, 24 Jan 2023 22:14:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMESGk089863; Tue, 24 Jan 2023 22:14:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMESZU089862; Tue, 24 Jan 2023 22:14:28 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:28 GMT Message-Id: <202301242214.30OMESZU089862@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: 85ce7697ca58 - stable/13 - kboot: Rework hostdisk.c to allow easier ZFS support. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 85ce7697ca5850a37086c1bbfc825103fb25c052 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=85ce7697ca5850a37086c1bbfc825103fb25c052 commit 85ce7697ca5850a37086c1bbfc825103fb25c052 Author: Warner Losh AuthorDate: 2023-01-13 21:20:09 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 kboot: Rework hostdisk.c to allow easier ZFS support. Keep a list of disks and partitions that we have. Keep track of the sizes of the media and sector and use that to implement DIOCGMEDIASIZE and DIOCGSECTORSIZE. Proivde a way to lookup disks by name. Sponsored by: Netflix Reviewed by: kevans (prior version) Differential Revision: https://reviews.freebsd.org/D38013 (cherry picked from commit 1a13008e9874748958a3415a3d0c34b95acbf2e2) --- stand/kboot/hostdisk.c | 137 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 114 insertions(+), 23 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 628450ef8bb5..cbe8faabca96 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include "host_syscall.h" #include "kboot.h" @@ -40,6 +41,7 @@ static int hostdisk_close(struct open_file *f); static int hostdisk_ioctl(struct open_file *f, u_long cmd, void *data); static int hostdisk_print(int verbose); static char *hostdisk_fmtdev(struct devdesc *vdev); +static int hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path); struct devsw hostdisk = { .dv_name = "/dev", @@ -52,6 +54,7 @@ struct devsw hostdisk = { .dv_print = hostdisk_print, .dv_cleanup = nullsys, .dv_fmtdev = hostdisk_fmtdev, + .dv_parsedev = hostdisk_parsedev, }; /* @@ -67,13 +70,16 @@ typedef struct hdinfo { STAILQ_ENTRY(hdinfo) hd_link; /* link in device list */ hdinfo_list_t hd_children; struct hdinfo *hd_parent; - const char *hd_name; - uint64_t hd_size; + const char *hd_dev; + uint64_t hd_size; /* In bytes */ uint64_t hd_sectors; uint64_t hd_sectorsize; int hd_flags; } hdinfo_t; +#define dev2hd(d) ((hdinfo_t *)d->d_opendata) +#define hd_name(hd) ((hd->hd_dev + 5)) + static hdinfo_list_t hdinfo = STAILQ_HEAD_INITIALIZER(hdinfo); typedef bool fef_cb_t(struct host_dirent64 *, void *); @@ -107,14 +113,20 @@ foreach_file(const char *dir, fef_cb_t cb, void *argp, u_int flags) } static void -hostdisk_add_part(struct hdinfo *hd, const char *drv, uint64_t secs) +hostdisk_add_part(hdinfo_t *hd, const char *drv, uint64_t secs) { - struct hdinfo *md; + hdinfo_t *md; + char *dev; - printf("hd %s adding %s %ju\n", hd->hd_name, drv, (uintmax_t)secs); + printf("hd %s adding %s %ju\n", hd->hd_dev, drv, (uintmax_t)secs); if ((md = calloc(1, sizeof(*md))) == NULL) return; - md->hd_name = strdup(drv); + if (asprintf(&dev, "/dev/%s", drv) == -1) { + printf("hostdisk: no memory\n"); + free(md); + return; + } + md->hd_dev = dev; md->hd_sectors = secs; md->hd_sectorsize = hd->hd_sectorsize; md->hd_size = md->hd_sectors * md->hd_sectorsize; @@ -125,15 +137,16 @@ hostdisk_add_part(struct hdinfo *hd, const char *drv, uint64_t secs) static bool hostdisk_one_part(struct host_dirent64 *dent, void *argp) { - struct hdinfo *hd = argp; + hdinfo_t *hd = argp; char szfn[1024]; uint64_t sz; - if (strncmp(dent->d_name, hd->hd_name, strlen(hd->hd_name)) != 0) + /* Need to skip /dev/ at start of hd_name */ + if (strncmp(dent->d_name, hd_name(hd), strlen(hd_name(hd))) != 0) return (true); /* Find out how big this is -- no size not a disk */ snprintf(szfn, sizeof(szfn), "%s/%s/%s/size", SYSBLK, - hd->hd_name, dent->d_name); + hd_name(hd), dent->d_name); if (!file2u64(szfn, &sz)) return true; hostdisk_add_part(hd, dent->d_name, sz); @@ -141,23 +154,29 @@ hostdisk_one_part(struct host_dirent64 *dent, void *argp) } static void -hostdisk_add_parts(struct hdinfo *hd) +hostdisk_add_parts(hdinfo_t *hd) { char fn[1024]; - snprintf(fn, sizeof(fn), "%s/%s", SYSBLK, hd->hd_name); + snprintf(fn, sizeof(fn), "%s/%s", SYSBLK, hd_name(hd)); foreach_file(fn, hostdisk_one_part, hd, 0); } static void hostdisk_add_drive(const char *drv, uint64_t secs) { - struct hdinfo *hd; + hdinfo_t *hd = NULL; + char *dev = NULL; char fn[1024]; if ((hd = calloc(1, sizeof(*hd))) == NULL) return; - hd->hd_name = strdup(drv); + if (asprintf(&dev, "/dev/%s", drv) == -1) { + printf("hostdisk: no memory\n"); + free(hd); + return; + } + hd->hd_dev = dev; hd->hd_sectors = secs; snprintf(fn, sizeof(fn), "%s/%s/queue/hw_sector_size", SYSBLK, drv); @@ -174,10 +193,30 @@ hostdisk_add_drive(const char *drv, uint64_t secs) hostdisk_add_parts(hd); return; err: + free(dev); free(hd); return; } +/* Find a disk / partition by its filename */ + +static hdinfo_t * +hostdisk_find(const char *fn) +{ + hdinfo_t *hd, *md; + + STAILQ_FOREACH(hd, &hdinfo, hd_link) { + if (strcmp(hd->hd_dev, fn) == 0) + return (hd); + STAILQ_FOREACH(md, &hd->hd_children, hd_link) { + if (strcmp(md->hd_dev, fn) == 0) + return (md); + } + } + return (NULL); +} + + static bool hostdisk_one_disk(struct host_dirent64 *dent, void *argp __unused) { @@ -252,16 +291,17 @@ static int hostdisk_open(struct open_file *f, ...) { struct devdesc *desc; + const char *fn; va_list vl; va_start(vl, f); desc = va_arg(vl, struct devdesc *); va_end(vl); - desc->d_unit = host_open(desc->d_opendata, O_RDONLY, 0); + fn = dev2hd(desc)->hd_dev; + desc->d_unit = host_open(fn, O_RDONLY, 0); if (desc->d_unit <= 0) { - printf("hostdisk_open: couldn't open %s: %d\n", - (char *)desc->d_opendata, desc->d_unit); + printf("hostdisk_open: couldn't open %s: %d\n", fn, errno); return (ENOENT); } @@ -280,8 +320,20 @@ hostdisk_close(struct open_file *f) static int hostdisk_ioctl(struct open_file *f, u_long cmd, void *data) { - - return (EINVAL); + struct devdesc *desc = f->f_devdata; + hdinfo_t *hd = dev2hd(desc); + + switch (cmd) { + case DIOCGSECTORSIZE: + *(u_int *)data = hd->hd_sectorsize; + break; + case DIOCGMEDIASIZE: + *(uint64_t *)data = hd->hd_size; + break; + default: + return (ENOTTY); + } + return (0); } static int @@ -297,8 +349,8 @@ hostdisk_print(int verbose) STAILQ_FOREACH(hd, &hdinfo, hd_link) { snprintf(line, sizeof(line), - " /dev/%s: %ju X %ju: %ju bytes\n", - hd->hd_name, + " %s: %ju X %ju: %ju bytes\n", + hd->hd_dev, (uintmax_t)hd->hd_sectors, (uintmax_t)hd->hd_sectorsize, (uintmax_t)hd->hd_size); @@ -306,8 +358,8 @@ hostdisk_print(int verbose) break; STAILQ_FOREACH(md, &hd->hd_children, hd_link) { snprintf(line, sizeof(line), - " /dev/%s: %ju X %ju: %ju bytes\n", - md->hd_name, + " %s: %ju X %ju: %ju bytes\n", + md->hd_dev, (uintmax_t)md->hd_sectors, (uintmax_t)md->hd_sectorsize, (uintmax_t)md->hd_size); @@ -323,5 +375,44 @@ done: static char * hostdisk_fmtdev(struct devdesc *vdev) { - return (vdev->d_opendata); + + return ((char *)hd_name(dev2hd(vdev))); +} + +static int +hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) +{ + const char *cp; + struct devdesc *dev; + hdinfo_t *hd; + int len; + char *fn; + + /* Must start with /dev */ + if (strncmp(devspec, "/dev", 4) != 0) + return (EINVAL); + /* Must have a : in it */ + cp = strchr(devspec, ':'); + if (cp == NULL) + return (EINVAL); + /* XXX Stat the /dev or defer error handling to open(2) call? */ + if (path != NULL) + *path = cp + 1; + len = cp - devspec; + fn = strdup(devspec); + fn[len] = '\0'; + hd = hostdisk_find(fn); + if (hd == NULL) { + printf("Can't find hdinfo for %s\n", fn); + return (EINVAL); + } + free(fn); + dev = malloc(sizeof(*dev)); + if (dev == NULL) + return (ENOMEM); + dev->d_unit = 0; + dev->d_dev = &hostdisk; + dev->d_opendata = hd; + *idev = dev; + return (0); } From nobody Tue Jan 24 22:14:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8j73P9z3bgwC; Tue, 24 Jan 2023 22:14: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 4P1h8j584Rz3LX2; Tue, 24 Jan 2023 22:14:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WqtuEgcLUxv/64l5jTGgHrbuIGg3rLSzdDpHvlVCIYs=; b=HmO1ROPRIGZaupfRJLyCUp7//ZifmzQymAStQaBtbXTtBGODdL+qStgB0n48dWx5oOn+U5 8JX0dEY4VQRSsQdB6N0dONpWU8IMaRY7ZEVKR2YGzQCdB3qwCLU99cdHMjuX0p0oUZQ2Il oq1rn0T1H6BIvpacmfED+SPiOTpPk+mh0D9DO+b4EtETvM0CZdAEnV2S8Zfahhxh3t6+t/ c/HvDoZf3OFXl6cTBqyWeS8KwMJabKoNFko7Hh5C0eg9akwBcEZDcF74vC8vxwInYAAfqq zWCgx2V9eOE2Phx+I+UT/Q2sNHkjUpk9pH7g+clYD1vXpnmUIH4iX9xyGoRBFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WqtuEgcLUxv/64l5jTGgHrbuIGg3rLSzdDpHvlVCIYs=; b=Obod/3C7ZFj7k6UKz+xb0YIOCoKlPs6C/UZBw8+lymWYRSoExETN5OpbCFDkGoxhz+riIY yL+zxwHLJPNJk02qhzjiQOatC0ttvnyVdoy2yHXgD6G09bMIzlqOrhfg2soMKg2xxPfHOQ E8/3JlkzUBNeAeNGAW5toWwDvpCAR1ENZcBX2aJn+hfZOFzUI7eU/m2bH4I+SEFrjtDuH9 RNHHodaRruWZ02E1QTMyphyX/mau9eeDw9Nmtdk5FmzySEbtIr3mbfSHpzM3Uj7Wszv2To HjBMwXF9iMwilHHZs/5uZnf0maxmeD6oge8Gt3TFDvf/rsVU7LsnFk7aSgzaTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598469; a=rsa-sha256; cv=none; b=nDBkgMlJWqQdIViFN3o6KNC82t+7iiMy/9xbi2vAlgkJfTe4x1q8C57PdXtd8ds22GjqtS a77+WZGwwfdAKreUaT8ZG3TuebrxALrql5e04w7y7fdijf7D6ek6A1YzYX447+3mjCt497 IGD0kdpBcOQvcdluSr2E2CawuhFdgS1BQfcPWLKSXskw3aVYUtu1HEJycsm5iOstuqL05U SHKu60e8IuqQJ3vkbnGl4jZCNPpaaeqN9HsJBt0i2BNR8KUyAJkAok1G+0aoUovQelu4Kr eeV8spVCVhLMQQOndlMv/HaXEaw7O+8/Ra3W0YsJFWdwhsxEWBpyxLadiU5FOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8j3ysTzQhN; Tue, 24 Jan 2023 22:14:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMETJI089887; Tue, 24 Jan 2023 22:14:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMETSo089886; Tue, 24 Jan 2023 22:14:29 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:29 GMT Message-Id: <202301242214.30OMETSo089886@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: 85ab3bb9897c - stable/13 - kboot: Add ZFS support to hostdisk List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 85ab3bb9897c7a9edaa4322bff770b496f50cc91 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=85ab3bb9897c7a9edaa4322bff770b496f50cc91 commit 85ab3bb9897c7a9edaa4322bff770b496f50cc91 Author: Warner Losh AuthorDate: 2023-01-13 21:20:30 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:46 +0000 kboot: Add ZFS support to hostdisk Add helper function to walk through the disk drives we've found to look for zpools. main.c will still need to call this because the loader hasn't implemented a good way to 'taste' drives for zpools and/or GELI partitions (mostly because there's no generic list of candidate devices). Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38007 (cherry picked from commit cc82c650a72fcdde255b023703a9b214a81254ec) --- stand/kboot/hostdisk.c | 122 +++++++++++++++++++++++++++++++++++++++++++++++++ stand/kboot/kboot.h | 7 ++- 2 files changed, 127 insertions(+), 2 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index cbe8faabca96..a96c38c21182 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -30,8 +30,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "host_syscall.h" #include "kboot.h" +#include "bootstrap.h" +#ifdef LOADER_ZFS_SUPPORT +#include "libzfs.h" +#include +#endif static int hostdisk_init(void); static int hostdisk_strategy(void *devdata, int flag, daddr_t dblk, @@ -75,6 +81,8 @@ typedef struct hdinfo { uint64_t hd_sectors; uint64_t hd_sectorsize; int hd_flags; +#define HDF_HAS_ZPOOL 1 /* We found a zpool here and uuid valid */ + uint64_t hd_zfs_uuid; } hdinfo_t; #define dev2hd(d) ((hdinfo_t *)d->d_opendata) @@ -416,3 +424,117 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) *idev = dev; return (0); } + +#ifdef LOADER_ZFS_SUPPORT +static bool +hostdisk_zfs_check_one(hdinfo_t *hd) +{ + char *fn; + bool found = false; + uint64_t pool_uuid; + + if (asprintf(&fn, "%s:", hd->hd_dev) == -1) + return (false); + pool_uuid = 0; + zfs_probe_dev(fn, &pool_uuid, false); + if (pool_uuid != 0) { + found = true; + hd->hd_flags |= HDF_HAS_ZPOOL; + hd->hd_zfs_uuid = pool_uuid; + } + free(fn); + + return (found); +} + +void +hostdisk_zfs_probe(void) +{ + hdinfo_t *hd, *md; + + STAILQ_FOREACH(hd, &hdinfo, hd_link) { + if (hostdisk_zfs_check_one(hd)) + continue; + STAILQ_FOREACH(md, &hd->hd_children, hd_link) { + hostdisk_zfs_check_one(md); + } + } +} + +/* XXX refactor */ +static bool +sanity_check_currdev(void) +{ + struct stat st; + + return (stat(PATH_DEFAULTS_LOADER_CONF, &st) == 0 || +#ifdef PATH_BOOTABLE_TOKEN + stat(PATH_BOOTABLE_TOKEN, &st) == 0 || /* non-standard layout */ +#endif + stat(PATH_KERNEL, &st) == 0); +} + +/* This likely shoud move to libsa/zfs/zfs.c and be used by at least EFI booting */ +static bool +probe_zfs_currdev(uint64_t pool_guid, uint64_t root_guid, bool setcurrdev) +{ + char *devname; + struct zfs_devdesc currdev; + char *buf = NULL; + bool bootable; + + currdev.dd.d_dev = &zfs_dev; + currdev.dd.d_unit = 0; + currdev.pool_guid = pool_guid; + currdev.root_guid = root_guid; + devname = devformat(&currdev.dd); + if (setcurrdev) + set_currdev(devname); + + bootable = sanity_check_currdev(); + if (bootable) { + buf = malloc(VDEV_PAD_SIZE); + if (buf != NULL) { + if (zfs_get_bootonce(&currdev, OS_BOOTONCE, buf, + VDEV_PAD_SIZE) == 0) { + printf("zfs bootonce: %s\n", buf); + if (setcurrdev) + set_currdev(buf); + setenv("zfs-bootonce", buf, 1); + } + free(buf); + (void)zfs_attach_nvstore(&currdev); + } + init_zfs_boot_options(devname); + } + return (bootable); +} + +static bool +hostdisk_zfs_try_default(hdinfo_t *hd) +{ + return (probe_zfs_currdev(hd->hd_zfs_uuid, 0, true)); +} + +bool +hostdisk_zfs_find_default(void) +{ + hdinfo_t *hd, *md; + + STAILQ_FOREACH(hd, &hdinfo, hd_link) { + if (hd->hd_flags & HDF_HAS_ZPOOL) { + if (hostdisk_zfs_try_default(hd)) + return (true); + continue; + } + STAILQ_FOREACH(md, &hd->hd_children, hd_link) { + if (md->hd_flags & HDF_HAS_ZPOOL) { + if (hostdisk_zfs_try_default(md)) + return (true); + } + } + } + return (false); +} + +#endif diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 72be7299995b..58cbedff67a1 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -14,14 +14,17 @@ vm_offset_t acpi_rsdp(void); void do_init(void); -extern const char *hostfs_root; - /* Per-platform fdt fixup */ void fdt_arch_fixups(void *fdtp); uint64_t kboot_get_phys_load_segment(void); uint8_t kboot_get_kernel_machine_bits(void); +/* hostdisk.c */ +extern const char *hostfs_root; +void hostdisk_zfs_probe(void); +bool hostdisk_zfs_find_default(void); + /* util.c */ bool file2str(const char *fn, char *buffer, size_t buflen); bool file2u64(const char *fn, uint64_t *val); From nobody Tue Jan 24 22:14:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8l1gfwz3bgsf; Tue, 24 Jan 2023 22:14: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 4P1h8k5pRLz3Lhk; Tue, 24 Jan 2023 22:14:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwEzoDDWlBDEiW/x5vYvD0/WnYH1EdGbCqHKn0mY2vA=; b=P2Tvo6FsDKaIGptsf3UfvvWB8T6J/yhggFXYMs60Lhn3ml1/UBpY/QPDOeGEdYJP8DFQeV joEO+C0Wx1lRnVK7+zG7B51HaJ+hT0ZEHhv6QrOB6EkqCaghuv/fRjveGc52WCCLwZ6vRF NjAMN3dKIpc6tzk475dTSGL517JBiFWIeKzuK2iy79dmaY/7/FrqA99Haa0whAVmdf+E7V 43eDkzHXEvZtxPUNEWGCYK5/ELTcQ0V38VXMVWiu1U0kevFT1QoGSNM72feM02fLGQFZ4J 7NRXvCucOyJk/68vX9d+OV7NI3gT5FWnXsdYGmLNf3FbzHJIZuMhTyT7jfGo6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwEzoDDWlBDEiW/x5vYvD0/WnYH1EdGbCqHKn0mY2vA=; b=yJtoy+pUJdqWyAyWVkkx0lEe91RJj+QbLepx9Ltm/O+NtQo4w5iRV/HAxxDyFXkdFYMNNs qT48jM5XNkQP0nYgshflcMYPrbz/pwhqtzhirkBqWD3PYDhPqrsD2PDfVOufOGPoIrHMuZ 9GN0GDDZQho90aYH4iFqY5T7ESq/coZzMh5IPuVDzO1A1waWrve4pj6oNFk/LNMQebp3Uf nz8tnSBLBpLbtSicsrSKxk1G7AUVmR9Fnu1r34xZHitpLdbY1Qipk5FAAyawyNwfyl9K2m fbloCvUmCVgxAJw7eWIUKLMhPPiGX+9SCPmoKh/63chfv5XLE2sT6dBtIgEklg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598470; a=rsa-sha256; cv=none; b=SMxDVuass59Qeie+ZUGOdiM9/HOqoOrh8dmCJTFx6Dj6Jyeuz+bGRkHx5H7p4Av47JiSvu iXDja3WwqRqThl8SJSd6hUNw6aOOpR/AsQWW63qJkouzIArntbzS3UW2+jUNuPRwEvlFS1 NOBeFMDmTPnW8gPsO9VeqTm8wZWFCT9NejLiIZk64BjK0I6OV5FI8mdi90Hdmnu6Rnmyyb znaZgNbDlqEbbE73jsGtbxdgykyKNCMKKHDHHrkNdGPkvJ8uQ1aNvSrDF3gx7UQf9zY5Q0 tqxQvaue088fZfeVSiUNiHl3e1CGxcTjdiUCGEa69gU+eBJRC3bbZbsGWQcV+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 4P1h8k4clzzQqC; Tue, 24 Jan 2023 22:14:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEUr4089921; Tue, 24 Jan 2023 22:14:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEUCc089920; Tue, 24 Jan 2023 22:14:30 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:30 GMT Message-Id: <202301242214.30OMEUCc089920@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: f168e96dfba2 - stable/13 - kboot: Add support for ZFS volumes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f168e96dfba283958182ec7f64712be072147dad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f168e96dfba283958182ec7f64712be072147dad commit f168e96dfba283958182ec7f64712be072147dad Author: Warner Losh AuthorDate: 2023-01-13 21:20:40 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:47 +0000 kboot: Add support for ZFS volumes Add the zfs device and filesystem to config and write the hook we need to probe zfs since there's not a generic mechanism in place to do that when ZFS is configured. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38008 (cherry picked from commit f20ecce33a2a9a992fb267edf02edaa6eb9178b3) --- stand/kboot/conf.c | 9 +++++++++ stand/kboot/main.c | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/stand/kboot/conf.c b/stand/kboot/conf.c index ba6031b52783..160cd0ad9554 100644 --- a/stand/kboot/conf.c +++ b/stand/kboot/conf.c @@ -33,6 +33,9 @@ __FBSDID("$FreeBSD$"); #if defined(LOADER_NET_SUPPORT) #include "dev_net.h" #endif +#ifdef LOADER_ZFS_SUPPORT +#include "libzfs.h" +#endif extern struct devsw hostdisk; extern struct devsw host_dev; @@ -55,6 +58,9 @@ struct devsw *devsw[] = { &netdev, #endif &host_dev, +#if defined(LOADER_ZFS_SUPPORT) + &zfs_dev, /* Must be last */ +#endif NULL }; @@ -84,6 +90,9 @@ struct fs_ops *file_system[] = { #endif #if defined(LOADER_MSDOS_SUPPORT) &dosfs_fsops, +#endif +#if defined(LOADER_ZFS_SUPPORT) + &zfs_fsops, #endif &hostfs_fsops, NULL diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 2e85121b7b12..d333737e164a 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -46,6 +46,7 @@ ssize_t kboot_readin(readin_handle_t fd, vm_offset_t dest, const size_t len); int kboot_autoload(void); uint64_t kboot_loadaddr(u_int type, void *data, uint64_t addr); static void kboot_kseg_get(int *nseg, void **ptr); +static void kboot_zfs_probe(void); extern int command_fdt_internal(int argc, char *argv[]); @@ -160,6 +161,7 @@ main(int argc, const char **argv) archsw.arch_autoload = kboot_autoload; archsw.arch_loadaddr = kboot_loadaddr; archsw.arch_kexec_kseg_get = kboot_kseg_get; + archsw.arch_zfs_probe = kboot_zfs_probe; /* Give us a sane world if we're running as init */ do_init(); @@ -380,6 +382,18 @@ kboot_kseg_get(int *nseg, void **ptr) *ptr = &loaded_segments[0]; } +static void +kboot_zfs_probe(void) +{ +#if defined(LOADER_ZFS_SUPPORT) + /* + * Open all the disks and partitions we can find to see if there are ZFS + * pools on them. + */ + hostdisk_zfs_probe(); +#endif +} + /* * Since proper fdt command handling function is defined in fdt_loader_cmd.c, * and declaring it as extern is in contradiction with COMMAND_SET() macro From nobody Tue Jan 24 22:14:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8m1XqRz3bgy8; Tue, 24 Jan 2023 22:14: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 4P1h8l6Cq0z3Lhy; Tue, 24 Jan 2023 22:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODqaq0i+hGf3z16ZAD+wTHKKLh9JVj7NvsUYwoAT9vw=; b=iX436xMl5dBlKlcnbP/oHMvQma1b3GofJ+cEKthClo2OBBaHEdf9lDmEtiJXgOqdFjcAAo DFR8JW/1NFMXhPon+T+gx1ZVqo3F8+mBiS/BdzG8hwo72a3fFSVksvcQa81j5exqqO0S6W LOEadEooEiAolI44+CU2F7Y7CpYGUMD9shkV5xRO5dZKbg+Ctr+0uR58cPz4BZ6+PMFCFm wB0niOZo3wDSDEU6HMy5pjEnf346lrk0JEuJ3ia1JhTAYZSw9w70Q0yOoKu06NZHgJCQuT IEVzmEBTNvR4w9ZPuAIdEcNXpQzX7jVrWYq+hOkySUqfbmxBhSWTuc5LuDv0Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODqaq0i+hGf3z16ZAD+wTHKKLh9JVj7NvsUYwoAT9vw=; b=M9Z9zk06RT6UoRNTUvaoBUybOmI8zBg0P2GR8Dx9YLLHMe0la235V6yS267QeWWtbpMPq+ FdKUZ3E6Wt0acfg7qr5cF2PS9L9/8priAzHV7+R+DdS8tUYC0eiYLooJ7Tz1xTQPsLdLkN GWPxyM4nEpY3kPLoFwdw8GoL+rEBMoqimLUBteZ1qvlieGWUCZA8CSSkh1gmdb9xiWPzgY wIM6pVW/riYs55f4hlocjlBdrHUHHSWHEjjVRpE/eHjAtZz7hlURfd5BLZzkzywMdPebo3 Ev2kzdE9j1WQFfWg9n4KQQdN3er+nZXAGp/69gbTxzYS+Z1QMNjFOS3YfnDA6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598471; a=rsa-sha256; cv=none; b=as553W8J3aq+eKPdUt6ELI8GccYCOacm99+l+JWkupiHTUCS4/NDLKaC2CSzoWB5iJR8W0 91X4m+MKe+7nkXnnHzFyFKtuuf/6V9JqC1ezwoh026g+Z9AIyICAh59hYQ9JWoikEQmTdV EdfCpvjbbmNB2ekUSWPWFsXuNKgV6mgdsn6wNmm9K3lomoEk+06L92Hvi9fBEKVxHQaTQf DAZUhtrCSWrQpNrxhR0xuqR8LC9Pkno3uuXKH4P8uaKhNPSodm94hYNWsltXVSRc3OKaEo nwjsUSE5m6+22FfJdkiywCCBz9g0T0/HMpXHAU0bmzE2NHJs5kFcWed7saxxWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8l5KB9zQfh; Tue, 24 Jan 2023 22:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEVVL089945; Tue, 24 Jan 2023 22:14:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEVr4089944; Tue, 24 Jan 2023 22:14:31 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:31 GMT Message-Id: <202301242214.30OMEVr4089944@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: d11df0599d9d - stable/13 - kboot: Add ZFS support build glue List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d11df0599d9de9404bae4517440856dd7c0eee7d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d11df0599d9de9404bae4517440856dd7c0eee7d commit d11df0599d9de9404bae4517440856dd7c0eee7d Author: Warner Losh AuthorDate: 2023-01-13 21:20:48 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:47 +0000 kboot: Add ZFS support build glue Now that all the pieces are in place, allow kboot to be built with ZFS support. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38009 (cherry picked from commit 42e37d8caf9da4628734f0c44c989583873b3ae6) --- stand/kboot/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 5fe444cdf8c5..35d71cb064fc 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -5,6 +5,7 @@ LOADER_CD9660_SUPPORT?= yes LOADER_MSDOS_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= yes LOADER_UFS_SUPPORT?= yes +LOADER_ZFS_SUPPORT?= yes LOADER_NET_SUPPORT?= no LOADER_NFS_SUPPORT?= no LOADER_TFTP_SUPPORT?= no @@ -34,6 +35,12 @@ SRCS= \ vers.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken +.if ${MK_LOADER_ZFS} != "no" +CFLAGS+= -I${ZFSSRC} +CFLAGS+= -I${SYSDIR}/contrib/openzfs/include +CFLAGS+= -I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs +HAVE_ZFS=yes +.endif .include "${BOOTSRC}/fdt.mk" From nobody Tue Jan 24 22:14:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8n3dk6z3bgj8; Tue, 24 Jan 2023 22:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h8n06tSz3LjL; Tue, 24 Jan 2023 22:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=57NnTeynt4qzzNaGzXqL3Ol/3EyKZCUGlzsjPrWuvS4=; b=JfP5hjKJw7tldUEw5++gP3lf4GEZo/w4Stp4z+KSIUGUvXeZHddBVFIFCgZm9I4FoWDeNC F+l8MpBgyDvWYjpCLq7b3K85f7DSYtHTzZN8+Jv7T7xd7L2TlIZ8mkD9SGGJx9yldzAlbJ 6HtVFh5U2xHjAodUOSraYROvyGb1HIj/q0wF9NEcd1KxuujP6+t4szD1l1e3268Ylpl4Cn wns3SGvjSrhMcVRQIjDjdZP0O1KSjCZQnAjUbGkH7QqWjQwXQmfJrhmVQpnXvs3G55EG9l CCLOOYB6S7T2p9SEYOzPX06UIXOisA/7EaWde6+W6wm5sZ21imRhb92x7cPD/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=57NnTeynt4qzzNaGzXqL3Ol/3EyKZCUGlzsjPrWuvS4=; b=cXgzFkzwy5kJw3LWMn7MLRhq+8SMynMN2NTIZfC60jyyL5HAYkWMtY/uUbe3WeNzzrpv2F YHKCWGeVXgX7TfigOnk4iLNwptCOuLb/CapCqVUewuS8ZQ9aZ7TwIWsezrcLx334REPIe2 ziT8xj3AWFWGYR/sRu0RTebnpVqWgd2OjtEhEOGpe+BtqzLepjcHad1EYID/dWtXONKDdn oD7jghzbgesk7F+46zWllAYS194rJTilFMfk+VYfyESlcIX9FXH6SITMeNJE/uHff+Y3zx qSikZYUwCiEOjz9+ZAOyKr0ZqMpU39qodY0DMhFJsDRXNSyk7yv2EZws24cwdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598473; a=rsa-sha256; cv=none; b=S5Fv4TgUoWCCxHN4e7HjwNVL7p8E9jgGtXRFF8gUcVP6KpctAd5XQhv95vutwqQyFnw85F f0QPN0/QNWBg9NSjGrRxoqd4sUwnHGUx1Qx7Q7XO+nNBhA6R4C+RiTr7HtUUAADgkzfnRE wqPhs48MwqfuFwoaqaN9yUCSVWE0D1JoSccjspyAnrnG9WqHDdEGbg+ODgAIXHS8BNmM/w fja31YQmSCGJealNWK7qZgqTalKdJM+nJ0TLXb6402Q3sbW9uJ2/g0rXpd5IlznsfkWHja PZ5v6+SiVgexgt8n33/tH+7sdGcAuBpvMF8b/cNavmUEdRK/nAhNe3mvtzuDsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8m6LrQzQhP; Tue, 24 Jan 2023 22:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEWZs089969; Tue, 24 Jan 2023 22:14:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEWFF089968; Tue, 24 Jan 2023 22:14:32 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:32 GMT Message-Id: <202301242214.30OMEWFF089968@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: eaed7ff9d014 - stable/13 - kboot: Fetch hostfs_root and bootdev from the environment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eaed7ff9d014a7707181719fe6f0cc6c34a34926 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=eaed7ff9d014a7707181719fe6f0cc6c34a34926 commit eaed7ff9d014a7707181719fe6f0cc6c34a34926 Author: Warner Losh AuthorDate: 2023-01-13 21:20:56 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:47 +0000 kboot: Fetch hostfs_root and bootdev from the environment Fetch bootdev from the environment variable (so it should be set on the command line). Default to 'zfs:' which will in the future look for the first zpool that we can boot from. Prior versions of kboot would set this from the second argument on the command line. Fetch hostfs_root from the environment (defaulting to '/'). Prior versions of kboot would set this from the first arg on the command line. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38010 (cherry picked from commit 4f3be6b8d94a388ce7ae239c785ea447d0adbf48) --- stand/kboot/main.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index d333737e164a..9a0f8b8baf69 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -172,6 +172,9 @@ main(int argc, const char **argv) heapbase = host_getmem(heapsize); setheap(heapbase, heapbase + heapsize); + /* Parse the command line args -- ignoring for now the console selection */ + parse_args(argc, argv); + /* * Set up console. */ @@ -180,8 +183,20 @@ main(int argc, const char **argv) /* Initialize all the devices */ devinit(); - /* Parse the command line args -- ignoring for now the console selection */ - parse_args(argc, argv); + bootdev = getenv("bootdev"); + if (bootdev == NULL) + bootdev="zfs:"; + hostfs_root = getenv("hostfs_root"); + if (hostfs_root == NULL) + hostfs_root = "/"; +#if defined(LOADER_ZFS_SUPPORT) + if (strcmp(bootdev, "zfs:") == 0) { + /* + * Pseudo device that says go find the right ZFS pool. + */ + printf("WARNING: bare 'zfs:' for boot device not yet implemented\n"); + } +#endif printf("Boot device: %s with hostfs_root %s\n", bootdev, hostfs_root); From nobody Tue Jan 24 22:14:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8p4hr9z3bgrL; Tue, 24 Jan 2023 22:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h8p1DFcz3M56; Tue, 24 Jan 2023 22:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYhNgoaileKUqnAV7k/4XoTimzcKNCU0gR1nGijMAzA=; b=SI8O15lsrLdPMtUBlxu0DZdfu1EOnmxDexdVxFeHpGaXU/R97GBEidVlga1ReiqE/eeiEt 64ggO5SX/f0p2PKC+TMJnxIxIJ5hATsRLZt7sTPU39m6DgkWotqnPtNqFS/ggZJq3bGFJO SciX76lKqO6YvOX1fqknEwajPbRTQQrEZD87uyx4PdiL1QJWz9D7wVa8+XcU2nTVBiGRCu FXXS4NlqGviqgxsYGRkNjktcRmj3Dj4343KgIAu5Gzs8wsBC3LpRYFYm0VqShynUh9/QtY 1/WfROFLbrcTEmFnvogo/QRaErZYkiRGSYg5a4SM/UtLFmIWSZl9pYjUVzwn0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYhNgoaileKUqnAV7k/4XoTimzcKNCU0gR1nGijMAzA=; b=D1HJQz5PDr/QGS//sf2P4juEMEcd/IofSBO+qJ5mPp3jJbNrbQky/+wbKl2eAoqLNACVCI JNpFIFKJwQJ8TTH0+0imByLsOMvxrkieCctrnrFD9tmSJEZc0HLeP1oq3jBXAcVd0Q2imN u9u0sVpGpqOLTCW7bqAqBWwOVnz8Dq91cs+BubE8BpUtB7PN1Ef5nVTA2LyXmtZAkWMLMx +sskioHMIEvMU6snYxzxvI2MMHzB3jGoXz2WDEGgZBbpw4Rom+KwNstzOrnOTcpOc0myG8 SYIykagrE2usEGWQhJTA2wtzG5C0QcJPmRrwIaRLySC3aUnu5ta4vqg7/DnpkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598474; a=rsa-sha256; cv=none; b=nMdocdcFbjbMJq6RixaIm/ssGPrBie4SIgAYsu23lCu/a3egeCPOJ3cwpY3RHclTgFm9Wo aB1bQnbWyV1N4xptfLRl8VT0MC0OUrmXbac4E4+Pqydsaq7SdBmV38GIBHNBXjVhiXLsUp zoV4TzGiyCBFmN8M1APscAQsWB7P9c6K5eYNotqHFUNEGr/LU6+UlTt5MhklRytSuaPziu js8gmxZtXyKo0QNN4V/2lcdxUC+xkbNKsBHQAyKDzcKiAP90wAeFQ/5VLFRmC9lVP0s8HS UGywyhrDdUbgmnnVvNrcbv9r6yrCM57oQj4a/guJPQDYs2+x3r3w94twFePUmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8p0KHGzQhQ; Tue, 24 Jan 2023 22:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEXkB089993; Tue, 24 Jan 2023 22:14:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEXpU089992; Tue, 24 Jan 2023 22:14:33 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:33 GMT Message-Id: <202301242214.30OMEXpU089992@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: 0b569fe6717a - stable/13 - kboot: Add hostdisk override List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0b569fe6717a155c6f46e63d9de75ab009fcf5d1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0b569fe6717a155c6f46e63d9de75ab009fcf5d1 commit 0b569fe6717a155c6f46e63d9de75ab009fcf5d1 Author: Warner Losh AuthorDate: 2023-01-13 21:21:07 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:47 +0000 kboot: Add hostdisk override When hostdisk_override is set, all the /dev devices are hidden, and only the files in that directory are used. This will allow filesystem testing on FreeBSD without root, for example. Adjust the parse routine to not require devices start with /dev (plus fix a leak for an error condition). Add a match routine to allow the device name to be something like "/home/user/testing/zfsfoo:" instead of strictly in /dev. Note: since we need to look at all the devices in the system to probe for ZFS zpools, you can't generally use a full path to get a 'virtual disk' at this time. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38011 (cherry picked from commit b7ecfa195f46da4a08a0cb5b399c8bc69bff225a) --- stand/kboot/hostdisk.c | 79 ++++++++++++++++++++++++++++++++++++++++++++------ stand/kboot/main.c | 7 +++-- 2 files changed, 75 insertions(+), 11 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index a96c38c21182..fab4ee04bb6b 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -47,6 +47,7 @@ static int hostdisk_close(struct open_file *f); static int hostdisk_ioctl(struct open_file *f, u_long cmd, void *data); static int hostdisk_print(int verbose); static char *hostdisk_fmtdev(struct devdesc *vdev); +static bool hostdisk_match(struct devsw *devsw, const char *devspec); static int hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path); struct devsw hostdisk = { @@ -60,6 +61,7 @@ struct devsw hostdisk = { .dv_print = hostdisk_print, .dv_cleanup = nullsys, .dv_fmtdev = hostdisk_fmtdev, + .dv_match = hostdisk_match, .dv_parsedev = hostdisk_parsedev, }; @@ -247,15 +249,59 @@ hostdisk_one_disk(struct host_dirent64 *dent, void *argp __unused) return (true); } -static void -hostdisk_find_block_devices(void) +static bool +hostdisk_fake_one_disk(struct host_dirent64 *dent, void *argp) { + char *override_dir = argp; + char *fn = NULL; + hdinfo_t *hd = NULL; + struct host_kstat sb; + /* - * Start here XXX open SYSBLK, walk through all directories, keep the - * ones that return a size and a 'block' device when we 'stat' it. Try - * to avoid partitions and only do raw devices. + * We only do regular files. Each one is treated as a disk image + * accessible via /dev/${dent->d_name}. */ - foreach_file(SYSBLK, hostdisk_one_disk, NULL, 0); + if (dent->d_type != HOST_DT_REG && dent->d_type != HOST_DT_LNK) + return (true); + if (asprintf(&fn, "%s/%s", override_dir, dent->d_name) == -1) + return (true); + if (host_stat(fn, &sb) != 0) + goto err; + if (!HOST_S_ISREG(sb.st_mode)) + return (true); + if (sb.st_size == 0) + goto err; + if ((hd = calloc(1, sizeof(*hd))) == NULL) + goto err; + hd->hd_dev = fn; + hd->hd_size = sb.st_size; + hd->hd_sectorsize = 512; /* XXX configurable? */ + hd->hd_sectors = hd->hd_size / hd->hd_sectorsize; + if (hd->hd_size < HOSTDISK_MIN_SIZE) + goto err; + hd->hd_flags = 0; + STAILQ_INIT(&hd->hd_children); + printf("%s: %ju %ju %ju\n", + hd->hd_dev, hd->hd_size, hd->hd_sectors, hd->hd_sectorsize); + STAILQ_INSERT_TAIL(&hdinfo, hd, hd_link); + /* XXX no partiions? -- is that OK? */ + return (true); +err: + free(hd); + free(fn); + return (true); +} + +static void +hostdisk_find_block_devices(void) +{ + char *override; + + override=getenv("hostdisk_override"); + if (override != NULL) + foreach_file(override, hostdisk_fake_one_disk, override, 0); + else + foreach_file(SYSBLK, hostdisk_one_disk, NULL, 0); } static int @@ -387,6 +433,23 @@ hostdisk_fmtdev(struct devdesc *vdev) return ((char *)hd_name(dev2hd(vdev))); } +static bool +hostdisk_match(struct devsw *devsw, const char *devspec) +{ + hdinfo_t *hd; + const char *colon; + char *cp; + + colon = strchr(devspec, ':'); + if (colon == NULL) + return false; + cp = strdup(devspec); + cp[colon - devspec] = '\0'; + hd = hostdisk_find(cp); + free(cp); + return (hd != NULL); +} + static int hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) { @@ -396,9 +459,6 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) int len; char *fn; - /* Must start with /dev */ - if (strncmp(devspec, "/dev", 4) != 0) - return (EINVAL); /* Must have a : in it */ cp = strchr(devspec, ':'); if (cp == NULL) @@ -412,6 +472,7 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) hd = hostdisk_find(fn); if (hd == NULL) { printf("Can't find hdinfo for %s\n", fn); + free(fn); return (EINVAL); } free(fn); diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 9a0f8b8baf69..91bc4c06e452 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -192,9 +192,12 @@ main(int argc, const char **argv) #if defined(LOADER_ZFS_SUPPORT) if (strcmp(bootdev, "zfs:") == 0) { /* - * Pseudo device that says go find the right ZFS pool. + * Pseudo device that says go find the right ZFS pool. This will be + * the first pool that we find that passes the sanity checks (eg looks + * like it might be vbootable) and sets currdev to the right thing based + * on active BEs, etc */ - printf("WARNING: bare 'zfs:' for boot device not yet implemented\n"); + hostdisk_zfs_find_default(); } #endif From nobody Tue Jan 24 22:14:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8r2pgPz3bgsg; Tue, 24 Jan 2023 22:14: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 4P1h8q2JhVz3M7v; Tue, 24 Jan 2023 22:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EFRdoP99Fss8+F6MfPvXHbs7SdU81iWK7zFP2wS0y3A=; b=gdDc2aqf5zmJvWFJ46ESPcV+iLcakG/Mb3Vyoi2uyo+R/kY3cUwM+eI6nese4kt90UNtsd BGoFUrJ0HhECTZdjOnjear2cruIXITeBEqIokQZdZ+cVQwCzqDU+AodscJAt64nPuLLQTa 0CJIOVL+q09a2i9IaeBKcOq0UO3Aw79wg+axR6z8W6YcAjhNJiP4WPjs4HlXRtFS9DG+YE 9uwLPm+035c0eCubMV+CInNOvCT37z0rcQc1oZqXV/uaX8e37ZWuxpvrrrhu3p+psQdAwU HXsO31Hbt2FkEgmSSHtKL90pDR7K9+da1O7gY/Uxe1o7X4183RoiiF8nwxLq3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EFRdoP99Fss8+F6MfPvXHbs7SdU81iWK7zFP2wS0y3A=; b=haxrDaeLA4VurkYy64/oJ/2QZG7NyIgRMZuLinh0NPiS+TIlbmzetrET8trS2Lw4OTi1Pw Q+zG19lJQqVvw3H/yzh2tUXV0ItBf9Aloeazt97R4V3H3rryaCnCRTV2erBihadUwgqe0v EmaKC+SHvE5VJCMAwyTUEj+Sdf4H0fHJHWw/BikMmQcuerRlyAE7C4+v/ALfCNSo1R7Zwx IECUgMW52BNKh2wIQYpv1W+O7xwUlsLg1cc+VN0A54m5NMt7kCNWmf4PjdbVXk1lyIPK0Y Lwtay/DKVNKqDOoNhYt9IpTf0mxG73KSqF4vFTrjZC5SnNDwgU5gEeopzTSjNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598475; a=rsa-sha256; cv=none; b=y3lk13l7S3B9O5fGwBMH8YuwrfYzwcWVzv1TiiPkGM32rCgg5Go7mvOCgu2QF0lKX9twIK U034eJggPjcr0/D0Da6N+BB+O1x082PUhq7JEkOG4/Bh3eK2BNsGSyXVju3K91hmhRSTo1 bZRNnnDQzFA2mAh4uKiLBqX0B+3JLO/LrAS+33ENJjpN8gNP4ElfcD1Ay58MTglI6/wuXJ 9ZvImQA6eeev4VwJLI5JdmVbUMqZEuhcmZxOnwxwZcNFYCCr5kYvRFlyU2h4g9oITZEWsg /CN+VeQisf/vrNsivLOL01vS8bQdMufyLMkhwgZrtYXaKKo4nYXoCV3rlRmVeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8q1Pc9zQfj; Tue, 24 Jan 2023 22:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEZxP090018; Tue, 24 Jan 2023 22:14:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEZ1T090017; Tue, 24 Jan 2023 22:14:35 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:35 GMT Message-Id: <202301242214.30OMEZ1T090017@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: f9ab67f200a4 - stable/13 - kboot: Use standard set_currdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f9ab67f200a4c0e5fabdcd00332eac474848ab3a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f9ab67f200a4c0e5fabdcd00332eac474848ab3a commit f9ab67f200a4c0e5fabdcd00332eac474848ab3a Author: Warner Losh AuthorDate: 2023-01-13 21:21:16 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:47 +0000 kboot: Use standard set_currdev Use the standard set_currdev instead of the (now very old) copy of setting currdev and loaddev directly. We do this only when we don't go find the ZFS pool to boot from. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38012 (cherry picked from commit eb1795782cfc43523345f78737cc22277cea5056) --- stand/kboot/main.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 91bc4c06e452..52c135f78582 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -198,15 +198,22 @@ main(int argc, const char **argv) * on active BEs, etc */ hostdisk_zfs_find_default(); - } + } else #endif + { + /* + * Otherwise, honor what's on the command line. If we've been + * given a specific ZFS partition, then we'll honor it w/o BE + * processing that would otherwise pick a different snapshot to + * boot than the default one in the pool. + */ + set_currdev(bootdev); + } printf("Boot device: %s with hostfs_root %s\n", bootdev, hostfs_root); printf("\n%s", bootprog_info); - setenv("currdev", bootdev, 1); - setenv("loaddev", bootdev, 1); setenv("LINES", "24", 1); setenv("usefdt", "1", 1); From nobody Tue Jan 24 22:14:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8r5TTNz3bgjF; Tue, 24 Jan 2023 22:14: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 4P1h8r3NdTz3MH1; Tue, 24 Jan 2023 22:14:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJgdk/m2l1znYa5Ny4zMYm8UzS+nEKaeS+XWraGzBmg=; b=kA4pof+sIuHPhUx/gP6UO/o5Lt/ysvxSNc8h2Oha3Sa3SoM2Yiu2vCly8nA0Njuap7YwIs WL+DvFwGjRBem3Gt+mueoM3dnjztu9fRRgeccSwiMBq/teAiG+AxaceOKHF8tCkg1M4eJw bq7go3hC3hECeD+AAdmrkNUGHk5vEq8UND/PLwIKzAGgydizisjkQIrgIxgJvcW+lvCYfl g1hY8/GRylJBEO3YFUT46j3o6ThLZaXo8RHyd9Qgn1SG+xiNhTspZHbMkdIbgG181LW+S5 FthzVbOyNJV4j8PTsufAQGJOMOW1Y8vNqLYgvsH9swuGfvcxgl7H0cVBU87v+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJgdk/m2l1znYa5Ny4zMYm8UzS+nEKaeS+XWraGzBmg=; b=l/lhAjgYUUGj52bp23FYmxQdTaOfnWdZqG8pbpK/uK/Us4NiLqpnG3vix0s/prdpkGlq5z fobjz5fFHIOxmhC0ckZdtIZ6wLGauWv+Tpy7DJzU7d+aekujJu7SyE1+py8MoN5sv0HaTJ mZW3bivU5nKGBRVoN8iuXbAOEBOHn+FTP4f/E9lYj9CwbLiCKn1Pq8gXknbi5gR1GAYwy4 aeK2kDwtRZZsDXHnruQJBdWsk9GhdXuQskCsUZnsMCvcEBNf730nPe/IT6YmDjHO2WYnwx FMcTFTP8UJ53X2WYL94XEKFR2INJmq7zXALAN1V1/+Lu2CZhThSIXKGM3CDICg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598476; a=rsa-sha256; cv=none; b=cZErkP/x6+8AlOVeqhpdIEa/uHqYyGP/esmm8WvQPZ2b9Ylzr3ebn6NegqtF0JicP8KGR0 rhh5U/ySY3ZHVyeLfy4ouLxVXocLHV9SqrG6bOfnMdEpijPHgS6cLNw+39G+Iig77QGaW+ aQ3xye1m31wghmDHiU40amgJ0L0ad8kz1P4f7wvZUqEt2i3aViJY7bGVNUWhvoW/ulOat3 ondE/UCminEcV1p5DZ217gt42jGLBzTKiJXooT5knZ5YB4SY5fpBarRWJ/CqZkE8VCCAXl t4nDEh1LTj9pVZUehEq/TzVt5RSKAoQ3e7Hti9NiLtEcmNcfx6k/rFbd07bqww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8r2TCvzQhS; Tue, 24 Jan 2023 22:14:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEaw9090051; Tue, 24 Jan 2023 22:14:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEaWW090050; Tue, 24 Jan 2023 22:14:36 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:36 GMT Message-Id: <202301242214.30OMEaWW090050@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: 3ececb0f35b9 - stable/13 - stand: dev can't be NULL in default_prasedev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3ececb0f35b91948a1122b4df87fc952d31ade8a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3ececb0f35b91948a1122b4df87fc952d31ade8a commit 3ececb0f35b91948a1122b4df87fc952d31ade8a Author: Warner Losh AuthorDate: 2023-01-13 22:44:23 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:47 +0000 stand: dev can't be NULL in default_prasedev We pass in the address of a variable to store this value always in the only place that calls this function, so there is no need to test for NULL. Sponsored by: Netflix Notied by: tsoome in D38041 (cherry picked from commit 4883f347f6ed9a61f9789a3842077580250ebf44) --- stand/libsa/dev.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index 6d1834c8a14a..e76be6cd0eb0 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -100,10 +100,7 @@ default_parsedev(struct devdesc **dev, const char *devspec, idev->d_unit = unit; if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; - if (dev != NULL) /* maybe this can be required? */ - *dev = idev; - else - free(idev); + *dev = idev; return (0); fail: free(idev); From nobody Tue Jan 24 22:29:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1hTl68plz3bk0N; Tue, 24 Jan 2023 22:29: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 4P1hTl140jz3FRG; Tue, 24 Jan 2023 22:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674599355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C9Z5A7EuvLwUqOtypKLldWzatv9ioA4w82OLI0G9v4E=; b=SBwrnMt7IstaP8+8kXyxsWiarC3sz/mDDyPXs6q0TxhltV/ywUt6kn8qQqV3pCqptaphHH wLjzYVSVfKui/LcSzf4OTbM1Cob4A5ZJID+oiZiFBQIozUg1U+saNWsbihGHkyOj6xGXIB q5FxG/iMLWqXyAWH+YQB2STzgKc2Xs3Fbs2ozhj3LyqSax4jTbTFmuAuF1qMy3Au9QvhC7 lpYCA3HsdKsRzbVwGNq0faiaHKVRGqOpJxMg5WDYl8tFOBL9e9XHvpzmyi57aCtmJsbXdS wr2vA6Q2H/VH9srpA43ldaMnzLKUcRTMSNqaW0K1LuJ9NnzsW77AXuqp2CMQTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674599355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C9Z5A7EuvLwUqOtypKLldWzatv9ioA4w82OLI0G9v4E=; b=klc+JxieQ0iaNz8Fpm98ENPBHaNrYp2efJkm+PvVkvUbztBdleA+8xjeBFzU0qSu0CAxEc 2DQ9myZ1o71oBFznxbyra0rUlqWkCRXMTvsneR9H6SK/QNA10JiU8peeotRGLqtGg5sIfu 4zkS7LHEMZOuF2PoFJJ9QKpsrtTDGV0Ftoh85aw9tz9QfbG5PBrosXL+Smv6uJaTgybZZR 9TcDXezUkY+vzvkuR2nXkzZxmTN04fBbz14XvCFSj0RIMU6bT0bNE42IgbIs7YBAotPTzp XErQjwEEmYu2LejSuvNs2OcqdZqLeqAhtKlrq1ShmBAI6RvTOttUlUXRT8PT6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674599355; a=rsa-sha256; cv=none; b=BPLtREp6tTWtduV7xCfLvPEpEpzcnDgnMfWcGLW8FtzN+kke+bIhmAHiTUODojB9g2rJn4 EEI3mjySnLhAR+YLefUKoT8detNYdaCez/GgrxrJPAhUWih05HBL39PEuPYgVjSv8tm0cA 5N9EImTm1qmDoxaqMMZcPJgHWupb2Wgb69NltEq1CCG4kXO+LxYQEY8DUUCC7vFXA4Z676 GF+bngwwQvnKg41prQ37jYPH66QoqPou7LOzuSTpvks2gkHuoPLPM0MCgGP+5qg39diUAH pluiIutZtC7U5sIBTBf5M2nPfeVvX+uZaILGXIUTPABlVsc/Vol0WmPmJ906sA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1hTl06KdzRG8; Tue, 24 Jan 2023 22:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMTEPN006985; Tue, 24 Jan 2023 22:29:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMTERA006984; Tue, 24 Jan 2023 22:29:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:29:14 GMT Message-Id: <202301242229.30OMTERA006984@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: e59d10aff6ed - stable/11 - zlib: Fix a bug when getting a gzip header extra field with inflate(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/11 X-Git-Reftype: branch X-Git-Commit: e59d10aff6edc088850be553252020230a560514 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/11 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e59d10aff6edc088850be553252020230a560514 commit e59d10aff6edc088850be553252020230a560514 Author: Mark Adler AuthorDate: 2022-07-30 22:51:11 +0000 Commit: Ed Maste CommitDate: 2023-01-24 22:27:50 +0000 zlib: Fix a bug when getting a gzip header extra field with inflate(). If the extra field was larger than the space the user provided with inflateGetHeader(), and if multiple calls of inflate() delivered the extra header data, then there could be a buffer overflow of the provided space. This commit assures that provided space is not exceeded. (cherry picked from zlib commit eff308af425b67093bab25f80f1ae950166bece1) (cherry picked from zlib commit 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d) (cherry picked from commit dc3509f1aafcd966f3dd9226115cf94b691ff3c7) (cherry picked from commit 2969066f73fc67a614144ac09b9f3f5291937fed) (cherry picked from commit 10cc2bf5f7a592981ee00d22eb13e100beed1e64) --- sys/contrib/zlib/inflate.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/contrib/zlib/inflate.c b/sys/contrib/zlib/inflate.c index ac333e8c2eda..cd018573dee8 100644 --- a/sys/contrib/zlib/inflate.c +++ b/sys/contrib/zlib/inflate.c @@ -759,8 +759,9 @@ int flush; if (copy > have) copy = have; if (copy) { if (state->head != Z_NULL && - state->head->extra != Z_NULL) { - len = state->head->extra_len - state->length; + state->head->extra != Z_NULL && + (len = state->head->extra_len - state->length) < + state->head->extra_max) { zmemcpy(state->head->extra + len, next, len + copy > state->head->extra_max ? state->head->extra_max - len : copy); From nobody Tue Jan 24 23:26:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1jlk4y5Xz30yYg; Tue, 24 Jan 2023 23: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 4P1jlk4SXmz3hDJ; Tue, 24 Jan 2023 23: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=1674602786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXMLK0iWQB7YZp7OL4TI+hoH7oa1D4049Ca5u8t+eRY=; b=kZZMZlhu4PGbMyn6KWomf/dKcdnDKU5giB7M51xFdHsLODpu6MgOZrGS5oik4pn0Ym8gVi 2z+7zuF5rmZeT08JRGCRW4jyL/ELDrCgaPYRL2dFICq4mhGOF31Wcgi1rbtJKscHZ/1Yza +fEAO1QvRbw35rAfYr0BIt7Hgl8cGKIJNVJPQQJJFJVRqf8d4ZH41FQv/LPqY0ucrXJwVc lgRqcLHlTE2gC3PitAEtrlyLdZPyWufGvWyMV4XWULdblEbaCnqXADYZCJLeW7HTke5tBP uH/oLQS4eMuerEcEeYGNnr0FcOFlhJsMOPmrbud7DuNJilZz0l9GmedbF0D9mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXMLK0iWQB7YZp7OL4TI+hoH7oa1D4049Ca5u8t+eRY=; b=KpQVb40LS46/VeFIm4wNr+VLaHjpbhmczI4IvwLG/sisp7biM+0UGmflfdgsyf367mJRDp 7uTmAAvJJJSvyf9TxVTmf017DbEsRhOmjawuKYJYeUpVg8TUn2C3V8IEbeUnyn4Z0A69Af 5lUgyS5R21jEkuiVduJvMM3XV7PAzC1BA04f0FrB5kbOz6TBujLho8Um3DhUmVpHzxlUg0 QiSvA/mLgse5AiFTZoc3n/AMNZZt8kCMvZ+Hop2IvUKubq8NOdSMInwKQgPacDKEn04/Bm 2fCOG2nRhxV7P9BPir2Fx3ID1oGKfQk6mvsPsVJeShyjdh+zBW8EktoSbMlwlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674602786; a=rsa-sha256; cv=none; b=nwTF5JlrgNtWb0bX7xqkQFG5OBdV2+AZcWvelNHbyJuLRHv0sby1Eovk0rYonjE0degiH8 8xrhcLZBoaUYPO07Zg4PNQpmo9C0uXmwX+2JaWviGWI0lHdPJBs6uC61oLNCtgGkAQ7RXx rS8MNIQsyBMg7W5zxBfZDODZGJjNTuk1r/CgRTxQI0fEaxXU2AkmdXPTTU6avMcslqH8pc FYiIyZXMKH1vmFH6SBi3rY0dcD1Jl289pb5cOeGVM8RW1VooaLck/D6iILokrgpTMBCNFF ifh6Haf5+lBufB2gq3xGmVnMJ3doVGh2VTDis0wsfrQKNKMikh9k214j+G0M8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1jlk3PkszSbF; Tue, 24 Jan 2023 23:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ONQQSa091756; Tue, 24 Jan 2023 23:26:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ONQQnH091755; Tue, 24 Jan 2023 23:26:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 23:26:26 GMT Message-Id: <202301242326.30ONQQnH091755@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: e3e6f08472b7 - stable/13 - arm64: Fix thread0.td_kstack_pages init List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: e3e6f08472b79f9c62fc3367a2c4adc5ccc3d94c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=e3e6f08472b79f9c62fc3367a2c4adc5ccc3d94c commit e3e6f08472b79f9c62fc3367a2c4adc5ccc3d94c Author: Brooks Davis AuthorDate: 2023-01-17 16:35:08 +0000 Commit: Brooks Davis CommitDate: 2023-01-24 22:45:35 +0000 arm64: Fix thread0.td_kstack_pages init Commit 86a994d6537d7b5e1efb1019e466d86a688fd570 initialized thread0.td_kstack_pages to KSTACK_PAGES. Due to the lack of an include of opt_kstack_pages.h it used the fallback value of 4 from machine/param.h. This meant that increasing KSTACK_PAGES in the kernel config resulted in a panic in _epoch_enter_preempt as the following assertion was false during network stack setup: MPASS((vm_offset_t)et >= td->td_kstack && (vm_offset_t)et + sizeof(struct epoch_tracker) <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); Switch to initializing with kstack_pages following other architectures. Reviewed by: imp, markj Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D38048 (cherry picked from commit e1b610f76caa09bbc3910477da878ea5078c6569) --- sys/arm64/arm64/machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 21c9ced1b0cc..6178221032eb 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -365,7 +365,7 @@ init_proc0(vm_offset_t kstack) proc_linkup0(&proc0, &thread0); thread0.td_kstack = kstack; - thread0.td_kstack_pages = KSTACK_PAGES; + thread0.td_kstack_pages = kstack_pages; #if defined(PERTHREAD_SSP) thread0.td_md.md_canary = boot_canary; #endif From nobody Tue Jan 24 23:26:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1jll5kgHz30yhZ; Tue, 24 Jan 2023 23: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 4P1jll4nSlz3h39; Tue, 24 Jan 2023 23: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=1674602787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h3Qh98Tg63ynC2CMs0Leyx3L9b+9v0I3VUUOYdk+M24=; b=THcMTwgh+3QmOsxVVdMRhZ2jAQlfVN/eml3AZPVYqVtYTedr1ltDJ2qtPfLyS1lb251hg6 wJwYiHx8/k0EYWKa44OsowrZDKjv7+xHYkVDnX+HrF6g5Aapza5lRpwKeb0fTZDKUmZFp9 yIPy8rO7t+m3SLVap1CFTP/uTstNDfH7H3NN4kJ1WzXmq69+sR0ELGvx92DCAuYXj7sTJD jV+Z7mg5phnZ13p+ugTRFFWIEEKJByG6jg+XOt87f6D5hAF5h1YW2zBQjPbNapYD2N6pbz YDV08ZLAR2KX940u+w6nwzuLM1S2qg/GSSRn3AbVjCdDo/Hh458fjLGf7Iy1yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h3Qh98Tg63ynC2CMs0Leyx3L9b+9v0I3VUUOYdk+M24=; b=SIIWtOUwIZaL3hJ5V5nG3rsqGvV76QcwFONPL5lMss+o6lPEN6LKwfjpAAVibMswWRh2fP 80e/5eCI2CNrTK2mCm3+sUH/uPTNW/AvTQ7Cp5tkYORvVgKtlBOWUpEZvL0kyZfR7ls14L sLb2l6YH4XPYRH5l+nQuwFnwhUqnBzF28d6rDUzrbymxQVeaMePOhM1eJc74AqwYc8qMT3 xrH+5rdSU2+euSObH2dLz3afm8KMzi/ISSeRteNbiVfnS7VC7WDCTNZwljMR5FK0m3aj5I vC/hbV8P3y7nLph42Hw4Kk/2qLX2zc9f+0OYJ1UtV0grIGp42ur4BGg5Tc9vHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674602787; a=rsa-sha256; cv=none; b=Y0uPGVwPMC7rhZTXIYK1r/hNmMPy0zxmUwXgfQNU18wqQpOUJHtZerf4CSmvmQba09Ypa5 jBu4gsX6Bu8iYQ6vMvdi9J/5lwKRSPFcePHbDKH25wnjcqpFv1DgCHPo0C9KFUjHskvfNF siMAV/jyDaa85rq1zSAjXXpUuz65nHosMwkJV31jDbQqadL8TzYUpEzoqSXalt15b5v/Fs wceIsiQj86yPyG4DpJk/f97QCN2d0PCzYJoJi1aA0ut/YVs5lB7dutVFrEt3INmETK/Leq E5coBQrF9chn2ots5KEoiJwkKgspfe+9W8EcNM0fykjmjQEmneMM7ZP2pPvzhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1jll3t9TzSbG; Tue, 24 Jan 2023 23:26:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ONQRdc091780; Tue, 24 Jan 2023 23:26:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ONQRM4091779; Tue, 24 Jan 2023 23:26:27 GMT (envelope-from git) Date: Tue, 24 Jan 2023 23:26:27 GMT Message-Id: <202301242326.30ONQRM4091779@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: a25797c114da - stable/13 - riscv: Fix thread0.td_kstack_pages init List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: a25797c114da809da36f726110f446eac57bd9f1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a25797c114da809da36f726110f446eac57bd9f1 commit a25797c114da809da36f726110f446eac57bd9f1 Author: Brooks Davis AuthorDate: 2023-01-17 16:36:15 +0000 Commit: Brooks Davis CommitDate: 2023-01-24 22:46:07 +0000 riscv: Fix thread0.td_kstack_pages init Commit 0ef3ca7ae37c70e9dc83475dc2e68e98e1c2a418 initialized thread0.td_kstack_pages to KSTACK_PAGES. Due to the lack of an include of opt_kstack_pages.h it used the fallback value of 4 from machine/param.h. This meant that increasing KSTACK_PAGES in the kernel config resulted in a panic in _epoch_enter_preempt as the following assertion was false during network stack setup: MPASS((vm_offset_t)et >= td->td_kstack && (vm_offset_t)et + sizeof(struct epoch_tracker) <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); Switch to initializing with kstack_pages following other architectures. Reviewed by: imp, markj Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D38049 (cherry picked from commit b75062f23431fbabef1e7d665cae270b144f71b1) --- sys/riscv/riscv/machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 76f357e53559..6a910ad6dc1e 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -291,7 +291,7 @@ init_proc0(vm_offset_t kstack) proc_linkup0(&proc0, &thread0); thread0.td_kstack = kstack; - thread0.td_kstack_pages = KSTACK_PAGES; + thread0.td_kstack_pages = kstack_pages; thread0.td_pcb = (struct pcb *)(thread0.td_kstack + thread0.td_kstack_pages * PAGE_SIZE) - 1; thread0.td_pcb->pcb_fpflags = 0; From nobody Tue Jan 24 23:26:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1jlm614Jz30yqP; Tue, 24 Jan 2023 23: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 4P1jlm5Xgmz3hC9; Tue, 24 Jan 2023 23: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=1674602788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nkHNO4MiZuhZI7QTJfefK+5S8JPo0VW0oG1ALWBdaf8=; b=QgC1qtzpxzByrz+pn9on7ehJe6FkhPqb0xLiru+vkFw0JAg9epaGVpzsT3BLFNTowXIFNm nMTIyM1aAyR5mtGsTip25SBpo+uQx5OVeGUTaB08oTnTAagENMs5t5iJV9AjlqJ/1Hb75d +PvgBOk10NxFzKd1ZnZgpChKIkhgFBcPeE2RMVX7XBku6y47YUJ3o07BtJQKU2DfCqJShb 8K8QpRwzqZRrAnFgt6QS9Zp4TURdmWAg1yfEPKa7dMhg5zQIpibte92viYgpK8c1vCrNhn GUcSMUKxO0Fx3zZDAmHeb6Ar29ekLRJFc6m4liiAcx05zha4IYHTXRVXmryKKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nkHNO4MiZuhZI7QTJfefK+5S8JPo0VW0oG1ALWBdaf8=; b=ml4AjSDTM7zPk7l2/Kgz7u9PP9bRoJ1BoK2aBlmicJZeFnfJsIRHCo7MAa+6tIGjcPM7fp BSwhR5xqKzNjZ5lwR0hbTObpJs0PtqLe1fleL6hLD5s/lE+iQShRclfIrj09/jvIjPcxAe EZ0w0yv6EUrMWaTSIUxViieyxlQllCPPjawAOzbunspjtZcn7oTC/TXrFSW/wXyPKGB8mt Bb3H9VqwMnF6VoZTAuLpi1yCmjbsRFJT+Hkk5x7ytQtCbnsuOItjleDSQ90C/+KMYq0+1B 8LqDn+TAmqI6eQ8MomsSvtKGed7UBOvgfbqhBPEYcWcikIkFZDGsAIOBZHqkPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674602788; a=rsa-sha256; cv=none; b=HYegZtHslt8H//3KfD34pvEE7fn2p2X5dCoWwPIvVwKJ3V1xBxcAYlltLOKsy20oCeaxJ6 6EJSlgdkP4u8zR+pWpws9U4PLtzfxE3F+Iszxd1cXVl+FV8XSwQShU0a1HkJoq3Am/qDdV AlfHxs47dvSTMNvvCOAyXMEIWiFMh7x0AwCQ73T5k+UxMobz1vAXtcLcGXVj4UpqXpyW4a eigmwGKQA0S3mtCDmGUdOw0BUnnD/VhKDN7Y2EOYBr6Q5Y3mMn2TJY7bRRGrSGvDuegzwf 0T1sZz/JslFZyShDJT53UTRnmCvktRnHxFbOxQdXihZnaOaP2EhFE9AcMyU2kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1jlm4f18zS2t; Tue, 24 Jan 2023 23:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ONQSwK091814; Tue, 24 Jan 2023 23:26:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ONQSx0091813; Tue, 24 Jan 2023 23:26:28 GMT (envelope-from git) Date: Tue, 24 Jan 2023 23:26:28 GMT Message-Id: <202301242326.30ONQSx0091813@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: c91bf3cb34f0 - stable/13 - epoch: replace hand coded assertion List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c91bf3cb34f0c1238a70e674bf23f89cccddfaec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=c91bf3cb34f0c1238a70e674bf23f89cccddfaec commit c91bf3cb34f0c1238a70e674bf23f89cccddfaec Author: Brooks Davis AuthorDate: 2023-01-20 18:03:39 +0000 Commit: Brooks Davis CommitDate: 2023-01-24 22:46:31 +0000 epoch: replace hand coded assertion The assertion is equivalent to kstack_contains() so use that rather than spelling it out. Suggested by: jhb Reviewed by: jhb MFC after: 1 week Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D38107 (cherry picked from commit fa1d803c0f652d72840a3c59139baf9d30792860) --- sys/kern/subr_epoch.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/kern/subr_epoch.c b/sys/kern/subr_epoch.c index 651fd8b419f0..7d4457428bc8 100644 --- a/sys/kern/subr_epoch.c +++ b/sys/kern/subr_epoch.c @@ -443,9 +443,7 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) MPASS(cold || epoch != NULL); td = curthread; - MPASS((vm_offset_t)et >= td->td_kstack && - (vm_offset_t)et + sizeof(struct epoch_tracker) <= - td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + MPASS(kstack_contains(td, (vm_offset_t)et, sizeof(*et))); INIT_CHECK(epoch); MPASS(epoch->e_flags & EPOCH_PREEMPT); From nobody Tue Jan 24 23:28:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1jp062kfz3103w; Tue, 24 Jan 2023 23:28: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 4P1jp05KhGz3hw4; Tue, 24 Jan 2023 23:28:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=09w0CL4VBPitVpAT6lG+OduIglI9Ubzlkm2GWVDmjUk=; b=sk8QEYiDrELh01QMm6uu/vPr4r1CiEDqJfjz/2HfTveoIseB9U0j/y/0LjNQihNaz7SrtZ RyhSjAG/HPwi5oSoFouh8xBEYX/+SUmoPYcon1pO021VLYLVKF8VLxQVAENtzLDTACKbAk 8Vvyt9iTJoejoMqn/jfYQBAQxy20os+0HyOOXQQ3NsPtBKInKLQ0otBQdSh46vCXPoorfT nWeOaXK0ZrBSscdHj67XPpGjyXwmXJBNuo9kD/6cFbDRp6CkRk73AFrQp3BHCZJHvd2pZh UeNI/11OFDIW3hOOQRUtreeeev07FycTLm9wZIVd+Nn9KOxq8Euob0nWM/8gjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=09w0CL4VBPitVpAT6lG+OduIglI9Ubzlkm2GWVDmjUk=; b=SfqJrlw4wvaAu9F/s3XUqtP476kV6qwlgSZ3N3A0zn4SpHJD3r9fTLOLJ0jRbvCnF3fJ6q VoFNv2doecebXG6dcUITAXz14FFpNfbrzDK3k1465HJCeoYpQvtqbXk25u2P4B5uCGKP89 DWJ3B1dlvDimkeeb7khjr5FVCc7hZzkJq7WqeO1dd8Dl8ZIgE+sPXVNxf3WBxRBie0m4LO GWYIPD4Xh2Q3qfToRqIpstP1tyrmYebGhIG/p7B2pMqmIPnC4mjZP8BSxjVCkxuOKXMKU3 q1Yeq0+TTevQmLlXgH12EFWkhhNuthwc9r21IWsMDpv9j2DiuHxBhJYTqHSrYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674602904; a=rsa-sha256; cv=none; b=nrWTLjyvntesiRo0EM/VA41aCsn+24z/GIjCTIHZWIWZdUCTvfhdZG1F5TnHvJ5xFSx2W3 C/hpPiNGoV6jGjogmUED6hwyP8eKKF+J9BCbZ1lRWMj/tLuuNXH7zWX4zz/jcW/X/nEVRq GoUv9pHwINgkBqBwH4L0YNxVxv9tRCOe5iGIkmk6iBXBMp54FXVzDPqLYbW1dgMCxYDjvC 40OJZW6Um7tpZssID8IWwvw4I2aE6PVgWDoDs4V0VlWXshdWPNXrF9snyj5vofR1hkOvqb a0hZ5JddiXtSXEuHl3G9+6csZajXLpQYA63mlL1t2Q6v7YxO/4JOAKD+BLl0Nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1jp04MJczSDv; Tue, 24 Jan 2023 23:28:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ONSOUp092205; Tue, 24 Jan 2023 23:28:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ONSOU8092204; Tue, 24 Jan 2023 23:28:24 GMT (envelope-from git) Date: Tue, 24 Jan 2023 23:28:24 GMT Message-Id: <202301242328.30ONSOU8092204@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: 6f3e6234f8be - stable/13 - endian.h: Use the __bswap* versions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6f3e6234f8be61d0332409300565790a7cad919c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6f3e6234f8be61d0332409300565790a7cad919c commit 6f3e6234f8be61d0332409300565790a7cad919c Author: Warner Losh AuthorDate: 2021-09-21 04:02:35 +0000 Commit: Warner Losh CommitDate: 2023-01-24 23:26:27 +0000 endian.h: Use the __bswap* versions Make it possible to have all these macros work without bswap* being defined. bswap* is part of the application namespace and applications are free to redefine those functions. Reviewed by: emaste,jhb,markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31964 (cherry picked from commit 44fb3c695f5e672ec00bdef0fa0f13793e6269a1) --- sys/sys/endian.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/sys/endian.h b/sys/sys/endian.h index d070d09ad9f7..faac0458ae2c 100644 --- a/sys/sys/endian.h +++ b/sys/sys/endian.h @@ -67,16 +67,16 @@ typedef __uint64_t uint64_t; * endian to host byte order functions as detailed in byteorder(9). */ #if _BYTE_ORDER == _LITTLE_ENDIAN -#define htobe16(x) bswap16((x)) -#define htobe32(x) bswap32((x)) -#define htobe64(x) bswap64((x)) +#define htobe16(x) __bswap16((x)) +#define htobe32(x) __bswap32((x)) +#define htobe64(x) __bswap64((x)) #define htole16(x) ((uint16_t)(x)) #define htole32(x) ((uint32_t)(x)) #define htole64(x) ((uint64_t)(x)) -#define be16toh(x) bswap16((x)) -#define be32toh(x) bswap32((x)) -#define be64toh(x) bswap64((x)) +#define be16toh(x) __bswap16((x)) +#define be32toh(x) __bswap32((x)) +#define be64toh(x) __bswap64((x)) #define le16toh(x) ((uint16_t)(x)) #define le32toh(x) ((uint32_t)(x)) #define le64toh(x) ((uint64_t)(x)) @@ -84,16 +84,16 @@ typedef __uint64_t uint64_t; #define htobe16(x) ((uint16_t)(x)) #define htobe32(x) ((uint32_t)(x)) #define htobe64(x) ((uint64_t)(x)) -#define htole16(x) bswap16((x)) -#define htole32(x) bswap32((x)) -#define htole64(x) bswap64((x)) +#define htole16(x) __bswap16((x)) +#define htole32(x) __bswap32((x)) +#define htole64(x) __bswap64((x)) #define be16toh(x) ((uint16_t)(x)) #define be32toh(x) ((uint32_t)(x)) #define be64toh(x) ((uint64_t)(x)) -#define le16toh(x) bswap16((x)) -#define le32toh(x) bswap32((x)) -#define le64toh(x) bswap64((x)) +#define le16toh(x) __bswap16((x)) +#define le32toh(x) __bswap32((x)) +#define le64toh(x) __bswap64((x)) #endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ /* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ From nobody Tue Jan 24 23:28:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1jp16jVxz3105r; Tue, 24 Jan 2023 23:28: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 4P1jp15vBwz3j5s; Tue, 24 Jan 2023 23:28:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bUi4KoCZwFcd0NlPRlKWwlfMJ8DVACl7g1Ry3xjKzQE=; b=F3X+TaiapwhZUcX0QWgWoVRNzaL3xlZbJdnz7n0Y4Gu0NLIRs0Leqhl0qTLj/wbLzRTmcK lgrupIyXvYo5XXyk6XA0qu4u6YaxdMmQSXQkVvwjCAq+DYFfkdxRNUApRdbOnb8sdY0pfp fktZbq9BbIgLjWa4RkJRhjwmSqRPD8BTjGsEy8s2zlp050qaLAwkxiIr7lVrozGJhVyu1Y TRI6fP/j29mx0m6Xr/cTJS5PfKlAqg8H5B1lFzMLDECzjjq/H11ts4LChtrpuuLbs4arDi lyuyHBwOEPU/cD4K5LO2EVdhDQ7G6Nc7bOLqOXduLp96YIBtKWUKmE8qvMCVng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bUi4KoCZwFcd0NlPRlKWwlfMJ8DVACl7g1Ry3xjKzQE=; b=rbBMGAYMQ/MAg+VhTj2XwHa+11NjS6BbtubyT25M86odspBdCL+t/iUpRoZI0H4gi7XjfB vfT7osci0i+nuKu7EFfjz/gDZi48jby0DidSC3mTO/TZfBRV2svJ9UbCzcCVf+vWLyrDIT PZwgwxDzgHGz43ZeCHPuBAcxDPyElO0Hi1Y9/whAetc8q++QMESzSXKzVRtBkAOd5WOZIm zT79K8jgguL7jPMa309R89GVr9e5DQdoChdqISBZGDTpYPwcBcdh6BJy079cTGENOeQt6Z O69xkKyii67JL8WsimtpHdWprjEJLSwquKSmazLf51nYIfsWNGkn5PKwvfjTZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674602905; a=rsa-sha256; cv=none; b=QBEb6SN+Q5aj0HiehwQLkxf9ffsB0QukIPIflWh/e8M5kI6K9Nkz0R1/JCR2Yvs5LAcZLM 4bwBGqHqXkyXwaQ+ALuL1a62SISYhThmeNjuC9NwOc8aKrUP4LOKvvKL+wZVRlD8NCEyV7 aGmy6f880aYkGpoIdX0khnxWGcRqreIfy/5LS/GjTAJu6vymY5Rh1m+YJs19GlCW8rz5uk OkMCRA9FH9COX216ylRM6v1sn0afgpBgR7dQKzEqzrxmdyUwsIsVOZKuBzUc/yp5YCHNLw HizwQ+l/1+9DxZTy/+peKRWIhntMR1mgPkC2I5uMsBo2p0DpBjclGViAt2cYXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1jp14spXzSbJ; Tue, 24 Jan 2023 23:28:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ONSPWv092229; Tue, 24 Jan 2023 23:28:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ONSPp1092228; Tue, 24 Jan 2023 23:28:25 GMT (envelope-from git) Date: Tue, 24 Jan 2023 23:28:25 GMT Message-Id: <202301242328.30ONSPp1092228@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: 1004da283d45 - stable/13 - linux: For better compatibility, provide compatible endian.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1004da283d45d2f343a3b2fcde48dc8c558a339a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1004da283d45d2f343a3b2fcde48dc8c558a339a commit 1004da283d45d2f343a3b2fcde48dc8c558a339a Author: Warner Losh AuthorDate: 2023-01-20 23:32:45 +0000 Commit: Warner Losh CommitDate: 2023-01-24 23:26:28 +0000 linux: For better compatibility, provide compatible endian.h Add endian.h. This includes sys/endian.h and then adds extra defines that glibc defines with double underscores for our _{BIG,BYTE,LITTLE,PDP}_ENDIAN macros. We also define __FLOAT_WORD_ORDER to be the same as _BYTE_ENDIAN since FreeBSD doesn't currently define this, and the default with glibc is exactly this for our platforms. Move common parts of endian.h and sys/endian.h into sys/_endian.h to limit namespace pollution from endian.h All this gives us good compatibility with Linux. There may be one or two upstreams that haven't integrated the patches I tried to send up. There are some minor differences: o The extra glibc macros are not defined. These are all controlled with either __ at the start, or only defined when glibc is being built. We also don't define macros that are used internally in glibc that would pollute the namespace. o For complete compatibility, this change must also be paired with providing a glibc-compatible byteswap.h. Sponsored by: Netflix Reviewed by: mhorne, markj, jhb Differential Revision: https://reviews.freebsd.org/D31962 (cherry picked from commit 30e0d2a51026830e5141ce3dd43854819bba910c) --- include/Makefile | 4 ++-- include/endian.h | 43 +++++++++++++++++++++++++++++++++++++++++++ sys/sys/_endian.h | 36 +++++++++++++++++++++++++++++++++++- sys/sys/endian.h | 42 ++++++------------------------------------ 4 files changed, 86 insertions(+), 39 deletions(-) diff --git a/include/Makefile b/include/Makefile index 6f30598fedab..b7aa723a562f 100644 --- a/include/Makefile +++ b/include/Makefile @@ -11,8 +11,8 @@ SUBDIR= arpa protocols rpcsvc rpc xlocale SUBDIR_PARALLEL= INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \ db.h \ - dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \ - fts.h ftw.h getopt.h glob.h grp.h \ + dirent.h dlfcn.h elf.h elf-hints.h endian.h err.h fmtmsg.h fnmatch.h \ + fstab.h fts.h ftw.h getopt.h glob.h grp.h \ ieeefp.h ifaddrs.h \ inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \ locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \ diff --git a/include/endian.h b/include/endian.h new file mode 100644 index 000000000000..c7b78217cedd --- /dev/null +++ b/include/endian.h @@ -0,0 +1,43 @@ +/*- + * Copyright (c) 2021 M. Warner Losh + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * A mostly Linux/glibc-compatible endian.h + */ + +#ifndef _ENDIAN_H_ +#define _ENDIAN_H_ + +/* + * FreeBSD's sys/_endian.h is very close to the interface provided on Linux by + * glibc's endian.h. + */ +#include + +/* + * glibc uses double underscore for these symbols. Define these unconditionally. + * The compiler defines __BYTE_ORDER__ these days, so we don't do anything + * with that since sys/endian.h defines _BYTE_ORDER based on it. + */ +#define __BIG_ENDIAN _BIG_ENDIAN +#define __BYTE_ORDER _BYTE_ORDER +#define __LITTLE_ENDIAN _LITTLE_ENDIAN +#define __PDP_ENDIAN _PDP_ENDIAN + +/* + * FreeBSD's sys/endian.h and machine/endian.h doesn't define a separate + * byte order for floats. Use the host non-float byte order. + */ +#define __FLOAT_WORD_ORDER _BYTE_ORDER + +/* + * We don't define BIG_ENDI, LITTLE_ENDI, HIGH_HALF and LOW_HALF macros that + * glibc's endian.h defines since those appear to be internal to internal to + * glibc. We also don't try to emulate the various helper macros that glibc + * uses to limit namespace visibility. + */ + +#endif /* _ENDIAN_H_ */ diff --git a/sys/sys/_endian.h b/sys/sys/_endian.h index 936962cc729f..72e1a40a8deb 100644 --- a/sys/sys/_endian.h +++ b/sys/sys/_endian.h @@ -32,7 +32,7 @@ #ifndef _SYS__ENDIAN_H_ #define _SYS__ENDIAN_H_ -#ifndef _MACHINE_ENDIAN_H_ +#if !defined(_MACHINE_ENDIAN_H_) && !defined(_ENDIAN_H_) #error "sys/_endian.h should not be included directly" #endif @@ -89,4 +89,38 @@ #define __ntohs(x) ((__uint16_t)(x)) #endif +/* + * Host to big endian, host to little endian, big endian to host, and little + * endian to host byte order functions as detailed in byteorder(9). + */ +#if _BYTE_ORDER == _LITTLE_ENDIAN +#define htobe16(x) __bswap16((x)) +#define htobe32(x) __bswap32((x)) +#define htobe64(x) __bswap64((x)) +#define htole16(x) ((uint16_t)(x)) +#define htole32(x) ((uint32_t)(x)) +#define htole64(x) ((uint64_t)(x)) + +#define be16toh(x) __bswap16((x)) +#define be32toh(x) __bswap32((x)) +#define be64toh(x) __bswap64((x)) +#define le16toh(x) ((uint16_t)(x)) +#define le32toh(x) ((uint32_t)(x)) +#define le64toh(x) ((uint64_t)(x)) +#else /* _BYTE_ORDER != _LITTLE_ENDIAN */ +#define htobe16(x) ((uint16_t)(x)) +#define htobe32(x) ((uint32_t)(x)) +#define htobe64(x) ((uint64_t)(x)) +#define htole16(x) __bswap16((x)) +#define htole32(x) __bswap32((x)) +#define htole64(x) __bswap64((x)) + +#define be16toh(x) ((uint16_t)(x)) +#define be32toh(x) ((uint32_t)(x)) +#define be64toh(x) ((uint64_t)(x)) +#define le16toh(x) __bswap16((x)) +#define le32toh(x) __bswap32((x)) +#define le64toh(x) __bswap64((x)) +#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ + #endif /* _SYS__ENDIAN_H_ */ diff --git a/sys/sys/endian.h b/sys/sys/endian.h index faac0458ae2c..d91c442e9238 100644 --- a/sys/sys/endian.h +++ b/sys/sys/endian.h @@ -55,6 +55,12 @@ typedef __uint64_t uint64_t; #define _UINT64_T_DECLARED #endif +/* + * Note: While tempting to try to avoid namespace pollution from this file, + * several software packages assume these marcos are defined, even when it + * defines _POSIX_C_SOURCE to request an unpolluted namespace. + */ + /* * General byte order swapping functions. */ @@ -62,42 +68,7 @@ typedef __uint64_t uint64_t; #define bswap32(x) __bswap32(x) #define bswap64(x) __bswap64(x) -/* - * Host to big endian, host to little endian, big endian to host, and little - * endian to host byte order functions as detailed in byteorder(9). - */ -#if _BYTE_ORDER == _LITTLE_ENDIAN -#define htobe16(x) __bswap16((x)) -#define htobe32(x) __bswap32((x)) -#define htobe64(x) __bswap64((x)) -#define htole16(x) ((uint16_t)(x)) -#define htole32(x) ((uint32_t)(x)) -#define htole64(x) ((uint64_t)(x)) - -#define be16toh(x) __bswap16((x)) -#define be32toh(x) __bswap32((x)) -#define be64toh(x) __bswap64((x)) -#define le16toh(x) ((uint16_t)(x)) -#define le32toh(x) ((uint32_t)(x)) -#define le64toh(x) ((uint64_t)(x)) -#else /* _BYTE_ORDER != _LITTLE_ENDIAN */ -#define htobe16(x) ((uint16_t)(x)) -#define htobe32(x) ((uint32_t)(x)) -#define htobe64(x) ((uint64_t)(x)) -#define htole16(x) __bswap16((x)) -#define htole32(x) __bswap32((x)) -#define htole64(x) __bswap64((x)) - -#define be16toh(x) ((uint16_t)(x)) -#define be32toh(x) ((uint32_t)(x)) -#define be64toh(x) ((uint64_t)(x)) -#define le16toh(x) __bswap16((x)) -#define le32toh(x) __bswap32((x)) -#define le64toh(x) __bswap64((x)) -#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ - /* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ - static __inline uint16_t be16dec(const void *pp) { @@ -203,5 +174,4 @@ le64enc(void *pp, uint64_t u) le32enc(p, (uint32_t)(u & 0xffffffffU)); le32enc(p + 4, (uint32_t)(u >> 32)); } - #endif /* _SYS_ENDIAN_H_ */ From nobody Tue Jan 24 23:28:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1jp30mVHz30yy7; Tue, 24 Jan 2023 23:28: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 4P1jp274fwz3j9H; Tue, 24 Jan 2023 23:28:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aDYvHx21SS9P/aXDObRGNv6ujxYYZl7JnPQU3+7XmQI=; b=wIvZzNdh7C6aMuUwNrQjppa0bLeb9Fl4DuHffizibaiHT1UfO5qJ2gC44RsStNbFJxjPYU qvi76daZKVJ1hb1jLMaPBHnzuVRjOxP5EQJPO1N/moz2DBOJXWB6GePKLIA5goY8RW6KTl SIOU+jPB4YyT7SXOw1sorVxJ19XZmDAO2O86g7x6CLZXrjlE1Z7aXkIapOVW7fKPkvv1oC bCmL4U8wkz4TokkK34FGh8HaoVD/+kt7lqB5vL8uMnEB7TgyQs9d7F/8rgHNSekvTSQQD1 41yJWNUcnwn9QbAuYdyXf1aueoHbyAYlA0/tyXxio8C0wKeEg/kU9FYK7a/0rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674602907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aDYvHx21SS9P/aXDObRGNv6ujxYYZl7JnPQU3+7XmQI=; b=PM9QRvkyMCxDB4u0evYuVmQs5SwJamRNy4YQLI8qaIV0S/JgxEPSKVAoo41kvSXD+bbVzv FzTR5mleoWAU2covfbzYyhCwK1VfdN3ASsRqCM/gyXk27ExVxZidWrFE/N4C5lnG2ibPxA 463rpwbHf5NIKPnxbxc7Fy+8KrZp0Z5QCZVqK07/dzt9B0+5O5/QaPwxtmJ5aLxwdhkA2h VIq2C3rls1p0EsNMBBNG/ti89IBCHIL9UtWnMW2+eOplv9Fw5cP6pvLCSSo0ikK8VmeqFu SO7vX7aV3TS801Tst3vB+BLVkltHqE4tnTYtpbzTx+xmWJ94qCgRGUP7Q2a95A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674602907; a=rsa-sha256; cv=none; b=EP5B1o0KIoyUZxBMUxJV9EFPyQ2g6IIIvp87r0CZG4uT2LTlLryb6asK/SjfIicLS28l7V 7GD4J5qa9fcfInlhvu5MYQ5Jp7tF9l71hc2Onbpw6LfGrgRkhtANPOdRmXdBYf80ZQSJfb tEuGY6fbU7f9xgkCSU7ZcokbUMZbXQMiCX7ayN5cZSQJQf5AKA0JQgUk0akCHUrNO2aghG YJUoip0ZEtPUT6MaELrFn4j+LTm/h/jr9mPldpu/fF+tgOY6lTqvO/+eBemFDZgQW7Ofcd j8ZCAul7L/5tja3jtpfJxjSm2dILhcnSNqe0V15VXdCAOS+Q5pOqB/uOXE1kUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1jp264wqzSDw; Tue, 24 Jan 2023 23:28:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ONSQ22092259; Tue, 24 Jan 2023 23:28:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ONSQhR092257; Tue, 24 Jan 2023 23:28:26 GMT (envelope-from git) Date: Tue, 24 Jan 2023 23:28:26 GMT Message-Id: <202301242328.30ONSQhR092257@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: 1dd126163b94 - stable/13 - byteswap.h: Add a glibc/linux compatible byteswap.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1dd126163b9448c2dcfe27978fee50649548437c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1dd126163b9448c2dcfe27978fee50649548437c commit 1dd126163b9448c2dcfe27978fee50649548437c Author: Warner Losh AuthorDate: 2023-01-20 23:33:37 +0000 Commit: Warner Losh CommitDate: 2023-01-24 23:26:28 +0000 byteswap.h: Add a glibc/linux compatible byteswap.h For endian.h to work instead of sys/endian.h, some software needs byteswap.h available. It must define {__,}byteswap_{16,32,64}. Included sys/_endian.h to get an appropriate __byteswap16, etc and defines the new macros in terms of them. Enhance _endian.h to allow it to be included from here too. Sponsored by: Netflix Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D32051 (cherry picked from commit 1761b09bf42d2842e82c1ac614c23d31c4d4c0dc) --- include/Makefile | 3 ++- include/byteswap.h | 41 +++++++++++++++++++++++++++++++++++++++++ sys/sys/_endian.h | 2 +- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/include/Makefile b/include/Makefile index b7aa723a562f..490b430d94c6 100644 --- a/include/Makefile +++ b/include/Makefile @@ -9,7 +9,8 @@ PACKAGE=runtime CLEANFILES= osreldate.h version SUBDIR= arpa protocols rpcsvc rpc xlocale SUBDIR_PARALLEL= -INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \ +INCS= a.out.h ar.h assert.h bitstring.h byteswap.h \ + complex.h cpio.h _ctype.h ctype.h \ db.h \ dirent.h dlfcn.h elf.h elf-hints.h endian.h err.h fmtmsg.h fnmatch.h \ fstab.h fts.h ftw.h getopt.h glob.h grp.h \ diff --git a/include/byteswap.h b/include/byteswap.h new file mode 100644 index 000000000000..a7b816ee82b0 --- /dev/null +++ b/include/byteswap.h @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2021 M. Warner Losh + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * A mostly Linux/glibc-compatible byteswap.h + */ + +#ifndef _BYTESWAP_H_ +#define _BYTESWAP_H_ + +/* + * sys/_endian.h brings in the shared interfaces between BSD's sys/endian.h, and + * glibc's endian.h. However, we need to include it here to get the + * __bswap{16,32,64} definitions that we use. sys/_endian.h has been consturcted to + * be compatible with including , or both in either order, + * as well as providing the BSD the bulk of sys/endian.h functionality. + */ +#include + +/* + * glibc's defines the bswap_* and __bswap_* macros below. Most + * software uses either just , or both and + * . However, one can't define bswap16, etc in because + * several software packages will define them only when they detect + * is included (but not when sys/endian.h is included). Defining bswap16, etc + * here causes compilation errors for those packages. and + * need to be paired together, with the below defines here, for + * the highest level of glibc compatibility. + */ +#define __bswap_16(x) __bswap16(x) +#define __bswap_32(x) __bswap32(x) +#define __bswap_64(x) __bswap64(x) + +#define bswap_16(x) __bswap16(x) +#define bswap_32(x) __bswap32(x) +#define bswap_64(x) __bswap64(x) + +#endif /* _BYTESWAP_H_ */ diff --git a/sys/sys/_endian.h b/sys/sys/_endian.h index 72e1a40a8deb..ff909f532663 100644 --- a/sys/sys/_endian.h +++ b/sys/sys/_endian.h @@ -32,7 +32,7 @@ #ifndef _SYS__ENDIAN_H_ #define _SYS__ENDIAN_H_ -#if !defined(_MACHINE_ENDIAN_H_) && !defined(_ENDIAN_H_) +#if !defined(_MACHINE_ENDIAN_H_) && !defined(_BYTESWAP_H_) && !defined(_ENDIAN_H_) #error "sys/_endian.h should not be included directly" #endif From nobody Wed Jan 25 03:47:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1qYY30Gcz3bSGW for ; Wed, 25 Jan 2023 03:48:01 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic301-20.consmr.mail.gq1.yahoo.com (sonic301-20.consmr.mail.gq1.yahoo.com [98.137.64.146]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1qYW6WvMz4HXx for ; Wed, 25 Jan 2023 03:47:59 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=OomLhB9N; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.146 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1674618478; bh=GZgy7fB42TwpL7SBB16sPnLTPnV0DH9MZ3qsnrwv1MY=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=OomLhB9NFBPsIn/vySS5/lgaHYM++yzjF3fow4VsDld4ElNQeXD+R3A1jeSms0bgsglvv+lqevjiYdMDD+v5l/Ib5Dm46iTbLdyC5QJkaFT6ukwyf7DrU88DFSAiP7L3G2SEgZ8/3eOKznSjznV5qjzxWwytddcZ+/U+4hZ97A2vliR47rFgTn6W1NAFBa4w1XPqHTyK8o98SuB8ouccunzYw0KiBTQp0R/LK7paUyV4jSARBAxkaK3yOvZSrWg5AZEkNM3GB+2YW/92Bbfd7aQFUJ27tansPRyJnLXxpkfNsUOfU4ZVR1C2P0q3y1eUKtW029kszS3ErYt0SM8Yng== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1674618478; bh=At4s4/tnwNb7djj0hox5gKh9DrYZP3vqNGI6aEcR6qj=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=J3wJH4F/pLGtgbYqZwiA1Fiubu01opRAEqo+f8gXjhszxO01WLy9qb/emKe+yLvrZchtbJNMmlEw7Dzq+WIXWyi1dWn9H9cwC3RWaU/fewJlFxfUoRT4yXEsB85zZoljSEl0Fuy0ka1Upseqq5BGMCF8p5947keqAlhLG2ijmY0Ty3CT/vcvW6AAeZwnExY7p5l4JfuKVDCVxEFx+0P9Jq2Kz/J6vxRhrHxF463fwtY5jioA5FleTaA6eTQiebtM8QG9McSl+kx4xECyOxScQbE9kjVmi/sNpm9c0nB+lVa/oqI+7ejk93jlouGRvmGaii36FwZEmnrWw5VLkg2Tbw== X-YMail-OSG: BV0kFsUVM1m5ammV6VzE_k1eLY5P5fL9KKHRWCkU0cyavcMX4jDFBXpFEYKzhjd aC_T9wQ_.6yrqXpox5cq_JyaU6v.c7m.J28XXdzEyLXHZPJevQE.s9sXnP2ngvpt6ZyqVfoe8fSH xDwAUExTLfvyiOzU.iZfhM4FQbHFROZvTmr50To.GvjZDqjYxif.1tfq3WWv9uyf1CcJEsZZ5Ipe oKvOw1CRXiZPBuCU2cB6.Ms7oHNmTvFT.cGjWhNXiKd7Alp.4CDxbGODjsXTP7phfs7uuSYrny6N jCeTrvfu0LJ3_Ziz2gjztFicrosfp_QKhhuGdAJ4vt9zvNDnafLa.Wbg0FeEGUPnxBdenVjborDq .vJc3W80UA_z9I_c6i.t_BprjtuoCdXl5o8nby4vS5cOt3z2cYMP2SzaMrdDyerukgfvekZtyU_X clEGS41YvYa5U_zKZbg88UEP6Y_J8X60oUmitzB5.L.UNNvFX.pdltmbXnAE._Rgl7kth9dUKcWu wZY42Wol9iOZdOMyR6nLwf4pd6w4eZpaesefEw2VlJNa_lyq1hnL1jEl1GDlNxLOJ6yq.lUVIaOF 7z2DUbWx1gabxIQAMDiAeqdFCk6Y81Hbmjwh87NDvVKSI574thtCLEE5c04dieDYTkZuYFYOf80T oD8oy1Ra5hUTmgcmsETpQfB9gTUFNpExtH1748y5kmYLinUIN0Ld9x96eidRu245rQ8icLBNKYlT zwGprawPNwgJQWjouAXagUKEkoaYzRRv86qeZyfKDa7.YnmOaXgRl5jvLsp6RAI.KNABotD05PVV WI3M4VtwkcaZKKNchZ0_pbFa31Dr00VyRrShr0LwZNJYoRoXuelYLtHPzBt3qHR09ohYlVZzjrND _1GwN3d6Hce8Yd_I.GxFjcPe2Z2q_omF0IBKjqCa6GQLuYUxs.kZ17rDtN11rfXMlGVdoh6FzOkk 8D9YSDGZFDXpaINDPmPtp_IFgjNv7XuAHa0FGe0kiFWlB.dMZ.NBtU3nKdioi_0shRPx4T9rf8GS ocBB89tsyeVeuIANYqrwruXb1B96y7FRHAHZGRbC5L5LN4WGvQHvltUC5vNNbyLSsYRyL5P.mMZP EEo_355gIZ3ONmuObmUeBAH2db96ZAxbM9_lTVcBlVcwieqSG6toNMIwVKWZP5P.UMvhKP4HpdnJ HBiiBjJC1kIP9urCJTlul4CNkIR.W0303Oy1Px2elYXUkVfXBBYvJq93gAcpuXDlrBen6FQIaFZK hCbKhYH0Plt3Dr5ql_l2bswQvSSbqWlLLnNniw3KRnasiLwlzFjk5Kb01iphfQcTgllQLHXRo3jH .FqAqP.Jvj5JPc3MhayO_OJEv2kYPAXlP2Vf57jGFVCqc_peiZ3lItTSQAWTZPpo3uPGEum9EYxu .2j3hTPkS00CXhvblvSgw3H9aQJI5kzV3rx0UQzX57Td9.EurqW3b9NxNxkbOeQGMs..J.FE0Qqx yreo8RafVTHefm07eqpFb6JtfiaQTeW_0ldrYrVxKXn8Zr5lTR058jH6D5WHkh7pArTyOm_q6Q0e NueA0hw9j_OYe4rVP7_K8o37lvwNk1Ccp3C0Aey5k8XuZf35FPTROuSQda4jpIMgjQuVdLfODW9F xWAMJYnFXZ8r86NPYnD1DbagZqGkCysoL3LLj9..rwyR_.APCTQPhv0FcXhwCcgGsWeQFS.M.msz 1fqM1O3lGmHAbSc2zeGqhQkQdIA_HLAO_dG1v.emwtSzR5CPk40_yFsN9bNhNFnXFkBascBA2AiN DU7e9eHbfBvwS9mDvwHOand_duTeqCmhcPfr2a.D2UqIf7PILyIcDWlceWk0WFM.d5txS.1.lt5E Xk8_D802k0tP244G1x52GypXvFC3K2Akj7tkHU37OwT4PaRsGObQtRGRmnMYah7wxww3CJBbvBAf Qeran6PzCYBecGD45aU0a_yK0AINg.lSe_KUTAOh6PDBrU32gF4vVNMyIFY8O4ONACXNMKyNG16r imfxtiwx2krP9l8eVYNPp_wjcz9atNyIdTTD6tEaeruHRAwM1sWCEpE_a6cTjJvgCcVPqoNervWa .aDGbHQr6vuUVu4WYfkcBCG4brFPU9K44o6T5cJFLuQWwNYHxzLSpeFjq10Lp5FgCsmGeccWwEVy I6g_XpEY4sBJmNvTyzW6.pFw45V1hUoCrsSA8MmJP1am88O9UUkM6ATqhv9TuYMqNwK_floiEP9z ffYG1FsT0sZaZ4iGYQV_3uu4WdPBmF8lla3d89D2ZsEeN54xq_0aOucTZV94yS4BUDC1mW8U2hgv Z X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.gq1.yahoo.com with HTTP; Wed, 25 Jan 2023 03:47:58 +0000 Received: by hermes--production-ne1-644674576b-cx96b (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 4861ead3a7bbef56debbc5f92c29393e; Wed, 25 Jan 2023 03:47:53 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.300.101.1.3\)) Subject: git: e006859bce01 and git: 8cc2156f85bb (and more?) for stable/13: removing some mips support and using 1400000 in one place? Message-Id: Date: Tue, 24 Jan 2023 19:47:42 -0800 To: Warner Losh , dev-commits-src-branches@freebsd.org X-Mailer: Apple Mail (2.3731.300.101.1.3) References: X-Spamd-Result: default: False [-2.47 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.97)[-0.968]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.146:from]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_COUNT_THREE(0.00)[3]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[dev-commits-src-branches@freebsd.org]; RCVD_TLS_LAST(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.146:from] X-Rspamd-Queue-Id: 4P1qYW6WvMz4HXx X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N https://www.freebsd.org/platforms/ shows mips as Tier 2 for 13.x but: = https://lists.freebsd.org/archives/dev-commits-src-branches/2023-January/0= 08721.html is: QUOTE The branch stable/13 has been updated by imp: . . . stand: remove mips support As part of decommissioning mips support, remove the boot loader support. Do this in advance of other boot loader work to limit the amount of work that will be thrown away. END QUOTE But earlier there was also a change to use a: #define __FreeBSD_version 1400000 in stable/13: = https://lists.freebsd.org/archives/dev-commits-src-branches/2023-January/0= 08705.html QUOTE The branch stable/13 has been updated by imp: . . . Bump the FreeBSD kernel version in kernel boot shim. . . . -#define __FreeBSD_version 1300000 +#define __FreeBSD_version 1400000 . . . END QUOTE =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Wed Jan 25 04:40:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1rkr3d17z3bYsQ for ; Wed, 25 Jan 2023 04:41:08 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (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 4P1rkr1bhhz4LYM for ; Wed, 25 Jan 2023 04:41:08 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x62a.google.com with SMTP id mp20so44398054ejc.7 for ; Tue, 24 Jan 2023 20:41:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DMS+VuUOnTHYmmtQF7hnAmInSfVQYnLA9mIgdOpVpNA=; b=h41IBhbhiUfoiLItPc93twOO+8HPq3pX7xKGegAjtPo/0FXvd7EVkujs1YqDfNxVL8 UsZqBZwrq7wVBa+EqxxMwxrEsU1THoAMAiUo2gt4TrFP4Y6MYlt6hSEIujbPvCXbG6PW 1v98f7/QqfCxaG0+qeraNmAVV5dYIRy+iXi1MNi0MLIxHS3BUxvFFdF3BHEQiJTL2KyU WcqvOZmFFDl/QPSo9LcR64KQp5sx7zwu+gGkwqyO22bWaXsMyrJajfWBPf2Wa75T33ev C/WzbxMe666YV0b/jq/lZZKsuVCAwvTr8QlxHb643DngIcnABkCk0LcaPuh7DEa/Ihag 1Ncg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DMS+VuUOnTHYmmtQF7hnAmInSfVQYnLA9mIgdOpVpNA=; b=YJchruqoby67lmDH7V+e5d2ehE87ILdob3sibVq4ZAQHDVvu5Y1Ky7y+fCyOwsZ+OW Pe8YK7GQdyeq6gU6BqtLfHW7YfadQZtQcUt1VRQhNlbP0p4sRIEybFqxPcBSnjC8bGjZ 8XLB5/E/uCozTAZDfEC+O2uafSbIZN3DD7ycps7lU+hagi9wBlJJ1o2uAQgjjl88Yrec yOW/omyFPrZK3aEnQ/WJDGSHVhN+lbRb/7Sd46kjK677aJCNguqsHgFEzXAJqsaaYIgo rF+KjFKuf39JcKTifkA2/RW/QvBp0d6fMW2aMm9GAVo5XGAUoTgo1+1jdKDwATVHlSdA Wchg== X-Gm-Message-State: AFqh2krCcVk1edB9+HNGX/FWv716lN2ZO//SbtFcrhQ/rK/khOCqE1ON 6lWnjiLz7NG3JkxTTjtDAyjX05vDOM13lleWwfg4K3SsXumhyg== X-Google-Smtp-Source: AMrXdXtQ0cBL8n/XhzvMI3BcKndV/h0FREXOhpJjdlG8ayOmdsBrX+ZczbnLfapZdJUVEi/EZgrbBUYwozHCZNVDOBA= X-Received: by 2002:a17:906:6a8e:b0:86e:3764:4f80 with SMTP id p14-20020a1709066a8e00b0086e37644f80mr2705212ejr.239.1674621666855; Tue, 24 Jan 2023 20:41:06 -0800 (PST) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Warner Losh Date: Tue, 24 Jan 2023 21:40:59 -0700 Message-ID: Subject: Re: git: e006859bce01 and git: 8cc2156f85bb (and more?) for stable/13: removing some mips support and using 1400000 in one place? To: Mark Millard Cc: dev-commits-src-branches@freebsd.org Content-Type: multipart/alternative; boundary="00000000000096272705f30f3d0d" X-Rspamd-Queue-Id: 4P1rkr1bhhz4LYM X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --00000000000096272705f30f3d0d Content-Type: text/plain; charset="UTF-8" On Tue, Jan 24, 2023 at 8:47 PM Mark Millard wrote: > https://www.freebsd.org/platforms/ shows mips as Tier 2 for 13.x but: > > > https://lists.freebsd.org/archives/dev-commits-src-branches/2023-January/008721.html > > is: > > QUOTE > The branch stable/13 has been updated by imp: > . . . > stand: remove mips support > This was a mistake on my part. > As part of decommissioning mips support, remove the boot loader > support. Do this in advance of other boot loader work to limit the > amount of work that will be thrown away. > END QUOTE > > But earlier there was also a change to use a: > > #define __FreeBSD_version 1400000 > Ditto. And there was another removal for BERI support I shouldn't have done. I'll be pushing changes to revert those three changes. I've also decided to push my MFC notes to make this easier in the future. This merge was hard enough and even though I checked it multiple times, I still missed these. This should help make it easier in the future (which I plan on doing more often). Please let me know if I've missed anything else. I did yet another scan of the commits, and didn't see any others, but things are easy to miss. We also don't have any mips booting tests, though we have them for most of our other supported platforms (though I need to finish moving from rootgen.sh to full-test.sh). Warner > in stable/13: > > > https://lists.freebsd.org/archives/dev-commits-src-branches/2023-January/008705.html > > QUOTE > The branch stable/13 has been updated by imp: > . . . > Bump the FreeBSD kernel version in kernel boot shim. > . . . > -#define __FreeBSD_version 1300000 > +#define __FreeBSD_version 1400000 > . . . > END QUOTE > > === > Mark Millard > marklmi at yahoo.com > > --00000000000096272705f30f3d0d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Tue, Jan 24, 2023 at 8:47 PM Mark = Millard <marklmi@yahoo.com> = wrote:
https://www.freebsd.org/platforms/ shows mips as Tier 2 for 13.x but:=

https://lists.fr= eebsd.org/archives/dev-commits-src-branches/2023-January/008721.html
is:

QUOTE
The branch stable/13 has been updated by imp:
. . .
=C2=A0 =C2=A0 stand: remove mips support

This was a mistake on my part.
=C2=A0
As part of decommissioning mips support, remove the boot loader
support. Do this in advance of other boot loader work to limit the
amount of work that will be thrown away.
END QUOTE

But earlier there was also a change to use a:

#define __FreeBSD_version 1400000

Ditto= .

And there was another removal for BERI support I= shouldn't have done.

I'll be pushing chan= ges to revert those three changes. I've also decided to push
= my MFC notes to make this easier in the future. This merge was hard enough<= /div>
and even though I checked it multiple times, I still missed these= . This should help
make it easier in the future (which I plan on = doing more often).

Please let me know if I've = missed anything else. I did yet another scan of the commits,
and = didn't see any others, but things are easy to miss. We also don't h= ave any mips
booting tests, though we have them for most of our o= ther supported platforms (though
I need to finish moving from roo= tgen.sh to full-test.sh).

Warner
=C2=A0
in stable/13:

https://lists.fr= eebsd.org/archives/dev-commits-src-branches/2023-January/008705.html
QUOTE
The branch stable/13 has been updated by imp:
. . .
=C2=A0 =C2=A0 Bump the FreeBSD kernel version in kernel boot shim.
. . .
-#define __FreeBSD_version 1300000
+#define __FreeBSD_version 1400000
. . .
END QUOTE

=3D=3D=3D
Mark Millard
marklmi at yahoo.com

--00000000000096272705f30f3d0d-- From nobody Wed Jan 25 04:45:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1rrQ3ltzz3bZFt; Wed, 25 Jan 2023 04:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1rrQ3FcDz4Lyn; Wed, 25 Jan 2023 04:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8o2TMw23DfBcTQZC6SkiRSY3pcr0f+9bF1NjvYu/ac=; b=H0z7Gq6MAaJZqRA8kzCHtnBC0vfCflCFE9aKU1tKawgnLZJ5Rl95KImhrC35kBVDOX2N9a VdXXNScjamerxger/JaL2xD9JjkQaglg+DOTsZ42P1My52wk0yuR/Akc9z8cr98pBal1ZJ Y1+h7FB60zrRX9eqgBusdtqZUfpw7U2gf5sAYwR8xZD4vQYgUb02ErsT/2ipsa+0oEtnhi QnHfGQ0IFp4HFX5GDFSnHfEovf5wopZtQz4rT9zR7aItoisqvrk1MQFIGPZe0qHweIfEEo xeisHqqm/8y+jgUukaF+At3rx1uV+EeBQPhxGzMUA9GH8uk/qqpu7a1gZXv4lQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8o2TMw23DfBcTQZC6SkiRSY3pcr0f+9bF1NjvYu/ac=; b=MQEd9HNYJ5aFo2mdiDL6/jBLK2bL2tnbXtLyUFQlTDMY8yVVhc6NJW7RT0ETjZZ2hVrPFj ZpU7wV9WHzqjHsCCDZwUTLBr6c0FhxbhP2sB0lNx/LHfqc6DD7L9URvBsJ5kgItktjrF1X p3BKxNKk+brs6/Qp5H2jmGK6kQI9/NWiBshQAhNnofckthuHjCUwYrsh0Ndx411mGNihU4 axKti10v5wbZrkcMF++FGvB2Qkg8xR+kObx/UMWm7LIIjZyP0W805pdLiClnySACmEgEkl zB2mOOkTX9wxrv6DM1ZANoPoxVfdRCKTdd9z+Jr3UM/VR5sj1Si+8K2oNk1CjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674621958; a=rsa-sha256; cv=none; b=ya90vJSM3BpYEGYFdBwKdNsZsFMaRddVakcuI5uvURkkTTXllJZQr1Zhim4evnmCr11GZ9 lb1xVWvWHMXk6+GhReWbfQH0aywXmeB+VuXQEuu3g/DEikjEWOEX8p0tYR4Dz3q0ij1WfT dbyywmhdO5SmAhrq/Rh3ylPzJOc4RKIEBkklVqIvNczoZbSk2Q/YvT5knmZBashlGTh/zN QC2DU11Tlqok1/Qb0Xp/5d92I0aZ+nbX/0Eu4BHb32gGjJcrGfEPny4nZJEMzY/Zkiajvv RKg2QY1zHIr07Tiya99dLRB8C9olo1JJ101VOud1YUKq1ryIS8oMT4olHwrjDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1rrQ2BGwzcBv; Wed, 25 Jan 2023 04:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P4jwwl053346; Wed, 25 Jan 2023 04:45:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P4jwMm053345; Wed, 25 Jan 2023 04:45:58 GMT (envelope-from git) Date: Wed, 25 Jan 2023 04:45:58 GMT Message-Id: <202301250445.30P4jwMm053345@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: 1f1a1568a74c - stable/13 - Revert "stand: remove mips support" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1f1a1568a74cf9c4466597d8cacc799085a9f112 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1f1a1568a74cf9c4466597d8cacc799085a9f112 commit 1f1a1568a74cf9c4466597d8cacc799085a9f112 Author: Warner Losh AuthorDate: 2023-01-25 03:54:38 +0000 Commit: Warner Losh CommitDate: 2023-01-25 03:54:38 +0000 Revert "stand: remove mips support" This change slipped through my checks, and should not have been merged. mips is still supported in stable/13. This reverts commit e006859bce01b2f10349a804cade3688f40557e3. --- stand/common/metadata.c | 2 +- stand/defs.mk | 4 + stand/ficl.mk | 2 + stand/libsa/zalloc_defs.h | 2 +- stand/loader.mk | 6 + stand/mips/Makefile | 16 + stand/mips/Makefile.inc | 3 + stand/mips/beri/Makefile | 5 + stand/mips/beri/Makefile.inc | 9 + stand/mips/beri/boot2/Makefile | 78 ++++ stand/mips/beri/boot2/boot2.c | 669 ++++++++++++++++++++++++++++++ stand/mips/beri/boot2/flashboot.ldscript | 65 +++ stand/mips/beri/boot2/jtagboot.ldscript | 64 +++ stand/mips/beri/boot2/relocate.S | 103 +++++ stand/mips/beri/boot2/start.S | 82 ++++ stand/mips/beri/common/altera_jtag_uart.c | 175 ++++++++ stand/mips/beri/common/beri.h | 42 ++ stand/mips/beri/common/cfi.c | 75 ++++ stand/mips/beri/common/cfi.h | 40 ++ stand/mips/beri/common/common.ldscript | 76 ++++ stand/mips/beri/common/cons.h | 40 ++ stand/mips/beri/common/mips.h | 156 +++++++ stand/mips/beri/common/sdcard.c | 333 +++++++++++++++ stand/mips/beri/common/sdcard.h | 41 ++ stand/mips/beri/loader/Makefile | 109 +++++ stand/mips/beri/loader/arch.c | 97 +++++ stand/mips/beri/loader/beri_console.c | 90 ++++ stand/mips/beri/loader/beri_disk_cfi.c | 141 +++++++ stand/mips/beri/loader/beri_disk_sdcard.c | 147 +++++++ stand/mips/beri/loader/devicename.c | 206 +++++++++ stand/mips/beri/loader/exec.c | 125 ++++++ stand/mips/beri/loader/gfx_fb.c | 78 ++++ stand/mips/beri/loader/help.mips | 1 + stand/mips/beri/loader/loader.h | 61 +++ stand/mips/beri/loader/loader.ldscript | 84 ++++ stand/mips/beri/loader/main.c | 245 +++++++++++ stand/mips/beri/loader/start.S | 49 +++ stand/mips/beri/loader/version | 6 + stand/mips/uboot/Makefile | 64 +++ stand/mips/uboot/conf.c | 117 ++++++ stand/mips/uboot/help.uboot | 27 ++ stand/mips/uboot/ldscript.mips | 134 ++++++ stand/mips/uboot/start.S | 71 ++++ stand/mips/uboot/version | 10 + stand/uboot/elf_freebsd.c | 4 + stand/uboot/glue.h | 9 + stand/usb/Makefile | 4 + 47 files changed, 3965 insertions(+), 2 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index a69c6d824d44..67bd504fa2a4 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -223,7 +223,7 @@ md_load(char *args, vm_offset_t *modulep, vm_offset_t *dtb) return (md_load_dual(args, modulep, dtb, 0)); } -#if defined(__powerpc__) +#if defined(__mips__) || defined(__powerpc__) int md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb) { diff --git a/stand/defs.mk b/stand/defs.mk index e9c97f7720ab..765fd046a879 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -186,6 +186,10 @@ CFLAGS+= -mno-relax DD_NOSTATUS!=(dd status=none count=0 2> /dev/null && echo status=none) || true DD=dd ${DD_NOSTATUS} +.if ${MACHINE_CPUARCH} == "mips" +CFLAGS+= -G0 -fno-pic -mno-abicalls +.endif + # # Have a sensible default # diff --git a/stand/ficl.mk b/stand/ficl.mk index e9fa1eb84f4b..2adbccb34f9d 100644 --- a/stand/ficl.mk +++ b/stand/ficl.mk @@ -4,6 +4,8 @@ .if ${MACHINE_CPUARCH} == "amd64" && ${DO32:U0} == 1 FICL_CPUARCH= i386 +.elif ${MACHINE_ARCH:Mmips64*} != "" +FICL_CPUARCH= mips64 .else FICL_CPUARCH= ${MACHINE_CPUARCH} .endif diff --git a/stand/libsa/zalloc_defs.h b/stand/libsa/zalloc_defs.h index 66f943549340..bb7c593ba822 100644 --- a/stand/libsa/zalloc_defs.h +++ b/stand/libsa/zalloc_defs.h @@ -63,7 +63,7 @@ * least sizeof(struct MemNode); this is asserted in zalloc.c. */ -#if defined(__arm__) || defined(__powerpc__) +#if defined(__arm__) || defined(__mips__) || defined(__powerpc__) #define MALLOCALIGN 64 #else #define MALLOCALIGN 16 diff --git a/stand/loader.mk b/stand/loader.mk index 9fa4c74e2501..262de84c3107 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -26,6 +26,12 @@ SRCS+= load_elf32.c reloc_elf32.c SRCS+= load_elf32.c reloc_elf32.c SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c +.elif ${MACHINE_ARCH:Mmips64*} != "" +SRCS+= load_elf64.c reloc_elf64.c +SRCS+= metadata.c +.elif ${MACHINE} == "mips" +SRCS+= load_elf32.c reloc_elf32.c +SRCS+= metadata.c .elif ${MACHINE_CPUARCH} == "riscv" SRCS+= load_elf64.c reloc_elf64.c SRCS+= metadata.c diff --git a/stand/mips/Makefile b/stand/mips/Makefile new file mode 100644 index 000000000000..90341b2f7e50 --- /dev/null +++ b/stand/mips/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +NO_OBJ=t + +SUBDIR= uboot + +# +# The BERI boot loader port works only on 64-bit MIPS; not a hard port to +# 32-bit if someone is interested. Build on all 64-bit MIPS platforms to +# ensure it gets adequate build-test coverage. +# +.if ${MACHINE_ARCH} == "mips64" +SUBDIR+= beri +.endif + +.include diff --git a/stand/mips/Makefile.inc b/stand/mips/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/stand/mips/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/stand/mips/beri/Makefile b/stand/mips/beri/Makefile new file mode 100644 index 000000000000..afcb538816b8 --- /dev/null +++ b/stand/mips/beri/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= boot2 loader + +.include diff --git a/stand/mips/beri/Makefile.inc b/stand/mips/beri/Makefile.inc new file mode 100644 index 000000000000..a95ca3dc1861 --- /dev/null +++ b/stand/mips/beri/Makefile.inc @@ -0,0 +1,9 @@ +# $FreeBSD$ + +LDFLAGS+= -nostdlib + +# BERI boot loader is built with '-mno-abicalls' flag, +# which is incompatible with PIE +MK_PIE= no + +.include "../Makefile.inc" diff --git a/stand/mips/beri/boot2/Makefile b/stand/mips/beri/boot2/Makefile new file mode 100644 index 000000000000..afc061b4eb05 --- /dev/null +++ b/stand/mips/beri/boot2/Makefile @@ -0,0 +1,78 @@ +#- +# Copyright (c) 2013-2014 Robert N. M. Watson +# All rights reserved. +# +# This software was developed by SRI International and the University of +# Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) +# ("CTSRD"), as part of the DARPA CRASH research programme. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +.include + +INSTALLFLAGS= -b + +LOADERS= flashboot jtagboot +FILES= ${LOADERS} ${LOADERS:S/$/.md5/} + +SRCS= relocate.S \ + start.S \ + boot2.c \ + altera_jtag_uart.c \ + cfi.c \ + sdcard.c + +AFLAGS= -G0 + +CFLAGS+= -I${LDRSRC} \ + -Wall \ + -G0 \ + -fno-pic -mno-abicalls \ + -g + +LDFLAGS+= -static \ + -Wl,-N \ + -G0 \ + -L${.CURDIR} + +.PATH: ${BOOTSRC}/mips/beri/common +CFLAGS+= -I${BOOTSRC}/mips/beri/common + +flashboot.elf: relocate.o start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o + ${CC:N${CCACHE_BIN}} ${LDFLAGS} -T ${.CURDIR}/flashboot.ldscript \ + -o ${.TARGET} ${.ALLSRC} ${LIBSA} +flashboot: flashboot.elf + ${OBJCOPY} -S -O binary ${.TARGET}.elf ${.TARGET} +flashboot.md5: flashboot + md5 flashboot > flashboot.md5 + +jtagboot: start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o + ${CC:N${CCACHE_BIN}} ${LDFLAGS} -T ${.CURDIR}/jtagboot.ldscript \ + -o ${.TARGET} ${.ALLSRC} ${LIBSA} +jtagboot.md5: jtagboot + md5 jtagboot > jtagboot.md5 + +CLEANFILES+= flashboot.elf + +.include diff --git a/stand/mips/beri/boot2/boot2.c b/stand/mips/beri/boot2/boot2.c new file mode 100644 index 000000000000..f771da856e4c --- /dev/null +++ b/stand/mips/beri/boot2/boot2.c @@ -0,0 +1,669 @@ +/*- + * Copyright (c) 2013-2014 Robert N. M. Watson + * All rights reserved. + * + * This software was developed by SRI International and the University of + * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) + * ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * Copyright (c) 1998 Robert Nordier + * All rights reserved. + * + * Redistribution and use in source and binary forms are freely + * permitted provided that the above copyright notice and this + * paragraph and the following disclaimer are duplicated in all + * such forms. + * + * This software is provided "AS IS" and without any express or + * implied warranties, including, without limitation, the implied + * warranties of merchantability and fitness for a particular + * purpose. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "paths.h" +#include "rbx.h" + +static int beri_argc; +static const char **beri_argv, **beri_envv; +static uint64_t beri_memsize; + +#define IO_KEYBOARD 1 +#define IO_SERIAL 2 + +#define SECOND 1 /* Circa that many ticks in a second. */ + +#define ARGS 0x900 +#define NOPT 14 +#define MEM_BASE 0x12 +#define MEM_EXT 0x15 + +/* + * XXXRW: I think this has to do with whether boot2 expects a partition + * table? + */ +#define DRV_HARD 0x80 +#define DRV_MASK 0x7f + +/* Default to using CFI flash. */ +#define TYPE_DEFAULT BOOTINFO_DEV_TYPE_SDCARD + +/* Hard-coded assumption about location of JTAG-loaded kernel. */ +#define DRAM_KERNEL_ADDR ((void *)mips_phys_to_cached(0x20000)) + +extern uint32_t _end; + +static const char optstr[NOPT] = "DhaCcdgmnpqrsv"; /* Also 'P', 'S' */ +static const unsigned char flags[NOPT] = { + RBX_DUAL, + RBX_SERIAL, + RBX_ASKNAME, + RBX_CDROM, + RBX_CONFIG, + RBX_KDB, + RBX_GDB, + RBX_MUTE, + RBX_NOINTR, + RBX_PAUSE, + RBX_QUIET, + RBX_DFLTROOT, + RBX_SINGLE, + RBX_VERBOSE +}; + +/* These must match BOOTINFO_DEV_TYPE constants. */ +static const char *const dev_nm[] = {"dram", "cfi", "sdcard"}; +static const u_int dev_nm_count = nitems(dev_nm); + +static struct dsk { + unsigned type; /* BOOTINFO_DEV_TYPE_x object type. */ + uintptr_t unitptr; /* Unit number or pointer to object. */ + uint8_t slice; + uint8_t part; +#if 0 + unsigned start; + int init; +#endif +} dsk; +static char cmd[512], cmddup[512], knamebuf[1024]; +static const char *kname; +uint32_t opts; +#if 0 +static int comspeed = SIOSPD; +#endif +struct bootinfo bootinfo; +static uint8_t ioctrl = IO_KEYBOARD; + +void putchar(int); +static void boot_fromdram(void); +static void boot_fromfs(void); +static void load(void); +static int parse(void); +static int dskread(void *, unsigned, unsigned); +static int xputc(int); +static int xgetc(int); + +#define UFS_SMALL_CGBASE +#include "ufsread.c" + +static struct dmadat __dmadat; + +static inline int +xfsread(ufs_ino_t inode, void *buf, size_t nbyte) +{ + if ((size_t)fsread(inode, buf, nbyte) != nbyte) { + printf("Invalid %s\n", "format"); + return -1; + } + return 0; +} + +static inline void +getstr(void) +{ + char *s; + int c; + + s = cmd; + for (;;) { + switch (c = xgetc(0)) { + case 0: + break; + case '\177': + case '\b': + if (s > cmd) { + s--; + printf("\b \b"); + } + break; + case '\n': + case '\r': + putchar('\n'); + *s = 0; + return; + default: + if (s - cmd < sizeof(cmd) - 1) + *s++ = c; + putchar(c); + } + } +} + +int +main(u_int argc, const char *argv[], const char *envv[], uint64_t memsize) +{ + uint8_t autoboot; + ufs_ino_t ino; + size_t nbyte; + + /* Arguments from Miniboot. */ + beri_argc = argc; + beri_argv = argv; + beri_envv = envv; + beri_memsize = memsize; + + dmadat = &__dmadat; +#if 0 + /* XXXRW: more here. */ + v86.ctl = V86_FLAGS; + v86.efl = PSL_RESERVED_DEFAULT | PSL_I; + dsk.drive = *(uint8_t *)PTOV(ARGS); +#endif + dsk.type = TYPE_DEFAULT; +#if 0 + dsk.unit = dsk.drive & DRV_MASK; + dsk.slice = *(uint8_t *)PTOV(ARGS + 1) + 1; +#endif + bootinfo.bi_version = BOOTINFO_VERSION; + bootinfo.bi_size = sizeof(bootinfo); + + /* Process configuration file */ + + autoboot = 1; + + if ((ino = lookup(PATH_CONFIG)) || + (ino = lookup(PATH_DOTCONFIG))) { + nbyte = fsread(ino, cmd, sizeof(cmd) - 1); + cmd[nbyte] = '\0'; + } + + if (*cmd) { + memcpy(cmddup, cmd, sizeof(cmd)); + if (parse()) + autoboot = 0; + if (!OPT_CHECK(RBX_QUIET)) + printf("%s: %s", PATH_CONFIG, cmddup); + /* Do not process this command twice */ + *cmd = 0; + } + + /* + * Try to exec stage 3 boot loader. If interrupted by a keypress, + * or in case of failure, try to load a kernel directly instead. + */ + + if (!kname) { + kname = PATH_LOADER; + if (autoboot && !keyhit(3*SECOND)) { + boot_fromfs(); + kname = PATH_KERNEL; + } + } + + /* Present the user with the boot2 prompt. */ + + for (;;) { + if (!autoboot || !OPT_CHECK(RBX_QUIET)) + printf("\nFreeBSD/mips boot\n" + "Default: %s%ju:%s\n" + "boot: ", + dev_nm[dsk.type], dsk.unitptr, kname); +#if 0 + if (ioctrl & IO_SERIAL) + sio_flush(); +#endif + if (!autoboot || keyhit(3*SECOND)) + getstr(); + else if (!autoboot || !OPT_CHECK(RBX_QUIET)) + putchar('\n'); + autoboot = 0; + if (parse()) + putchar('\a'); + else + load(); + } +} + +static void +boot(void *entryp, int argc, const char *argv[], const char *envv[]) +{ + + bootinfo.bi_kernelname = (bi_ptr_t)kname; + bootinfo.bi_boot2opts = opts & RBX_MASK; + bootinfo.bi_boot_dev_type = dsk.type; + bootinfo.bi_boot_dev_unitptr = dsk.unitptr; + bootinfo.bi_memsize = beri_memsize; +#if 0 + /* + * XXXRW: A possible future way to distinguish Miniboot passing a memory + * size vs DTB..? + */ + if (beri_memsize <= BERI_MEMVSDTB) + bootinfo.bi_memsize = beri_memsize; + else + bootinfo.bi_dtb = beri_memsize; +#endif + ((void(*)(int, const char **, const char **, void *))entryp)(argc, argv, + envv, &bootinfo); +} + +/* + * Boot a kernel that has mysteriously (i.e., by JTAG) appeared in DRAM; + * assume that it is already properly relocated, etc, and invoke its entry + * address without question or concern. + */ +static void +boot_fromdram(void) +{ + void *kaddr = DRAM_KERNEL_ADDR; /* XXXRW: Something better here. */ + Elf64_Ehdr *ehp = kaddr; + + if (!IS_ELF(*ehp)) { + printf("Invalid %s\n", "format"); + return; + } + boot((void *)ehp->e_entry, beri_argc, beri_argv, beri_envv); +} + +static void +boot_fromfs(void) +{ + union { + Elf64_Ehdr eh; + } hdr; + static Elf64_Phdr ep[2]; +#if 0 + static Elf64_Shdr es[2]; +#endif + caddr_t p; + ufs_ino_t ino; + uint64_t addr; + int i, j; + + if (!(ino = lookup(kname))) { + if (!ls) + printf("No %s\n", kname); + return; + } + if (xfsread(ino, &hdr, sizeof(hdr))) + return; + + if (IS_ELF(hdr.eh)) { + fs_off = hdr.eh.e_phoff; + for (j = i = 0; i < hdr.eh.e_phnum && j < 2; i++) { + if (xfsread(ino, ep + j, sizeof(ep[0]))) + return; + if (ep[j].p_type == PT_LOAD) + j++; + } + for (i = 0; i < 2; i++) { + p = (caddr_t)ep[i].p_paddr; + fs_off = ep[i].p_offset; + if (xfsread(ino, p, ep[i].p_filesz)) + return; + } + p += roundup2(ep[1].p_memsz, PAGE_SIZE); +#if 0 + bootinfo.bi_symtab = VTOP(p); + if (hdr.eh.e_shnum == hdr.eh.e_shstrndx + 3) { + fs_off = hdr.eh.e_shoff + sizeof(es[0]) * + (hdr.eh.e_shstrndx + 1); + if (xfsread(ino, &es, sizeof(es))) + return; + for (i = 0; i < 2; i++) { + *(Elf32_Word *)p = es[i].sh_size; + p += sizeof(es[i].sh_size); + fs_off = es[i].sh_offset; + if (xfsread(ino, p, es[i].sh_size)) + return; + p += es[i].sh_size; + } + } +#endif + addr = hdr.eh.e_entry; +#if 0 + bootinfo.bi_esymtab = VTOP(p); +#endif + } else { + printf("Invalid %s\n", "format"); + return; + } + boot((void *)addr, beri_argc, beri_argv, beri_envv); +} + +static void +load(void) +{ + + switch (dsk.type) { + case BOOTINFO_DEV_TYPE_DRAM: + boot_fromdram(); + break; + + default: + boot_fromfs(); + break; + } +} + +static int +parse() +{ + char *arg = cmd; + char *ep, *p, *q; + char unit; + size_t len; + const char *cp; +#if 0 + int c, i, j; +#else + int c, i; +#endif + + while ((c = *arg++)) { + if (c == ' ' || c == '\t' || c == '\n') + continue; + for (p = arg; *p && *p != '\n' && *p != ' ' && *p != '\t'; p++); + ep = p; + if (*p) + *p++ = 0; + if (c == '-') { + while ((c = *arg++)) { + if (c == 'P') { + cp = "yes"; +#if 0 + } else { + opts |= OPT_SET(RBX_DUAL) | OPT_SET(RBX_SERIAL); + cp = "no"; + } +#endif + printf("Keyboard: %s\n", cp); + continue; +#if 0 + } else if (c == 'S') { + j = 0; + while ((unsigned int)(i = *arg++ - '0') <= 9) + j = j * 10 + i; + if (j > 0 && i == -'0') { + comspeed = j; + break; + } + /* Fall through to error below ('S' not in optstr[]). */ +#endif + } + for (i = 0; c != optstr[i]; i++) + if (i == NOPT - 1) + return -1; + opts ^= OPT_SET(flags[i]); + } + ioctrl = OPT_CHECK(RBX_DUAL) ? (IO_SERIAL|IO_KEYBOARD) : + OPT_CHECK(RBX_SERIAL) ? IO_SERIAL : IO_KEYBOARD; +#if 0 + if (ioctrl & IO_SERIAL) { + if (sio_init(115200 / comspeed) != 0) + ioctrl &= ~IO_SERIAL; + } +#endif + } else { + /*- + * Parse a device/kernel name. Format(s): + * + * path + * deviceX:path + * + * NB: Utterly incomprehensible but space-efficient ARM/i386 + * parsing removed in favour of larger but easier-to-read C. This + * is still not great, however -- e.g., relating to unit handling. + * + * TODO: it would be nice if a DRAM pointer could be specified + * here. + * + * XXXRW: Pick up pieces here. + */ + + /* + * Search for a parens; if none, then it's just a path. + * Otherwise, it's a devicename. + */ + arg--; + q = strsep(&arg, ":"); + if (arg != NULL) { + len = strlen(q); + if (len < 2) { + printf("Invalid device: name too short\n"); + return (-1); + } + + /* + * First, handle one-digit unit. + */ + unit = q[len-1]; + if (unit < '0' || unit > '9') { + printf("Invalid device: invalid unit %c\n", + unit); + return (-1); + } + unit -= '0'; + q[len-1] = '\0'; + + /* + * Next, find matching device. + */ + for (i = 0; i < dev_nm_count; i++) { + if (strcmp(q, dev_nm[i]) == 0) + break; + } + if (i == dev_nm_count) { + printf("Invalid device: no driver match\n"); + return (-1); + } + dsk.type = i; + dsk.unitptr = unit; /* Someday: also a DRAM pointer? */ + } else + arg = q; + if ((i = ep - arg)) { + if ((size_t)i >= sizeof(knamebuf)) + return -1; + memcpy(knamebuf, arg, i + 1); + kname = knamebuf; + } + } + arg = p; + } + return 0; +} + +static int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + + /* XXXRW: eventually, we may want to pass 'drive' and 'unit' here. */ + switch (dsk.type) { + case BOOTINFO_DEV_TYPE_CFI: + return (cfi_read(buf, lba, nblk)); + + case BOOTINFO_DEV_TYPE_SDCARD: + return (altera_sdcard_read(buf, lba, nblk)); + + default: + return (-1); + } +} + +static int +dskread(void *buf, unsigned lba, unsigned nblk) +{ +#if 0 + /* + * XXXRW: For now, assume no partition table around the file system; it's + * just in raw flash. + */ + struct dos_partition *dp; + struct disklabel *d; + char *sec; + unsigned i; + uint8_t sl; + + if (!dsk_meta) { + sec = dmadat->secbuf; + dsk.start = 0; + if (drvread(sec, DOSBBSECTOR, 1)) + return -1; + dp = (void *)(sec + DOSPARTOFF); + sl = dsk.slice; + if (sl < BASE_SLICE) { + for (i = 0; i < NDOSPART; i++) + if (dp[i].dp_typ == DOSPTYP_386BSD && + (dp[i].dp_flag & 0x80 || sl < BASE_SLICE)) { + sl = BASE_SLICE + i; + if (dp[i].dp_flag & 0x80 || + dsk.slice == COMPATIBILITY_SLICE) + break; + } + if (dsk.slice == WHOLE_DISK_SLICE) + dsk.slice = sl; + } + if (sl != WHOLE_DISK_SLICE) { + if (sl != COMPATIBILITY_SLICE) + dp += sl - BASE_SLICE; + if (dp->dp_typ != DOSPTYP_386BSD) { + printf("Invalid %s\n", "slice"); + return -1; + } + dsk.start = le32toh(dp->dp_start); + } + if (drvread(sec, dsk.start + LABELSECTOR, 1)) + return -1; + d = (void *)(sec + LABELOFFSET); + if (le32toh(d->d_magic) != DISKMAGIC || + le32toh(d->d_magic2) != DISKMAGIC) { + if (dsk.part != RAW_PART) { + printf("Invalid %s\n", "label"); + return -1; + } + } else { + if (!dsk.init) { + if (le16toh(d->d_type) == DTYPE_SCSI) + dsk.type = TYPE_DA; + dsk.init++; + } + if (dsk.part >= le16toh(d->d_npartitions) || + !(le32toh(d->d_partitions[dsk.part].p_size))) { + printf("Invalid %s\n", "partition"); + return -1; + } + dsk.start += le32toh(d->d_partitions[dsk.part].p_offset); + dsk.start -= le32toh(d->d_partitions[RAW_PART].p_offset); + } + } + return drvread(buf, dsk.start + lba, nblk); +#else + return drvread(buf, lba, nblk); +#endif +} + +void +putchar(int c) +{ + if (c == '\n') + xputc('\r'); + xputc(c); +} + +static int +xputc(int c) +{ + if (ioctrl & IO_KEYBOARD) + beri_putc(c); +#if 0 + if (ioctrl & IO_SERIAL) + sio_putc(c); +#endif + return c; +} + +static int +xgetc(int fn) +{ + if (OPT_CHECK(RBX_NOINTR)) + return 0; + for (;;) { + if (ioctrl & IO_KEYBOARD && keyhit(0)) + return fn ? 1 : beri_getc(); +#if 0 + if (ioctrl & IO_SERIAL && sio_ischar()) + return fn ? 1 : sio_getc(); +#endif + if (fn) + return 0; + } +} + +int +getchar(void) +{ + + return xgetc(0); +} + +void +exit(int code) +{ + + printf("error: loader exit\n"); + while (1); + __unreachable(); +} diff --git a/stand/mips/beri/boot2/flashboot.ldscript b/stand/mips/beri/boot2/flashboot.ldscript new file mode 100644 index 000000000000..4d61438bd9b8 --- /dev/null +++ b/stand/mips/beri/boot2/flashboot.ldscript @@ -0,0 +1,65 @@ +/*- + * Copyright (c) 2011-2014 Robert N. M. Watson + * All rights reserved. + * + * This software was developed by SRI International and the University of + * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) + * ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. *** 3373 LINES SKIPPED *** From nobody Wed Jan 25 04:45:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1rrR55Jwz3bZJD; Wed, 25 Jan 2023 04:45: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 4P1rrR4Bpfz4Lqs; Wed, 25 Jan 2023 04:45:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SiEHAQst6a/a5S8TBXaPpymapZCUz7G5SeqsToJnKiI=; b=maoFxYi7FztYnk3z3pGUspVwzBgS0gyOS8+fEnbsttGOwwwkjFCNkEm54fNPX4OQg/wCuv MWDiaI1LCN0aD1/z7aDPjmEOl73yhGE6oi1Qi3WmFLEnpRLv9rBTf458oHVNuqDMlRkF3I WYq6e0SuRgV/2wzsLzO7JsZExrb5jM2h3FUJDpqk3cwd5wOquj7HGtkyXKWN3VDz4swIPI Mrg3bOR5QF4XreEGdU/BRwGaupycaI4kwiF4a6CNhbMGCGuS4CJsX41dQY+HsaXFxL3Gyb mg7iNlMZ3Q+OHXNwWzRb/PjH53iJ33Hd7sFS0aCFhcToD8vqlQDywoG2ixuQSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SiEHAQst6a/a5S8TBXaPpymapZCUz7G5SeqsToJnKiI=; b=Ye7cKJcZUAB21zl3BcSDNTBzPVLBwoVDz0+2U+27fsYHl6XuEPlnChHs8LuZM0NDJUd/OA 7lF3V6J1WlkAvceruNwVrt/V+U4PddhBu3Wl7Y3ZxXkyyi4jFjpHrlunvb7qPyMw0EsCrP IHnXhnOXbfNiSlpA+XansNK1+Gidc/OBlXkxsu4r/QzV3jWgF8wDJlIpqqmfCyTYS+Ki29 LS6jIdUNNuG+Yxchf/Pq5o0tZHZGlaEH3JdKaqVTnC7CKmcyp5QDBj2tfFOiy5x6bFvzW/ 058CpGJPPNCazLbEJA3W3VkshrorxB56O7Tr/96U+XCdMgznJ1iU4Lb49WUH1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674621959; a=rsa-sha256; cv=none; b=u+ND1I8+uGs11CH9/+zkKSMtH1JUZurER21H9D3bmcjtP4POTJwenVMaTnkWW/wFZs2faW +vCjBj9nI9Xwx6qvaDc70nSleY38Lq/ccWzb5QMQYTdHWOhIsF0yT8VQUeqtO+qN/udb9v NDs7FlH+CcJAY+Yydq3X59BqszOubQgNhMLO6J0bXLhfsye7bAGnqStiT4wItx6lpbRjFr pRJgh+VLvzjlC1FNYkObz2GIhyEd0axxCg3Btg8Gv1Vfz+vNz0EjQOaQPSVXbbEsz3jypP gEInsqMsV7S9ziDMk8JNo1JTJ3o2bNP6SK78QHdtCpyPWbVBNC/Xc0F5mGvrRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1rrR33VzzcBw; Wed, 25 Jan 2023 04:45:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P4jxiM053370; Wed, 25 Jan 2023 04:45:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P4jxAp053369; Wed, 25 Jan 2023 04:45:59 GMT (envelope-from git) Date: Wed, 25 Jan 2023 04:45:59 GMT Message-Id: <202301250445.30P4jxAp053369@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: b08ee044928e - stable/13 - Revert "Bump the FreeBSD kernel version in kernel boot shim." List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b08ee044928e59ace6d1e0f9a9a4e9478c84b3cc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b08ee044928e59ace6d1e0f9a9a4e9478c84b3cc commit b08ee044928e59ace6d1e0f9a9a4e9478c84b3cc Author: Warner Losh AuthorDate: 2023-01-25 03:56:41 +0000 Commit: Warner Losh CommitDate: 2023-01-25 03:56:41 +0000 Revert "Bump the FreeBSD kernel version in kernel boot shim." This should not have been merged. This reverts commit 8cc2156f85bb5cd0c4bae6882b72b215281b1fc5. Sponsored by: Netflix --- stand/kshim/bsd_kernel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kshim/bsd_kernel.h b/stand/kshim/bsd_kernel.h index a5653667da53..18ac71e1d7ff 100644 --- a/stand/kshim/bsd_kernel.h +++ b/stand/kshim/bsd_kernel.h @@ -32,7 +32,7 @@ #endif #undef __FreeBSD_version -#define __FreeBSD_version 1400000 +#define __FreeBSD_version 1300000 #include #include From nobody Wed Jan 25 04:46:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1rrT1M1yz3bZNr; Wed, 25 Jan 2023 04:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1rrS4vcLz4M2S; Wed, 25 Jan 2023 04:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jejl2EA1uNkMHevFEM3VTx2b1DAl9FXHBCiKDv06maM=; b=U7JEC/yKrXEVdjdnePq4M70gYVbpPyczd4LQGPPJk8IgZo34IVijUULYD9Rj0ZCWwgeWEa 6FuWZX3sSdp463VFq1uwO2T/QwSFAJaP/z7ayvrYQLhnJPqL29G9kwrpg3b81t7w2GhWqT maXoGTEsZeHqOToWs+gQTNWaJTNpvMwztWnlBzhzKcbrvffRiaX81uNbfXjz6ALuh6rpUc 2c5j0/TlHZoTZu8/gp4enqnP4V/eSxwS4/gJstGZUg/OgGonIx8dihDrowwin3cC/QO6Nr 2pNoUCrqMKMrBiLi2QdCOwl5QQ8Yr2vHfaHhFKNxD4uJw+jdrNLE27pK5tTOBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jejl2EA1uNkMHevFEM3VTx2b1DAl9FXHBCiKDv06maM=; b=b6qJg9NlXoN2CiiTkHf/O+ZciSPU275blpOnCR6fucUTHHjzRFfelzy1RkA60NiRzhLJyx JSBOrs2cHIF4YTxZd2liLyOFnY93LhLgnn4vZniiVPxzWqlXsp0ZDJs9Sl2j+tlVViQHpT cbBxQAVzPzSELuM3St0oJ4vxFTnOlm2Y0kzFuOOCsgu56oatwTFfJNtyyX4M4I4Z18/kxH 8IHlupR1hd9kz0/duIUw+Xt4d96FF4sP++GTb5QJJczFy2m3w5uyzeo9Got2cjbhHpXFw9 kvI73UDIyvcF6MLIJTG+TizXkj4/GSNz8gQMXdCvBMNjIAU+CYdkb6AXt7SVzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674621960; a=rsa-sha256; cv=none; b=B9XdNJQvkzkWE3V+yfiChlgLJEvwrCH8WQt1QdN0BnYZ4ZGq57bgrGx5bpNKbVwoq5Zj6x gWfx3U9H4rxw16bpfwoGbMxDtWWNwYzcITM7SO/iYhjf3tCcPe6fEVGRJE9955xLQnE8I5 0u5yd6o0m3AXdLzZbXcOjidC5QcIctJBCK6Ym21FIqILM43HroDA/2aic364WfLhysL7AC rvDXsGLaHXRMNXdCDwDiOLg424UvO556mFAr3Kp3qoaefrUP7zxMNhEsfzJwSC0Gm7KkI6 hz4L9qeY1xS804ZJ0ZAbZhBJGhpqGutjmkaqYgXjC2YHVvMqBJJJdmxSDC34cQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1rrS3yCVzcLX; Wed, 25 Jan 2023 04:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P4k0Rn053408; Wed, 25 Jan 2023 04:46:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P4k0YH053407; Wed, 25 Jan 2023 04:46:00 GMT (envelope-from git) Date: Wed, 25 Jan 2023 04:46:00 GMT Message-Id: <202301250446.30P4k0YH053407@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: b02419fc409c - stable/13 - Revert "mips: remove saf1761" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b02419fc409c4857ef263b30f823674c6f6d834e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b02419fc409c4857ef263b30f823674c6f6d834e commit b02419fc409c4857ef263b30f823674c6f6d834e Author: Warner Losh AuthorDate: 2023-01-25 04:00:23 +0000 Commit: Warner Losh CommitDate: 2023-01-25 04:00:23 +0000 Revert "mips: remove saf1761" Mips is still in stable/13, so this should not have been merged. This reverts commit 622ab2c4834068312b6cd33fd7ac961f31240350. Sponsored by: Netflix --- stand/usb/usbcore.mk | 8 + sys/dev/usb/controller/saf1761_otg.c | 3657 +++++++++++++++++++++++++++++ sys/dev/usb/controller/saf1761_otg.h | 175 ++ sys/dev/usb/controller/saf1761_otg_boot.c | 140 ++ sys/dev/usb/controller/saf1761_otg_fdt.c | 269 +++ sys/dev/usb/controller/saf1761_otg_reg.h | 274 +++ sys/modules/usb/Makefile | 9 +- sys/modules/usb/saf1761otg/Makefile | 42 + 8 files changed, 4573 insertions(+), 1 deletion(-) diff --git a/stand/usb/usbcore.mk b/stand/usb/usbcore.mk index ae80d06a24e7..7e0cc989228b 100644 --- a/stand/usb/usbcore.mk +++ b/stand/usb/usbcore.mk @@ -126,6 +126,14 @@ CFLAGS += -DUSB_PCI_PROBE_LIST="\"uss820dci\"" KSRCS+= uss820dci.c .endif +.if defined(HAVE_SAF1761OTG) +CFLAGS += -DUSB_PCI_PROBE_LIST="\"saf1761otg\"" +CFLAGS += -DUSB_PCI_MEMORY_ADDRESS=0x900000007f100000ULL +CFLAGS += -DUSB_PCI_MEMORY_SIZE=0x40000U +KSRCS+= saf1761_otg.c +KSRCS+= saf1761_otg_boot.c +.endif + # # USB core and templates # diff --git a/sys/dev/usb/controller/saf1761_otg.c b/sys/dev/usb/controller/saf1761_otg.c new file mode 100644 index 000000000000..f5725a3cb48a --- /dev/null +++ b/sys/dev/usb/controller/saf1761_otg.c @@ -0,0 +1,3657 @@ +/* $FreeBSD$ */ +/*- + * Copyright (c) 2014 Hans Petter Selasky + * All rights reserved. + * + * This software was developed by SRI International and the University of + * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) + * ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * This file contains the driver for the SAF1761 series USB OTG + * controller. + * + * Datasheet is available from: + * http://www.nxp.com/products/automotive/multimedia/usb/SAF1761BE.html + */ + +#ifdef USB_GLOBAL_INCLUDE_FILE +#include USB_GLOBAL_INCLUDE_FILE +#else +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define USB_DEBUG_VAR saf1761_otg_debug + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#endif /* USB_GLOBAL_INCLUDE_FILE */ + +#include +#include + +#define SAF1761_OTG_BUS2SC(bus) \ + ((struct saf1761_otg_softc *)(((uint8_t *)(bus)) - \ + ((uint8_t *)&(((struct saf1761_otg_softc *)0)->sc_bus)))) + +#define SAF1761_OTG_PC2UDEV(pc) \ + (USB_DMATAG_TO_XROOT((pc)->tag_parent)->udev) + +#define SAF1761_DCINTERRUPT_THREAD_IRQ \ + (SOTG_DCINTERRUPT_IEVBUS | SOTG_DCINTERRUPT_IEBRST | \ + SOTG_DCINTERRUPT_IERESM | SOTG_DCINTERRUPT_IESUSP) + +#ifdef USB_DEBUG +static int saf1761_otg_debug = 0; +static int saf1761_otg_forcefs = 0; + +static +SYSCTL_NODE(_hw_usb, OID_AUTO, saf1761_otg, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "USB SAF1761 DCI"); + +SYSCTL_INT(_hw_usb_saf1761_otg, OID_AUTO, debug, CTLFLAG_RWTUN, + &saf1761_otg_debug, 0, "SAF1761 DCI debug level"); +SYSCTL_INT(_hw_usb_saf1761_otg, OID_AUTO, forcefs, CTLFLAG_RWTUN, + &saf1761_otg_forcefs, 0, "SAF1761 DCI force FULL speed"); +#endif + +#define SAF1761_OTG_INTR_ENDPT 1 + +/* prototypes */ + +static const struct usb_bus_methods saf1761_otg_bus_methods; +static const struct usb_pipe_methods saf1761_otg_non_isoc_methods; +static const struct usb_pipe_methods saf1761_otg_device_isoc_methods; +static const struct usb_pipe_methods saf1761_otg_host_isoc_methods; + +static saf1761_otg_cmd_t saf1761_host_setup_tx; +static saf1761_otg_cmd_t saf1761_host_bulk_data_rx; +static saf1761_otg_cmd_t saf1761_host_bulk_data_tx; +static saf1761_otg_cmd_t saf1761_host_intr_data_rx; +static saf1761_otg_cmd_t saf1761_host_intr_data_tx; +static saf1761_otg_cmd_t saf1761_host_isoc_data_rx; +static saf1761_otg_cmd_t saf1761_host_isoc_data_tx; +static saf1761_otg_cmd_t saf1761_device_setup_rx; +static saf1761_otg_cmd_t saf1761_device_data_rx; +static saf1761_otg_cmd_t saf1761_device_data_tx; +static saf1761_otg_cmd_t saf1761_device_data_tx_sync; +static void saf1761_otg_device_done(struct usb_xfer *, usb_error_t); +static void saf1761_otg_do_poll(struct usb_bus *); +static void saf1761_otg_standard_done(struct usb_xfer *); +static void saf1761_otg_intr_set(struct usb_xfer *, uint8_t); +static void saf1761_otg_root_intr(struct saf1761_otg_softc *); +static void saf1761_otg_enable_psof(struct saf1761_otg_softc *, uint8_t); + +/* + * Here is a list of what the SAF1761 chip can support. The main + * limitation is that the sum of the buffer sizes must be less than + * 8192 bytes. + */ +static const struct usb_hw_ep_profile saf1761_otg_ep_profile[] = { + [0] = { + .max_in_frame_size = 64, + .max_out_frame_size = 64, + .is_simplex = 0, + .support_control = 1, + }, + [1] = { + .max_in_frame_size = SOTG_HS_MAX_PACKET_SIZE, + .max_out_frame_size = SOTG_HS_MAX_PACKET_SIZE, + .is_simplex = 0, + .support_interrupt = 1, + .support_bulk = 1, + .support_isochronous = 1, + .support_in = 1, + .support_out = 1, + }, +}; + +static void +saf1761_otg_get_hw_ep_profile(struct usb_device *udev, + const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) +{ + if (ep_addr == 0) { + *ppf = saf1761_otg_ep_profile + 0; + } else if (ep_addr < 8) { + *ppf = saf1761_otg_ep_profile + 1; + } else { + *ppf = NULL; + } +} + +static void +saf1761_otg_pull_up(struct saf1761_otg_softc *sc) +{ + /* activate pullup on D+, if possible */ + + if (!sc->sc_flags.d_pulled_up && sc->sc_flags.port_powered) { + DPRINTF("\n"); + + sc->sc_flags.d_pulled_up = 1; + } +} + +static void +saf1761_otg_pull_down(struct saf1761_otg_softc *sc) +{ + /* release pullup on D+, if possible */ + + if (sc->sc_flags.d_pulled_up) { + DPRINTF("\n"); + + sc->sc_flags.d_pulled_up = 0; + } +} + +static void +saf1761_otg_wakeup_peer(struct saf1761_otg_softc *sc) +{ + uint16_t temp; + + if (!(sc->sc_flags.status_suspend)) + return; + + DPRINTFN(5, "\n"); + + temp = SAF1761_READ_LE_4(sc, SOTG_MODE); + SAF1761_WRITE_LE_4(sc, SOTG_MODE, temp | SOTG_MODE_SNDRSU); + SAF1761_WRITE_LE_4(sc, SOTG_MODE, temp & ~SOTG_MODE_SNDRSU); + + /* Wait 8ms for remote wakeup to complete. */ + usb_pause_mtx(&sc->sc_bus.bus_mtx, hz / 125); +} + +static uint8_t +saf1761_host_channel_alloc(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t map; + int x; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) + return (0); + + /* check if device is suspended */ + if (SAF1761_OTG_PC2UDEV(td->pc)->flags.self_suspended != 0) + return (1); /* busy - cannot transfer data */ + + switch (td->ep_type) { + case UE_INTERRUPT: + map = ~(sc->sc_host_intr_map | + sc->sc_host_intr_busy_map[0] | + sc->sc_host_intr_busy_map[1]); + /* find first set bit */ + x = ffs(map) - 1; + if (x < 0 || x > 31) + break; + sc->sc_host_intr_map |= (1U << x); + td->channel = 32 + x; + return (0); + case UE_ISOCHRONOUS: + map = ~(sc->sc_host_isoc_map | + sc->sc_host_isoc_busy_map[0] | + sc->sc_host_isoc_busy_map[1]); + /* find first set bit */ + x = ffs(map) - 1; + if (x < 0 || x > 31) + break; + sc->sc_host_isoc_map |= (1U << x); + td->channel = x; + return (0); + default: + map = ~(sc->sc_host_async_map | + sc->sc_host_async_busy_map[0] | + sc->sc_host_async_busy_map[1]); + /* find first set bit */ + x = ffs(map) - 1; + if (x < 0 || x > 31) + break; + sc->sc_host_async_map |= (1U << x); + td->channel = 64 + x; + return (0); + } + return (1); +} + +static void +saf1761_host_channel_free(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t x; + + if (td->channel >= SOTG_HOST_CHANNEL_MAX) + return; + + switch (td->ep_type) { + case UE_INTERRUPT: + x = td->channel - 32; + td->channel = SOTG_HOST_CHANNEL_MAX; + sc->sc_host_intr_map &= ~(1U << x); + sc->sc_host_intr_suspend_map &= ~(1U << x); + sc->sc_host_intr_busy_map[0] |= (1U << x); + SAF1761_WRITE_LE_4(sc, SOTG_INT_PTD_SKIP_PTD, + (~sc->sc_host_intr_map) | sc->sc_host_intr_suspend_map); + break; + case UE_ISOCHRONOUS: + x = td->channel; + td->channel = SOTG_HOST_CHANNEL_MAX; + sc->sc_host_isoc_map &= ~(1U << x); + sc->sc_host_isoc_suspend_map &= ~(1U << x); + sc->sc_host_isoc_busy_map[0] |= (1U << x); + SAF1761_WRITE_LE_4(sc, SOTG_ISO_PTD_SKIP_PTD, + (~sc->sc_host_isoc_map) | sc->sc_host_isoc_suspend_map); + break; + default: + x = td->channel - 64; + td->channel = SOTG_HOST_CHANNEL_MAX; + sc->sc_host_async_map &= ~(1U << x); + sc->sc_host_async_suspend_map &= ~(1U << x); + sc->sc_host_async_busy_map[0] |= (1U << x); + SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, + (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); + break; + } + saf1761_otg_enable_psof(sc, 1); +} + +static uint32_t +saf1761_peek_host_status_le_4(struct saf1761_otg_softc *sc, uint32_t offset) +{ + uint32_t x = 0; + while (1) { + uint32_t retval; + + SAF1761_WRITE_LE_4(sc, SOTG_MEMORY_REG, offset); + SAF1761_90NS_DELAY(sc); /* read prefetch time is 90ns */ + retval = SAF1761_READ_LE_4(sc, offset); + if (retval != 0) + return (retval); + if (++x == 8) { + DPRINTF("STAUS is zero at offset 0x%x\n", offset); + break; + } + } + return (0); +} + +static void +saf1761_read_host_memory(struct saf1761_otg_softc *sc, + struct saf1761_otg_td *td, uint32_t len) +{ + struct usb_page_search buf_res; + uint32_t offset; + uint32_t count; + + if (len == 0) + return; + + offset = SOTG_DATA_ADDR(td->channel); + SAF1761_WRITE_LE_4(sc, SOTG_MEMORY_REG, offset); + SAF1761_90NS_DELAY(sc); /* read prefetch time is 90ns */ + + /* optimised read first */ + while (len > 0) { + usbd_get_page(td->pc, td->offset, &buf_res); + + /* get correct length */ + if (buf_res.length > len) + buf_res.length = len; + + /* check buffer alignment */ + if (((uintptr_t)buf_res.buffer) & 3) + break; + + count = buf_res.length & ~3; + if (count == 0) + break; + + bus_space_read_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, + offset, buf_res.buffer, count / 4); + + len -= count; + offset += count; + + /* update remainder and offset */ + td->remainder -= count; + td->offset += count; + } + + if (len > 0) { + /* use bounce buffer */ + bus_space_read_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, + offset, sc->sc_bounce_buffer, (len + 3) / 4); + usbd_copy_in(td->pc, td->offset, + sc->sc_bounce_buffer, len); + + /* update remainder and offset */ + td->remainder -= len; + td->offset += len; + } +} + +static void +saf1761_write_host_memory(struct saf1761_otg_softc *sc, + struct saf1761_otg_td *td, uint32_t len) +{ + struct usb_page_search buf_res; + uint32_t offset; + uint32_t count; + + if (len == 0) + return; + + offset = SOTG_DATA_ADDR(td->channel); + + /* optimised write first */ + while (len > 0) { + usbd_get_page(td->pc, td->offset, &buf_res); + + /* get correct length */ + if (buf_res.length > len) + buf_res.length = len; + + /* check buffer alignment */ + if (((uintptr_t)buf_res.buffer) & 3) + break; + + count = buf_res.length & ~3; + if (count == 0) + break; + + bus_space_write_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, + offset, buf_res.buffer, count / 4); + + len -= count; + offset += count; + + /* update remainder and offset */ + td->remainder -= count; + td->offset += count; + } + if (len > 0) { + /* use bounce buffer */ + usbd_copy_out(td->pc, td->offset, sc->sc_bounce_buffer, len); + bus_space_write_region_4((sc)->sc_io_tag, (sc)->sc_io_hdl, + offset, sc->sc_bounce_buffer, (len + 3) / 4); + + /* update remainder and offset */ + td->remainder -= len; + td->offset += len; + } +} + +static uint8_t +saf1761_host_setup_tx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t pdt_addr; + uint32_t status; + uint32_t count; + uint32_t temp; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) { + pdt_addr = SOTG_PTD(td->channel); + + status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); + + DPRINTFN(5, "STATUS=0x%08x\n", status); + + if (status & SOTG_PTD_DW3_ACTIVE) { + goto busy; + } else if (status & SOTG_PTD_DW3_HALTED) { + td->error_any = 1; + } + goto complete; + } + if (saf1761_host_channel_alloc(sc, td)) + goto busy; + + count = 8; + + if (count != td->remainder) { + td->error_any = 1; + goto complete; + } + + saf1761_write_host_memory(sc, td, count); + + pdt_addr = SOTG_PTD(td->channel); + + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, 0); + + temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | SOTG_PTD_DW3_CERR_3; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); + + temp = SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); + + temp = td->dw1_value | (2 << 10) /* SETUP PID */ | (td->ep_index >> 1); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); + + temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | + (td->max_packet_size << 18) /* wMaxPacketSize */ | + (count << 3) /* transfer count */ | + SOTG_PTD_DW0_VALID; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); + + /* activate PTD */ + SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, + (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); + + td->toggle = 1; +busy: + return (1); /* busy */ +complete: + saf1761_host_channel_free(sc, td); + return (0); /* complete */ +} + +static uint8_t +saf1761_host_bulk_data_rx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t pdt_addr; + uint32_t temp; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) { + uint32_t status; + uint32_t count; + uint8_t got_short; + + pdt_addr = SOTG_PTD(td->channel); + + status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); + + DPRINTFN(5, "STATUS=0x%08x\n", status); + + if (status & SOTG_PTD_DW3_ACTIVE) { + temp = saf1761_peek_host_status_le_4(sc, + pdt_addr + SOTG_PTD_DW0); + if (temp & SOTG_PTD_DW0_VALID) { + goto busy; + } else { + status = saf1761_peek_host_status_le_4(sc, + pdt_addr + SOTG_PTD_DW3); + + /* check if still active */ + if (status & SOTG_PTD_DW3_ACTIVE) { + saf1761_host_channel_free(sc, td); + goto retry; + } else if (status & SOTG_PTD_DW3_HALTED) { + if (!(status & SOTG_PTD_DW3_ERRORS)) + td->error_stall = 1; + td->error_any = 1; + goto complete; + } + } + } else if (status & SOTG_PTD_DW3_HALTED) { + if (!(status & SOTG_PTD_DW3_ERRORS)) + td->error_stall = 1; + td->error_any = 1; + goto complete; + } + if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) + count = (status & SOTG_PTD_DW3_XFER_COUNT_SPLIT); + else + count = (status & SOTG_PTD_DW3_XFER_COUNT_HS); + got_short = 0; + + /* verify the packet byte count */ + if (count != td->max_packet_size) { + if (count < td->max_packet_size) { + /* we have a short packet */ + td->short_pkt = 1; + got_short = 1; + } else { + /* invalid USB packet */ + td->error_any = 1; + goto complete; + } + } + td->toggle ^= 1; + + /* verify the packet byte count */ + if (count > td->remainder) { + /* invalid USB packet */ + td->error_any = 1; + goto complete; + } + + saf1761_read_host_memory(sc, td, count); + + /* check if we are complete */ + if ((td->remainder == 0) || got_short) { + if (td->short_pkt) + goto complete; + /* else need to receive a zero length packet */ + } + saf1761_host_channel_free(sc, td); + } +retry: + if (saf1761_host_channel_alloc(sc, td)) + goto busy; + + /* set toggle, if any */ + if (td->set_toggle) { + td->set_toggle = 0; + td->toggle = 1; + } + + /* receive one more packet */ + + pdt_addr = SOTG_PTD(td->channel); + + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, 0); + + temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | + SOTG_PTD_DW3_CERR_2; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); + + temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); + + temp = td->dw1_value | (1 << 10) /* IN-PID */ | (td->ep_index >> 1); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); + + temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | + (td->max_packet_size << 18) /* wMaxPacketSize */ | + (td->max_packet_size << 3) /* transfer count */ | + SOTG_PTD_DW0_VALID; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); + + /* activate PTD */ + SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, + (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); +busy: + return (1); /* busy */ +complete: + saf1761_host_channel_free(sc, td); + return (0); /* complete */ +} + +static uint8_t +saf1761_host_bulk_data_tx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t pdt_addr; + uint32_t temp; + uint32_t count; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) { + uint32_t status; + + pdt_addr = SOTG_PTD(td->channel); + + status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); + + DPRINTFN(5, "STATUS=0x%08x\n", status); + + if (status & SOTG_PTD_DW3_ACTIVE) { + goto busy; + } else if (status & SOTG_PTD_DW3_HALTED) { + if (!(status & SOTG_PTD_DW3_ERRORS)) + td->error_stall = 1; + td->error_any = 1; + goto complete; + } + /* check remainder */ + if (td->remainder == 0) { + if (td->short_pkt) + goto complete; + /* else we need to transmit a short packet */ + } + saf1761_host_channel_free(sc, td); + } + if (saf1761_host_channel_alloc(sc, td)) + goto busy; + + count = td->max_packet_size; + if (td->remainder < count) { + /* we have a short packet */ + td->short_pkt = 1; + count = td->remainder; + } + + saf1761_write_host_memory(sc, td, count); + + /* set toggle, if any */ + if (td->set_toggle) { + td->set_toggle = 0; + td->toggle = 1; + } + + /* send one more packet */ + + pdt_addr = SOTG_PTD(td->channel); + + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, 0); + + temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | + SOTG_PTD_DW3_CERR_2; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); + + temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); + + temp = td->dw1_value | (0 << 10) /* OUT-PID */ | (td->ep_index >> 1); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); + + temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | + (td->max_packet_size << 18) /* wMaxPacketSize */ | + (count << 3) /* transfer count */ | + SOTG_PTD_DW0_VALID; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); + + /* activate PTD */ + SAF1761_WRITE_LE_4(sc, SOTG_ATL_PTD_SKIP_PTD, + (~sc->sc_host_async_map) | sc->sc_host_async_suspend_map); + + td->toggle ^= 1; +busy: + return (1); /* busy */ +complete: + saf1761_host_channel_free(sc, td); + return (0); /* complete */ +} + +static uint8_t +saf1761_host_intr_data_rx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t pdt_addr; + uint32_t temp; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) { + uint32_t status; + uint32_t count; + uint8_t got_short; + + pdt_addr = SOTG_PTD(td->channel); + + status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); + + DPRINTFN(5, "STATUS=0x%08x\n", status); + + if (status & SOTG_PTD_DW3_ACTIVE) { + goto busy; + } else if (status & SOTG_PTD_DW3_HALTED) { + if (!(status & SOTG_PTD_DW3_ERRORS)) + td->error_stall = 1; + td->error_any = 1; + goto complete; + } + if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) + count = (status & SOTG_PTD_DW3_XFER_COUNT_SPLIT); + else + count = (status & SOTG_PTD_DW3_XFER_COUNT_HS); + got_short = 0; + + /* verify the packet byte count */ + if (count != td->max_packet_size) { + if (count < td->max_packet_size) { + /* we have a short packet */ + td->short_pkt = 1; + got_short = 1; + } else { + /* invalid USB packet */ + td->error_any = 1; + goto complete; + } + } + td->toggle ^= 1; + + /* verify the packet byte count */ + if (count > td->remainder) { + /* invalid USB packet */ + td->error_any = 1; + goto complete; + } + + saf1761_read_host_memory(sc, td, count); + + /* check if we are complete */ + if ((td->remainder == 0) || got_short) { + if (td->short_pkt) + goto complete; + /* else need to receive a zero length packet */ + } + saf1761_host_channel_free(sc, td); + } + if (saf1761_host_channel_alloc(sc, td)) + goto busy; + + /* set toggle, if any */ + if (td->set_toggle) { + td->set_toggle = 0; + td->toggle = 1; + } + + /* receive one more packet */ + + pdt_addr = SOTG_PTD(td->channel); + + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); + + if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) { + temp = (0xFC << td->uframe) & 0xFF; /* complete split */ + } else { + temp = 0; + } + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, temp); + + temp = (1U << td->uframe); /* start mask or start split */ + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, temp); + + temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | SOTG_PTD_DW3_CERR_3; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); + + temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8) | + (td->interval & 0xF8); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); + + temp = td->dw1_value | (1 << 10) /* IN-PID */ | (td->ep_index >> 1); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); + + temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | + (td->max_packet_size << 18) /* wMaxPacketSize */ | + (td->max_packet_size << 3) /* transfer count */ | + SOTG_PTD_DW0_VALID; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); + + /* activate PTD */ + SAF1761_WRITE_LE_4(sc, SOTG_INT_PTD_SKIP_PTD, + (~sc->sc_host_intr_map) | sc->sc_host_intr_suspend_map); +busy: + return (1); /* busy */ +complete: + saf1761_host_channel_free(sc, td); + return (0); /* complete */ +} + +static uint8_t +saf1761_host_intr_data_tx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t pdt_addr; + uint32_t temp; + uint32_t count; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) { + uint32_t status; + + pdt_addr = SOTG_PTD(td->channel); + + status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); + + DPRINTFN(5, "STATUS=0x%08x\n", status); + + if (status & SOTG_PTD_DW3_ACTIVE) { + goto busy; + } else if (status & SOTG_PTD_DW3_HALTED) { + if (!(status & SOTG_PTD_DW3_ERRORS)) + td->error_stall = 1; + td->error_any = 1; + goto complete; + } + + /* check remainder */ + if (td->remainder == 0) { + if (td->short_pkt) + goto complete; + /* else we need to transmit a short packet */ + } + saf1761_host_channel_free(sc, td); + } + if (saf1761_host_channel_alloc(sc, td)) + goto busy; + + count = td->max_packet_size; + if (td->remainder < count) { + /* we have a short packet */ + td->short_pkt = 1; + count = td->remainder; + } + + saf1761_write_host_memory(sc, td, count); + + /* set toggle, if any */ + if (td->set_toggle) { + td->set_toggle = 0; + td->toggle = 1; + } + + /* send one more packet */ + + pdt_addr = SOTG_PTD(td->channel); + + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW7, 0); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW6, 0); + + if (td->dw1_value & SOTG_PTD_DW1_ENABLE_SPLIT) { + temp = (0xFC << td->uframe) & 0xFF; /* complete split */ + } else { + temp = 0; + } + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW5, temp); + + temp = (1U << td->uframe); /* start mask or start split */ + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW4, temp); + + temp = SOTG_PTD_DW3_ACTIVE | (td->toggle << 25) | SOTG_PTD_DW3_CERR_3; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW3, temp); + + temp = (SOTG_HC_MEMORY_ADDR(SOTG_DATA_ADDR(td->channel)) << 8) | + (td->interval & 0xF8); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW2, temp); + + temp = td->dw1_value | (0 << 10) /* OUT-PID */ | (td->ep_index >> 1); + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW1, temp); + + temp = (td->ep_index << 31) | (1 << 29) /* pkt-multiplier */ | + (td->max_packet_size << 18) /* wMaxPacketSize */ | + (count << 3) /* transfer count */ | + SOTG_PTD_DW0_VALID; + SAF1761_WRITE_LE_4(sc, pdt_addr + SOTG_PTD_DW0, temp); + + /* activate PTD */ + SAF1761_WRITE_LE_4(sc, SOTG_INT_PTD_SKIP_PTD, + (~sc->sc_host_intr_map) | sc->sc_host_intr_suspend_map); + + td->toggle ^= 1; +busy: + return (1); /* busy */ +complete: + saf1761_host_channel_free(sc, td); + return (0); /* complete */ +} + +static uint8_t +saf1761_host_isoc_data_rx(struct saf1761_otg_softc *sc, struct saf1761_otg_td *td) +{ + uint32_t pdt_addr; + uint32_t temp; + + if (td->channel < SOTG_HOST_CHANNEL_MAX) { + uint32_t status; + uint32_t count; + + pdt_addr = SOTG_PTD(td->channel); + + status = saf1761_peek_host_status_le_4(sc, pdt_addr + SOTG_PTD_DW3); *** 3690 LINES SKIPPED *** From nobody Wed Jan 25 04:46:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1rrV015Fz3bZVP; Wed, 25 Jan 2023 04:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1rrT6JNLz4M2l; Wed, 25 Jan 2023 04:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUpbWvdEoIPKee0tyK406gwnwHb3BF6iw+FdeVK2oso=; b=Me5INY3hPQ6T8JGpzbBFr1keGr7efdvnE0HlK9c3ICSKG2NTaoXgh0sHYMnD97gNHtVbTc UWeO35/P3hTEeKc0ARu93f3UI3MyTcYJ+wMCTqLV3Zse72PK6NXvYvOEmr5DNlFg2d09g+ 44Dq0iMwklYn4+WJ3iP+dGpuzxU1T/Cs18omeF3ZpWb3JqZz7oq44LZxD3i5+6XlPllNsW 5yy3/PGo6/6FlKOvm9n6n3w5jmA+Mkijww0QR1TTeCDtbfoCc7aAaL4+In0ybFhIiPpBx9 xpVqdeOOHZJWodDFRG7C5PDy64l2rMK3YnfOZ38Ldz5Rr2UN99sG4eW/H1LNbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674621961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUpbWvdEoIPKee0tyK406gwnwHb3BF6iw+FdeVK2oso=; b=vPZ6NnZK58jULG+WDGB8ReEmb+8CgVYtF2wxBAXwmlstaggGddMZd7EtIVN+xDFuB+7jj2 tFJN+LAFE+NViyDRD5z8ZT1lqz4gUfJa4C6O8NuSW0RwaZNYO1B+x5fsfiRukArPa2v336 Fw3Z+kVWfJW14v1XFGu3lm52LSVEPmLb/hW9kUphboAxcXUKOM+hvPagRec/bNHP7Nyu2b QRhGuGsxcjYoMBfQ2VnZxUQvtRrHFm5x66MB/yiinYT3+UVQ94L/ck8jtfNMKJcfYhma1f zGifBS9eVU63W1ZNeo30C1bt7PN853q+KTDqDj1ktWh3o+SaQfKVtYEca7oUPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674621961; a=rsa-sha256; cv=none; b=sbOLZg+6y3Ngye6HT5M9SzALzXmb+PTmT1h9xzaTvRPVDhipfOmQEEZDynB02BRJKKja8M aQBGEr/c0bJxYOhEWnVjueBtvc01W1Pc63bGa5YXlu2Smqttt+x/HdH7Tz70FIVKju5IiN Np1K0kI+e43v2eJxUPx6AQby6sCvXUxzSAh38d6+rVUJau/N5hXe+iqzZeJTJhplxsYe2C 9Xfai6HMxT0G4srQSASYiIQONMmXZM3x6JqC2zQz+NWpePwqdR+b7VLPU17BTiIQrRC87b ex8FxkNH+lDVHdwMnD9ip1oPx/EQVeMBysPOFzFqWZHPTUYprErQOx9fQ5qMEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1rrT4sXxzc1F; Wed, 25 Jan 2023 04:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P4k1qt053432; Wed, 25 Jan 2023 04:46:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P4k1MP053431; Wed, 25 Jan 2023 04:46:01 GMT (envelope-from git) Date: Wed, 25 Jan 2023 04:46:01 GMT Message-Id: <202301250446.30P4k1MP053431@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: a72d533769ec - stable/13 - stand: mfc notes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a72d533769ecd68c6408e508785edf717ceb5b33 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a72d533769ecd68c6408e508785edf717ceb5b33 commit a72d533769ecd68c6408e508785edf717ceb5b33 Author: Warner Losh AuthorDate: 2023-01-25 04:19:48 +0000 Commit: Warner Losh CommitDate: 2023-01-25 04:40:22 +0000 stand: mfc notes MFCing stand is getting complicated. This file contains notes about merging from 14, in summary: o UFS changes have already been merged. o The ZFS changes, on the whole, cannot be merged because OpenZFS versions are different. o MIPS is still present in 13, so commits to tear down mips support. o Some of the 14 GELI changes depend on crypto changes not yet merged. o One change bumped the version to 14.x, and that shouldn't be merged. The hashes listed should not be merged, unless something changes. This is a direct commit to stable/13. --- stand/mfc-notes.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/stand/mfc-notes.txt b/stand/mfc-notes.txt new file mode 100644 index 000000000000..3d9c15a10c92 --- /dev/null +++ b/stand/mfc-notes.txt @@ -0,0 +1,31 @@ +Stand has been merged from main:4883f347f6ed. The following hashes can't be +merged for the reasons listed. + +b366ee4868bc already merged with ZFS +6f6fbfa3a835 too damn much in one commit, skipping +c03c5b1c8091 OpenZFS merge... so not relevant +e3aa18ad7178 OpenZFS merge... so not relevant +285f6ab665d7 zstd is different in stable/13, so not relevant +0e5ac0ad0384 zstd is different in stable/13, so not relevant +451ac17a5030 zstd is different in stable/13, so not relevant (though marginal) +119c786f7b5a zstd is different in stable/13, so not relevant but kinda desirable (check agian?) +75ad24775b68 blake3 -- not merging +4773d3425e62 comments conflict, I'm not sorting that out +d1fb0e1dc8ec applied accidentally because this restores a backout that was skipped +09ace5cefbd2 ZFS flag limiting depends on newer OpenZFS so not merged +1306a5dc0747 Standard ZFS_EARLY stuff depends on other things, so not merged +16ebddc9a72a comment about blake3 depends on blake3 supprot, which wasn't merged +b21582ee03ec ufs changes kirk already merged +4f0c9b76cf75 Depends on newer OpenZFS +e68866164212 UFS changes from Kirk... he merged the separately +6d645da0d49d also merged by kirk +c7046f76c2c0 blake workarounds merged +f993fff68979 sorting these is useless to merge if the lists aren't already the same +8a744de27eef let's leave firewire in place +0163de282e31 These depend on newer OpenZFS so not needed and conflicts +ed68931c3f9c geliboot: Use the multi-block functions for AES-XTS. +399b56c46c1c stand: delete zstd_shim.c -- dependent changes nor merged 119c786f7b5a +03bbe1845de7 mips is still in stable/13 +20b23ae74b2b mips is still in stable/13 +8cc2156f85bb We're not 14, yet +44796b7e822e beri uses this, it seems, and is still in stable/13 From nobody Wed Jan 25 07:48:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1wv22fzRz3byRY; Wed, 25 Jan 2023 07:48: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 4P1wv20wTzz3N5V; Wed, 25 Jan 2023 07:48:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674632910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s+hhl9dwVqbUJPqVyxC4pgDdSKtddoA5iM3nXOzTLHQ=; b=GgovM2y3UpJ/7gUIqlpeBQBxp5EXHpG5F9FAx7RMO8HDF0QQcPgAabRNUnPg19Ic2bKqUH D1y4Q10J3yN4S2Q49sdWzPFYY83vCTAQMb89We8UxF39XCSg54Pn/TI3jGofMcTwl/JDjl G54VvimEouflddjkNGPNJP+vfef6ko7XsSrEOX+mEUxXdMzQA4kkcTH+xVUhGIHarjfzDL AmRoGgn4KLirvDiG0b1FFR7jmGJ6ZeI+723ayz+g/rKWvRs8nz5Y+mV8isxUFkiMw9znGc 35SnE+RjL3BWd/B7mL8/tq85tbqhEVjzfNChiqJerSv4N0KxGh2hLhL9rR+5og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674632910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s+hhl9dwVqbUJPqVyxC4pgDdSKtddoA5iM3nXOzTLHQ=; b=EOCumgFnp2er4vnRXueEmjephMV/xDwlGUQ8wfU7xVC9U/BvI7adXWlYOnhzsJKvonbnev O4BO/QWCl53f8PhMKWLeNyXrmna9m/IkfBbbxraxIWKhgtL9S1FdmmmrhG/CZwEdx/c8Bv N/rvzjxsNq+GSTdnz5a5G/RyKkTsLmvQNXb/beejjbytRH8lsGcIMs703GhUe6UY3s6InT XmO3ez1hYGDj7PPZ+OfK9Hi55PBVbw3WRaAeHkXRxszdu7qGh1WypqY6Tadv+TLZcj8J4e Qb6yTrjePVH4u4xGKRWWthHJL3jbdSofPkO6Ih+6N6SqoeZWOQSLNRzqLzy+EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674632910; a=rsa-sha256; cv=none; b=VakrZkIJh0a92RYn6CAkOWQ/Yeo46TYoaa9JCwyVd6XCHqH/R2/8YiId2acuNv0kEQKBlu Jz8DIW5Q4VoMV2MEc3EoXQPdiLxG53KvrsutY6E8CSlph7J6XSIooJ39mrXJWGLIQMbhfG qmVzOwWv8cxfWZJor1HHlRagE1uss9K6Sak2s6oEPBxmlXNWKT+NkCwv0ro4FRbhIwthqX TmPalJSSDjxzOaaD8AFKzdsKB92PgrcKc7cs4Bf3+5QD/7E9q/z9BebFGPiQCQgyQbDCF/ Ac/XkteTZHg4LXjvK5s5RuEBwoBz6QstA8lTH3Ag6oBIRzT7fAniY7wuM42efQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1wv2005xzhDH; Wed, 25 Jan 2023 07:48:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P7mTZs013170; Wed, 25 Jan 2023 07:48:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P7mT58013169; Wed, 25 Jan 2023 07:48:29 GMT (envelope-from git) Date: Wed, 25 Jan 2023 07:48:29 GMT Message-Id: <202301250748.30P7mT58013169@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: d1cf19c70a6a - stable/13 - umodem: add quirk to ignore CDC_CM descriptor List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: d1cf19c70a6a1d34c1aa79eb584fb78bdfdb7a27 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=d1cf19c70a6a1d34c1aa79eb584fb78bdfdb7a27 commit d1cf19c70a6a1d34c1aa79eb584fb78bdfdb7a27 Author: Steffen Dirkwinkel AuthorDate: 2023-01-17 07:58:46 +0000 Commit: Corvin Köhne CommitDate: 2023-01-25 06:55:12 +0000 umodem: add quirk to ignore CDC_CM descriptor Some devices have CDC_CM descriptors that would point us to the wrong interfaces. Add a quirk to ignore those (prefering the CDC_UNION descriptor effectively) Reviewed by: manu MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37942 (cherry picked from commit 73c3e8b1dee6cd42de32287ea8a57762b961d8ee) --- share/man/man4/usb_quirk.4 | 2 ++ sys/dev/usb/quirk/usb_quirk.c | 1 + sys/dev/usb/quirk/usb_quirk.h | 1 + sys/dev/usb/serial/umodem.c | 4 +++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/share/man/man4/usb_quirk.4 b/share/man/man4/usb_quirk.4 index c176993bdbc3..892c85aa6fba 100644 --- a/share/man/man4/usb_quirk.4 +++ b/share/man/man4/usb_quirk.4 @@ -100,6 +100,8 @@ select configuration index 4 by default select configuration index 0 by default .It UQ_ASSUME_CM_OVER_DATA assume cm over data feature +.It UQ_IGNORE_CDC_CM +ignore cm descriptor .It UQ_WMT_IGNORE device should be ignored by wmt driver .El diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index f0133e3e4b9b..e35297b2340c 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -660,6 +660,7 @@ static const char *usb_quirk_str[USB_QUIRK_MAX] = { [UQ_CFG_INDEX_4] = "UQ_CFG_INDEX_4", [UQ_CFG_INDEX_0] = "UQ_CFG_INDEX_0", [UQ_ASSUME_CM_OVER_DATA] = "UQ_ASSUME_CM_OVER_DATA", + [UQ_IGNORE_CDC_CM] = "UQ_IGNORE_CDC_CM", [UQ_MSC_NO_TEST_UNIT_READY] = "UQ_MSC_NO_TEST_UNIT_READY", [UQ_MSC_NO_RS_CLEAR_UA] = "UQ_MSC_NO_RS_CLEAR_UA", [UQ_MSC_NO_START_STOP] = "UQ_MSC_NO_START_STOP", diff --git a/sys/dev/usb/quirk/usb_quirk.h b/sys/dev/usb/quirk/usb_quirk.h index 85bec036f84d..755465576684 100644 --- a/sys/dev/usb/quirk/usb_quirk.h +++ b/sys/dev/usb/quirk/usb_quirk.h @@ -66,6 +66,7 @@ enum { UQ_CFG_INDEX_4, /* select configuration index 4 by default */ UQ_CFG_INDEX_0, /* select configuration index 0 by default */ UQ_ASSUME_CM_OVER_DATA, /* assume cm over data feature */ + UQ_IGNORE_CDC_CM, /* ignore cm descriptor */ /* * USB Mass Storage Quirks. See "storage/umass.c" for a diff --git a/sys/dev/usb/serial/umodem.c b/sys/dev/usb/serial/umodem.c index c4aba1bdd3e2..ec7e3f21662d 100644 --- a/sys/dev/usb/serial/umodem.c +++ b/sys/dev/usb/serial/umodem.c @@ -361,7 +361,9 @@ umodem_attach(device_t dev) /* get the data interface number */ - cmd = umodem_get_desc(uaa, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM); + cmd = NULL; + if (!usb_test_quirk(uaa, UQ_IGNORE_CDC_CM)) + cmd = umodem_get_desc(uaa, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM); if ((cmd == NULL) || (cmd->bLength < sizeof(*cmd))) { cud = usbd_find_descriptor(uaa->device, NULL, From nobody Wed Jan 25 07:48:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1wv32jS8z3byQP; Wed, 25 Jan 2023 07:48: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 4P1wv31rtBz3Mxn; Wed, 25 Jan 2023 07:48:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674632911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iYLTnIyCYxAu4WbTlQoWLMWXp+0x1kn54HV9rI2AzVA=; b=p6wxTdK4YIjteVykbe0LtRb2HDBMx/kjnw/dlxnvVQl9ZbeGfxhy/qMDZXiPnKBYg7y+it cGpJ7XqFJEMeHpsxfnW6aeNNvqBIjCs0V4z9cUGspNiPe2cZuBZeaPevhYM8ArcgZ3rfaq zEWvVKhRhlMwmJWBesV0bP7Ow5G7uffEOT6FOpwVzweLAbhxMFQsjCJ6KK3FmF3oXnzAtx wYL5gIrHwQxMFFSEHx1xnXcoQKRDjwqvZV0YyDdEr/hiB8W+4+d8Ib8QNeVArsoL0decSA C/3lLVGtrcoJp5XuLk6ooOpM6wPikVpsa2bGmCdk32zr2pIwbABf4htH+hdcSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674632911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iYLTnIyCYxAu4WbTlQoWLMWXp+0x1kn54HV9rI2AzVA=; b=IpBc/ZRdsaWw9D0wSiVq2v9oTYOYV4Y9t3GQdUPfiNIb/2omGEW15HtVK4la2vxF9UkO+r z74vYn+uUgxjKlZkfZ8mjkGTpX7FjxkEWWkI235jyJURSsyo4XOBEpJgT3XpB44QDTUHvG ia2koyUcTHTI4iWjbHd5qmLDmFy7PCp6pCFZvUiAD4816xsxL4WWay0n8qqEpRnzfBzYyj O1TBwCpMqGWg3/m9BYiYBzezLUY90QQyFG8/1EivpTsb6FdTs5zhLNN6NBu8KvFf3uG7l/ taRwbG2pi/SdG9tI3q2XaMZtIOFEZIXgmrppqK2yydc4Ag+aBrXNXQTgsoH1Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674632911; a=rsa-sha256; cv=none; b=IxCDetD6fteZzRXIKgBfTo919vAXWrhndQPgpFAilLb2q3gXOZkD53oO23V1GVo2LO6eui XRKo9BW++nqUjk44z3xUefrapN2UqE9ZeQEc1jOTm7RdOejFBTCgadomwi+APWbkoE2B06 D8F8dG6hbKEXdQLztK+lnW/FUjes9Gch82MC0IRrIX64o2f57+B9Enub6v1e3DNwFSpflN vu3w2x8HWm3oPS7F2C8GLtyfR1+TACd7zTrh3/tYjDEeiCc5qvgsyS5QSoF9fdTznKtCr9 /HwPAQoeiuBr5xc48q2s7fHonWkH8qQxgYQdXudaymW2Z7zeJjMN/OCtoovn+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1wv30yH1zhY1; Wed, 25 Jan 2023 07:48:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P7mVdi013201; Wed, 25 Jan 2023 07:48:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P7mVBF013200; Wed, 25 Jan 2023 07:48:31 GMT (envelope-from git) Date: Wed, 25 Jan 2023 07:48:31 GMT Message-Id: <202301250748.30P7mVBF013200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 026b0ff652e3 - stable/13 - umodem: ignore CDC_CM descriptor for baltech smartcard reader List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 026b0ff652e327ff850e643a7ab8d78fa9e56412 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=026b0ff652e327ff850e643a7ab8d78fa9e56412 commit 026b0ff652e327ff850e643a7ab8d78fa9e56412 Author: Steffen Dirkwinkel AuthorDate: 2022-11-04 14:46:07 +0000 Commit: Corvin Köhne CommitDate: 2023-01-25 06:55:13 +0000 umodem: ignore CDC_CM descriptor for baltech smartcard reader The CDC_CM descriptor points to the wrong interface for serial port use. Ignore it to use the CDC_UNION descriptor. usbconfig dump (spec at: https://usb.org/sites/default/files/CDC1.2_WMC1.1_012011.zip): ugen0.2: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (300mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x13ad idProduct = 0xf019 bcdDevice = 0x0100 iManufacturer = 0x0001 iProduct = 0x0002 iSerialNumber = 0x0003 <45031910> bNumConfigurations = 0x0001 Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0064 bNumInterfaces = 0x0003 bConfigurationValue = 0x0001 iConfiguration = 0x0000 bmAttributes = 0x0080 bMaxPower = 0x0096 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0000 Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xd0, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x0040 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x08 bDescriptorType = 0x0b bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x08, 0x0b, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0002 bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0000 iInterface = 0x0000 Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 bDescriptorSubType = 0x00 RAW dump: 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01 Additional Descriptor bLength = 0x04 bDescriptorType = 0x24 bDescriptorSubType = 0x02 RAW dump: 0x00 | 0x04, 0x24, 0x02, 0x00 Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 bDescriptorSubType = 0x06 RAW dump: 0x00 | 0x05, 0x24, 0x06, 0x01, 0x02 Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x05, 0x24, 0x01, 0x00, 0x01 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x0010 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x000a bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0086 bmAttributes = 0x0002 wMaxPacketSize = 0x0040 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0006 bmAttributes = 0x0002 wMaxPacketSize = 0x0040 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Reviewed by: manu MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37942 (cherry picked from commit 8580e334b0757c8d55e51b8dc7fc4051521beedf) --- sys/dev/usb/quirk/usb_quirk.c | 1 + sys/dev/usb/usbdevs | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index e35297b2340c..3dd2aa735fb3 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -188,6 +188,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = { USB_QUIRK(CURITEL, UM150, 0x0000, 0xffff, UQ_ASSUME_CM_OVER_DATA), USB_QUIRK(CURITEL, UM175, 0x0000, 0xffff, UQ_ASSUME_CM_OVER_DATA), USB_QUIRK(VERTEX, VW110L, 0x0000, 0xffff, UQ_ASSUME_CM_OVER_DATA), + USB_QUIRK(BALTECH, SMARTCARDREADER, 0x0000, 0xffff, UQ_IGNORE_CDC_CM), /* USB Mass Storage Class Quirks */ USB_QUIRK_VP(USB_VENDOR_ASAHIOPTICAL, 0, UQ_MSC_NO_RS_CLEAR_UA, diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index fcacc1d8e83f..6960ac8a33e2 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -1337,6 +1337,7 @@ product AZUREWAVE RTL8192SU_5 0x3325 RTL8192SU /* Baltech products */ product BALTECH CARDREADER 0x9999 Card reader +product BALTECH SMARTCARDREADER 0xf019 SmartCard reader /* Bayer products */ product BAYER CONTOUR_CABLE 0x6001 FTDI compatible adapter From nobody Wed Jan 25 08:51:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1yJ34QW2z30ykm; Wed, 25 Jan 2023 08:51: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 4P1yJ33xndz3hRN; Wed, 25 Jan 2023 08:51:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674636707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ScFMG3cyjRjWZjiwdZXB4QFTLtYzSUD1C7v7qFSmTyY=; b=sQQ9cFP1/bGYNjEMstu6IDwbC9rryF/uMS0noR6Qr2mzWF+MefAQKSAVdG2b1kI+JLjcwk 9c7dXQKT867km5pIwv6lpM3Fx30FZVspFfu78C4x5EHfJOtZKoU7riAUy6+va857NhOYUE 3Jv2Y55YXN8SkImkUEChzvQpysrda8L4ty9Sl+guLsUdidJeaMoFc8bIriKmvhcrJFfVaH M00NJVZbA+LqV54rhYbXx1PhZxVCVskwfEJLfHh0nv2EK3QZnqstfRvHh8h64RSssEIP2G isHIXru6qG+q2uhnh4PbpwNF+p9KRGPhHfvJJhWtqHN25EgU4CgpJnrikjL+rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674636707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ScFMG3cyjRjWZjiwdZXB4QFTLtYzSUD1C7v7qFSmTyY=; b=NkAJGD+CCyszMYMLukiveAPKwJUt4Ms36WG7GF8T4S3+ax2sbqYOpjNEgQR5jbaCIKlrKo yYxGSfea2afWifwrT8GAcxk7caQG8oVcJEdn9C6JpbBrfgY8KkjfHzABBkCg3NTdFV9egz hh3jxmc9nUdc6+6jCPuGAEri/+Dxi5AotA6A6I8AwMYk+pBTs+uzF3WlpvrmolOYLEm1as b2prwfeCwc+tg+hTau+p0IHGIKglj6CFpmnU+pAyYAc2Wh6nMLLK08nrMb1vHWh66iKKTi dMgKihLtZV1S7/3RIuI7NLiYB/BUT6XcFTLu+elFZ1ogObTxQOeBzaef5IFEhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674636707; a=rsa-sha256; cv=none; b=wFDBTjibDeBssooBpwu54lcOJR7IQcwSDVOpldPOAWcbfPd3eR909UiIWNfSVSJ3w89ijT 6F0063RRSH10LhxZLw39MP9SQI7t94OpfmJa5nhPG/feHg+uxeWz/aPYbpLiXprbdPuPh/ tTMU2BoDeL1X+f5cypcMnqVw+BdF0Jzmcswy6+qffir9apI4mW6NdorjMdt9hYWa/DQgqJ hUMyu5p17ia/zZ/o5zjh6DtWce/ZbQifRhibk8sknyVDCNNGIgF7DMEGGazEtVCFGYY16x kl4xb2p9cOv/p+8Ckoe7ithuA0k3GAkc1zQiJpPkYWbxv2VGOlMAMhHxbHZyFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1yJ330JVzjZS; Wed, 25 Jan 2023 08:51:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P8plKY010805; Wed, 25 Jan 2023 08:51:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P8plBd010804; Wed, 25 Jan 2023 08:51:47 GMT (envelope-from git) Date: Wed, 25 Jan 2023 08:51:47 GMT Message-Id: <202301250851.30P8plBd010804@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: c69a31795b0e - stable/13 - flua: add a chown(2) binding List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c69a31795b0ec00525d37ef0f0a9828a56ecf991 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c69a31795b0ec00525d37ef0f0a9828a56ecf991 commit c69a31795b0ec00525d37ef0f0a9828a56ecf991 Author: Baptiste Daroussin AuthorDate: 2022-11-24 08:16:05 +0000 Commit: Baptiste Daroussin CommitDate: 2023-01-25 08:51:23 +0000 flua: add a chown(2) binding The main difference with the chown in luaposix, is that it checks and reports if a user or a group do exist when a string is passed as arguments Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D37479 (cherry picked from commit a1ab15abe2e2a1ed92cbad056df71afff7e8794e) --- libexec/flua/modules/lposix.c | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index adf3a7bb9a1f..88687be2788c 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -30,6 +30,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include @@ -63,6 +65,62 @@ lua_chmod(lua_State *L) return 1; } +static int +lua_chown(lua_State *L) +{ + int n; + const char *path; + uid_t owner = (uid_t) -1; + gid_t group = (gid_t) -1; + + n = lua_gettop(L); + luaL_argcheck(L, n > 1, n, + "chown takes at least two arguments"); + path = luaL_checkstring(L, 1); + if (lua_isinteger(L, 2)) + owner = (uid_t) lua_tointeger(L, 2); + else if (lua_isstring(L, 2)) { + struct passwd *p = getpwnam(lua_tostring(L, 2)); + if (p != NULL) + owner = p->pw_uid; + else + return (luaL_argerror(L, 2, + lua_pushfstring(L, "unknown user %s", + lua_tostring(L, 2)))); + } else if (!lua_isnoneornil(L, 2)) { + const char *type = luaL_typename(L, 2); + return (luaL_argerror(L, 2, + lua_pushfstring(L, "integer or string expected, got %s", + type))); + } + + if (lua_isinteger(L, 3)) + group = (gid_t) lua_tointeger(L, 3); + else if (lua_isstring(L, 3)) { + struct group *g = getgrnam(lua_tostring(L, 3)); + if (g != NULL) + group = g->gr_gid; + else + return (luaL_argerror(L, 3, + lua_pushfstring(L, "unknown user %s", + lua_tostring(L, 3)))); + } else if (!lua_isnoneornil(L, 3)) { + const char *type = luaL_typename(L, 3); + return (luaL_argerror(L, 3, + lua_pushfstring(L, "integer or string expected, got %s", + type))); + } + + if (chown(path, owner, group) == -1) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return (3); + } + lua_pushinteger(L, 0); + return (1); +} + static int lua_getpid(lua_State *L) { @@ -82,6 +140,7 @@ static const struct luaL_Reg sys_statlib[] = { static const struct luaL_Reg unistdlib[] = { REG_SIMPLE(getpid), + REG_SIMPLE(chown), { NULL, NULL }, }; #undef REG_SIMPLE From nobody Wed Jan 25 08:51:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1yJ45lzDz30yXF; Wed, 25 Jan 2023 08:51: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 4P1yJ44vzSz3hqg; Wed, 25 Jan 2023 08:51:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674636708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iJTEyDAc6nWbE/48R7mbaNDpKwqSRAZBHQWBwNQ1iFU=; b=Z9ev18byz00sVmJUjx2S3T3SBVNi1XRMg995XqTj89mEB8sJUTMg9KXYzyfj2RLNOwWEiP d5jbUEvE7jc6ce4ncmK/MHnL3hoZHjWLKVN3rAbDmrG4B0kqrufh7Mfa66GWKiJWoy3fCa PTZIwAlp3iL70lLFcTPDWvJQl+mr6vZXpOCWMRxy/9K8PQvqVeqVkzCXlMxFjwDYJJYlIB xOH2YWV9AlyP/WDaoAAd0jS0PaWRuXasIrKCxcu2ImA38GKzhH/nRb1Dg+HkY497K5AHzs NumrtFBpgCq13r555QNgBTS32Ek9oZxm15+LftXjMSJ2i5ogoMiDlTNOuHYHdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674636708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iJTEyDAc6nWbE/48R7mbaNDpKwqSRAZBHQWBwNQ1iFU=; b=oPMdKfdKIi49g2uGd/RXzXOskzvaTz6pTxMv8A7vGMVbfCPQAg15eKrobvpLYgS2P/99Bu 8peQviOZisxja+hY8N+ZjA07p6QXeBUGE1cY8ZMTTtd/4pLxNwhcyn0crtl3g97dCvkDOf z2cw7cCluByrHP3iZFbewn7FqssJSRp1WRwMREAWgH1lEhbzS80LnQqUPnjoVCX234oup9 /chhfW4CqscBan0Fg1+ZfkJbRjC+xBuotGUVKSMDlEh3ghH6xyAvTNlOwEeC1RQMvSWxW1 64yCs0i16iGUcmu+zn717j10BvvMq23GJF2vE5++d0p6Iwzw515Be6hNc8MX8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674636708; a=rsa-sha256; cv=none; b=uUzRozUtuVfqaFJDz9hgB5cTW0b+Yy1QpM+UXElXQuBbugSmsLHig7AL7nV4bTxXwJ7iNV oh/vP7zplx3OdDNf3ECfzR4egk6KcHpCW15gONC/L9Cu9ItDQQUqcNkJSyCtKmpavrgaSD QmFmZ+Fx9TW+SQJM9hpU05XpkHeJys8/vtSSsvKSBADdZbMxVqTUHqNh56aJFxap2sXQAg xabrWdoDFR0lbrt9eMC5OtMbI9Y9WdTi+wZO0VtvJg8UqbgsW4otEbZMlbLNyZrveVD8mN xKfeK47+EwjZb3qVHnRavznyTDAw/8sUzdqX0xeBT6PJXkphdRSuPqMKVLBE0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1yJ43yCtzjqX; Wed, 25 Jan 2023 08:51:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P8pm43010829; Wed, 25 Jan 2023 08:51:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P8pmtB010828; Wed, 25 Jan 2023 08:51:48 GMT (envelope-from git) Date: Wed, 25 Jan 2023 08:51:48 GMT Message-Id: <202301250851.30P8pmtB010828@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 1054b8fdc339 - stable/13 - flua: chown(2) binding, fix bad copy/paste List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1054b8fdc3396700523d81cc745c0b8acd44c76c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=1054b8fdc3396700523d81cc745c0b8acd44c76c commit 1054b8fdc3396700523d81cc745c0b8acd44c76c Author: Baptiste Daroussin AuthorDate: 2022-11-25 08:05:40 +0000 Commit: Baptiste Daroussin CommitDate: 2023-01-25 08:51:35 +0000 flua: chown(2) binding, fix bad copy/paste (cherry picked from commit 280f11f1be54370fcc289ee259a1b86637170ea1) --- libexec/flua/modules/lposix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index 88687be2788c..22df27ff2971 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -102,7 +102,7 @@ lua_chown(lua_State *L) group = g->gr_gid; else return (luaL_argerror(L, 3, - lua_pushfstring(L, "unknown user %s", + lua_pushfstring(L, "unknown group %s", lua_tostring(L, 3)))); } else if (!lua_isnoneornil(L, 3)) { const char *type = luaL_typename(L, 3); From nobody Wed Jan 25 08:52:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1yK76mXqz30ynb; Wed, 25 Jan 2023 08:52: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 4P1yK75Pt3z3jSV; Wed, 25 Jan 2023 08:52:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674636763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WwGlEBWx65T3geoTcGqs1/ywYoMh/N0o3VKFfQKO4H4=; b=KQubYeg6iT7ZGWvpkUwEis3MGJSywl5F3aeZd0DedQCwSXDLHsyA7prhp0WeewwfxMCOq3 yaZbmoFGaOW0yNeZt87IXDsWhytPQbuOOBLPpk/onspvizt5mtxhTmCSf+Sh+tdJxQTz1H qoYm6MmRGp/i3K0wZ4SBYhFc9wAXintIJmhm4gWML+/slh3dl9kFi+S2wDldCCnIRv/cuE 0O4S/1RqxQKUdnTmBDYyBubxJd4jPf6udoqfSxwjLyBuIreluMg9Gdbw6kLTM6J7vGUwye ohHSUYhBghAQ0SzY7ZCZjXYjVt6JcDSAR/jwLmHJjlsC3UZAeviqZJMrPiMUFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674636763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WwGlEBWx65T3geoTcGqs1/ywYoMh/N0o3VKFfQKO4H4=; b=yp+5pF2SyWY6HbTAYDZCfYolHJXI7pcN2zhIchkPJzw1uvdYjsWEIMF2EmS7rJocPZrKws 0WM4fS76NOOq0oj1zD9Bf9GHwcswaQjGhVTYdM1NMaTvKT/pxPrQPwHMCVDeVGOAvYA+12 IXNZZVKp+UTmXQSdzg1LqWvTfnrkVRrsirD61hfbjv+35yO71O9yHkNL1WIQwFIQ6eJQT3 WrQY8j/FDqIlBxduTHVFIOX48sKuzOVXCzaxGs27G+3LGS+WZY0siA3A1amFn/RNfLqwdN ref1eqWEBAMpLUoo9Gs09bRx2SmdRkuNGKTXBe++WEx2l+Jj/oZEUcTl0D3TpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674636763; a=rsa-sha256; cv=none; b=klXbuWkfyEOOQCx67p3AeeyZdzmsojU0qzGYAS/HbFFEXKwKv3qTd+aaTgQEf2RJCx2LC9 E9K2N083YS65Hk6wIgBIB8X7GrXgpUpFmEIN3+Uw6Bjv6heG58ZVKEDp8i7ko+fzoUXPUB 866Y7u2PE4obE+MtWPcZx7lZYaAh2omCXCDaCYmJwISElCS0zf8eJ5RYrNWVOF+Js2YZVF 3n8hGkdI9geG8Et16jvzTCIiS5TyD6jPdVhF5TPbaRl9cewS8/QQxgj+IOWWZ3o3Uavfr6 vZsLSdTfzrhtGDZasoAXleOhJLhGVXOzVOn9QVuSFheaX9T+qz17iMGPyGOJSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1yK74Vlfzk4x; Wed, 25 Jan 2023 08:52:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P8qhWL011959; Wed, 25 Jan 2023 08:52:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P8qh2d011958; Wed, 25 Jan 2023 08:52:43 GMT (envelope-from git) Date: Wed, 25 Jan 2023 08:52:43 GMT Message-Id: <202301250852.30P8qh2d011958@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: dc730e70a4fb - stable/13 - dma(8): add newaliases to mailer.conf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc730e70a4fb666f9217b2c9c8afff8cbf922650 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=dc730e70a4fb666f9217b2c9c8afff8cbf922650 commit dc730e70a4fb666f9217b2c9c8afff8cbf922650 Author: Baptiste Daroussin AuthorDate: 2022-12-06 07:30:19 +0000 Commit: Baptiste Daroussin CommitDate: 2023-01-25 08:52:29 +0000 dma(8): add newaliases to mailer.conf Reported by: karels MFC After: 3 days (cherry picked from commit d525abd2771692b8da01e23bc6f3333c7dd7f669) --- libexec/dma/dmagent/mailer.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/dma/dmagent/mailer.conf b/libexec/dma/dmagent/mailer.conf index 20ebf5cb673e..c2cdf57d4adc 100644 --- a/libexec/dma/dmagent/mailer.conf +++ b/libexec/dma/dmagent/mailer.conf @@ -1,4 +1,5 @@ # $FreeBSD$ -sendmail /usr/libexec/dma -mailq /usr/libexec/dma +sendmail /usr/libexec/dma +mailq /usr/libexec/dma +newaliases /usr/libexec/dma From nobody Wed Jan 25 08:57:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1yQR47Pfz310VC; Wed, 25 Jan 2023 08:57: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 4P1yQR3RPrz3jcw; Wed, 25 Jan 2023 08:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674637039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3thR1CGj0uYOUwqxKSqhsyIcYFzitvoDvYxvEKJ9d3w=; b=nCKtOtB3wJWqMvyIshm6+nE9Ol6R+KYUUIB7rbqypOcSv06nvkGy6VHa26xn+U8Aqt24qJ CS0fvwKiuTGaB9H8THvB/58EWtgotSJaXQ11pXS5mvlzYOV20aOMqYrhHMfx0w2pLN4xbE bAaH3V/oVYDJcalFMnqvCgPOlfq4CGOgWXOzLrXnebgS0P9OkrwJDvWCLGj2Bq8U+A/FKQ BW8IXwmIIFHhvD2pNnpVYMUOpGmI9aU1PrqeqpPbT1WbHreQ9GZKUA6F4D02Rj6BHg/OTI u+xCvg3LXdlt4yxe7PKMtR4itITvKx5XZAev9Vc6xmokI6IVYt9am5ChdyuPIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674637039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3thR1CGj0uYOUwqxKSqhsyIcYFzitvoDvYxvEKJ9d3w=; b=NO0eVP4NCFIcPRJ6xpvY1hx/ujLTdh2JkxJHTW/iFzsCdDO2K3j3rvj8lv/8hP5bMzBbjG THbJi/mjYIjguOU/cIM2cFnt2f1S7o3FHiXuf3tXmyJe4V043u35B15GDHyO0rJK1B/I02 jvDQEbcmLhELpJP3/iV366YGrDoMNGhX0iVNtGNRa7T/eWhUammDlGQJw8EqNTR3BXx4Wl tQhaq0rQdzFKOyUEEqLi3tHiaozDhlBreGRjL3m4bTRbaUXYI4jtYiGwVO//JcDB/x5jT0 b/EDSVjIB+mjExgL4D1EP2v8K1bB75g4s/FKs3qbHoHPw3yXAITUaD1cmZlGDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674637039; a=rsa-sha256; cv=none; b=h43Qy4kdM9N/Fssm1JPehn71PxRRbEVfgPXCgOr5fyCikKbFD1LiV9aFhI8HZdw92StB6V QJUlw61sYu49SC/H8z8loQDeO7w6yrQ28evgHjpq9JBMyl6K+nBYV61j/j8+l1J83CsT0T mpyv/GOmodxE926CAW8FZ0mgDrmJ/IjVzcMm/VR+xm8PIAGK94zZVC+ISU+9uaIbFwfMsd 0U7g0SLPvdhDUQC+hEgwBlQN1iY05I7WzsJk+ejc0Midj3DcEb6rloxx8z5KO8OMwAn5AD Meq8/sgwksAumu2Rnzos564vVOYXooCX/uqSJVrufw+LOJSbLTnZ3tzfCzW9Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1yQR2FJbzk1T; Wed, 25 Jan 2023 08:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30P8vJRt012608; Wed, 25 Jan 2023 08:57:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30P8vJgl012607; Wed, 25 Jan 2023 08:57:19 GMT (envelope-from git) Date: Wed, 25 Jan 2023 08:57:19 GMT Message-Id: <202301250857.30P8vJgl012607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: e877f2de07cc - stable/13 - pci_info: update to 2022-12-04 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e877f2de07ccd95c6ffe432c290c66d91f31e013 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e877f2de07ccd95c6ffe432c290c66d91f31e013 commit e877f2de07ccd95c6ffe432c290c66d91f31e013 Author: Baptiste Daroussin AuthorDate: 2022-12-08 15:07:54 +0000 Commit: Baptiste Daroussin CommitDate: 2023-01-25 08:57:09 +0000 pci_info: update to 2022-12-04 (cherry picked from commit 07d1c4a919c0a7bdbf846e75e730d1c10c72eef6) --- share/misc/pci_vendors | 420 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 343 insertions(+), 77 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 29b30b62fde5..97220fd5ca8f 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2022.09.09 -# Date: 2022-09-09 03:15:02 +# Version: 2022.12.04 +# Date: 2022-12-04 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -78,6 +78,7 @@ # 021b is not Compaq but there is a board misprogrammed 021b Compaq Computer Corporation 8139 HNE-300 (RealTek RTL8139c) [iPaq Networking] +025e Solidigm 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) # SpeedStream is Efficient Networks, Inc, a Siemens Company @@ -109,6 +110,7 @@ 9100 JM9100 0731 9101 JM9100 0731 9102 JM9100-I + 0731 9103 JM9100M 910a JH910 0731 910a JH910 0731 910b JH910-I @@ -133,6 +135,7 @@ 930a JH930-I 0731 930a JH930-I 0731 930b JH930-M + 0731 930c JH930 930b JH930-M 0777 Ubiquiti Networks, Inc. 0795 Wired Inc. @@ -157,6 +160,7 @@ 0905 R1T3 Single T3 Digital Telephony Card 0906 RCB24FXX 24-channel modular analog telephony card 0a06 RCB672FXX 672-channel modular analog telephony card +0bae Bachmann electronic GmbH 0ccd Preferred Networks, Inc. 0e11 Compaq Computer Corporation 0001 PCI to EISA Bridge @@ -261,7 +265,9 @@ b1a4 NC7131 Gigabit Server Adapter b200 Memory Hot-Plug Controller b203 Integrated Lights Out Controller + 103c 3305 iLO2 b204 Integrated Lights Out Processor + 103c 3305 iLO2 c000 Remote Insight Lights-Out Edition f130 NetFlex-3/P ThunderLAN 1.0 f150 NetFlex-3/P ThunderLAN 2.3 @@ -558,6 +564,7 @@ 1014 040e ServeRAID H1110 0071 MR SAS HBA 2004 0072 SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] + 1000 3020 9211-8i 1000 3040 9210-8i 1000 3080 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] 1000 30b0 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] @@ -1117,7 +1124,8 @@ 1607 Arden 1636 Renoir 1637 Renoir Radeon High Definition Audio Controller - 1638 Cezanne + 1638 Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] + 1043 16c2 Radeon Vega 8 # Used in the Steam Deck 163f VanGogh [AMD Custom GPU 0405] 1640 Rembrandt Radeon High Definition Audio Controller @@ -1804,6 +1812,7 @@ 1028 0225 PowerEdge T105 Embedded ATI ES1000 1028 023c PowerEdge R200 Embedded ATI ES1000 103c 1304 Integrity iLO2 Advanced KVM VGA [AD307A] + 103c 31fb ProLiant DL360 G5 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board @@ -1925,7 +1934,7 @@ 5964 RV280 [Radeon 9200 SE] 1002 5964 Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz 1043 c006 Radeon 9200 SE / TD / 128M - 1458 4018 R92S128T (Radeon 9200 SE 128MB) + 1458 4018 R92S128T [Radeon 9200 SE 128MB] 1458 4032 Radeon 9200 SE 128MB 147b 6191 R9200SE-DT 148c 2073 CN-AG92E @@ -3079,20 +3088,20 @@ 144d c0c7 Radeon HD 7550M 6842 Thames LE [Radeon HD 7000M Series] 6843 Thames [Radeon HD 7670M] - 6860 Vega 10 [Radeon Instinct MI25] + 6860 Vega 10 [Instinct MI25/MI25x2/V340/V320] 1002 0c35 Radeon PRO V320 1002 6c75 Radeon PRO V320 106b 017c Radeon Pro Vega 64 6861 Vega 10 XT [Radeon PRO WX 9100] 6862 Vega 10 XT [Radeon PRO SSG] 6863 Vega 10 XTX [Radeon Vega Frontier Edition] - 6864 Vega 10 [Radeon Pro V340] + 6864 Vega 10 [Radeon Pro V340/Instinct MI25x2] 6867 Vega 10 XL [Radeon Pro Vega 56] 6868 Vega 10 [Radeon PRO WX 8100/8200] 6869 Vega 10 XGA [Radeon Pro Vega 48] 686a Vega 10 LEA 686b Vega 10 XTXA [Radeon Pro Vega 64X] - 686c Vega 10 [Radeon Instinct MI25 MxGPU] + 686c Vega 10 [Instinct MI25 MxGPU/MI25x2 MxGPU/V340 MxGPU/V340L MxGPU] 686d Vega 10 GLXTA 686e Vega 10 GLXLA 687f Vega 10 XL/XT [Radeon RX Vega 56/64] @@ -3113,7 +3122,7 @@ 688c Cypress XT GL [FireStream 9370] 688d Cypress PRO GL [FireStream 9350] 6898 Cypress XT [Radeon HD 5870] - 1002 0b00 Radeon HD 5870 Eyefinity⁶ Edition + 1002 0b00 Radeon HD 5870 Eyefinity Edition 106b 00d0 Radeon HD 5870 Mac Edition # R5870-PM2D1G 1462 8032 Radeon HD 5870 1 GB GDDR5 @@ -3793,16 +3802,18 @@ 731f Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 1002 0b36 Reference RX 5700 XT 1458 2313 Radeon RX 5700 XT Gaming OC + 148c 2398 AXRX 5700 XT 8GBD6-3DHE/OC [PowerColor Red Devil Radeon RX 5700 XT] 1682 5701 RX 5700 XT RAW II 1849 5120 Radeon RX 5600 XT 1da2 e409 Sapphire Technology Limited Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] + 1da2 e410 Sapphire NITRO+ RX 5700 XT 1da2 e411 Radeon RX 5600 XT 7340 Navi 14 [Radeon RX 5500/5500M / Pro 5500M] 7341 Navi 14 [Radeon Pro W5500] 7347 Navi 14 [Radeon Pro W5500M] 734f Navi 14 [Radeon Pro W5300M] 7360 Navi 12 [Radeon Pro 5600M/V520/BC-160] - 7362 Navi 12 [Radeon Pro V520] + 7362 Navi 12 [Radeon Pro V520/V540] 7388 Arcturus GL-XL 738c Arcturus GL-XL [Instinct MI100] 738e Arcturus GL-XL [Instinct MI100] @@ -3811,6 +3822,7 @@ 73a3 Navi 21 GL-XL [Radeon PRO W6800] 73a4 Navi 21 USB 73a5 Navi 21 [Radeon RX 6950 XT] + 1da2 441d Navi 21 [Sapphire Nitro+ Radeon RX 6950 XT] 73ab Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo] 73ae Navi 21 [Radeon Pro V620 MxGPU] 73af Navi 21 [Radeon RX 6900 XT] @@ -3825,26 +3837,33 @@ 73c4 Navi 22 USB 73ce Navi22-XL SRIOV MxGPU 73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] + 1043 16c2 Radeon RX 6800M + 1458 2408 Radeon RX 6750 XT GAMING OC 12G + 1849 5219 Radeon RX 6700 XT Challenger D + 1da2 e445 Sapphire Radeon RX 6700 + 1eae 6601 Speedster QICK 319 RX 6700 XT 73e0 Navi 23 73e1 Navi 23 WKS-XM [Radeon PRO W6600M] 73e3 Navi 23 WKS-XL [Radeon PRO W6600] 73e4 Navi 23 USB 73ef Navi 23 [Radeon RX 6650 XT] - 1002 73ef Navi 23 [Radeon RX 6700S / 6650 XT] + 1002 73ef Navi 23 [Radeon RX 6700S / 6800S / 6650 XT] + 1458 2405 Navi 23 [Radeon RX 6650 XT] 73ff Navi 23 [Radeon RX 6600/6600 XT/6600M] 1462 5022 RX 6600 MECH 2X 148c 2412 PowerColor Red Devil RX 6600 XT # This is the non-XT version 1849 5218 Radeon RX 6600 Challenger ITX 8GB - 7408 Aldebaran - 740c Aldebaran - 740f Aldebaran + 7408 Aldebaran/MI200 [Instinct MI250X] + 740c Aldebaran/MI200 [Instinct MI250X/MI250] + 740f Aldebaran/MI200 [Instinct MI210] 7421 Navi 24 [Radeon PRO W6500M] 7422 Navi 24 [Radeon PRO W6400] 7423 Navi 24 [Radeon PRO W6300/W6300M] 7424 Navi 24 [Radeon RX 6300] 743f Navi 24 [Radeon RX 6400/6500 XT/6500M] 1da2 e457 PULSE AMD Radeon RX 6500 XT + 744c Navi 31 [Radeon RX 7900 XT/7900 XTX] 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4927,6 +4946,12 @@ 149c Matisse USB 3.0 Host Controller 1462 7c37 X570-A PRO motherboard 149d Vangogh CVIP + 14b5 Family 17h-19h PCIe Root Complex + 14b6 Family 17h-19h IOMMU + 14b7 Family 17h-19h PCIe Dummy Host Bridge + 14b9 Family 17h-19h Internal PCIe GPP Bridge + 14ba Family 17h-19h PCIe GPP Bridge + 14cd Family 19h USB4/Thunderbolt PCIe tunnel 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini 1512 Family 14h Processor Root Port @@ -5023,6 +5048,8 @@ ea50 ce19 mCOM10-L1900 15d4 FireFlight USB 3.1 15d5 FireFlight USB 3.1 + 15d6 Rembrandt USB4 XHCI controller #5 + 15d7 Rembrandt USB4 XHCI controller #6 15da Raven/Raven2 PCIe Dummy Host Bridge 15db Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A ea50 ce19 mCOM10-L1900 @@ -5095,6 +5122,12 @@ 160d Arden Device 18h: Function 5 160e Arden Device 18h: Function 6 160f Arden Device 18h: Function 7 + 161a Rembrandt USB4 XHCI controller #1 + 161b Rembrandt USB4 XHCI controller #2 + 161c Rembrandt USB4 XHCI controller #7 + 161d Rembrandt USB4 XHCI controller #3 + 161e Rembrandt USB4 XHCI controller #4 + 161f Rembrandt USB4 XHCI controller #8 1620 Anubis HT Configuration 1621 Anubis Address Maps 1622 Anubis DRAM Configuration @@ -5108,6 +5141,8 @@ 162a Arden Internal PCIe GPP Bridge 0 to bus X 162b Arden PCIe Non-Transparent Bridge 162c VanGogh USB2 + 162e Rembrandt USB4/Thunderbolt NHI controller #1 + 162f Rembrandt USB4/Thunderbolt NHI controller #2 1630 Renoir/Cezanne Root Complex 1631 Renoir/Cezanne IOMMU 1632 Renoir PCIe Dummy Host Bridge @@ -5155,6 +5190,14 @@ 166f Cezanne Data Fabric; Function 5 1670 Cezanne Data Fabric; Function 6 1671 Cezanne Data Fabric; Function 7 + 1679 Rembrandt Data Fabric: Device 18h; Function 0 + 167a Rembrandt Data Fabric: Device 18h; Function 1 + 167b Rembrandt Data Fabric: Device 18h; Function 2 + 167c Rembrandt Data Fabric: Device 18h; Function 3 + 167d Rembrandt Data Fabric: Device 18h; Function 4 + 167e Rembrandt Data Fabric: Device 18h; Function 5 + 167f Rembrandt Data Fabric: Device 18h; Function 6 + 1680 Rembrandt Data Fabric: Device 18h; Function 7 1700 Family 12h/14h Processor Function 0 1701 Family 12h/14h Processor Function 1 1702 Family 12h/14h Processor Function 2 @@ -5464,7 +5507,7 @@ 9910 CyberBlade/XP 9930 CyberBlade/XPm 9960 CyberBlade XP2 -1024 Zenith Data Systems +1024 Beijing Dajia Internet Information Technology Co. 1025 Acer Incorporated [ALI] 1435 M1435 1445 M1445 @@ -5569,6 +5612,11 @@ # NV-RAM Adapter used in Dell DR appliances 0073 NV-RAM Adapter 1028 PCIe Bridge riser + 2600 ENT NVMe RT1 + 1028 215e ENT NVMe RT1 RI 3.84TB + 1028 215f ENT NVMe RT1 RI 7.68TB + 1028 2160 ENT NVMe RT1 FIPS RI 3.84TB + 1028 2161 ENT NVMe RT1 FIPS RI 7.68TB 1029 Siemens Nixdorf IS 102a LSI Logic 0000 HYDRA @@ -6818,6 +6866,7 @@ 90a3 Aeolia Memory (DDR3/SPM) 90a4 Aeolia USB 3.0 xHCI Host Controller 90bc SxS Pro+ memory card + 90c0 PCIe x8 XAVC Codec Board 90c8 Belize ACPI 90c9 Belize Ethernet Controller 90ca Belize SATA AHCI Controller @@ -11460,7 +11509,7 @@ # GRID K1 USM 0fe7 GK107GL [GRID K100 vGPU] 10de 101e GRID K100 - 0fe8 GK107M + 0fe8 GK107M [N14P-GS] 0fe9 GK107M [GeForce GT 750M Mac Edition] 0fea GK107M [GeForce GT 755M Mac Edition] 0fec GK107M [GeForce 710A] @@ -11987,6 +12036,7 @@ 11a3 GK104M [GeForce GTX 680MX] 106b 010d iMac 13,2 11a7 GK104M [GeForce GTX 675MX] + 11a8 GK104GLM [Quadro K5100M] 11a9 GK104M [GeForce GTX 870M] 11af GK104GLM [GRID IceCube] 11b0 GK104GL [GRID K240Q / K260Q vGPU] @@ -12249,6 +12299,7 @@ 1aec TU116 USB 3.1 Host Controller 1aed TU116 USB Type-C UCSI Controller 1aef GA102 High Definition Audio Controller + 1af1 GA100 [A100 NVSwitch] 1b00 GP102 [TITAN X] 1b01 GP102 [GeForce GTX 1080 Ti 10GB] 1b02 GP102 [TITAN Xp] @@ -12386,6 +12437,7 @@ 1df5 GV100GL [Tesla V100 SXM2 16GB] 1df6 GV100GL [Tesla V100S PCIe 32GB] 1e02 TU102 [TITAN RTX] + 1e03 TU102 [GeForce RTX 2080 Ti 12GB] 1e04 TU102 [GeForce RTX 2080 Ti] 1e07 TU102 [GeForce RTX 2080 Ti Rev. A] 1462 3715 RTX 2080 Ti GAMING X TRIO @@ -12471,11 +12523,13 @@ # via Lenovo 496.90 1f9f TU117M [GeForce MX550] 1fa0 TU117M [GeForce MX550] + 1fa1 TU117M 1fae TU117GL 1fb0 TU117GLM [Quadro T1000 Mobile] 1fb1 TU117GL [T600] 1fb2 TU117GLM [Quadro T400 Mobile] 1fb6 TU117GLM [T600 Laptop GPU] + 1028 0b10 Precision 3571 1fb7 TU117GLM [T550 Laptop GPU] 1fb8 TU117GLM [Quadro T2000 Mobile / Max-Q] 1fb9 TU117GLM [Quadro T1000 Mobile] @@ -12506,6 +12560,9 @@ 20f0 GA100 [A100-PG506-207] 20f1 GA100 [A100 PCIe 40GB] 20f2 GA100 [A100-PG506-217] + 20f3 GA100 [A800-SXM4-80GB] + 20f5 GA100 [A800 80GB PCIe] + 20f6 GA100 [A800 40GB PCIe] 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] @@ -12528,6 +12585,7 @@ 10de 1467 GA102 [GeForce RTX 3080] 10de 146d GA102 [GeForce RTX 3080 20GB] 1462 3892 RTX 3080 10GB GAMING X TRIO + 2207 GA102 [GeForce RTX 3070 Ti] 2208 GA102 [GeForce RTX 3080 Ti] 220a GA102 [GeForce RTX 3080 12GB] 220d GA102 [CMP 90HX] @@ -12548,7 +12606,9 @@ 2296 Tegra PCIe Endpoint Virtual Network 2302 GH100 2321 GH100 - 2331 GH100 [H100 80GB 8GPC Engineering Sample] + 2322 GH100 [H800] + 2330 GH100[H100 SXM5 80GB] + 2331 GH100 [H100 PCIe] 2336 GH100 [H100 96GB] 2414 GA103 [GeForce RTX 3060 Ti] 2420 GA103M [GeForce RTX 3080 Ti Mobile] @@ -12560,6 +12620,7 @@ 10de 146b GA104 [GeForce RTX 3070] 10de 14ae GA104 [GeForce RTX 3070 16GB] 2486 GA104 [GeForce RTX 3060 Ti] + 19da 6630 ZT-A30610H-10M [RTX 3060 Ti Twin Edge OC] 2487 GA104 [GeForce RTX 3060] 2488 GA104 [GeForce RTX 3070 Lite Hash Rate] 2489 GA104 [GeForce RTX 3060 Ti Lite Hash Rate] @@ -12568,6 +12629,7 @@ 249d GA104M [GeForce RTX 3070 Mobile / Max-Q] 249f GA104M 24a0 GA104 [Geforce RTX 3070 Ti Laptop GPU] + 24a4 GA104M 24ac GA104 [GeForce RTX 30x0 Engineering Sample] 24ad GA104 [GeForce RTX 3060 Engineering Sample] 24af GA104 [GeForce RTX 3070 Engineering Sample] @@ -12580,8 +12642,10 @@ 24ba GA104GLM [RTX A4500 Laptop GPU] 24bb GA104GLM [RTX A3000 Laptop GPU] 24bf GA104 [GeForce RTX 3070 Engineering Sample] + 24c9 GA104 [GeForce RTX 3060 Ti] 24dc GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] 24dd GA104M [GeForce RTX 3070 Mobile / Max-Q] + 24df GA104M 24e0 GA104M [Geforce RTX 3070 Ti Laptop GPU] 24fa GA104 [RTX A4500 Embedded GPU ] 2501 GA106 [GeForce RTX 3060] @@ -12590,13 +12654,18 @@ 2505 GA106 2507 GA106 [Geforce RTX 3050] 2508 GA106 [GeForce RTX 3050 OEM] + 2509 GA106 [GeForce RTX 3060 12GB Rev. 2] 2520 GA106M [GeForce RTX 3060 Mobile / Max-Q] + 2521 GA106M [GeForce RTX 3060 Laptop GPU] 2523 GA106M [GeForce RTX 3050 Ti Mobile / Max-Q] 252f GA106 [GeForce RTX 3060 Engineering Sample] 2531 GA106 [RTX A2000] + 2544 GA106 [GeForce RTX 3060] 2560 GA106M [GeForce RTX 3060 Mobile / Max-Q] + 2561 GA106M [GeForce RTX 3060 Laptop GPU] 2563 GA106M [GeForce RTX 3050 Ti Mobile / Max-Q] 2571 GA106 [RTX A2000 12GB] + 2582 GA107 [GeForce RTX 3050] 2583 GA107 [GeForce RTX 3050] 25a0 GA107M [GeForce RTX 3050 Ti Mobile] 25a2 GA107M [GeForce RTX 3050 Mobile] @@ -12624,11 +12693,18 @@ 25ec GN20-P0-R-K2 25f9 GA107 [RTX A1000 Embedded GPU ] 25fa GA107 [RTX A2000 Embedded GPU] + 25fb GA107 [RTX A500 Embedded GPU] 2684 AD102 [GeForce RTX 4090] + 26b1 AD102GL [L6000 / RTX 6000 Ada Generation] + 26b5 AD102GL [L40] + 26b8 AD102GL [L40G] + 26f5 AD102GL [L40 CNX] + 2704 AD103 [GeForce RTX 4080] 2717 GN21-X11 2757 GN21-X11 2785 AD104 27a0 GN21-X9 + 27b8 AD104GL [L4] 27e0 GN21-X9 2820 GN21-X6 2860 GN21-X6 @@ -12869,6 +12945,7 @@ 1028 06e4 XPS 15 9550 1028 06e6 Latitude 11 5175 2-in-1 1028 09be Latitude 7410 + 1028 0b10 Precision 3571 17aa 224f ThinkPad X1 Carbon 5th Gen 5260 RTS5260 PCI Express Card Reader 5261 RTS5261 PCI Express Card Reader @@ -13284,8 +13361,9 @@ 000b EMU20k2 [Sound Blaster X-Fi Titanium Series] 1102 0041 SB0880 [SoundBlaster X-Fi Titanium PCI-e] 1102 0062 SB1270 [SoundBlaster X-Fi Titanium HD] - 0012 Sound Core3D [Sound Blaster Recon3D / Z-Series] + 0012 CA0132 Sound Core3D [Sound Blaster Recon3D / Z-Series / Sound BlasterX AE-5 Plus] 1102 0010 SB1570 SB Audigy Fx + 1102 0191 CA0132 Sound Core3D - CA0113 [ Sound BlasterX AE-5 Plus] 4001 SB Audigy FireWire Port 1102 0010 SB Audigy FireWire Port 7002 SB Live! Game Port @@ -13358,6 +13436,7 @@ 3320 RocketRAID 3320 4310 RocketRaid 4310 7505 SSD7505 PCIe Gen4 x16 4-Port M.2 NVMe RAID Controller + 7540 SSD7540 PCIe Gen4 x16 8-Port M.2 NVMe RAID Controller 1104 RasterOps Corp. 1105 Sigma Designs, Inc. 1105 REALmagic Xcard MPEG 1/2/3/4 DVD Decoder @@ -14244,7 +14323,7 @@ 1129 Firmworks 112a Hermes Electronics Company, Ltd. # nee Linotype - Hell AG -112b Heidelberger Druckmaschinen AGHeidelberger Druckmaschinen AG +112b Heidelberger Druckmaschinen AG 112c Zenith Data Systems 112d Ravicad 112e Infomedia Microelectronics Inc. @@ -15092,6 +15171,8 @@ 0113 BG3 NVMe SSD Controller 1179 0001 Toshiba KBG30ZMS128G 128GB NVMe SSD 0115 XG4 NVMe SSD Controller + 0116 XG5 NVMe SSD Controller + 1179 0001 XG5 NVMe SSD Controller 011a XG6 NVMe SSD Controller 0404 DVD Decoder card 0406 Tecra Video Capture device @@ -16818,6 +16899,7 @@ 1299 Knowledge Technology Lab. 129a VMetro, inc. 0615 PBT-615 PCI-X Bus Analyzer + 0715 cPCI Bus Analyzer 1100 PMC-FPGA05 1106 XMC-FPGA05F, PCI interface 1107 XMC-FPGA05F, PCIe interface @@ -17347,6 +17429,16 @@ 1344 5000 6.4 TB U.2 1344 6000 12.8TB U.2 51c0 7400 PRO NVMe SSD + 1028 2162 EC NVMe OPAL 7400 RI M.2 480GB + 1028 2163 EC NVMe OPAL 7400 RI M.2 960GB + 1028 2164 EC NVMe ISE 7400 RI M.2 480GB + 1028 2165 EC NVMe ISE 7400 RI M.2 960GB + 1028 216c EC NVMe ISE 7400 RI M.2 110 1.92TB + 1028 216d EC NVMe ISE 7400 RI M.2 110 3.84TB + 1028 216e EC NVMe OPAL 7400 RI M.2 110 1.92TB + 1028 216f EC NVMe OPAL 7400 RI M.2 110 3.84TB + 1028 2197 EC NVMe OPAL 7400 RI M.2 110 960GB + 1028 224d EC NVMe ISE 7400 RI M.2 110 960GB 1344 1100 M.2 480GB 1344 2000 U.3 960GB 1344 2100 M.2 960GB @@ -17359,6 +17451,8 @@ 1344 4000 U.3 3840GB 1344 5000 U.3 7680GB 51c1 7400 MAX NVMe SSD + 1028 216a EC NVMe ISE 7400 MU M.2 80 800GB + 1028 216b EC NVMe OPAL 7400 MU M.2 80 800GB 1344 1100 M.2 400GB 1344 2000 U.3 800GB 1344 2100 M.2 800GB @@ -19068,7 +19162,7 @@ a804 NVMe SSD Controller SM961/PM961/SM963 144d a801 SM963 2.5" NVMe PCIe SSD a808 NVMe SSD Controller SM981/PM981/PM983 - 144d a801 SSD 970 EVO Plus 1TB + 144d a801 SSD 970 EVO Plus 1d49 403b Thinksystem U.2 PM983 NVMe SSD a809 NVMe SSD Controller 980 a80a NVMe SSD Controller PM9A1/PM9A3/980PRO @@ -19081,6 +19175,7 @@ 0128 2168 DC NVMe PM9A3 RI 80M.2 480GB 0128 2169 DC NVMe PM9A3 RI 80M.2 960GB 144d a813 General DC NVMe PM9A3 + a80b NVMe SSD Controller PM9B1 a820 NVMe SSD Controller 171X 1028 1f95 Express Flash NVMe XS1715 SSD 400GB 1028 1f96 Express Flash NVMe XS1715 SSD 800GB @@ -19244,6 +19339,7 @@ 148b INNOMEDIALOGIC Inc. 148c Tul Corporation / PowerColor 2391 Radeon RX 590 [Red Devil] + 2398 AXRX 5700 XT 8GBD6-3DHE/OC [PowerColor Red Devil Radeon RX 5700 XT] 148d DIGICOM Systems, Inc. 1003 HCF 56k Data/Fax Modem 148e OSI Plus Corporation @@ -19458,6 +19554,8 @@ 1609 BCM5745X NetXtreme-E Ethernet Virtual Function 1612 BCM70012 Video Decoder [Crystal HD] 1614 BCM57454 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet + 14e4 d140 NetXtreme-E Quad-port 10GBASE-T Ethernet PCIe Adapter (BCM957454-P410SDBT) + 14e4 d340 NetXtreme-E Quad-port 10GBASE-T Ethernet OCP 3.0 Adapter (BCM957454-N410SDBT) 1615 BCM70015 Video Decoder [Crystal HD] 1639 NetXtreme II BCM5709 Gigabit Ethernet 1028 0235 PowerEdge R710 BCM5709 Gigabit Ethernet @@ -19596,6 +19694,7 @@ 103c 22be Ethernet 1Gb 4-port 331i Adapter 103c 3383 Ethernet 1Gb 4-port 331T Adapter 14e4 1904 4-port 1Gb Ethernet Adapter + 193d 1025 NIC-ETH330T-LP-4P 1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express 1014 02c6 eServer xSeries server mainboard 1028 01e6 PowerEdge 860 @@ -19885,6 +19984,8 @@ 14e4 4146 NetXtreme-E Dual-port 25G SFP28 Ethernet OCP 3.0 Adapter (BCM957414N4140C) 1590 020e Ethernet 25Gb 2-port 631SFP28 Adapter 1590 0211 Ethernet 25Gb 2-port 631FLR-SFP28 Adapter + 1bd4 008e ENFB2251-SP2 + 1bd4 008f ENPB2251-SP2 # VSE-225-31S Dual-port 10Gb/25Gb Ethernet PCIe 1eec 0101 VSE-225-31S Dual-port 10Gb/25Gb Ethernet PCIe 16d8 BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller @@ -19945,10 +20046,12 @@ 14e4 2100 NetXtreme-E Dual-port 100G QSFP56 Ethernet PCIe4.0 x16 Adapter (BCM957508-P2100G) 14e4 5208 NetXtreme-E Dual-port 100G QSFP56 Ethernet OCP 3.0 Adapter (BCM957508-N2100G) 14e4 d124 NetXtreme-E P2100D BCM57508 2x100G QSFP PCIE - 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet + 14e4 df24 NetXtreme-E NGM2100D BCM57508 2x100G KR Mezz Ethernet 1751 BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet 1028 09d4 PowerEdge XR11/XR12 LOM 14e4 5045 NetXtreme-E BCM57504 4x25G OCP3.0 + 14e4 5100 NetXtreme-E Single-port 100G QSFP56 Ethernet OCP 3.0 Adapter (BCM957504-N1100G) + 14e4 5105 NetXtreme-E Single-port 100G DSFP Ethernet OCP 3.0 Adapter (BCM957504-N1100GD) 14e4 5250 NetXtreme-E BCM57504 4x25G KR Mezz 14e4 d142 NetXtreme-E P425D BCM57504 4x25G SFP28 PCIE 1752 BCM57502 NetXtreme-E 10Gb/25Gb/40Gb/50Gb Ethernet @@ -20274,6 +20377,8 @@ 14e4 8028 Stingray Dual-Port 25Gb Ethernet PCIe SmartNIC w8GB DRAM (Part No BCM958802A8048C) 1bb0 0021 HPE SimpliVity Accelerator d804 BCM58804 Stingray 100Gb Ethernet SoC +# Trident5-X12 Switch ASIC + f800 BCM78800 switch ASIC for f800 14e5 Pixelfusion Ltd 14e6 SHINING Technology Inc 14e7 3CX @@ -21001,6 +21106,7 @@ 15b3 0025 ConnectX-3 IB QDR Dual Port Mezzanine Card 15b3 0026 ConnectX-3 IB FDR Dual Port Mezzanine Card 15b3 0028 ConnectX-3 VPI Dual QSFP+ Port QDR Infiniband 40Gb/s or 10Gb Ethernet + 15b3 0055 ConnectX-3 10 GbE Single Port SFP+ Adapter 15b3 0059 ConnectX-3 VPI IB FDR/40 GbE Single Port QSFP+ Mezzanine Card 15b3 0064 ConnectX-3 EN 10/40 GbE Single Port QSFP+ Adapter (MCX313A-BCBT) 15b3 0065 ConnectX-3 VPI IB FDR/40 GbE Dual Port QSFP+ Adapter @@ -21278,6 +21384,7 @@ 15d7 Rockwell-Collins Inc 15d8 Cybernetics Technology Co Ltd 15d9 Super Micro Computer Inc + 1b67 AOC-S3916L-H16iR-32DD 15da Cyberfirm Inc 15db Applied Computing Systems Inc 15dc Litronic Inc @@ -22761,6 +22868,7 @@ 01c5 NT200A02 Network Adapter 01d5 NT50B01 Network Adapter 01e5 NT100A01 Network Adapter + 0225 NT40A11 Network Adapter 18f6 NextIO 1000 [Nexsis] Switch Virtual P2P PCIe Bridge 1001 [Texsis] Switch Virtual P2P PCIe Bridge @@ -23494,7 +23602,11 @@ 000d SEL-3390S8 Serial Adapter 000e SEL-3390E4 Ethernet Adapter 0014 SEL-3390T Time and Ethernet Adapter + 0015 SEL-3350 Mainboard + 0016 SEL-3350 Serial Expansion Board + 0017 SEL-3350 GPIO Expansion Board 0018 SEL-3390E4 Ethernet Adapter + 001c SEL-3390E4 Ethernet Adapter 1aae Global Velocity, Inc. 1ab4 Distributed Management Task Force, Inc. (DMTF) 1ab6 CalDigit, Inc. @@ -23789,6 +23901,8 @@ 1028 1fdf BOSS-S1 Modular 1028 1fe2 BOSS-S1 Adapter 1028 2010 BOSS-S2 Adapter + 1028 2260 BOSS-S1 Modular + 1028 2261 BOSS-S2 Adapter # RS0200L6R2iM2 1bd4 0073 RS0200L6R2iM2 1d49 0300 ThinkSystem M.2 with Mirroring Enablement Kit @@ -23988,6 +24102,8 @@ 1007 AB3000 Series Rugged Computer (Series N) 1008 ME1000 mPCIe Avionics Interface Card 100a NG1 Series Avionics Converter + 100b LE5 429 Databus Interface Card + 100c LE5 1553 Databus Interface Card 1101 OmniBus II PCIe Multi-Protocol Interface Card 1102 OmniBusBox II Multi-Protocol Interface Core 1103 OmniBus II cPCIe/PXIe Multi-Protocol Interface Card @@ -24028,6 +24144,7 @@ 001c FD922 001d Vega 001f FD940 + 0020 FD2110 1c28 Lite-On IT Corp. / Plextor 0122 M6e PCI Express SSD [Marvell 88SS9183] # previously Fiberblaze @@ -24050,6 +24167,8 @@ 00e5 PacketMover 2x10Gb [Corfu] 1000 SmartNIC N5010 4x100Gb 1001 SmartNIC N5011 w/2xE810 4x100Gb + 1002 SmartNIC N5013 4x100Gb + 1003 SmartNIC N5014 w/2xE810 4x100Gb a000 FBC2CGG3 Capture 2x40Gb [Mango_02] a001 FBC2CGG3 Capture 2x100Gb [Mango_02] a003 FBC2CGG3 Capture 16x10Gb [Mango] @@ -24091,9 +24210,9 @@ 1285 PC300 NVMe Solid State Drive 1TB 1327 BC501 NVMe Solid State Drive 1339 BC511 - 1504 SC300 512GB M.2 2280 SATA Solid State Drive + 1504 PC400 NVMe SSD 1527 PC401 NVMe Solid State Drive 256GB - 174a PC711 NVMe Solid State Drive + 174a Gold P31/PC711 NVMe Solid State Drive 2204 960GB TLC PCIe Gen3 x4 NVMe M.2 22110 243b PE6110 NVMe Solid State Drive 1c5c 0100 PE6110 NVMe Solid State Drive @@ -24111,6 +24230,14 @@ 1c5c 0101 PE81x0 U.2/3 NVMe Solid State Drive 1c5f Beijing Memblaze Technology Co. Ltd. 000d PBlaze5 520/526 + 1c5f 0220 NVMe SSD PBlaze5 520 1920G AIC + 1c5f 0221 NVMe SSD PBlaze5 520 1920G 2.5" U.2 + 1c5f 0230 NVMe SSD PBlaze5 520 3840G AIC + 1c5f 0231 NVMe SSD PBlaze5 520 3840G 2.5" U.2 + 1c5f 4220 NVMe SSD PBlaze5 526 1600G AIC + 1c5f 4221 NVMe SSD PBlaze5 526 1600G 2.5" U.2 + 1c5f 4230 NVMe SSD PBlaze5 526 3200G AIC + 1c5f 4231 NVMe SSD PBlaze5 526 3200G 2.5" U.2 000e PBlaze6 6530 1c5f 0b20 NVMe SSD PBlaze6 6530 1920G AIC 1c5f 0b21 NVMe SSD PBlaze6 6530 1920G 2.5" U.2 @@ -24129,6 +24256,14 @@ 1c5f 5331 NVMe SSD PBlaze6 6537 3200G 2.5" U.2 1c5f 5341 NVMe SSD PBlaze6 6537 6400G 2.5" U.2 003d PBlaze5 920/926 + 1c5f 0a30 NVMe SSD PBlaze5 920 3840G AIC + 1c5f 0a31 NVMe SSD PBlaze5 920 3840G 2.5" U.2 + 1c5f 0a40 NVMe SSD PBlaze5 920 7680G AIC + 1c5f 0a41 NVMe SSD PBlaze5 920 7680G 2.5" U.2 + 1c5f 4a30 NVMe SSD PBlaze5 926 3200G AIC + 1c5f 4a31 NVMe SSD PBlaze5 926 3200G 2.5" U.2 + 1c5f 4a40 NVMe SSD PBlaze5 926 6400G AIC + 1c5f 4a41 NVMe SSD PBlaze5 926 6400G 2.5" U.2 003e PBlaze6 6920 1c5f 0a31 NVMe SSD PBlaze6 6920 3840GB 2.5" U.2 1c5f 0a41 NVMe SSD PBlaze6 6920 7680GB 2.5" U.2 @@ -24176,6 +24311,8 @@ 0002 Clarett 1cb8 Dawning Information Industry Co., Ltd. 1cc1 ADATA Technology Co., Ltd. + 33f8 IM2P33F8ABR1 NVMe SSD + 5350 XPG GAMMIX S50 NVMe SSD # 256GB NVMe SSD 5766 ADATA XPG GAMMIXS1 1L Media 8201 XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive @@ -24190,6 +24327,9 @@ 1cc4 a212 NVMe SSD UHXXXa series U.2 1600GB 1cc4 a213 NVMe SSD UHXXXa series U.2 3200GB 1cc4 a214 NVMe SSD UHXXXa series U.2 6400GB + 1cc4 e122 VNMe SSD UH711a series U.2 1920GB + 1cc4 e123 VNMe SSD UH711a series U.2 3840GB + 1cc4 e124 VNMe SSD UH711a series U.2 7680GB 17ab NVMe 256G SSD device 6303 AM630 PCIe 4.0 x4 NVMe SSD Controller 1cc5 Embedded Intelligence, Inc. @@ -24239,13 +24379,15 @@ 1d05 Tongfang Hongkong Limited 1d0f Amazon.com, Inc. 7064 NeuronDevice (Inferentia) - 7164 NeuronDevice + 7164 NeuronDevice (Trainium) 1d0f 0000 Trainium + 7264 NeuronDevice (Inferentia2) 8061 NVMe EBS Controller cd01 NVMe SSD Controller ec20 Elastic Network Adapter (ENA) efa0 Elastic Fabric Adapter (EFA) efa1 Elastic Fabric Adapter (EFA) + efa2 Elastic Fabric Adapter (EFA) 1d17 Zhaoxin 070f ZX-100 PCI Express Root Port 0710 ZX-100/ZX-200 PCI Express Root Port @@ -24255,14 +24397,14 @@ 0714 ZX-100/ZX-200 PCI Express Root Port 0715 ZX-100/ZX-200 PCI Express Root Port 0716 ZX-D PCI Express Root Port - 0717 ZX-D/ZX-E PCI Express Root Port - 0718 ZX-D/ZX-E PCI Express Root Port - 0719 ZX-D/ZX-E PCI Express Root Port - 071a ZX-D/ZX-E PCI Express Root Port - 071b ZX-D/ZX-E PCI Express Root Port - 071c ZX-D/ZX-E PCI Express Root Port - 071d ZX-D/ZX-E PCI Express Root Port - 071e ZX-D/ZX-E PCI Express Root Port + 0717 KX-5000/KX-6000/KX-6000G Express Root Port + 0718 KX-5000/KX-6000/KX-6000G Express Root Port + 0719 KX-5000/KX-6000/KX-6000G Express Root Port + 071a KX-5000/KX-6000/KX-6000G Express Root Port + 071b KX-5000/KX-6000/KX-6000G Express Root Port + 071c KX-5000/KX-6000/KX-6000G Express Root Port + 071d KX-5000/KX-6000/KX-6000G Express Root Port + 071e KX-5000/KX-6000/KX-6000G Express Root Port 071f ZX-200 Upstream Port of PCI Express Switch 0720 ZX-200 PCIE RC6 controller 0721 ZX-200 Downstream Port of PCI Express Switch @@ -24270,42 +24412,47 @@ 1000 ZX-D Standard Host Bridge 1001 ZX-D/ZX-E Miscellaneous Bus 1003 ZX-E Standard Host Bridge + 1006 KX-6000G Standard Host Bridge 3001 ZX-100 Standard Host Bridge 300a ZX-100 Miscellaneous Bus - 3038 ZX-100/ZX-200/ZX-E Standard Universal PCI to USB Host Controller - 3104 ZX-100/ZX-200/ZX-E Standard Enhanced PCI to USB Host Controller - 31b0 ZX-100/ZX-D Standard Host Bridge - 31b1 ZX-100/ZX-D Standard Host Bridge - 31b2 ZX-100/ZX-D DRAM Controller - 31b3 ZX-100/ZX-D Power Management Controller - 31b4 ZX-100/ZX-D I/O APIC - 31b5 ZX-100/ZX-D Scratch Device - 31b7 ZX-100/ZX-D/ZX-E Standard Host Bridge + 3038 ZX-100/ZX-200/KX-6000/KX-6000G Standard Universal PCI to USB Host Controller + 3104 ZX-100/ZX-200/KX-6000/KX-6000G Standard Enhanced PCI to USB Host Controller + 31b0 ZX-100/KX-5000/KX-6000/KX-6000G Standard Host Bridge + 31b1 ZX-100/KX-5000/KX-6000/KX-6000G Standard Host Bridge + 31b2 ZX-100/KX-5000/KX-6000/KX-6000G DRAM Controller + 31b3 ZX-100/KX-5000/KX-6000/KX-6000G Power Management Controller + 31b4 ZX-100/KX-5000/KX-6000/KX-6000G I/O APIC + 31b5 ZX-100/KX-5000/KX-6000/KX-6000G Scratch Device + 31b7 ZX-100/KX-5000/KX-6000/KX-6000G Standard Host Bridge 31b8 ZX-100/ZX-D PCI to PCI Bridge - 3288 ZX-100/ZX-D/ZX-E High Definition Audio Controller - 345b ZX-100/ZX-D/ZX-E Miscellaneous Bus + 3288 ZX-100/KX-5000/KX-6000/KX-6000G High Definition Audio Controller + 345b ZX-100/KX-5000/KX-6000/KX-6000G Miscellaneous Bus 3a02 ZX-100 C-320 GPU 3a03 ZX-D C-860 GPU 3a04 ZX-E C-960 GPU + 3c02 KX-6000G DRAM Controller + 3d01 KX-6000G C-1080 GPU 9002 ZX-100/ZX-200 EIDE Controller - 9003 ZX-100/ZX-E EIDE Controller + 9003 ZX-100/KX-6000/KX-6000G EIDE Controller + 9043 KX-6000G RAID Controller 9045 ZX-100/ZX-D/ZX-E RAID Accelerator 0 9046 ZX-D/ZX-E RAID Accelerator 1 - 9083 ZX-100/ZX-200/ZX-E StorX AHCI Controller + 9083 ZX-100/ZX-200/KX-6000/KX-6000G StorX AHCI Controller 9084 ZX-100 StorX AHCI Controller 9100 ZX-200 Cross bus 9101 ZX-200 Traffic Controller 9141 ZX-100 High Definition Audio Controller 9142 ZX-D High Definition Audio Controller 9144 ZX-E High Definition Audio Controller + 9145 KX-6000G High Definition Audio Controller 9180 ZX-200 Networking Gigabit Ethernet Adapter 9202 ZX-100 USB eXtensible Host Controller 9203 ZX-200 USB eXtensible Host Controller - 9204 ZX-E USB eXtensible Host Controller + 9204 KX-6000/KX-6000G USB eXtensible Host Controller 9286 ZX-D eMMC Host Controller - 9300 ZX-D/ZX-E eSPI Host Controller + 9300 ZX-100/KX-5000/KX-6000/KX-6000G eSPI Host Controller 95d0 ZX-100 Universal SD Host Controller - f410 ZX-100/ZX-D/ZX-E PCI Com Port + f410 ZX-100/KX-5000/KX-6000/KX-6000G PCI Com Port 1d18 RME 0001 Fireface UFX+ # acquired by Intel @@ -24400,6 +24547,8 @@ 101f AR-TK242 [2x100GbE Packet Capture Device] 1020 AR-GP-PF [General-Purpose Physical Function] 1021 AR-MGMT-PF [Board-Generic Management Physical Function] + 1022 AR-ARKA-FX2 [Arkville 128B DPDK Data Mover for Agilex] + 1023 AR-BD-FX1 [BufferDirect Zero-Bounce Data Motion Endpoint] 4200 A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument] 1d72 Xiaomi 1d78 DERA Storage @@ -24416,6 +24565,7 @@ 1d78 3103 D5457 U.2 1.6TB NVMe SSD 1d78 3105 D5457 U.2 3.2TB NVMe SSD 1d78 3107 D5457 U.2 6.4TB NVMe SSD + 1d78 3108 D5437 U.2 7.68TB NVMe SSD 1d78 5003 D5447 HHHL 1.6TB NVMe SSD 1d78 5004 D5427 HHHL 1.92TB NVMe SSD 1d78 5005 D5447 HHHL 3.2TB NVMe SSD @@ -24429,6 +24579,7 @@ 1d78 5114 D5427 U.2 1.92TB NVMe SSD 1d78 5116 D5427 U.2 3.84TB NVMe SSD 1d78 5118 D5427 U.2 7.68TB NVMe SSD + 1d78 8107 D5457 U.2 6.4TB NVMe SSD 1513 DERA MENG NVMe Controller 1d78 6015 D6456 HHHL 3.2TB NVMe SSD 1d78 6016 D6436 HHHL 3.84TB NVMe SSD @@ -24472,6 +24623,7 @@ 0100 RK3399 PCI Express Root Port 1808 RK1808 Neural Network Processor Card 3566 RK3568 Remote Signal Processor + 3588 RK3588 1d89 YEESTOR Microelectronics Co., Ltd 0280 PCIe NVMe SSD 1d8f Enyx @@ -24518,6 +24670,7 @@ 1da1 Teko Telecom S.r.l. 1da2 Sapphire Technology Limited e26a Radeon R7 250 + e445 Sapphire Radeon RX 6700 1da3 Habana Labs Ltd. 0001 HL-1000 AI Inference Accelerator [Goya] # PCIe accelerator card for Deep Learning inference tasks @@ -24536,6 +24689,7 @@ dc21 VPU Controller [X100 Series] dc22 DC Controller [X100 Series] dc23 I2S/DMA Controller [X100 Series] + dc24 NPU Controller [X100 Series] dc26 SATA Controller [X100 Series] dc27 USB Controller [X100 Series] dc29 NANDFLASH Controller [X100 Series] @@ -24554,12 +24708,20 @@ dc3a SWITCH Controller [X100 Series] dc3c GPU_DMA Controller [X100 Series] 1dbb NGD Systems, Inc. +1dbe INNOGRIT Corporation + 5636 NVMe DC SSD IG5636 + 1dbe 0001 DONGTING-N1 DC SSD U.2 + 1dbe 1001 DONGHU-Z1 DC ZNS SSD U.2 + 5638 NVMe DC SSD IG5638 + 1dbe 2001 DONGTING-N1 DC SSD U.2 + 1dbe 3001 DONGHU-Z1 DC ZNS SSD U.2 1dbf Guizhou Huaxintong Semiconductor Technology Co., Ltd 0401 StarDragon4800 PCI Express Root Port 1dc5 FADU Inc. 1dcd Liqid Inc. 1dcf Beijing Sinead Technology Co., Ltd. 1dd3 Sage Microelectronics Corp. +1dd4 Swissbit AG 1dd8 Pensando Systems 0002 DSC2 Elba Upstream Port 1dd8 5001 DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 Services Card @@ -24785,6 +24947,9 @@ 1028 2190 DC NVMe CD7 RI 7.68TB 1028 2191 DC NVMe SED CD7 RI 15.36TB 1028 2192 DC NVMe CD7 RI 15.36TB + 1028 2193 NVMe CD7 E3.S 1.92TB + 1028 2194 NVMe CD7 E3.S 3.84TB + 1028 2195 NVMe CD7 E3.S 7.68TB 1e17 Arnold & Richter Cine Technik GmbH & Co. Betriebs KG 1e24 Squirrels Research Labs 0101 Acorn CLE-101 @@ -24878,6 +25043,7 @@ 1e3d Burlywood, Inc 1e44 Valve Software 1e49 Yangtze Memory Technologies Co.,Ltd + 0021 ZHITAI TiPro5000 NVMe SSD 0041 ZHITAI TiPro7000 # YMTC PCIe/NVMe SSD 1013 PC210 @@ -24910,6 +25076,7 @@ 1e7b Dataland 1e7c Brainchip Inc bca1 AKD1000 Neural Network Coprocessor [Akida] +1e7e 9034 Pliops-Data Processor [XDP1.0] 1e81 Ramaxel Technology(Shenzhen) Limited 1203 NVMe SSD Controller UHXXXa series 1e81 a121 NVMe SSD UHXXXa series U.2 960GB @@ -24921,6 +25088,8 @@ 1e81 a212 NVMe SSD UHXXXa series U.2 1600GB  1e81 a213 NVMe SSD UHXXXa series U.2 3200GB  1e81 a214 NVMe SSD UHXXXa series U.2 6400GB  + 1e81 f123 NVMe SSD TP6500 series U.2 3840GB +1e83 Huaqin Technology Co.Ltd 1e85 Heitec AG 1e89 ID Quantique SA 0002 Quantis-PCIe-40M @@ -24929,12 +25098,14 @@ # aka SED Systems 1e94 Calian SED 1e95 Solid State Storage Technology Corporation - 1002 NVMe Datacenter LJ1 SSD [3DNAND, Rainier Controller] + 1002 NVMe SSD [3DNAND] 2.5" U.2 (LJ1) + 1e95 1101 NVMe SSD [3DNAND] 2.5" U.2 (LJ1) 1ea0 5636 TP1500 Series U.2 NVMe Datacenter SSD 1e9f Lynxi Technologies Co., Ltd. 1ea0 Tencent Technology (Shenzhen) Company Limited 2a16 Cloud Intelligent Inference Controller 2a18 Video Transcode Controller + 2a20 Cloud Intelligent Inference and Training Controller 1ea7 Intelliprop, Inc 223a Typhon+ PCIe to Gen-Z Bridge 224a IPA-PE224A CXL to Gen-Z Bridge [Sphinx] @@ -24951,6 +25122,15 @@ 3401 SSD Contoller 1ebd EMERGETECH Company Ltd. 0101 Seirios 2063 Video Codec +1ec8 Innosilicon Co Ltd + 8800 Fantasy I + 1ec8 12a2 Fantasy I Device + 9800 Fantasy II + 1ec8 12a2 Fantasy II Device + 9802 Fantasy II + 1ec8 12a2 Fantasy II Device + 9804 Fantasy II + 1ec8 12a2 Fantasy II Device 1ec9 Wingtech Group(HongKong)Limited 1ed2 FuriosaAI, Inc. 0000 Warboy @@ -24966,19 +25146,26 @@ 0122 MTT S1000 0123 MTT S2000 01ff MTT HDMI/DP Audio - 0201 G2D30 - 0202 G2D20 + 0200 MTT S80 Engineering Sample + 0201 MTT S80 + 0202 MTT S70 0203 G2D10 0211 G2D40 0221 G2S80 - 0222 G2S85 + 0222 MTT S3000 0223 G2S4 0251 G2N10 02ff MTT HDMI/DP Audio 1ed8 Digiteq Automotive 0101 FG4 PCIe Frame Grabber 1ed9 Myrtle.ai -1ee4 PETAiO, Inc +1ee1 Suzhou Kuhan Information Technologies + 0050 Aurora NVMe SSD Controller + 1ee1 0009 Airglow A430 NVMe SSD U.2 1.6TB *** 433 LINES SKIPPED *** From nobody Wed Jan 25 15:23:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P26zX01dSz3bjcP; Wed, 25 Jan 2023 15:23: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 4P26zW6N2Tz4Gcq; Wed, 25 Jan 2023 15:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674660183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TDLi9ZXIpi3Sm0w5l+OWOfLx/FE83oVIfa8ZUxYKN7I=; b=viifaS/u+jf2/GaOQgHGQyZHDGaxic5AeLdNMvt/02FC5NuhRMqFxAQix9uGNEBlIQWxG3 BwqoDZ8lxrB+MQfTTz0Kv6fNinDhhWXdOf13bWx9TKzg47QJpm60gJt0XAusbTKIV36n4N 9/XAvhjUbBghMzg9pY8OuIgiEpaIQbm1j/wy0cxzH5d68tZzZuV87kByabs5TdtE6GeNfF QEQcPpvT6mi0DLAdFC0Vpn683RoFlPXyCkVx1RY0wkiXDbGYpe05qnq8rAquHtWEtRE2Uu 8gdaaLr07U0OdJG3hTCrGLOZLUDh88Nbkvm/MwauCpGj7SlGeQ3mID2JOZhggA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674660183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TDLi9ZXIpi3Sm0w5l+OWOfLx/FE83oVIfa8ZUxYKN7I=; b=O4WN2EwMiHIKqZYos0LDxeNzUKfufL55OdlI/q0C3fcrcpWS7yjdy9xVLWyIKimRuFyV+K zIxcnKGB3sdra8IEbk36nC7Y/JXeCo1Lcih1Va8s4ECq/JZyqhyWoJlSbYw7GMFBNS+0F/ jf7of7QhGeOtP/6bkEyJPNXfdxUfxmz5pec5Wy+cGmYGDJnZN1hptHM+hYxOVPNOwv321l mAkP70VGQadyF1KoNC5dwGQN3sJOIM0bVXuymAwcZuAK3pqski2/5a7uwrciNtdleMygwY QWd3BJ9DZwJnl4vzLkj4TcQRXIlwXoSV52MnLI+BMcGZUah6n9nQcGRJiq2Pbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674660183; a=rsa-sha256; cv=none; b=uR/46upCpgRljjdY5P8tqiChymrSpq9nWLfaPziXjOf/LC0phIO1DGXrt2CgS4aO83TfVs DpEy6sFE99L7HChs3HeI9k9UBmcTMVCFPpHKuBv/i1m2wSZmL8Qij8MNCY6q/wY0jwC3dQ /tAX8utCzj+frGzDGnw4QKajtsbuRcDdoXsrl5G2x2bg/tSFcUqhO+8RrQVac7XWMBvKuV dKPRZmcTfXrRSd9jFcNNapJED+8MGv+C3Y+KrXx5dX9Xtw6uJJGWVS/XNE4HGYcLWoBjOX vPO7IpIfuGqtTABHJMPI9tOU9rpl+kngyfexfJQC1GQhJYN4Ds0mDZvFNU9fKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P26zW5Q1gztcK; Wed, 25 Jan 2023 15:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30PFN3LC071973; Wed, 25 Jan 2023 15:23:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30PFN3hh071972; Wed, 25 Jan 2023 15:23:03 GMT (envelope-from git) Date: Wed, 25 Jan 2023 15:23:03 GMT Message-Id: <202301251523.30PFN3hh071972@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: 54112db5c466 - stable/13 - stand/uboot: Remove -fPIC here List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 54112db5c466149040b7852ac27d677c5f45110d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=54112db5c466149040b7852ac27d677c5f45110d commit 54112db5c466149040b7852ac27d677c5f45110d Author: Warner Losh AuthorDate: 2023-01-25 15:03:08 +0000 Commit: Warner Losh CommitDate: 2023-01-25 15:21:04 +0000 stand/uboot: Remove -fPIC here When needed, -fPIC is added in defs.mk. While not in main, mips on stable/13 can't tolerate it. Remove it here. MFC After: now (it's a build issue) Sponsored by: Netflix (cherry picked from commit 4410e857965edef0e3be42ae323356ec08d2aaad) --- stand/uboot/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index 052c9615bfc2..ed2253cdae6f 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -62,8 +62,6 @@ SRCS+= metadata.c .include "${BOOTSRC}/fdt.mk" -CFLAGS+= -fPIC - # Pick up the bootstrap header for some interface items CFLAGS+= -I${LDRSRC} From nobody Wed Jan 25 15:23:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P26zY0tFfz3bjcT; Wed, 25 Jan 2023 15:23: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 4P26zY09xZz4H62; Wed, 25 Jan 2023 15:23:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674660185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1KycRv6EL4Sa5Itl4zGrRDwNPFxnayYz/MyCIh8Eqfc=; b=gEVb/wRw5O3Ut4/1iSuW+97VdTfyKofJQjVkeMYkJzGT/KhAFF6iF5UIhS1mYIzOrryzna pNPCWtEZSsizhXromz0MbHF1mupsNXad33ViSpmx2slm5L/e1RUoPbyK7uu4PdVyMTJgTd s7WRhJJwkZ05wfXKeFxIx8kZ1u1+s5sCA25Bs6iH9ZM7hvnAYBiDXs3DsOpwWxaznRzI8e flRKVe/bAFfXv6ZNOxSQXGmK5Yx9arskAkdrxiZvcwPAcfB4FSvQzIrBYfJfNi2nAlSb1y X7JqcY6voeUo/RSAFFX5t5qWhoafaYN2hfvNT47Hal3ucTMhCwbXlccyn4isng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674660185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1KycRv6EL4Sa5Itl4zGrRDwNPFxnayYz/MyCIh8Eqfc=; b=BSdyTfi8TAkKI7dhtpGyg6hwb1rDEGi3MKIwbx93+TAmkarR4OaIYdqSK9kXgLp1U02K+E WkQnwwTNVpn5tnP3vqfsUqoRFefp7vhmRijUXk+TDsRRLuK2o/MljxjLQ/zia2ncHndxCU L42kLtzvyfquaHam5hc5ZW9lALllrAm3fVHrzolbvUtURR40c+l9qg8afHYo0sSmbkzaBI fvcoJ2K9GQfJ54ElnxpIb1+W+laD5Ih5C5jjbN7BKbV6HviofY5KNl58S+SHM9uADLoM4Q LSqyajN6uQlxO6L6AniaidQPElSlfYT2BoqneNhMUHnTF9bamZDO7+apFVk+EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674660185; a=rsa-sha256; cv=none; b=LFzL2eR9d+2qcy4pyX5GKz3WK2O4s7dbG0+zpFPO3BIpuJv9skzM/Fv+n8/JpV06qQvVh/ DOiWp13o6GSrkq67giyJF44+1cKdwXX+cEnbrSnDust4+15oXVql9nxodv5NBPTImpuvhe 4Q+qNRioWDsQt3qwlPxtQOqKxT+zMfohFFcRvyPHBlAO+cLbQ4ZIM75hYVThyEifCgHziJ qPKV+77CDPADXvg0HvkVwEQcqP7aJYOFnS1XwRoncZbcxW5WkfJPqbbhIMeIzMqHWsC6G6 exwTH1RyGoYvEK+LHT///juIwUrOtsFlTxI9eD/hQXILDl+fYEZpzvsrVxTs3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P26zX6Mshzv4V; Wed, 25 Jan 2023 15:23:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30PFN4op071997; Wed, 25 Jan 2023 15:23:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30PFN4Wu071996; Wed, 25 Jan 2023 15:23:04 GMT (envelope-from git) Date: Wed, 25 Jan 2023 15:23:04 GMT Message-Id: <202301251523.30PFN4Wu071996@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: 8c7293a0ea24 - stable/13 - stand: update mips uboot to uboot reorg List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8c7293a0ea2492344e17021550838600fbffdfc5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8c7293a0ea2492344e17021550838600fbffdfc5 commit 8c7293a0ea2492344e17021550838600fbffdfc5 Author: Warner Losh AuthorDate: 2023-01-25 14:54:03 +0000 Commit: Warner Losh CommitDate: 2023-01-25 15:21:04 +0000 stand: update mips uboot to uboot reorg uboot reorg in main happened after the mips support was removed. Go ahead and do the same reorg here. Move the mips files from mips/uboot to uboot/arch/mips. Move mips/uboot/Makefile to uboot/arch/mips/Makefile.inc and cut out the common lines. Split uboot target into uboot and uboot.bin to better fit into reorg. This is a direct commit to stable/13 --- share/mk/src.opts.mk | 4 +- stand/mips/Makefile | 2 - stand/mips/uboot/Makefile | 64 ---------------------- stand/mips/uboot/help.uboot | 27 --------- stand/mips/uboot/version | 10 ---- stand/uboot/arch/mips/Makefile.inc | 26 +++++++++ stand/{mips/uboot => uboot/arch/mips}/conf.c | 0 .../{mips/uboot => uboot/arch/mips}/ldscript.mips | 0 stand/{mips/uboot => uboot/arch/mips}/start.S | 0 9 files changed, 28 insertions(+), 105 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index fc98ce6c032b..962b58b82a25 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -320,8 +320,8 @@ BROKEN_OPTIONS+=LOADER_OFW .if ${__T} != "powerpc64" && ${__T} != "amd64" BROKEN_OPTIONS+=LOADER_KBOOT .endif -# UBOOT is only for arm, and big-endian powerpc -.if (${__T:Marm*} == "" && ${__T:Mpowerpc*} == "") || ${__T} == "powerpc64le" +# UBOOT is only for arm, mips, and big-endian powerpc +.if (${__T:Marm*} == "" && ${__T:Mmips*} == "" && ${__T:Mpowerpc*} == "") || ${__T} == "powerpc64le" BROKEN_OPTIONS+=LOADER_UBOOT .endif # GELI and Lua in loader currently cause boot failures on powerpc. diff --git a/stand/mips/Makefile b/stand/mips/Makefile index 90341b2f7e50..e0c80f9ac031 100644 --- a/stand/mips/Makefile +++ b/stand/mips/Makefile @@ -2,8 +2,6 @@ NO_OBJ=t -SUBDIR= uboot - # # The BERI boot loader port works only on 64-bit MIPS; not a hard port to # 32-bit if someone is interested. Build on all 64-bit MIPS platforms to diff --git a/stand/mips/uboot/Makefile b/stand/mips/uboot/Makefile deleted file mode 100644 index 984582027de5..000000000000 --- a/stand/mips/uboot/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# $FreeBSD$ - -LOADER_CD9660_SUPPORT?= no -LOADER_EXT2FS_SUPPORT?= no -LOADER_MSDOS_SUPPORT?= yes -LOADER_UFS_SUPPORT?= yes -LOADER_NET_SUPPORT?= yes -LOADER_NFS_SUPPORT?= yes -LOADER_TFTP_SUPPORT?= no -LOADER_GZIP_SUPPORT?= no -LOADER_BZIP2_SUPPORT?= no - -.include - -FILES+= ubldr - -NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} -INSTALLFLAGS= -b -WARNS?= 1 -# Address at which ubldr will be loaded. -# This varies for different boards and SOCs. -.if ${MACHINE_ARCH:Mmips64*} -UBLDR_LOADADDR?= 0xffffffff80800000 -.else -UBLDR_LOADADDR?= 0x80800000 -.endif - -# Architecture-specific loader code -SRCS= start.S conf.c vers.c - -HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt - -# Always add MI sources -.include "${BOOTSRC}/loader.mk" - -CFLAGS+= -g - -LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} - -.include "${BOOTSRC}/uboot.mk" - -DPADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} -LDADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} - -OBJS+= ${SRCS:N*.h:R:S/$/.o/g} - -# ubldr on MIPS is built with '-mno-abicalls' flag, -# which is incompatible with PIE -MK_PIE= no - -ldscript.abs: - echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET} - -ldscript.pie: - echo "UBLDR_LOADADDR = 0;" >${.TARGET} - -ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD} - ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \ - -o ${.TARGET} ${OBJS} ${LDADD} - ${OBJCOPY} -S -O binary ubldr ubldr.bin - -CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin - -.include diff --git a/stand/mips/uboot/help.uboot b/stand/mips/uboot/help.uboot deleted file mode 100644 index c1574af92715..000000000000 --- a/stand/mips/uboot/help.uboot +++ /dev/null @@ -1,27 +0,0 @@ -$FreeBSD$ - -############################################################################### -# Tubenv DShow or import U-Boot environment variables - - ubenv [varname ...] - - Display U-Boot environment variables, or import them into the - loader environment (which makes them available in the kernel). - -############################################################################### -# Tubenv Simport DImport U-Boot env vars - - ubenv import [varname ...] - - If no variable names are specified, all U-Boot environment - variables are imported. Each variable is prefixed with "uboot." - to avoid any possible conflicts with loader or kernel variables. - -############################################################################### -# Tubenv Sshow DShow U-Boot env vars - - ubenv show [varname ...] - - If no variable names are specified, all U-Boot environment - variables are shown. - diff --git a/stand/mips/uboot/version b/stand/mips/uboot/version deleted file mode 100644 index ec46b388b281..000000000000 --- a/stand/mips/uboot/version +++ /dev/null @@ -1,10 +0,0 @@ -$FreeBSD$ - -NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this -file is important. Make sure the current version number is on line 6. - -1.3: Remove NAND FS support. -1.2: Extended with NAND FS support. -1.1: Flattened Device Tree blob support. -1.0: Added storage support. Booting from HDD, USB, etc. is now possible. -0.5: Initial U-Boot/arm version (netbooting only). diff --git a/stand/uboot/arch/mips/Makefile.inc b/stand/uboot/arch/mips/Makefile.inc new file mode 100644 index 000000000000..676b3c88d191 --- /dev/null +++ b/stand/uboot/arch/mips/Makefile.inc @@ -0,0 +1,26 @@ +# Address at which ubldr will be loaded. +# This varies for different boards and SOCs. +.if ${MACHINE_ARCH:Mmips64*} +UBLDR_LOADADDR?= 0xffffffff80800000 +.else +UBLDR_LOADADDR?= 0x80800000 +.endif + +# Architecture-specific loader code +SRCS+= start.S conf.c + +# ubldr on MIPS is built with '-mno-abicalls' flag, +# which is incompatible with PIE +MK_PIE= no + +ldscript.abs: + echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET} + +ubldr: ${OBJS} ldscript.abs ${LDSCRIPT} ${DPADD} + ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \ + -o ${.TARGET} ${OBJS} ${LDADD} + +ubldr.bin: ubldr + ${OBJCOPY} -S -O binary ubldr ubldr.bin + +CLEANFILES+= ldscript.abs ubldr ubldr.pie ubldr.bin diff --git a/stand/mips/uboot/conf.c b/stand/uboot/arch/mips/conf.c similarity index 100% rename from stand/mips/uboot/conf.c rename to stand/uboot/arch/mips/conf.c diff --git a/stand/mips/uboot/ldscript.mips b/stand/uboot/arch/mips/ldscript.mips similarity index 100% rename from stand/mips/uboot/ldscript.mips rename to stand/uboot/arch/mips/ldscript.mips diff --git a/stand/mips/uboot/start.S b/stand/uboot/arch/mips/start.S similarity index 100% rename from stand/mips/uboot/start.S rename to stand/uboot/arch/mips/start.S From nobody Wed Jan 25 15:23:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P26zZ1fw7z3bjhT; Wed, 25 Jan 2023 15:23: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 4P26zZ188xz4HKl; Wed, 25 Jan 2023 15:23:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674660186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5cHNjAD+MnT95K3l8rckXCB3/iH7f8MOVWdc8t2sz0=; b=ngfYg94wqwxtyEJusFK6EeLTHdl/iLaoTRIy5LzLakyNGxwCWvsO9ada1Go+C7q9I6OFN+ 1jKBoLVG8MI2j+0uKhlxJEEiuHZE6GjY150V4pRhkq0rFCpeQcrLwILa8JHdCcoKsL2o7w 6L0R0D47VDZxx1gl2j0YeboUm+YcW/uJsock4xvvYRXBVGkGycA4bDs8/uUdofvUbR/ZOg dL0I16MOLGB1UmrOqTHj4FkP6biN+yEXr75gu/9yryKKC274SyafVzTVFNb75H56sgTMdC N2LP3nK6aaSMNjF8bVFCLmioPxLI4LQv3yXN1T59ZpFGcqlT4j2W52BOEf8vhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674660186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5cHNjAD+MnT95K3l8rckXCB3/iH7f8MOVWdc8t2sz0=; b=cB8Nbhnofx+Fh2HvmjBKNC9+4x4ZE0PY1upKC9n2nJJn4xHKE+33k8wE7kjL1Yzl1pZxlp X5byZc2tz2XLEG5q07ihk2JuMShjHFczuKXRnaifk91hT0eW1fofrtxPLasshSvJFEkx9y Pljixc91hmbkv8fgVnU3tRQyirZ9Bx7eYX5abYw/lzkfwau5OIs2LAYBNAFQgv+fIoHfNU LBgSZf3gqSONy4baR8mwMBQpq8P2JzQmHueoqNuYcKToGGwMpEZroznOQt0ZgIPxR/8FPY by/YTFJq0D/QN0EC6cEd3UUw9dLoOMNmU28125BqdNIXyxzLgOlc+NlyL2P71g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674660186; a=rsa-sha256; cv=none; b=M68dUqGo7hF/iB8S959Ue4imbES9DajtVrZ8ai9MDCnP2+mT+taN+iDieIdzjOsThQEhXO pGrDbJRaSBeMO0jopDzgkV3IXTbx0aGhWO11Hnr+oy4ZbtHFOx0KvKoYGNOWUgWsyk3CK7 OM+REhpSAqzQa5IoPoIiDLdWAY5HDwGo0oAs8SBJfK9XSdjJpeelLkLMZSyWO5Zv2XhdY3 D2MbBataGXTT/M2qWGoqiJxRaX09OqrecEA06Jp44ZEF9n4r9nXfPEjBw227fGrIVShU6/ wgZEiLrzk21+V2/AdjqMKF9s100JYPajOAqN5x1es3PCek8BvR5JKYGRH+1U+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 4P26zZ0ClXztf2; Wed, 25 Jan 2023 15:23:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30PFN5ii072021; Wed, 25 Jan 2023 15:23:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30PFN5KT072020; Wed, 25 Jan 2023 15:23:05 GMT (envelope-from git) Date: Wed, 25 Jan 2023 15:23:05 GMT Message-Id: <202301251523.30PFN5KT072020@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: d428dcc996b5 - stable/13 - stand/mips64: Make beri loader compile List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d428dcc996b5ec26166bbd90ef0fc6996838c337 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d428dcc996b5ec26166bbd90ef0fc6996838c337 commit d428dcc996b5ec26166bbd90ef0fc6996838c337 Author: Warner Losh AuthorDate: 2023-01-25 15:14:45 +0000 Commit: Warner Losh CommitDate: 2023-01-25 15:21:04 +0000 stand/mips64: Make beri loader compile The devdesc reorgs in main were done after mips was deleted. Make the minimal changes to beri's devicename.c needed after that. I have no ability to test this, however, so it builds with similar warnings to before all my MFC changes. This is a direct commit to stable/13 --- stand/mips/beri/loader/devicename.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/stand/mips/beri/loader/devicename.c b/stand/mips/beri/loader/devicename.c index b1f0afd5bc1f..eb4c14e8a2af 100644 --- a/stand/mips/beri/loader/devicename.c +++ b/stand/mips/beri/loader/devicename.c @@ -85,7 +85,7 @@ static int beri_arch_parsedev(struct disk_devdesc **dev, const char *devspec, const char **path) { - struct disk_devdesc *idev; + struct devdesc *idev; struct devsw *dv; int i, unit, err; char *cp; @@ -113,7 +113,8 @@ beri_arch_parsedev(struct disk_devdesc **dev, const char *devspec, break; case DEVT_DISK: - err = disk_parsedev(idev, np, path); + free(idev); + err = disk_parsedev(&idev, np, path); if (err != 0) goto fail; break; @@ -139,7 +140,7 @@ beri_arch_parsedev(struct disk_devdesc **dev, const char *devspec, goto fail; } - idev->dd.d_unit = unit; + idev->d_unit = unit; if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; break; @@ -148,11 +149,11 @@ beri_arch_parsedev(struct disk_devdesc **dev, const char *devspec, err = EINVAL; goto fail; } - idev->dd.d_dev = dv; + idev->d_dev = dv; if (dev == NULL) { free(idev); } else { - *dev = idev; + *dev = (struct disk_devdesc *)idev; } return(0); From nobody Wed Jan 25 16:46:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P28qV5jpzz3bsv0; Wed, 25 Jan 2023 16:46:14 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_256_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 4P28qV3RSjz3CMg; Wed, 25 Jan 2023 16:46:14 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Authentication-Results: mx1.freebsd.org; none Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 20C613C0199; Wed, 25 Jan 2023 16:46:07 +0000 (UTC) Date: Wed, 25 Jan 2023 16:46:07 +0000 From: Brooks Davis To: Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: d428dcc996b5 - stable/13 - stand/mips64: Make beri loader compile Message-ID: References: <202301251523.30PFN5KT072020@gitrepo.freebsd.org> List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <202301251523.30PFN5KT072020@gitrepo.freebsd.org> X-Rspamd-Queue-Id: 4P28qV3RSjz3CMg X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Wed, Jan 25, 2023 at 03:23:05PM +0000, Warner Losh wrote: > The branch stable/13 has been updated by imp: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dd428dcc996b5ec26166bbd90ef= 0fc6996838c337 >=20 > commit d428dcc996b5ec26166bbd90ef0fc6996838c337 > Author: Warner Losh > AuthorDate: 2023-01-25 15:14:45 +0000 > Commit: Warner Losh > CommitDate: 2023-01-25 15:21:04 +0000 >=20 > stand/mips64: Make beri loader compile If removing BERI support made future MFCs easier it would be fine to do that. There are zero consumers. (BERI didn't take off and RISC-V is generally the research platform of choice for hardware people. We've moved to a combination of RISC-V and Morello for CHERI work.) -- Brooks From nobody Wed Jan 25 16:59:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P297b1jc4z3bvPR for ; Wed, 25 Jan 2023 17:00:11 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) (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 4P297Z759Mz3Dd9 for ; Wed, 25 Jan 2023 17:00:10 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x633.google.com with SMTP id rl14so46047764ejb.2 for ; Wed, 25 Jan 2023 09:00:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=s6/5uApVto5Byc9023OzvWtzPVYYD0K7yBeNfy3PxmY=; b=V1p+qLJvKfBy7OB5S3yOHSiC+Zm+wyqIC8gXU/9kerN2uzrveLIC1bXP2x9m5MDDWA pUQwSTkl5H2bXCJdZt4rL9lhdMOlLgT/khNzBvH9eY0D1YTO/jHEEXVAt4hgmmQZKoYd q8Y03FgH8o/wDME3/E0/hAzWfTFmCU+/d9kWMpWwtr+muixDiTzIQBja9s7Hyotd+B8E dgKvcLsMV+26FEHkpjd/yx08G3Es6S/xYgP5A2tbERAUHkihKTrQzu6fa+iuc+F3JEw+ 14i2ZGVpZehJg89mapl6smnBHuK2+ZINbX0MH7Sgd78iBrrr4121qSBTznlHpC1YmhI8 Qr0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=s6/5uApVto5Byc9023OzvWtzPVYYD0K7yBeNfy3PxmY=; b=Tv7G//7frPGkYRQ1N1Ipi5ikq4xmOL9u2soYdymBwl9OVYkwa2vCI++Vlw9oqL/KM5 LeR1e5DT/TxoeMa/WBYRjaVKeW9P7evhNccSzHwu9fjkh7jkY/MRetearYSig4z2WCK2 E75K6Ckp1t5xzoAOZR1uX3cMNJXoTwNMcoWIy6xh+2liidXh3+/f3MpY4FRLfgZhXCI0 5QxPVUSte7C5AcBhbkFPp/hcVL+SCnsWW4Q9YhStsPX+Xd48A4l8rJauOIBMGbxfVlCO 26NESfJm5lLxgvHdOUcmLHgoc9+arlyUs6q2z1NUaoC0O7mjRkod67cvAmDV4abQWMyP NK0g== X-Gm-Message-State: AFqh2kqe6YUuW8BsanoYt1BKOp37iK4fPgLAOUkyU1tMNsZllU0/6yhh ttN/qO0ZqVASFkHNPIdufb6b+MV0PUXOfe5Cuxd/hRD3VDMjsg== X-Google-Smtp-Source: AMrXdXv+d11zxn29VV0L/Nbp3dtkVyvx0v7Ney7Au/zRB+QIYjrpRsu+XhVDMwDLbO0sgPtxZ5OcvMMjwy4gnJIJr24= X-Received: by 2002:a17:907:b9cf:b0:7c1:44a3:c2d0 with SMTP id xa15-20020a170907b9cf00b007c144a3c2d0mr3585641ejc.326.1674666009688; Wed, 25 Jan 2023 09:00:09 -0800 (PST) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 References: <202301251523.30PFN5KT072020@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 25 Jan 2023 09:59:58 -0700 Message-ID: Subject: Re: git: d428dcc996b5 - stable/13 - stand/mips64: Make beri loader compile To: Brooks Davis Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Content-Type: multipart/alternative; boundary="000000000000a00c5c05f319904a" X-Rspamd-Queue-Id: 4P297Z759Mz3Dd9 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --000000000000a00c5c05f319904a Content-Type: text/plain; charset="UTF-8" On Wed, Jan 25, 2023 at 9:46 AM Brooks Davis wrote: > On Wed, Jan 25, 2023 at 03:23:05PM +0000, Warner Losh wrote: > > The branch stable/13 has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=d428dcc996b5ec26166bbd90ef0fc6996838c337 > > > > commit d428dcc996b5ec26166bbd90ef0fc6996838c337 > > Author: Warner Losh > > AuthorDate: 2023-01-25 15:14:45 +0000 > > Commit: Warner Losh > > CommitDate: 2023-01-25 15:21:04 +0000 > > > > stand/mips64: Make beri loader compile > > If removing BERI support made future MFCs easier it would be fine to do > that. There are zero consumers. (BERI didn't take off and RISC-V is > generally the research platform of choice for hardware people. We've > moved to a combination of RISC-V and Morello for CHERI work.) > I think I will remove the BERI support then, if there's no users. MIPS is a tier-2 platform so we can do things like this in a stable branch, especially given BERI's special nature. I'm unsure that my changes even work, so it's likely best we just do that. I don't know for sure it will make future MFCs easier, but there's a lot of copied code in it that I've centralized and fixed bugs in, and likely will continue to do so and definitely won't think to fix BERI when I MFC. Warner --000000000000a00c5c05f319904a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


--000000000000a00c5c05f319904a-- From nobody Wed Jan 25 18:36:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2CHH69Kvz3b75V; Wed, 25 Jan 2023 18:36: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 4P2CHH5k5Jz3Qn1; Wed, 25 Jan 2023 18:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674671819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=in7YjloS0HKi3ikqo67DqZWWA/JMuMMG+x0k4KJpqhE=; b=UnOGkvBYwsk7hKQxZsJo+H6pAX5qoceEG4s7Eknp7Y10+0r1ojFuKbxe5mflyIs1H63CkL YLqoV4Bf8tImIXlhocBTQUjQeQQ38nXYbJjFdEIRjCmyjZSA7CARR+e7QncoYHCuE+JkWf ydUNVcVK0embKU4/05MYppAvAB6ScEIWQC4cpFtr4QLOuvVKsslUPbG5amR45/QO297oPs e/nOhhfWN0dn/9tCWKyzPmWv2i56+exCUDwmJuL89zyslmsghvyrwfb3BYTbOMPza1Tmfo TxoUuzCeFbBa5gGesRAl5QbIRu00Lqi58XvD9JQtU1GqTj878AfV9Z11YZehWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674671819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=in7YjloS0HKi3ikqo67DqZWWA/JMuMMG+x0k4KJpqhE=; b=E/f00LiS96YHicRA6ybNWfYS/jIk8O0jQt6JESoPPUSJLHRkrwKG6IGi0lLm/7RXgDZYb8 AxKqmIYSn8ijoIUKUM6m9mocaweblvm/Uf57deGxU+uQ7z8PQveeP/cQYIhb4v8DmF+A1p 1GHKfBB/FwhW9caQr4JxyGHb4D/mY0l1vb4n4FWJEt9SMOHOZKAtxro4k9eEtMFgcXHdJi TUWK8hPwwOMBiuGVdWZLzasy2Drr4E7N+5RoR6sjKU8HDNj6vq/EqTxzXLsjn4+Hu3nqO7 ffviq4npUx2hsE/CMYVsEkHC4VZmWQ+yLsIrs9OZspz98PG+EFJrxlvwDyby1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674671819; a=rsa-sha256; cv=none; b=WSpXMpn327XjhWYodRFwmEi+ICnaPmDtTVmRPrVZoDpqHouwRDqkh67ekUFFUMlFAqlJO6 pd2sF53I69sh68VT8H7vN8YoLuURCDDq6U6r/5eSPYEOijrNFZcYyp9AwgB0JLjUbv49Pu Ugk0v5J5iZV5CgKjaGe3WV/bQDdZTOb/IZtxto8lGS9sipMzm1C847rNpRhmNzMF9lF8T0 YpjtH014+7lHa6IDohRMHCqSwjYLbLKFpWdEuvlo/e674661Xt8DmIiYORDVH1mV9G2M9Z Kq2KeBZ6+9Bf5MML20gCjuXEAz3IiWvr9jk1anLXJ8WXbWyRCXVLXFr1KMEZyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2CHH4nCBz10Bd; Wed, 25 Jan 2023 18:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30PIax7Y047728; Wed, 25 Jan 2023 18:36:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30PIaxg6047727; Wed, 25 Jan 2023 18:36:59 GMT (envelope-from git) Date: Wed, 25 Jan 2023 18:36:59 GMT Message-Id: <202301251836.30PIaxg6047727@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: 20840247bcdd - stable/13 - stand: updated MFC info. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 20840247bcddf99439ba6e7a224efb2edb8922b1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=20840247bcddf99439ba6e7a224efb2edb8922b1 commit 20840247bcddf99439ba6e7a224efb2edb8922b1 Author: Warner Losh AuthorDate: 2023-01-25 18:26:44 +0000 Commit: Warner Losh CommitDate: 2023-01-25 18:26:44 +0000 stand: updated MFC info. This is a direct commit to stable/13 --- stand/mfc-notes.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/stand/mfc-notes.txt b/stand/mfc-notes.txt index 3d9c15a10c92..89dca26af4d0 100644 --- a/stand/mfc-notes.txt +++ b/stand/mfc-notes.txt @@ -1,4 +1,4 @@ -Stand has been merged from main:4883f347f6ed. The following hashes can't be +Stand has been merged through main:4410e857965e. The following hashes can't be merged for the reasons listed. b366ee4868bc already merged with ZFS @@ -29,3 +29,7 @@ ed68931c3f9c geliboot: Use the multi-block functions for AES-XTS. 20b23ae74b2b mips is still in stable/13 8cc2156f85bb We're not 14, yet 44796b7e822e beri uses this, it seems, and is still in stable/13 + +Also, BERI was removed with the permission of the originators since all that +hardware has been retired. + From nobody Wed Jan 25 18:37:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2CHK00Kdz3b7Ns; Wed, 25 Jan 2023 18:37: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 4P2CHJ6pncz3QjD; Wed, 25 Jan 2023 18:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674671820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmCt0V/bvlQDWfl/Pcf9eRSPh3x/zNnJJbqskuhf5eo=; b=ytivKR/YH1ID6IjfmW7uQHgOa24TZJ/0f6EXElaBVilUylQg/A8USMlWzpnLmRWXQzNWV0 gS7zITBjYcx5MHzsCLz9s+pZ5RhU5fiA3C3hhBfj1JCmAgncYaPE1WjST3UvrCciCG6I7J 3wTMRbPuAdjq1cM9N1nxdFnAuOw+iezTetn/Xn5GNiLsmXtPnL/DB+2qIrdpQNykox2uvu ox3x/h4b1lkxn6Frx3mTMdFyW0MkB6J4dx2yfDMzhhOU4h4I+fscyW/jWcAN9eUyzMKfxy owGGGLYNyeiCMFntYITpKO2l8WXTUOL4oBIN9U3WctHK1PUjXOU8My6m2EqCIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674671820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmCt0V/bvlQDWfl/Pcf9eRSPh3x/zNnJJbqskuhf5eo=; b=BekevhZ2i6jx/P/AXC7/cv3U8gDUdlXXyaSFLaUoutcqtneuibfrphKYtyOoSFTUW1gPQb f7XRHYJMPSsm78SVcQ+Tum4CPmBabg226K1XSozg1atDarqlaqmocmH9zJeBhTMLTPr7tW C97dLPvghkN26c7T0ZjdkkTWB9civLj5+viz5kU0WBP81KtrEmI+fM+BlBZR/AEmckcryU iAWEsici5pOpH72wrkpMCGTWH/eLvytioHB711+F9HyeAs2OwXI4jGVUiDd44ecyHkSWGA t5hutUITPGMKd/SEI3o0mFF6nkCA3cl8EmJZmI0cOGoylpn50L/htrQjdrlyAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674671820; a=rsa-sha256; cv=none; b=BGEPAHoGUX6isQNOd9yZqewHhZqiJkiuORqHS1ltRRYAmimiAwzH8XfzoF1Vbtoz4mWX8A wAzz5caXiIw6Kz4o7gmdhxj4vW3h9272oZGZpnr4RMdpPu7rJMm2emfazcPoseoasDbTrU aSs599KXzkUX/XUu619DDBZR8lfY7VM2P0BmGl800g2mocsP4tHGx8aqjGCyBmKY8M65ZP AWlF3+z0W65HMY996u5BKmr8jGZOl5HCSMwJC5TN7fkNr5uGy3Iy0tMImgwII2tXIE3RCd 0raWm/wN7NGcxzkG1EWEowcehYGk0/ZFg9jH7RvgeKfgotolBb3G7YF6Fn4c0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2CHJ5bmTz10Bf; Wed, 25 Jan 2023 18:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30PIb0JF047752; Wed, 25 Jan 2023 18:37:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30PIb0mS047751; Wed, 25 Jan 2023 18:37:00 GMT (envelope-from git) Date: Wed, 25 Jan 2023 18:37:00 GMT Message-Id: <202301251837.30PIb0mS047751@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: ef72e52e8e0e - stable/13 - stand/mips: retire BERI boot loader List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ef72e52e8e0e26590e85ce8a96ac0bcfae6807ab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ef72e52e8e0e26590e85ce8a96ac0bcfae6807ab commit ef72e52e8e0e26590e85ce8a96ac0bcfae6807ab Author: Warner Losh AuthorDate: 2023-01-25 18:31:00 +0000 Commit: Warner Losh CommitDate: 2023-01-25 18:33:20 +0000 stand/mips: retire BERI boot loader The folks that created the BERI boot loader no longer need it. They've long since moved on to other research platforms. Since BERI loader contains yet another copy of code that I've consolodated; and since it's impossible to test this platform; and since there are no users, retire it completely to ease future MFCs. OK'd by: brooks@ Sponsored by: Netflix This is a direct commit to stable/13 --- stand/mips/Makefile | 14 - stand/mips/Makefile.inc | 3 - stand/mips/beri/Makefile | 5 - stand/mips/beri/Makefile.inc | 9 - stand/mips/beri/boot2/Makefile | 78 ---- stand/mips/beri/boot2/boot2.c | 669 ------------------------------ stand/mips/beri/boot2/flashboot.ldscript | 65 --- stand/mips/beri/boot2/jtagboot.ldscript | 64 --- stand/mips/beri/boot2/relocate.S | 103 ----- stand/mips/beri/boot2/start.S | 82 ---- stand/mips/beri/common/altera_jtag_uart.c | 175 -------- stand/mips/beri/common/beri.h | 42 -- stand/mips/beri/common/cfi.c | 75 ---- stand/mips/beri/common/cfi.h | 40 -- stand/mips/beri/common/common.ldscript | 76 ---- stand/mips/beri/common/cons.h | 40 -- stand/mips/beri/common/mips.h | 156 ------- stand/mips/beri/common/sdcard.c | 333 --------------- stand/mips/beri/common/sdcard.h | 41 -- stand/mips/beri/loader/Makefile | 109 ----- stand/mips/beri/loader/arch.c | 97 ----- stand/mips/beri/loader/beri_console.c | 90 ---- stand/mips/beri/loader/beri_disk_cfi.c | 141 ------- stand/mips/beri/loader/beri_disk_sdcard.c | 147 ------- stand/mips/beri/loader/devicename.c | 207 --------- stand/mips/beri/loader/exec.c | 125 ------ stand/mips/beri/loader/gfx_fb.c | 78 ---- stand/mips/beri/loader/help.mips | 1 - stand/mips/beri/loader/loader.h | 61 --- stand/mips/beri/loader/loader.ldscript | 84 ---- stand/mips/beri/loader/main.c | 245 ----------- stand/mips/beri/loader/start.S | 49 --- stand/mips/beri/loader/version | 6 - 33 files changed, 3510 deletions(-) diff --git a/stand/mips/Makefile b/stand/mips/Makefile deleted file mode 100644 index e0c80f9ac031..000000000000 --- a/stand/mips/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -NO_OBJ=t - -# -# The BERI boot loader port works only on 64-bit MIPS; not a hard port to -# 32-bit if someone is interested. Build on all 64-bit MIPS platforms to -# ensure it gets adequate build-test coverage. -# -.if ${MACHINE_ARCH} == "mips64" -SUBDIR+= beri -.endif - -.include diff --git a/stand/mips/Makefile.inc b/stand/mips/Makefile.inc deleted file mode 100644 index 265f86d1ed55..000000000000 --- a/stand/mips/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -.include "../Makefile.inc" diff --git a/stand/mips/beri/Makefile b/stand/mips/beri/Makefile deleted file mode 100644 index afcb538816b8..000000000000 --- a/stand/mips/beri/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -SUBDIR= boot2 loader - -.include diff --git a/stand/mips/beri/Makefile.inc b/stand/mips/beri/Makefile.inc deleted file mode 100644 index a95ca3dc1861..000000000000 --- a/stand/mips/beri/Makefile.inc +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -LDFLAGS+= -nostdlib - -# BERI boot loader is built with '-mno-abicalls' flag, -# which is incompatible with PIE -MK_PIE= no - -.include "../Makefile.inc" diff --git a/stand/mips/beri/boot2/Makefile b/stand/mips/beri/boot2/Makefile deleted file mode 100644 index afc061b4eb05..000000000000 --- a/stand/mips/beri/boot2/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -#- -# Copyright (c) 2013-2014 Robert N. M. Watson -# All rights reserved. -# -# This software was developed by SRI International and the University of -# Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -# ("CTSRD"), as part of the DARPA CRASH research programme. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ - -.include - -INSTALLFLAGS= -b - -LOADERS= flashboot jtagboot -FILES= ${LOADERS} ${LOADERS:S/$/.md5/} - -SRCS= relocate.S \ - start.S \ - boot2.c \ - altera_jtag_uart.c \ - cfi.c \ - sdcard.c - -AFLAGS= -G0 - -CFLAGS+= -I${LDRSRC} \ - -Wall \ - -G0 \ - -fno-pic -mno-abicalls \ - -g - -LDFLAGS+= -static \ - -Wl,-N \ - -G0 \ - -L${.CURDIR} - -.PATH: ${BOOTSRC}/mips/beri/common -CFLAGS+= -I${BOOTSRC}/mips/beri/common - -flashboot.elf: relocate.o start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o - ${CC:N${CCACHE_BIN}} ${LDFLAGS} -T ${.CURDIR}/flashboot.ldscript \ - -o ${.TARGET} ${.ALLSRC} ${LIBSA} -flashboot: flashboot.elf - ${OBJCOPY} -S -O binary ${.TARGET}.elf ${.TARGET} -flashboot.md5: flashboot - md5 flashboot > flashboot.md5 - -jtagboot: start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o - ${CC:N${CCACHE_BIN}} ${LDFLAGS} -T ${.CURDIR}/jtagboot.ldscript \ - -o ${.TARGET} ${.ALLSRC} ${LIBSA} -jtagboot.md5: jtagboot - md5 jtagboot > jtagboot.md5 - -CLEANFILES+= flashboot.elf - -.include diff --git a/stand/mips/beri/boot2/boot2.c b/stand/mips/beri/boot2/boot2.c deleted file mode 100644 index f771da856e4c..000000000000 --- a/stand/mips/beri/boot2/boot2.c +++ /dev/null @@ -1,669 +0,0 @@ -/*- - * Copyright (c) 2013-2014 Robert N. M. Watson - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * Copyright (c) 1998 Robert Nordier - * All rights reserved. - * - * Redistribution and use in source and binary forms are freely - * permitted provided that the above copyright notice and this - * paragraph and the following disclaimer are duplicated in all - * such forms. - * - * This software is provided "AS IS" and without any express or - * implied warranties, including, without limitation, the implied - * warranties of merchantability and fitness for a particular - * purpose. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "paths.h" -#include "rbx.h" - -static int beri_argc; -static const char **beri_argv, **beri_envv; -static uint64_t beri_memsize; - -#define IO_KEYBOARD 1 -#define IO_SERIAL 2 - -#define SECOND 1 /* Circa that many ticks in a second. */ - -#define ARGS 0x900 -#define NOPT 14 -#define MEM_BASE 0x12 -#define MEM_EXT 0x15 - -/* - * XXXRW: I think this has to do with whether boot2 expects a partition - * table? - */ -#define DRV_HARD 0x80 -#define DRV_MASK 0x7f - -/* Default to using CFI flash. */ -#define TYPE_DEFAULT BOOTINFO_DEV_TYPE_SDCARD - -/* Hard-coded assumption about location of JTAG-loaded kernel. */ -#define DRAM_KERNEL_ADDR ((void *)mips_phys_to_cached(0x20000)) - -extern uint32_t _end; - -static const char optstr[NOPT] = "DhaCcdgmnpqrsv"; /* Also 'P', 'S' */ -static const unsigned char flags[NOPT] = { - RBX_DUAL, - RBX_SERIAL, - RBX_ASKNAME, - RBX_CDROM, - RBX_CONFIG, - RBX_KDB, - RBX_GDB, - RBX_MUTE, - RBX_NOINTR, - RBX_PAUSE, - RBX_QUIET, - RBX_DFLTROOT, - RBX_SINGLE, - RBX_VERBOSE -}; - -/* These must match BOOTINFO_DEV_TYPE constants. */ -static const char *const dev_nm[] = {"dram", "cfi", "sdcard"}; -static const u_int dev_nm_count = nitems(dev_nm); - -static struct dsk { - unsigned type; /* BOOTINFO_DEV_TYPE_x object type. */ - uintptr_t unitptr; /* Unit number or pointer to object. */ - uint8_t slice; - uint8_t part; -#if 0 - unsigned start; - int init; -#endif -} dsk; -static char cmd[512], cmddup[512], knamebuf[1024]; -static const char *kname; -uint32_t opts; -#if 0 -static int comspeed = SIOSPD; -#endif -struct bootinfo bootinfo; -static uint8_t ioctrl = IO_KEYBOARD; - -void putchar(int); -static void boot_fromdram(void); -static void boot_fromfs(void); -static void load(void); -static int parse(void); -static int dskread(void *, unsigned, unsigned); -static int xputc(int); -static int xgetc(int); - -#define UFS_SMALL_CGBASE -#include "ufsread.c" - -static struct dmadat __dmadat; - -static inline int -xfsread(ufs_ino_t inode, void *buf, size_t nbyte) -{ - if ((size_t)fsread(inode, buf, nbyte) != nbyte) { - printf("Invalid %s\n", "format"); - return -1; - } - return 0; -} - -static inline void -getstr(void) -{ - char *s; - int c; - - s = cmd; - for (;;) { - switch (c = xgetc(0)) { - case 0: - break; - case '\177': - case '\b': - if (s > cmd) { - s--; - printf("\b \b"); - } - break; - case '\n': - case '\r': - putchar('\n'); - *s = 0; - return; - default: - if (s - cmd < sizeof(cmd) - 1) - *s++ = c; - putchar(c); - } - } -} - -int -main(u_int argc, const char *argv[], const char *envv[], uint64_t memsize) -{ - uint8_t autoboot; - ufs_ino_t ino; - size_t nbyte; - - /* Arguments from Miniboot. */ - beri_argc = argc; - beri_argv = argv; - beri_envv = envv; - beri_memsize = memsize; - - dmadat = &__dmadat; -#if 0 - /* XXXRW: more here. */ - v86.ctl = V86_FLAGS; - v86.efl = PSL_RESERVED_DEFAULT | PSL_I; - dsk.drive = *(uint8_t *)PTOV(ARGS); -#endif - dsk.type = TYPE_DEFAULT; -#if 0 - dsk.unit = dsk.drive & DRV_MASK; - dsk.slice = *(uint8_t *)PTOV(ARGS + 1) + 1; -#endif - bootinfo.bi_version = BOOTINFO_VERSION; - bootinfo.bi_size = sizeof(bootinfo); - - /* Process configuration file */ - - autoboot = 1; - - if ((ino = lookup(PATH_CONFIG)) || - (ino = lookup(PATH_DOTCONFIG))) { - nbyte = fsread(ino, cmd, sizeof(cmd) - 1); - cmd[nbyte] = '\0'; - } - - if (*cmd) { - memcpy(cmddup, cmd, sizeof(cmd)); - if (parse()) - autoboot = 0; - if (!OPT_CHECK(RBX_QUIET)) - printf("%s: %s", PATH_CONFIG, cmddup); - /* Do not process this command twice */ - *cmd = 0; - } - - /* - * Try to exec stage 3 boot loader. If interrupted by a keypress, - * or in case of failure, try to load a kernel directly instead. - */ - - if (!kname) { - kname = PATH_LOADER; - if (autoboot && !keyhit(3*SECOND)) { - boot_fromfs(); - kname = PATH_KERNEL; - } - } - - /* Present the user with the boot2 prompt. */ - - for (;;) { - if (!autoboot || !OPT_CHECK(RBX_QUIET)) - printf("\nFreeBSD/mips boot\n" - "Default: %s%ju:%s\n" - "boot: ", - dev_nm[dsk.type], dsk.unitptr, kname); -#if 0 - if (ioctrl & IO_SERIAL) - sio_flush(); -#endif - if (!autoboot || keyhit(3*SECOND)) - getstr(); - else if (!autoboot || !OPT_CHECK(RBX_QUIET)) - putchar('\n'); - autoboot = 0; - if (parse()) - putchar('\a'); - else - load(); - } -} - -static void -boot(void *entryp, int argc, const char *argv[], const char *envv[]) -{ - - bootinfo.bi_kernelname = (bi_ptr_t)kname; - bootinfo.bi_boot2opts = opts & RBX_MASK; - bootinfo.bi_boot_dev_type = dsk.type; - bootinfo.bi_boot_dev_unitptr = dsk.unitptr; - bootinfo.bi_memsize = beri_memsize; -#if 0 - /* - * XXXRW: A possible future way to distinguish Miniboot passing a memory - * size vs DTB..? - */ - if (beri_memsize <= BERI_MEMVSDTB) - bootinfo.bi_memsize = beri_memsize; - else - bootinfo.bi_dtb = beri_memsize; -#endif - ((void(*)(int, const char **, const char **, void *))entryp)(argc, argv, - envv, &bootinfo); -} - -/* - * Boot a kernel that has mysteriously (i.e., by JTAG) appeared in DRAM; - * assume that it is already properly relocated, etc, and invoke its entry - * address without question or concern. - */ -static void -boot_fromdram(void) -{ - void *kaddr = DRAM_KERNEL_ADDR; /* XXXRW: Something better here. */ - Elf64_Ehdr *ehp = kaddr; - - if (!IS_ELF(*ehp)) { - printf("Invalid %s\n", "format"); - return; - } - boot((void *)ehp->e_entry, beri_argc, beri_argv, beri_envv); -} - -static void -boot_fromfs(void) -{ - union { - Elf64_Ehdr eh; - } hdr; - static Elf64_Phdr ep[2]; -#if 0 - static Elf64_Shdr es[2]; -#endif - caddr_t p; - ufs_ino_t ino; - uint64_t addr; - int i, j; - - if (!(ino = lookup(kname))) { - if (!ls) - printf("No %s\n", kname); - return; - } - if (xfsread(ino, &hdr, sizeof(hdr))) - return; - - if (IS_ELF(hdr.eh)) { - fs_off = hdr.eh.e_phoff; - for (j = i = 0; i < hdr.eh.e_phnum && j < 2; i++) { - if (xfsread(ino, ep + j, sizeof(ep[0]))) - return; - if (ep[j].p_type == PT_LOAD) - j++; - } - for (i = 0; i < 2; i++) { - p = (caddr_t)ep[i].p_paddr; - fs_off = ep[i].p_offset; - if (xfsread(ino, p, ep[i].p_filesz)) - return; - } - p += roundup2(ep[1].p_memsz, PAGE_SIZE); -#if 0 - bootinfo.bi_symtab = VTOP(p); - if (hdr.eh.e_shnum == hdr.eh.e_shstrndx + 3) { - fs_off = hdr.eh.e_shoff + sizeof(es[0]) * - (hdr.eh.e_shstrndx + 1); - if (xfsread(ino, &es, sizeof(es))) - return; - for (i = 0; i < 2; i++) { - *(Elf32_Word *)p = es[i].sh_size; - p += sizeof(es[i].sh_size); - fs_off = es[i].sh_offset; - if (xfsread(ino, p, es[i].sh_size)) - return; - p += es[i].sh_size; - } - } -#endif - addr = hdr.eh.e_entry; -#if 0 - bootinfo.bi_esymtab = VTOP(p); -#endif - } else { - printf("Invalid %s\n", "format"); - return; - } - boot((void *)addr, beri_argc, beri_argv, beri_envv); -} - -static void -load(void) -{ - - switch (dsk.type) { - case BOOTINFO_DEV_TYPE_DRAM: - boot_fromdram(); - break; - - default: - boot_fromfs(); - break; - } -} - -static int -parse() -{ - char *arg = cmd; - char *ep, *p, *q; - char unit; - size_t len; - const char *cp; -#if 0 - int c, i, j; -#else - int c, i; -#endif - - while ((c = *arg++)) { - if (c == ' ' || c == '\t' || c == '\n') - continue; - for (p = arg; *p && *p != '\n' && *p != ' ' && *p != '\t'; p++); - ep = p; - if (*p) - *p++ = 0; - if (c == '-') { - while ((c = *arg++)) { - if (c == 'P') { - cp = "yes"; -#if 0 - } else { - opts |= OPT_SET(RBX_DUAL) | OPT_SET(RBX_SERIAL); - cp = "no"; - } -#endif - printf("Keyboard: %s\n", cp); - continue; -#if 0 - } else if (c == 'S') { - j = 0; - while ((unsigned int)(i = *arg++ - '0') <= 9) - j = j * 10 + i; - if (j > 0 && i == -'0') { - comspeed = j; - break; - } - /* Fall through to error below ('S' not in optstr[]). */ -#endif - } - for (i = 0; c != optstr[i]; i++) - if (i == NOPT - 1) - return -1; - opts ^= OPT_SET(flags[i]); - } - ioctrl = OPT_CHECK(RBX_DUAL) ? (IO_SERIAL|IO_KEYBOARD) : - OPT_CHECK(RBX_SERIAL) ? IO_SERIAL : IO_KEYBOARD; -#if 0 - if (ioctrl & IO_SERIAL) { - if (sio_init(115200 / comspeed) != 0) - ioctrl &= ~IO_SERIAL; - } -#endif - } else { - /*- - * Parse a device/kernel name. Format(s): - * - * path - * deviceX:path - * - * NB: Utterly incomprehensible but space-efficient ARM/i386 - * parsing removed in favour of larger but easier-to-read C. This - * is still not great, however -- e.g., relating to unit handling. - * - * TODO: it would be nice if a DRAM pointer could be specified - * here. - * - * XXXRW: Pick up pieces here. - */ - - /* - * Search for a parens; if none, then it's just a path. - * Otherwise, it's a devicename. - */ - arg--; - q = strsep(&arg, ":"); - if (arg != NULL) { - len = strlen(q); - if (len < 2) { - printf("Invalid device: name too short\n"); - return (-1); - } - - /* - * First, handle one-digit unit. - */ - unit = q[len-1]; - if (unit < '0' || unit > '9') { - printf("Invalid device: invalid unit %c\n", - unit); - return (-1); - } - unit -= '0'; - q[len-1] = '\0'; - - /* - * Next, find matching device. - */ - for (i = 0; i < dev_nm_count; i++) { - if (strcmp(q, dev_nm[i]) == 0) - break; - } - if (i == dev_nm_count) { - printf("Invalid device: no driver match\n"); - return (-1); - } - dsk.type = i; - dsk.unitptr = unit; /* Someday: also a DRAM pointer? */ - } else - arg = q; - if ((i = ep - arg)) { - if ((size_t)i >= sizeof(knamebuf)) - return -1; - memcpy(knamebuf, arg, i + 1); - kname = knamebuf; - } - } - arg = p; - } - return 0; -} - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - - /* XXXRW: eventually, we may want to pass 'drive' and 'unit' here. */ - switch (dsk.type) { - case BOOTINFO_DEV_TYPE_CFI: - return (cfi_read(buf, lba, nblk)); - - case BOOTINFO_DEV_TYPE_SDCARD: - return (altera_sdcard_read(buf, lba, nblk)); - - default: - return (-1); - } -} - -static int -dskread(void *buf, unsigned lba, unsigned nblk) -{ -#if 0 - /* - * XXXRW: For now, assume no partition table around the file system; it's - * just in raw flash. - */ - struct dos_partition *dp; - struct disklabel *d; - char *sec; - unsigned i; - uint8_t sl; - - if (!dsk_meta) { - sec = dmadat->secbuf; - dsk.start = 0; - if (drvread(sec, DOSBBSECTOR, 1)) - return -1; - dp = (void *)(sec + DOSPARTOFF); - sl = dsk.slice; - if (sl < BASE_SLICE) { - for (i = 0; i < NDOSPART; i++) - if (dp[i].dp_typ == DOSPTYP_386BSD && - (dp[i].dp_flag & 0x80 || sl < BASE_SLICE)) { - sl = BASE_SLICE + i; - if (dp[i].dp_flag & 0x80 || - dsk.slice == COMPATIBILITY_SLICE) - break; - } - if (dsk.slice == WHOLE_DISK_SLICE) - dsk.slice = sl; - } - if (sl != WHOLE_DISK_SLICE) { - if (sl != COMPATIBILITY_SLICE) - dp += sl - BASE_SLICE; - if (dp->dp_typ != DOSPTYP_386BSD) { - printf("Invalid %s\n", "slice"); - return -1; - } - dsk.start = le32toh(dp->dp_start); - } - if (drvread(sec, dsk.start + LABELSECTOR, 1)) - return -1; - d = (void *)(sec + LABELOFFSET); - if (le32toh(d->d_magic) != DISKMAGIC || - le32toh(d->d_magic2) != DISKMAGIC) { - if (dsk.part != RAW_PART) { - printf("Invalid %s\n", "label"); - return -1; - } - } else { - if (!dsk.init) { - if (le16toh(d->d_type) == DTYPE_SCSI) - dsk.type = TYPE_DA; - dsk.init++; - } - if (dsk.part >= le16toh(d->d_npartitions) || - !(le32toh(d->d_partitions[dsk.part].p_size))) { - printf("Invalid %s\n", "partition"); - return -1; - } - dsk.start += le32toh(d->d_partitions[dsk.part].p_offset); - dsk.start -= le32toh(d->d_partitions[RAW_PART].p_offset); - } - } - return drvread(buf, dsk.start + lba, nblk); -#else - return drvread(buf, lba, nblk); -#endif -} - -void -putchar(int c) -{ - if (c == '\n') - xputc('\r'); - xputc(c); -} - -static int -xputc(int c) -{ - if (ioctrl & IO_KEYBOARD) - beri_putc(c); -#if 0 - if (ioctrl & IO_SERIAL) - sio_putc(c); -#endif - return c; -} - -static int -xgetc(int fn) -{ - if (OPT_CHECK(RBX_NOINTR)) - return 0; - for (;;) { - if (ioctrl & IO_KEYBOARD && keyhit(0)) - return fn ? 1 : beri_getc(); -#if 0 - if (ioctrl & IO_SERIAL && sio_ischar()) - return fn ? 1 : sio_getc(); -#endif - if (fn) - return 0; - } -} - -int -getchar(void) -{ - - return xgetc(0); -} - -void -exit(int code) -{ - - printf("error: loader exit\n"); - while (1); - __unreachable(); -} diff --git a/stand/mips/beri/boot2/flashboot.ldscript b/stand/mips/beri/boot2/flashboot.ldscript deleted file mode 100644 index 4d61438bd9b8..000000000000 --- a/stand/mips/beri/boot2/flashboot.ldscript +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * Copyright (c) 2011-2014 Robert N. M. Watson - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -INCLUDE ../common/common.ldscript - -/* - * When boot2 is loaded via JTAG, it's dropped at 0x10000, and will not need - * to self-relocate, since it will be in DRAM. - */ -__boot2_base__ = 0x100000; -__boot2_base_vaddr__ = __mips64_xkphys_cached__ + __boot2_base__; - -/* - * XXXRW: Currently, miniboot interprets the ELF header rather than jumping - * straight into the loader. For now, give the location where we know it will - * be. - */ -ENTRY(prerelocate_start) -SECTIONS -{ - . = __boot2_base_vaddr__; - . += SIZEOF_HEADERS; - .text ALIGN(0x10): { - relocate.o(.text) - start.o(.text) - *(EXCLUDE_FILE (relocate.o start.o) .text) - } - .data ALIGN(0x10): { *(.data)} - .bss ALIGN(0x10): { *(.bss) } - - __heap = ALIGN(0x8); /* 64-bit aligned heap pointer */ - __data_end = .; - __boot_loader_len__ = . - __boot2_base_vaddr__; - __bss_start = ADDR(.bss); - __bss_end = ALIGN(__bss_start + SIZEOF(.bss), 0x8); -} diff --git a/stand/mips/beri/boot2/jtagboot.ldscript b/stand/mips/beri/boot2/jtagboot.ldscript deleted file mode 100644 index 064c6e15d038..000000000000 --- a/stand/mips/beri/boot2/jtagboot.ldscript +++ /dev/null @@ -1,64 +0,0 @@ -/*- - * Copyright (c) 2011-2014 Robert N. M. Watson - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -INCLUDE ../common/common.ldscript - -/* - * When boot2 is loaded via JTAG, it's dropped at 0x10000, and will not need - * to self-relocate, since it will be in DRAM. - */ *** 2779 LINES SKIPPED *** From nobody Thu Jan 26 03:01:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2QTp0vr9z3b8Gt; Thu, 26 Jan 2023 03:01: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 4P2QTp0Fk6z3Gqn; Thu, 26 Jan 2023 03:01:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674702110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BoYEmT4KMInZH4oQbbPbA4NszoLehJUv/eDice4C9yM=; b=ILtSkigcbtPOdoDGNkzVrD/16abjmbduBYZ6LDkBHoXfRPDHpL1gW0xOMO+2KoUEA5bqPy 5VgsvKefAwsUI2lIhauAD43sHKRy8tYAXh+iKPaoMSi6KmLOk1LXxBioyOOlxvDs9GELX8 9Gu3F+NbQKuo9YZH7Gx7YX3Fp26x1FScn1bgmSNKPUqDnLhLCdMYgdEdPqvT0uBBGvGQgm 2sBqkbK+ii5sxf7OxbzKHc37CJKTDQrDJzWg7B/ZXb65kuv8dob6efsVxg+bwvbPti2WXf vHFdQXaVwExSTEaELaJyRsGiXJRlIf2osndDikt/FtibQf+KvF4w0bj4e6vHtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674702110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BoYEmT4KMInZH4oQbbPbA4NszoLehJUv/eDice4C9yM=; b=Wp62t8sO3bdOXiZJ5NeRUsxYwn3kchHQrLNIWW3a+tYAjYJZTtrqqj085eRvylJuI4Zccs x+FtHSzulZ9TnQAt3kCxEs+WPmgmCeHuYL8E6/sDWogpGsiIoGVVjuRVam2VzvWNWC83kE YGVp2mXoc1AVOXgjfvv4AzIA+bt5L/R8yyDqDWwzD5WwcuggqcR3iJwayKElm9+yHiQuyN E8zLwbpYj/i+eihsHPcqzeBEAHbpt57W6z832gR3XhCdRbxz7/eNL/ha7FGQ6Zv1ifAeyF sjz25NpW9ZeKQPGZJUWngcDTi63Wlll8vTB0P1inko+oKuT5htkQTSkB0Yb6Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674702110; a=rsa-sha256; cv=none; b=NV8MUGj5r6VsT6n+rqv6nXXviP+j4/QCaCVykpOt1WHBtlIOpphcXTKV7CVclHVQxVowMk suU/B/3mjWgz61xui38QQJrVN+2Cd/S0r6Bv/StSQdMHMRnBZRXfiWPO4kDe+rMNz1T3Jr WqrxRAKatEBEeDulOsDPYfE0QnmPmhDlD00yjPrK349ER7+g+aG9wdxmw6vVpmfbH32Hba 6gZv7AeWZl/Hgqlhe8fDeDU1f34EsE2J/I+1zOZZwVsWddq8UmOeZbDtSWIW6TCpdE6+HG aby5dgMrz8d+cwdhrH6GaNcEIL6VpO3Nh/+EmB6AtrMg60yg1ci7WmYiFo3FjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2QTn6SP5zF4v; Thu, 26 Jan 2023 03:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30Q31n7L078857; Thu, 26 Jan 2023 03:01:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30Q31nDi078856; Thu, 26 Jan 2023 03:01:49 GMT (envelope-from git) Date: Thu, 26 Jan 2023 03:01:49 GMT Message-Id: <202301260301.30Q31nDi078856@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 1134f0d9a47a - stable/13 - nfscl: Improve NFSv4 error message for NFSERR_WRONGSEC List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1134f0d9a47acd65bc343a58a2eda274dc6a32b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=1134f0d9a47acd65bc343a58a2eda274dc6a32b5 commit 1134f0d9a47acd65bc343a58a2eda274dc6a32b5 Author: Rick Macklem AuthorDate: 2023-01-11 21:28:44 +0000 Commit: Rick Macklem CommitDate: 2023-01-26 03:00:52 +0000 nfscl: Improve NFSv4 error message for NFSERR_WRONGSEC The usual reason for an NFSv4 server replying NFSERR_WRONGSEC to an operation is that a Kerberos credential is required. This patch replaces a cryptic "err=10016" with a message suggesting that a Kerberos TGT is probably needed. (cherry picked from commit 39633fc1731c3feeed36aa452bbdfb7968a86383) --- sys/fs/nfsclient/nfs_clport.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index d530b848431e..4d8599c18363 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -1194,6 +1194,10 @@ nfscl_maperr(struct thread *td, int error, uid_t uid, gid_t gid) printf("nfsv4 no file handle: usually means the file " "system is not exported on the NFSv4 server\n"); return (EIO); + case NFSERR_WRONGSEC: + tprintf(p, LOG_INFO, "NFSv4 error WrongSec: You probably need a" + " Kerberos TGT\n"); + return (EIO); default: tprintf(p, LOG_INFO, "nfsv4 err=%d\n", error); return (EIO); From nobody Thu Jan 26 03:03:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2QWn2vVBz3b93q; Thu, 26 Jan 2023 03:03: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 4P2QWn2SwMz3Hh8; Thu, 26 Jan 2023 03:03:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674702213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IN0aO9a+rhCQK4BYyIPW6COUn1iM/VUszOPjbrZjF9Y=; b=EAA9sle7pyOdFK3aZNsx3er3kBJY9TsviWt4C9c223hNAHAiGjtIJKJgWjTQg8IC5vB7lA 0Jq9pIrMCrVGVoinzzfUgRGCeZoRR/LWq/Cpka488OQ3XTvV1faUsdNOXHWEEqicXyluq6 6QwuGmjPHrvUUpsvhz0sSPadG5VMGt2OtWUuRX0Q0d0gg/zaw0SeMfmUZJ263qUdpvoZ+F gi2R+ajmkNEZFfpu3Zb7PoYMXBv/ojY8/yGmitQIPnLtY2n4+4YYq6LZaXTxLXtKrz53lw JXnjMk3OfLzIRUOOPrhCeDSI/JQydxN9sM7K5fxWLRDMhJQom57Tj82s67I7Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674702213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IN0aO9a+rhCQK4BYyIPW6COUn1iM/VUszOPjbrZjF9Y=; b=vajBBILx4h5FEG10MliiKnDMrJ7FIh0l4OFNXFx/Bm9yHGq+EBE7hAP9aPIdE4QOV4tTW7 bn3XYmzIOAW/7aH7Xd4IK578MWfFD11XMO/H00I1dYvNzmewZc7xFiiu0sjl3MPfnS47MB Rxnf90o+LYORF/d9gxTG/anH/+/bv3mDzwgnknEuHHZcv+RSk6X77/Q34VIbypzET8Rd9T sGxPieLH159LU6D/W1KuRLZPwA/vvjTJDakWrKhmTg7pBZqlhNYdeFJxnbpv3tSMwSAbR9 7JeMZCd74OP7g1XfitmzzfyrUpeEvKXHejJvMftb4BjU+utCT2Am9tddNi5hwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674702213; a=rsa-sha256; cv=none; b=KosXymAmebwEH1jS0JNjm7ZT9XIs5HjXzxR5euvIXvmTV5mEuqEqUl9z3XiacJwsOG92L9 aQMYYdnPCNw75TMVMjCsPntHUuH+VnvF/Q/Eri+VvWx6ObdNiWJflf+vNCue5QFTYnobCR +z0rBHTT5wCsie8AKhU4t7pMVpoBBZPLguTRr8pIld+LZ+6jW4tDIHeByIbyCHOa1VOWDB eU/6ZKrc8TPvJ3hCIxZnuf6IHBzy+KRv1tGqzSp5DgSdpFu3+5fbscg4q4PVxYwyFcFSMJ vqh33AO2+pRmkFQrr4i/rjttLCS7brj07pSNiHgmoVtjq0VveOUzUJiEcIQ0qQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2QWn1Wj6zF7S; Thu, 26 Jan 2023 03:03:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30Q33X13081167; Thu, 26 Jan 2023 03:03:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30Q33XDw081165; Thu, 26 Jan 2023 03:03:33 GMT (envelope-from git) Date: Thu, 26 Jan 2023 03:03:33 GMT Message-Id: <202301260303.30Q33XDw081165@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 08b2c7770703 - stable/13 - kgssapi: Increase timeout for kernel to gssd(8) upcalls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 08b2c77707036768099e7df66222f75da877ebb7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=08b2c77707036768099e7df66222f75da877ebb7 commit 08b2c77707036768099e7df66222f75da877ebb7 Author: Rick Macklem AuthorDate: 2023-01-11 21:20:31 +0000 Commit: Rick Macklem CommitDate: 2023-01-26 03:02:18 +0000 kgssapi: Increase timeout for kernel to gssd(8) upcalls It turns out that the underlying problem that caused a Kerberized NFS mount with the "gssname" option to fail was that the kernel upcall to the gssd(8) daemon would time out prematurely after 25 seconds. The gss_acquire_cred() GSSAPI library call takes about 27 seconds for the case where a desired_name argument is specified. A similarly long delay occurs when the gss_init_sec_context() call is made and the user principal's TGT has expired. Once the upcall timed out, the kernel code assumed that the gssd(8) daemon had died and closed the socket. Ironically, closing the socket did cause the gssd(8) daemon to terminate via a SIGPIPE signal. This patch increases the timeout to 5 minutes. Since a timeout should only occur when the gssd(8) daemon has died, a long timeout should be ok and seems to fix this problem. I still think that commit c33509d49a should remain in the system, since it allows the mount to complete quickly and not take nearly 30 seconds. PR: 268823 (cherry picked from commit e3c26ce5cb410e4e58e131dfea7054e0bf11e3ca) --- sys/kgssapi/gss_impl.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c index 07e10d0999c4..9b1277298e32 100644 --- a/sys/kgssapi/gss_impl.c +++ b/sys/kgssapi/gss_impl.c @@ -119,7 +119,17 @@ sys_gssd_syscall(struct thread *td, struct gssd_syscall_args *uap) */ if (cl != NULL) { int retry_count = 5; + struct timeval timo; CLNT_CONTROL(cl, CLSET_RETRIES, &retry_count); + + /* + * Set the timeout for an upcall to 5 minutes. The + * default of 25 seconds is not long enough for some + * gss_XXX() calls done by the gssd(8) daemon. + */ + timo.tv_sec = 5 * 60; + timo.tv_usec = 0; + CLNT_CONTROL(cl, CLSET_TIMEOUT, &timo); } } else cl = NULL; From nobody Thu Jan 26 03:08:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2QdX5qrVz3b9N8; Thu, 26 Jan 2023 03:08: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 4P2QdX5Jbdz3HyN; Thu, 26 Jan 2023 03:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674702512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uvchpv7s3cbqIeAZ7l03b7Ln/Nhr3oPIDmR+V6kjDnI=; b=R4M88VklVpXQ6NgtJtbJmM0NqgPGXcWF99itu7XbXMAUBn4pMUWmu2OLmGJ4h05SOvkiIR vtAvz2DPH1XG4RxDZSgoMNPbjZUprTKyYxR69mV/3tSffBpivPIrlO2zeXdqDBrvIgBnQ9 hegQPb6/Me1XAOVWL33IVqnyEtbYF1EJvnJvu1gkYZOxIM01aIehVnzEhWCWOf9xUhsXaE 9kth9JwOO0kLmqG8azQJ29x+/YCOYEbx5sh4rpyKi0n9ANj2+YCVPw7ierVRGGugnm4fwr aqHE8NxrVTaFEW/inh78JtYH4bzhQwfqSwjZvb5XDI5ZICIsE483iMV1UtA/fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674702512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uvchpv7s3cbqIeAZ7l03b7Ln/Nhr3oPIDmR+V6kjDnI=; b=toDM/ZptV6nYgoYCKoBiaEaF6TghC/89Aj1Q+wCppkAphf1cyFKK4uwfoTrmx+sf+8zQ0w mOfzdXf8mCVu6rNyYdcD4u/P5I60ldjg4nI4xviCZFERrdpLZxgYJzutrZ6M/B7duleOOr 50Tuo6wWKvPahDimGPtumSKRVkhH3euZCwgMFLOtpvcnE9y8ep8UFCoMxs/h91ZGLvko7x cVRs2xPsREz3d1qtS7zE+1rT5wshdrr0s5UoGjEbvjUHijvzFMOxNxti0MkSTQhzVUrltB XivQLgrVLaFYfmCgxZ70WtnO4EYVa93CvApgsXmZEX7E+KDcJDmlHQEDJJrSbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674702512; a=rsa-sha256; cv=none; b=vHj+loPSiitWquqOFkr1bI4KuiqndnEli0+NypVckelalLr1buGQ3eVO1pV6YFWDEmjpHx 8HFNvDnFaNHXOWyAi5PrKZhDI4sHNYxbscBG8yiXO6EsYpHODg1nQG41JQXfV0vG6h3VA3 enproAL+J7mKl9eUAcLpS1hHjfcGVw5IhdGffdXBamJskLERefou+IwdDvMyUvWaIbOqZ0 XYYbfCh3Mcc4f9av6yf9dUkGAphEFVhr/XjsSlUMGgjy5/itGSvcWsB23lfzFcC3AO2ApS FO4YN/9JETogXGLcMyy/fEBRDDulWJkI0nEjokc9YISCRlD43CJsRoJEUzyEng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2QdX4M0xzF5c; Thu, 26 Jan 2023 03:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30Q38Wki081850; Thu, 26 Jan 2023 03:08:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30Q38WKH081849; Thu, 26 Jan 2023 03:08:32 GMT (envelope-from git) Date: Thu, 26 Jan 2023 03:08:32 GMT Message-Id: <202301260308.30Q38WKH081849@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 9d35b4b38e1a - stable/12 - kgssapi: Increase timeout for kernel to gssd(8) upcalls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 9d35b4b38e1a466371c551568538488b6f873d07 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=9d35b4b38e1a466371c551568538488b6f873d07 commit 9d35b4b38e1a466371c551568538488b6f873d07 Author: Rick Macklem AuthorDate: 2023-01-11 21:20:31 +0000 Commit: Rick Macklem CommitDate: 2023-01-26 03:07:41 +0000 kgssapi: Increase timeout for kernel to gssd(8) upcalls It turns out that the underlying problem that caused a Kerberized NFS mount with the "gssname" option to fail was that the kernel upcall to the gssd(8) daemon would time out prematurely after 25 seconds. The gss_acquire_cred() GSSAPI library call takes about 27 seconds for the case where a desired_name argument is specified. A similarly long delay occurs when the gss_init_sec_context() call is made and the user principal's TGT has expired. Once the upcall timed out, the kernel code assumed that the gssd(8) daemon had died and closed the socket. Ironically, closing the socket did cause the gssd(8) daemon to terminate via a SIGPIPE signal. This patch increases the timeout to 5 minutes. Since a timeout should only occur when the gssd(8) daemon has died, a long timeout should be ok and seems to fix this problem. I still think that commit c33509d49a should remain in the system, since it allows the mount to complete quickly and not take nearly 30 seconds. PR: 268823 (cherry picked from commit e3c26ce5cb410e4e58e131dfea7054e0bf11e3ca) --- sys/kgssapi/gss_impl.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c index 07e10d0999c4..9b1277298e32 100644 --- a/sys/kgssapi/gss_impl.c +++ b/sys/kgssapi/gss_impl.c @@ -119,7 +119,17 @@ sys_gssd_syscall(struct thread *td, struct gssd_syscall_args *uap) */ if (cl != NULL) { int retry_count = 5; + struct timeval timo; CLNT_CONTROL(cl, CLSET_RETRIES, &retry_count); + + /* + * Set the timeout for an upcall to 5 minutes. The + * default of 25 seconds is not long enough for some + * gss_XXX() calls done by the gssd(8) daemon. + */ + timo.tv_sec = 5 * 60; + timo.tv_usec = 0; + CLNT_CONTROL(cl, CLSET_TIMEOUT, &timo); } } else cl = NULL; From nobody Thu Jan 26 05:31:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2Tpv68Kzz3bXbv; Thu, 26 Jan 2023 05:31: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 4P2Tpv5wwmz3ljL; Thu, 26 Jan 2023 05:31:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674711111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=13hpxfRCw6sks42mmgmsU5kMU4gXIaSPJzkRUl6UsBY=; b=gIq264ssfmN+SaIjwbIVn/21BiiIIho06Dv90vEdMyWhKZOOCgjDeM9euzSi4xP+7dJnPP jiLUYEdKVD49Rxv7BDWMW1wpcb8ZcVQAc7vNdTni/W+0ghEaycvXqRJi7OlRfuVIUPV9Hx ZS1AXBBy6VMCEU4tyZrfbGZcDcwlLgLxii+UQomdDX+l7xVgEBD8GqOAhgrfQ8TslywTCu S33bYP2IixBUjCtKt0EXqZd7FE4KGLoupMlkTxNoSndRzDK1jikLyTKLLxWfwxThVXbPwR lHRQUrM+15vvwviirwToM1xuh2f6n+t/8vWW5C87MSWiHWMX1hax2co2r/Y95A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674711111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=13hpxfRCw6sks42mmgmsU5kMU4gXIaSPJzkRUl6UsBY=; b=ZcwFe/Vexsmniv/m6wc4lADtBOYnj3kVNqxa1/9IlKt4bZnR/M+nG95IzpfwZ8yPEbpWf2 JzAeqKEqGqQ0BoEZSc66RPMIhKNA86pQU/u5zIAnY2b8alMAxMEduuMIRdxSRGusX0CEJU Upf5IXu9vY4l06EFAmYrQquJVBzVQpkabnkObmNVI+x6ZgF5U7WoeRZZfJu8CIgfKmF+UM JIw/TDCl9cwoZd3w1Wjs5tleP0W6o21WdSv8IhB/BdK4/GCk3xdkch52F0M7NNrZUQVPOa GVIY//kgMnoMXrfeTuJL0djCwAKu+hVvrH+sDOWiwPr7IOqY7gfLZEJ8/n3r/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674711111; a=rsa-sha256; cv=none; b=mWeLi2t+lB6ur8mzSfbLZzezTYRIb/RPKT5bUVMoIs0EVGPdyaxkLsJxh7hJ+xb2eXpZ2N 5ryGiICEgAjemIfWhy2VUwa7BGUMXdg96+0PuoKpI/wJEyPLaYEWQbyt1FuJcXT42OkL5z L0vI+NcUeLgZP7gFhwvfjPHAbAQ8K1CIizOkpoht3+LsI2/bCs6GJ0QYF2tl5oVH6Mn0Ay WFVW/DMk8JIfTe/igvE9Po0HAltwK93dOBpFh10gjDrMiPE8uWKCjeZ7moFDffGlQRbUju 4lV6xV0GcmtNVfEag3rbMgSrMhBzvDFghugO18B2GFdQcAn/4GGhQgwMEOZPsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2Tpv50G5zJGJ; Thu, 26 Jan 2023 05:31:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30Q5VpuB092082; Thu, 26 Jan 2023 05:31:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30Q5VpcD092030; Thu, 26 Jan 2023 05:31:51 GMT (envelope-from git) Date: Thu, 26 Jan 2023 05:31:51 GMT Message-Id: <202301260531.30Q5VpcD092030@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 52e8d11dfe85 - stable/13 - MFC: MFV: xz 5.4.1. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 52e8d11dfe85d7a6455ae9456970d9653034deb2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=52e8d11dfe85d7a6455ae9456970d9653034deb2 commit 52e8d11dfe85d7a6455ae9456970d9653034deb2 Author: Xin LI AuthorDate: 2023-01-23 00:49:43 +0000 Commit: Xin LI CommitDate: 2023-01-26 05:31:38 +0000 MFC: MFV: xz 5.4.1. (cherry picked from commit 047153b416415605f127a3950e08c61f1910e9cb) --- contrib/xz/ChangeLog | 652 +++++++++++++++++++++ contrib/xz/THANKS | 3 + contrib/xz/src/common/mythread.h | 12 +- contrib/xz/src/common/sysdefs.h | 12 +- contrib/xz/src/common/tuklib_progname.c | 2 +- contrib/xz/src/common/tuklib_progname.h | 2 +- contrib/xz/src/liblzma/api/lzma/version.h | 2 +- contrib/xz/src/liblzma/check/crc64_fast.c | 18 + contrib/xz/src/liblzma/common/filter_encoder.c | 7 +- contrib/xz/src/liblzma/common/index.c | 1 + contrib/xz/src/liblzma/common/index.h | 12 +- contrib/xz/src/liblzma/common/index_decoder.c | 2 +- contrib/xz/src/liblzma/common/index_decoder.h | 1 + contrib/xz/src/liblzma/common/index_encoder.c | 2 +- contrib/xz/src/liblzma/common/index_hash.c | 4 +- contrib/xz/src/liblzma/common/microlzma_encoder.c | 3 +- .../xz/src/liblzma/common/stream_buffer_encoder.c | 1 + contrib/xz/src/liblzma/common/stream_decoder.c | 3 +- contrib/xz/src/liblzma/common/stream_decoder_mt.c | 2 +- contrib/xz/src/liblzma/simple/arm64.c | 1 + contrib/xz/src/xz/message.c | 9 + contrib/xz/src/xz/mytime.c | 7 +- contrib/xz/src/xz/suffix.c | 3 + lib/liblzma/config.h | 27 +- 24 files changed, 744 insertions(+), 44 deletions(-) diff --git a/contrib/xz/ChangeLog b/contrib/xz/ChangeLog index f2c2bd3cad3f..c068ad3e3901 100644 --- a/contrib/xz/ChangeLog +++ b/contrib/xz/ChangeLog @@ -1,3 +1,655 @@ +commit 18b845e69752c975dfeda418ec00eda22605c2ee +Author: Lasse Collin +Date: 2023-01-11 18:52:54 +0200 + + Bump version and soname for 5.4.1. + + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960 +Author: Jia Tan +Date: 2023-01-11 23:58:16 +0800 + + Add NEWS for 5.4.1. + + NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 70 insertions(+) + +commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2 +Author: Lasse Collin +Date: 2023-01-10 11:56:11 +0200 + + sysdefs.h: Don't include strings.h anymore. + + On some platforms src/xz/suffix.c may need for + strcasecmp() but suffix.c includes the header when it needs it. + + Unless there is an old system that otherwise supports enough C99 + to build XZ Utils but doesn't have C89/C90-compatible , + there should be no need to include in sysdefs.h. + + src/common/sysdefs.h | 6 ------ + 1 file changed, 6 deletions(-) + +commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6 +Author: Lasse Collin +Date: 2023-01-10 11:23:41 +0200 + + xz: Include in suffix.c if needed for strcasecmp(). + + SUSv2 and POSIX.1‐2017 declare only a few functions in . + Of these, strcasecmp() is used on some platforms in suffix.c. + Nothing else in the project needs (at least if + building on a modern system). + + sysdefs.h currently includes if HAVE_STRINGS_H is + defined and suffix.c relied on this. + + Note that dos/config.h doesn't #define HAVE_STRINGS_H even though + DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp() + is also in in DJGPP. + + src/xz/suffix.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit aea639e81beb548e3114c74b6d9a894d6e036189 +Author: Jia Tan +Date: 2023-01-11 22:46:48 +0800 + + xz: Fix warning -Wformat-nonliteral on clang in message.c. + + clang and gcc differ in how they handle -Wformat-nonliteral. gcc will + allow a non-literal format string as long as the function takes its + format arguments as a va_list. + + src/xz/message.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit e3b42bfcb0f67988beee7c7022fed0361282be45 +Author: Jia Tan +Date: 2023-01-11 20:58:31 +0800 + + Tests: Fix test_filter_flags copy/paste error. + + tests/test_filter_flags.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 21625b7e11d004788e40eb5eb88d9d89f65fe347 +Author: Jia Tan +Date: 2023-01-11 20:42:29 +0800 + + Tests: Fix type-limits warning in test_filter_flags. + + This only occurs in test_filter_flags when the BCJ filters are not + configured and built. In this case, ARRAY_SIZE() returns 0 and causes a + type-limits warning with the loop variable since an unsigned number will + always be >= 0. + + tests/test_filter_flags.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +commit c337983e928682d56ce3470b286a8d5b8646e0ad +Author: Lasse Collin +Date: 2023-01-10 22:14:03 +0200 + + liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt. + + This affects only 32-bit x86 builds. x86-64 is OK as is. + + I still cannot easily test this myself. The reporter has tested + this and it passes the tests included in the CMake build and + performance is good: raw CRC64 is 2-3 times faster than the + C version of the slice-by-four method. (Note that liblzma doesn't + include a MSVC-compatible version of the 32-bit x86 assembly code + for the slice-by-four method.) + + Thanks to Iouri Kharon for figuring out a fix, testing, and + benchmarking. + + src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7 +Author: Jia Tan +Date: 2023-01-11 01:18:50 +0800 + + Tests: Fix unused function warning in test_block_header. + + One of the global arrays of filters was only used in a test that + required both encoders and decoders to be configured in the build. + + tests/test_block_header.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 68e9ef036d18d7c3952bff0b391d5989b86934da +Author: Jia Tan +Date: 2023-01-11 01:08:03 +0800 + + Tests: Fix unused function warning in test_index_hash. + + test_index_hash does not use fill_index_hash() unless both encoders + and decoders are configured in the build. + + tests/test_index_hash.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit a387707cd8cdefbffb5b7429bda4b7fcc192954a +Author: Lasse Collin +Date: 2023-01-10 00:33:14 +0200 + + Windows: Update INSTALL-MSVC.txt to recommend CMake over project files. + + windows/INSTALL-MSVC.txt | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +commit 52902ad69518255a14b0144f0a2379e06fde5b6e +Author: Lasse Collin +Date: 2023-01-10 12:47:16 +0200 + + Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." + + This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. + + It was reported that it wasn't a good enough fix and MSVC + still produced (different kind of) bad code when building + for 32-bit x86 if optimizations are enabled. + + Thanks to Iouri Kharon. + + src/liblzma/check/crc64_fast.c | 6 ------ + 1 file changed, 6 deletions(-) + +commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496 +Author: Lasse Collin +Date: 2023-01-10 10:05:13 +0200 + + sysdefs.h: Fix a comment. + + src/common/sysdefs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6e89ab58b031aa046308a0b3504ff0a5be042571 +Author: Lasse Collin +Date: 2023-01-10 10:04:06 +0200 + + sysdefs.h: Don't include memory.h anymore even if it were available. + + It quite probably was never needed, that is, any system where memory.h + was required likely couldn't compile XZ Utils for other reasons anyway. + + XZ Utils 5.2.6 and later source packages were generated using + Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code + being removed is no longer used anyway. + + src/common/sysdefs.h | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123 +Author: Lasse Collin +Date: 2023-01-10 08:50:26 +0200 + + CMake/Windows: Add a workaround for windres from GNU binutils. + + This is combined from the following commits in the master branch: + 443dfebced041adc88f10d824188eeef5b5821a9 + 6b117d3b1fe91eb26d533ab16a2e552f84148d47 + 5e34774c31d1b7509b5cb77a3be9973adec59ea0 + + Thanks to Iouri Kharon for the bug report, the original patch, + and testing. + + CMakeLists.txt | 32 +++++++++++++++++++++++++++++++- + 1 file changed, 31 insertions(+), 1 deletion(-) + +commit 43521e77acc907863fa4f94aae276366172cb9ee +Author: Lasse Collin +Date: 2023-01-06 22:53:38 +0200 + + Tests: test_filter_flags: Clean up minor issues. + + Here are the list of the most significant issues addressed: + - Avoid using internal common.h header. It's not good to copy the + constants like this but common.h cannot be included for use outside + of liblzma. This is the quickest thing to do that could be fixed later. + + - Omit the INIT_FILTER macro. Initialization should be done with just + regular designated initializers. + + - Use start_offset = 257 for BCJ tests. It demonstrates that Filter + Flags encoder and decoder don't validate the options thoroughly. + 257 is valid only for the x86 filter. This is a bit silly but + not a significant problem in practice because the encoder and + decoder initialization functions will catch bad alignment still. + Perhaps this should be fixed but it's not urgent and doesn't need + to be in 5.4.x. + + - Various tweaks to comments such as filter id -> Filter ID + + tests/test_filter_flags.c | 153 +++++++++++++++++++++++----------------------- + 1 file changed, 78 insertions(+), 75 deletions(-) + +commit 6b44cead95d767414272dc3a67898a36bfdf95b3 +Author: Jia Tan +Date: 2022-12-29 23:33:33 +0800 + + Tests: Refactors existing filter flags tests. + + Converts the existing filter flags tests into tuktests. + + tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++-------------- + 1 file changed, 457 insertions(+), 198 deletions(-) + +commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7 +Author: Lasse Collin +Date: 2023-01-08 00:32:29 +0200 + + Tests: tuktest.h: Support tuktest_malloc(0). + + It's not needed in XZ Utils at least for now. It's good to support + it still because if such use is needed later, it wouldn't be + caught on GNU/Linux since malloc(0) from glibc returns non-NULL. + + tests/tuktest.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee +Author: Lasse Collin +Date: 2023-01-07 21:57:11 +0200 + + CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25. + + The changes listed on cmake-policies(7) for versions 3.17 to 3.25 + shouldn't affect this project. + + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2 +Author: Lasse Collin +Date: 2023-01-08 00:24:23 +0200 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab +Author: Lasse Collin +Date: 2023-01-07 19:50:35 +0200 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit 3d45987451b1c3bb42697b29341824c0e5484cba +Author: Lasse Collin +Date: 2023-01-09 11:27:24 +0200 + + CMake: Fix a copypaste error in xzdec Windows resource file handling. + + It was my mistake. Thanks to Iouri Kharon for the bug report. + + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 706bce5018d7cf83094e13454a0731169ec119b5 +Author: Lasse Collin +Date: 2023-01-07 19:50:03 +0200 + + CMake/Windows: Add resource files to xz.exe and xzdec.exe. + + The command line tools cannot be built with MSVC for now but + they can be built with MinGW-w64. + + Thanks to Iouri Kharon for the bug report and the original patch. + + CMakeLists.txt | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit e96dee55df04113c33b387ccdb6cb70935422d91 +Author: Lasse Collin +Date: 2023-01-09 12:22:05 +0200 + + liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022). + + I haven't tested with MSVC myself and there doesn't seem to be + information about the problem online, so I'm relying on the bug report. + + Thanks to Iouri Kharon for the bug report and the patch. + + src/liblzma/check/crc64_fast.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 52bc1ee34dda9bb6fb40175e5952863066681b77 +Author: Lasse Collin +Date: 2023-01-07 19:31:15 +0200 + + Build: Require that _mm_set_epi64x() is usable to enable CLMUL support. + + VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets + disabled with VS2013. + + Thanks to Iouri Kharon for the bug report. + + CMakeLists.txt | 3 ++- + configure.ac | 8 ++++++-- + 2 files changed, 8 insertions(+), 3 deletions(-) + +commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa +Author: Jia Tan +Date: 2022-12-29 00:25:18 +0800 + + Tests: Creates test_index_hash.c + + Tests all API functions exported from index_hash.h. Does not have a + dedicated test for lzma_index_hash_end. + + [Minor edits were made by Lasse Collin.] + + .gitignore | 1 + + CMakeLists.txt | 2 + + tests/Makefile.am | 3 + + tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 394 insertions(+) + +commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1 +Author: Jia Tan +Date: 2023-01-05 20:57:25 +0800 + + liblzma: Remove common.h include from common/index.h. + + common/index.h is needed by liblzma internally and tests. common.h will + include and define many things that are not needed by the tests. + + Also, this prevents include order problems because both common.h and + lzma.h define LZMA_API. On most platforms it results only in a warning + but on Windows it would break the build as the definition in common.h + must be used only for building liblzma itself. + + src/liblzma/common/index.c | 1 + + src/liblzma/common/index.h | 9 +++++++-- + src/liblzma/common/index_decoder.h | 1 + + src/liblzma/common/stream_buffer_encoder.c | 1 + + 4 files changed, 10 insertions(+), 2 deletions(-) + +commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb +Author: Jia Tan +Date: 2022-08-17 20:20:16 +0800 + + liblzma: Add NULL check to lzma_index_hash_append. + + This is for consistency with lzma_index_append. + + src/liblzma/common/index_hash.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc +Author: Jia Tan +Date: 2022-08-17 17:59:51 +0800 + + liblzma: Replaced hardcoded 0x0 index indicator byte with macro + + src/liblzma/common/index.h | 3 +++ + src/liblzma/common/index_decoder.c | 2 +- + src/liblzma/common/index_encoder.c | 2 +- + src/liblzma/common/index_hash.c | 2 +- + src/liblzma/common/stream_decoder.c | 3 ++- + src/liblzma/common/stream_decoder_mt.c | 2 +- + 6 files changed, 9 insertions(+), 5 deletions(-) + +commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6 +Author: Jia Tan +Date: 2023-01-06 20:43:31 +0800 + + Style: Change #if !defined() to #ifndef in mythread.h. + + src/common/mythread.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3f0130aa288e4ed57ace609517db9700a41223af +Author: Jia Tan +Date: 2023-01-06 20:35:55 +0800 + + Build: Add missing stream_decoder_mt.c to .vcxproj files. + + The line in the .vcxproj files for building with was missing in 5.4.0. + Thank to Hajin Jang for reporting the issue. + + windows/vs2013/liblzma.vcxproj | 1 + + windows/vs2013/liblzma_dll.vcxproj | 1 + + windows/vs2017/liblzma.vcxproj | 1 + + windows/vs2017/liblzma_dll.vcxproj | 1 + + windows/vs2019/liblzma.vcxproj | 1 + + windows/vs2019/liblzma_dll.vcxproj | 1 + + 6 files changed, 6 insertions(+) + +commit f204d1050a515d17851eed9049862ce5a9c729c1 +Author: Lasse Collin +Date: 2023-01-04 22:40:54 +0200 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit 34a9c2d650d6c30bd88e1b21910dd863209aa884 +Author: Lasse Collin +Date: 2023-01-04 18:40:28 +0200 + + Tests: Adjust style in test_compress.sh. + + tests/test_compress.sh | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit 761c208d58e0c3daa0f46e68b406adfc318d2a46 +Author: Jia Tan +Date: 2023-01-04 23:58:58 +0800 + + Tests: Replace non portable shell parameter expansion + + The shell parameter expansion using # and ## is not supported in + Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully + portable, so we should avoid it. + + tests/create_compress_files.c | 2 +- + tests/test_compress.sh | 20 +++++++++++++------- + tests/test_compress_prepared_bcj_sparc | 2 +- + tests/test_compress_prepared_bcj_x86 | 2 +- + 4 files changed, 16 insertions(+), 10 deletions(-) + +commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4 +Author: Jia Tan +Date: 2023-01-03 21:02:38 +0800 + + Translations: Add Korean translation of man pages. + + Thanks to Seong-ho Cho + + po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + po4a/po4a.conf | 2 +- + 2 files changed, 5553 insertions(+), 1 deletion(-) + +commit ca2af49bb8be5995eb0e6a3abf457622626d49a7 +Author: Jia Tan +Date: 2023-01-03 20:47:27 +0800 + + Translations: Update the Esperanto translation. + + po/eo.po | 620 ++++++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 332 insertions(+), 288 deletions(-) + +commit bfba3394aed03311fe9a746d3141b2e16d8b9325 +Author: Lasse Collin +Date: 2023-01-02 17:05:07 +0200 + + Build: Fix config.h comments. + + configure.ac | 2 +- + m4/tuklib_progname.m4 | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 507648ad114c2ae0cd6d181063e1ac07e8106718 +Author: Jia Tan +Date: 2023-01-02 22:33:48 +0800 + + Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1. + + HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to + HAVE_PROGRAM_INVOCATION_NAME. Previously, + HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when + building with autotools. CMake would only set this when it was 1, and the + dos/config.h did not define it. The new macro definition is consistent + across build systems. + + cmake/tuklib_progname.cmake | 5 ++--- + m4/tuklib_progname.m4 | 5 ++++- + src/common/tuklib_progname.c | 2 +- + src/common/tuklib_progname.h | 2 +- + 4 files changed, 8 insertions(+), 6 deletions(-) + +commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5 +Author: Lasse Collin +Date: 2022-12-30 20:10:08 +0200 + + Tests: test_check: Test corner cases of CLMUL CRC64. + + tests/test_check.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +commit 8791826f31733fda0a13b411c2ed930faaeb25aa +Author: Lasse Collin +Date: 2022-12-30 19:36:49 +0200 + + Tests: Clarify a comment in test_lzip_decoder.c. + + tests/test_lzip_decoder.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit c410d812ea12bfc74f6b727c1a799478c79f19ca +Author: Jia Tan +Date: 2022-12-29 01:55:19 +0800 + + xz: Includes and conditionally in mytime.c. + + Previously, mytime.c depended on mythread.h for to be included. + + src/xz/mytime.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 501c6013d4a59fae5d4368e9657c4885493db809 +Author: Jia Tan +Date: 2022-12-29 01:15:27 +0800 + + liblzma: Includes sys/time.h conditionally in mythread + + Previously, was always included, even if mythread only used + clock_gettime. is still needed even if clock_gettime is not used + though because struct timespec is needed for mythread_condtime. + + src/common/mythread.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f +Author: Jia Tan +Date: 2022-12-29 01:10:53 +0800 + + Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set. + + Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always + be set to 0 or 1. However, this macro was needed in xz so if xz was not + built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but + HAVE_CLOCK_GETTIME was, it caused a warning during build. Now, + HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and + will only be set if it is 1. + + CMakeLists.txt | 8 +++----- + configure.ac | 5 ++++- + src/common/mythread.h | 4 ++-- + src/xz/mytime.c | 5 ++--- + 4 files changed, 11 insertions(+), 11 deletions(-) + +commit 6fc3e5467911572fa9af4021ea46396261aae796 +Author: Jia Tan +Date: 2022-12-28 01:14:07 +0800 + + Translations: Add Ukrainian translations of man pages. + + Thanks to Yuri Chornoivan + + po4a/po4a.conf | 2 +- + po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 3677 insertions(+), 1 deletion(-) + +commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e +Author: Jia Tan +Date: 2022-12-22 23:14:53 +0800 + + liblzma: Update documentation for lzma_filter_encoder. + + src/liblzma/common/filter_encoder.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit b14b8dbba9a3b232787ae218b46430b9246383dd +Author: Jia Tan +Date: 2022-12-21 21:12:03 +0800 + + Tests: Adds lzip decoder tests + + .gitignore | 1 + + tests/Makefile.am | 2 + + tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 474 insertions(+) + +commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710 +Author: Jia Cheong Tan +Date: 2022-12-20 22:05:21 +0800 + + Doxygen: Update .gitignore for generating docs for in source build. + + In source builds are not recommended, but we should still ignore + the generated artifacts. + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit d3e6fe44196bf9478ad193522e2b48febf2eca6b +Author: Jia Tan +Date: 2022-12-20 20:46:44 +0800 + + liblzma: Fix lzma_microlzma_encoder() return value. + + Using return_if_error on lzma_lzma_lclppb_encode was improper because + return_if_error is expecting an lzma_ret value, but + lzma_lzma_lclppb_encode returns a boolean. This could result in + lzma_microlzma_encoder, which would be misleading for applications. + + src/liblzma/common/microlzma_encoder.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit b55a27b46f52524a4a8d9cdef03e6689cefc1375 +Author: Lasse Collin +Date: 2022-12-16 18:30:02 +0200 + + liblzma: Update authors list in arm64.c. + + src/liblzma/simple/arm64.c | 1 + + 1 file changed, 1 insertion(+) + +commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d +Author: Jia Tan +Date: 2022-12-16 20:58:55 +0800 + + CMake: Update .gitignore for CMake artifacts from in source build. + + In source builds are not recommended, but we can make it easier + by ignoring the generated artifacts from CMake. + + .gitignore | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + commit b69da6d4bb6bb11fc0cf066920791990d2b22a06 Author: Lasse Collin Date: 2022-12-13 20:37:17 +0200 diff --git a/contrib/xz/THANKS b/contrib/xz/THANKS index 94055dab7872..e7b62b33312f 100644 --- a/contrib/xz/THANKS +++ b/contrib/xz/THANKS @@ -30,6 +30,7 @@ has been important. :-) In alphabetical order: - Vitaly Chikunov - Antoine Cœur - Gabi Davar + - İhsan Doğan - Chris Donawa - Andrew Dudman - Markus Duft @@ -56,10 +57,12 @@ has been important. :-) In alphabetical order: - Peter Ivanov - Nicholas Jackson - Sam James + - Hajin Jang - Jouk Jansen - Jun I Jin - Kiyoshi Kanazawa - Per Øyvind Karlsen + - Iouri Kharon - Thomas Klausner - Richard Koch - Ville Koskinen diff --git a/contrib/xz/src/common/mythread.h b/contrib/xz/src/common/mythread.h index 413821836020..37b5216b7c14 100644 --- a/contrib/xz/src/common/mythread.h +++ b/contrib/xz/src/common/mythread.h @@ -100,12 +100,18 @@ mythread_sigmask(int how, const sigset_t *restrict set, // Using pthreads // //////////////////// -#include #include #include #include #include +// If clock_gettime() isn't available, use gettimeofday() from +// as a fallback. gettimeofday() is in SUSv2 and thus is supported on all +// relevant POSIX systems. +#ifndef HAVE_CLOCK_GETTIME +# include +#endif + #define MYTHREAD_RET_TYPE void * #define MYTHREAD_RET_VALUE NULL @@ -219,8 +225,8 @@ static inline int mythread_cond_init(mythread_cond *mycond) { #ifdef HAVE_CLOCK_GETTIME - // NOTE: HAVE_DECL_CLOCK_MONOTONIC is always defined to 0 or 1. -# if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && HAVE_DECL_CLOCK_MONOTONIC +# if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && \ + defined(HAVE_CLOCK_MONOTONIC) struct timespec ts; pthread_condattr_t condattr; diff --git a/contrib/xz/src/common/sysdefs.h b/contrib/xz/src/common/sysdefs.h index df7ecf400289..97be4ee380d0 100644 --- a/contrib/xz/src/common/sysdefs.h +++ b/contrib/xz/src/common/sysdefs.h @@ -127,7 +127,7 @@ #include #include -// Pre-C99 systems lack stdbool.h. All the code in LZMA Utils must be written +// Pre-C99 systems lack stdbool.h. All the code in XZ Utils must be written // so that it works with fake bool type, for example: // // bool foo = (flags & 0x100) != 0; @@ -149,18 +149,8 @@ typedef unsigned char _Bool; # define __bool_true_false_are_defined 1 #endif -// string.h should be enough but let's include strings.h and memory.h too if -// they exists, since that shouldn't do any harm, but may improve portability. #include -#ifdef HAVE_STRINGS_H -# include -#endif - -#ifdef HAVE_MEMORY_H -# include -#endif - // As of MSVC 2013, inline and restrict are supported with // non-standard keywords. #if defined(_WIN32) && defined(_MSC_VER) diff --git a/contrib/xz/src/common/tuklib_progname.c b/contrib/xz/src/common/tuklib_progname.c index 7cb7e203dd9d..e2ef4e555f35 100644 --- a/contrib/xz/src/common/tuklib_progname.c +++ b/contrib/xz/src/common/tuklib_progname.c @@ -14,7 +14,7 @@ #include -#if !HAVE_DECL_PROGRAM_INVOCATION_NAME +#ifndef HAVE_PROGRAM_INVOCATION_NAME char *progname = NULL; #endif diff --git a/contrib/xz/src/common/tuklib_progname.h b/contrib/xz/src/common/tuklib_progname.h index 791b12517e59..bb80f25e0381 100644 --- a/contrib/xz/src/common/tuklib_progname.h +++ b/contrib/xz/src/common/tuklib_progname.h @@ -18,7 +18,7 @@ TUKLIB_DECLS_BEGIN -#if HAVE_DECL_PROGRAM_INVOCATION_NAME +#ifdef HAVE_PROGRAM_INVOCATION_NAME # define progname program_invocation_name #else # define progname TUKLIB_SYMBOL(tuklib_progname) diff --git a/contrib/xz/src/liblzma/api/lzma/version.h b/contrib/xz/src/liblzma/api/lzma/version.h index 7d37130f240f..0dd90fc872a9 100644 --- a/contrib/xz/src/liblzma/api/lzma/version.h +++ b/contrib/xz/src/liblzma/api/lzma/version.h @@ -22,7 +22,7 @@ */ #define LZMA_VERSION_MAJOR 5 #define LZMA_VERSION_MINOR 4 -#define LZMA_VERSION_PATCH 0 +#define LZMA_VERSION_PATCH 1 #define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE #ifndef LZMA_VERSION_COMMIT diff --git a/contrib/xz/src/liblzma/check/crc64_fast.c b/contrib/xz/src/liblzma/check/crc64_fast.c index e3cbf1b1e91d..db44633bfaf7 100644 --- a/contrib/xz/src/liblzma/check/crc64_fast.c +++ b/contrib/xz/src/liblzma/check/crc64_fast.c @@ -184,6 +184,20 @@ calc_hi(uint64_t poly, uint64_t a) MASK_H(in, mask, high) +// MSVC (VS2015 - VS2022) produces bad 32-bit x86 code from the CLMUL CRC +// code when optimizations are enabled (release build). According to the bug +// report, the ebx register is corrupted and the calculated result is wrong. +// Trying to workaround the problem with "__asm mov ebx, ebx" didn't help. +// The following pragma works and performance is still good. x86-64 builds +// aren't affected by this problem. +// +// NOTE: Another pragma after the function restores the optimizations. +// If the #if condition here is updated, the other one must be updated too. +#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__clang__) \ + && defined(_M_IX86) +# pragma optimize("g", off) +#endif + // EDG-based compilers (Intel's classic compiler and compiler for E2K) can // define __GNUC__ but the attribute must not be used with them. // The new Clang-based ICX needs the attribute. @@ -371,6 +385,10 @@ crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc) # pragma GCC diagnostic pop #endif } +#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__clang__) \ + && defined(_M_IX86) +# pragma optimize("", on) +#endif #endif diff --git a/contrib/xz/src/liblzma/common/filter_encoder.c b/contrib/xz/src/liblzma/common/filter_encoder.c index 978b7a6bb5b8..46fe8af1c153 100644 --- a/contrib/xz/src/liblzma/common/filter_encoder.c +++ b/contrib/xz/src/liblzma/common/filter_encoder.c @@ -37,9 +37,12 @@ typedef struct { uint64_t (*block_size)(const void *options); /// Tells the size of the Filter Properties field. If options are - /// invalid, UINT32_MAX is returned. If this is NULL, props_size_fixed - /// is used. + /// invalid, LZMA_OPTIONS_ERROR is returned and size is set to + /// UINT32_MAX. lzma_ret (*props_size_get)(uint32_t *size, const void *options); + + /// Some filters will always have the same size Filter Properties + /// field. If props_size_get is NULL, this value is used. uint32_t props_size_fixed; /// Encodes Filter Properties. diff --git a/contrib/xz/src/liblzma/common/index.c b/contrib/xz/src/liblzma/common/index.c index 24ec3c10c2e9..97cc9f953fae 100644 --- a/contrib/xz/src/liblzma/common/index.c +++ b/contrib/xz/src/liblzma/common/index.c @@ -10,6 +10,7 @@ // /////////////////////////////////////////////////////////////////////////////// +#include "common.h" #include "index.h" #include "stream_flags_common.h" diff --git a/contrib/xz/src/liblzma/common/index.h b/contrib/xz/src/liblzma/common/index.h index 64e97247dd33..031efcc718f2 100644 --- a/contrib/xz/src/liblzma/common/index.h +++ b/contrib/xz/src/liblzma/common/index.h @@ -2,6 +2,13 @@ // /// \file index.h /// \brief Handling of Index +/// \note This header file does not include common.h or lzma.h because +/// this file is needed by both liblzma internally and by the +/// tests. Including common.h will include and define many things +/// the tests do not need and prevents issues with header file +/// include order. This way, if lzma.h or common.h are not +/// included before this file it will break on every OS instead +/// of causing more subtle errors. // // Author: Lasse Collin // @@ -13,8 +20,6 @@ #ifndef LZMA_INDEX_H #define LZMA_INDEX_H -#include "common.h" - /// Minimum Unpadded Size #define UNPADDED_SIZE_MIN LZMA_VLI_C(5) @@ -22,6 +27,9 @@ /// Maximum Unpadded Size #define UNPADDED_SIZE_MAX (LZMA_VLI_MAX & ~LZMA_VLI_C(3)) +/// Index Indicator based on xz specification +#define INDEX_INDICATOR 0 + /// Get the size of the Index Padding field. This is needed by Index encoder /// and decoder, but applications should have no use for this. diff --git a/contrib/xz/src/liblzma/common/index_decoder.c b/contrib/xz/src/liblzma/common/index_decoder.c index b26898853381..8622b2f07704 100644 --- a/contrib/xz/src/liblzma/common/index_decoder.c +++ b/contrib/xz/src/liblzma/common/index_decoder.c @@ -80,7 +80,7 @@ index_decode(void *coder_ptr, const lzma_allocator *allocator, // format". One could argue that the application should // verify the Index Indicator before trying to decode the // Index, but well, I suppose it is simpler this way. - if (in[(*in_pos)++] != 0x00) + if (in[(*in_pos)++] != INDEX_INDICATOR) return LZMA_DATA_ERROR; coder->sequence = SEQ_COUNT; diff --git a/contrib/xz/src/liblzma/common/index_decoder.h b/contrib/xz/src/liblzma/common/index_decoder.h index 1af433b58b56..3fec483331a6 100644 --- a/contrib/xz/src/liblzma/common/index_decoder.h +++ b/contrib/xz/src/liblzma/common/index_decoder.h @@ -13,6 +13,7 @@ #ifndef LZMA_INDEX_DECODER_H #define LZMA_INDEX_DECODER_H +#include "common.h" #include "index.h" diff --git a/contrib/xz/src/liblzma/common/index_encoder.c b/contrib/xz/src/liblzma/common/index_encoder.c index ac97d0cebf81..c7cafb72decc 100644 --- a/contrib/xz/src/liblzma/common/index_encoder.c +++ b/contrib/xz/src/liblzma/common/index_encoder.c @@ -65,7 +65,7 @@ index_encode(void *coder_ptr, while (*out_pos < out_size) switch (coder->sequence) { case SEQ_INDICATOR: - out[*out_pos] = 0x00; + out[*out_pos] = INDEX_INDICATOR; ++*out_pos; coder->sequence = SEQ_COUNT; break; diff --git a/contrib/xz/src/liblzma/common/index_hash.c b/contrib/xz/src/liblzma/common/index_hash.c index 34df85d72f94..f55f7bc8ff8f 100644 --- a/contrib/xz/src/liblzma/common/index_hash.c +++ b/contrib/xz/src/liblzma/common/index_hash.c @@ -145,7 +145,7 @@ lzma_index_hash_append(lzma_index_hash *index_hash, lzma_vli unpadded_size, lzma_vli uncompressed_size) { // Validate the arguments. - if (index_hash->sequence != SEQ_BLOCK + if (index_hash == NULL || index_hash->sequence != SEQ_BLOCK || unpadded_size < UNPADDED_SIZE_MIN || unpadded_size > UNPADDED_SIZE_MAX || uncompressed_size > LZMA_VLI_MAX) @@ -190,7 +190,7 @@ lzma_index_hash_decode(lzma_index_hash *index_hash, const uint8_t *in, *** 221 LINES SKIPPED *** From nobody Thu Jan 26 10:49:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2csC4Q92z3bP7F; Thu, 26 Jan 2023 10:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2csC3sPgz4GRh; Thu, 26 Jan 2023 10:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674730159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7LXvU0l473RIZCMyDBJKYPBc2LhcDgnl0x/48oj83I=; b=mG4+MlKbGTcPNHPhB4K/KKu+L87Cw18/Y/iEqII7ttdzgfOneFCuYUYygpCoe7dhoGdk9g ajNF7yaMPEEdBHP/wheQyxn6cJJLJomGo7W8+swkSdIEdQRq5rLIvo7WU77mX7FWDMXqkA F6A6DrrxFxd6JE+iHzL6popNRjuPLyHdvbU23TbD85Aht1kc6oSpdfVnYL7Ze4HeyfUbQX cf9kYzk2tLi13vGuhbOHrR9odRbRmhrKfedC1226DmNCwHDuXH5Lx6gmHd8OWn3QpF26UJ c+Se3uHLhFoS+YpTOoc75YGeYPHRE92fRlncghzlofAG3z47OJ1vF5xJyDEVqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674730159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7LXvU0l473RIZCMyDBJKYPBc2LhcDgnl0x/48oj83I=; b=DZbAshloBdKKSGqpI61fyw2NKD2bsmgMVVSaomYhKsWzBtfU0zbsznTVfT1mIYXcTIeGSw 57+YJVoOVEq+TNtReh1r8llq7Z7PkcR4MJZIblUqlqFc3j9zkxbJdlsmzMu5dnPbOzhtlu Ono5c7PH+X8Haps1/L4JSRGa8ZY+JosX6TSg9YTGdaj5GlOABdTdx5Ssr0ATsIeevybfcW EYyFtt+IpF29B5CAdaV3yG254/PXCUrHdB5Hzh9BFTXfJQZOLyjyLF2u5lrzkOWh4/t3S2 e6NcdtfxM156H8mRlA1rfuoAvtLzXBAzkDbHI2zxWQQYqsxumiVG7leauz6MVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674730159; a=rsa-sha256; cv=none; b=leIwN34+f1F9BEN1ZENeXI/BpPj2pV79Qz0cUCR/poo6ewXyfwobIuP9yIiMRr2QQ49sAu p3aFz3f9/1+6ALI6qb6jg9EBFthPsekF34hJIshJvJ9hytINEzRXz2o8lHRQYBIykp7xzF eby9OESzO4y/xUk10PamyV8XVUpZ3aJnjWd/a6e6vG/iHpr6+wPExy5MbMcgXm8aJ3dMhB rgSF938EsKD2nYFDlBVWBXDdk0HKhdQ+6SVTjSES2b4eg4G5nge+7BIxMml4ThruVt1bU+ SqZ3zutcptrmfpfme48hKD0nnmtuWQ2mmjHnseC/k7o6r6owSpjf1qbkleTm8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2csC2sp7zRbK; Thu, 26 Jan 2023 10:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QAnJgx033981; Thu, 26 Jan 2023 10:49:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QAnJYp033980; Thu, 26 Jan 2023 10:49:19 GMT (envelope-from git) Date: Thu, 26 Jan 2023 10:49:19 GMT Message-Id: <202301261049.30QAnJYp033980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 664ccd7e3335 - stable/13 - ath(4): Fix a sysctl description and a typo in a comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 664ccd7e3335eb21533aaeef81dde180632a0c36 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=664ccd7e3335eb21533aaeef81dde180632a0c36 commit 664ccd7e3335eb21533aaeef81dde180632a0c36 Author: Gordon Bergling AuthorDate: 2023-01-19 13:16:05 +0000 Commit: Gordon Bergling CommitDate: 2023-01-26 10:48:00 +0000 ath(4): Fix a sysctl description and a typo in a comment - s/delimeter/delimiter/ (cherry picked from commit e4b7980c5ca9c701242f3c395a042360db0ad7a7) --- sys/dev/ath/if_ath_sysctl.c | 2 +- sys/dev/ath/if_ath_tx_ht.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/ath/if_ath_sysctl.c b/sys/dev/ath/if_ath_sysctl.c index 3c873d3e8b34..a7ffad60dbab 100644 --- a/sys/dev/ath/if_ath_sysctl.c +++ b/sys/dev/ath/if_ath_sysctl.c @@ -1237,7 +1237,7 @@ ath_sysctl_stats_attach(struct ath_softc *sc) SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_2040", CTLFLAG_RD, &sc->sc_stats.ast_rx_2040, 0, "number of HT/40 frames received"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_pre_crc_err", CTLFLAG_RD, - &sc->sc_stats.ast_rx_pre_crc_err, 0, "number of delimeter-CRC errors detected"); + &sc->sc_stats.ast_rx_pre_crc_err, 0, "number of delimiter-CRC errors detected"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_post_crc_err", CTLFLAG_RD, &sc->sc_stats.ast_rx_post_crc_err, 0, "number of post-delimiter CRC errors detected"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_decrypt_busy_err", CTLFLAG_RD, diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index 7c7a5ac493f6..1af1ec9120c7 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -457,7 +457,7 @@ ath_compute_num_delims(struct ath_softc *sc, struct ath_buf *first_bf, ndelim += ATH_AGGR_ENCRYPTDELIM; /* - * For AR9380, there's a minimum number of delimeters + * For AR9380, there's a minimum number of delimiters * required when doing RTS. * * XXX TODO: this is only needed if (a) RTS/CTS is enabled for From nobody Thu Jan 26 10:49:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2csl0Vg7z3bP7Z; Thu, 26 Jan 2023 10:49: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 4P2csk6rQlz4GYL; Thu, 26 Jan 2023 10:49:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674730187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uBiEDCFc2p3VygAjjkiQ0RNlOG+ElC2LZZMYbp/mq7k=; b=lXeSQtieltTkTTb1QfASqNoY3txyGKt7FBBoUCiRx7vGXjEs1SjrMeEVmNonrT3M49+qfU xgz78PBENMukHMuoQIoY4gZCu59Nv48YGnN4ra15gDLK9BLogvd4lvHYbunZjIIfPt5Fgp dJOzCsTYF+9frN+r8fR5PPSHQlNPS5olFrbS9+qkgZJyegAPT4aDSfLo70alowTCr5YBbq jV/oRiRObAiKEeJsVlDatlmLe2Fy7cPzZbYmB3aL7gHNN2VoynEaH9JJTd1GvGnbbmOPDa Inq9jumLqYAGl1D6jjtAeJD3Vx3TQm2PS2SG9tWD8HB7AY2HHb9U+X3pB/uquA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674730187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uBiEDCFc2p3VygAjjkiQ0RNlOG+ElC2LZZMYbp/mq7k=; b=nOkPaLzWago+pYJvSEswDmgZQ8Au7vr/sQXTNQ99o1zB76r0e+WBLMvgG4fvrnfo0GODBV +rs44PJuNUy6jSqfR5d+nu0rweqNGhcE/AedoA0UGhQP+J3DkqyFu3/VGUP4mJP61ImJrn U57rppCilCmpFFZgMzwSMQ9OWHIhtX6dYxBpMoCFkE+y5TVSjQhMYaKn1r11hUiqmCTg0Y U0tFn1yPhfnBzk02pFWFOKNzI9jBBr26Jtz5Dr3WcRyvWn6jpR8RCTew8p8z+cYLVnVWKr 6uBK34hXJe+OBYqVhOERD/BeZ84CCanJQnAgGQoO5vNMAJ/skKh0FEDRYDjQvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674730187; a=rsa-sha256; cv=none; b=hD120Cvg9+hNU/PAZh1OKKTYuunZApsLA0gV1VkUByrYH2Ws2qPtDS27pmJhEojKARoi40 cZ7mi+DgkL5ZVDgPBC5WahPSpebY6x8K8wtkZgTu0aSSsj1meSFLFXsxbxxHHOCREE4ctp yhc/UFMzituquKDjoHWuYxAIFoIBuW4HhDfOMMNXwpH1CjiBIaXWS7zIR0z6cIjQaGRlRX mwWGisRJDjV18TDRKFJVdjnIuztxeKjUYRiIS2/Jebznvw51M0GMwrjhJ2lBw78HXkGSaN mmjTL91j+4speCJVyCoSlIWVpoxLsXxubq+BcdlLz482OkIvo8Vt4zinhl3x2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2csk5wHVzRN3; Thu, 26 Jan 2023 10:49:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QAnk1A034154; Thu, 26 Jan 2023 10:49:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QAnk78034153; Thu, 26 Jan 2023 10:49:46 GMT (envelope-from git) Date: Thu, 26 Jan 2023 10:49:46 GMT Message-Id: <202301261049.30QAnk78034153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: c82fcdc3b49b - stable/12 - ath(4): Fix a sysctl description and a typo in a comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: c82fcdc3b49b14e79a7b49c18e018147ed4f5c6f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=c82fcdc3b49b14e79a7b49c18e018147ed4f5c6f commit c82fcdc3b49b14e79a7b49c18e018147ed4f5c6f Author: Gordon Bergling AuthorDate: 2023-01-19 13:16:05 +0000 Commit: Gordon Bergling CommitDate: 2023-01-26 10:49:40 +0000 ath(4): Fix a sysctl description and a typo in a comment - s/delimeter/delimiter/ (cherry picked from commit e4b7980c5ca9c701242f3c395a042360db0ad7a7) --- sys/dev/ath/if_ath_sysctl.c | 2 +- sys/dev/ath/if_ath_tx_ht.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/ath/if_ath_sysctl.c b/sys/dev/ath/if_ath_sysctl.c index fd43ba4f6083..e116a9ed72d5 100644 --- a/sys/dev/ath/if_ath_sysctl.c +++ b/sys/dev/ath/if_ath_sysctl.c @@ -1235,7 +1235,7 @@ ath_sysctl_stats_attach(struct ath_softc *sc) SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_2040", CTLFLAG_RD, &sc->sc_stats.ast_rx_2040, 0, "number of HT/40 frames received"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_pre_crc_err", CTLFLAG_RD, - &sc->sc_stats.ast_rx_pre_crc_err, 0, "number of delimeter-CRC errors detected"); + &sc->sc_stats.ast_rx_pre_crc_err, 0, "number of delimiter-CRC errors detected"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_post_crc_err", CTLFLAG_RD, &sc->sc_stats.ast_rx_post_crc_err, 0, "number of post-delimiter CRC errors detected"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_decrypt_busy_err", CTLFLAG_RD, diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index 7c7a5ac493f6..1af1ec9120c7 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -457,7 +457,7 @@ ath_compute_num_delims(struct ath_softc *sc, struct ath_buf *first_bf, ndelim += ATH_AGGR_ENCRYPTDELIM; /* - * For AR9380, there's a minimum number of delimeters + * For AR9380, there's a minimum number of delimiters * required when doing RTS. * * XXX TODO: this is only needed if (a) RTS/CTS is enabled for From nobody Thu Jan 26 13:42:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2hj42TW6z3bs6h; Thu, 26 Jan 2023 13:42: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 4P2hj421xbz3JH5; Thu, 26 Jan 2023 13:42:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674740552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIsauD7n9vadNnNBbWiyVr304KaSkH8g3ugRJymEdn0=; b=s1NYBMJClAR9IvE9E1YeCEDJ8Gr/RpZjyAlj2gLEEkEFMce8fYa8kNvuXUGT+RBQ9bUiC/ FeNmbRwvw7mRiqoCQ47rTmLtwL14+eg8vXPcyhq9KXunFGZrvOMpHoU5pxLcTSq92OM4pS OU2tye9xmhuUYnlZjiuvn3pyPxEWL/bmGY70j+W8deW0tpIK6xwoIobko0QHLFeC4HK9bw EkRk7R0Ie7mvN5vXJjkTbNZjfRJuz9v+1Ar+B2bI6ldaqkaYiGjfaqOzvFB+Za/MYMk8WX yOGmjPOshK5leIoAqNSo7mE3UD8IYpaPV7vy6jfMPXCVZDO62rt1dI/XEXc43Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674740552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIsauD7n9vadNnNBbWiyVr304KaSkH8g3ugRJymEdn0=; b=sM70aZ/glTnU7l97ErwJFju56NmlaPrs9xPD8kuAuD4zrOf6EIyyYZelEeX+qtD/3tMz2i t8pJ+ZDDqW8K3Y+gsjs8k86xSq/PrL3gJfOH+VMtH/sasHq3MNdFGeeQc1xzTccN9wOsxj XGPTKmI4ZaqwXgQkkxbcynocxQ5MX0GVsdZFa5n/qlisW01G6a+zgc69C7DagX5YW+Oi6Z kgwu96R6Dw2f8QsYpMg/ITq24p0VmeEk0/runvvCVA7LPskqyoTPGcGZz5XtLg1QNk/QPq ZzwzrQtwRa8WjipHHDawgct4zUaaCyyzIexHB0EpuLfToWCuZ9p4JpOdasL29Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674740552; a=rsa-sha256; cv=none; b=ZTib4L52+CBNRR+yMv615h6tXI5kQV12QkQAKFotCahy9mPMqRlKpRHWYq7sl52hFljcKx jVTCnbtCBzXEinEeLDdtbcklCZJO+H2rHGKpTPXPx9Zpm1XVfarcBVIb2+EFvtkvGIXzK0 CQs2K66fjEfXAx5/nWGiwNx9Q/rqxELe+LhkycZKPpEIkRoysATfoEf6qqhgTKN+1xB3Vq CFIVCaWcWyKUhaOYm3ssHSA26fulUDeEw2WNUZ3edWuvyx206xemH80nEUtaD6BP72jT2/ I1WDk/0Q+dtdJEOzXXRQtdx/L4xLEVcGI/Xkw/UIpxgmDxr+29aOFwe1MFQBiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2hj414tLzWfj; Thu, 26 Jan 2023 13:42:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QDgWh8091331; Thu, 26 Jan 2023 13:42:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QDgW1r091330; Thu, 26 Jan 2023 13:42:32 GMT (envelope-from git) Date: Thu, 26 Jan 2023 13:42:32 GMT Message-Id: <202301261342.30QDgW1r091330@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mike Karels Subject: git: d399b27627d5 - stable/13 - growfs(7): conditionalize mention of adding dump device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: d399b27627d50726546ffeb9bef5c752013aa201 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=d399b27627d50726546ffeb9bef5c752013aa201 commit d399b27627d50726546ffeb9bef5c752013aa201 Author: Mike Karels AuthorDate: 2023-01-23 14:37:07 +0000 Commit: Mike Karels CommitDate: 2023-01-26 13:41:52 +0000 growfs(7): conditionalize mention of adding dump device The growfs_fstab script will add a new swap partition as a dump device as well, but only if dumpdev is set to AUTO. Reviewed by: pauamma Differential Revision: https://reviews.freebsd.org/D38166 (cherry picked from commit 7d189f669836b81dbdeb7bc7178040a43ab9d1fe) --- share/man/man7/growfs.7 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/share/man/man7/growfs.7 b/share/man/man7/growfs.7 index 41903023af91..1c2345918a65 100644 --- a/share/man/man7/growfs.7 +++ b/share/man/man7/growfs.7 @@ -56,7 +56,12 @@ The script adds any new swap partition to .Pa /etc/fstab after the root file system is made writable, -and enables its use as a dump partition. +and enables its use as a dump partition if the +.Va dumpdev +variable from +.Xr rc.conf 5 +is set to +.Li AUTO . .Pp The following options in .Pa /etc/rc.conf From nobody Thu Jan 26 15:42:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2lMY41rZz3c81n; Thu, 26 Jan 2023 15:42: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 4P2lMY3KN7z3jFL; Thu, 26 Jan 2023 15:42:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674747753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t4M0kbjJj6XbZH/OPqeLRl0JHDsHbQbVS1dr4SfAvs0=; b=taY/Gf1C/EMkGT/V5U9SWK/Wo78lUtRGjjWbPqJH0wXxEbNHhWLFx9eap1vDGEcK5B9G7Y IwVOnwFwag7lE0H/V8mukG6Q0qh9VD+OxnVlpCL8TXoNTL/NOod/YMB4+kOBEwru5b+ATw HOVRhvqSCBYxNM+3wVtuHFu7XdbwrNLW2IjttNFo+wS3ojC3CrvhRIzHEymkJQx33Olq7a q88sGnsk8j1CCTYCp1IdZ0q8dwOnFaved2QwuRoGyscjXxfUtqaoTJ/8C+MyyWt/deTjZi s+6dYNw2DCTsozLDJaPYE7FrehgEVFBqikAA2KXA5199q5RTFwy1Ha/cZpTWdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674747753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t4M0kbjJj6XbZH/OPqeLRl0JHDsHbQbVS1dr4SfAvs0=; b=D6AyTOQGwxGTLbijKqkrCcQwM4NmpYz5mzt0FCfupEpNTaC2zjnb/0GwgJckuc/6uPaITY YR9qNj7OGRZu0ZuaLS5CZrD7nMxsiQ4uX3zn0W0XjGOL32NSfpMOgHPkTOgfX0meMFJeKR cY2EFaGFMg0Xj7AulNkxfeAHEoGpY8MMptvL4xAvwNC89G5FrWTYYStCFU3ihukHoBYpFY 61b6JPiFWbUlUn7FDEkjDUpO5ZmOwmsWAM+XIPQ+SyDNFECarDtQdRbAEbGbruoJJu9fyl GT+pk1LSOXWS/lLMef9BoT+23B7If+e28fz+5DBWjpITEvqxrmCXZVmC0OZB6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674747753; a=rsa-sha256; cv=none; b=BWHuIfVw9adiU6RgsldijSIvvmz38DMvj2VPE/C7FmTA4nfHA4J1KlY+DWa5WsPurk8Jry 7pvnkLHLDXGOx+yiLQV5xl4oJDGDypBfmR20Pc3Nx14Mr7FOUy0e0ONswtwv5ZdLeXFomJ MXdmllnC47UxjMqutaUnXR1oaYBTf6ZbCEm1maQ/Ejg31BUMGJfwxLNqk9VgoXUxidEtFJ 216cCJ6TXLep6/7+VXICBBD+24cEr8fEKlv3cQwi1QuXtka47GD8Vo2V1uobiif0eq1mst nkjcUvOenqdJPL+MUpj5PWZM9m9FidbqA2hxFMxHY86BU8xJE7jOmNJLDVtNgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2lMY2MpLzZYD; Thu, 26 Jan 2023 15:42:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QFgXQk061932; Thu, 26 Jan 2023 15:42:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QFgXsI061931; Thu, 26 Jan 2023 15:42:33 GMT (envelope-from git) Date: Thu, 26 Jan 2023 15:42:33 GMT Message-Id: <202301261542.30QFgXsI061931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: c1c40c8627a0 - stable/13 - linuxolator: add netlink support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c1c40c8627a0cbc5b7711ac6afcfea9aea478631 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=c1c40c8627a0cbc5b7711ac6afcfea9aea478631 commit c1c40c8627a0cbc5b7711ac6afcfea9aea478631 Author: Alexander V. Chernikov AuthorDate: 2022-08-26 14:34:15 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-26 15:27:00 +0000 linuxolator: add netlink support Add the glue code to support netlink in Linuxolator. linux_common(4) now depends on netlink(4). All netlink protocol constants are consistent with the Linux version. However, certain OS-specific constants such as AF_INET6, interface flags or default routing table id, are different between FreeBSD and Linux. Thus, it may be needed to rewrite some message parts or even rewrite the whole message, adding or removing some TLVs. The core netlink implementation code provides efficient rewriting callbacks which Linuxolator now uses. Reviewed by: dchagin Differential Revision: https://reviews.freebsd.org/D36361 MFC after: 2 months (cherry picked from commit 7c40e2d5f68516dd402073b28095ea5516fe3114) --- sys/compat/linux/linux.c | 13 + sys/compat/linux/linux.h | 3 + sys/compat/linux/linux_common.c | 3 + sys/compat/linux/linux_netlink.c | 572 ++++++++++++++++++++++++++++++++++++++ sys/compat/linux/linux_socket.c | 6 + sys/modules/linux_common/Makefile | 2 +- 6 files changed, 598 insertions(+), 1 deletion(-) diff --git a/sys/compat/linux/linux.c b/sys/compat/linux/linux.c index 542c6f37dd83..5351575ed6e1 100644 --- a/sys/compat/linux/linux.c +++ b/sys/compat/linux/linux.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -364,6 +365,8 @@ linux_to_bsd_domain(int domain) return (AF_IPX); case LINUX_AF_APPLETALK: return (AF_APPLETALK); + case LINUX_AF_NETLINK: + return (AF_NETLINK); } return (-1); } @@ -387,6 +390,8 @@ bsd_to_linux_domain(int domain) return (LINUX_AF_IPX); case AF_APPLETALK: return (LINUX_AF_APPLETALK); + case AF_NETLINK: + return (LINUX_AF_NETLINK); } return (-1); } @@ -514,6 +519,14 @@ linux_to_bsd_sockaddr(const struct l_sockaddr *osa, struct sockaddr **sap, } } + if (bdom == AF_NETLINK) { + if (salen < sizeof(struct sockaddr_nl)) { + error = EINVAL; + goto out; + } + salen = sizeof(struct sockaddr_nl); + } + sa = (struct sockaddr *)kosa; sa->sa_family = bdom; sa->sa_len = salen; diff --git a/sys/compat/linux/linux.h b/sys/compat/linux/linux.h index 72bcb25bd05a..6400de4cb228 100644 --- a/sys/compat/linux/linux.h +++ b/sys/compat/linux/linux.h @@ -271,4 +271,7 @@ struct l_statx { ktrstruct("l_sigset_t", (s), l) #endif +void linux_netlink_register(void); +void linux_netlink_deregister(void); + #endif /* _LINUX_MI_H_ */ diff --git a/sys/compat/linux/linux_common.c b/sys/compat/linux/linux_common.c index 0009d9d26164..9762f16fd747 100644 --- a/sys/compat/linux/linux_common.c +++ b/sys/compat/linux/linux_common.c @@ -63,12 +63,14 @@ linux_common_modevent(module_t mod, int type, void *data) linux_osd_jail_register(); SET_FOREACH(ldhp, linux_device_handler_set) linux_device_register_handler(*ldhp); + linux_netlink_register(); break; case MOD_UNLOAD: linux_dev_shm_destroy(); linux_osd_jail_deregister(); SET_FOREACH(ldhp, linux_device_handler_set) linux_device_unregister_handler(*ldhp); + linux_netlink_deregister(); break; default: return (EOPNOTSUPP); @@ -84,3 +86,4 @@ static moduledata_t linux_common_mod = { DECLARE_MODULE(linux_common, linux_common_mod, SI_SUB_EXEC, SI_ORDER_ANY); MODULE_VERSION(linux_common, 1); +MODULE_DEPEND(linux_common, netlink, 1, 1, 1); diff --git a/sys/compat/linux/linux_netlink.c b/sys/compat/linux/linux_netlink.c new file mode 100644 index 000000000000..4cf872b3722d --- /dev/null +++ b/sys/compat/linux/linux_netlink.c @@ -0,0 +1,572 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); +#include "opt_inet.h" +#include "opt_inet6.h" +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define DEBUG_MOD_NAME nl_linux +#define DEBUG_MAX_LEVEL LOG_DEBUG3 +#include +_DECLARE_DEBUG(LOG_DEBUG); + +static bool +valid_rta_size(const struct rtattr *rta, int sz) +{ + return (NL_RTA_DATA_LEN(rta) == sz); +} + +static bool +valid_rta_u32(const struct rtattr *rta) +{ + return (valid_rta_size(rta, sizeof(uint32_t))); +} + +static uint32_t +_rta_get_uint32(const struct rtattr *rta) +{ + return (*((const uint32_t *)NL_RTA_DATA_CONST(rta))); +} + +static struct nlmsghdr * +rtnl_neigh_from_linux(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + struct ndmsg *ndm = (struct ndmsg *)(hdr + 1); + + if (hdr->nlmsg_len >= sizeof(struct nlmsghdr) + sizeof(struct ndmsg)) + ndm->ndm_family = linux_to_bsd_domain(ndm->ndm_family); + + return (hdr); +} + +static struct nlmsghdr * +rtnl_ifaddr_from_linux(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + struct ifaddrmsg *ifam = (struct ifaddrmsg *)(hdr + 1); + + if (hdr->nlmsg_len >= sizeof(struct nlmsghdr) + sizeof(struct ifaddrmsg)) + ifam->ifa_family = linux_to_bsd_domain(ifam->ifa_family); + + return (hdr); +} + +static struct nlmsghdr * +rtnl_route_from_linux(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + /* Tweak address families and default fib only */ + struct rtmsg *rtm = (struct rtmsg *)(hdr + 1); + struct nlattr *nla, *nla_head; + int attrs_len; + + rtm->rtm_family = linux_to_bsd_domain(rtm->rtm_family); + + if (rtm->rtm_table == 254) + rtm->rtm_table = 0; + + attrs_len = hdr->nlmsg_len - sizeof(struct nlmsghdr); + attrs_len -= NETLINK_ALIGN(sizeof(struct rtmsg)); + nla_head = (struct nlattr *)((char *)rtm + NETLINK_ALIGN(sizeof(struct rtmsg))); + + NLA_FOREACH(nla, nla_head, attrs_len) { + RT_LOG(LOG_DEBUG3, "GOT type %d len %d total %d", + nla->nla_type, nla->nla_len, attrs_len); + struct rtattr *rta = (struct rtattr *)nla; + if (rta->rta_len < sizeof(struct rtattr)) { + break; + } + switch (rta->rta_type) { + case NL_RTA_TABLE: + if (!valid_rta_u32(rta)) + goto done; + rtm->rtm_table = 0; + uint32_t fibnum = _rta_get_uint32(rta); + RT_LOG(LOG_DEBUG3, "GET RTABLE: %u", fibnum); + if (fibnum == 254) { + *((uint32_t *)NL_RTA_DATA(rta)) = 0; + } + break; + } + } + +done: + return (hdr); +} + +static struct nlmsghdr * +rtnl_from_linux(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + switch (hdr->nlmsg_type) { + case NL_RTM_GETROUTE: + case NL_RTM_NEWROUTE: + case NL_RTM_DELROUTE: + return (rtnl_route_from_linux(hdr, npt)); + case NL_RTM_GETNEIGH: + return (rtnl_neigh_from_linux(hdr, npt)); + case NL_RTM_GETADDR: + return (rtnl_ifaddr_from_linux(hdr, npt)); + /* Silence warning for the messages where no translation is required */ + case NL_RTM_NEWLINK: + case NL_RTM_DELLINK: + case NL_RTM_GETLINK: + break; + default: + RT_LOG(LOG_DEBUG, "Passing message type %d untranslated", + hdr->nlmsg_type); + } + + return (hdr); +} + +static struct nlmsghdr * +nlmsg_from_linux(int netlink_family, struct nlmsghdr *hdr, + struct nl_pstate *npt) +{ + switch (netlink_family) { + case NETLINK_ROUTE: + return (rtnl_from_linux(hdr, npt)); + } + + return (hdr); +} + + +/************************************************************ + * Kernel -> Linux + ************************************************************/ + +static bool +handle_default_out(struct nlmsghdr *hdr, struct nl_writer *nw) +{ + char *out_hdr; + out_hdr = nlmsg_reserve_data(nw, NLMSG_ALIGN(hdr->nlmsg_len), char); + + if (out_hdr != NULL) { + memcpy(out_hdr, hdr, hdr->nlmsg_len); + return (true); + } + return (false); +} + +static bool +nlmsg_copy_header(struct nlmsghdr *hdr, struct nl_writer *nw) +{ + return (nlmsg_add(nw, hdr->nlmsg_pid, hdr->nlmsg_seq, hdr->nlmsg_type, + hdr->nlmsg_flags, 0)); +} + +static void * +_nlmsg_copy_next_header(struct nlmsghdr *hdr, struct nl_writer *nw, int sz) +{ + void *next_hdr = nlmsg_reserve_data(nw, sz, void); + memcpy(next_hdr, hdr + 1, NLMSG_ALIGN(sz)); + + return (next_hdr); +} +#define nlmsg_copy_next_header(_hdr, _ns, _t) \ + ((_t *)(_nlmsg_copy_next_header(_hdr, _ns, sizeof(_t)))) + +static bool +nlmsg_copy_nla(const struct nlattr *nla_orig, struct nl_writer *nw) +{ + struct nlattr *nla = nlmsg_reserve_data(nw, nla_orig->nla_len, struct nlattr); + if (nla != NULL) { + memcpy(nla, nla_orig, nla_orig->nla_len); + return (true); + } + return (false); +} + +static bool +nlmsg_copy_all_nla(struct nlmsghdr *hdr, int raw_hdrlen, struct nl_writer *nw) +{ + struct nlattr *nla; + + int hdrlen = NETLINK_ALIGN(raw_hdrlen); + int attrs_len = hdr->nlmsg_len - sizeof(struct nlmsghdr) - hdrlen; + struct nlattr *nla_head = (struct nlattr *)((char *)(hdr + 1) + hdrlen); + + NLA_FOREACH(nla, nla_head, attrs_len) { + RT_LOG(LOG_DEBUG3, "reading attr %d len %d", nla->nla_type, nla->nla_len); + if (nla->nla_len < sizeof(struct nlattr)) { + return (false); + } + if (!nlmsg_copy_nla(nla, nw)) + return (false); + } + return (true); +} + +static unsigned int +rtnl_if_flags_to_linux(unsigned int if_flags) +{ + unsigned int result = 0; + + for (int i = 0; i < 31; i++) { + unsigned int flag = 1 << i; + if (!(flag & if_flags)) + continue; + switch (flag) { + case IFF_UP: + case IFF_BROADCAST: + case IFF_DEBUG: + case IFF_LOOPBACK: + case IFF_POINTOPOINT: + case IFF_DRV_RUNNING: + case IFF_NOARP: + case IFF_PROMISC: + case IFF_ALLMULTI: + result |= flag; + break; + case IFF_KNOWSEPOCH: + case IFF_DRV_OACTIVE: + case IFF_SIMPLEX: + case IFF_LINK0: + case IFF_LINK1: + case IFF_LINK2: + case IFF_CANTCONFIG: + case IFF_PPROMISC: + case IFF_MONITOR: + case IFF_STATICARP: + case IFF_DYING: + case IFF_RENAMING: + case IFF_NOGROUP: + /* No Linux analogue */ + break; + case IFF_MULTICAST: + result |= 1 << 12; + } + } + return (result); +} + +static bool +rtnl_newlink_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, + struct nl_writer *nw) +{ + if (!nlmsg_copy_header(hdr, nw)) + return (false); + + struct ifinfomsg *ifinfo; + ifinfo = nlmsg_copy_next_header(hdr, nw, struct ifinfomsg); + + ifinfo->ifi_family = bsd_to_linux_domain(ifinfo->ifi_family); + /* Convert interface type */ + switch (ifinfo->ifi_type) { + case IFT_ETHER: + ifinfo->ifi_type = 1; // ARPHRD_ETHER + break; + } + ifinfo->ifi_flags = rtnl_if_flags_to_linux(ifinfo->ifi_flags); + + /* Copy attributes unchanged */ + if (!nlmsg_copy_all_nla(hdr, sizeof(struct ifinfomsg), nw)) + return (false); + + /* make ip(8) happy */ + if (!nlattr_add_string(nw, IFLA_QDISC, "noqueue")) + return (false); + + if (!nlattr_add_u32(nw, IFLA_TXQLEN, 1000)) + return (false); + + nlmsg_end(nw); + RT_LOG(LOG_DEBUG2, "done processing nw %p", nw); + return (true); +} + +static bool +rtnl_newaddr_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, + struct nl_writer *nw) +{ + if (!nlmsg_copy_header(hdr, nw)) + return (false); + + struct ifaddrmsg *ifamsg; + ifamsg = nlmsg_copy_next_header(hdr, nw, struct ifaddrmsg); + + ifamsg->ifa_family = bsd_to_linux_domain(ifamsg->ifa_family); + /* XXX: fake ifa_flags? */ + + /* Copy attributes unchanged */ + if (!nlmsg_copy_all_nla(hdr, sizeof(struct ifaddrmsg), nw)) + return (false); + + nlmsg_end(nw); + RT_LOG(LOG_DEBUG2, "done processing nw %p", nw); + return (true); +} + +static bool +rtnl_newneigh_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, + struct nl_writer *nw) +{ + if (!nlmsg_copy_header(hdr, nw)) + return (false); + + struct ndmsg *ndm; + ndm = nlmsg_copy_next_header(hdr, nw, struct ndmsg); + + ndm->ndm_family = bsd_to_linux_domain(ndm->ndm_family); + + /* Copy attributes unchanged */ + if (!nlmsg_copy_all_nla(hdr, sizeof(struct ndmsg), nw)) + return (false); + + nlmsg_end(nw); + RT_LOG(LOG_DEBUG2, "done processing nw %p", nw); + return (true); +} + +static bool +rtnl_newroute_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, + struct nl_writer *nw) +{ + if (!nlmsg_copy_header(hdr, nw)) + return (false); + + struct rtmsg *rtm; + rtm = nlmsg_copy_next_header(hdr, nw, struct rtmsg); + rtm->rtm_family = bsd_to_linux_domain(rtm->rtm_family); + + struct nlattr *nla; + + int hdrlen = NETLINK_ALIGN(sizeof(struct rtmsg)); + int attrs_len = hdr->nlmsg_len - sizeof(struct nlmsghdr) - hdrlen; + struct nlattr *nla_head = (struct nlattr *)((char *)(hdr + 1) + hdrlen); + + NLA_FOREACH(nla, nla_head, attrs_len) { + struct rtattr *rta = (struct rtattr *)nla; + //RT_LOG(LOG_DEBUG, "READING attr %d len %d", nla->nla_type, nla->nla_len); + if (rta->rta_len < sizeof(struct rtattr)) { + break; + } + + switch (rta->rta_type) { + case NL_RTA_TABLE: + { + uint32_t fibnum; + fibnum = _rta_get_uint32(rta); + if (fibnum == 0) + fibnum = 254; + RT_LOG(LOG_DEBUG3, "XFIBNUM %u", fibnum); + if (!nlattr_add_u32(nw, NL_RTA_TABLE, fibnum)) + return (false); + } + break; + default: + if (!nlmsg_copy_nla(nla, nw)) + return (false); + break; + } + } + + nlmsg_end(nw); + RT_LOG(LOG_DEBUG2, "done processing nw %p", nw); + return (true); +} + +static bool +rtnl_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_writer *nw) +{ + RT_LOG(LOG_DEBUG2, "Got message type %d", hdr->nlmsg_type); + + switch (hdr->nlmsg_type) { + case NL_RTM_NEWLINK: + case NL_RTM_DELLINK: + case NL_RTM_GETLINK: + return (rtnl_newlink_to_linux(hdr, nlp, nw)); + case NL_RTM_NEWADDR: + case NL_RTM_DELADDR: + return (rtnl_newaddr_to_linux(hdr, nlp, nw)); + case NL_RTM_NEWROUTE: + case NL_RTM_DELROUTE: + return (rtnl_newroute_to_linux(hdr, nlp, nw)); + case NL_RTM_NEWNEIGH: + case NL_RTM_DELNEIGH: + case NL_RTM_GETNEIGH: + return (rtnl_newneigh_to_linux(hdr, nlp, nw)); + default: + RT_LOG(LOG_DEBUG, "[WARN] Passing message type %d untranslated", + hdr->nlmsg_type); + return (handle_default_out(hdr, nw)); + } +} + +static bool +nlmsg_error_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_writer *nw) +{ + if (!nlmsg_copy_header(hdr, nw)) + return (false); + + struct nlmsgerr *nlerr; + nlerr = nlmsg_copy_next_header(hdr, nw, struct nlmsgerr); + nlerr->error = bsd_to_linux_errno(nlerr->error); + + int copied_len = sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr); + if (hdr->nlmsg_len == copied_len) { + nlmsg_end(nw); + return (true); + } + + /* + * CAP_ACK was not set. Original request needs to be translated. + * XXX: implement translation of the original message + */ + RT_LOG(LOG_DEBUG, "[WARN] Passing ack message type %d untranslated", + nlerr->msg.nlmsg_type); + char *dst_payload, *src_payload; + int copy_len = hdr->nlmsg_len - copied_len; + dst_payload = nlmsg_reserve_data(nw, NLMSG_ALIGN(copy_len), char); + + src_payload = (char *)hdr + copied_len; + + memcpy(dst_payload, src_payload, copy_len); + nlmsg_end(nw); + + return (true); +} + +static bool +nlmsg_to_linux(int netlink_family, struct nlmsghdr *hdr, struct nlpcb *nlp, + struct nl_writer *nw) +{ + if (hdr->nlmsg_type < NLMSG_MIN_TYPE) { + switch (hdr->nlmsg_type) { + case NLMSG_ERROR: + return (nlmsg_error_to_linux(hdr, nlp, nw)); + case NLMSG_NOOP: + case NLMSG_DONE: + case NLMSG_OVERRUN: + return (handle_default_out(hdr, nw)); + default: + RT_LOG(LOG_DEBUG, "[WARN] Passing message type %d untranslated", + hdr->nlmsg_type); + return (handle_default_out(hdr, nw)); + } + } + + switch (netlink_family) { + case NETLINK_ROUTE: + return (rtnl_to_linux(hdr, nlp, nw)); + default: + return (handle_default_out(hdr, nw)); + } +} + +static struct mbuf * +nlmsgs_to_linux(int netlink_family, char *buf, int data_length, struct nlpcb *nlp) +{ + RT_LOG(LOG_DEBUG3, "LINUX: get %p size %d", buf, data_length); + struct nl_writer nw = {}; + + struct mbuf *m = NULL; + if (!nlmsg_get_chain_writer(&nw, data_length, &m)) { + RT_LOG(LOG_DEBUG, "unable to setup chain writer for size %d", + data_length); + return (NULL); + } + + /* Assume correct headers. Buffer IS mutable */ + int count = 0; + for (int offset = 0; offset + sizeof(struct nlmsghdr) <= data_length;) { + struct nlmsghdr *hdr = (struct nlmsghdr *)&buf[offset]; + int msglen = NLMSG_ALIGN(hdr->nlmsg_len); + count++; + + if (!nlmsg_to_linux(netlink_family, hdr, nlp, &nw)) { + RT_LOG(LOG_DEBUG, "failed to process msg type %d", + hdr->nlmsg_type); + m_freem(m); + return (NULL); + } + offset += msglen; + } + nlmsg_flush(&nw); + RT_LOG(LOG_DEBUG3, "Processed %d messages, chain size %d", count, + m ? m_length(m, NULL) : 0); + + return (m); +} + +static struct mbuf * +mbufs_to_linux(int netlink_family, struct mbuf *m, struct nlpcb *nlp) +{ + /* XXX: easiest solution, not optimized for performance */ + int data_length = m_length(m, NULL); + char *buf = malloc(data_length, M_LINUX, M_NOWAIT); + if (buf == NULL) { + RT_LOG(LOG_DEBUG, "unable to allocate %d bytes, dropping message", + data_length); + m_freem(m); + return (NULL); + } + m_copydata(m, 0, data_length, buf); + m_freem(m); + + m = nlmsgs_to_linux(netlink_family, buf, data_length, nlp); + free(buf, M_LINUX); + + return (m); +} + +static struct linux_netlink_provider linux_netlink_v1 = { + .mbufs_to_linux = mbufs_to_linux, + .msgs_to_linux = nlmsgs_to_linux, + .msg_from_linux = nlmsg_from_linux, +}; + +void +linux_netlink_register() +{ + linux_netlink_p = &linux_netlink_v1; +} + +void +linux_netlink_deregister() +{ + linux_netlink_p = NULL; +} diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 9434e40709bb..a5dd6de9134d 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -91,6 +91,8 @@ static int linux_recvmsg_common(struct thread *, l_int, struct l_msghdr *, l_uint, struct msghdr *); static int linux_set_socket_flags(int, int *); +#define SOL_NETLINK 270 + static int linux_to_bsd_sockopt_level(int level) { @@ -2091,6 +2093,10 @@ linux_setsockopt(struct thread *td, struct linux_setsockopt_args *args) case IPPROTO_TCP: name = linux_to_bsd_tcp_sockopt(args->optname); break; + case SOL_NETLINK: + level = SOL_SOCKET; + name = args->optname; + break; default: name = -1; break; diff --git a/sys/modules/linux_common/Makefile b/sys/modules/linux_common/Makefile index 0c4983ef98ca..6e67e7ab2578 100644 --- a/sys/modules/linux_common/Makefile +++ b/sys/modules/linux_common/Makefile @@ -4,7 +4,7 @@ KMOD= linux_common SRCS= linux_common.c linux_mib.c linux_mmap.c linux_util.c linux_emul.c \ - linux_dummy.c linux_errno.c \ + linux_dummy.c linux_errno.c linux_netlink.c \ linux.c device_if.h vnode_if.h bus_if.h opt_inet6.h .if ${MACHINE_CPUARCH} == "amd64" From nobody Thu Jan 26 15:42:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2lMZ5dW7z3c7km; Thu, 26 Jan 2023 15:42: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 4P2lMZ4P83z3j9J; Thu, 26 Jan 2023 15:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674747754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C1mMhyc1N1USBhnguj/cySH4lK+AeR2RUW71FaJxAoA=; b=OnKTCFkrpYUIbdlXHu3WxyLg9u1ECpbX9vML/vSAYo8k4GhgxgVumxuDRasUC7VsGkq9PS PPkjbTeUHg8TJAor+Nbh8Tdhidnzk8rCZVnklZvzmfPSqAwWPn0sdYtP5HRRI897ogH2k9 UDGeNLbLUhQESEn1xVxQxP67iYE3+ophdkIap6+LMRZ5EazQWhdt323J+3fYAmiqkiMgMf VHHGQJCAJ1VcJL8aO9IZCAuaE0YzIXiCIJ85s9Guv0Tr3LhjLkY/CkK+cZXwb2difOZJkl EE80MFo4inLU2gjUBSDuJ3GTVFqC63rsN6Os+K5GAH0r/Dseq624kMKr3QoSwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674747754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C1mMhyc1N1USBhnguj/cySH4lK+AeR2RUW71FaJxAoA=; b=HD75d+KlevIQ6cwynT3HtAcY2SB6PWYtRaGWo3Chhc5CVGtSrOgVkG2+KVM+glmbzza4QA QROcPKnf11YCzrK+vGx44B5CnQZYh9dFwf8PmB8/xMss/grgYTQ6CDeylptkCukGw3J4oX h6YVfEYkK5HM10fbkqmJH1xMWqRlR4/tk5zHqiZRy+Ho4jVt9dHaMIvN3fMmnvj1r58+zZ KX40w4ORFR3jxlrulaBuPh0yKHl6Hor3xvEQHNOrDDeyNDJCrkih97HOq1vsBs+u9kTEIf Z9jWnIW7lAm02ynlxfCaczunFxC4f4JkTLOiWvMwbt3gHZ2SDvbYntsqWk1Fuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674747754; a=rsa-sha256; cv=none; b=porvdhgMH+Ppu/HqSfG+ppFTscH5X7XqBvWOX6UOEXvqiGipdTk2ejiKBKeH0DVFpq6LiR RxUQ6jVmSgBAMKjhMannfSd8ykHHi8JZZVQXYwhivErLTmNLyQgmxoJ+hkZLXccDGxRUI/ ObgmgQMTRaJW0ADn76VovWi5b+QSLfUVAx9MO9DhIuii8MZHESKCoZJ1FCPkwf+wVxgauw CYSTRIyvh7O5saIpNPk4SyanJS/nZmTQ+s/usJSsb4gtj65sTZ9hiqjShrfjNOvpj1CEoN caPhN5rXLNW6YZpgv8HvLiUo/gEue6AGD0H4Dnn+SYJImoJW7SMmrGd0Wa/z0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2lMZ3LC6zZtZ; Thu, 26 Jan 2023 15:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QFgYbC061956; Thu, 26 Jan 2023 15:42:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QFgYX7061955; Thu, 26 Jan 2023 15:42:34 GMT (envelope-from git) Date: Thu, 26 Jan 2023 15:42:34 GMT Message-Id: <202301261542.30QFgYX7061955@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: cbd59dcec727 - stable/13 - netlink: fix standalone module build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cbd59dcec727fc73fc49e5df1e97c303a652b03f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=cbd59dcec727fc73fc49e5df1e97c303a652b03f commit cbd59dcec727fc73fc49e5df1e97c303a652b03f Author: Gleb Smirnoff AuthorDate: 2022-10-04 21:38:40 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-26 15:30:25 +0000 netlink: fix standalone module build (cherry picked from commit a87d2d1830933b81caaf30a67a4bef0a253ecd0b) --- sys/modules/netlink/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/modules/netlink/Makefile b/sys/modules/netlink/Makefile index 046ecf5a2961..eb166ac42ea6 100644 --- a/sys/modules/netlink/Makefile +++ b/sys/modules/netlink/Makefile @@ -5,6 +5,7 @@ SRCS = netlink_module.c netlink_domain.c netlink_io.c \ netlink_message_parser.c netlink_message_writer.c netlink_generic.c \ netlink_route.c route/iface.c route/iface_drivers.c route/neigh.c \ route/nexthop.c route/route.c +SRCS+= opt_inet.h opt_inet6.h opt_route.h EXPORT_SYMS= EXPORT_SYMS+= nlmsg_get_chain_writer From nobody Thu Jan 26 16:14:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2m4n5hclz3cD3D; Thu, 26 Jan 2023 16:14: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 4P2m4n59rNz3mVs; Thu, 26 Jan 2023 16:14:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674749689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uSVdwNmPo4KtdCBQXjzsgItbfVyhlPmU/P7n9jBJcOk=; b=ARFFxl4BH+FWTd9+ofRac2jhzBCPcMaZPyh3Q1wFXxxtzYxkNFmVGDfyUjQ3/NRcGpq2kH vytrAIFZIeUGRDgcQRPsD/O9cR+ZWBnhcmNdZi/+9ZiEI4L1yw8sxcegAhRW7FIq40cWA/ JHC3oSfLaGxLzKLo9/kq6lpDOSMbKn88aoKUda/UtESN3+xvO9a5SBrYaS9EiKZJ85jW3j dphPA59hPCff1iMw0obOfSWaIExs48GjraELboqxQk9x8rSh4nFiU2T1gFSDPS0mv7583d yidSIVvNTXhRcA+esZRQk5dq20pmYrMnFcCkrTCQQ8nLEViPkiN92FfzR9bIQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674749689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uSVdwNmPo4KtdCBQXjzsgItbfVyhlPmU/P7n9jBJcOk=; b=fmaY50TLdSBEZnkgIAinWqMyyyEqMezo+pbJWV4HwZ/8jFr9JsOfWWm4D8CMYIQonlykHE 6QNjLSVyz41/oVk+/qgRODwSe06q51Ssp65V8fykGadqwGYzPt0i6aDPDcpuvmJGDeRqKM R3d8AjVsUOAMm8luLxAquUuXQgPPaQxIR1weSJsxp9ZhlFk7ctA2NOo2RHRGQsX3lPr9ty 8c+RWaBGUtfihjg1mgzvyXKZ/RtYRobDHBuCWwYmeiZM1v1E1Rl5RgitybvNBNzPAdUrEY AN6l5yIGF5+KS/KZZhxzcZgFh1kr0HOBhZXd5xentSzAAjTmmLvYKSSR45pbEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674749689; a=rsa-sha256; cv=none; b=Ez42gmcx0CmNW9m4zKK6KcyMn+0IB1lweuvcRkY7HH7GACxpRKH/OdJVLDhLZrJwkdfa0a p2Y9DAh4I4HJewCnpF1iTf7+mlp696VvNGbCRVsDYKaejJqSgQd3fMqr2wniq1IDYyySQd pFzS2n9UGEaU+iBLwh2S2Z0XfdXfSMnW23VrlzUuJVsmhAwF13dirJCBf9mLnjuINp0xB4 uyPjJLeYzqBn1t7+ta17ZfbaRyir9DVCGhig4IOU/JF4iVl4CkScudTVTUie+htmzwk13D iBBfXf/A3V+NjBD+CkZKpmvOAenALzenyjacCWWP0Q9FdnfRkiFAq4e93+su8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2m4n4FlTzbqY; Thu, 26 Jan 2023 16:14:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QGEn23005741; Thu, 26 Jan 2023 16:14:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QGEn6R005740; Thu, 26 Jan 2023 16:14:49 GMT (envelope-from git) Date: Thu, 26 Jan 2023 16:14:49 GMT Message-Id: <202301261614.30QGEn6R005740@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: efbf827ae461 - stable/13 - netlink: allow netlink to be build in the kernel List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: efbf827ae461a66402acb191c036623ce1ee608f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=efbf827ae461a66402acb191c036623ce1ee608f commit efbf827ae461a66402acb191c036623ce1ee608f Author: Alexander V. Chernikov AuthorDate: 2022-12-22 14:51:36 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-26 15:50:25 +0000 netlink: allow netlink to be build in the kernel Differential Revision: https://reviews.freebsd.org/D37781 (cherry picked from commit c9313a0bad682351858e2e326cdb0f1d0bc2d1d8) --- sys/conf/NOTES | 3 +++ sys/conf/files | 12 ++++++++++++ sys/conf/options | 1 + sys/modules/netlink/Makefile | 2 +- sys/netlink/route/{route.c => rt.c} | 0 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 6002350c8286..a036d4fc6dd9 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -670,6 +670,9 @@ options IPSEC_SUPPORT # TLS framing and encryption/decryption of data over TCP sockets. options KERN_TLS # TLS transmit and receive offload +# Netlink kernel/user<>kernel/user messaging interface +options NETLINK + # # SMB/CIFS requester # NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV diff --git a/sys/conf/files b/sys/conf/files index 1dc36fd6f132..d1d317172c92 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4513,6 +4513,18 @@ netipsec/xform_ipcomp.c optional ipsec inet | ipsec inet6 netipsec/xform_tcp.c optional ipsec inet tcp_signature | \ ipsec inet6 tcp_signature | ipsec_support inet tcp_signature | \ ipsec_support inet6 tcp_signature +netlink/netlink_domain.c optional netlink +netlink/netlink_generic.c optional netlink +netlink/netlink_io.c optional netlink +netlink/netlink_message_parser.c optional netlink +netlink/netlink_message_writer.c optional netlink +netlink/netlink_module.c optional netlink +netlink/netlink_route.c optional netlink +netlink/route/iface_drivers.c optional netlink +netlink/route/iface.c optional netlink +netlink/route/neigh.c optional netlink +netlink/route/nexthop.c optional netlink +netlink/route/rt.c optional netlink netpfil/ipfw/dn_aqm_codel.c optional inet dummynet netpfil/ipfw/dn_aqm_pie.c optional inet dummynet netpfil/ipfw/dn_heap.c optional inet dummynet diff --git a/sys/conf/options b/sys/conf/options index e3154dfd4679..4ed0707e5c58 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -454,6 +454,7 @@ MBUF_STRESS_TEST MROUTING opt_mrouting.h NFSLOCKD PCBGROUP opt_pcbgroup.h +NETLINK PF_DEFAULT_TO_DROP opt_pf.h ROUTE_MPATH opt_route.h ROUTETABLES opt_route.h diff --git a/sys/modules/netlink/Makefile b/sys/modules/netlink/Makefile index eb166ac42ea6..791b953e5b84 100644 --- a/sys/modules/netlink/Makefile +++ b/sys/modules/netlink/Makefile @@ -4,7 +4,7 @@ KMOD= netlink SRCS = netlink_module.c netlink_domain.c netlink_io.c \ netlink_message_parser.c netlink_message_writer.c netlink_generic.c \ netlink_route.c route/iface.c route/iface_drivers.c route/neigh.c \ - route/nexthop.c route/route.c + route/nexthop.c route/rt.c SRCS+= opt_inet.h opt_inet6.h opt_route.h EXPORT_SYMS= diff --git a/sys/netlink/route/route.c b/sys/netlink/route/rt.c similarity index 100% rename from sys/netlink/route/route.c rename to sys/netlink/route/rt.c From nobody Thu Jan 26 17:07:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2nFF4Wtqz3b6h8; Thu, 26 Jan 2023 17:07: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 4P2nFF4Gs5z3rdG; Thu, 26 Jan 2023 17:07:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674752833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hHRIHCzjuzFELpb+mgFOuF6AWQyuhu8judYZrFZfUcM=; b=q84b4xB+sW6QLJ1Hb7KBIxiYlSef/RoDRQ/cS7Qg0TpvxRN5zeraUDS1M1sgcONP/TgIrL OqHE+FdrXGBWeTKdEkG1Dddhe6h3CAjtl9/3U6MBdaF05yjcgfWRlooz98fRdb/Om5TViU 0jQcMX6liQcYIoxy1gD7fe/sXhOdQePzl9mQxBHdAyxzt/aADQNIVDiWOgJvzbT3TjEtow sYMaem7xUZSeab3HywymSzLQwO/eQT1p5udWVTWw1IZOIJGjkldcVB60MbBUejtEBH23uT pwVOM5BUExgwjWqHyKlE00nYRZTZQAw4F0WbPf4aXL3LP0p02imTmqBxMSEa5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674752833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hHRIHCzjuzFELpb+mgFOuF6AWQyuhu8judYZrFZfUcM=; b=lNGjF9qmMCQGObN21lT4wzccHXkImQ3Mr1onqWQi9beClYkrCk2HLufRaBNDuXs7hs/ITY hAX3KHXVoLBnZ7yNryNYCABmMBNHNfSyHTw7G/dTUH0gjoirDqImXGMysrOTvO1eoXg9RT 5YWYkwfpQDt0XMvVi+Zj5RHOynm17FO5xFnQ1bTPFo6qy1BKg07c7pLAhE8G4UDPeykEmf DTgBIZBs6EM2XQRwW0Vv09MAC2zJchuB1It4Ylr25M/ALoClxXA6XNF4/496nE8sk75diI BA1GP65A3Xdrl+HPfbd8QAC0Y5/S/vdCcXSXcZvjKkpo3ZOmNU26ynhYeqKDNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674752833; a=rsa-sha256; cv=none; b=wF6APQyjL73rzxtT/8cZKfAV8Fx1l5T+KVmkJ1k7WLItbG4SuZM+NxYpa1kAhyuhPPGrYy dubXGprysOtvpf1YKtgTHHOqt5ydB/m9EQv951HgnUZsoDNj9vBdhmksh7HQ8jxBaiSriL viIFf1FKfJY0WFrdH5+4wqG/f+GTVxNNQrDAggvQq+ah4O4PJXnas6dfc8vd3k/VQeUcO1 s/jyYbxN6P6TM9PEDg0PDCnIIM9v6qo8ChXdt8PZEpXpEgw4fuSasYCdKtyAV/+zXAM0Gt aC3DfdZv3aSaa9LT5PAohXnLP6jgtqcL4SezJmTPAixkq/15CS7GLEFQaJRupQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2nFF3KXhzcmM; Thu, 26 Jan 2023 17:07:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QH7DjA077446; Thu, 26 Jan 2023 17:07:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QH77SG077433; Thu, 26 Jan 2023 17:07:07 GMT (envelope-from git) Date: Thu, 26 Jan 2023 17:07:07 GMT Message-Id: <202301261707.30QH77SG077433@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: f41f62320fd0 - stable/13 - zfs: merge openzfs/zfs@92e0d9d18 (zfs-2.1-release) into stable/13 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: f41f62320fd05ef5d185a964746c2583297e2c01 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=f41f62320fd05ef5d185a964746c2583297e2c01 commit f41f62320fd05ef5d185a964746c2583297e2c01 Merge: efbf827ae461 92e0d9d183ce Author: Martin Matuska AuthorDate: 2023-01-26 16:50:13 +0000 Commit: Martin Matuska CommitDate: 2023-01-26 16:51:07 +0000 zfs: merge openzfs/zfs@92e0d9d18 (zfs-2.1-release) into stable/13 OpenZFS release 2.1.9 Notable upstream pull requeset merges: #12829 zfs diff -h/ZFS_DIFF_NO_MANGLE, diff cleanups #14181 zed: unclean disk attachment faults the vdev #14252 Activate filesystem features only in syncing context #14253 Allow reciever to override encryption property in case of replication #14254 Restrict visibility of per-dataset kstats inside FreeBSD jails #14255 Zero end of embedded block buffer in dump_write_embedded() #14261 FreeBSD: zfs_register_callbacks() must implement error check correctly #14264 Miscellaneous fixes #14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names #14287 FreeBSD: Remove stray debug printf #14288 Colorize zfs diff output #14291 FreeBSD: Fix potential boot panic with bad label #14328 FreeBSD: catch up to 1400077 Obtained from: OpenZFS OpenZFS tag: zfs-2.1.9 OpenZFS commit: 92e0d9d183ce6752cd52f7277c8321d81df9ffee Relnotes: yes .../.github/workflows/zfs-tests-functional.yml | 2 +- sys/contrib/openzfs/CODE_OF_CONDUCT.md | 2 +- sys/contrib/openzfs/META | 4 +- sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c | 26 +++-- .../openzfs/cmd/zed/zed.d/statechange-notify.sh | 4 +- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 8 +- sys/contrib/openzfs/config/ax_python_devel.m4 | 71 +++++++------ sys/contrib/openzfs/config/deb.am | 4 +- sys/contrib/openzfs/config/kernel-acl.m4 | 50 ++++++++- .../openzfs/config/kernel-global_page_state.m4 | 2 +- sys/contrib/openzfs/config/kernel-tmpfile.m4 | 32 +++++- sys/contrib/openzfs/config/kernel.m4 | 38 ++++++- sys/contrib/openzfs/config/zfs-build.m4 | 2 +- .../dracut/02zfsexpandknowledge/module-setup.sh.in | 6 ++ .../contrib/dracut/90zfs/module-setup.sh.in | 10 ++ .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in | 2 +- sys/contrib/openzfs/contrib/initramfs/scripts/zfs | 22 ++-- .../openzfs/etc/systemd/system/zfs-zed.service.in | 2 +- sys/contrib/openzfs/include/libzutil.h | 6 +- .../include/os/linux/kernel/linux/blkdev_compat.h | 4 + .../include/os/linux/kernel/linux/dcache_compat.h | 8 +- sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h | 5 +- sys/contrib/openzfs/lib/libzfs/libzfs_diff.c | 115 ++++++++++++--------- sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 12 ++- sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 16 +-- .../lib/libzfs/os/linux/libzfs_sendrecv_os.c | 16 +++ sys/contrib/openzfs/man/man8/zfs.8 | 14 +++ .../openzfs/module/os/freebsd/spl/spl_kstat.c | 89 ++++++++++++++-- .../openzfs/module/os/freebsd/zfs/kmod_core.c | 7 +- sys/contrib/openzfs/module/os/freebsd/zfs/spa_os.c | 2 + .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 2 +- .../openzfs/module/os/freebsd/zfs/zfs_znode.c | 3 + sys/contrib/openzfs/module/os/linux/zfs/zfs_dir.c | 3 - .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 3 +- .../openzfs/module/os/linux/zfs/zpl_inode.c | 27 +++++ .../openzfs/module/os/linux/zfs/zpl_xattr.c | 11 +- sys/contrib/openzfs/module/unicode/u8_textprep.c | 21 ++-- sys/contrib/openzfs/module/zfs/dmu_objset.c | 7 -- sys/contrib/openzfs/module/zfs/dmu_send.c | 12 ++- sys/contrib/openzfs/module/zfs/dsl_dataset.c | 22 ++-- sys/contrib/openzfs/module/zfs/vdev.c | 4 +- .../module/zfs/vdev_raidz_math_aarch64_neonx2.c | 4 + .../zfs/vdev_raidz_math_powerpc_altivec_common.h | 44 ++++---- sys/contrib/openzfs/tests/runfiles/common.run | 3 +- .../openzfs/tests/test-runner/include/logapi.shlib | 15 +-- .../openzfs/tests/zfs-tests/cmd/mkfile/mkfile.c | 2 +- .../tests/zfs-tests/cmd/mmapwrite/mmapwrite.c | 16 ++- .../openzfs/tests/zfs-tests/include/blkdev.shlib | 46 ++++----- .../openzfs/tests/zfs-tests/include/commands.cfg | 1 - .../openzfs/tests/zfs-tests/include/libtest.shlib | 5 +- .../tests/functional/acl/posix/posix_001_pos.ksh | 4 +- .../tests/functional/acl/posix/posix_002_pos.ksh | 2 +- .../tests/functional/acl/posix/posix_003_pos.ksh | 12 +-- .../tests/functional/acl/posix/posix_004_pos.ksh | 3 + .../functional/alloc_class/alloc_class_004_pos.ksh | 2 +- .../functional/alloc_class/alloc_class_005_pos.ksh | 4 +- .../cli_root/zdb/zdb_block_size_histogram.ksh | 3 +- .../cli_root/zdb/zdb_object_range_neg.ksh | 2 +- .../cli_root/zdb/zdb_object_range_pos.ksh | 3 +- .../cli_root/zfs_get/zfs_get_009_pos.ksh | 4 +- .../zfs_receive/zfs_receive_to_encrypted.ksh | 14 +++ .../cli_root/zpool_create/zpool_create_005_pos.ksh | 2 +- .../cli_root/zpool_import/zpool_import.kshlib | 2 +- .../zpool_initialize_verify_initialized.ksh | 2 +- .../cli_root/zpool_wait/zpool_wait.kshlib | 2 +- .../cli_user/zfs_list/zfs_list_007_pos.ksh | 9 +- .../tests/functional/fault/auto_online_001_pos.ksh | 5 +- .../tests/functional/redundancy/redundancy.kshlib | 6 +- .../replacement/rebuild_disabled_feature.ksh | 2 +- .../zfs-tests/tests/functional/rsend/Makefile.am | 3 +- .../zfs-tests/tests/functional/rsend/rsend.kshlib | 2 +- .../tests/functional/rsend/rsend_012_pos.ksh | 2 +- .../rsend/send_encrypted_incremental.ksh | 93 +++++++++++++++++ .../functional/rsend/send_raw_large_blocks.ksh | 2 +- .../tests/functional/vdev_zaps/vdev_zaps.kshlib | 4 +- sys/modules/zfs/zfs_config.h | 17 ++- sys/modules/zfs/zfs_gitrev.h | 2 +- 77 files changed, 729 insertions(+), 311 deletions(-) diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_encrypted_incremental.ksh index 000000000000,491ad55db411..491ad55db411 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_encrypted_incremental.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_encrypted_incremental.ksh diff --cc sys/modules/zfs/zfs_config.h index 5970747bbd9c,000000000000..90c8cd12b042 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,975 -1,0 +1,984 @@@ +/* + * $FreeBSD$ + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* fops->fsync() with range */ +/* #undef HAVE_FSYNC_RANGE */ + +/* fops->fsync() without dentry */ +/* #undef HAVE_FSYNC_WITHOUT_DENTRY */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + ++/* has iops->get_inode_acl() */ ++/* #undef HAVE_GET_INODE_ACL */ ++ +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* yes */ +/* #undef HAVE_INODE_LOCK_SHARED */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAPPED */ + +/* inode_set_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + +/* Define to 1 if you have the `issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* kernel has asm/fpu/xcr.h */ +/* #undef HAVE_KERNEL_FPU_XCR_HEADER */ + +/* kernel fpu and XSAVE internal */ +/* #undef HAVE_KERNEL_FPU_XSAVE_INTERNAL */ + +/* uncached_acl_sentinel() exists */ +/* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* kernel_read() take loff_t pointer */ +/* #undef HAVE_KERNEL_READ_PPOS */ + +/* timer_list.function gets a timer_list */ +/* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ + +/* struct timer_list has a flags member */ +/* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ + +/* timer_setup() is available */ +/* #undef HAVE_KERNEL_TIMER_SETUP */ + +/* kernel_write() take loff_t pointer */ +/* #undef HAVE_KERNEL_WRITE_PPOS */ + +/* kmem_cache_create_usercopy() exists */ +/* #undef HAVE_KMEM_CACHE_CREATE_USERCOPY */ + +/* kstrtoul() exists */ +/* #undef HAVE_KSTRTOUL */ + +/* ktime_get_coarse_real_ts64() exists */ +/* #undef HAVE_KTIME_GET_COARSE_REAL_TS64 */ + +/* ktime_get_raw_ts64() exists */ +/* #undef HAVE_KTIME_GET_RAW_TS64 */ + +/* kvmalloc exists */ +/* #undef HAVE_KVMALLOC */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* linux/blk-cgroup.h exists */ +/* #undef HAVE_LINUX_BLK_CGROUP_HEADER */ + +/* lseek_execute() is available */ +/* #undef HAVE_LSEEK_EXECUTE */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Noting that make_request_fn() returns void */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_VOID */ + +/* iops->mkdir() takes umode_t */ +/* #undef HAVE_MKDIR_UMODE_T */ + +/* Define to 1 if you have the `mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* lookup_bdev() wants mode arg */ +/* #undef HAVE_MODE_LOOKUP_BDEV */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* new_sync_read()/new_sync_write() are available */ +/* #undef HAVE_NEW_SYNC_READ */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* percpu_counter_add_batch() is defined */ +/* #undef HAVE_PERCPU_COUNTER_ADD_BATCH */ + +/* percpu_counter_init() wants gfp_t */ +/* #undef HAVE_PERCPU_COUNTER_INIT_WITH_GFP */ + +/* posix_acl_chmod() exists */ +/* #undef HAVE_POSIX_ACL_CHMOD */ + +/* posix_acl_from_xattr() needs user_ns */ +/* #undef HAVE_POSIX_ACL_FROM_XATTR_USERNS */ + +/* posix_acl_release() is available */ +/* #undef HAVE_POSIX_ACL_RELEASE */ + +/* posix_acl_release() is GPL-only */ +/* #undef HAVE_POSIX_ACL_RELEASE_GPL_ONLY */ + +/* posix_acl_valid() wants user namespace */ +/* #undef HAVE_POSIX_ACL_VALID_WITH_NS */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* iops->put_link() cookie */ +/* #undef HAVE_PUT_LINK_COOKIE */ + +/* iops->put_link() delayed */ +/* #undef HAVE_PUT_LINK_DELAYED */ + +/* iops->put_link() nameidata */ +/* #undef HAVE_PUT_LINK_NAMEIDATA */ + +/* If available, contains the Python version number currently in use. */ +#define HAVE_PYTHON "3.7" + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* REQ_DISCARD is defined */ +/* #undef HAVE_REQ_DISCARD */ + +/* REQ_FLUSH is defined */ +/* #undef HAVE_REQ_FLUSH */ + +/* REQ_OP_DISCARD is defined */ +/* #undef HAVE_REQ_OP_DISCARD */ + +/* REQ_OP_FLUSH is defined */ +/* #undef HAVE_REQ_OP_FLUSH */ + +/* REQ_OP_SECURE_ERASE is defined */ +/* #undef HAVE_REQ_OP_SECURE_ERASE */ + +/* REQ_PREFLUSH is defined */ +/* #undef HAVE_REQ_PREFLUSH */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* struct rw_semaphore has member activity */ +/* #undef HAVE_RWSEM_ACTIVITY */ + +/* struct rw_semaphore has atomic_long_t member count */ +/* #undef HAVE_RWSEM_ATOMIC_LONG_COUNT */ + +/* linux/sched/signal.h exists */ +/* #undef HAVE_SCHED_SIGNAL_HEADER */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() exists, takes 3 args */ +/* #undef HAVE_SET_ACL */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + ++/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ ++/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ ++ +/* set_cached_acl() is usable */ +/* #undef HAVE_SET_CACHED_ACL_USABLE */ + +/* set_special_state() exists */ +/* #undef HAVE_SET_SPECIAL_STATE */ + +/* struct shrink_control exists */ +/* #undef HAVE_SHRINK_CONTROL_STRUCT */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +/* signal_stop() exists */ +/* #undef HAVE_SIGNAL_STOP */ + +/* new shrinker callback wants 2 args */ +/* #undef HAVE_SINGLE_SHRINKER_CALLBACK */ + +/* cs->count_objects exists */ +/* #undef HAVE_SPLIT_SHRINKER_CALLBACK */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* submit_bio is member of struct block_device_operations */ +/* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ + +/* super_setup_bdi_name() exits */ +/* #undef HAVE_SUPER_SETUP_BDI_NAME */ + +/* super_block->s_user_ns exists */ +/* #undef HAVE_SUPER_USER_NS */ + +/* struct kobj_type has default_groups */ +/* #undef HAVE_SYSFS_DEFAULT_GROUPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* i_op->tmpfile() exists */ +/* #undef HAVE_TMPFILE */ + ++/* i_op->tmpfile() uses old dentry signature */ ++/* #undef HAVE_TMPFILE_DENTRY */ ++ +/* i_op->tmpfile() has userns */ +/* #undef HAVE_TMPFILE_USERNS */ + +/* totalhigh_pages() exists */ +/* #undef HAVE_TOTALHIGH_PAGES */ + +/* kernel has totalram_pages() */ +/* #undef HAVE_TOTALRAM_PAGES_FUNC */ + +/* Define to 1 if you have the `udev_device_get_is_initialized' function. */ +/* #undef HAVE_UDEV_DEVICE_GET_IS_INITIALIZED */ + +/* kernel has __kernel_fpu_* functions */ +/* #undef HAVE_UNDERSCORE_KERNEL_FPU */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* iops->getattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_GETATTR */ + +/* iops->getattr() takes a vfsmount */ +/* #undef HAVE_VFSMOUNT_IOPS_GETATTR */ + +/* aops->direct_IO() uses iovec */ +/* #undef HAVE_VFS_DIRECT_IO_IOVEC */ + +/* aops->direct_IO() uses iov_iter without rw */ +/* #undef HAVE_VFS_DIRECT_IO_ITER */ + +/* aops->direct_IO() uses iov_iter with offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_OFFSET */ + +/* aops->direct_IO() uses iov_iter with rw and offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET */ + +/* filemap_dirty_folio exists */ +/* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ + +/* All required iov_iter interfaces are available */ +/* #undef HAVE_VFS_IOV_ITER */ + +/* fops->iterate() is available */ +/* #undef HAVE_VFS_ITERATE */ + +/* fops->iterate_shared() is available */ +/* #undef HAVE_VFS_ITERATE_SHARED */ + +/* fops->readdir() is available */ +/* #undef HAVE_VFS_READDIR */ + +/* address_space_operations->readpages exists */ +/* #undef HAVE_VFS_READPAGES */ + +/* read_folio exists */ +/* #undef HAVE_VFS_READ_FOLIO */ + +/* fops->read/write_iter() are available */ +/* #undef HAVE_VFS_RW_ITERATE */ + +/* __set_page_dirty_nobuffers exists */ +/* #undef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS */ + +/* __vmalloc page flags exists */ +/* #undef HAVE_VMALLOC_PAGE_KERNEL */ + +/* yes */ +/* #undef HAVE_WAIT_ON_BIT_ACTION */ + +/* wait_queue_entry_t exists */ +/* #undef HAVE_WAIT_QUEUE_ENTRY_T */ + +/* wq_head->head and wq_entry->entry exist */ +/* #undef HAVE_WAIT_QUEUE_HEAD_ENTRY */ + +/* xattr_handler->get() wants dentry */ +/* #undef HAVE_XATTR_GET_DENTRY */ + +/* xattr_handler->get() wants both dentry and inode */ +/* #undef HAVE_XATTR_GET_DENTRY_INODE */ + +/* xattr_handler->get() wants dentry and inode and flags */ +/* #undef HAVE_XATTR_GET_DENTRY_INODE_FLAGS */ + +/* xattr_handler->get() wants xattr_handler */ +/* #undef HAVE_XATTR_GET_HANDLER */ + +/* xattr_handler has name */ +/* #undef HAVE_XATTR_HANDLER_NAME */ + +/* xattr_handler->list() wants dentry */ +/* #undef HAVE_XATTR_LIST_DENTRY */ + +/* xattr_handler->list() wants xattr_handler */ +/* #undef HAVE_XATTR_LIST_HANDLER */ + +/* xattr_handler->list() wants simple */ +/* #undef HAVE_XATTR_LIST_SIMPLE */ + +/* xattr_handler->set() wants dentry */ +/* #undef HAVE_XATTR_SET_DENTRY */ + +/* xattr_handler->set() wants both dentry and inode */ +/* #undef HAVE_XATTR_SET_DENTRY_INODE */ + +/* xattr_handler->set() wants xattr_handler */ +/* #undef HAVE_XATTR_SET_HANDLER */ + +/* xattr_handler->set() takes user_namespace */ +/* #undef HAVE_XATTR_SET_USERNS */ + +/* Define if host toolchain supports XSAVE */ +#define HAVE_XSAVE 1 + +/* Define if host toolchain supports XSAVEOPT */ +#define HAVE_XSAVEOPT 1 + +/* Define if host toolchain supports XSAVES */ +#define HAVE_XSAVES 1 + +/* ZERO_PAGE() is GPL-only */ +/* #undef HAVE_ZERO_PAGE_GPL_ONLY */ + +/* Define if you have [z] */ +#define HAVE_ZLIB 1 + +/* __posix_acl_chmod() exists */ +/* #undef HAVE___POSIX_ACL_CHMOD */ + +/* kernel exports FPU functions */ +/* #undef KERNEL_EXPORTS_X86_FPU */ + +/* TBD: fetch(3) support */ *** 134 LINES SKIPPED *** From nobody Thu Jan 26 18:35:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qC33wJxz3bLvV; Thu, 26 Jan 2023 18:35: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 4P2qC32QyJz43J5; Thu, 26 Jan 2023 18:35:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674758127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lk8+YR/SsXYnsNdAQ4eGw4XnGJCHKlpkOjOMJ7qeD9o=; b=JrxduG9S5+XZqGhc7/WTuWD3bcyyrXsYM3gjOJ35I8KCjg010vsi2HAAu/CW5Dodyd5HQU M3mZ+ouID2cxgBpaFNQRHtTb6J6qHmkXBIpgq6zNIJSzTMsmgZ4UnBAEGktcltNKe0D7Yg LLFrooAc95rMYHJidc5DjxSrcYNvv2dQ9Oy4g7Ppo97SDcwQkEAcNVl2NhTpOcVt1UPYj8 foiHWQ0r/GAdQZI3acv8PDm7DuuoBVfupBgxcmAsaL7b2rPI9kq/PuTgLXxnK63UyMuLrY Hq+REyK1S+DglgCiXkSgMp3xnKsUJVQUIX9lwM+PTYnaJwTJ1sEFRlixn9p4+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674758127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lk8+YR/SsXYnsNdAQ4eGw4XnGJCHKlpkOjOMJ7qeD9o=; b=pqG3oTS9a8kTbH0DaeOutJbQ0eTa1d0j30MotJ1URfCurZ+Ryu7IvjubiwaZe3pVbseAVg xBu0RFjDjFkc+Rr/8PlrasEoqyG2Sbzs4FNXkUKiD51xtQzafoj4535cfr49ruF8JMltCV qk6YwPyRQddWgR/69/wtUjCzlSP63MySnB2houE318T0hGYH95q+ecEVmDR3pLlsgQLH/Q t2KEmdnOfZMiUh6ffhNzWJ7pZWApVsi6e3IAqwqUvAGjPDBcYTUp/UGkQGQMftxOakvTRd fbzYfH3rb63maPuPmQDC6FELUZTwzKLJ05h8dMINFYqGMSvYBHKggd1thl4JtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674758127; a=rsa-sha256; cv=none; b=lYLWEKqHQdYeH1yT1l4/fIBC4Ey9jPBFV5/L9oXgalsdq3JZFo4XTEoN3p1vCxNwzOsIoR ql1Bqw/9+kvoA/ivjeG0UBK/31Jr47e5XTFAjpDGNEMP72XF0tz4DcGLvz67Nd1WnMHCJn 1oKo0vfxL4kchxFwQLVnQ15PzIEv9izN9EU/iIoSuoGsXZvttAKuVP5UAPTX8CQMrGz9SB vRq6U5Jd3wHf5WLPepPi1czLpRqGgSnCsiTai580PuzLOaQHSeMjI+xYqAHoxfFM8H0xzf kU4U4BOf68y/u4J2Kcrpcac0H0qwKH1PqLwwyqRQjOqBB5uxKagcH1OXltBWIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qC31PHPzg4Z; Thu, 26 Jan 2023 18:35:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIZRin005586; Thu, 26 Jan 2023 18:35:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIZRmY005585; Thu, 26 Jan 2023 18:35:27 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:35:27 GMT Message-Id: <202301261835.30QIZRmY005585@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 0e622d39414a - stable/13 - bhyve/vioapic: remove an extra pin masked check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0e622d39414a3cad33a6e1fb254a1537b0cc91bf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0e622d39414a3cad33a6e1fb254a1537b0cc91bf commit 0e622d39414a3cad33a6e1fb254a1537b0cc91bf Author: Roger Pau Monné AuthorDate: 2021-01-19 11:52:44 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:32:36 +0000 bhyve/vioapic: remove an extra pin masked check vioapic_send_intr does already check whether the pin is masked before injecting the interrupt, there's no need to do it in vioapic_write also. No functional change intended. Reviewed by: grehan Differential revision: https://reviews.freebsd.org/D28236 (cherry picked from commit 49429cf9be7f43c37723175f90c56b29e29d1680) --- sys/amd64/vmm/io/vioapic.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index a8117da4b879..682e862da63e 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -363,12 +363,10 @@ vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) /* * Generate an interrupt if the following conditions are met: - * - pin is not masked * - previous interrupt has been EOIed * - pin level is asserted */ - if ((vioapic->rtbl[pin].reg & IOART_INTMASK) == IOART_INTMCLR && - (vioapic->rtbl[pin].reg & IOART_REM_IRR) == 0 && + if ((vioapic->rtbl[pin].reg & IOART_REM_IRR) == 0 && (vioapic->rtbl[pin].acnt > 0)) { VIOAPIC_CTR2(vioapic, "ioapic pin%d: asserted at rtbl " "write, acnt %d", pin, vioapic->rtbl[pin].acnt); From nobody Thu Jan 26 18:35:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qC43kbLz3bLgq; Thu, 26 Jan 2023 18:35: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 4P2qC435szz43Lj; Thu, 26 Jan 2023 18:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674758128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dLeFiWhVqQuDi8q4kJ1Am2EZc5mS+wE+/wBWy6tyO9s=; b=GnwlgrHLmvq30ihfZBZ4/W7TWEQ59RvFfWjsQzfWckHTDHdvvwC0vdXDmIt9LRxBs5a+fA +GrgKAiVfCqizB2zzRUOr23nUdkQ0lEtQZWxkUrD1zMFvFEGay+VpRuVz5k9AyD4jSdwL6 ++nQb7lOFf3Jmi47Uj5Qrd+0DuGIiQYF7R399YUP+WiVoqQe6XJs1mi1C2AHHyJRo0QFJu GzNikJXId+gJU4BaJ9x7zRjsEzRSdMxMQfjJUiAFuN5Xlj+7gmniuzdvYO/vIeaz3ogfRJ FE36jdHSn5SGhSyWggF+oz77qI4Yvdv9lTN8DyQtDMM9EsDV8DHOlRTDPlFhLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674758128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dLeFiWhVqQuDi8q4kJ1Am2EZc5mS+wE+/wBWy6tyO9s=; b=q0j6KpHbFWsdgQpV/8Xle5crV1opCUuHGnuei44QPcBfZG+qvQLe33aZrdjucjYFHfBOL6 EgaytUsyiDm23cIGSbHS4kA/bQzuqDO6PvhVApi5E/ZWgEj2B9MBP1xx7uLbtpv0FajrWO ltFqioQaOiPyiiV6lklHvlZzKBEJXFbbGTYFSOPAbaZx/MLhXQ81XtK6q3CAYKYakyoIuv mLJoewQQkJVmrdMCgzuEZztDURABvIe8zeKwBk38YM6sb4IWrLGh+hHAgyPp9SYRmUo8DR iEaRgVtyAXDKMegj/nY6zVbGvzwPJC937LG9Tn3IVd+CGhJl3aXA211EJErV1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674758128; a=rsa-sha256; cv=none; b=LWX2VRWagBFLXGPp08fRpS8WKdCzRN7E/P4esMdp8NAU9LjSSWBVrbAYrOHvrsj9ceN9tV T5Nc1A9KUpuLX6PBNj0T777xvY4qP64Pd9NPNM30yqfTft4L6fGnyEQiQtS/F40ESvkRbx W7MmLAjqUNRO+gcePIbIrjZ7PkMUEzTcwV4WZ4zcwHXvxA20JcNzNxtY0d2gZmtPY32D+F TN+ipLaS8cBxQ+Etxc0zE+QrM1PjY6vNvNu7/CCYB3KzMTL1HM+p1AQX8YoX+x23gf1RBz 5Jt5LY2J6SYoET83QLA1xFqyQtk8NokyiFomBriSB6R+jjN27/AaKGE+UBBGxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qC424Dgzfc9; Thu, 26 Jan 2023 18:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIZSTs005617; Thu, 26 Jan 2023 18:35:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIZS4D005616; Thu, 26 Jan 2023 18:35:28 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:35:28 GMT Message-Id: <202301261835.30QIZS4D005616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 98796fffb6cd - stable/13 - bhyve/ioapic: only account for asserted line in level mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 98796fffb6cd86d604f3f3c13f2a777346a2f0fa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=98796fffb6cd86d604f3f3c13f2a777346a2f0fa commit 98796fffb6cd86d604f3f3c13f2a777346a2f0fa Author: Roger Pau Monné AuthorDate: 2021-01-19 12:41:03 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:33:06 +0000 bhyve/ioapic: only account for asserted line in level mode After modifying a redirection entry only try to inject an interrupt if the pin is in level mode, pins in edge mode shouldn't take into account the line assert status as they are triggered by edge changes, not the line status itself. Reviewed by: grehan Differential revision: https://reviews.freebsd.org/D28237 (cherry picked from commit d7d067698a38a3464a58eb34f68f63e529c45136) --- sys/amd64/vmm/io/vioapic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index 682e862da63e..941f7c7364bc 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -364,9 +364,11 @@ vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) /* * Generate an interrupt if the following conditions are met: * - previous interrupt has been EOIed + * - pin trigger mode is level * - pin level is asserted */ if ((vioapic->rtbl[pin].reg & IOART_REM_IRR) == 0 && + (vioapic->rtbl[pin].reg & IOART_TRGRMOD) == IOART_TRGRLVL && (vioapic->rtbl[pin].acnt > 0)) { VIOAPIC_CTR2(vioapic, "ioapic pin%d: asserted at rtbl " "write, acnt %d", pin, vioapic->rtbl[pin].acnt); From nobody Thu Jan 26 18:35:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qC54FcTz3bLns; Thu, 26 Jan 2023 18:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qC53n6Tz43RL; Thu, 26 Jan 2023 18:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674758129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q92UHr9uJeRzq/b8+fWgXpMF//e85sJUYuC9LtFpkT8=; b=ltYfBYvSHihX9VDh5yHxHpVbuOQ0zzlHh7yVSTBZFSm+6WgWICl7yYD21PnFx0/g928udx 5JJ205NykuIVg2Anm7sr7BQ4ps6Barg4hpqCX8utI3BovYuYt1mkLckMslOXo60HWNd2/G UGF2oT+GHTN4ZNwkxev+aBTcVxsqP2jbMycSuM1aHu0l7DrwMDCRXErwcv1vHoiAIvF/vH 23WjwYqnaxQkEG4yOC7e9CWfxfpwd4BuM0hSLOC8TgqlJLqY6UyFOztqhS/T1M8cLr0DvR v0SK1VBXA+x1ImrciXn90v90pk7fzEVLNZVe7rMHR8rovIyqVOBAiquGAY/0nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674758129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q92UHr9uJeRzq/b8+fWgXpMF//e85sJUYuC9LtFpkT8=; b=sDYQ9Fd2qAUvdT8T+3ZauaTc5nuKbkhKBAKQbJONWmZydPyDXD8XtqdH/xcOTaNesHWhHx uOCgjqodauR+UPCo6+18JuEGUqB1ogGYU5ByN7PqGwsUBgLrI26XBX/K+z+c9cqmdmiMkl 2E9E54P+rgOHpwIQY8JFh+NOa2Cl4AMFg//8WOrNkqhU/+pMqE1cKGw/TXbsmxERy9EJBC Oaq4e6pJRrn3PDLnaYsMTZNfJMFO4PGkV2NSblTayjtJKuQg+yPA9Nz5pC8Di8KtDAowRY sDT48X6SG9ByToDFMinI0bltdvUJnpq5hf7uMAnZTMKQNfP2q2CrGweT6TYLBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674758129; a=rsa-sha256; cv=none; b=Wd0DsW4YdrO6OelFuV576STkxt53sVt1+2uMkgZ5CRx7twcyk20XTMo7vLehTyajuI1Fry PJwyslQBP2OAYt1oyhSkjwthRM/Bx9gObBNqoa2ul/tqe/8aru7qCa67vlWDgd6TauBisS S+C+4OmfAICfNs6pSxj6wtu3L593tnx0yec3yHrMVO5FrYcIDGMF9Z9SXAJnPhZeFw8emR eznO8I7DkkeQJE48PLgy0hIRczG8ODHV0ugJ2WmwR4PvxR/2cwe3L0JetWNUauatopplDu lyCwYfBcUvBvFwgeQYClRXp7vhuxLg+edlGBys3bzZZcYlYkmCoOg02PMhYI+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qC52t64zfrR; Thu, 26 Jan 2023 18:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIZTKr005641; Thu, 26 Jan 2023 18:35:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIZTIe005640; Thu, 26 Jan 2023 18:35:29 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:35:29 GMT Message-Id: <202301261835.30QIZTIe005640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 38433b790de0 - stable/13 - bhyve/ioapic: improve the tracking of IRR bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 38433b790de01eabc39c53caf3a0c84921fecda6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=38433b790de01eabc39c53caf3a0c84921fecda6 commit 38433b790de01eabc39c53caf3a0c84921fecda6 Author: Roger Pau Monné AuthorDate: 2021-01-19 11:52:28 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:34:04 +0000 bhyve/ioapic: improve the tracking of IRR bit One common method of EOI'ing an interrupt at the IO-APIC level is to switch the pin to edge triggering mode and then back into level mode. That would cause the IRR bit to be cleared and thus further interrupts to be injected. FreeBSD does indeed use that method if the IO-APIC EOI register is not supported. The bhyve IO-APIC emulation code didn't clear the IRR bit when doing that switch, and was also missing acknowledging the IRR state when trying to inject an interrupt in vioapic_send_intr. Reviewed by: grehan Differential revision: https://reviews.freebsd.org/D28238 (cherry picked from commit 5ea878684f6cfff4ad05186346ff3a4828d980ca) --- sys/amd64/vmm/io/vioapic.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index 941f7c7364bc..639c1b07eb08 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -122,8 +122,14 @@ vioapic_send_intr(struct vioapic *vioapic, int pin) phys = ((low & IOART_DESTMOD) == IOART_DESTPHY); delmode = low & IOART_DELMOD; level = low & IOART_TRGRLVL ? true : false; - if (level) + if (level) { + if ((low & IOART_REM_IRR) != 0) { + VIOAPIC_CTR1(vioapic, "ioapic pin%d: irr pending", + pin); + return; + } vioapic->rtbl[pin].reg |= IOART_REM_IRR; + } vector = low & IOART_INTVEC; dest = high >> APIC_ID_SHIFT; @@ -342,6 +348,16 @@ vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) vioapic->rtbl[pin].reg &= ~mask64 | RTBL_RO_BITS; vioapic->rtbl[pin].reg |= data64 & ~RTBL_RO_BITS; + /* + * Switching from level to edge triggering will clear the IRR + * bit. This is what FreeBSD will do in order to EOI an + * interrupt when the IO-APIC doesn't support targeted EOI (see + * _ioapic_eoi_source). + */ + if ((vioapic->rtbl[pin].reg & IOART_TRGRMOD) == IOART_TRGREDG && + (vioapic->rtbl[pin].reg & IOART_REM_IRR) != 0) + vioapic->rtbl[pin].reg &= ~IOART_REM_IRR; + VIOAPIC_CTR2(vioapic, "ioapic pin%d: redir table entry %#lx", pin, vioapic->rtbl[pin].reg); @@ -363,12 +379,10 @@ vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) /* * Generate an interrupt if the following conditions are met: - * - previous interrupt has been EOIed * - pin trigger mode is level * - pin level is asserted */ - if ((vioapic->rtbl[pin].reg & IOART_REM_IRR) == 0 && - (vioapic->rtbl[pin].reg & IOART_TRGRMOD) == IOART_TRGRLVL && + if ((vioapic->rtbl[pin].reg & IOART_TRGRMOD) == IOART_TRGRLVL && (vioapic->rtbl[pin].acnt > 0)) { VIOAPIC_CTR2(vioapic, "ioapic pin%d: asserted at rtbl " "write, acnt %d", pin, vioapic->rtbl[pin].acnt); From nobody Thu Jan 26 18:54:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcl5Cgnz3bPKh; Thu, 26 Jan 2023 18:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcl3m6Dz45DN; Thu, 26 Jan 2023 18:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HEXHAocyT6ARfogbiqTJ5muohEGw59nwPte+pB+73uQ=; b=JI451tNEauXtMwSvKvSCAk24mbwdJDhXtDzxFMRvOgGhVpAM5Fuk9FJI8yo8TUphn+4JTo lMxYbMxt/UWGUJ7r7gqU/yF4XA75iy7yKeq8UkgFGXDJtRdgVJ5ppUqgaIpjjDtLjKSIJG 2pbsusEALvtJ9h6qmt4WEnv/Zod7HJfgRlzudLhvrIGc1+dqe1iIO+kIVYsVoyIMFZ+vts KsqGIohfOUNXXQfT+XoJssNSklX9bXdWlv+8YMLVSD/kEKW+abQqeSLXWxcWrp5r38Pudm pJLSQwvCQ41x0S8ZzCPOb1U6ZtnI1VFIM5ajOabUXRfC66VNypkHf4JxlNhQvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HEXHAocyT6ARfogbiqTJ5muohEGw59nwPte+pB+73uQ=; b=S4iXb9cNEiMdF1ZQrYtsqu00PDVFonEjW7/CZ+P3tCn8SB1ax7916xfGTu61Byfj+y//jN m7j10PDLm2zSq/fzFOkaqGlGLzARwK+BOAIc4s2F9p6sbVGdwaAWq52qRDdpm06LOZforz l0k+Zdx9/j3UNkgcGgoO5hmZgIKzWBdeZC3TyRusT2+HgbI2IFpjoO9r2kC/OJeqBtQn+f pHXioGmo8+Bx9xxChAo6blw9k+4Gu8Y242meCmjMyb11X2g3htJx6wxnbYGnDlDWhay0/k 0jhojO+jUZ8n/d6Qbrs9IWize7zmStln4Kw1d7VaUthBowFLBWZA5/PtSes6/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759255; a=rsa-sha256; cv=none; b=wcTlk3O7njDHbZWTfjT2DapMA4NUFCBCE5sO7KBLxkjkIzDXs5NcB3UZjbz/JUEOVgb0oD 4CKhlqP6cuEsDj5Qn3uu3LgFWt/ujuWyfSfvgqWjSEJHE1XoFlXJU0DoWfvzyAUsJlaOct lfob5MdHrDXWFkfI0Fyrx70hj5QJuugvbEjyMzRhj4gX8NCulvi6/FEnDTLwWvF4rfFj4z mWSnpJdR4zf8VOmMjKEDusYYWGD6mp5vRsPoPyHvN98asbY/AMAY4eo/B5yTouk4bXHauT 9vciF0I9POPQm9E6nqean9Lc5SohxzAf0Mjibk4O51chSEDNR5scB2zIG/aPvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcl2p7NzgKs; Thu, 26 Jan 2023 18:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsFgO033957; Thu, 26 Jan 2023 18:54:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsFGh033956; Thu, 26 Jan 2023 18:54:15 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:15 GMT Message-Id: <202301261854.30QIsFGh033956@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4fc5b31e2f31 - stable/13 - libvmm: clean up vmmapi.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4fc5b31e2f31fcc30788c27532ca8dfff987d7bc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4fc5b31e2f31fcc30788c27532ca8dfff987d7bc commit 4fc5b31e2f31fcc30788c27532ca8dfff987d7bc Author: Robert Wing AuthorDate: 2021-01-29 08:30:31 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:37:19 +0000 libvmm: clean up vmmapi.h struct checkpoint_op, enum checkpoint_opcodes, and MAX_SNAPSHOT_VMNAME are not vmm specific, move them out of the vmmapi header. They are used for the save/restore functionality that bhyve(8) provides and are better suited in usr.sbin/bhyve/snapshot.h Since bhyvectl(8) requires these, the Makefile for bhyvectl has been modified to include usr.sbin/bhyve/snapshot.h Reviewed by: kevans, grehan Differential Revision: https://reviews.freebsd.org/D28410 (cherry picked from commit 4f4065e0a220a57afa03420d4f8fa97dbcb5644c) --- lib/libvmmapi/vmmapi.h | 13 ------------- usr.sbin/bhyve/snapshot.h | 12 ++++++++++++ usr.sbin/bhyvectl/Makefile | 4 ++++ usr.sbin/bhyvectl/bhyvectl.c | 4 ++++ 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index 064875f26818..586392a0ff29 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -260,19 +260,6 @@ void vm_setup_freebsd_gdt(uint64_t *gdtr); /* * Save and restore */ - -#define MAX_SNAPSHOT_VMNAME 100 - -enum checkpoint_opcodes { - START_CHECKPOINT = 0, - START_SUSPEND = 1, -}; - -struct checkpoint_op { - unsigned int op; - char snapshot_filename[MAX_SNAPSHOT_VMNAME]; -}; - int vm_snapshot_req(struct vm_snapshot_meta *meta); int vm_restore_time(struct vmctx *ctx); diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index f9ea3d573089..eba46c497ab2 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -42,6 +42,8 @@ #include #include +#define MAX_SNAPSHOT_VMNAME 100 + struct vmctx; struct restore_state { @@ -57,6 +59,16 @@ struct restore_state { ucl_object_t *meta_root_obj; }; +enum checkpoint_opcodes { + START_CHECKPOINT = 0, + START_SUSPEND = 1, +}; + +struct checkpoint_op { + unsigned int op; + char snapshot_filename[MAX_SNAPSHOT_VMNAME]; +}; + struct checkpoint_thread_info { struct vmctx *ctx; int socket_fd; diff --git a/usr.sbin/bhyvectl/Makefile b/usr.sbin/bhyvectl/Makefile index 58eaf49dae3a..12fdb706cadb 100644 --- a/usr.sbin/bhyvectl/Makefile +++ b/usr.sbin/bhyvectl/Makefile @@ -18,6 +18,10 @@ CFLAGS+= -I${SRCTOP}/sys/amd64/vmm .if ${MK_BHYVE_SNAPSHOT} != "no" CFLAGS+= -DBHYVE_SNAPSHOT + +# usr.sbin/bhyve/snapshot.h needs ucl header +CFLAGS+= -I${SRCTOP}/contrib/libucl/include +CFLAGS+= -I${SRCTOP}/usr.sbin/bhyve .endif .include diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 1b882e1e0504..9613efdd0a88 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -63,6 +63,10 @@ __FBSDID("$FreeBSD$"); #include "amd/vmcb.h" #include "intel/vmcs.h" +#ifdef BHYVE_SNAPSHOT +#include "snapshot.h" +#endif + #define MB (1UL << 20) #define GB (1UL << 30) From nobody Thu Jan 26 18:54:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcm5Wttz3bNxN; Thu, 26 Jan 2023 18:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcm5358z45Zk; Thu, 26 Jan 2023 18:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ms9i2qHhxDRpuNryGtXMBugCyhKBuhSOa+AAGbGE4IE=; b=EdWRXWWoZihDZ0+o2BgdB4FH4wn0FReDFkWTbjNZI2r2Nf21VBjBNovUutLuJOZAcJ0K3/ aEH+BX9Zw9jtzOSlYsTwL5VusDa2+igIHtCY4Xpl+uDAEK5gBERFXy0Oq70K3pqzbzNmln 5g1kLP3Z/QMO9ay+D/3taPcHsFjQsufYdcxr3ZnQ81Q4fC408MKDUaCOPSPJRS84oiS/eS qQvMv3CMnc7Np0XdbK4bj+fU9FJ2RJ6fXsDb/AWkw/SoCs4dfFee2IWoU48eW1RxydgGC+ v0BvcO8vf5+Z695D6pFEkRCz4Xof1CHbCdHVdZz3Xk6kzvVbhuSF06r0W1yw+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ms9i2qHhxDRpuNryGtXMBugCyhKBuhSOa+AAGbGE4IE=; b=mY6ZCxiN+oBYRH/PSKlvTz7bWvUnCBvkrXmt7dGJTRtQbyR3tDQ5I9IGhIK6+fr8o+D73L +U/5DgFO/rOeg94++hUn8iAXOZJ5rGCODE9hzhSjXVEpT9h3Mjyf8vDtMfxRmFOG1KDWzD 2XBtAW0nTdZ7xv0IT5EelavCJuryu+5jpiXuXuquVgOL52LziRJ0odOQchnMIMrKhQix3K i3KAr4c9oESydynDNwwLHhb+4Xi7GKOx2u9IyHHJZRfHW7ebCfzsfU/s6PEBOBaiB+zUZt BusMsPNSzeN+CJMp1WPZfSYyvClBxjVEpx2G5NG1370PssoOypFRvMH8d21ukQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759256; a=rsa-sha256; cv=none; b=HNgZiayFcmweMF4bTkYQLATpc/IyHNX7/MzWtd+W87GIMKAyhOrosq0lalaI2U6xQn9P3M S/wOw2rKC9Zyve1MT1X+xO0aHsoUDWfFUuCY7IC6NRp3azeSAFZu7Auob19JygKCHm4xAS 9//5lFAYrIH4SVK1+ndoGNRWk+inuIH3WTbqgrdU/1KWqoKdZhDvCJ3b8V4s0bUuxmHDyt vpTJqNF6MMJc6v98VLbWMwMo/5gBwnc6yrwrwXxMdtmbnHO+Act8+NDvekexV/w9fYVsH7 3CjYuuTyFonhwEFhvEp3/hAHq/HxYZIK183tKZjICEgBSgkvLlDCCkiJlJQ9Rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcm3hmVzgKt; Thu, 26 Jan 2023 18:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsGk4033981; Thu, 26 Jan 2023 18:54:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsGht033980; Thu, 26 Jan 2023 18:54:16 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:16 GMT Message-Id: <202301261854.30QIsGht033980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 89c376406b5b - stable/13 - bhyve/snapshot: drop mkdir when creating the unix domain socket List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 89c376406b5b993b85d76bc2f061c679129077d2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=89c376406b5b993b85d76bc2f061c679129077d2 commit 89c376406b5b993b85d76bc2f061c679129077d2 Author: Robert Wing AuthorDate: 2021-02-19 02:48:40 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:40:37 +0000 bhyve/snapshot: drop mkdir when creating the unix domain socket Add /var/run/bhyve/ to BSD.var.dist so we don't have to call mkdir when creating the unix domain socket for a given bhyve vm. The path to the unix domain socket for a bhyve vm will now be /var/run/bhyve/vmname instead of /var/run/bhyve/checkpoint/vmname Move BHYVE_RUN_DIR from snapshot.c to snapshot.h so it can be shared to bhyvectl(8). Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D28783 (cherry picked from commit 5ce2d4a1c2922821b9940473213c0d75469755fc) --- etc/mtree/BSD.var.dist | 2 ++ share/man/man7/hier.7 | 2 ++ usr.sbin/bhyve/snapshot.c | 32 ++------------------------------ usr.sbin/bhyve/snapshot.h | 1 + usr.sbin/bhyvectl/bhyvectl.c | 3 +-- 5 files changed, 8 insertions(+), 32 deletions(-) diff --git a/etc/mtree/BSD.var.dist b/etc/mtree/BSD.var.dist index 6570d5324cd0..e1978f341408 100644 --- a/etc/mtree/BSD.var.dist +++ b/etc/mtree/BSD.var.dist @@ -76,6 +76,8 @@ preserve .. run + bhyve + .. dhclient .. ppp gname=network mode=0770 diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index d87e91f8c4c5..00784986062a 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -718,6 +718,8 @@ system information files describing various info about system since it was booted .Pp .Bl -tag -width Fl -compact +.It Pa bhyve/ +bhyve vm unix domain sockets .It Pa ppp/ writable by the .Dq network diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 029c291a3cd1..2938a0e84c88 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -115,8 +115,6 @@ static sig_t old_winch_handler; #define SNAPSHOT_CHUNK (4 * MB) #define PROG_BUF_SZ (8192) -#define BHYVE_RUN_DIR "/var/run/bhyve" -#define CHECKPOINT_RUN_DIR BHYVE_RUN_DIR "/checkpoint" #define MAX_VMNAME 100 #define MAX_MSG_SIZE 1024 @@ -1505,26 +1503,6 @@ checkpoint_thread(void *param) return (NULL); } -/* - * Create directory tree to store runtime specific information: - * i.e. UNIX sockets for IPC with bhyvectl. - */ -static int -make_checkpoint_dir(void) -{ - int err; - - err = mkdir(BHYVE_RUN_DIR, 0755); - if (err < 0 && errno != EEXIST) - return (err); - - err = mkdir(CHECKPOINT_RUN_DIR, 0755); - if (err < 0 && errno != EEXIST) - return (err); - - return 0; -} - /* * Create the listening socket for IPC with bhyvectl */ @@ -1556,12 +1534,6 @@ init_checkpoint_thread(struct vmctx *ctx) goto fail; } - err = make_checkpoint_dir(); - if (err < 0) { - perror("Failed to create checkpoint runtime directory"); - goto fail; - } - addr.sun_family = AF_UNIX; err = vm_get_name(ctx, vmname_buf, MAX_VMNAME - 1); @@ -1570,8 +1542,8 @@ init_checkpoint_thread(struct vmctx *ctx) goto fail; } - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s/%s", - CHECKPOINT_RUN_DIR, vmname_buf); + snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", + BHYVE_RUN_DIR, vmname_buf); addr.sun_len = SUN_LEN(&addr); unlink(addr.sun_path); diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index eba46c497ab2..caa7256ffbfa 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -42,6 +42,7 @@ #include #include +#define BHYVE_RUN_DIR "/var/run/bhyve/" #define MAX_SNAPSHOT_VMNAME 100 struct vmctx; diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 9613efdd0a88..6cf5db0ef42f 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -74,7 +74,6 @@ __FBSDID("$FreeBSD$"); #define NO_ARG no_argument #define OPT_ARG optional_argument -#define CHECKPOINT_RUN_DIR "/var/run/bhyve/checkpoint" #define MAX_VMNAME 100 static const char *progname; @@ -1708,7 +1707,7 @@ send_checkpoint_op_req(struct vmctx *ctx, struct checkpoint_op *op) goto done; } - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s/%s", CHECKPOINT_RUN_DIR, vmname_buf); + snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname_buf); if (connect(socket_fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) != 0) { From nobody Thu Jan 26 18:54:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcn6SxZz3bPKn; Thu, 26 Jan 2023 18:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcn5cslz45h2; Thu, 26 Jan 2023 18:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zf8GhDlS+bkRqUVYnrtNz1jihZJyDQMIkYmHYecJkg8=; b=NhvQGvvF5XhprV+0mJWVg3lQ9XxIljocFG0c4gJkOzz9Sa2Dobo/BIQXukh2OrKZJ4tc8D 4hvYLzqC3CCmJC7oxKXYXsVGkC7yHRh+imF6Cm1Eg49kPt5CcVKOeh5VmbiLz4lsexeEqw HjLWcFUEUB0e5MbFHBomlZh5fahtCA0rFmZsdLFu/RXX0WgUm0mUTBtsAsRG0tQ0KLnvUD d+sCJd57aUX/G7CC18tugq+4gxG83k7hyGUsUNbfunfrQ+W7cVPMbFLBW9lVtEPas8AoIx jMgbYx3PjXneKo+j83Yl1f4CpsRWcrvf7a1MCN+QOzBzW2n/1mO53UiPWFCbuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zf8GhDlS+bkRqUVYnrtNz1jihZJyDQMIkYmHYecJkg8=; b=HvlnObSIVQ5gf3bPlWC40Zj3XK/lmWlev0qZ+RvdOQa1nTyrEiotQ5wMNsnG5y7oOUFHsM 9RqGTmklDn+1XWN3YkyBA7EtTsU9BXjgl4qj8cgSjyUOXTzreNhmVH2LuTwQyvMV+S+vO6 q+y01+wC7DO9HAN+/IZnoueDDh6zpgN9E45F799MjTsvYoZAz/x3hioRPQUdl9BvD37Vkh w/H2SXg1L5Sh343lfHVFDLDMVrD/2CxuY4KPB5KW+rUbq1HDa2vpzNt2FGoE1rscvg4vcq tJYMrNjFuj9nrRCZTJYa9LA7WChHa/QulMTyw8JsanGOXu+7BRY1DgAMlREwbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759257; a=rsa-sha256; cv=none; b=bnOFS5K6dr1uF8dAOdZ1RDyg9QUECpnwpx18LU4EfkT1VFFllG98ooZPWbeRasO8TftISD nL/Qe4oIC2TzUh0g6qatNqvL1eY05hP0CE2JH5qRWUpZ/4wkTQ6A37VkYIFNDUAvrNW7Kn b3K30qiUxRLErwg/rF//i4Yf163cKV8n0ZFhbXDVt+Kdd7zeuDSMuoiyBFO2hQFiIVNj9J SkB/eDS5UofyegdhUwD6XVN6CJfGQbus9mSplY4Y/6aFt77nYhIMk3S71FniuvCPWgJofu 6Xe90eE1zOhX1mq09wybFJP+Al9oDPFSt9Ac+tT6wwjvwPY15aCskrmzcIjc8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcn4fyXzgPm; Thu, 26 Jan 2023 18:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsHxO034005; Thu, 26 Jan 2023 18:54:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsHdm034004; Thu, 26 Jan 2023 18:54:17 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:17 GMT Message-Id: <202301261854.30QIsHdm034004@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: adad7dde3200 - stable/13 - bhyve/snapshot: rename checkpoint_opcodes to be more generic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: adad7dde3200bc1c6c58f1a6c835907192a84892 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=adad7dde3200bc1c6c58f1a6c835907192a84892 commit adad7dde3200bc1c6c58f1a6c835907192a84892 Author: Robert Wing AuthorDate: 2021-02-27 21:03:03 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:41:45 +0000 bhyve/snapshot: rename checkpoint_opcodes to be more generic Generalize the naming here since the domain socket that uses these codes might be used for purposes other than the save/restore feature. - rename checkpoint_opcodes to ipc_opcode Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D28877 (cherry picked from commit b7fd9c4e5ebc69934205980d9f628ef8f21fb288) --- usr.sbin/bhyve/snapshot.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index caa7256ffbfa..62b2083b9830 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -60,9 +60,9 @@ struct restore_state { ucl_object_t *meta_root_obj; }; -enum checkpoint_opcodes { - START_CHECKPOINT = 0, - START_SUSPEND = 1, +enum ipc_opcode { + START_CHECKPOINT, + START_SUSPEND, }; struct checkpoint_op { From nobody Thu Jan 26 18:54:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcp6k15z3bPHq; Thu, 26 Jan 2023 18:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcp6GP7z45kp; Thu, 26 Jan 2023 18:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/k1z6XSdpnOwi6W0u/67DkRWLcrLnAeQj/nyeWQYRCw=; b=Xz994bp3K2L1vScpxHOUxEZldWAVEEvZ/TA5Gbggyyhe4eyqOSMbPSK8R7inDeQg3Vi7AU z2hzTND6C+IHN+Xyxek55hOdElvyNI4/TFJDPMSwxBmdeWzT8KsacwZMXxqupzYbGX41Fx 9Lb1iBtskD9fTnPw7XrN5ZP7JR9mYSKhChmSkbSqK7gwQfuxkL8BlGc0oFbtghaL/osPvQ CFCvkkG7KEsbrvyFF0AFiY+TcixZTuWkInsW5/4QYtVVSJbSVg3u+dfAwjvC1S0imI487h MFrcEBiafbomAFruBUF4tfQUEM91fbtmXA+zH1Qr7f+B8z5gi8CQFDWrSWJgTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/k1z6XSdpnOwi6W0u/67DkRWLcrLnAeQj/nyeWQYRCw=; b=IwIiht/QwSN6J7mtcCSLHrzN8JX0hezPDAN8hhHFJKfqBiqCJ+xODtIPpcPPka/PcLaD0/ njMlEj/tvYytQpftyrfa/AMAfoowATW2CLGrxQ5jj80PSD6+m/NDJ1S6pEaAEWdhN4SbjX 9EJdlSnu7nkI4UWJeB4J9XFCEoS9ERmdfpVyebBbrQuH08qFVaHnDFCYcVdqVx1oVfJW40 PvouothW76/YrCbK8Pladzqv5IfZ+EEs1yNZStRPuqhSC8DDWRzO/sh80lkPbtQ1x4LtTy fa0ak6URWqUwC/GU8qpzaWcI+vn2Uh6pz8DjyvLZ0+AAV8si71ARd49/lO3ibQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759258; a=rsa-sha256; cv=none; b=ckfJ6BKYIgH4xUPB4NckON70Wcd+lYKbLCgu6lEwEUd5ODPqUv9TxvPgFuCcXnDwqSMqxp AhmS8sWX8Rl/55d4LAbk9t/ov/N2T80HX+28cJ3X175BhU+5tbHNbLrDrNcW2BoOeF8iP8 pCMqB24ilY3GyCz5l7OWLUHnVCYXsJCas/Y6fLcdF1k+nxFgPSmLaCmjprUkvm1MWN+cBB 5p1TpKCEG8m59CwGqjUz5IeB3sum/sAoI8Dv5EdFgMm9qmJgEqlNvd3TkrVerzRxxbjqKv bKxKYvVfFoiQlIJk96LNWPyDok7GkhZ8DGx5blywloN7rLoN/dRmxPpQZx8p1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcp5HCYzgPn; Thu, 26 Jan 2023 18:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsISM034030; Thu, 26 Jan 2023 18:54:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsIv9034029; Thu, 26 Jan 2023 18:54:18 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:18 GMT Message-Id: <202301261854.30QIsIv9034029@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2ba5f9560750 - stable/13 - bhyvectl: reduce code duplication List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2ba5f95607505eccfd8dd3271463fa769809480b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2ba5f95607505eccfd8dd3271463fa769809480b commit 2ba5f95607505eccfd8dd3271463fa769809480b Author: Robert Wing AuthorDate: 2021-02-27 21:05:52 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:45:40 +0000 bhyvectl: reduce code duplication Combine send_start_checkpoint() and send_start_suspend() into a single function named snapshot_request(). snapshot_request() is equivalent to send_start_checkpoint() and send_start_suspend() except that it takes an additional argument. The additional argument, enum ipc_opcode, is used to determine the type of snapshot request being performed. Also, switch to using strlcpy instead of strncpy. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D28878 (cherry picked from commit da9713917eb26b67bafc740384ccd44f7dff09f2) --- usr.sbin/bhyvectl/bhyvectl.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 6cf5db0ef42f..5683a84c0242 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1734,25 +1734,12 @@ done: } static int -send_start_checkpoint(struct vmctx *ctx, const char *checkpoint_file) +snapshot_request(struct vmctx *ctx, const char *file, enum ipc_opcode code) { struct checkpoint_op op; - op.op = START_CHECKPOINT; - strncpy(op.snapshot_filename, checkpoint_file, MAX_SNAPSHOT_VMNAME); - op.snapshot_filename[MAX_SNAPSHOT_VMNAME - 1] = 0; - - return (send_checkpoint_op_req(ctx, &op)); -} - -static int -send_start_suspend(struct vmctx *ctx, const char *suspend_file) -{ - struct checkpoint_op op; - - op.op = START_SUSPEND; - strncpy(op.snapshot_filename, suspend_file, MAX_SNAPSHOT_VMNAME); - op.snapshot_filename[MAX_SNAPSHOT_VMNAME - 1] = 0; + op.op = code; + strlcpy(op.snapshot_filename, file, MAX_SNAPSHOT_VMNAME); return (send_checkpoint_op_req(ctx, &op)); } @@ -2418,10 +2405,10 @@ main(int argc, char *argv[]) #ifdef BHYVE_SNAPSHOT if (!error && vm_checkpoint_opt) - error = send_start_checkpoint(ctx, checkpoint_file); + error = snapshot_request(ctx, checkpoint_file, START_CHECKPOINT); if (!error && vm_suspend_opt) - error = send_start_suspend(ctx, suspend_file); + error = snapshot_request(ctx, suspend_file, START_SUSPEND); #endif free (opts); From nobody Thu Jan 26 18:54:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcr1DWlz3bPHs; Thu, 26 Jan 2023 18:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcr0HpCz45YP; Thu, 26 Jan 2023 18:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YGNEXm7sjqz+PS7OZK9YpxRxmmZH/qPut5A3KM4C2+Y=; b=F8AxRiwCoCAKJ23+ak1PJuyFzKG/jZfIBQ3dTMSS4jnxWfaRJ1e0ZdrvFVidkUpZUkFEzL s2khAnF/9mH3zJCxkvoTIS7c63hK1KyCYnR/YBqPhUWji/Kyhy5k19nGPnmglsTqJk3ReR NSn9PAiNHZuuFZYUFA5aYQsQRl/OcSd3WSSy/GlrnOreV3dDVauJiei0LuvjQTAemaKqGU 09Zqj83WXnkHaMAPwn8u1lsWTaJF3JYP72Jxl+rLBn6+wiJVfPlzEScmcYSMnM747Pm0Ci tZ1cYtowWgPahBtMVmMOuVs41mbwfQcKNb+pnd4FKfWTKgN/5jZmm2IHDpd7zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YGNEXm7sjqz+PS7OZK9YpxRxmmZH/qPut5A3KM4C2+Y=; b=X0PJaF9ULRcpfydGP7aD4shEvAkVPDNhCP/j9n8vq6dgX4IzMjOjvRqvhW9Rt5omKeDIqW CuGulkgvG2ZWyUACNYQGKqNR25EiF8fmgi9dSQJYc5A6+b3ccxU6rzA4HDyukK0kOL/Iyt TLcM4mCCkerAF+V9bW/hYVoMfCAk/GKcopIHGa1Pq2Tjb8l5TLaW3I7oySeDgBCydTcSNZ YJBMm5wsvVw4dJZXdS8Y+QQVR18pdxXO/k29dsa49kpz65zcx3gQPo+HthvrAuaSRxk6wd KO6y9NYRZ5tClbqJiGgylRE08trWlrZf714t+8LcHKVUT7bwYPB2Lb7fVblsQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759260; a=rsa-sha256; cv=none; b=br0IUp+QPB/k08uwCrRsPQcVjHqw7rSqCRLOJUHNuc6EKASQpwxbztuL0R0dMmC++uc1ys o9quIt2hLYcZJOOok/zJBZ2U/JHBi3Wxntx9N4hRVGhPk0dMfV7uRjOYqU3Dfx7XXZtcNA kcCu9Xlde29BMuyw5tMRj4qYK5Mx9yhAT1Z/33SYkomRD/7TTIeqhxbNMVFykwxlA0Pb7D /ToVAQJOyjwMsEDG6geXlvN9KySnMhe5Q44W0bk5h+bufkjnx8T4YV/6lCwdLWwKfRaJ9D wVDsZg6Djacf5kGAHfIXqvSic5S0icKJzMfmcVk5Wla448k1f2O8CizP1ZIIhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcq6RDdzgJw; Thu, 26 Jan 2023 18:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsJCc034056; Thu, 26 Jan 2023 18:54:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsJo1034055; Thu, 26 Jan 2023 18:54:19 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:19 GMT Message-Id: <202301261854.30QIsJo1034055@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: bcf297e86e16 - stable/13 - bhyve/snapshot: rename and bump size of MAX_SNAPSHOT_VMNAME List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bcf297e86e16232b2ebb9a7a09d776c09bc3435d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bcf297e86e16232b2ebb9a7a09d776c09bc3435d commit bcf297e86e16232b2ebb9a7a09d776c09bc3435d Author: Robert Wing AuthorDate: 2021-02-27 21:07:35 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:45:54 +0000 bhyve/snapshot: rename and bump size of MAX_SNAPSHOT_VMNAME MAX_SNAPSHOT_VMNAME is a macro used to set the size of a character buffer that stores a filename or the path to a file - this file is used by the save/restore feature. Since the file doesn't have anything to do with a vm name, rename MAX_SNAPSHOT_VMNAME to MAX_SNAPSHOT_FILENAME. Bump the size to PATH_MAX while here. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D28879 (cherry picked from commit d656ce199d72f1aeeef1b2e28b4a284c968a8d03) --- usr.sbin/bhyve/snapshot.h | 4 ++-- usr.sbin/bhyvectl/bhyvectl.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index 62b2083b9830..8a6ee67ef19d 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -43,7 +43,7 @@ #include #define BHYVE_RUN_DIR "/var/run/bhyve/" -#define MAX_SNAPSHOT_VMNAME 100 +#define MAX_SNAPSHOT_FILENAME PATH_MAX struct vmctx; @@ -67,7 +67,7 @@ enum ipc_opcode { struct checkpoint_op { unsigned int op; - char snapshot_filename[MAX_SNAPSHOT_VMNAME]; + char snapshot_filename[MAX_SNAPSHOT_FILENAME]; }; struct checkpoint_thread_info { diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 5683a84c0242..0f7b9533fe4b 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1739,7 +1739,7 @@ snapshot_request(struct vmctx *ctx, const char *file, enum ipc_opcode code) struct checkpoint_op op; op.op = code; - strlcpy(op.snapshot_filename, file, MAX_SNAPSHOT_VMNAME); + strlcpy(op.snapshot_filename, file, MAX_SNAPSHOT_FILENAME); return (send_checkpoint_op_req(ctx, &op)); } From nobody Thu Jan 26 18:54:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcs2gbZz3bPS2; Thu, 26 Jan 2023 18:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcs18ZNz45t9; Thu, 26 Jan 2023 18:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rqSJsbd/kjjg1MrwLurta53HUMnSjX7e1KP4jUnVm/4=; b=ZZn1tsywqYBMvXO3TjOaCmXpZ/kdXtATjrX9k6OrkKb0H1AR1frputo+6lkRPlU/BEv0sN yakHNtXunjyxz3EjtQ3t0G2DUgO9TPcz7fhp0WQ6cJqgKTJ2WRFzvkAvDP2RuKzHjysh/e CqohBPCDiX7EFdz0iKhYZgbacMGibxaPaHDEtSRuGAhHuQJPbuPbMz9dZz3dGR5rM0V05N jjQUaRihLOGZ7FF4MFw0xp2yZzx88r6OwSNkvkyYxr56eoJaOeK8DG8SJif+gkrklj0RUd of/vwwWBgT1Rcfs6Iw9oCje96Li2MEV3DokyHgvpTxm3IZV7PS6QwetpEIHakQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rqSJsbd/kjjg1MrwLurta53HUMnSjX7e1KP4jUnVm/4=; b=pHqyqMtmquMCZNw28UyoTR5oUZpjR7fZ6dL3i3HWqSJQI+UERX1LJ+/86ErYQnX1AatEfy tbu/EfGVa/o3ubVbfoWfhtPaMjJsUhZMKJLB/056SYK7XH8wto8oJcLsZ+Nl0sTtbH/JHT i14rTkdO2CPGOwmCtizYib6818ueuwPwnPiTeta7Ngxt6J00uQ95F2E4s4HvNs+z2/9mPJ EyxZd/wrwj3rV4Ov10ETOm2rtNm/6my1t0bYrmKn0XUYtG2DBcOARJ8rDgi19q4Fp6Cwdf 0olKorSjXq44eIc6mSHccAOI/oYFFc/CmqMXY34aPvhX8mUYWK2Yz9KmIHIyZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759261; a=rsa-sha256; cv=none; b=Ysbein7RvT7Uu7rsci0dOsQ/5iS/j8TPQZMcA1sPiU8fL0wkIvomqTwHzpToEH8WAqE8XN AZABuhMGR69T8wMeQy85WMw83AEvaMeIv232gWR6cMnq7rX/Os8zx5D1M75S2dSVvIbTmT VmFixEV8hrZfNWEbNpvx98dfvSlt7Nl5+01DrywrGsuwz6s+H4IrSok+219/SOFNR/BJqR zyM7F80kAV8kzCsNaHbkCyB93icqIz4LDtf8yMoJoNLAFH3CJqFo4AcCjBwuikxXNXUBGC hdda0V6Yz/F0zwlBptgu1t6xw9SeoAiBL7fam29rpzfrIv/n4Zs/x3B5ixibZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcs0GF5zg38; Thu, 26 Jan 2023 18:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsKql034085; Thu, 26 Jan 2023 18:54:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsKkH034084; Thu, 26 Jan 2023 18:54:20 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:20 GMT Message-Id: <202301261854.30QIsKkH034084@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e96f9fa135a2 - stable/13 - bhyve/snapshot: use SOCK_DGRAM instead of SOCK_STREAM List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e96f9fa135a24befbc7ea611f38848d83bff9a4d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e96f9fa135a24befbc7ea611f38848d83bff9a4d commit e96f9fa135a24befbc7ea611f38848d83bff9a4d Author: Robert Wing AuthorDate: 2021-03-08 00:23:29 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:46:01 +0000 bhyve/snapshot: use SOCK_DGRAM instead of SOCK_STREAM The save/restore feature uses a unix domain socket to send messages from bhyvectl(8) to a bhyve(8) process. A datagram socket will suffice for this. An added benefit of using a datagram socket is simplified code. For bhyve, the listen/accept calls are dropped; and for bhyvectl, the connect() call is dropped. EPRINTLN handles raw mode for bhyve(8), use it to print error messages. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D28983 (cherry picked from commit 38dfb0626fd35c64b2e2d5faae2c90e7981a3307) --- usr.sbin/bhyve/snapshot.c | 65 +++++++++++++++++--------------------------- usr.sbin/bhyvectl/bhyvectl.c | 22 ++++----------- 2 files changed, 31 insertions(+), 56 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 2938a0e84c88..061ba11096e9 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -79,6 +79,7 @@ __FBSDID("$FreeBSD$"); #include "bhyverun.h" #include "acpi.h" #include "atkbdc.h" +#include "debug.h" #include "inout.h" #include "fwctl.h" #include "ioapic.h" @@ -117,8 +118,6 @@ static sig_t old_winch_handler; #define MAX_VMNAME 100 -#define MAX_MSG_SIZE 1024 - #define SNAPSHOT_BUFFER_SIZE (20 * MB) #define JSON_STRUCT_ARR_KEY "structs" @@ -1442,24 +1441,10 @@ done: } int -get_checkpoint_msg(int conn_fd, struct vmctx *ctx) +handle_message(struct checkpoint_op *checkpoint_op, struct vmctx *ctx) { - unsigned char buf[MAX_MSG_SIZE]; - struct checkpoint_op *checkpoint_op; - int len, recv_len, total_recv = 0; - int err = 0; - - len = sizeof(struct checkpoint_op); /* expected length */ - while ((recv_len = recv(conn_fd, buf + total_recv, len - total_recv, 0)) > 0) { - total_recv += recv_len; - } - if (recv_len < 0) { - perror("Error while receiving data from bhyvectl"); - err = -1; - goto done; - } + int err; - checkpoint_op = (struct checkpoint_op *)buf; switch (checkpoint_op->op) { case START_CHECKPOINT: err = vm_checkpoint(ctx, checkpoint_op->snapshot_filename, false); @@ -1468,12 +1453,13 @@ get_checkpoint_msg(int conn_fd, struct vmctx *ctx) err = vm_checkpoint(ctx, checkpoint_op->snapshot_filename, true); break; default: - fprintf(stderr, "Unrecognized checkpoint operation.\n"); + EPRINTLN("Unrecognized checkpoint operation\n"); err = -1; } -done: - close(conn_fd); + if (err != 0) + EPRINTLN("Unable to perform the requested operation\n"); + return (err); } @@ -1483,21 +1469,25 @@ done: void * checkpoint_thread(void *param) { + struct checkpoint_op op; struct checkpoint_thread_info *thread_info; - int conn_fd, ret; + ssize_t n; pthread_set_name_np(pthread_self(), "checkpoint thread"); thread_info = (struct checkpoint_thread_info *)param; - while ((conn_fd = accept(thread_info->socket_fd, NULL, NULL)) > -1) { - ret = get_checkpoint_msg(conn_fd, thread_info->ctx); - if (ret != 0) { - fprintf(stderr, "Failed to read message on checkpoint " - "socket. Retrying.\n"); - } - } - if (conn_fd < -1) { - perror("Failed to accept connection"); + for (;;) { + n = recvfrom(thread_info->socket_fd, &op, sizeof(op), 0, NULL, 0); + + /* + * slight sanity check: see if there's enough data to at + * least determine the type of message. + */ + if (n >= sizeof(op.op)) + handle_message(&op, thread_info->ctx); + else + EPRINTLN("Failed to receive message: %s\n", + n == -1 ? strerror(errno) : "unknown error"); } return (NULL); @@ -1527,9 +1517,9 @@ init_checkpoint_thread(struct vmctx *ctx) if (err != 0) errc(1, err, "checkpoint cv init"); - socket_fd = socket(PF_UNIX, SOCK_STREAM, 0); + socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0); if (socket_fd < 0) { - perror("Socket creation failed (IPC with bhyvectl"); + EPRINTLN("Socket creation failed: %s", strerror(errno)); err = -1; goto fail; } @@ -1548,13 +1538,8 @@ init_checkpoint_thread(struct vmctx *ctx) unlink(addr.sun_path); if (bind(socket_fd, (struct sockaddr *)&addr, addr.sun_len) != 0) { - perror("Failed to bind socket (IPC with bhyvectl)"); - err = -1; - goto fail; - } - - if (listen(socket_fd, 10) < 0) { - perror("Failed to listen on socket (IPC with bhyvectl)"); + EPRINTLN("Failed to bind socket \"%s\": %s\n", + addr.sun_path, strerror(errno)); err = -1; goto fail; } diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 0f7b9533fe4b..df02f7caf345 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1687,11 +1687,11 @@ static int send_checkpoint_op_req(struct vmctx *ctx, struct checkpoint_op *op) { struct sockaddr_un addr; - int socket_fd, len, len_sent, total_sent; - int err = 0; + ssize_t len_sent; + int err, socket_fd; char vmname_buf[MAX_VMNAME]; - socket_fd = socket(PF_UNIX, SOCK_STREAM, 0); + socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0); if (socket_fd < 0) { perror("Error creating bhyvectl socket"); err = -1; @@ -1709,21 +1709,11 @@ send_checkpoint_op_req(struct vmctx *ctx, struct checkpoint_op *op) snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname_buf); - if (connect(socket_fd, (struct sockaddr *)&addr, - sizeof(struct sockaddr_un)) != 0) { - perror("Connect to VM socket failed"); - err = -1; - goto done; - } - - len = sizeof(*op); - total_sent = 0; - while ((len_sent = send(socket_fd, (char *)op + total_sent, len - total_sent, 0)) > 0) { - total_sent += len_sent; - } + len_sent = sendto(socket_fd, op, sizeof(*op), 0, + (struct sockaddr *)&addr, sizeof(struct sockaddr_un)); if (len_sent < 0) { - perror("Failed to send checkpoint operation request"); + perror("Failed to send message to bhyve vm"); err = -1; } From nobody Thu Jan 26 18:54:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qct2sC0z3bPNH; Thu, 26 Jan 2023 18:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qct2FhVz4620; Thu, 26 Jan 2023 18:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LmxJx0YE8ea0XMvhmI/muJTYbqoJJJbzXc52fLKS6jc=; b=H7OuKKp313Z79L+h2QF5fTaFc5ALCGwmM9EQdJ+WXGRXxy9/ZcxRG7lEqyChPqWh17cGWG Tlmt3kF+hxpq0jf4YLeUu3LGyGmbmEMzX4arF37kDqArExESwSQQkzkgPvWnDMaiRlXhvH 56zs67L0z10h2UyA+2UPNmzqOCzbeWXs+Y0XlMk/i8CcAcUWcRSimnNRMsLSigEu/68CpK 9F5y5uJv30t9SthuSLLO3gCzgwcr0WF2dxfRiU+RUq6cJkz4tnezf4oWAT+RzL2gNr0Anw 361t8i0NKL0sNuPnXlpsHCfnjs4jS/LN3haaFPzKkhwdXCQ3MW1kaWgYoUbJFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LmxJx0YE8ea0XMvhmI/muJTYbqoJJJbzXc52fLKS6jc=; b=OJy45oAakcZCTnMqr0nJdDE0754OrHdiuKeK1V2DP7SXj6QdPLri883P2bd8SQHLomm0UT 2r7kMqSCWKfRYe4bIiIf8VnakDb38I7V+L4jkS2cjwp61MwtS/t8EoSFmumR3jsrTHvq7J 3DsgxSo3DTVydOiFMXRV9k1wXwYdt/j/tPE1ne0DDFGrYpszPvFVw7Bh+RHHxvdgDeN9Bg GjKaB7tvWILI6RmgX3sBpZcgrEmzSfKBjXQwLqxncRFI5mAbYP8H/IWFOYLMqMcF+HCLO0 A47MBV/mus3bL4Hddpck4Ml/+Lb7SgSkumoqPAZ7/sG7Z7pAexCI+VECyxR77A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759262; a=rsa-sha256; cv=none; b=HkUm7OPCcl0NjzTZcRhSBUAbHZE8umFWMB1Jd9LHcIbY6lBSO+Vbndt3JpsmNSr6kyTNAv GDdNCan4JfG/y6crlYU37eJMvsZh2TRZwzc6rV9mI34K8LAzTu43GAMi795FC+jthRsCb6 nqAwY0VUBZqQ4Urgm1c052CziAgO2qascfNIlouAZmtbXs3lOKQQjAcxAbtQYI8R8B1DjJ lAdhMGADetv6w293tRh38xhqkkLyGV9dDxyyV/Ec5xWFrf0U7ZXkIV5p3kCht3M4Zzg3i9 FnD0P9L9FiHp+0cXTuhVRPYrLMnyXFPwsSmOFXemgvCWFJ64Y5b1A5zAMuANTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qct1CLwzgKv; Thu, 26 Jan 2023 18:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsMtV034111; Thu, 26 Jan 2023 18:54:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsMKC034110; Thu, 26 Jan 2023 18:54:22 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:22 GMT Message-Id: <202301261854.30QIsMKC034110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3c17cf307b01 - stable/13 - bhyve/snapshot: provide a way to send other messages/data to bhyve List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3c17cf307b0109fb518aa8a976e540f104b97019 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3c17cf307b0109fb518aa8a976e540f104b97019 commit 3c17cf307b0109fb518aa8a976e540f104b97019 Author: Robert Wing AuthorDate: 2021-03-03 06:05:47 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:46:07 +0000 bhyve/snapshot: provide a way to send other messages/data to bhyve This is a step towards sending messages (other than suspend/checkpoint) from bhyvectl to bhyve. Introduce a new struct, ipc_message - this struct stores the type of message and a union containing message specific structures for the type of message being sent. Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D30221 (cherry picked from commit d4870e3a7256704905655e997b37a866024c2894) --- usr.sbin/bhyve/snapshot.c | 16 ++++++++-------- usr.sbin/bhyve/snapshot.h | 21 ++++++++++++++++++--- usr.sbin/bhyvectl/bhyvectl.c | 15 +++++++++------ 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 061ba11096e9..b70e43adfe2d 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1441,16 +1441,16 @@ done: } int -handle_message(struct checkpoint_op *checkpoint_op, struct vmctx *ctx) +handle_message(struct ipc_message *imsg, struct vmctx *ctx) { int err; - switch (checkpoint_op->op) { + switch (imsg->code) { case START_CHECKPOINT: - err = vm_checkpoint(ctx, checkpoint_op->snapshot_filename, false); + err = vm_checkpoint(ctx, imsg->data.op.snapshot_filename, false); break; case START_SUSPEND: - err = vm_checkpoint(ctx, checkpoint_op->snapshot_filename, true); + err = vm_checkpoint(ctx, imsg->data.op.snapshot_filename, true); break; default: EPRINTLN("Unrecognized checkpoint operation\n"); @@ -1469,7 +1469,7 @@ handle_message(struct checkpoint_op *checkpoint_op, struct vmctx *ctx) void * checkpoint_thread(void *param) { - struct checkpoint_op op; + struct ipc_message imsg; struct checkpoint_thread_info *thread_info; ssize_t n; @@ -1477,14 +1477,14 @@ checkpoint_thread(void *param) thread_info = (struct checkpoint_thread_info *)param; for (;;) { - n = recvfrom(thread_info->socket_fd, &op, sizeof(op), 0, NULL, 0); + n = recvfrom(thread_info->socket_fd, &imsg, sizeof(imsg), 0, NULL, 0); /* * slight sanity check: see if there's enough data to at * least determine the type of message. */ - if (n >= sizeof(op.op)) - handle_message(&op, thread_info->ctx); + if (n >= sizeof(imsg.code)) + handle_message(&imsg, thread_info->ctx); else EPRINTLN("Failed to receive message: %s\n", n == -1 ? strerror(errno) : "unknown error"); diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index 8a6ee67ef19d..f28b56cf0a7f 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -60,14 +60,29 @@ struct restore_state { ucl_object_t *meta_root_obj; }; +/* Filename that will be used for save/restore */ +struct checkpoint_op { + char snapshot_filename[MAX_SNAPSHOT_FILENAME]; +}; + +/* Messages that a bhyve process understands. */ enum ipc_opcode { START_CHECKPOINT, START_SUSPEND, }; -struct checkpoint_op { - unsigned int op; - char snapshot_filename[MAX_SNAPSHOT_FILENAME]; +/* + * The type of message and associated data to + * send to a bhyve process. + */ +struct ipc_message { + enum ipc_opcode code; + union { + /* + * message specific structures + */ + struct checkpoint_op op; + } data; }; struct checkpoint_thread_info { diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index df02f7caf345..017427db4d4f 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1684,7 +1684,7 @@ show_memseg(struct vmctx *ctx) #ifdef BHYVE_SNAPSHOT static int -send_checkpoint_op_req(struct vmctx *ctx, struct checkpoint_op *op) +send_message(struct vmctx *ctx, void *data, size_t len) { struct sockaddr_un addr; ssize_t len_sent; @@ -1709,7 +1709,7 @@ send_checkpoint_op_req(struct vmctx *ctx, struct checkpoint_op *op) snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname_buf); - len_sent = sendto(socket_fd, op, sizeof(*op), 0, + len_sent = sendto(socket_fd, data, len, 0, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)); if (len_sent < 0) { @@ -1726,12 +1726,15 @@ done: static int snapshot_request(struct vmctx *ctx, const char *file, enum ipc_opcode code) { - struct checkpoint_op op; + struct ipc_message imsg; + size_t length; - op.op = code; - strlcpy(op.snapshot_filename, file, MAX_SNAPSHOT_FILENAME); + imsg.code = code; + strlcpy(imsg.data.op.snapshot_filename, file, MAX_SNAPSHOT_FILENAME); - return (send_checkpoint_op_req(ctx, &op)); + length = offsetof(struct ipc_message, data) + sizeof(imsg.data.op); + + return (send_message(ctx, (void *)&imsg, length)); } #endif From nobody Thu Jan 26 18:54:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcv3VDTz3bPHy; Thu, 26 Jan 2023 18:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcv2jPDz465F; Thu, 26 Jan 2023 18:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=orW7ZoiS0FGZ/zHvtX4butghqiDtkwRbCBS8rdCcV5A=; b=rW2bx6n3IKGFdN5HMDIjqZV/Bz3Tr7PF3M+rmbyXcj1c6TOJZAXxDHwlpoWjouJndTy7LT h6/schgCAxFm3fT9flwN0YzK1Ym1fu3CZEZUDtKPkZ0hwxI48atOg7lPM53HfjKXo3FDm8 JqiybO0RfXcUgih6SdytJO0NjKU+AMYKzQ5cWgvfQaRU12ThEqCb33hbjlUYUhgfJnQY9A zxy3OnTm0yhiZ2wiTLZrfhWg39nf/YVHSf6i5FbvG6atsixZOt8q0m/ibwDwLKln4YBgQB OVY5Tsb7oPWbS0FBorYVfo7kdyL+D0kX1DCM/6/IyMNQ72Tozgq11cod1+IZaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=orW7ZoiS0FGZ/zHvtX4butghqiDtkwRbCBS8rdCcV5A=; b=rn7eB3mIE65U14DFDVUmU4V9VNAzBfhBWGReGN3k9M3pokiNQDZ70ePZFGgnCo4cx4io78 Dw5iiMsEJ9qnOVwqXOTcCFIcJ6GxSSq0qQZ56eQJHo7CKrhXqRTFCbfmG0eFkPtmHU3/0l 5qSP5KetRcCE411MejH9/7UKld4RnJy+8bRL9v6CrJZJUlS+il4/EgqcC4xRlU8BSYj8lk qUGUHnNfHlsCmaW+RRaaTzG1U6vG8iGx/82z8z84tYPgzEPCyQ1IxzJqQHlJlyZtAiW7N5 MnEzm5yP5pu4xd2FVkjbuRht5ImFAIost3J1GOhTu+FUq94jp7givQuq1W4Wsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759263; a=rsa-sha256; cv=none; b=wvPo5KMr22lNBqyaLqbMlbSQWY4k9/nKFf1XVFhGZz0naDXWw9HcAT4mmvoiWLHlJJDMZX MQBkrtLPQEXTdT7/+fpZxFlvWlC2xNBIhELvPXMxKL1/8qEgCmfeVpRMdl0xuI0YQ07jsm 81Ix0H7kP6AXrdp3gUfQF080BMyzF7sWjeSgibs0ieitJwrEtmr2LsKd8vv1Am5gTdvcXP 7LqRrqqNBAzDOcGOLl+Q4ugO/B/gZVur3tewBEtTm8/Kk7Vr4sDtuRGrgaUH4W+qWeOVcU 45Zy/bucDt0OXKoQ0/FkRxmrwyOD2tyfTaaxMEwxIpvj9gDYIqC+XAy3KT0REw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcv1f8DzgKw; Thu, 26 Jan 2023 18:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsNbg034135; Thu, 26 Jan 2023 18:54:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsNgj034134; Thu, 26 Jan 2023 18:54:23 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:23 GMT Message-Id: <202301261854.30QIsNgj034134@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 89698430bf83 - stable/13 - bhyve/snapshot: split up mutex/cond initialization from socket creation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 89698430bf833857599ce101cef8147bb1dada18 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=89698430bf833857599ce101cef8147bb1dada18 commit 89698430bf833857599ce101cef8147bb1dada18 Author: Robert Wing AuthorDate: 2021-05-15 19:58:21 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:46:15 +0000 bhyve/snapshot: split up mutex/cond initialization from socket creation Move initialization of the mutex/condition variables required by the save/restore feature to their own function. The unix domain socket that facilitates communication between bhyvectl and bhyve doesn't rely on these variables in order to be functional. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D30281 (cherry picked from commit fdbc86cf79784f56fab8115f2d565962e1111b2e) --- usr.sbin/bhyve/bhyverun.c | 3 +++ usr.sbin/bhyve/snapshot.c | 25 ++++++++++++++++--------- usr.sbin/bhyve/snapshot.h | 1 + 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index c14c0c60837f..48d9a66ea624 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1588,6 +1588,9 @@ main(int argc, char *argv[]) if (restore_file != NULL) destroy_restore_state(&rstate); + /* initialize mutex/cond variables */ + init_snapshot(); + /* * checkpointing thread for communication with bhyvectl */ diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index b70e43adfe2d..b99c8beed2be 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1493,6 +1493,22 @@ checkpoint_thread(void *param) return (NULL); } +void +init_snapshot(void) +{ + int err; + + err = pthread_mutex_init(&vcpu_lock, NULL); + if (err != 0) + errc(1, err, "checkpoint mutex init"); + err = pthread_cond_init(&vcpus_idle, NULL); + if (err != 0) + errc(1, err, "checkpoint cv init (vcpus_idle)"); + err = pthread_cond_init(&vcpus_can_run, NULL); + if (err != 0) + errc(1, err, "checkpoint cv init (vcpus_can_run)"); +} + /* * Create the listening socket for IPC with bhyvectl */ @@ -1508,15 +1524,6 @@ init_checkpoint_thread(struct vmctx *ctx) memset(&addr, 0, sizeof(addr)); - err = pthread_mutex_init(&vcpu_lock, NULL); - if (err != 0) - errc(1, err, "checkpoint mutex init"); - err = pthread_cond_init(&vcpus_idle, NULL); - if (err == 0) - err = pthread_cond_init(&vcpus_can_run, NULL); - if (err != 0) - errc(1, err, "checkpoint cv init"); - socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0); if (socket_fd < 0) { EPRINTLN("Socket creation failed: %s", strerror(errno)); diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index f28b56cf0a7f..3ffd42fbeabc 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -127,6 +127,7 @@ int vm_resume_user_devs(struct vmctx *ctx); int get_checkpoint_msg(int conn_fd, struct vmctx *ctx); void *checkpoint_thread(void *param); int init_checkpoint_thread(struct vmctx *ctx); +void init_snapshot(void); int load_restore_file(const char *filename, struct restore_state *rstate); From nobody Thu Jan 26 18:54:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcw4DTxz3bPVH; Thu, 26 Jan 2023 18:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcw3MC7z467R; Thu, 26 Jan 2023 18:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bt/dIhLaf2mldzhnfMawW4eCuuxoR3625DW/O2mZGz8=; b=no4D4sptPyNRcltrWu3g72IAZ4gDlPSFBXhzo7XjD11cBUfJm1SYiBYnwxQK27HkxcRMav EJCHAj/iUKbBbitN650NNvl+5Fq54r9T+KBZ88WVs+FP93fBEOqigAp2Fim3/7sKQPFJD0 SohwyQGH1HBd4poe4U1pjLzx6V9BEGYdRj49AfDRrzs0f5U3n65jNmA3PovNcsaxqneBHX 8cf87tUmzQSl63W8RpeCx2HXhvcCDkrp54VzD7yMuYevEUq0isuhO9zXu3gROE1qCFzkKU OcqO4teJDGPCsJ1nOO0nJtpPYY3HUQd1S1g4LkDVQxSyR0RwEwhs2izMJ1TV2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bt/dIhLaf2mldzhnfMawW4eCuuxoR3625DW/O2mZGz8=; b=TZsPsdTtFg1P81u27RVjc6XXaDG1jpJmPLMCQwKRGi6r2rciHjdWmIggfe6JZ15kDKEsKr BMTddIOf5fSjxPsSz1VmSs5RZD6OqcJIkHKU1pWccTj0dHWMaGAoaLk9ouEH186F+PL0w+ oVIgoIqAXsc+1LAn7k17FnuZIq+fGkDQeGxfWWIBgaPTWGLIEHCqtpUzsM3ZSUbviX7KFW 8auW41vpQ4J+ZzNOd5EAs7pEqJvK2Uz4c2jOfyVT5E7GdIO4HkxhmZUIeqxpy0iFDDYH7f bIiQs2pLxRh6g94gM6YX8Tcmg4wjtBxn7jkIf4wQgUBVPbEqeXsy2zoerMf3+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759264; a=rsa-sha256; cv=none; b=UxQYnKGHYg33bTFX1ALRd0wurNk8DNVl1bNMVniU/ms416fjixYQZpJNlX3KiaJgvet6z+ PPUJ4OkHVOEzny45Zd2rftSHWEvf/C36eT/oUVCzKM3Nhw23VAw4SYg47ad9uCsyjj0Mpi xFfmnXCkQCTmjTREL3drFJZGVYvYn65hYn1XHOFF42OeewyG1Vzp5tkSblohBZ24JS9EYO 7/2OIVwjDTqWQHiNSLGiS1sxoWRrElgLvjNjD3zsrDJQIYgnKtPKseR1Tl3317Q5KbVb74 NmdbyYoDBb49T3fuh4U+zwJlZDBwvcJBCkH45OQiEhzGwn/AB9s67VdiEfceVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcw2GSfzgPp; Thu, 26 Jan 2023 18:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsOaD034159; Thu, 26 Jan 2023 18:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsOw8034158; Thu, 26 Jan 2023 18:54:24 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:24 GMT Message-Id: <202301261854.30QIsOw8034158@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1b85302234dd - stable/13 - bhyve/snapshot: fix pthread_create() error check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1b85302234dd6afb33d8a6494de6a79a8e7f6f48 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1b85302234dd6afb33d8a6494de6a79a8e7f6f48 commit 1b85302234dd6afb33d8a6494de6a79a8e7f6f48 Author: Robert Wing AuthorDate: 2022-01-19 17:40:06 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:46:49 +0000 bhyve/snapshot: fix pthread_create() error check pthread_create() returns 0 on success or an error number on failure. Reviewed by: khng, markj Differential Revision: https://reviews.freebsd.org/D33930 (cherry picked from commit 51fbd894ddadd6a1bc4cb72de8ac4e92c013bd36) --- usr.sbin/bhyve/snapshot.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index b99c8beed2be..85c56d519390 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1520,7 +1520,7 @@ init_checkpoint_thread(struct vmctx *ctx) int socket_fd; pthread_t checkpoint_pthread; char vmname_buf[MAX_VMNAME]; - int ret, err = 0; + int err; memset(&addr, 0, sizeof(addr)); @@ -1555,12 +1555,10 @@ init_checkpoint_thread(struct vmctx *ctx) checkpoint_info->ctx = ctx; checkpoint_info->socket_fd = socket_fd; - ret = pthread_create(&checkpoint_pthread, NULL, checkpoint_thread, + err = pthread_create(&checkpoint_pthread, NULL, checkpoint_thread, checkpoint_info); - if (ret < 0) { - err = ret; + if (err != 0) goto fail; - } return (0); fail: From nobody Thu Jan 26 18:54:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcy0XPMz3bPNP; Thu, 26 Jan 2023 18:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcx42HXz45s8; Thu, 26 Jan 2023 18:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8scpyJpd5Wfl+Q4sruapudKe/JyjbKohoVdluddGBNA=; b=nRzYLikHvESGcp0nKRETy4HXxj8rpM2W77wRhVnTnOTr7eRYInV/Yt+ECCAdqbWbSo/35f BrIEhPTClFX8myhvbafl12NZoZu3QcBfbGwqDKdBXVlUM1mHHwCutk1B4FmOHTqSelydqE ga268cIiw6G+RttFhE6wAPHZ8ewa6XfHQ7js0TTT0Mv9WfD6wPsTCcziB2cu/0CR+X27gQ 5A6DAZW0sppDmb/Wb4TxBgFJoOr9JdaU/24ASBjMU7gp8OjRu+gzOMro9CfxJFO6NcYVVr s2bXwYKqH3GKg7tXtM21ZbjfIoNNmH4bL/D69nIO+uxiMZ1gs5zLPMkwQpBRWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8scpyJpd5Wfl+Q4sruapudKe/JyjbKohoVdluddGBNA=; b=DKLpF65itNXd1lRQMWyAAwJwYjD/xD02mlXxB3cQzMf5fmeV4kldr44JBWynnuD/g7q6mh twmxBRAIIbx8Uv6guvLq2wOZGhoHTeFN9FEyHEpSTzBcHm5Nc4BAjspeN8ZJm0WgX+T7VC 2QArUjz7tV3uq7u25XmWlBB0dvplwrskeP8MHL+ihRCu4YGA7rDaAKScVoDnJd92oAf+No BnIpPUstjKtQjTy4x5lLSg3Xsz2VRbzggx+x3trKGudOi8hkFvWmijPlrRaoPdgVYpam8h BDF7hVynvXvRYZ2HNIxcr1Q/ZgJPq5TeBLuXsNEByCdR4prexl6NPc+jq8gY3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759265; a=rsa-sha256; cv=none; b=vYs+9IoJYJKtlTDtFqYEJCWqr3i6mzMmnszDfKXMuXyNR5j0kSSHJGUbiuC9M54XpLB5xP BCzFs6J6VpYnc47DB5i1JpjEctSt9HqO1TTovYaIChbj0VCwuqOeLh5qLqGAMRInM2AJHh pUt2GjuMTp+acfj649MWl84Y34QEnAYXupUO71EVQByz+KMcPW9xovwXyUpKyiP9KKkNH4 UAvPN8dkVGQBYKfx7hEtQj0LyyEy3eSUpL/BgYQ+YOLQjB8fBSY4O3ri1O0m88KRX85KL6 Niy9JSfJgcoPJ0dFyoSwSzXiS2PTBJ7YXcvJNyI8WNa1mJB6vcBmyMNhrrCCQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcx37thzgJx; Thu, 26 Jan 2023 18:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsPbs034190; Thu, 26 Jan 2023 18:54:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsPeJ034189; Thu, 26 Jan 2023 18:54:25 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:25 GMT Message-Id: <202301261854.30QIsPeJ034189@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: bc740a76c3eb - stable/13 - bhyve/snapshot: switch to nvlist for snapshot requests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bc740a76c3eb89d84648484e24b158dfd3e4adf5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bc740a76c3eb89d84648484e24b158dfd3e4adf5 commit bc740a76c3eb89d84648484e24b158dfd3e4adf5 Author: Robert Wing AuthorDate: 2022-02-09 17:11:57 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:47:26 +0000 bhyve/snapshot: switch to nvlist for snapshot requests Switch to using an nvlist with nvlist_send()/nvlist_recv() to communicate from bhyvectl(8) to bhyve(8). The idea is that a bhyve process receives a command with with a set of arguments. The nvlist here is structured to reflect that premise. For example, to snapshot the vm, the expected nvlist looks like: { cmd=START_CHECKPOINT, filename="filename" } Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D33977 (cherry picked from commit edfb339d3868bbd36393efb2738287e170767784) --- usr.sbin/bhyve/snapshot.c | 42 +++++++++++++++++++++--------------------- usr.sbin/bhyve/snapshot.h | 19 ------------------- usr.sbin/bhyvectl/Makefile | 1 + usr.sbin/bhyvectl/bhyvectl.c | 39 +++++++++++++++++++-------------------- 4 files changed, 41 insertions(+), 60 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 85c56d519390..62ef0acd8f95 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1325,7 +1325,7 @@ vm_vcpu_resume(struct vmctx *ctx) } static int -vm_checkpoint(struct vmctx *ctx, char *checkpoint_file, bool stop_vm) +vm_checkpoint(struct vmctx *ctx, const char *checkpoint_file, bool stop_vm) { int fd_checkpoint = 0, kdata_fd = 0; int ret = 0; @@ -1440,17 +1440,23 @@ done: return (error); } -int -handle_message(struct ipc_message *imsg, struct vmctx *ctx) +static int +handle_message(struct vmctx *ctx, nvlist_t *nvl) { - int err; + int err, cmd; - switch (imsg->code) { - case START_CHECKPOINT: - err = vm_checkpoint(ctx, imsg->data.op.snapshot_filename, false); - break; + if (!nvlist_exists_number(nvl, "cmd")) + return (-1); + + cmd = nvlist_get_number(nvl, "cmd"); + switch (cmd) { case START_SUSPEND: - err = vm_checkpoint(ctx, imsg->data.op.snapshot_filename, true); + case START_CHECKPOINT: + if (!nvlist_exists_string(nvl, "filename")) + err = -1; + else + err = vm_checkpoint(ctx, nvlist_get_string(nvl, "filename"), + cmd == START_SUSPEND ? true : false); break; default: EPRINTLN("Unrecognized checkpoint operation\n"); @@ -1460,6 +1466,7 @@ handle_message(struct ipc_message *imsg, struct vmctx *ctx) if (err != 0) EPRINTLN("Unable to perform the requested operation\n"); + nvlist_destroy(nvl); return (err); } @@ -1469,25 +1476,18 @@ handle_message(struct ipc_message *imsg, struct vmctx *ctx) void * checkpoint_thread(void *param) { - struct ipc_message imsg; struct checkpoint_thread_info *thread_info; - ssize_t n; + nvlist_t *nvl; pthread_set_name_np(pthread_self(), "checkpoint thread"); thread_info = (struct checkpoint_thread_info *)param; for (;;) { - n = recvfrom(thread_info->socket_fd, &imsg, sizeof(imsg), 0, NULL, 0); - - /* - * slight sanity check: see if there's enough data to at - * least determine the type of message. - */ - if (n >= sizeof(imsg.code)) - handle_message(&imsg, thread_info->ctx); + nvl = nvlist_recv(thread_info->socket_fd, 0); + if (nvl != NULL) + handle_message(thread_info->ctx, nvl); else - EPRINTLN("Failed to receive message: %s\n", - n == -1 ? strerror(errno) : "unknown error"); + EPRINTLN("nvlist_recv() failed: %s", strerror(errno)); } return (NULL); diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index 3ffd42fbeabc..ddf23b8c0619 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -60,31 +60,12 @@ struct restore_state { ucl_object_t *meta_root_obj; }; -/* Filename that will be used for save/restore */ -struct checkpoint_op { - char snapshot_filename[MAX_SNAPSHOT_FILENAME]; -}; - /* Messages that a bhyve process understands. */ enum ipc_opcode { START_CHECKPOINT, START_SUSPEND, }; -/* - * The type of message and associated data to - * send to a bhyve process. - */ -struct ipc_message { - enum ipc_opcode code; - union { - /* - * message specific structures - */ - struct checkpoint_op op; - } data; -}; - struct checkpoint_thread_info { struct vmctx *ctx; int socket_fd; diff --git a/usr.sbin/bhyvectl/Makefile b/usr.sbin/bhyvectl/Makefile index 12fdb706cadb..c004d603c8db 100644 --- a/usr.sbin/bhyvectl/Makefile +++ b/usr.sbin/bhyvectl/Makefile @@ -17,6 +17,7 @@ WARNS?= 3 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm .if ${MK_BHYVE_SNAPSHOT} != "no" +LIBADD+= nv CFLAGS+= -DBHYVE_SNAPSHOT # usr.sbin/bhyve/snapshot.h needs ucl header diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 017427db4d4f..560a3a3eb443 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -33,10 +33,13 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include -#include +#include +#include +#include +#include #include #include @@ -57,9 +60,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include - #include "amd/vmcb.h" #include "intel/vmcs.h" @@ -1684,10 +1684,9 @@ show_memseg(struct vmctx *ctx) #ifdef BHYVE_SNAPSHOT static int -send_message(struct vmctx *ctx, void *data, size_t len) +send_message(struct vmctx *ctx, nvlist_t *nvl) { struct sockaddr_un addr; - ssize_t len_sent; int err, socket_fd; char vmname_buf[MAX_VMNAME]; @@ -1709,14 +1708,16 @@ send_message(struct vmctx *ctx, void *data, size_t len) snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname_buf); - len_sent = sendto(socket_fd, data, len, 0, - (struct sockaddr *)&addr, sizeof(struct sockaddr_un)); - - if (len_sent < 0) { - perror("Failed to send message to bhyve vm"); - err = -1; + if (connect(socket_fd, (struct sockaddr *)&addr, SUN_LEN(&addr)) != 0) { + perror("connect() failed"); + err = errno; + goto done; } + if (nvlist_send(socket_fd, nvl) < 0) + perror("nvlist_send() failed"); + nvlist_destroy(nvl); + done: if (socket_fd > 0) close(socket_fd); @@ -1726,15 +1727,13 @@ done: static int snapshot_request(struct vmctx *ctx, const char *file, enum ipc_opcode code) { - struct ipc_message imsg; - size_t length; - - imsg.code = code; - strlcpy(imsg.data.op.snapshot_filename, file, MAX_SNAPSHOT_FILENAME); + nvlist_t *nvl; - length = offsetof(struct ipc_message, data) + sizeof(imsg.data.op); + nvl = nvlist_create(0); + nvlist_add_number(nvl, "cmd", code); + nvlist_add_string(nvl, "filename", file); - return (send_message(ctx, (void *)&imsg, length)); + return (send_message(ctx, nvl)); } #endif From nobody Thu Jan 26 18:54:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcy5QZdz3bPQN; Thu, 26 Jan 2023 18:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcy4bYzz461L; Thu, 26 Jan 2023 18:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TrILR93w5bu2k0MkIN3sNPWsp/B/buPGeatsphKSL3M=; b=F0zUOMVnBTNLfCHBhxJGwqtm4JVuhaSk+NsRka6b1ZljFOTHAj2ZrtujmUgryzXeuFGGcL nvmd+Rq/qXGKgllUkVHY7r+YLqsEfR8GLhHoPRka0qBmZiBS6XnMjzMLwQbryylvNf1KrE Gu15KRV4o3omVJ0ppVJ+6KzW66pRb4N0XQOph3r5uIQCLLjG7qufjLPpZ/MAi49vtBYf+S jB8g5Anmc/Th6tmBgnz7ajwXN1hWziGOxLdjrQCW8WPKfSfAXtc31FfryQICEGSLSSO4OY 84VTyMVjGNqP+9qGIKglPpLAJb11WlterY0gsfG6Epz75ES/nZsc9M6xGJXn/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TrILR93w5bu2k0MkIN3sNPWsp/B/buPGeatsphKSL3M=; b=ArV2/R+24yKtDwdNScbVjidCl9XnWsDyDBvQm9l+r64kxJaRrLu7zHFxq62K35+6z21sGF BFlnIrUKuvdgqGBYaGxcDYSdcxse/lv0tOxHZVDB8efbCdz5cGXq5E0UnsidKG6SIg79DU Z3BLcd0o8jqS0k97IqDT+rDQsfDuKtaj5z1Mze0a+FKkPzV9BRV8iu2WzwTpe3qRkrnAuc K+ialT7vRq3ZQ0tsWQGU2wVfdgX5YEiKm9U5VaVbrreU3CfTy+jX8GYV7cUxgttPx2Xpez UkjJbYiQpfNiOxXmULwaGtZKV44OZCKRoDw1UkVeFNSAnW5AQ+ps1EWL8FtyCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759266; a=rsa-sha256; cv=none; b=ZO+eL4BtecGxPPu+yvFDGPFXJsrN2ohOp27qicERN9nLiWWLiWUxVlRt9tiUM21TYM2lki oml1Ly+I3H5vSnNPNwhr9e9Z/MK2hb147Py8tdOdJOdrQwfczrMXbT/S5RXE2Ro6RixqTJ hzHItK9uRRP08kUOSGWTRgJRFRrlI5GasY8dFOU5+ulAguAroveBUAobBKaljtFpkhOYAJ tYawoPLf4QTBgV/IxT0tmtVZ7QgT1+e/LemVMtF/8ngVvuHHevm+buBbP/N8qPCocl58uO ooFpMyprp2NfBi35DROeoUrryIHzfvTkumdUrjzx9yqycCuPAjZ+92fvPTFz4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcy3hrSzg6B; Thu, 26 Jan 2023 18:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsQ08034220; Thu, 26 Jan 2023 18:54:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsQwO034219; Thu, 26 Jan 2023 18:54:26 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:26 GMT Message-Id: <202301261854.30QIsQwO034219@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 395c0adb2ab5 - stable/13 - bhyve/snapshot: use a string for cmd element in the nvlist List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 395c0adb2ab59cf90c05b48749f5a5de9ae9426e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=395c0adb2ab59cf90c05b48749f5a5de9ae9426e commit 395c0adb2ab59cf90c05b48749f5a5de9ae9426e Author: Robert Wing AuthorDate: 2022-02-15 17:12:15 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:47:33 +0000 bhyve/snapshot: use a string for cmd element in the nvlist The nvlist for a checkpoint request will now look like: { cmd="checkpoint", suspend="true/false", filename="afilename" } Reviewed by: jhb Suggested by: jhb Differential Revision: https://reviews.freebsd.org/D34237 (cherry picked from commit 4379c1da56faa43ecc925e47707a2f51b488614e) --- usr.sbin/bhyve/snapshot.c | 27 +++++++++++++-------------- usr.sbin/bhyve/snapshot.h | 6 ------ usr.sbin/bhyvectl/bhyvectl.c | 9 +++++---- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 62ef0acd8f95..aae8353b89db 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1443,24 +1443,23 @@ done: static int handle_message(struct vmctx *ctx, nvlist_t *nvl) { - int err, cmd; + int err; + const char *cmd; - if (!nvlist_exists_number(nvl, "cmd")) + if (!nvlist_exists_string(nvl, "cmd")) return (-1); - cmd = nvlist_get_number(nvl, "cmd"); - switch (cmd) { - case START_SUSPEND: - case START_CHECKPOINT: - if (!nvlist_exists_string(nvl, "filename")) - err = -1; - else - err = vm_checkpoint(ctx, nvlist_get_string(nvl, "filename"), - cmd == START_SUSPEND ? true : false); - break; - default: - EPRINTLN("Unrecognized checkpoint operation\n"); + cmd = nvlist_get_string(nvl, "cmd"); + if (strcmp(cmd, "checkpoint") == 0) { + if (!nvlist_exists_string(nvl, "filename") || + !nvlist_exists_bool(nvl, "suspend")) err = -1; + else + err = vm_checkpoint(ctx, nvlist_get_string(nvl, "filename"), + nvlist_get_bool(nvl, "suspend")); + } else { + EPRINTLN("Unrecognized checkpoint operation\n"); + err = -1; } if (err != 0) diff --git a/usr.sbin/bhyve/snapshot.h b/usr.sbin/bhyve/snapshot.h index ddf23b8c0619..718e48467f56 100644 --- a/usr.sbin/bhyve/snapshot.h +++ b/usr.sbin/bhyve/snapshot.h @@ -60,12 +60,6 @@ struct restore_state { ucl_object_t *meta_root_obj; }; -/* Messages that a bhyve process understands. */ -enum ipc_opcode { - START_CHECKPOINT, - START_SUSPEND, -}; - struct checkpoint_thread_info { struct vmctx *ctx; int socket_fd; diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 560a3a3eb443..0480e1623621 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1725,13 +1725,14 @@ done: } static int -snapshot_request(struct vmctx *ctx, const char *file, enum ipc_opcode code) +snapshot_request(struct vmctx *ctx, const char *file, bool suspend) { nvlist_t *nvl; nvl = nvlist_create(0); - nvlist_add_number(nvl, "cmd", code); + nvlist_add_string(nvl, "cmd", "checkpoint"); nvlist_add_string(nvl, "filename", file); + nvlist_add_bool(nvl, "suspend", suspend); return (send_message(ctx, nvl)); } @@ -2397,10 +2398,10 @@ main(int argc, char *argv[]) #ifdef BHYVE_SNAPSHOT if (!error && vm_checkpoint_opt) - error = snapshot_request(ctx, checkpoint_file, START_CHECKPOINT); + error = snapshot_request(ctx, checkpoint_file, false); if (!error && vm_suspend_opt) - error = snapshot_request(ctx, suspend_file, START_SUSPEND); + error = snapshot_request(ctx, suspend_file, true); #endif free (opts); From nobody Thu Jan 26 18:54:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qcz6TzFz3bPVP; Thu, 26 Jan 2023 18:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qcz5cpBz463t; Thu, 26 Jan 2023 18:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XUK4I4k3G8zRZsf3lKUYJaVgQosAocMJ8gRaI2xPvR8=; b=GlvRxtmcD86yETwroZn/NhEa3P+iuC+kg6UFMbUl7t/ysRtVXfTVfCiSufziCwL+HWlLZM 3sSAvBOakyYWEn/U01X2Q2TPPmz1f7IUvp7Rgw6RJtrihlP2UOMXWQPurGfMtA3GjEV8mI m6voFyRmXEQWDijYYrGQv2yt3rHr82uv3AAdBKLc/RGWHVX3bAzYr4wZfHRzRrkY5kf1y2 ts+M0jNSMcLs7HKhJdXHjhk/GQdDPVCToMBvMQcog3//ggW1J0lphLBFoENow0unxaP+KF Vg4I7Aa7NZM5Jhk4H0VQFzOUGje2dEzoQR6aRebyoyN2xteRzPbYa5B5oKLTXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XUK4I4k3G8zRZsf3lKUYJaVgQosAocMJ8gRaI2xPvR8=; b=lkYr/1IRxCUjoakxSoVUDcdKEGS/UzWE8TYo9cFxWzqLuJX00BVGqexKMO0qzGquPh6Kfu c/Nfi2ehR1NIYNfu4ynCo5bv3aQ6849wNbtxNon4DVE/Qzi8Jk9OlyCPnUvQwfQ8FgUA94 4btzoSy78gRLBrYXYMLRg673QKJuE+9ab/lsdInvFnhD8OfF4slrHhojCm6dxz0pfBDG1D M1DrZGcTLjY5s2iSoifpMBG7IqUxtb4DfahSRR7VlLnUavvfM7gBYQ6Wcu7YOcn/kWC+cD LBfddcCxcw2Ju2liiskUTtAGs5WV5NExsyRed38nXKUafgmmR5fj+okQtY6uBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759267; a=rsa-sha256; cv=none; b=exp1h2caNT1jK6ah+oc3TIdx7uSy81bvbN7aeLmRirVq11MekTt8arlBaD6yCgUIqPKoIR wcraTNEyxxWwfmthWFris/xHSr8PSsk7hfOJFWZjhBRCIlCV2uUl9+jMwDOoCCGe/fH1VD j9Geqa4zh3lw1CJ+hZEPwcAgdb1z4YideQb+KBVewRRAEfca/DkvantKP8LzCBc7koMHC9 HgoOwwTL2QugxJi3vMr1yg59O44OZf3Mg4FmykxLnU+uTDI8C7klJC6SAnq7FNnRB8B+K9 BetATw7iJ8BDJi+aYislcQXi9yE6ndF2W7C/Aj/Buh5rkBMI+I7oxzvxQXewyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qcz4gkKzgKx; Thu, 26 Jan 2023 18:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsRPB034244; Thu, 26 Jan 2023 18:54:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsRUX034243; Thu, 26 Jan 2023 18:54:27 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:27 GMT Message-Id: <202301261854.30QIsRUX034243@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a71480028333 - stable/13 - bhyvectl: drop vm_get_name() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a7148002833387848a707b77f2ef2ea3dbece09c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a7148002833387848a707b77f2ef2ea3dbece09c commit a7148002833387848a707b77f2ef2ea3dbece09c Author: Robert Wing AuthorDate: 2022-03-18 05:22:43 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:48:24 +0000 bhyvectl: drop vm_get_name() Grab the vm name from bhyvectl's --vm flag instead. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D34399 (cherry picked from commit ee0ebaa42028aee9886e06b6b995c8b2389e89f4) --- usr.sbin/bhyvectl/bhyvectl.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 0480e1623621..e4de6da1803c 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1684,11 +1684,10 @@ show_memseg(struct vmctx *ctx) #ifdef BHYVE_SNAPSHOT static int -send_message(struct vmctx *ctx, nvlist_t *nvl) +send_message(const char *vmname, nvlist_t *nvl) { struct sockaddr_un addr; int err, socket_fd; - char vmname_buf[MAX_VMNAME]; socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0); if (socket_fd < 0) { @@ -1700,13 +1699,7 @@ send_message(struct vmctx *ctx, nvlist_t *nvl) memset(&addr, 0, sizeof(struct sockaddr_un)); addr.sun_family = AF_UNIX; - err = vm_get_name(ctx, vmname_buf, MAX_VMNAME - 1); - if (err != 0) { - perror("Failed to get VM name"); - goto done; - } - - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname_buf); + snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname); if (connect(socket_fd, (struct sockaddr *)&addr, SUN_LEN(&addr)) != 0) { perror("connect() failed"); @@ -1725,7 +1718,7 @@ done: } static int -snapshot_request(struct vmctx *ctx, const char *file, bool suspend) +snapshot_request(const char *vmname, const char *file, bool suspend) { nvlist_t *nvl; @@ -1734,7 +1727,7 @@ snapshot_request(struct vmctx *ctx, const char *file, bool suspend) nvlist_add_string(nvl, "filename", file); nvlist_add_bool(nvl, "suspend", suspend); - return (send_message(ctx, nvl)); + return (send_message(vmname, nvl)); } #endif @@ -2398,10 +2391,10 @@ main(int argc, char *argv[]) #ifdef BHYVE_SNAPSHOT if (!error && vm_checkpoint_opt) - error = snapshot_request(ctx, checkpoint_file, false); + error = snapshot_request(vmname, checkpoint_file, false); if (!error && vm_suspend_opt) - error = snapshot_request(ctx, suspend_file, true); + error = snapshot_request(vmname, suspend_file, true); #endif free (opts); From nobody Thu Jan 26 18:54:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd1573lz3bPFV; Thu, 26 Jan 2023 18:54:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qd06dJ2z46N9; Thu, 26 Jan 2023 18:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c45CRKWd/R1+Pg660/n7lGhAjjKF8dTy7mksgA/Acuw=; b=IM3KdSs33ODsPqj/IqBxyxIR/80zUE3F0lQXG+l/j8v8iWaggezrCmpO9uSTwGqCSA+jEU KfXNUk4RHITGLLtH7MOS+xiwl2SxrasTWZzJ/FQVGy1z3Oe+XC9IwcjxBfLrHCz26ML8PJ DqIfXtKJXBnX80tNinxGe8dqg9SF71g7mhbBLlSEusFOEaZVNBQhgWz9CFAT/11IPzpSg0 lCJXHZgiuClJTE4ETLz7cMlCLjW3LKg0+1QCNLdpTGiq6YT8UOEoDT6mCHS2QaD9fN9MCX BodrHxgM4FbriJzWc2scKz55bzFYuenCYPnT0fsYw2bm/TKWDyOPPbDVeGiqVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c45CRKWd/R1+Pg660/n7lGhAjjKF8dTy7mksgA/Acuw=; b=Gvl0uaiGQSbKGDyVKKQbogRqqJI2S0arVPOmqo2mvlnNCyQTHViKrxDN+LiqJ5n8aHsWd6 OeiABIc+ALw/t3JOG6sLLzBY5wOSXd4DqPY4XmtyqaWILvlF4z1ZBkoBXl0ssWo9u444CD kekCnHDXwLsscBUt6Ipq5NQFkoYdo8Y/mDwnbaukaAy6lzuwJS5qW23X2tuOrTAFTRnQ41 lGol73N4O/s8F9HTo1MoVVxmz97WDFSY191hgZMcddPXboL3LP/fIXLsCuHOtMOscvmnk8 /890o8hRL/QcX0rTpmC4c/FJn5jIYOrL+HmMze9cwgXR8MhrZ2frWXoXUXm+fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759268; a=rsa-sha256; cv=none; b=Ds9Qa9gvt5osuZaQsd92etm0jidrrrIJUGGGRUcHIElK6tRxK44swJO2Zl1Z4vMebK8Mj9 88zRFj+aGLMXTII2hW+aqVWUo1wUiCbc/vbsfznzgocGVk+JIuiwky01mG7XcaNqvLkLY2 qMlYq9VWnXbRkr7hw4iLVEsxqN9syYir0/aI2jFwaGVEPZzIjaLPams0pmDyk623Bw54TV vB/ABhOKbCESMQ+npigi8l8Mdwj3urDaDCjx8RCuuVNUZ7rybi3aUCOVxSsBnNdLuK4ZC+ rfang3HqliRkODk2fzIMzGgJj+tLjkvwgBF4JAxJED7yB8CW0i+ym+KUoU84TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd05QQPzgPq; Thu, 26 Jan 2023 18:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsSSY034269; Thu, 26 Jan 2023 18:54:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsS27034268; Thu, 26 Jan 2023 18:54:28 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:28 GMT Message-Id: <202301261854.30QIsS27034268@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 51b1d348203d - stable/13 - libvmm: constify vm_get_name() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 51b1d348203d57bc5562e98cba25a2223e5c839a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=51b1d348203d57bc5562e98cba25a2223e5c839a commit 51b1d348203d57bc5562e98cba25a2223e5c839a Author: Robert Wing AuthorDate: 2022-03-18 05:26:54 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:48:47 +0000 libvmm: constify vm_get_name() Allows callers of vm_get_name() to retrieve the vm name without having to allocate a buffer. While in the vicinity, do minor cleanup in vm_snapshot_basic_metadata(). Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D34290 (cherry picked from commit 3efc45f34e13c63cb37a77a67fea39937004b75a) --- lib/libvmmapi/vmmapi.c | 9 +++------ lib/libvmmapi/vmmapi.h | 2 +- usr.sbin/bhyve/snapshot.c | 28 ++++------------------------ 3 files changed, 8 insertions(+), 31 deletions(-) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index f6d83dd0e08f..4fc9c4dc69e9 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -498,14 +498,11 @@ vm_rev_map_gpa(struct vmctx *ctx, void *addr) return ((vm_paddr_t)-1); } -/* TODO: maximum size for vmname */ -int -vm_get_name(struct vmctx *ctx, char *buf, size_t max_len) +const char * +vm_get_name(struct vmctx *ctx) { - if (strlcpy(buf, ctx->name, max_len) >= max_len) - return (EINVAL); - return (0); + return (ctx->name); } size_t diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index 586392a0ff29..c8454150f0b1 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -135,7 +135,7 @@ uint32_t vm_get_lowmem_limit(struct vmctx *ctx); void vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit); void vm_set_memflags(struct vmctx *ctx, int flags); int vm_get_memflags(struct vmctx *ctx); -int vm_get_name(struct vmctx *ctx, char *buffer, size_t max_len); +const char *vm_get_name(struct vmctx *ctx); size_t vm_get_lowmem_size(struct vmctx *ctx); size_t vm_get_highmem_size(struct vmctx *ctx); int vm_set_desc(struct vmctx *ctx, int vcpu, int reg, diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index aae8353b89db..4bd2ea273171 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1123,28 +1123,15 @@ err_vm_snapshot_kern_data: static int vm_snapshot_basic_metadata(struct vmctx *ctx, xo_handle_t *xop, size_t memsz) { - int error; - int memflags; - char vmname_buf[MAX_VMNAME]; - - memset(vmname_buf, 0, MAX_VMNAME); - error = vm_get_name(ctx, vmname_buf, MAX_VMNAME - 1); - if (error != 0) { - perror("Failed to get VM name"); - goto err; - } - - memflags = vm_get_memflags(ctx); xo_open_container_h(xop, JSON_BASIC_METADATA_KEY); xo_emit_h(xop, "{:" JSON_NCPUS_KEY "/%ld}\n", guest_ncpus); - xo_emit_h(xop, "{:" JSON_VMNAME_KEY "/%s}\n", vmname_buf); + xo_emit_h(xop, "{:" JSON_VMNAME_KEY "/%s}\n", vm_get_name(ctx)); xo_emit_h(xop, "{:" JSON_MEMSIZE_KEY "/%lu}\n", memsz); - xo_emit_h(xop, "{:" JSON_MEMFLAGS_KEY "/%d}\n", memflags); + xo_emit_h(xop, "{:" JSON_MEMFLAGS_KEY "/%d}\n", vm_get_memflags(ctx)); xo_close_container_h(xop, JSON_BASIC_METADATA_KEY); -err: - return (error); + return (0); } static int @@ -1518,7 +1505,6 @@ init_checkpoint_thread(struct vmctx *ctx) struct sockaddr_un addr; int socket_fd; pthread_t checkpoint_pthread; - char vmname_buf[MAX_VMNAME]; int err; memset(&addr, 0, sizeof(addr)); @@ -1532,14 +1518,8 @@ init_checkpoint_thread(struct vmctx *ctx) addr.sun_family = AF_UNIX; - err = vm_get_name(ctx, vmname_buf, MAX_VMNAME - 1); - if (err != 0) { - perror("Failed to get VM name"); - goto fail; - } - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", - BHYVE_RUN_DIR, vmname_buf); + BHYVE_RUN_DIR, vm_get_name(ctx)); addr.sun_len = SUN_LEN(&addr); unlink(addr.sun_path); From nobody Thu Jan 26 18:54:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd23c9Gz3bPFZ; Thu, 26 Jan 2023 18:54: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 4P2qd20Jyqz46FM; Thu, 26 Jan 2023 18:54:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KOLYbqN8AAzXrJw41jLPvEj7d4G3jczP3YZrQZjqBu0=; b=mVUWrudcD14qVLmK/v5VM10Hq+ol0qAvm5wb4luBqgF53lMbqxmNF+8uq0YAisLvaRLvGH 6cj/1YkIKqdycqEukXqm8iz78pv5Ej5BDi4R5F0IPHxI3RWSDARUOccH56FGBk2CQpiqY/ hBGvxVANQTe4oIYEc10Pg70G5RS3RCDogyQLE7TFT963P+N1Wf2jmWu4cH5aJCKMA0mDOF Pz/k4c/u/auWA0i9f8LCWxuQQtZ/aiVX2pYcJ2ec1l6ApR/R6V8PXnwKm9+I9jZ2CJlIoa N/0/X2DMpJERRuOZUxCLUMnacP5Rk1Q0aMZLR9nlqXD7I5d/L1HQZlmGY8Q4iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KOLYbqN8AAzXrJw41jLPvEj7d4G3jczP3YZrQZjqBu0=; b=OqLZg4/MBzD5N0QQlFnKuAGQ9IkrC093ZLtGwI21IprY+R1KC4k5bg9R6qzlX3j2trmmat hVVpYUvAvA73Ooze5PcKurSjvCJEKEWbJM2BeP342n8xiLNU+IbSdp2kABIXbYa2vRogTx xiEHu4ESk8axT4WmoA/SLKm9oznIMJ8SWwvUfatP5xDC2fOz4sOyvQtyJaSKAJdMypQoUR 5Odvj9RDTLAVKRgiORgncwaArS2pv2Gs6jvH2qOHxw9zYSkwE+nEWBjbakOIbqSpLfuHxG hYeRyGdJiPZMt1MpRHttW2oMTobSCdNzjOCxiA7T8KLPBAhOE7Vi4NgT+UZRqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759270; a=rsa-sha256; cv=none; b=oIM65g5K8m5Xk8VMSp1VpkS+P2GtGIbCqx5ksUY4MyI/HVFyMRmkEZjqiPKZRJGFlZUG1H hbhuQuOp/SUBKOqRmlC9iw+RfIPA2di3kZw+/k81jpIaTqmZymefoDjOlgUm5b1nsS1VQy geB/nd4GfGMqghMcd9fKvOytFgrLMCVnBY0JuGuQr1/+1VP+mV24FoJL8OGAQKTs35T2Xl At2iKqmYSSVUm0vGMKXKM3fDUjn2Zp6vbR7IK2+djKoNohCsa0WjjFlExMO6Y6/vi0I8sF BoE3KDjUDCIrObAu1x2m6lqg1+E66keSlXWa8B1NJ/ZtdkYZE4/8tgPvRkpg2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd16WmDzg6C; Thu, 26 Jan 2023 18:54:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsTau034293; Thu, 26 Jan 2023 18:54:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsTOk034292; Thu, 26 Jan 2023 18:54:29 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:29 GMT Message-Id: <202301261854.30QIsTOk034292@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4b905478ffe4 - stable/13 - bhyve/snapshot: limit snapshot filename to NAME_MAX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4b905478ffe43aaedf204064bd52554cbbecaa2e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4b905478ffe43aaedf204064bd52554cbbecaa2e commit 4b905478ffe43aaedf204064bd52554cbbecaa2e Author: Robert Wing AuthorDate: 2022-03-18 05:51:31 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:48:54 +0000 bhyve/snapshot: limit snapshot filename to NAME_MAX NAME_MAX is a better fit since strcat_extension() constructs the filename of the snapshot file. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D34291 (cherry picked from commit 961e6a12efdbd48d92516beaf0772ff50008457d) --- usr.sbin/bhyve/snapshot.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 4bd2ea273171..a5217eaab1ec 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -181,10 +181,10 @@ strcat_extension(const char *base_str, const char *ext) char *res; size_t base_len, ext_len; - base_len = strnlen(base_str, MAX_VMNAME); - ext_len = strnlen(ext, MAX_VMNAME); + base_len = strnlen(base_str, NAME_MAX); + ext_len = strnlen(ext, NAME_MAX); - if (base_len + ext_len > MAX_VMNAME) { + if (base_len + ext_len > NAME_MAX) { fprintf(stderr, "Filename exceeds maximum length.\n"); return (NULL); } From nobody Thu Jan 26 18:54:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd329Jyz3bPbH; Thu, 26 Jan 2023 18:54: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 4P2qd31Xq0z46Yf; Thu, 26 Jan 2023 18:54:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EqKAdHMVZBalHYkmMn3BDB3dR08IsA69pGOyUluWiFM=; b=pC1PACtsSRHWR1obtGwGzwVPmlQnJEjKZ9naZyhLyNJ4syOz1RO86iP5uuuJNE5FzblK1/ 5gujqZzQGje2Cbu+mjW5J/GECIBaYMtQd+Hf5JD2Mu7i2ns8qmNrGYcJfF+eaXhvxwqyrC JAPaKPfbcZ1Tx2SHa+tCrtVAkzOdyK5BRoXebrmxegoyCzzRGwlysRzgt1BjiL095SZEcA tlVqDOwkYH0EuLhRfSkdFhQZs/tXbxbqSHjapYJtiEcono08NR6h5v3bD35I645rb3Pihw 9siT+Ehzd/H3Cv/gP2I+rGvar7uK1c9Ak+aJboiPbdPQhI4M7+hzNQ2vtgK3aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EqKAdHMVZBalHYkmMn3BDB3dR08IsA69pGOyUluWiFM=; b=FNfj1gj0zF9VhB3KsEvmfg8w6EhzQkk1P3IA4As9F6df2UIpMMJYHgR1QfgDzvFHFlKpHC xdrtG5z1kQEdmFzI4yJt0KITi+MJuI7TnruLLZ0ABeIUPB9HzltQJmMQG6FE4BrCeJbdVz mO86Q5As2pvlGbetK3ghahFFPqzoLeY5BiVlIJrcL7/pGDofyataK7LCpMyp5G2FOUJ7SR d2JRPwkT4SkmA8HOoowN++unz/+Ikhha/4vc6VQzK6OLXAtTWzrSgVq98JUbybfnYe1g90 AZ4UNWXVVFCv4s1ZhaWkBWv6SQjaalrJDTLY0djwMnO4IuGgczz76/TFeYchuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759271; a=rsa-sha256; cv=none; b=gswfgllppQvjm/47u7IZ04Nw0wervuNzv8Ejf0a52hkR5Ks65vrxmQmModoEkPNlhV+LlP +6bYkSNu1K4Ulyxl5RIMPBcMPfdY9KMwHfbOyAT1AEf5ZlxHyCFseKF4DAkIfXDGB+KGIR tk8vma2N2vxSj4ijATYPVCuPV+pck5TqGIjiDmg5ZvCfSI77Bt3ccY9aBKwyPPbW54Vq0j juUgNoPaERlPtu8sN4dbmXOi7jtXb6UTudSecph+lLpTltSjHHHl1h2+XiuHaf2YA832Ny 6U53plB2adGq7VuaWIF/jev+SC3OjvXw2a1HX6vuF22hhK+lcejLeEkBUUPZdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd30Lptzg6D; Thu, 26 Jan 2023 18:54:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsUQm034317; Thu, 26 Jan 2023 18:54:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsUAL034316; Thu, 26 Jan 2023 18:54:30 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:30 GMT Message-Id: <202301261854.30QIsUAL034316@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 20c0629a3b1b - stable/13 - bhyve: sweep MAX_VMNAME List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 20c0629a3b1bf320de5999c925f501f1bc2c3805 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=20c0629a3b1bf320de5999c925f501f1bc2c3805 commit 20c0629a3b1bf320de5999c925f501f1bc2c3805 Author: Robert Wing AuthorDate: 2022-03-18 05:55:52 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:49:01 +0000 bhyve: sweep MAX_VMNAME MAX_VMNAME is no longer used. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D34292 (cherry picked from commit 3ebe1109348f53f64b395293578416abedef4090) --- usr.sbin/bhyve/snapshot.c | 2 -- usr.sbin/bhyvectl/bhyvectl.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index a5217eaab1ec..ee709147cec4 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -116,8 +116,6 @@ static sig_t old_winch_handler; #define SNAPSHOT_CHUNK (4 * MB) #define PROG_BUF_SZ (8192) -#define MAX_VMNAME 100 - #define SNAPSHOT_BUFFER_SIZE (20 * MB) #define JSON_STRUCT_ARR_KEY "structs" diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index e4de6da1803c..06ab05cd48e1 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -74,8 +74,6 @@ __FBSDID("$FreeBSD$"); #define NO_ARG no_argument #define OPT_ARG optional_argument -#define MAX_VMNAME 100 - static const char *progname; static void From nobody Thu Jan 26 18:54:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd439zlz3bPLS; Thu, 26 Jan 2023 18: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 4P2qd42YvHz46TN; Thu, 26 Jan 2023 18: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=1674759272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VmrEj0YMJP78d8ScfC7NGVU18Wn+LzbKdD10L7UUfhU=; b=SQS7iMUIGp509WPfKdePrL5IsXm3G0ykQA9WJEu6EbLINn3NfKiyLMvT0NpF1c8QMXZvOA Vst/QtwDXT30rDGa6FDVVw6e6RH7yCeIqqMfzblFYOUGsUmKkMHz9P0qaAzHWumbQ8mEuk aFf2FY/6ImLwiW0pfWT/hZaWeoRvokKeXSGW45SB9awIZPJjQXXRlaBtvxVCsaIZdAUUtD hKhOdvtWnVExwyJMT6odpn06KLmUngCEeCNWj2UoHROjeRt64dFRid1+upiUkjyWhyJrMb dsPKZho4/SPwIFxCVpPzmljOY782peOuV0sMs32dLhSBpf40DlAzlJNwxszQzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VmrEj0YMJP78d8ScfC7NGVU18Wn+LzbKdD10L7UUfhU=; b=rb5OzNozRfvBEmMfvdNPYm0UEd5KoiNQllW9A6AyYgZ6sxOGT4QfCCGrcfS0xxR+HNFWVU 4WKScqEGRxtPKmzBIASyZpiTn5mFDNeCC1rR6WyZcgmEEGkwfRbCPnmM70upMGrhGcdHC3 9WNvFU3zRQ2kqZTfzn9Sj7RIe+cFS9CqpssPUlTDoTNwEpjFFb6o7rLMSCvnErUqZJsEa4 xY5iEVqej+TcYkXjUZXd3vVt/avU5CaCQGobd6L8lZpRbcu3rsSVcjznG9t+iV7K3hebvp 9vsUtmiSfG/TaTwSmUT9HBaTwN6wb4SJAQ4Y6pSsRLrLPjeoOMmiwhGGtpvgcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759272; a=rsa-sha256; cv=none; b=vCCUcb8Hi6qm4C4G/uCNpC8tEyDaVRjOpE8m0IIsagfWCYGq+XvxOQYeFhJRYGcFSe8Gos 5Dz47VKhVDiQ4yBirGpzUcIpdIU3G94RNb42Lc9d5drmTCfkqesw+b809eJ0UAaj9wJtRE epCKIH9gqlUjPb2HAKQDjMfHCYy1x04BwHiTiEyQ+PD4eyAGgZHThzbipjbctnLPHDjEyM ywaY0yx+VLX0jkfczDcn0BMipHQWColydpeZTpmc5R2QJvbNgarYppeN9jqJQVw5e+4VP0 6J2i/L9RiqWHFpoyvgS90VyLml8mQTZ9z5yhRQrbljaFMhYCrxyFratRBedmfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd41GphzgKy; Thu, 26 Jan 2023 18:54:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsWuQ034347; Thu, 26 Jan 2023 18:54:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsWVv034346; Thu, 26 Jan 2023 18:54:32 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:32 GMT Message-Id: <202301261854.30QIsWVv034346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 0c10a2255084 - stable/13 - bhyve: use linker set for ipc commands List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0c10a2255084711e1ddaa0f43ce1245f49194da3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0c10a2255084711e1ddaa0f43ce1245f49194da3 commit 0c10a2255084711e1ddaa0f43ce1245f49194da3 Author: Robert Wing AuthorDate: 2022-04-10 02:46:00 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:49:41 +0000 bhyve: use linker set for ipc commands Reviewed by: markj, jhb Differential Revision: https://reviews.freebsd.org/D34760 (cherry picked from commit c79331a42c308139828c1117f49224bb83617a53) --- usr.sbin/bhyve/ipc.h | 50 +++++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/snapshot.c | 42 +++++++++++++++++++++++---------------- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/usr.sbin/bhyve/ipc.h b/usr.sbin/bhyve/ipc.h new file mode 100644 index 000000000000..38faf69eb5f4 --- /dev/null +++ b/usr.sbin/bhyve/ipc.h @@ -0,0 +1,50 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Rob Wing + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#ifndef _IPC_H_ +#define _IPC_H_ + +#include +#include +#include + +struct ipc_command { + char *name; + int (*handler)(struct vmctx *ctx, const nvlist_t *nvl); +}; + +#define IPC_COMMAND(set, name, function) \ + static struct ipc_command name ## _ipc_command = \ + { #name, function }; \ + DATA_SET(set, name ## _ipc_command); + +#define IPC_COMMAND_FOREACH(pvar, set) SET_FOREACH(pvar, set) + +SET_DECLARE(ipc_cmd_set, struct ipc_command); + +#endif /* _IPC_H_ */ diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index ee709147cec4..7c34a9b2f0ea 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include "atkbdc.h" #include "debug.h" #include "inout.h" +#include "ipc.h" #include "fwctl.h" #include "ioapic.h" #include "mem.h" @@ -1428,30 +1429,19 @@ done: static int handle_message(struct vmctx *ctx, nvlist_t *nvl) { - int err; const char *cmd; + struct ipc_command **ipc_cmd; if (!nvlist_exists_string(nvl, "cmd")) - return (-1); + return (EINVAL); cmd = nvlist_get_string(nvl, "cmd"); - if (strcmp(cmd, "checkpoint") == 0) { - if (!nvlist_exists_string(nvl, "filename") || - !nvlist_exists_bool(nvl, "suspend")) - err = -1; - else - err = vm_checkpoint(ctx, nvlist_get_string(nvl, "filename"), - nvlist_get_bool(nvl, "suspend")); - } else { - EPRINTLN("Unrecognized checkpoint operation\n"); - err = -1; + IPC_COMMAND_FOREACH(ipc_cmd, ipc_cmd_set) { + if (strcmp(cmd, (*ipc_cmd)->name) == 0) + return ((*ipc_cmd)->handler(ctx, nvl)); } - if (err != 0) - EPRINTLN("Unable to perform the requested operation\n"); - - nvlist_destroy(nvl); - return (err); + return (EOPNOTSUPP); } /* @@ -1472,11 +1462,29 @@ checkpoint_thread(void *param) handle_message(thread_info->ctx, nvl); else EPRINTLN("nvlist_recv() failed: %s", strerror(errno)); + + nvlist_destroy(nvl); } return (NULL); } +static int +vm_do_checkpoint(struct vmctx *ctx, const nvlist_t *nvl) +{ + int error; + + if (!nvlist_exists_string(nvl, "filename") || + !nvlist_exists_bool(nvl, "suspend")) + error = EINVAL; + else + error = vm_checkpoint(ctx, nvlist_get_string(nvl, "filename"), + nvlist_get_bool(nvl, "suspend")); + + return (error); +} +IPC_COMMAND(ipc_cmd_set, checkpoint, vm_do_checkpoint); + void init_snapshot(void) { From nobody Thu Jan 26 18:54:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd53mP7z3bPLW; Thu, 26 Jan 2023 18:54: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 4P2qd5397bz46PG; Thu, 26 Jan 2023 18:54:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0PjyPvCnnW3fkV9QUod6db5PEeO++VorAwNzMfPnSSo=; b=caU2SktNA+kecy+d0UyD8ti+su8ga1QkvGI9PVbCXeGMUZMjnUGn7WOcBXfA/0papsH1ZC pGdW1dRWQEDxfY5LPYij1hxc+bKL28kMgkPfISKqzvPyGE2+aTczTur0d/qxv8cfPVjMA2 KuOJzok6gEdCCGMvotWpCGGlsdwGIlq8Yi1E9jMrYtJwMYiVFIUzoAkqJP3fKwv+ORU7qG 3QPT15PUVgmAcj/CsC/EP3xXXk64jfghcUqg8NgUy2yB011mRS3w6M10EZtia5bplm/VQI vkt79emIi08/F1bNiz9UtbkTN26hGEq9byWbNGrqgzYmbMR5V7xeq0IICYdUfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0PjyPvCnnW3fkV9QUod6db5PEeO++VorAwNzMfPnSSo=; b=L5kD5pzKrDj69pFPvJ+6/+lGS7zEV8aQ177LP6VC9zyZqPJhQEoB8BoHn/PPXnh6RmP+to 5PGR/5CfB719GF7E8vZ6fPxpvaBtIHgsxi5kaxmXKbbgNSxGbePvKgvU9Bazkpj615sygL gidsgnKX5J/HWrG3rwn9QcfuubYwk0vVZq5xg4crkHh1V6eABRFSrQzv/SWHQeQmrA1zu1 zePOCG3c4lvVa8SeUfx1X/xjG+xSpuVmCJgBbvMxnRlSHdNnUgbR8Olwql9oyUWhNMs5rK ZlsBRWIe6hIvW3x7MP39X8w/rMnrqti0mEUKOyXkOTY2raER3ZY852U9mCSybA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759273; a=rsa-sha256; cv=none; b=qgkxhTUtLSCC/gkRYMjwsGu5his/NJpVwZK6K99RXjqIlBq+fQTNG86nJGMLs5I6aleIH8 tB1d8muCFxNbqEVgigHE7qnluWVB0Zcg1jI0qRW/eI/XR2kQpxnLySoBfFpR3f4N+S54qy ypB4I62hQ1JpLZofFWP4ITwv0bs8O7+SJ5Y9GZ3r4KDTWSZxNYvaqFub8Sz/C+j+c9ciPh kvS1yLxwA8Q1RGofXD/MjeLDmqWejxFsppilcaBaGW/B2ZMH2rpoKGKRRx0HzwNiYljYfM BRJJz5fv6KFELpNHvOa41XMoLolW0qZghNqhuxstu6BJdzIpUHL3ofp/QnN5Ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd52BlHzgL0; Thu, 26 Jan 2023 18:54:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsXxK034371; Thu, 26 Jan 2023 18:54:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsXAh034370; Thu, 26 Jan 2023 18:54:33 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:33 GMT Message-Id: <202301261854.30QIsXAh034370@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 10e30f7d8fcb - stable/13 - bhyve/snapshot: ..back to SOCK_STREAM List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 10e30f7d8fcb45f80b49d656ed75e3bc74605fe7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=10e30f7d8fcb45f80b49d656ed75e3bc74605fe7 commit 10e30f7d8fcb45f80b49d656ed75e3bc74605fe7 Author: Robert Wing AuthorDate: 2022-04-28 15:43:01 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:50:42 +0000 bhyve/snapshot: ..back to SOCK_STREAM Now that nvlist_send()/nvlist_recv() are being used, ditch the datagram socket. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D34863 (cherry picked from commit 690b7ea081790eef2c890f63a4fe7e195cf51df0) --- usr.sbin/bhyve/snapshot.c | 14 +++++++++++--- usr.sbin/bhyvectl/bhyvectl.c | 9 +++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 7c34a9b2f0ea..df09e9f1cb21 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1450,19 +1450,21 @@ handle_message(struct vmctx *ctx, nvlist_t *nvl) void * checkpoint_thread(void *param) { + int fd; struct checkpoint_thread_info *thread_info; nvlist_t *nvl; pthread_set_name_np(pthread_self(), "checkpoint thread"); thread_info = (struct checkpoint_thread_info *)param; - for (;;) { - nvl = nvlist_recv(thread_info->socket_fd, 0); + while ((fd = accept(thread_info->socket_fd, NULL, NULL)) != -1) { + nvl = nvlist_recv(fd, 0); if (nvl != NULL) handle_message(thread_info->ctx, nvl); else EPRINTLN("nvlist_recv() failed: %s", strerror(errno)); + close(fd); nvlist_destroy(nvl); } @@ -1515,7 +1517,7 @@ init_checkpoint_thread(struct vmctx *ctx) memset(&addr, 0, sizeof(addr)); - socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0); + socket_fd = socket(PF_UNIX, SOCK_STREAM, 0); if (socket_fd < 0) { EPRINTLN("Socket creation failed: %s", strerror(errno)); err = -1; @@ -1536,6 +1538,12 @@ init_checkpoint_thread(struct vmctx *ctx) goto fail; } + if (listen(socket_fd, 10) < 0) { + EPRINTLN("ipc socket listen: %s\n", strerror(errno)); + err = errno; + goto fail; + } + checkpoint_info = calloc(1, sizeof(*checkpoint_info)); checkpoint_info->ctx = ctx; checkpoint_info->socket_fd = socket_fd; diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 06ab05cd48e1..14ab6c7ad33e 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1687,7 +1687,7 @@ send_message(const char *vmname, nvlist_t *nvl) struct sockaddr_un addr; int err, socket_fd; - socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0); + socket_fd = socket(PF_UNIX, SOCK_STREAM, 0); if (socket_fd < 0) { perror("Error creating bhyvectl socket"); err = -1; @@ -1695,11 +1695,12 @@ send_message(const char *vmname, nvlist_t *nvl) } memset(&addr, 0, sizeof(struct sockaddr_un)); + snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", + BHYVE_RUN_DIR, vmname); addr.sun_family = AF_UNIX; + addr.sun_len = SUN_LEN(&addr); - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname); - - if (connect(socket_fd, (struct sockaddr *)&addr, SUN_LEN(&addr)) != 0) { + if (connect(socket_fd, (struct sockaddr *)&addr, addr.sun_len) != 0) { perror("connect() failed"); err = errno; goto done; From nobody Thu Jan 26 18:54:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd65CCwz3bPQc; Thu, 26 Jan 2023 18:54: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 4P2qd63cv7z46jZ; Thu, 26 Jan 2023 18:54:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p8WYCixcwEApPdVI2s9UEJa9/H0AbhkSfhGmlILEtKg=; b=da/RYb8VlGr0D73XksNxylX3qRXm9H4gwuUHjO4Z3iQNjKaK6vhGxnUtjWGv5M90McC4+8 WsFT54wXENhUHgSJBfzfVS+MAJZ1R36k3YOgvw7nuLAgWMkJ9O7PIUEkmDtB0JdsH4wLIx qtP750u7LnuqSksEkrKq2yXkXGC95ydC2S04tRJ8DCCR+s9AgH/heNKX6Q8mIYtcE90L36 Qxb74MGg31phN74XffNcXkhmitt4eEEs4CtxWzW2s3nvWqtxEolXxE2cNKPW4dXa59DDKn 4f13iudKkzKiNsSqPA4gqkCIGwpgdMEhKp6/r1SkP4EaEeoO0SZxXrd2wdvjgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p8WYCixcwEApPdVI2s9UEJa9/H0AbhkSfhGmlILEtKg=; b=MIiSQdJcD+tTP9EJdCmNuRYk1uMAkYv81WhgmtAi8ecxkq4VMpdZnR+V4eT4A5RfMxL2tq kBGWQq8OFrWwnNHOYxU+NGkhcdIT+YEqX3V0GhFoR6OW47B3iAC+R8R83QqS28zUiFx597 7Q3ZWf/RWjL781bYW2ImpefdeYB0S1i84IMud3UislFa3w1tG1ecXzu8vRBZJNMICtbvcV yzQwKxc0sGpzu9YASFrf2QCFgW0hCMg+SvC4Y9qlWlyPjh7QLDv6F7Qq17QML/QUqdLPzN KG516KWNJTZhbNiKRZq0wd1qdhTKhuL+Q9Gaqh0mBl8ybISMcGVK2jIsM7jlQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759274; a=rsa-sha256; cv=none; b=VDGN+ALkBOAwVrhxDSKcyk2apXww7d6itZChg0xTpG4wVndnQ5MHXl56xAe1iEjOeTn/xz +NU959g9XcSvcdkSXGWfbw1nETk0O2/kW8a1yhxFz7k5jAE9lzhZOzIsrIakOLUy+84pGY LY+eT+A5FYdgYoQpbkdo4sdiSlifNNHfqtySmr1bYbBiVp9mfWTK6FLBhuYVEbJrPKc3gD MD8rhH9BNUY33VA82BskzGBWE0fx54W3g6uiX2FxhjSxWoOfpr94BSG+03HaNgdDh5T7V1 XAZKx5MQZsyl8J2s2DF5mhJbf7TzaTizNtJYggILpN8ZLJ1ioueUaoKqumMzVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd62gMbzg6F; Thu, 26 Jan 2023 18:54:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsYDa034395; Thu, 26 Jan 2023 18:54:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsYfR034394; Thu, 26 Jan 2023 18:54:34 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:34 GMT Message-Id: <202301261854.30QIsYfR034394@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: fc3a180c1723 - stable/13 - bhyve: Fix build when BHYVE_SNAPSHOT is set List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fc3a180c17238b6f78657877d05b0ce39f80366b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fc3a180c17238b6f78657877d05b0ce39f80366b commit fc3a180c17238b6f78657877d05b0ce39f80366b Author: Filipe da Silva Santos AuthorDate: 2022-09-13 06:30:41 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:52:30 +0000 bhyve: Fix build when BHYVE_SNAPSHOT is set Fixes: 9cc9abf409cc ("bhyve: create all vcpus on startup") Sponsored by: Beckhoff Automation GmbH & Co. KG X-MFC-With: 9cc9abf409cc (cherry picked from commit 10c6af344108a8cfdc431b5b304de9c0fddcec47) --- usr.sbin/bhyve/bhyverun.c | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 48d9a66ea624..2aa96039f2fc 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1267,7 +1267,6 @@ main(int argc, char *argv[]) #ifdef BHYVE_SNAPSHOT char *restore_file; struct restore_state rstate; - int vcpu; restore_file = NULL; #endif From nobody Thu Jan 26 19:25:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK312xDz3bTVh; Thu, 26 Jan 2023 19:25: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 4P2rK30Wkrz4HRx; Thu, 26 Jan 2023 19:25:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zx4OadS06J4ffl/Ro0RLrEhMyA/vGZoMmQzhnYd3ddk=; b=hAyMsLl3tOE7Q/ZsIv/qOxwP6y7fXctBRsDgUyFx0/kM1uj4XvNKEvvgtwtYN/CVn/9hJS wFeTrF5rFB8Qyu2a/5jDHGAreLwQEaGEYxdzE6XJxdIlIA9tMS1HVV3H8LA6izLPhLGQk9 Cx637uL0JOaGVzNDLbn6zrXjieMZEhqQnkNdOeHOr1EK9goqUyz+CvnDpRkzz00sA5YM0z k7SWmHUyDLGN4sObl5oip6a+E1XdMgVny7yHDLzDU6fFBb0GlYukxh3bS2FkRjxPMfuZ3+ Ib4357zjDNNW1UXZjzrN6TYQUGHsw9+k35mB/hZLyEIcjiJJgGZTllAQ5xdLEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zx4OadS06J4ffl/Ro0RLrEhMyA/vGZoMmQzhnYd3ddk=; b=TUdBNpogwB3gffZfAQtS39rL4bwJ3+pwFW+b2I4gdL1CyOpciz6m3kLv2CMhu/ZDZmnaJf 9N9YUYR67OrQAs1FXkRHSfuDgk6rmLw70ZTW7RDTT+re00Yl7Qs3xuTp+N7U1Uj5zhN2fN mNwe1ANNyWTRBGAM5Ne1n9FhgKA2DYST/9pfcLCl87ouVMq49G9BblUEtznSnhZRfLuxSI 4QfKIUt7NGty7zaYqfxL9jooh0eknIZ85K/l3oAsttp6XauxfpLe67lFgvLjReMswH+HE2 9zACte0djqaNnMl7mSw5sZ2hW8DX1ZSlS6L6TYFCtNgh/rm0jtiuyAXnowU3Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761143; a=rsa-sha256; cv=none; b=mQ63ubcHDBjQ25r2i2ovZIljsdyL7nIIQ6ebXUtMspVN2PBW2SArDl4YcY0NiQr/J4iZPw NgXvYJmZSvwG5l1/E/eWttorE77vHw5jTGtmICntT6YuL6CknTzqbYv5llenrLwX62M7ny ZT+pRZdJImAV5qnUx7ZiGcQDSxGXm0c1w0W0Azf9hOhAXcjAGS8xqmo5v0XGOs7l3zNO7t nM9QFp8FYCed8io/LQRhD3V5qslEvZTQGQ7X9lEXJ72tDIvkxXkHidMJglNPKVIj/zc8wn p2WPe+ACfmRinaJ/9uVI1qE6ztZ6J9sZ6afSb/gj5GfTrX+xh7OM/FNCh+CKUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK26hgczgss; Thu, 26 Jan 2023 19:25:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPgGo077791; Thu, 26 Jan 2023 19:25:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPgPv077790; Thu, 26 Jan 2023 19:25:42 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:42 GMT Message-Id: <202301261925.30QJPgPv077790@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 7e8e5b8b80ae - stable/13 - bhyve: enhance debug info for memory range clash List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7e8e5b8b80ae0d23ebd63ac9162396617d434c3b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7e8e5b8b80ae0d23ebd63ac9162396617d434c3b commit 7e8e5b8b80ae0d23ebd63ac9162396617d434c3b Author: Robert Crowston AuthorDate: 2021-04-10 19:16:02 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:11:36 +0000 bhyve: enhance debug info for memory range clash Explain what the two clashing regions are. Reivewed by: grehan, jhb Differential Revision: https://reviews.freebsd.org/D29696 Pull Request: https://github.com/freebsd/freebsd-src/pull/463 (cherry picked from commit efec757b20425ac68171acc7f9cec8be750db688) --- usr.sbin/bhyve/mem.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/mem.c b/usr.sbin/bhyve/mem.c index 7482174bfc32..0ea9c56192c6 100644 --- a/usr.sbin/bhyve/mem.c +++ b/usr.sbin/bhyve/mem.c @@ -110,9 +110,11 @@ mmio_rb_add(struct mmio_rb_tree *rbt, struct mmio_rb_range *new) if (overlap != NULL) { #ifdef RB_DEBUG - printf("overlap detected: new %lx:%lx, tree %lx:%lx\n", + printf("overlap detected: new %lx:%lx, tree %lx:%lx, '%s' " + "claims region already claimed for '%s'\n", new->mr_base, new->mr_end, - overlap->mr_base, overlap->mr_end); + overlap->mr_base, overlap->mr_end, + new->mr_param.name, overlap->mr_param.name); #endif return (EEXIST); From nobody Thu Jan 26 19:25:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK41pW5z3bTYQ; Thu, 26 Jan 2023 19:25:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rK41FLQz4HgC; Thu, 26 Jan 2023 19:25:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GWMZEmwqbprE6j5Hr6bnVFJ1uB9epRSvhKVkXoT5XXs=; b=KGpkA4R4tGZyujryh5HzYSvvU2T4PB5Y2ZF8GjcbV5DjEE/1ZuoIlJw0/9BsWdzTiGqabS GUSsZDtsTg+Z+KjWLjQp/FY4Z6747I8VTBMhgZ2TbMdBL8Sa9m5AZhqOy1Q/XgkM77rBbg n1W2ZxzltlXjL50e2/UIpxzVvvfrj096/wsuRk1ss796JiSQppyUxrbmmPzntCM5fdIjef uU82l/sqw7z9l1PNSbBN5E/Yl5/NQELhzGnAqKsudWofss/O4RqD0Qzd/nyisxgeSzxJBv kKfLaB465pIQHTvmz85CwOtYwGtB9NKSRx//0/ylBBwCRyabR2c09ioiE5CFCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GWMZEmwqbprE6j5Hr6bnVFJ1uB9epRSvhKVkXoT5XXs=; b=ohZyBGFI6T2diHtWKN9llapea7IfVYZdowqffUhf+NoRe02D4S0SepmARQsXhf5p8S5qtv IgP1tew/+KO6xP3++VaJTWAnlCnlsf09iyi84rgGVTArVVz/f0w3TFmZ0kFGScTOPQNONt 0enieee6kR9fRBv2T+kVRv0gCwHqJTxIVbvCV1RuqC7neyoG5sO6R5xapGqqVvJgFhhPCA kHKmzBqThIdrfnzCs9jHU1Gcm/uDjFzAHjIqekYyPIUgvWM6kldrRGAKjp5/q1ecHR7F0H ezZUPDjkxphUIC5kakvrVX5dxqL9AN1QIACKIg61os4VigpxcJ1AHyItCnkWZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761144; a=rsa-sha256; cv=none; b=udyQLGwc+FLGaOo77o10bFWEGF5+hZCd6jy14dzMGjFx76vKiANF/HxG9+DLyr2ZTH6Fw4 hFTcvwABBZmat3XkWKT0EJFZsREoJCa3F270GvsbG2JskB/wcVdC8AYlTOmiC5H9LbiMky UHAVX8NdmCSDkvpGzKe9PSdwjOYkrLk5EQ8bxX0CoNMSY5s+NS/uJt8PqtJpWND6B/h+sf WPtxS8WofUzPFZxNYpMCX90OPb/zIeY6ZDctcRKCzXtZr+nMYfXbwo+YZ9nhIt6Yz5DUrL d10abEdTrBrjaQFq49s9gpKOvxchhF2fgq47CnEl/3yuOeJ+U2W+KboI1aQ7YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK40Kr9zghD; Thu, 26 Jan 2023 19:25:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPhaw077817; Thu, 26 Jan 2023 19:25:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPh7w077816; Thu, 26 Jan 2023 19:25:43 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:43 GMT Message-Id: <202301261925.30QJPh7w077816@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: aa5f7a915250 - stable/13 - bhyve: change a default address from ANY to localhost List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aa5f7a9152504d9556e63c89f0b0717ae3e2edec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=aa5f7a9152504d9556e63c89f0b0717ae3e2edec commit aa5f7a9152504d9556e63c89f0b0717ae3e2edec Author: Mariusz Zaborski AuthorDate: 2021-08-19 18:00:35 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:12:26 +0000 bhyve: change a default address from ANY to localhost Discussed with: grehan, jhb (cherry picked from commit 3a92927bb69f2d3fcd3dec4c909aab2191f4b848) --- usr.sbin/bhyve/gdb.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index 40f226701a1a..94167053629e 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -1840,11 +1840,7 @@ init_gdb(struct vmctx *_ctx) saddr = get_config_value("gdb.address"); if (saddr == NULL) { -#if defined(INET) - saddr = "0.0.0.0"; -#elif defined(INET6) - saddr = "[::]"; -#endif + saddr = "localhost"; } debug("==> starting on %s:%s, %swaiting\n", @@ -1860,7 +1856,7 @@ init_gdb(struct vmctx *_ctx) memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_NUMERICHOST | AI_NUMERICSERV | AI_PASSIVE; + hints.ai_flags = AI_NUMERICSERV | AI_PASSIVE; if (getaddrinfo(saddr, sport, &hints, &gdbaddr) != 0) err(1, "gdb address resolve"); From nobody Thu Jan 26 19:25:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK52jvpz3bTgn; Thu, 26 Jan 2023 19:25:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rK51zTkz4HmG; Thu, 26 Jan 2023 19:25:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rFOHPDCFHA43uLfH5t1f3gPNRT5vkK5sYctMGxwgULs=; b=ATpf/S0JlBg56Pin+b9IeBu//bTVH52W4taVN61yKvwHE5HJ3wurPXzj4fajKjoJErzMEm 95bRAVeWWEwLv/MKrgVc9SIRVcjCxmfTU3RYzh5EJwfD3HKIMB/+Ya/rOaKETxwpcvhCxh NtW5V3cWkU9BAFQdS8R5sjPKEjh5L8u5/Fra3dMW9lkWIaH2Td4d5c6N5/GRJ8/yLx7qoD WaSqqPsRFPB2X+61eKvVu84kRgv5XVpKjj0eaYTODRVqxQEANMgWCkiVqFcrl2STb72J8E 2zRJaBXgYKbbi/1R8qwt21Hf7Wn27dBEgYLNY2DYvxRgfsnOCQPeDjvb6u8GYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rFOHPDCFHA43uLfH5t1f3gPNRT5vkK5sYctMGxwgULs=; b=P03GRs6klS6cnlaUZo9+UuggU2qappmD/2npJrdVp8Kjh0yZntFLnXAH4m1BYgNN3DMTNL ULsyfQ0PzhpakRTyUK5g/eb5FU86s84RGSDhns6QK0fVoKNBZh8AdAPH4hJdIdAHJfwWZb 6AidkYB9rt97oBN7KTG/KGkuWknKZPpcsO7MbNzJNtM84sWdcs9Vv6h1WRrKvO50KlsI6W 5UDFoWmRX+I8aV+0pIoOfIjY45cEMcxcOShS87aoQlAwbOcnaglVm6h+SS/SIzChGQlSN2 4XwTubWrFM37eeTcCJNOAcS4i4Osi8HnNJkhEWtBm73EUhMOdlX1Dg1sxtQ3MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761145; a=rsa-sha256; cv=none; b=PtBXenfZjeyMcZvrks+7yWAMgIrjQc67hbu/pJeN5CpoTPWaeC0SkTs0ijbasxIlZS9zcU p7pgD2K4qGJ1Jqd5TRVxnlcKve5LplXGGJk91vVz4PaTI7dbMdIuln4fkTAtXdy5mlw6dh mVhrs6UhP6nVvn/09cywY3u0z7DmqukOV9tz5qCopa1kv7TGC0jQml5huqvbEuGUcgDS+x rc8Wn9VI7JmC4ucl6gaGy9z6fqj1xLyfnrZLsLT7vNjj5V40+vMz4oTvSS1jlC8BWTRzaG cc5QFgBexm/tAul7bSx8ksoPQu2u0pJpYr2xglL+XLcHQMpfN5/SuqYFp3DWfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK511cgzgfS; Thu, 26 Jan 2023 19:25:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPjCK077845; Thu, 26 Jan 2023 19:25:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPjl9077844; Thu, 26 Jan 2023 19:25:45 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:45 GMT Message-Id: <202301261925.30QJPjl9077844@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a1ef42f1cffd - stable/13 - bhyve: Fix pci device node key in bhyve_config.5 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a1ef42f1cffd82ca5127fc7e5a920b3872d85bac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a1ef42f1cffd82ca5127fc7e5a920b3872d85bac commit a1ef42f1cffd82ca5127fc7e5a920b3872d85bac Author: Ka Ho Ng AuthorDate: 2021-09-12 20:31:19 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:12:44 +0000 bhyve: Fix pci device node key in bhyve_config.5 PCI device node key in the manual page is wrong. It should be pci.bus.slot.function. MFC after: 3 days (cherry picked from commit e31cc1d526dcdfcbe5666deb8b11decc5126a871) --- usr.sbin/bhyve/bhyve_config.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index 666c7c907e36..df87846c7a98 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -234,7 +234,7 @@ Device settings are stored under a device node. The device node's name is set by the parent bus of the device. .Ss PCI Device Settings PCI devices are described by a device node named -.Dq pci Ns Ar bus . Ns Ar slot . Ns Ar function +.Dq pci . Ns Ar bus . Ns Ar slot . Ns Ar function where each of .Ar bus , .Ar slot , From nobody Thu Jan 26 19:25:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK651N2z3bTVr; Thu, 26 Jan 2023 19:25: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 4P2rK633xsz4HfM; Thu, 26 Jan 2023 19:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iaGIl2MW9rWL9xIjfVEFzPGLWgxrJBz9ZtptjC69F50=; b=ZsFInE0vSNMqergkDCHasz0T6/zAdxnHKHBd8wek/c/oM1AKGG/xEqfc4DAb+x9j41s8yk GQAMASap4cqGMtvtsfVUwvyRcez5i5omGCwz/x4s0DjvYAMmc2Z9Ig7WRzd18xsoUb1tZR vpbntrCl0MTcL8AxOvMoomZ3okKwQr4IFFCS9OZUYUfh89NE4De18IE9mksIE2WFhujQe/ iAySQPH7vFTEiHO7lriRQlVHjqmx+R9uy1cuhgBmE/6O1MBAVu2CG9I0b2WspZLsnTJKIS gbxlpo12ExU1fUj8bv4GBk+W3fFWp8wPeG205ObtrcinaAVZ3lky96DBd1B9rQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iaGIl2MW9rWL9xIjfVEFzPGLWgxrJBz9ZtptjC69F50=; b=Qsv9aC7g2EeMnF3Zionpx/8KY/hR4B4kxY8cwTQHkm/sWUYoa982DepYXyDSR7mhT0GqbD i6J9pxePu2nBWr9Tjql+cvyt73FtlQxbT/EqPBXqXTnE/OjVLkP4RgJMCJGonjBDsSBmsf j/Uyl/T81QSL1tyJj8yxeRLLsBeM5UkmgnC56N20u72w5r0LwjFw/KQNNQOzsOI6vBnUME w/E6fN7SrGUtjz+5E8mOO36M9icL/YSC+qCbFy5P6fTW3dtwfn8au96y6r1cHtaEfFmzvX LSV2RYd8Uzqv8P5rVZpRPXNM8EQq71lP0dU1EwyjN+mxJr2iA7bpxLXt7C+vEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761146; a=rsa-sha256; cv=none; b=KWfYKOojfMyXUd3ygoeSO4ekq8sgzmkGmUkrcvj8Zm3SuMWL+CS4qOKReGUSKdjnfKnTES 0FqTEh+jXeoel+ri4K5usayoJ6Jq7xH4kpGSi0empjhBR1nMIeQ9++uoqvJnEEvfecJSfo Gbtm2QC/wya8GvVVqUUiY/MomoIyl+ofIfZ73ZOpVInpZ1MZjcC8gC4B+GOuyL1skG1CPn OEt5B5YGcwiFHSGniufsGx+EoCG75GBkFRdTXZB1+FJR3cwFqBE7YKe73xN9LCZTwveWoS VnPdTiO8RyRFL3S0CT7+M9lPD7qC3k6b3xhLvDyjJu8yPaQsUTGcfP4PnUApvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK629xdzglM; Thu, 26 Jan 2023 19:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPk1d077874; Thu, 26 Jan 2023 19:25:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPkKw077873; Thu, 26 Jan 2023 19:25:46 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:46 GMT Message-Id: <202301261925.30QJPkKw077873@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a6346d2f3e0d - stable/13 - bhyve.8: Fix markup of the -G flag List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6346d2f3e0d976d5fd244e49a1d59e817bab4ee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a6346d2f3e0d976d5fd244e49a1d59e817bab4ee commit a6346d2f3e0d976d5fd244e49a1d59e817bab4ee Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2021-10-12 14:06:52 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:12:53 +0000 bhyve.8: Fix markup of the -G flag (cherry picked from commit 775f6f459595c5373ab389a43bdf1a8467233f1a) --- usr.sbin/bhyve/bhyve.8 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index c82bbce74c8c..152557087862 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -45,10 +45,11 @@ .Op Cm ,threads= Ar n .Oc .Sm on -.Oo Fl G +.Oo .Sm off +.Fl G\~ .Oo Ar w Oc -.Oo Ar bind_address: Oc +.Oo Ar bind_address Cm \&: Oc .Ar port .Sm on .Oc @@ -59,8 +60,8 @@ .Ar lpcdev Op Cm \&, Ar conf .Sm on .Oc -.Oo Fl m .Sm off +.Oo Fl m\~ .Ar memsize .Oo .Cm K | Cm k | Cm M | Cm m | Cm G | Cm g | Cm T | Cm t @@ -147,7 +148,7 @@ This is intended for debug purposes. .It Fl G Xo .Sm off .Oo Ar w Oc -.Oo Ar bind_address: Oc +.Oo Ar bind_address Cm \&: Oc .Ar port .Sm on .Xc From nobody Thu Jan 26 19:25:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK74fpwz3bTkC; Thu, 26 Jan 2023 19:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rK743b5z4Hvx; Thu, 26 Jan 2023 19:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+4vzWAj6XQvckxQzSi+mNEBoodhVIAp4VVhhDTbOH8I=; b=bGTg2bKds1dNZKdd9I6tY+zDYwPcY/Bswlmw+V4HHgfxBYGGMBPZ00XHK99v10nKeMJLm9 /DDobdRbnytpiKodl+dpom+CkGaGdH6rB3cgVOTjvvkd9ZO5kJDCeQVYnkfbUu8UyoH9re PWtk+MyePIrSMhVBYSgUl4EnC5ufvrhGa76/1gtSN697A5mSbPh0IkXHG5ByWZ0+AakA5D /mLBSCuTJbgMQMaN7pjjlgD3LCknmXyP7GmWXejnVwaKMDmPjg2SJ2Avb3Rd38O3wnPrCu yUSrzehWdONYiCrXUC04QZfQMet8SvnsgWFP7qOgqmECnruYwWeHyQTKlYE7wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+4vzWAj6XQvckxQzSi+mNEBoodhVIAp4VVhhDTbOH8I=; b=R1MQkySM/tExvpZi8KpMVqegK6Mz6jwugZfZTka+IkZnyc87G4AbKwA3v8MU1MV0eI5E5m lr5VlYTQMfNqUpT4Kf+03FYPwov/vkkVUFJF0EIoFxVdcBxKnXvNfgmE0WAuHz8x5P0Zwy lpufKmDXpFNdpZe0ZKSqWfUUzMuhUkVbfTZiemEcv+rNSneRm19npVYNw77e4SVXyN1pcg uF9Q+/0v/YrCKhkhdKqf0KqO7RQbguMaYs+fhy9kkSXLNUhgVFhbfpfWC7ER4wSVQ1nw27 a+ccRsHaKmMDJ3Czoaj5rLM1kTEVYi5WI1qdYqgYe4B5FUGkyvrpsM27IXlvlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761147; a=rsa-sha256; cv=none; b=go4VD837UY4TDZ6v27NyzteR3YtHfwSJpYcFjiqrFW4CEAuCysclctWjJlGK0pSlFcXKjJ 3c3q+tMsmRHsp6zeYuifQm2qbaQ8kr8xjgHf6oRIDPI/kv693v9Q52gBvI7CIQG1D40wGa Bzab32+0E8pBEzNcNjHogmW/fii9qBfPoPndLgIbAjylbuI4G+7WmE+ibyefTGdPLLhTWg j5eAq8gP1Fa9cfm5oPunw1Zm+lUHdaFbpDKSK0r8k8ZlKc8fLEpUeFhnbWcMYyn82551FT RpMfnp7VKaUXYRqS8wggVGUSLjgFUV/hWgCDAUmzlLwo/YlJnmG0sbBIcrWsIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK73253zh8J; Thu, 26 Jan 2023 19:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPl6q077901; Thu, 26 Jan 2023 19:25:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPldL077900; Thu, 26 Jan 2023 19:25:47 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:47 GMT Message-Id: <202301261925.30QJPldL077900@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1cc76bb620af - stable/13 - bhyve: clean up trailing whitespaces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1cc76bb620af9aeb2cdbd9b1e6c9561dd1452057 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1cc76bb620af9aeb2cdbd9b1e6c9561dd1452057 commit 1cc76bb620af9aeb2cdbd9b1e6c9561dd1452057 Author: Toomas Soome AuthorDate: 2021-12-26 07:52:38 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:18:04 +0000 bhyve: clean up trailing whitespaces Clean up trailing whitespaces. No functional changes. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33681 (cherry picked from commit c2fa905cf6c1cf1938a0353679e3bd0b617ca179) --- usr.sbin/bhyve/acpi.c | 4 ++-- usr.sbin/bhyve/audio.h | 2 +- usr.sbin/bhyve/bhyverun.c | 4 ++-- usr.sbin/bhyve/block_if.c | 2 +- usr.sbin/bhyve/config.c | 2 +- usr.sbin/bhyve/config.h | 2 +- usr.sbin/bhyve/fwctl.c | 2 +- usr.sbin/bhyve/hda_reg.h | 26 +++++++++++----------- usr.sbin/bhyve/inout.c | 4 ++-- usr.sbin/bhyve/inout.h | 2 +- usr.sbin/bhyve/mem.c | 14 ++++++------ usr.sbin/bhyve/mevent.c | 8 +++---- usr.sbin/bhyve/mevent.h | 2 +- usr.sbin/bhyve/mevent_test.c | 2 +- usr.sbin/bhyve/mptbl.c | 6 ++--- usr.sbin/bhyve/net_backends.c | 2 +- usr.sbin/bhyve/pci_ahci.c | 4 ++-- usr.sbin/bhyve/pci_e82545.c | 44 ++++++++++++++++++------------------- usr.sbin/bhyve/pci_emul.c | 6 ++--- usr.sbin/bhyve/pci_emul.h | 10 ++++----- usr.sbin/bhyve/pci_fbuf.c | 2 +- usr.sbin/bhyve/pci_hda.h | 2 +- usr.sbin/bhyve/pci_lpc.c | 2 +- usr.sbin/bhyve/pci_nvme.c | 10 ++++----- usr.sbin/bhyve/pci_passthru.c | 18 +++++++-------- usr.sbin/bhyve/pci_virtio_9p.c | 4 ++-- usr.sbin/bhyve/pci_virtio_console.c | 4 ++-- usr.sbin/bhyve/pci_virtio_net.c | 14 ++++++------ usr.sbin/bhyve/pci_virtio_scsi.c | 2 +- usr.sbin/bhyve/pci_xhci.c | 18 +++++++-------- usr.sbin/bhyve/ps2mouse.h | 2 +- usr.sbin/bhyve/rtc.c | 2 +- usr.sbin/bhyve/uart_emul.c | 10 ++++----- usr.sbin/bhyve/usb_mouse.c | 6 ++--- 34 files changed, 122 insertions(+), 122 deletions(-) diff --git a/usr.sbin/bhyve/acpi.c b/usr.sbin/bhyve/acpi.c index 6cfd4462526a..bdb0e97076ad 100644 --- a/usr.sbin/bhyve/acpi.c +++ b/usr.sbin/bhyve/acpi.c @@ -342,7 +342,7 @@ basl_compile(struct vmctx *ctx, int (*fwrite_section)(FILE *)) fmt = basl_verbose_iasl ? "%s -p %s %s" : "/bin/sh -c \"%s -p %s %s\" 1> /dev/null"; - + snprintf(iaslbuf, sizeof(iaslbuf), fmt, BHYVE_ASL_COMPILER, @@ -373,7 +373,7 @@ basl_make_templates(void) err = 0; /* - * + * */ if ((tmpdir = getenv("BHYVE_TMPDIR")) == NULL || *tmpdir == '\0' || (tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0') { diff --git a/usr.sbin/bhyve/audio.h b/usr.sbin/bhyve/audio.h index f433fe29af72..143030b29ae7 100644 --- a/usr.sbin/bhyve/audio.h +++ b/usr.sbin/bhyve/audio.h @@ -28,7 +28,7 @@ * $FreeBSD$ */ -#ifndef _AUDIO_EMUL_H_ +#ifndef _AUDIO_EMUL_H_ #define _AUDIO_EMUL_H_ #include diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 2aa96039f2fc..4c2c07b934a7 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1143,7 +1143,7 @@ do_open(const char *vmname) if (vm_limit_rights(ctx) != 0) err(EX_OSERR, "vm_limit_rights"); #endif - + if (reinit) { error = vm_reinit(ctx); if (error) { @@ -1384,7 +1384,7 @@ main(int argc, char *argv[]) set_config_bool("x86.mptable", false); break; case 'h': - usage(0); + usage(0); default: usage(1); } diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index 7cfaf4c7a40e..8ed95300a13c 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -120,7 +120,7 @@ struct blockif_ctxt { struct mevent *bc_resize_event; /* Request elements and free/pending/busy queues */ - TAILQ_HEAD(, blockif_elem) bc_freeq; + TAILQ_HEAD(, blockif_elem) bc_freeq; TAILQ_HEAD(, blockif_elem) bc_pendq; TAILQ_HEAD(, blockif_elem) bc_busyq; struct blockif_elem bc_reqs[BLOCKIF_MAXREQ]; diff --git a/usr.sbin/bhyve/config.c b/usr.sbin/bhyve/config.c index e302f919adab..6339ddb9f2ee 100644 --- a/usr.sbin/bhyve/config.c +++ b/usr.sbin/bhyve/config.c @@ -256,7 +256,7 @@ _expand_config_value(const char *value, int depth) fputc('%', valfp); vp++; break; - } + } if (vp[1] != '(' || vp[2] == '\0') cp = NULL; else diff --git a/usr.sbin/bhyve/config.h b/usr.sbin/bhyve/config.h index 1762b29c2f6d..a7e4b6d03a5c 100644 --- a/usr.sbin/bhyve/config.h +++ b/usr.sbin/bhyve/config.h @@ -45,7 +45,7 @@ * Configuration variables are stored in a tree. The full path of a * variable is specified as a dot-separated name similar to sysctl(8) * OIDs. - */ + */ /* * Fetches the value of a configuration variable. If the "raw" value diff --git a/usr.sbin/bhyve/fwctl.c b/usr.sbin/bhyve/fwctl.c index b39d408df369..7027e34a77f0 100644 --- a/usr.sbin/bhyve/fwctl.c +++ b/usr.sbin/bhyve/fwctl.c @@ -98,7 +98,7 @@ fwctl_send_rest(uint32_t *data, size_t len) int i; cdata = (uint8_t *) data; - u.w = 0; + u.w = 0; for (i = 0, u.w = 0; i < len; i++) u.c[i] = *cdata++; diff --git a/usr.sbin/bhyve/hda_reg.h b/usr.sbin/bhyve/hda_reg.h index b3034bf9f417..c309056c6f5d 100644 --- a/usr.sbin/bhyve/hda_reg.h +++ b/usr.sbin/bhyve/hda_reg.h @@ -668,7 +668,7 @@ /* Channel Count Control */ #define HDA_CMD_VERB_GET_CONV_CHAN_COUNT 0xf2d -#define HDA_CMD_VERB_SET_CONV_CHAN_COUNT 0x72d +#define HDA_CMD_VERB_SET_CONV_CHAN_COUNT 0x72d #define HDA_CMD_GET_CONV_CHAN_COUNT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ @@ -677,20 +677,20 @@ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_CONV_CHAN_COUNT, (payload))) -#define HDA_CMD_VERB_GET_HDMI_DIP_SIZE 0xf2e +#define HDA_CMD_VERB_GET_HDMI_DIP_SIZE 0xf2e #define HDA_CMD_GET_HDMI_DIP_SIZE(cad, nid, arg) \ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_GET_HDMI_DIP_SIZE, (arg))) -#define HDA_CMD_VERB_GET_HDMI_ELDD 0xf2f +#define HDA_CMD_VERB_GET_HDMI_ELDD 0xf2f #define HDA_CMD_GET_HDMI_ELDD(cad, nid, off) \ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_GET_HDMI_ELDD, (off))) -#define HDA_CMD_VERB_GET_HDMI_DIP_INDEX 0xf30 -#define HDA_CMD_VERB_SET_HDMI_DIP_INDEX 0x730 +#define HDA_CMD_VERB_GET_HDMI_DIP_INDEX 0xf30 +#define HDA_CMD_VERB_SET_HDMI_DIP_INDEX 0x730 #define HDA_CMD_GET_HDMI_DIP_INDEX(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ @@ -699,8 +699,8 @@ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_HDMI_DIP_INDEX, (payload))) -#define HDA_CMD_VERB_GET_HDMI_DIP_DATA 0xf31 -#define HDA_CMD_VERB_SET_HDMI_DIP_DATA 0x731 +#define HDA_CMD_VERB_GET_HDMI_DIP_DATA 0xf31 +#define HDA_CMD_VERB_SET_HDMI_DIP_DATA 0x731 #define HDA_CMD_GET_HDMI_DIP_DATA(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ @@ -709,8 +709,8 @@ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_HDMI_DIP_DATA, (payload))) -#define HDA_CMD_VERB_GET_HDMI_DIP_XMIT 0xf32 -#define HDA_CMD_VERB_SET_HDMI_DIP_XMIT 0x732 +#define HDA_CMD_VERB_GET_HDMI_DIP_XMIT 0xf32 +#define HDA_CMD_VERB_SET_HDMI_DIP_XMIT 0x732 #define HDA_CMD_GET_HDMI_DIP_XMIT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ @@ -719,11 +719,11 @@ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_HDMI_DIP_XMIT, (payload))) -#define HDA_CMD_VERB_GET_HDMI_CP_CTRL 0xf33 -#define HDA_CMD_VERB_SET_HDMI_CP_CTRL 0x733 +#define HDA_CMD_VERB_GET_HDMI_CP_CTRL 0xf33 +#define HDA_CMD_VERB_SET_HDMI_CP_CTRL 0x733 -#define HDA_CMD_VERB_GET_HDMI_CHAN_SLOT 0xf34 -#define HDA_CMD_VERB_SET_HDMI_CHAN_SLOT 0x734 +#define HDA_CMD_VERB_GET_HDMI_CHAN_SLOT 0xf34 +#define HDA_CMD_VERB_SET_HDMI_CHAN_SLOT 0x734 #define HDA_CMD_GET_HDMI_CHAN_SLOT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ diff --git a/usr.sbin/bhyve/inout.c b/usr.sbin/bhyve/inout.c index 1fba90945afb..b65d273f4320 100644 --- a/usr.sbin/bhyve/inout.c +++ b/usr.sbin/bhyve/inout.c @@ -86,11 +86,11 @@ default_inout(struct vmctx *ctx, int vcpu, int in, int port, int bytes, return (0); } -static void +static void register_default_iohandler(int start, int size) { struct inout_port iop; - + VERIFY_IOPORT(start, size); bzero(&iop, sizeof(iop)); diff --git a/usr.sbin/bhyve/inout.h b/usr.sbin/bhyve/inout.h index afbae34c2dd0..19b2975b94e5 100644 --- a/usr.sbin/bhyve/inout.h +++ b/usr.sbin/bhyve/inout.h @@ -70,7 +70,7 @@ struct inout_port { 0 \ }; \ DATA_SET(inout_port_set, __CONCAT(__inout_port, __LINE__)) - + void init_inout(void); int emulate_inout(struct vmctx *, int vcpu, struct vm_exit *vmexit); int register_inout(struct inout_port *iop); diff --git a/usr.sbin/bhyve/mem.c b/usr.sbin/bhyve/mem.c index 0ea9c56192c6..10cc7bbaa7fc 100644 --- a/usr.sbin/bhyve/mem.c +++ b/usr.sbin/bhyve/mem.c @@ -97,7 +97,7 @@ mmio_rb_lookup(struct mmio_rb_tree *rbt, uint64_t addr, *entry = res; return (0); } - + return (ENOENT); } @@ -173,7 +173,7 @@ access_memory(struct vmctx *ctx, int vcpu, uint64_t paddr, mem_cb_t *cb, { struct mmio_rb_range *entry; int err, perror, immutable; - + pthread_rwlock_rdlock(&mmio_rwlock); /* * First check the per-vCPU cache @@ -188,7 +188,7 @@ access_memory(struct vmctx *ctx, int vcpu, uint64_t paddr, mem_cb_t *cb, if (entry == NULL) { if (mmio_rb_lookup(&mmio_rb_root, paddr, &entry) == 0) { /* Update the per-vCPU cache */ - mmio_hint[vcpu] = entry; + mmio_hint[vcpu] = entry; } else if (mmio_rb_lookup(&mmio_rb_fallback, paddr, &entry)) { perror = pthread_rwlock_unlock(&mmio_rwlock); assert(perror == 0); @@ -336,19 +336,19 @@ register_mem_fallback(struct mem_range *memp) return (register_mem_int(&mmio_rb_fallback, memp)); } -int +int unregister_mem(struct mem_range *memp) { struct mem_range *mr; struct mmio_rb_range *entry = NULL; int err, perror, i; - + pthread_rwlock_wrlock(&mmio_rwlock); err = mmio_rb_lookup(&mmio_rb_root, memp->base, &entry); if (err == 0) { mr = &entry->mr_param; assert(mr->name == memp->name); - assert(mr->base == memp->base && mr->size == memp->size); + assert(mr->base == memp->base && mr->size == memp->size); assert((mr->flags & MEM_F_IMMUTABLE) == 0); RB_REMOVE(mmio_rb_tree, &mmio_rb_root, entry); @@ -363,7 +363,7 @@ unregister_mem(struct mem_range *memp) if (entry) free(entry); - + return (err); } diff --git a/usr.sbin/bhyve/mevent.c b/usr.sbin/bhyve/mevent.c index 5170251e008b..b7749ed67745 100644 --- a/usr.sbin/bhyve/mevent.c +++ b/usr.sbin/bhyve/mevent.c @@ -29,7 +29,7 @@ */ /* - * Micro event library for FreeBSD, designed for a single i/o thread + * Micro event library for FreeBSD, designed for a single i/o thread * using kqueue, and having events be persistent by default. */ @@ -117,7 +117,7 @@ static void mevent_notify(void) { char c = '\0'; - + /* * If calling from outside the i/o thread, write a byte on the * pipe to force the i/o thread to exit the blocking kevent call. @@ -546,10 +546,10 @@ mevent_dispatch(void) if (ret == -1 && errno != EINTR) { perror("Error return from kevent monitor"); } - + /* * Handle reported events */ mevent_handle(eventlist, ret); - } + } } diff --git a/usr.sbin/bhyve/mevent.h b/usr.sbin/bhyve/mevent.h index a26293867a09..8c3db9db54a0 100644 --- a/usr.sbin/bhyve/mevent.h +++ b/usr.sbin/bhyve/mevent.h @@ -44,7 +44,7 @@ enum ev_type { struct mevent; -struct mevent *mevent_add(int fd, enum ev_type type, +struct mevent *mevent_add(int fd, enum ev_type type, void (*func)(int, enum ev_type, void *), void *param); struct mevent *mevent_add_flags(int fd, enum ev_type type, int fflags, diff --git a/usr.sbin/bhyve/mevent_test.c b/usr.sbin/bhyve/mevent_test.c index 3a7aac98a65c..eda1c100e8a3 100644 --- a/usr.sbin/bhyve/mevent_test.c +++ b/usr.sbin/bhyve/mevent_test.c @@ -111,7 +111,7 @@ timer_callback(int fd, enum ev_type type, void *param) #ifdef MEVENT_ECHO struct esync { pthread_mutex_t e_mt; - pthread_cond_t e_cond; + pthread_cond_t e_cond; }; static void diff --git a/usr.sbin/bhyve/mptbl.c b/usr.sbin/bhyve/mptbl.c index e57c6daf9dd0..56582256a857 100644 --- a/usr.sbin/bhyve/mptbl.c +++ b/usr.sbin/bhyve/mptbl.c @@ -180,7 +180,7 @@ mpt_build_bus_entries(bus_entry_ptr mpeb) memset(mpeb, 0, sizeof(*mpeb)); mpeb->type = MPCT_ENTRY_BUS; - mpeb->bus_id = 1; + mpeb->bus_id = 1; memcpy(mpeb->bus_type, MPE_BUSNAME_ISA, MPE_BUSNAME_LEN); } @@ -243,7 +243,7 @@ mpt_build_ioint_entries(int_entry_ptr mpie, int id) /* * The following config is taken from kernel mptable.c - * mptable_parse_default_config_ints(...), for now + * mptable_parse_default_config_ints(...), for now * just use the default config, tweek later if needed. */ @@ -287,7 +287,7 @@ mpt_build_ioint_entries(int_entry_ptr mpie, int id) /* Next, generate entries for any PCI INTx interrupts. */ for (bus = 0; bus <= PCI_BUSMAX; bus++) - pci_walk_lintr(bus, mpt_generate_pci_int, &mpie); + pci_walk_lintr(bus, mpt_generate_pci_int, &mpie); } void diff --git a/usr.sbin/bhyve/net_backends.c b/usr.sbin/bhyve/net_backends.c index cc2a06592429..8440b801ce6a 100644 --- a/usr.sbin/bhyve/net_backends.c +++ b/usr.sbin/bhyve/net_backends.c @@ -527,7 +527,7 @@ ng_init(struct net_backend *be, const char *devname, /* * The default ng_socket(4) buffer's size is too low. * Calculate the minimum value between NG_SBUF_MAX_SIZE - * and kern.ipc.maxsockbuf. + * and kern.ipc.maxsockbuf. */ msbsz = sizeof(maxsbsz); if (sysctlbyname("kern.ipc.maxsockbuf", &maxsbsz, &msbsz, diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index 5a2a06029fc9..f63ebd842757 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -1935,7 +1935,7 @@ ata_ioreq_cb(struct blockif_req *br, int err) if (!err && aior->more) { if (dsm) ahci_handle_dsm_trim(p, slot, cfis, aior->done); - else + else ahci_handle_rw(p, slot, cfis, aior->done); goto out; } @@ -2468,7 +2468,7 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->ports = p; ret = 1; goto open_fail; - } + } sc->port[p].bctx = bctxt; sc->port[p].pr_sc = sc; sc->port[p].port = p; diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 9a7fb13ae3c2..a38edef72e20 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -264,7 +264,7 @@ struct e82545_softc { uint32_t esc_FCTTV; /* x0170 flow ctl tx timer */ uint32_t esc_LEDCTL; /* x0E00 LED control */ uint32_t esc_PBA; /* x1000 pkt buffer allocation */ - + /* Interrupt control */ int esc_irq_asserted; uint32_t esc_ICR; /* x00C0 cause read/clear */ @@ -294,12 +294,12 @@ struct e82545_softc { uint32_t esc_TIDV; /* x3820 intr delay */ uint32_t esc_TXDCTL; /* x3828 desc control */ uint32_t esc_TADV; /* x382C intr absolute delay */ - + /* L2 frame acceptance */ struct eth_uni esc_uni[16]; /* 16 x unicast MAC addresses */ uint32_t esc_fmcast[128]; /* Multicast filter bit-match */ uint32_t esc_fvlan[128]; /* VLAN 4096-bit filter */ - + /* Receive */ struct e1000_rx_desc *esc_rxdesc; pthread_cond_t esc_rx_cond; @@ -320,7 +320,7 @@ struct e82545_softc { uint32_t esc_RADV; /* x282C intr absolute delay */ uint32_t esc_RSRPD; /* x2C00 recv small packet detect */ uint32_t esc_RXCSUM; /* x5000 receive cksum ctl */ - + /* IO Port register access */ uint32_t io_addr; @@ -578,7 +578,7 @@ e82545_icr_assert(struct e82545_softc *sc, uint32_t bits) uint32_t new; DPRINTF("icr assert: 0x%x", bits); - + /* * An interrupt is only generated if bits are set that * aren't already in the ICR, these bits are unmasked, @@ -654,7 +654,7 @@ e82545_intr_write(struct e82545_softc *sc, uint32_t offset, uint32_t value) { DPRINTF("intr_write: off %x, val %x", offset, value); - + switch (offset) { case E1000_ICR: e82545_icr_deassert(sc, value); @@ -688,7 +688,7 @@ e82545_intr_read(struct e82545_softc *sc, uint32_t offset) retval = 0; DPRINTF("intr_read: off %x", offset); - + switch (offset) { case E1000_ICR: retval = sc->esc_ICR; @@ -734,10 +734,10 @@ e82545_rx_update_rdba(struct e82545_softc *sc) /* XXX verify desc base/len within phys mem range */ sc->esc_rdba = (uint64_t)sc->esc_RDBAH << 32 | sc->esc_RDBAL; - + /* Cache host mapping of guest descriptor array */ sc->esc_rxdesc = paddr_guest2host(sc->esc_ctx, - sc->esc_rdba, sc->esc_RDLEN); + sc->esc_rdba, sc->esc_RDLEN); } static void @@ -792,7 +792,7 @@ static void e82545_tx_ctl(struct e82545_softc *sc, uint32_t val) { int on; - + on = ((val & E1000_TCTL_EN) == E1000_TCTL_EN); /* ignore TCTL_EN settings that don't change state */ @@ -1028,7 +1028,7 @@ e82545_txdesc_type(uint32_t lower) int type; type = 0; - + if (lower & E1000_TXD_CMD_DEXT) type = lower & E1000_TXD_MASK; @@ -1615,14 +1615,14 @@ e82545_read_ra(struct e82545_softc *sc, int reg) eu->eu_eth.octet[0]; } - return (retval); + return (retval); } static void e82545_write_register(struct e82545_softc *sc, uint32_t offset, uint32_t value) { int ridx; - + if (offset & 0x3) { DPRINTF("Unaligned register write offset:0x%x value:0x%x", offset, value); return; @@ -1773,7 +1773,7 @@ e82545_write_register(struct e82545_softc *sc, uint32_t offset, uint32_t value) break; case E1000_VFTA ... (E1000_VFTA + (127*4)): sc->esc_fvlan[(offset - E1000_VFTA) >> 2] = value; - break; + break; case E1000_EECD: { //DPRINTF("EECD write 0x%x -> 0x%x", sc->eeprom_control, value); @@ -1828,7 +1828,7 @@ e82545_write_register(struct e82545_softc *sc, uint32_t offset, uint32_t value) return; } case E1000_MANC: - case E1000_STATUS: + case E1000_STATUS: return; default: DPRINTF("Unknown write register: 0x%x value:%x", offset, value); @@ -1921,7 +1921,7 @@ e82545_read_register(struct e82545_softc *sc, uint32_t offset) case E1000_RSRPD: retval = sc->esc_RSRPD; break; - case E1000_RXCSUM: + case E1000_RXCSUM: retval = sc->esc_RXCSUM; break; case E1000_TXCW: @@ -1970,7 +1970,7 @@ e82545_read_register(struct e82545_softc *sc, uint32_t offset) break; case E1000_VFTA ... (E1000_VFTA + (127*4)): retval = sc->esc_fvlan[(offset - E1000_VFTA) >> 2]; - break; + break; case E1000_EECD: //DPRINTF("EECD read %x", sc->eeprom_control); retval = sc->eeprom_control; @@ -2166,7 +2166,7 @@ e82545_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, { struct e82545_softc *sc; uint64_t retval; - + //DPRINTF("Read bar:%d offset:0x%lx size:%d", baridx, offset, size); sc = pi->pi_arg; retval = 0; @@ -2238,7 +2238,7 @@ e82545_reset(struct e82545_softc *sc, int drvr) } sc->esc_LEDCTL = 0x07061302; sc->esc_PBA = 0x00100030; - + /* start nvm in opcode mode. */ sc->nvm_opaddr = 0; sc->nvm_mode = E82545_NVM_MODE_OPADDR; @@ -2252,7 +2252,7 @@ e82545_reset(struct e82545_softc *sc, int drvr) sc->esc_ICS = 0; sc->esc_IMS = 0; sc->esc_IMC = 0; - + /* L2 filters */ if (!drvr) { memset(sc->esc_fvlan, 0, sizeof(sc->esc_fvlan)); @@ -2268,7 +2268,7 @@ e82545_reset(struct e82545_softc *sc, int drvr) for (i = 0; i < 16; i++) sc->esc_uni[i].eu_valid = 0; } - + /* receive */ if (!drvr) { sc->esc_RDBAL = 0; @@ -2336,7 +2336,7 @@ e82545_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) pci_set_cfgdata8(pi, PCIR_HDRTYPE, PCIM_HDRTYPE_NORMAL); pci_set_cfgdata8(pi, PCIR_INTPIN, 0x1); - + /* TODO: this card also supports msi, but the freebsd driver for it * does not, so I have not implemented it. */ pci_lintr_request(pi); diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index bf7563871fe6..3d3fc80c6293 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -2549,7 +2549,7 @@ pci_emul_diow(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, } else { printf("diow: memw unknown size %d\n", size); } - + /* * magic interrupt ?? */ @@ -2574,7 +2574,7 @@ pci_emul_dior(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, offset, size); return (0); } - + value = 0; if (size == 1) { value = sc->ioregs[offset]; @@ -2593,7 +2593,7 @@ pci_emul_dior(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, offset, size); return (0); } - + i = baridx - 1; /* 'memregs' index */ if (size == 1) { diff --git a/usr.sbin/bhyve/pci_emul.h b/usr.sbin/bhyve/pci_emul.h index 28f4fc422bee..3d7b420e2bdf 100644 --- a/usr.sbin/bhyve/pci_emul.h +++ b/usr.sbin/bhyve/pci_emul.h @@ -113,7 +113,7 @@ struct msix_table_entry { uint32_t vector_control; } __packed; -/* +/* * In case the structure is modified to hold extra information, use a define * for the size that should be emulated. */ @@ -159,7 +159,7 @@ struct pci_devinst { int table_count; uint32_t pba_offset; int pba_size; - int function_mask; + int function_mask; struct msix_table_entry *table; /* allocated at runtime */ uint8_t *mapped_addr; size_t mapped_size; @@ -270,21 +270,21 @@ int pci_pause(struct vmctx *ctx, const char *dev_name); int pci_resume(struct vmctx *ctx, const char *dev_name); #endif -static __inline void +static __inline void pci_set_cfgdata8(struct pci_devinst *pi, int offset, uint8_t val) { assert(offset <= PCI_REGMAX); *(uint8_t *)(pi->pi_cfgdata + offset) = val; } -static __inline void +static __inline void pci_set_cfgdata16(struct pci_devinst *pi, int offset, uint16_t val) { assert(offset <= (PCI_REGMAX - 1) && (offset & 1) == 0); *(uint16_t *)(pi->pi_cfgdata + offset) = val; } -static __inline void +static __inline void pci_set_cfgdata32(struct pci_devinst *pi, int offset, uint32_t val) { assert(offset <= (PCI_REGMAX - 3) && (offset & 3) == 0); diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index 16f69a097dc4..e772f29770e6 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -377,7 +377,7 @@ pci_fbuf_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) { int error; struct pci_fbuf_softc *sc; - + if (fbuf_sc != NULL) { EPRINTLN("Only one frame buffer device is allowed."); return (-1); diff --git a/usr.sbin/bhyve/pci_hda.h b/usr.sbin/bhyve/pci_hda.h index da473800bd80..e86867192193 100644 --- a/usr.sbin/bhyve/pci_hda.h +++ b/usr.sbin/bhyve/pci_hda.h @@ -28,7 +28,7 @@ * $FreeBSD$ */ -#ifndef _HDA_EMUL_H_ +#ifndef _HDA_EMUL_H_ #define _HDA_EMUL_H_ #include diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c index f430d32dbd49..35f93ded68ec 100644 --- a/usr.sbin/bhyve/pci_lpc.c +++ b/usr.sbin/bhyve/pci_lpc.c @@ -173,7 +173,7 @@ lpc_uart_intr_assert(void *arg) static void lpc_uart_intr_deassert(void *arg) { - /* + /* * The COM devices on the LPC bus generate edge triggered interrupts, * so nothing more to do here. */ diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index da19bef1b779..d57014ae4f35 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -5,7 +5,7 @@ * Copyright (c) 2018 Leon Dang * Copyright (c) 2020 Chuck Tuffli * - * Function crc16 Copyright (c) 2017, Fedor Uporov + * Function crc16 Copyright (c) 2017, Fedor Uporov * Obtained from function ext2_crc16() in sys/fs/ext2fs/ext2_csum.c * * Redistribution and use in source and binary forms, with or without @@ -846,7 +846,7 @@ pci_nvme_aer_get(struct pci_nvme_softc *sc) sc->aer_count--; } pthread_mutex_unlock(&sc->aer_mtx); - + return (aer); } @@ -1111,7 +1111,7 @@ pci_nvme_init_controller(struct vmctx *ctx, struct pci_nvme_softc *sc) DPRINTF("%s mapping Admin-SQ guest 0x%lx, host: %p", __func__, sc->regs.asq, sc->submit_queues[0].qbase); - acqs = ((sc->regs.aqa >> NVME_AQA_REG_ACQS_SHIFT) & + acqs = ((sc->regs.aqa >> NVME_AQA_REG_ACQS_SHIFT) & NVME_AQA_REG_ACQS_MASK) + 1; sc->compl_queues[0].size = acqs; sc->compl_queues[0].qbase = vm_map_gpa(ctx, sc->regs.acq, @@ -1292,7 +1292,7 @@ nvme_opc_create_io_sq(struct pci_nvme_softc* sc, struct nvme_command* command, DPRINTF("%s completed creating IOSQ qid %u", __func__, qid); } else { - /* + /* * Guest sent non-cont submission queue request. * This setting is unsupported by this emulation. */ @@ -2039,7 +2039,7 @@ pci_nvme_handle_admin_cmd(struct pci_nvme_softc* sc, uint64_t value) sqhead = sq->head; DPRINTF("sqhead %u, tail %u", sqhead, sq->tail); - + while (sqhead != atomic_load_acq_short(&sq->tail)) { cmd = &(sq->qbase)[sqhead]; compl.cdw0 = 0; diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index d68fe25570cc..5d9e6c07c245 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -99,7 +99,7 @@ static int msi_caplen(int msgctrl) { int len; - + len = 10; /* minimum length of msi capability */ if (msgctrl & PCIM_MSICTRL_64BIT) @@ -245,7 +245,7 @@ cfginitmsi(struct passthru_softc *sc) } } else if (cap == PCIY_MSIX) { /* - * Copy the MSI-X capability + * Copy the MSI-X capability */ sc->psc_msix.capoff = ptr; caplen = 12; @@ -305,7 +305,7 @@ cfginitmsi(struct passthru_softc *sc) #endif /* Make sure one of the capabilities is present */ - if (sc->psc_msi.capoff == 0 && sc->psc_msix.capoff == 0) + if (sc->psc_msi.capoff == 0 && sc->psc_msix.capoff == 0) return (-1); else return (0); @@ -899,13 +899,13 @@ msicap_access(struct passthru_softc *sc, int coff) return (0); } -static int +static int msixcap_access(struct passthru_softc *sc, int coff) { - if (sc->psc_msix.capoff == 0) + if (sc->psc_msix.capoff == 0) return (0); - return (coff >= sc->psc_msix.capoff && + return (coff >= sc->psc_msix.capoff && coff < sc->psc_msix.capoff + MSIX_CAPLEN); } @@ -992,12 +992,12 @@ passthru_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, msix_table_entries = pi->pi_msix.table_count; for (i = 0; i < msix_table_entries; i++) { error = vm_setup_pptdev_msix(ctx, vcpu, - sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, - sc->psc_sel.pc_func, i, + sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, + sc->psc_sel.pc_func, i, pi->pi_msix.table[i].addr, pi->pi_msix.table[i].msg_data, pi->pi_msix.table[i].vector_control); - + if (error) err(1, "vm_setup_pptdev_msix"); } diff --git a/usr.sbin/bhyve/pci_virtio_9p.c b/usr.sbin/bhyve/pci_virtio_9p.c index 6b110d7daf75..c741f0f94d9f 100644 --- a/usr.sbin/bhyve/pci_virtio_9p.c +++ b/usr.sbin/bhyve/pci_virtio_9p.c @@ -153,7 +153,7 @@ pci_vt9p_get_buffer(struct l9p_request *req, struct iovec *iov, size_t *niov, { struct pci_vt9p_request *preq = req->lr_aux; size_t n = preq->vsr_niov - preq->vsr_respidx; - + memcpy(iov, preq->vsr_iov + preq->vsr_respidx, n * sizeof(struct iovec)); *niov = n; @@ -304,7 +304,7 @@ pci_vt9p_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->vsc_config->tag_len = (uint16_t)strlen(sharename); memcpy(sc->vsc_config->tag, sharename, sc->vsc_config->tag_len); - + if (l9p_backend_fs_init(&sc->vsc_fs_backend, rootfd, ro) != 0) { errno = ENXIO; return (1); diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index e2af566a92e3..ad46482749d3 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -593,7 +593,7 @@ pci_vtcon_control_send(struct pci_vtcon_softc *sc, vq_relchain(vq, req.idx, sizeof(struct pci_vtcon_control) + len); vq_endchains(vq, 1); } - + static void pci_vtcon_notify_tx(void *vsc, struct vqueue_info *vq) @@ -696,7 +696,7 @@ pci_vtcon_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->vsc_config = calloc(1, sizeof(struct pci_vtcon_config)); sc->vsc_config->max_nr_ports = VTCON_MAXPORTS; sc->vsc_config->cols = 80; - sc->vsc_config->rows = 25; + sc->vsc_config->rows = 25; vi_softc_linkup(&sc->vsc_vs, &vtcon_vi_consts, sc, pi, sc->vsc_queues); sc->vsc_vs.vs_mtx = &sc->vsc_mtx; diff --git a/usr.sbin/bhyve/pci_virtio_net.c b/usr.sbin/bhyve/pci_virtio_net.c index 3714b34c5066..4122356ce70b 100644 --- a/usr.sbin/bhyve/pci_virtio_net.c +++ b/usr.sbin/bhyve/pci_virtio_net.c @@ -117,7 +117,7 @@ struct pci_vtnet_softc { int resetting; /* protected by tx_mtx */ uint64_t vsc_features; /* negotiated features */ - + pthread_mutex_t rx_mtx; int rx_merge; /* merged rx bufs in use */ @@ -628,9 +628,9 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->vsc_consts.vc_hv_caps |= VIRTIO_NET_F_MRG_RXBUF | netbe_get_cap(sc->vsc_be); - /* + /* * Since we do not actually support multiqueue, - * set the maximum virtqueue pairs to 1. + * set the maximum virtqueue pairs to 1. */ sc->vsc_config.max_virtqueue_pairs = 1; @@ -643,7 +643,7 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) /* Link is always up. */ sc->vsc_config.status = 1; - + vi_softc_linkup(&sc->vsc_vs, &sc->vsc_consts, sc, pi, sc->vsc_queues); sc->vsc_vs.vs_mtx = &sc->vsc_mtx; @@ -660,12 +660,12 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->rx_merge = 0; sc->vhdrlen = sizeof(struct virtio_net_rxhdr) - 2; - pthread_mutex_init(&sc->rx_mtx, NULL); + pthread_mutex_init(&sc->rx_mtx, NULL); - /* + /* * Initialize tx semaphore & spawn TX processing thread. * As of now, only one thread for TX desc processing is - * spawned. + * spawned. */ sc->tx_in_progress = 0; pthread_mutex_init(&sc->tx_mtx, NULL); diff --git a/usr.sbin/bhyve/pci_virtio_scsi.c b/usr.sbin/bhyve/pci_virtio_scsi.c index e00591a603e0..a1dd880c65b3 100644 --- a/usr.sbin/bhyve/pci_virtio_scsi.c +++ b/usr.sbin/bhyve/pci_virtio_scsi.c @@ -648,7 +648,7 @@ pci_vtscsi_requestq_notify(void *vsc, struct vqueue_info *vq) } static int -pci_vtscsi_init_queue(struct pci_vtscsi_softc *sc, *** 184 LINES SKIPPED *** From nobody Thu Jan 26 19:25:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK85ntrz3bTgs; Thu, 26 Jan 2023 19:25:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rK851TZz4HnV; Thu, 26 Jan 2023 19:25:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d3FxUWnT82VU95vrXh+a/OE54+76HH89Cf8uP4wwsX8=; b=yy6KRlkCZa6TC/3ViiF1SYbOrfCE5m1u0ZW0/S+KRvW9PRikez7Euht+1Aq1Pj/mV7KrFu 87NSo8CV2UmKxUnJT3Oev8uur2z3UcKZAKYE5oeJj7vUzLLVTqz9kQ0j7O1/mZrbRIR8o0 UhTxBs8NQ4Piued/3rzsTQ1MBQdFjO7tEZJqVH7O2xBOOSpyoVTpt22HKefxJeHfYd6xL1 /4gbEij+E9vUdWYqAow8IZvrFP1x54CV5DvPGjS9EsxoEIJrpz2s2k7vDLl3yp/Iz0Pgeq 4EEcWn3kwh0qzPaotHKNKy87o7lOVcLeZitXoAebqyl8vPwi6L0p66LnY9qb8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d3FxUWnT82VU95vrXh+a/OE54+76HH89Cf8uP4wwsX8=; b=Ai58ZdHdhP2KdOSnfr8jkj6t/Uc2jrfm592r4/4Zy3lRA52CV8y0uhhzXq6dpqxu4CwW3T ITBVxazaiPi1D6ZdeUWQG9RTS4FvLvSElWodlK6MaYV/O66QaypwgWum0p6fyrxvPgCPXx QyOW0sKL6+zKHNKqXJz5vbRi0PwSAamqPMv1yxQoYf+hw/uYPjl+lV0DJBFdxO2ai1XjaC 4lMTSp1dRHiiOMItFxZ8MBlgdpotxjrERRUBnAecyeonUWkc+E161LluTGqkBVwV2GEU+s AxbauPlTAllIJhKGzvrplPsWDJVBtZYWcMrbULeocti9paXGqONt7CpuKj/7jQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761148; a=rsa-sha256; cv=none; b=OD2yrQFeJfOVHRStymQZYbIAsGWP8D1O7NfYcI2bEbw/3JMsMabtuWSZX8BnXYc1jwFEpu qMfXhIEHBIaH2xdeprE37jW0503B/vg6ZtferAluTM1snj2r16ZpMlyjagK4/7xLr2g5WG 5G9GDIgzYw3qJYO46dmRHJ950TnymHDOoNyNFCXDSasy3Rjhl8hFIdy2t8Mc5T2qD95thP R4+ugW6RNmwKZ3lSqc58phZp5pCQDSCsc11180pRkZxzZBe+XGtD0MO+zk7AHiVae/0NT+ 5Sthqfb91CjZ3/7z1N/TNh4XU7wOy0VEBjIGMmwhhKvBBfpy/fdWv6/mLwqqWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK83yqJzh8K; Thu, 26 Jan 2023 19:25:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPmJ5077925; Thu, 26 Jan 2023 19:25:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPmiO077924; Thu, 26 Jan 2023 19:25:48 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:48 GMT Message-Id: <202301261925.30QJPmiO077924@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3737a0cdcb42 - stable/13 - bhyve: Fix getaddrinfo() error handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3737a0cdcb42f4495438997d4ff1655273c3016b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3737a0cdcb42f4495438997d4ff1655273c3016b commit 3737a0cdcb42f4495438997d4ff1655273c3016b Author: Mark Johnston AuthorDate: 2022-02-08 17:34:03 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:21:32 +0000 bhyve: Fix getaddrinfo() error handling - Use errx() since errno will not be set. - Print the message returned by gai_strerror(). MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit 927aa5fefd4c69e72d44189a04fadf80e42d0ad8) --- usr.sbin/bhyve/gdb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index 94167053629e..81f132e17350 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -1858,8 +1858,9 @@ init_gdb(struct vmctx *_ctx) hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_NUMERICSERV | AI_PASSIVE; - if (getaddrinfo(saddr, sport, &hints, &gdbaddr) != 0) - err(1, "gdb address resolve"); + error = getaddrinfo(saddr, sport, &hints, &gdbaddr); + if (error != 0) + errx(1, "gdb address resolution: %s", gai_strerror(error)); ctx = _ctx; s = socket(gdbaddr->ai_family, gdbaddr->ai_socktype, 0); From nobody Thu Jan 26 19:25:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rK96dNtz3bTdj; Thu, 26 Jan 2023 19:25: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 4P2rK95t3gz4J94; Thu, 26 Jan 2023 19:25:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqyhKCjzhnoW97q+BCTaZxUddObiOwSis6nBgmfQx7w=; b=Qe4Bk2Qm2Ol41BPDZJTr+A+1P9UhuEx74aQIMpvj59ViQ6eEmwQMOY8N0reTRUPr8T2mA4 ctL3zvIPAEjDixd2C+cu7/myuL9KM46Z9F/3ipwOpKj4vZSgFtQXHmqzT0w8HqlEzbooJm 8u3qBX2ftl3LL68CCsnwtQxBksLHWn1wHFm/Ieisaur1yhLnJ/6GzFLlyp7zfgmUnYiJbL OsWgMermFqtBXltex1Ss6F5NwUv/a7UomUM7CypwT2aEow98S5U3b3PuZ/J6N9/LaIvZAa FxczrfEHMQeFH4OwnMDd1y2UDVnufttszy3FksoMPEVAQwRS+DH1UHDpFc75Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqyhKCjzhnoW97q+BCTaZxUddObiOwSis6nBgmfQx7w=; b=j0FK4INwU7E7dds7HAeIBbEw8X59rHmbhAfonqwtHHsgmiP5xQsz58oYfyjYxFJShgOAla Bysclzi9ZssVRuTopoct8zr02QSahNhWTBTVmsxD+dJeDF07CYzw+CfcsVJuZAu4ZmkJBz 5+qBxFvJk9do2x/BAYzzTPXG1fHSml11PPaELt8H6lXd0F4gocx9THFduLVB8YNcGQcCf0 oRGW1KcuhmJdqoMooP3XotOJY/30JEQg0ziba/+e7bIpt6nRNM/NYIGei3csIBSYp+VuuN OKKbI/txW2nKC2z8FnVyvh1PUCRmd6OGNx89vc2K+TujKS4bOd98eEEBnyHEOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761149; a=rsa-sha256; cv=none; b=j8gVCo43jYHqs+11lVJibG6MOv1PJ96J0SgqhArcTv2cZKxHgFd37kqmZ5v/q40KXjZk8P oMOwfYw/rcbuBACEQr9psW7i5xVW2qrJdyiv4VEpUk0mNuyvCObEdd6MTxvvq52mD4dmsv ivXICfNVxBeSzxK+8QSnFVfAsB8Hpa9bA08nB08uud9IbtUQOC7dew5XogsUn/78F3vy8d AGbzxELBmVLpeuJkjId3X7dYdxeNxtMz2XhrcTqZyvmf4gMF+tZCNPFmNzVc7Ax892qJvx bxKwsWaXrB4K0rlLo7AWvYapJ94UwLl99ovEIBnek3t6B/zgIxJ8kPRSJkWeww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rK94w5lzghF; Thu, 26 Jan 2023 19:25:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPnHV077949; Thu, 26 Jan 2023 19:25:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPnsj077948; Thu, 26 Jan 2023 19:25:49 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:49 GMT Message-Id: <202301261925.30QJPnsj077948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 62bed9d49e41 - stable/13 - bhyve: plug memory leak in topology_parse() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 62bed9d49e418a48ca9bc36f5f7bc513c547c92f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=62bed9d49e418a48ca9bc36f5f7bc513c547c92f commit 62bed9d49e418a48ca9bc36f5f7bc513c547c92f Author: Andy Fiddaman AuthorDate: 2022-02-24 17:36:41 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:21:46 +0000 bhyve: plug memory leak in topology_parse() Reviewed by: jhb, rew Differential Revision: https://reviews.freebsd.org/D34301 (cherry picked from commit ad3da82996ffe8a7959fda4a84374b1907ebb116) --- usr.sbin/bhyve/bhyverun.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 4c2c07b934a7..70dd52c9b2b4 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -271,7 +271,7 @@ usage(int code) static int topology_parse(const char *opt) { - char *cp, *str; + char *cp, *str, *tofree; if (*opt == '\0') { set_config_value("sockets", "1"); @@ -281,7 +281,7 @@ topology_parse(const char *opt) return (0); } - str = strdup(opt); + tofree = str = strdup(opt); if (str == NULL) errx(4, "Failed to allocate memory"); @@ -303,11 +303,11 @@ topology_parse(const char *opt) else set_config_value("cpus", cp); } - free(str); + free(tofree); return (0); out: - free(str); + free(tofree); return (-1); } From nobody Thu Jan 26 19:25:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rKC2hqtz3bTYY; Thu, 26 Jan 2023 19:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rKB6lzSz4J7L; Thu, 26 Jan 2023 19:25:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i1BpZdiB5CmpiU6TrY1s1bfSTSM5xpt2oPvVKdHB6rQ=; b=dbQqKLqlyVApziKQogTS1oIg2tihuAX23UxvPmDJZFKX37ieWz4xflckZJi293vFIEnQj+ cmnTAgRusgdz+gUyo9nWIQCX/ulZYh8eTFSTWrSB58QfKOdNSJpaTgir+DT2big2dWxqap rHC88nyEQSbKUb3IFJuFM+MXe8oqgf99fH5p8GIQzKvPOtAhq2+CSxxYegLGEHAxsSerhu M5j7Lb4ta4lVHVlA0r2QAvMpWl2LsR443bRy76mxYB41zdDXF1ziVSSBPgC4hV3iv6ZPuu aLOSOmeuDXIEDTOZllaBzTNtSBCCbciCeSLQoeSSUpeNiG//FL1r9Wl4qXybRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i1BpZdiB5CmpiU6TrY1s1bfSTSM5xpt2oPvVKdHB6rQ=; b=lw/xDdb5fyoRgVtl3SW3un6pc5yDuLdNEOVcMnXDwdABpo4q98wTpQnf/AqUCmXtqKtF5q vq3Kwv6qty9kWeRhTdiO57ITYRv2ObaAUiR0PqKmuWeqfSHy8zz5Xcwh2uGQqefIHlcmrE hJpwhT10MdEm+y/m91RWrSW+vZoLATHJLNSJSOlE2e0Dv0Js7RZdr1sVupa9gyd0z+LolP JRZzJDZXaBHHZJGe4gk0JoyYk6K0eu0ivaUquWXMRG/SYq+5bL3Ey0ZGywcAFnYWjw6AUg e+r9KmHzKEflafkL+mpuRTq+QZQHXF+r6h9DFY3aRCVqMi9Ni1D35oZf48pWNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761151; a=rsa-sha256; cv=none; b=tpycbKyuQ9Woy5qD32PpxYpMQnLh1l+gKyFqoizoVwbWQt3LEp0Z4hGhY73UG1bjTy+Adm jH99TTbblR57LVnu8x/ulG3ct6SHv/U/Z+7vWvvXVumqpe5/EpX4U5w7XObu0I5g7SchTq ott+cV3Z/w1Kbnjq+H1tSQ9At9Tyez5jm26nRYGAbf38mY/e+Xw+tigUm/EvH32HVwfoIj nGQtNnmjK48/JxbVi4EtyVB691dFmyF5tWtO9SbFu7Pumnu/nJEnd/uMX/B4nwWgZzSvkC 7M/M5dejq6D9KXXkJ8IRKRrJgTy14qizW9f3ekuoOGBS882qT8Q+LuIe4I4gNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rKB5sL0zgbD; Thu, 26 Jan 2023 19:25:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPo9Q077973; Thu, 26 Jan 2023 19:25:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPo6Z077972; Thu, 26 Jan 2023 19:25:50 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:50 GMT Message-Id: <202301261925.30QJPo6Z077972@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b0e536909807 - stable/13 - bhyve: missing mutex initializations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b0e5369098077f08c1a1ff4bbf7d6235e74c005e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b0e5369098077f08c1a1ff4bbf7d6235e74c005e commit b0e5369098077f08c1a1ff4bbf7d6235e74c005e Author: Andy Fiddaman AuthorDate: 2022-03-16 03:50:36 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:22:48 +0000 bhyve: missing mutex initializations Explicitly initialize the mutex that a PCI virtio module passes back to virtio. It so happens that these mutexes were being initialized regardless, no functional change intended. Reviewed by: chuck, jhb Differential Revision: https://reviews.freebsd.org/D34372 (cherry picked from commit f6f357efb1067b79678d8f348333ffdfec66ad20) --- usr.sbin/bhyve/pci_nvme.c | 4 ++-- usr.sbin/bhyve/pci_virtio_console.c | 2 ++ usr.sbin/bhyve/pci_virtio_rnd.c | 2 ++ usr.sbin/bhyve/pci_virtio_scsi.c | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index d57014ae4f35..123f91158a21 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -485,7 +485,7 @@ pci_nvme_init_queues(struct pci_nvme_softc *sc, uint32_t nsq, uint32_t ncq) } else { struct nvme_submission_queue *sq = sc->submit_queues; - for (i = 0; i < sc->num_squeues; i++) + for (i = 0; i < sc->num_squeues + 1; i++) pthread_mutex_init(&sq[i].mtx, NULL); } @@ -508,7 +508,7 @@ pci_nvme_init_queues(struct pci_nvme_softc *sc, uint32_t nsq, uint32_t ncq) } else { struct nvme_completion_queue *cq = sc->compl_queues; - for (i = 0; i < sc->num_cqueues; i++) + for (i = 0; i < sc->num_cqueues + 1; i++) pthread_mutex_init(&cq[i].mtx, NULL); } } diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index ad46482749d3..d16668e6a2cb 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -698,6 +698,8 @@ pci_vtcon_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->vsc_config->cols = 80; sc->vsc_config->rows = 25; + pthread_mutex_init(&sc->vsc_mtx, NULL); + vi_softc_linkup(&sc->vsc_vs, &vtcon_vi_consts, sc, pi, sc->vsc_queues); sc->vsc_vs.vs_mtx = &sc->vsc_mtx; diff --git a/usr.sbin/bhyve/pci_virtio_rnd.c b/usr.sbin/bhyve/pci_virtio_rnd.c index ed51004416fe..db8dc143e0b2 100644 --- a/usr.sbin/bhyve/pci_virtio_rnd.c +++ b/usr.sbin/bhyve/pci_virtio_rnd.c @@ -179,6 +179,8 @@ pci_vtrnd_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc = calloc(1, sizeof(struct pci_vtrnd_softc)); + pthread_mutex_init(&sc->vrsc_mtx, NULL); + vi_softc_linkup(&sc->vrsc_vs, &vtrnd_vi_consts, sc, pi, &sc->vrsc_vq); sc->vrsc_vs.vs_mtx = &sc->vrsc_mtx; diff --git a/usr.sbin/bhyve/pci_virtio_scsi.c b/usr.sbin/bhyve/pci_virtio_scsi.c index a1dd880c65b3..b33e6e432dea 100644 --- a/usr.sbin/bhyve/pci_virtio_scsi.c +++ b/usr.sbin/bhyve/pci_virtio_scsi.c @@ -720,6 +720,8 @@ pci_vtscsi_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) return (1); } + pthread_mutex_init(&sc->vss_mtx, NULL); + vi_softc_linkup(&sc->vss_vs, &vtscsi_vi_consts, sc, pi, sc->vss_vq); sc->vss_vs.vs_mtx = &sc->vss_mtx; From nobody Thu Jan 26 19:25:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rKD2HHlz3bTbV; Thu, 26 Jan 2023 19:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rKD0clcz4J5Q; Thu, 26 Jan 2023 19:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dvMbHSyC9ucYYj/020wWl8ISW7TsqSiYpFx+hoe36xU=; b=w78dW0hPULnGEonYVR7EOtBWytRkQBy+I9zMG2gwY7wYtpmDXCuD2doaVF32E8R0Oe//V1 owGxaP7Qbo+cx2UY0zp7mN1/zFVHunqDPYoEyvwbUIitdM8ZRNcse2sG9DXGbF1lzed9Di YoRAjT8a2QmNUOXQ0Sz5h7nBjarQD7GHedSfGOqqcuBPRqms5nUXRViSkrtbHs2bFY6Az4 Zv5CwyBeMI6WTUnm12+Tdbd6KNTfFXIhZtVhO3cQVEi7PhXi6YpyDDGFKP8iUQf0dskIaj RMXHAKpbcHrkKJm59it3EojOrfJQ5/K/5qZ4gy1LwovFDEyX0/znv1zTab68CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dvMbHSyC9ucYYj/020wWl8ISW7TsqSiYpFx+hoe36xU=; b=DPHEaje3Yd9qPJmaCNvVtNmOee22RotMjofaok0hYvDWWdP3UYfJnj1ifZe/83Z8eGabZ7 EaAT/0G5FN6X+TXcaY/sobuDeHh1PzuryXgD8v89aDpbS0WZZCk7+nV2MOEH/dU+i6Inyp 9qoDUEU7bfigAATqJdJR7BlkzBQWNNcufntQRPHYb2xQ4wE59iTUXcVgQNzVV/RJv996Lu tOavDykFl64rn1e97Q28LXV2COagwapBA/gM0ckA1vmJLG+O464I+3Qp3Tq6knK2QVrWHe 6eFFL8ghhmjOtlc6IYtksie7c+ZZiFW3OGJKhUU55OCLUVrS6Pg56vOHsEl8dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761152; a=rsa-sha256; cv=none; b=VuVCX2CZpcX3YVMws0QpUg6he5j1fSWny1KzjYRyduDDznpb1w5xVV0XvBLhSbe6SPUbpy 1dvyadSBFyibsdh/1ztOoOqXAjuFdlRYI41+Ql5kEeXvndOXnVymrRe21fdDYQ/IQclnxZ Zn2AJKrOezwNL+lSZVggyIIbPT/ovWIbJsZZDyBHBu9rw0QH0kD/k/8Gu24p2OasUT5iJT Zb1dZ1dOQ2kIZnMzCZq/2D5wDD0Cb6v+1285Kzlyau95IJT22Jwb/IiKB4ZJf97B94SwU+ I6Eg6Qa4vn41FQxMEJiWCu88qm89kcAM7XvlBWm67Z8MdZlVDRLUqYXZpagH1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rKC6p6lzgw8; Thu, 26 Jan 2023 19:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPplM078003; Thu, 26 Jan 2023 19:25:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPpXG078002; Thu, 26 Jan 2023 19:25:51 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:51 GMT Message-Id: <202301261925.30QJPpXG078002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: f2bd360bf5f3 - stable/13 - man pages: Fix typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f2bd360bf5f36b141fa6c00cd1c4e15ed8c6bb32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f2bd360bf5f36b141fa6c00cd1c4e15ed8c6bb32 commit f2bd360bf5f36b141fa6c00cd1c4e15ed8c6bb32 Author: Christian Weisgerber AuthorDate: 2022-04-06 14:46:39 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:23:09 +0000 man pages: Fix typo s/the the/the/ Approved by: ygy (doc) (cherry picked from commit 81d1214e8a9435aa7c09b622fa6916e89138dc5c) --- usr.sbin/bhyve/bhyve_config.5 | 2 +- usr.sbin/devctl/devctl.8 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index df87846c7a98..7c4f701d46f6 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -536,7 +536,7 @@ Enable the PC debug/test device. Each NVMe controller supports a single storage device. The device can be backed either by a memory disk described by the .Va ram -variable, or a block device using the the block device settings described above. +variable, or a block device using the block device settings described above. In addition, each controller supports the following settings: .Bl -column "ioslots" "Format" "Default" .It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description diff --git a/usr.sbin/devctl/devctl.8 b/usr.sbin/devctl/devctl.8 index 965c310d0868..30bdaac167ca 100644 --- a/usr.sbin/devctl/devctl.8 +++ b/usr.sbin/devctl/devctl.8 @@ -226,5 +226,5 @@ utility first appeared in .Sh BUGS Currently there is no administrative flag to prevent re-attach or resume of the manually detached or suspended devices after reset. -Similarly, there is no flag to prevent un-suspending of the the manually +Similarly, there is no flag to prevent un-suspending of the manually suspended devices after system resume. From nobody Thu Jan 26 19:25:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rKF2QSWz3bTh5; Thu, 26 Jan 2023 19:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rKF1XJvz4JGT; Thu, 26 Jan 2023 19:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xS2z4A++Yd1BuRYLAdy9ZFZEHyqEJ6NCfM0H/tNs9eg=; b=FUEUKm1EK40yodeIYVPC6l/T0+Jiwt1rht0Zo3W38EBbmY+okUfbaXEIwrCsbukQuNBUFP l/DbeufvRFPPlju09xKe3KD6oOi3CiBlEOnXtThihd5ZUeGwhvEOdEZtlVteJxleydilJ1 JKW88yf4D/klFntTI52ErXQuU8NgNkdRyOo2fNxFsqreBf9+HAy+iEaLIGjwCkNbFJf9T/ YaCmdXV88cjVPi+LDTQOppqwgZsSR4Pd0krAnEDYqVjHkiXlAcKSC40BpSPCHqh2uWpn2+ 9tCKcNBr46ObJemQhEbue+OC40uOaLFI1rd8TlF25YGGM+LNan/tPBZh28HEUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xS2z4A++Yd1BuRYLAdy9ZFZEHyqEJ6NCfM0H/tNs9eg=; b=sAmGxij+Jj2deznhyJu+uOerxVYy+L3f6PDU5HQ6g+s684x1aQ4JTI08j+SgBL365wGiGf 0pnctyYxcP8PnDIEmQCv/PyCtr21DapPV//h3DSMwe8D17O9MdPeh/JR/hz8R6eyjGqxhH mSeW8jtvgGuSQgpT9ssbqfMLhxhjN0CVTqu69VIaaM7A65fP+fhrsSr4GlTomZZxGMaEez fpOMHs0X+BUVxkhnXa4u/m0FUmypdu7J8qKltkbb2vTURU8wHCz4EBAaPaD3386oDElO7T mV576TKzuZJPuSmvASFH2T+45wQekAfmx8nelFXzhEZEhm9zTeBIjero4nkVsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761153; a=rsa-sha256; cv=none; b=ktXbYDzWhKeKoZz4EHOhmWbWcu888MsHDLLb1/xFAO4KY6AMBWQeEgw0bLK1P3lzndb31a X89Xp6cRo6u/9xANl48JoDjqay4UcyXpHE3VXMnTwI/YmRZmluw92wcon4R40QTaeLPs4a W/Q+lDt8VuC81iAXvMasf7jwdZKcEWdAGjLialg6crNR1BohdDPGl91U8zD69W1erKSA3p XrOi4pFqNvCZMmSn4MjI3YZ1SYhTdQq83j0TOforpVyZoZK3JSwfv/xwegGu/QrX/mOG6g 0irZwxyh8e6LnzX+ORoDzncdlXiBXga7yHyRhc5LyYIfDTSmNdsBiQFdJiZQCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rKF0dMHzhC2; Thu, 26 Jan 2023 19:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJPqnS078027; Thu, 26 Jan 2023 19:25:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJPqgH078026; Thu, 26 Jan 2023 19:25:52 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:25:52 GMT Message-Id: <202301261925.30QJPqgH078026@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 5fdcc90fb0ff - stable/13 - bhyve: Fix virtio-console legacy configuration parsing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5fdcc90fb0ff0e18ec55a2d481648f729a759c63 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5fdcc90fb0ff0e18ec55a2d481648f729a759c63 commit 5fdcc90fb0ff0e18ec55a2d481648f729a759c63 Author: Yan Ka Chiu AuthorDate: 2022-05-06 19:31:56 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:23:54 +0000 bhyve: Fix virtio-console legacy configuration parsing virtio-console is currently missing .pe_legacy_config, which prevents any portN configuration from being parsed, and therefore no sockets will be created. Reviewed by: khng MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35142 (cherry picked from commit 3cdfaefa4b88c928bfb62e7fb6c7f7742d81f31c) --- usr.sbin/bhyve/pci_virtio_console.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index d16668e6a2cb..341f0857bade 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -756,6 +756,7 @@ static const struct pci_devemu pci_de_vcon = { .pe_emu = "virtio-console", .pe_init = pci_vtcon_init, .pe_barwrite = vi_pci_write, - .pe_barread = vi_pci_read + .pe_barread = vi_pci_read, + .pe_legacy_config = pci_vtcon_legacy_config, }; PCI_EMUL_SET(pci_de_vcon); From nobody Thu Jan 26 19:28:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNM1mKfz3bTk3; Thu, 26 Jan 2023 19:28: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 4P2rNM1J4vz4LN3; Thu, 26 Jan 2023 19:28:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gHAR7S8F4+6CtBdF3dMEkk/NpaMAKCyV3Xl7UiCavdQ=; b=yA4IcDZdLrv5QHBDstc4zrClv+jwN8G9QQCcfBDZWtAc5T2ayJ+NRXIVP5UfXGMxDGztk9 O3E84/1P9+njsVhLHwYjpxWudzqsWdXLDUwPufQ25/RFoG+CrBVbP6LYdXoIJx2cnhijN+ DDLaYgcckxxlgWaK/jSqnbbXonFNaeS7/KdyJ7zEX1Lj4PsOHEz0vwzQgZGdHbbvMl6nt6 OKs3K14FPYBylgiZ+pRc0zXeyTLKoGiJ9BpsX2pRAoNM4FzjDIaIzASnenKt6PWIh4VMh9 Bt45OZ4GeAM/Ehalc8lsjaYgTbVNuxM/Pg3FjgQkTjon1h+pRicmwH8AUcthTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gHAR7S8F4+6CtBdF3dMEkk/NpaMAKCyV3Xl7UiCavdQ=; b=w7K+4p8Lqor8wO1EiyidgRWgLY+jX2ai920uAG07y84f9pEKlkKyKu81vhYOjCbfMly0FG uuMUm3f5GcACzOPqjrBGsO41Zl9MUi9DieGPG6JuSAjrbBc++xzq9tvchxmO5G9IRa4VxD J9/+mJUalk1PaOK+vJbKvL2+8MV2baw00SlQHwfpSZQqlGuoad7e2xtumRgGJpy0lljJPD XI/IIGwmMoQOuHnfMQe4iRAgLWz34r4xkGOLw9XodwYTnYQ9UJAOVZ9ByTIbu+/Lpa6LUn 7MGwwPZLEDYjIgLdOLnerMUS2xlutGEfd6hXNBeFSgC8aEGf4HwJWS7YrWR1Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761315; a=rsa-sha256; cv=none; b=iI3TUHkp9oLtLBOtZK+Gsq1BG5XIpoGsKqYJLQZQNQRFIzXDbzCb8gIgtdLTbysOErewx9 HiJewW4TFuyAVqj+gLy6+2Sku7aBD5TryV2SS4lyvMNRdr8FBZhPPZD0QHiVO3vjaMURd/ +C+QCF0iAJcb8cUkQ6RhQZc14m/CO1gojR/S+j2ElnjL+i+qmZHrB8ugEa1zfdDLeoOVZD zCLrJOUwfLDhaErka+7Y9RhGnj4V9T+4UESFIKhPcbP4y2E6/CGJ29zPxTYqV4YMbkx6sE XSOXeiGUloD6IA++TIs4POu7GjtFYO3TQc/m9o3ReEOvBIruLQrytEMN6QfU4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNM0MC9zgwF; Thu, 26 Jan 2023 19:28:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSYFi078659; Thu, 26 Jan 2023 19:28:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSY9U078657; Thu, 26 Jan 2023 19:28:34 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:34 GMT Message-Id: <202301261928.30QJSY9U078657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2d0d8aa835d5 - stable/13 - vmm: fix "set but not used" warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2d0d8aa835d55516103dc03de9f8009b3f3ee8bf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2d0d8aa835d55516103dc03de9f8009b3f3ee8bf commit 2d0d8aa835d55516103dc03de9f8009b3f3ee8bf Author: Robert Wing AuthorDate: 2022-02-28 23:46:08 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:08 +0000 vmm: fix "set but not used" warnings (cherry picked from commit 73505a10760c8b6f459b9c790bbf3a365f990a0b) --- sys/amd64/vmm/vmm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 06ec385ba25d..90edfbe7673c 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -864,7 +864,7 @@ static void vm_free_memmap(struct vm *vm, int ident) { struct mem_map *mm; - int error; + int error __diagused; mm = &vm->mem_maps[ident]; if (mm->len) { @@ -1848,7 +1848,7 @@ vm_restart_instruction(void *arg, int vcpuid) struct vcpu *vcpu; enum vcpu_state state; uint64_t rip; - int error; + int error __diagused; vm = arg; if (vcpuid < 0 || vcpuid >= vm->maxcpus) @@ -2087,7 +2087,7 @@ vm_inject_exception(struct vm *vm, int vcpuid, int vector, int errcode_valid, { struct vcpu *vcpu; uint64_t regval; - int error; + int error __diagused; if (vcpuid < 0 || vcpuid >= vm->maxcpus) return (EINVAL); @@ -2147,7 +2147,7 @@ vm_inject_fault(void *vmarg, int vcpuid, int vector, int errcode_valid, int errcode) { struct vm *vm; - int error, restart_instruction; + int error __diagused, restart_instruction; vm = vmarg; restart_instruction = 1; @@ -2161,7 +2161,7 @@ void vm_inject_pf(void *vmarg, int vcpuid, int error_code, uint64_t cr2) { struct vm *vm; - int error; + int error __diagused; vm = vmarg; VCPU_CTR2(vm, vcpuid, "Injecting page fault: error_code %#x, cr2 %#lx", From nobody Thu Jan 26 19:28:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNN2CDQz3bTtV; Thu, 26 Jan 2023 19:28: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 4P2rNN1mf8z4LT3; Thu, 26 Jan 2023 19:28:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R+khfusLJ5wb32+OrL4koZJJosS7bhIwe7qlPthAUFI=; b=AqShO6ZV0snc9vr2ILb0kTfccpLknu0yj6Zye4aMlEzYKqjKpIqRrGmaigPtatmuX1dBSt I50YJb0YwLoS4hMZ4x8Brd65JgP//sdypPnr7uaq8sj0AKsv/Tm7CANkMfWeSpvkHHpKJC GIIQUGdkzPjZpO4ecNR5lQeoXjTiw+NLJ5g7fC473ir0WhPlxNFrV8U9I8ELbyX1mdZoD4 SsQmqRfKIz9jHOea2TVXSNWAVlC0HlNvr5XM7swqcUe+tOqbEM2m34iy20EkGGXaL0OEuc h8oriNgBrP5lTobY2g5oBRMb/9VXENwe6da7rOdp7owJeTEoZn5Rf2zRdQvpRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R+khfusLJ5wb32+OrL4koZJJosS7bhIwe7qlPthAUFI=; b=QHP7gj7oGLp0ZYEl9QY4+aDkZdHZ0iegG8d67His/rjOxWNWnbtoNqtyVrK3+z59HManm1 SwYinQxTBO2x6yYt/aGMo6QWyfwUUXeijzZ5JhPum1VbXpjagjhbDHncFYI5Y/tKbglY1o cUYxl/AzVvm6ZZasEeNmNT+Va3LaULXO8DQ4goo86bEfNN7cvYOXy2KRnSAzbAMBUccb/3 Rexr7Ccr4IVLUJYeQfdIynM+hiINptYhcjoWS29ARNLjeJ4DgUpddrClmMBGkMjpRCrjGw yvrt9qoOOeFF/LXUlUXf+XGsboZC2olQdFhW2ERPhTLbTIHf7fzPh+yTaleZuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761316; a=rsa-sha256; cv=none; b=tNSJY7wx6skJEy5rZAoNhCMLVAOQq91NrkxPQfn0/Q/tK1MB2F0zCAXNGc/Tqn6UJgSnU+ r54fmGoiXaHL2R8mzPWdlmmtjybOST4eDFHBOkzXvPw+Tv63bAlw2ElBmr0GOAvTL3vYJG kGPcLd/VxcDoHfN+9TtckkczRVDZ16Am3igXwI8CoXkNAb4A5NQzrDquPUV8JTppBkjocV O5rV/OYvB1Vb63Xz8GNhtaRewk2hb5I4agvq9KY+wcBrZKWOwSFBmcGioGSjQ37v2rBF5t 3X6DtE7bO5adlSLLoQwSB6dg9Bvk3d18wFO9kT+rB1Nv8x218Cte3ne6WvUSoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNN0mwXzh8Q; Thu, 26 Jan 2023 19:28:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSalw078693; Thu, 26 Jan 2023 19:28:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSaYY078692; Thu, 26 Jan 2023 19:28:36 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:36 GMT Message-Id: <202301261928.30QJSaYY078692@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 861c6ae8f009 - stable/13 - vmm: fix "set but not used" warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 861c6ae8f009094c2ecf1138fa2f78d85bccdba4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=861c6ae8f009094c2ecf1138fa2f78d85bccdba4 commit 861c6ae8f009094c2ecf1138fa2f78d85bccdba4 Author: Robert Wing AuthorDate: 2022-02-28 23:55:37 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:14 +0000 vmm: fix "set but not used" warnings (cherry picked from commit 39d87a023567f633c6990ac7fcc3a20691a1efd6) --- sys/amd64/vmm/intel/vmcs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/vmm/intel/vmcs.h b/sys/amd64/vmm/intel/vmcs.h index 8aa7b1e8fc08..5c5214c65609 100644 --- a/sys/amd64/vmm/intel/vmcs.h +++ b/sys/amd64/vmm/intel/vmcs.h @@ -76,7 +76,7 @@ int vmcs_snapshot_any(struct vmcs *vmcs, int running, int ident, static __inline uint64_t vmcs_read(uint32_t encoding) { - int error; + int error __diagused; uint64_t val; error = vmread(encoding, &val); @@ -87,7 +87,7 @@ vmcs_read(uint32_t encoding) static __inline void vmcs_write(uint32_t encoding, uint64_t val) { - int error; + int error __diagused; error = vmwrite(encoding, val); KASSERT(error == 0, ("vmcs_write(%u) error %d", encoding, error)); From nobody Thu Jan 26 19:28:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNP3GzVz3bTwk; Thu, 26 Jan 2023 19:28: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 4P2rNP2dt0z4LGk; Thu, 26 Jan 2023 19:28:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sQZnKhF/wz00K0plX5iOSck2EnDy9QRx5x9+6q1iYwA=; b=j/usVWtnEX3Anyd8RnhIiEjsVV+iN42TjXWKnBlx+O/GgzGXoMaEd+67LAVvk2DpGsWJ0K 1AYYWcbnGOTrWq7Gky5N6/Uqxd+RsmVdstmsKG7PPVsOT2euXsPW2y7WtKtR/FeWa8jnF0 /F6Kq3kD9iGB6X1EpUcoUVmdEOl4QCmUw9w0MfzRR3PExQ4dIiWmWf0MM2OtEHBv+5+xjq MCIsUwKZPJJdOC6oSBP0746VpeRP/o/6yP7StrTMuT1MF6QA2xiuhHi3fmW8cVsKCuoQLn qaYSIlyVmVu6R0+w2p/wnGmh/Uk2+oqAQboJWVE61eUmXxIEP3s8ZPvI8052oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sQZnKhF/wz00K0plX5iOSck2EnDy9QRx5x9+6q1iYwA=; b=jAX8ObUuTSF4MUPRgkSSi3abBUmEt7fRrKw56qYYCOjiC3wE0zihy5wB8catXU083rZnYq 2vRiOhW/gCYFiFAp+3a3hISAC+YXmZBWeIhEehmfk1fzrwFQkG8nYoXi4QmmTIGPzjp+Av KkrlE1SspDwOHiUZXshjmlB7yXoidK8WHP6Jrn5xV7oo/PWIIS/Z1N8o3GwHOg00aCCRLN 4n9JQWScAFhlqpaQJUEc3IKj5ByEhk5vYpUqDEMEBAWnFyWvoB0LQqL7PfP6BkCe4XwUdi vclrEuMEE5Ot5HzKSJVXG609IFpe57aW5CKQEcLQ848wvXHVIXTaSUFdvX+u0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761317; a=rsa-sha256; cv=none; b=x0LAaBeVAtQ0/UhR9j5h67KeM6/zl6a7jQk2K+/U0e8Lx+YDnkuSbi0Z/GQz9VTnbuHJcy AsW9SRG17IcRt0ydGo94h1Kmia06RnrarPPwp3DV6BHkow/56dddrRf+80WtfG3XyjdNFn /dk9saCUn+HWPGyTu4dwtu/IBbqPBjHwtqeRLDRODDgcOwZF9SIgsiQv1nb0Toj2rUC6p8 6JgolChZUe65gtB9UdzeS0dyzsbnDtxoUa6DA6zeK4MV0+ZgVRRwPZtW8wP70ldKKJiBzr hiM4oLmI8xZuLQu5+SBT6S33r3nkZ4RMh2mEEn7SaBpcPdxY1h25UFA4e0sZiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNP1h4Nzgsw; Thu, 26 Jan 2023 19:28:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSblU078717; Thu, 26 Jan 2023 19:28:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSbWG078716; Thu, 26 Jan 2023 19:28:37 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:37 GMT Message-Id: <202301261928.30QJSbWG078716@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3a180da6891c - stable/13 - vmm: fix "set but not used" warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3a180da6891c285d9f1652ca6580def0fc99bd2e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3a180da6891c285d9f1652ca6580def0fc99bd2e commit 3a180da6891c285d9f1652ca6580def0fc99bd2e Author: Robert Wing AuthorDate: 2022-03-01 00:09:32 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:19 +0000 vmm: fix "set but not used" warnings (cherry picked from commit 2062ce996ddd39ba7a36c2caf8c898686d9cb2fe) --- sys/amd64/vmm/io/vlapic.c | 2 +- sys/amd64/vmm/io/vrtc.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 5deca142c5d1..0e1fb1bbf006 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -202,7 +202,7 @@ static uint32_t vlapic_get_ccr(struct vlapic *vlapic) { struct bintime bt_now, bt_rem; - struct LAPIC *lapic; + struct LAPIC *lapic __diagused; uint32_t ccr; ccr = 0; diff --git a/sys/amd64/vmm/io/vrtc.c b/sys/amd64/vmm/io/vrtc.c index 5d6968e3583e..dd32b279cf03 100644 --- a/sys/amd64/vmm/io/vrtc.c +++ b/sys/amd64/vmm/io/vrtc.c @@ -285,7 +285,7 @@ rtc_to_secs(struct vrtc *vrtc) struct clocktime ct; struct timespec ts; struct rtcdev *rtc; - struct vm *vm; + struct vm *vm __diagused; int century, error, hour, pm, year; KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); @@ -401,7 +401,7 @@ static int vrtc_time_update(struct vrtc *vrtc, time_t newtime, sbintime_t newbase) { struct rtcdev *rtc; - sbintime_t oldbase; + sbintime_t oldbase __diagused; time_t oldtime; uint8_t alarm_sec, alarm_min, alarm_hour; @@ -545,7 +545,7 @@ vrtc_callout_handler(void *arg) struct vrtc *vrtc = arg; sbintime_t freqsbt, basetime; time_t rtctime; - int error; + int error __diagused; VM_CTR0(vrtc->vm, "vrtc callout fired"); @@ -581,7 +581,7 @@ done: static __inline void vrtc_callout_check(struct vrtc *vrtc, sbintime_t freq) { - int active; + int active __diagused; active = callout_active(&vrtc->callout) ? 1 : 0; KASSERT((freq == 0 && !active) || (freq != 0 && active), @@ -633,7 +633,7 @@ vrtc_set_reg_b(struct vrtc *vrtc, uint8_t newval) struct rtcdev *rtc; sbintime_t oldfreq, newfreq, basetime; time_t curtime, rtctime; - int error; + int error __diagused; uint8_t oldval, changed; KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); From nobody Thu Jan 26 19:28:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNQ5Vq4z3bTfr; Thu, 26 Jan 2023 19:28: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 4P2rNQ3qRnz4LZV; Thu, 26 Jan 2023 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n18EZKkdl4vGAg4dvW3yOYxIVbvsEfmMmOgLdZiCfqY=; b=Xvocgw6V1SbJkgdTNTz53DV16cBJldan5zsksc9OZZLIzhyDO4viOUx1tL/yPucBt//O/P /cL9dL0PyWTqW6Pe9N0d3Dfd2j9eCO2Tn5RFiC95mjD+U0RQidvZRZn1oqQoMjgCUULRAL NzTUKiCLWYl/bEsLWBJMJauf4Z/dkhu4Px9tK9D4zF5QDs6dQJ3HAgv+Av5P0hr13dMqKx tm4TMRGV01zEJ0J9rPxff9q7BQKLnHpKq8Fa8R3Hsa7Rp4FSUbMbb8ouOcoG2ppebyNMtF PYUR0znSGzdU1hJPYTQpOxOVK1sZA8MGDz0QK5DFJ+gIY3gl8GkXxZD5AVnQlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n18EZKkdl4vGAg4dvW3yOYxIVbvsEfmMmOgLdZiCfqY=; b=ScNpfgJWAa/80fH/xBNELQ4M8CI1KMI/I6i5vwTxBWc69UpWlo5lg4HX3OO/2CvwB7ckbI HG0/gmtq0Ds4yURhGwFGOGc68mA6Cj1thKOkYOTdQCZc6te1+C3AVnq8uMplrvMGuMG8hC GxPPaUgwpD3icfYB189BnOmMnAUzyq4jWMiitN76HruPxE7kNnrHP2sKVEwXGcOVvu/KeN XL81ii/M5anev3l//f1F8qhx2toSyH+/eJ/ShxmsQhuZph8v/PmB20bvvJFQCH1CBonDEI 0Pu67sGjJYCTzlIu3YAIRL+j2gBc7YxVaKRLcbzW9sHp4hfulNnshaXC22y+zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761318; a=rsa-sha256; cv=none; b=nhFsrC0enJ+0cVveA69GPR7JZe4xa8PFZS9W4hFSL7yaNMUwrgGTwZdaiFvUb/hItTpz4t XLBuDH2R1CdE0UVPsNJZChZ/iXQRED06oDPuMrquBnb18ub1UfV99c5aZfbPCFm799LuCR J+aGw4AGVpJXujOJVg6jdhpW5Go2z+jqqkC+vUyFZ8Nn3L8Y3c0of7mkCFx09aZy21yo0N RPLNhUQDbhz6T6plmsE4iyvUgwMu8jiGWWdlHQOaOGS3m/X+M/3dgeRRHtSLIVc2aCpvLH vorDwSsTGQiDmDLF3Iibnjv3EhQEDR6wLR0i3hseWS9+Pu8x06ulWUZagm5zTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNQ2xQ5zgsx; Thu, 26 Jan 2023 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJScBG078741; Thu, 26 Jan 2023 19:28:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJScrl078740; Thu, 26 Jan 2023 19:28:38 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:38 GMT Message-Id: <202301261928.30QJScrl078740@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 0bf049af5a8b - stable/13 - vmm: Re-quiet set but unused warnings. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0bf049af5a8be17a25c029622bd81791ba2157f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0bf049af5a8be17a25c029622bd81791ba2157f5 commit 0bf049af5a8be17a25c029622bd81791ba2157f5 Author: John Baldwin AuthorDate: 2022-04-08 00:01:29 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:25 +0000 vmm: Re-quiet set but unused warnings. __diagused is no longer used for KTR, so instead use #ifdef KTR or expand KTR-only variables into their values in traces. (cherry picked from commit 572edd3dae9fc3e67dfb1cb9ba023e8d3fe2a9bb) --- sys/amd64/vmm/io/vrtc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/amd64/vmm/io/vrtc.c b/sys/amd64/vmm/io/vrtc.c index dd32b279cf03..10bab96700e4 100644 --- a/sys/amd64/vmm/io/vrtc.c +++ b/sys/amd64/vmm/io/vrtc.c @@ -285,12 +285,13 @@ rtc_to_secs(struct vrtc *vrtc) struct clocktime ct; struct timespec ts; struct rtcdev *rtc; - struct vm *vm __diagused; +#ifdef KTR + struct vm *vm = vtrc->vm; +#endif int century, error, hour, pm, year; KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); - vm = vrtc->vm; rtc = &vrtc->rtcdev; bzero(&ct, sizeof(struct clocktime)); @@ -401,7 +402,6 @@ static int vrtc_time_update(struct vrtc *vrtc, time_t newtime, sbintime_t newbase) { struct rtcdev *rtc; - sbintime_t oldbase __diagused; time_t oldtime; uint8_t alarm_sec, alarm_min, alarm_hour; @@ -416,9 +416,8 @@ vrtc_time_update(struct vrtc *vrtc, time_t newtime, sbintime_t newbase) VM_CTR2(vrtc->vm, "Updating RTC secs from %#lx to %#lx", oldtime, newtime); - oldbase = vrtc->base_uptime; VM_CTR2(vrtc->vm, "Updating RTC base uptime from %#lx to %#lx", - oldbase, newbase); + vrtc->base_uptime, newbase); vrtc->base_uptime = newbase; if (newtime == oldtime) From nobody Thu Jan 26 19:28:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNR4xbnz3bTnX; Thu, 26 Jan 2023 19:28: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 4P2rNR4Pvxz4LMY; Thu, 26 Jan 2023 19:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Qdokjd61FWTbIWTPV0iAegyNlIxPjb8pVBABbsH3Qs=; b=SXPOth8X4mHj49L+6syaG3GrYkbWUfAoNVAupcEyOWdabsn9o4+FKb2Fp+Ply1YtXkAgf6 iJX5Q7gA1dZll/aYuYl7OskvyMOOp5dHQ/yssyfxCMWq45LV3M/k+RiMNPB/B0i3mLEFr3 kajlS2GDVJfUyMZMCj+x0G39DqS44HQGxXHxURZotLV6PCi0Jl4E8gqKV3nAq5sSPZH/SR fu5HGjv98RPVGeErclG0Yqoe0BjzBFqTdUEB+Thgb/lWwjlS1aPzbVkEmAmiIkGl9Pk7xr YciISPzPt7yypr8VGPUdXBEcOm290BmnCUFB34BuVhTZIxEsBmqbfHICiXcrSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Qdokjd61FWTbIWTPV0iAegyNlIxPjb8pVBABbsH3Qs=; b=lAQN4bHUj95QPNKo+kUrzAiKnHhvokxdW0DO9FMEsh6/AuFGIz1Vb7bjBmGOu9E3MasyyG zwIW5MqNLvm6AIhhJvTAb0Zc1W/OhAcXtPIzvbQc3uNBaQ3k6yzROOAnYYCy0xab9cfU1F 9hA7f6KPb9H6WEN13HoDlRoyxF6LR58BLT9jSTNH1cyN5+ltf7Weo8P8HhHf+0IQ9HX83h Dm2g7YZ+TZ7wdPME8zI06QPLlxbFaRdO634JPO2EjoBQooB8z9VAn5CYIWLu9bhdhWQZbM 54sRxAVBa9cpb6fdvBOaexKsIHx0WhNfBudXrMpWHNlCJoPR+kfp95Zgw0ps2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761319; a=rsa-sha256; cv=none; b=e/h9NTXj+R3nJkgfpT/zlJcdBL4Aqla26z+0gHk+MuzeSRDP7Nu9LIkOOgJpwcJA4yKwN4 fV6uePBpdgXn0fWtoKMeECih4WFXKnh6D8lf/UMgmC9JZBIaqTbVLtsXKn9ezMfoXyCR3C kccg1cqkKkzCGAKseXzKpGy7qTD2BCzrHcJyfjxirJnfPyALL724JmTwjc4EVKB+/nigcN OzxhmWfwvIQPg76E9jqvxWFeBJNwVmryERk7U0guHfTuaMa5ec9ocQC58YObrTCHcJAAgH F8bBT4erBmMpkag89gpGL/rO6WBBAIoTwjg4Rb3yxhovw3GHYFWZ0eV3LFUejg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNR3VWPzhC6; Thu, 26 Jan 2023 19:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSdPe078767; Thu, 26 Jan 2023 19:28:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSdY7078766; Thu, 26 Jan 2023 19:28:39 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:39 GMT Message-Id: <202301261928.30QJSdY7078766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c7ff222d2060 - stable/13 - vmm amdvi: Move ctrl under #ifdef AMDVI_DEBUG_CMD. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c7ff222d20607264516b3a31f102f965fd8159b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c7ff222d20607264516b3a31f102f965fd8159b4 commit c7ff222d20607264516b3a31f102f965fd8159b4 Author: John Baldwin AuthorDate: 2022-04-08 00:01:29 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:30 +0000 vmm amdvi: Move ctrl under #ifdef AMDVI_DEBUG_CMD. (cherry picked from commit a7d876f7010068d93f1d9b4bb62d1370c9a0798f) --- sys/amd64/vmm/amd/amdvi_hw.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/amd64/vmm/amd/amdvi_hw.c b/sys/amd64/vmm/amd/amdvi_hw.c index 57386b6bea88..86df0ad76bf5 100644 --- a/sys/amd64/vmm/amd/amdvi_hw.c +++ b/sys/amd64/vmm/amd/amdvi_hw.c @@ -444,13 +444,14 @@ amdvi_inv_domain(struct amdvi_softc *softc, uint16_t domain_id) static bool amdvi_cmp_wait(struct amdvi_softc *softc) { - struct amdvi_ctrl *ctrl; +#ifdef AMDVI_DEBUG_CMD + struct amdvi_ctrl *ctrl = softc->ctrl; +#endif const uint64_t VERIFY = 0xA5A5; volatile uint64_t *read; int i; bool status; - ctrl = softc->ctrl; read = &softc->cmp_data; *read = 0; amdvi_cmd_cmp(softc, VERIFY); From nobody Thu Jan 26 19:28:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNS5wm4z3bTyv; Thu, 26 Jan 2023 19:28: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 4P2rNS5LK9z4Ljn; Thu, 26 Jan 2023 19:28:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y9vV7NcZ8gUwXIioGef4REEWTfqRBN3it1sFVBJlwWU=; b=V6GdbJRYVQLdKj5KAwIt7CujCYrEqrXG/cLJP2xUjXxI+96EA3/WHlTSQBCM3arIAoyoae 1jcGp4BU4gZUU7m1RKTLxUtzjWK46XEQ5jwu5okfXwF9qCKhoQi8BlnLEoOmVdCChiGT+M C6EZLGPsKJ+vnmhMBPbVJ1Ah3yOWoKfrMifPgyMlPUfADOjQ3Y64RafJEExM7j4+F+xhfY Ur291qouJY9kIZyjw/5WOPrKf2ZC8Ylz73fPnkpRCEVThJ1UfeKDipiR6fZdOjizlg+l45 BFtcg34tw/FqN0/sUFg3LlPti5+hcleTZo0IMz/Mryp1hJL+wN+tA+OFM+KdtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y9vV7NcZ8gUwXIioGef4REEWTfqRBN3it1sFVBJlwWU=; b=NNEGsGGU+wIaEkSi3vuPU/NvvoVrgJwPcSU7iHej7Pr348+++gcTEg/WTL6/D4Lbrab8HA qGzGRlEM88xVTW1CGl8WvXtLvPCkzwIO3voUUhj+/wTGL4msyGpuoyAVvHQJS2TsAIQnME jn/5OBdxbWhfePXWu5bGYS9Y05ACHi3tNX5j04ZC6bAbu1Pej4g79x3J6nH3gwduho/Cv3 /dg2fqsWBohTnWa4Xw0vRZCEmeT9IBnlozNNn5xiz91XLNJAztLMHB5hAGuJ8bL2VJvSfU UXc0nMt5hl9ACawmhb3P385cA+54xRsxJabL/PQmyb8wbo02ubc0G05lXpY2Jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761320; a=rsa-sha256; cv=none; b=QiBtCvfDkSVdPxnVxNLV2gCR/w87YU543qbYpncpDOmRs1p9EruYAoSOJsHX5IE2PXoTfr SuX7091TVuq7uDH/qciE2vXoSbUCU3ta8uVLKRsmhpbxaM8+K8zVQOYAY6R1dXlTTJgkj0 5oUL/En0gjk7PpEf++rjmV0NZ0OAaIlaTNqrPqokMz5AoQWsI4AP9HKFTp6o5F5FMGcO/a uM+83u+jhUUD2E/i2+7VOZhex0xVWWtWuYXfH4FbHQvUWuYqSdwvvJ9oyCG2RagU9IX5Nf CeVYADb9h7TiqkW6Z8ZEw3BOb6fMRDKrzBF+hs+6Uw95NWdq8AITgokQtRdVhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNS4Rxczh8R; Thu, 26 Jan 2023 19:28:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSeNh078794; Thu, 26 Jan 2023 19:28:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSeXZ078793; Thu, 26 Jan 2023 19:28:40 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:40 GMT Message-Id: <202301261928.30QJSeXZ078793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d1d97a28e47e - stable/13 - Fix a typo in previous commit. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d1d97a28e47edbcd53cb7d3a9b2ca6e357d695e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d1d97a28e47edbcd53cb7d3a9b2ca6e357d695e8 commit d1d97a28e47edbcd53cb7d3a9b2ca6e357d695e8 Author: John Baldwin AuthorDate: 2022-04-08 19:01:33 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:35 +0000 Fix a typo in previous commit. Reported by: npn Pointy hat to: jhb Fixes: 572edd3dae9f vmm: Re-quiet set but unused warnings. (cherry picked from commit 6a33ecdc2f649234cc3160daec8c329f33860f45) --- sys/amd64/vmm/io/vrtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/io/vrtc.c b/sys/amd64/vmm/io/vrtc.c index 10bab96700e4..65b2cd2cb39f 100644 --- a/sys/amd64/vmm/io/vrtc.c +++ b/sys/amd64/vmm/io/vrtc.c @@ -286,7 +286,7 @@ rtc_to_secs(struct vrtc *vrtc) struct timespec ts; struct rtcdev *rtc; #ifdef KTR - struct vm *vm = vtrc->vm; + struct vm *vm = vrtc->vm; #endif int century, error, hour, pm, year; From nobody Thu Jan 26 19:28:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNT6vQTz3bTr7; Thu, 26 Jan 2023 19:28: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 4P2rNT6KTdz4Lvy; Thu, 26 Jan 2023 19:28:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q6ZoDwTj/g4bQzm2ya4o/UtHNOUDuTuCmV17dCwztF8=; b=rrsomNo73cSBPaLZrfJFcOjXBR378vxQoVeBpbUrk0mg6jH65Gw0A4hOlWvGJvjhS8S62C OOYJy9Fz0fe/dWiyF9ubeRfESEnvqJ1BL1VlCsHh8m5E+7u8O3IkszB9EMhtWtd2OlTMn1 KDfe2cTgOX1qJj21YoECrOxK8R2GcwQeqb3K+eSfGFHHgWUTcYkfkePMugsCNjfOaL100l KLlqBmgfOQrhoDwp2+Q6rySUdE12KFwlTqVjsT0L+MsGfgfLWTNwuI/l+UmFUbxgFgV0FL 0Bn4N4Jg+oEVwWy/rbTjMLQWbOCh6dLw3dry4dTbXqYIbYw8SGg/Kmu2vg3gAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q6ZoDwTj/g4bQzm2ya4o/UtHNOUDuTuCmV17dCwztF8=; b=VJkxhW0ToGfQuD4Kz2ovfGnhVsKHMYoKcBfK2h+PxPrjRh2GoQmFW2lqiPUT4Jy4tlb2Lu JJQM0Oqo/taE8ITHWObgsE4RyVQaRk2pN5zGKHHjjhjHUX07SWp+5SMRjcV8Hee+guf0eM eKKY1Ft+aY4JNtpN7LOpGzK7dSIvEBZUa2x5GzWV39Isy23/a+J9fIxeDwKzo7Gtnlaihh YDQ3Z5T1GEcTtFHCy/0mLgAFe/AWhc3WltjZa0CnYAeq8IFv2O5hY/kZ0hklgRXL4yu40E It9G09HfOdL+rDeBiqicB3phzv6jYYjqlNdI+Rwd5xqeaqTQtmkZE5vAtFL6rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761321; a=rsa-sha256; cv=none; b=GEHMmHuTuBE9/yldD9oQ30Bz0x7+eWpBvnQwZqTNIGr21B9bK7q6mIr/x/Zqy7Bi3vxwWV +r0Ur/7+aiWCD+lGN5QODrZPWQ7j+HrhCqJETCrrEzR+Zhk1veE0UX79qt/6xA2bqw5tRx YGU1tDPQL0mUqAydxj8DpoWQldMTAMX/NtoEu/FBUkeDnBrnFbJnRT6Lt0q/hWyl67Gkuu 6YdJPqI+deHehAr84sf1fKkBzi3WZHZy9iUNeYa5L02LQ7m1ZQc6QKxnJtf26D/hiWIEJC vlTropVhivNnusbAy5v+OTN9uricFdNSgK2Ky/8U1R8qlSjoio618JqFah0dFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNT5PpFzgwG; Thu, 26 Jan 2023 19:28:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSfZ2078828; Thu, 26 Jan 2023 19:28:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSf13078827; Thu, 26 Jan 2023 19:28:41 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:41 GMT Message-Id: <202301261928.30QJSf13078827@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8fff0abd4746 - stable/13 - vmm: fix set but not used warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8fff0abd4746a7d89d452621cb47ed2a8adfb4de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8fff0abd4746a7d89d452621cb47ed2a8adfb4de commit 8fff0abd4746a7d89d452621cb47ed2a8adfb4de Author: Robert Wing AuthorDate: 2022-04-10 18:30:05 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:41 +0000 vmm: fix set but not used warning (cherry picked from commit 893a3dd697ef4ac0a432ca8ce8790661884eb1ea) --- sys/amd64/vmm/amd/amdvi_hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/amd/amdvi_hw.c b/sys/amd64/vmm/amd/amdvi_hw.c index 86df0ad76bf5..87270b24c9f6 100644 --- a/sys/amd64/vmm/amd/amdvi_hw.c +++ b/sys/amd64/vmm/amd/amdvi_hw.c @@ -423,7 +423,7 @@ amdvi_cmd_inv_intr_map(struct amdvi_softc *softc, static void amdvi_inv_domain(struct amdvi_softc *softc, uint16_t domain_id) { - struct amdvi_cmd *cmd; + struct amdvi_cmd *cmd __diagused; cmd = amdvi_get_cmd_tail(softc); KASSERT(cmd != NULL, ("Cmd is NULL")); From nobody Thu Jan 26 19:28:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNW1pLLz3bV02; Thu, 26 Jan 2023 19:28: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 4P2rNW06kXz4LwK; Thu, 26 Jan 2023 19:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SxoRKCuLv67QlucAgr/4sUjR3ULDwCQPg8ksjegZ7Rc=; b=ennBbltj2yEB8ojTZQQY+m3CUsi0FqKCSSwWWLyydXkZo9Y3Ryi55qNH07MfmUa5vjOd+x ZbEAWKyKpdmnHrKB7JkNGynf1DGavKzDuve3dHI4RTdUsIbrHnMVJduE9fUa13r1iI3bK0 5iS7QRluHWwb9qLDZONzIsN2hzQ6zmQUNlzrXFDL0EAjEv+2RwNQmt4mi7RH70JV+nEToE IOV2L0sMgHij0Zt7hIEJ53fd7Qgw1zxlXgUf0zytaMgxjYL/XKFOjqp8mbV4y220v4Zcjx adO4cGd0U8kg9dNPUH9ryHwqNogfkczK8XJhESgvGlmjv6UcZKhdVnuYgcm68g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SxoRKCuLv67QlucAgr/4sUjR3ULDwCQPg8ksjegZ7Rc=; b=BmVllNbwmRA/8Or6tOuCzV3NDU0LBplJBtUgMOSaAPPJIgaEr5xH+fg0vI87eTKQlnADmd P3hYzlUJGDQ1RNwCR6VphsegLnO3CKSSvXEaOK0J031dKzdz++VZJsQ2o4edN9xUjJ4rsR pA68ZGZvGYXjORLV2sCfgHSE8mXtK8Uz0zu59FCMdVcH/+GUrr0bz8LPhq6Vn363vC7Peo w7OtWOkF+ljbq8E6ySMy+3Ld1U/75jnPNCW9hhPSYsOhCZEqoBTiE57uT5Ddu0Qg6l5TtG xeAMoB8+efdE11fOh8AZunJ6fDd1JHgnHb8I8+arXdcPfgnDobqv8IUYzA8U+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761323; a=rsa-sha256; cv=none; b=axSNocdEZQjyEECYz2CJ+ScPlz1wR5rOV8VTShCrY0yCkY1oyQzDdqBLeJERqItsYvaaNQ kCFSBve4zI4XR/0fPvr7H8pqBru+1G2mc0aABkh7gbhiUmNFbYLIZYDT4CGwDftfsbeELc p/bhvysQyJHH1fO9voT0UmfNkrunrxtzP2h8+I8EbLKu6CFf23ysVnJ/z3CMLht2ePESWs 5sqNhHX5tQgtXCI18JoDSiWdO0dLeVK9/aLaZFOVoyM1NpX0dNaiWzaKcfUaYz0PW0B+Yy bHLTbkG9kIFmTPRxxQ5dK+czUjapvGmCHomabTZupzrHCfwwWl/NK5TXgcg8BA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNV6KyQzhC7; Thu, 26 Jan 2023 19:28:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSgPn078852; Thu, 26 Jan 2023 19:28:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSg3P078851; Thu, 26 Jan 2023 19:28:42 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:42 GMT Message-Id: <202301261928.30QJSg3P078851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 27007f7863f1 - stable/13 - vmm: fix set but not used warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 27007f7863f19e4b10b514090b28819d62228a62 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=27007f7863f19e4b10b514090b28819d62228a62 commit 27007f7863f19e4b10b514090b28819d62228a62 Author: Robert Wing AuthorDate: 2022-04-10 18:30:08 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:46 +0000 vmm: fix set but not used warnings (cherry picked from commit f877977a034b41bedacdf507e79e4233b28a8bfc) --- sys/amd64/vmm/amd/svm.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index f50a4c8c9097..8fbe0817fc8e 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -351,7 +351,7 @@ svm_msr_index(uint64_t msr, int *index, int *bit) static void svm_msr_perm(uint8_t *perm_bitmap, uint64_t msr, bool read, bool write) { - int index, bit, error; + int index, bit, error __diagused; error = svm_msr_index(msr, &index, &bit); KASSERT(error == 0, ("%s: invalid msr %#lx", __func__, msr)); @@ -658,7 +658,7 @@ svm_vcpu_mode(struct vmcb *vmcb) { struct vmcb_segment seg; struct vmcb_state *state; - int error; + int error __diagused; state = &vmcb->state; @@ -723,7 +723,7 @@ static void svm_inout_str_seginfo(struct svm_softc *svm_sc, int vcpu, int64_t info1, int in, struct vm_inout_str *vis) { - int error, s; + int error __diagused, s; if (in) { vis->seg_name = VM_REG_GUEST_ES; @@ -862,7 +862,7 @@ svm_handle_inst_emul(struct vmcb *vmcb, uint64_t gpa, struct vm_exit *vmexit) struct vmcb_segment seg; struct vmcb_ctrl *ctrl; char *inst_bytes; - int error, inst_len; + int error __diagused, inst_len; ctrl = &vmcb->ctrl; paging = &vmexit->u.inst_emul.paging; @@ -1117,7 +1117,7 @@ enable_nmi_blocking(struct svm_softc *sc, int vcpu) static void clear_nmi_blocking(struct svm_softc *sc, int vcpu) { - int error; + int error __diagused; KASSERT(nmi_blocked(sc, vcpu), ("vNMI already unblocked")); VCPU_CTR0(sc->vm, vcpu, "vNMI blocking cleared"); @@ -1150,7 +1150,7 @@ svm_write_efer(struct svm_softc *sc, int vcpu, uint64_t newval, bool *retu) struct vm_exit *vme; struct vmcb_state *state; uint64_t changed, lma, oldval; - int error; + int error __diagused; state = svm_get_vmcb_state(sc, vcpu); @@ -1332,7 +1332,7 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) struct svm_regctx *ctx; uint64_t code, info1, info2, val; uint32_t eax, ecx, edx; - int error, errcode_valid, handled, idtvec, reflect; + int error __diagused, errcode_valid, handled, idtvec, reflect; bool retu; ctx = svm_get_guest_regctx(svm_sc, vcpu); @@ -2572,7 +2572,6 @@ done: static int svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) { - struct vmcb *vmcb; struct svm_softc *sc; int err, running, hostcpu; @@ -2580,7 +2579,6 @@ svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) err = 0; KASSERT(arg != NULL, ("%s: arg was NULL", __func__)); - vmcb = svm_get_vmcb(sc, vcpu); running = vcpu_is_running(sc->vm, vcpu, &hostcpu); if (running && hostcpu !=curcpu) { From nobody Thu Jan 26 19:28:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNX1hR0z3bV2R; Thu, 26 Jan 2023 19:28: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 4P2rNX1GM3z4Lqm; Thu, 26 Jan 2023 19:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8eW5rOUeweuY2g5nqlD/Yfl2abVd2GShTiDIa4dkVYA=; b=OkeLS3iXd5wimNPBRuoSZxdpDiRv+22oXR2shBjLKLjeHRWsQwJ8KXP0OAf1q3kxfZdFFd 3slTIKi0K6/JYHt3YnV3Q+lZy3v/Lcef2VYTOY4EW4I1ARQLqQ4wGAJEPGxJjzU4mHvoUy +mBRhgiYRPgRYC4jshgmVIGnNDzVb2rl9BsGw8NO+QQhjqci+FqOjQrpNZl31uMZDWaDsl /gmg8izOwkmIeQRhRT/Ht8ZQfM/D0zcVYLfIkuz1+uKxUw/p5B3o4Nxx6Bc06GCjiUSl28 t8ih9L9tLvMutz5D5npJ89ovsoA0pJQ/5hU+8Y9pnRWJySimOXlFWUzeN7Ellg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8eW5rOUeweuY2g5nqlD/Yfl2abVd2GShTiDIa4dkVYA=; b=QN1koGXN38sNCRtPRzBpDKLV0NEeT1hkXOWSWu1gicAcyoBCW/iVkjSs17242r4iR5ypoz Y05mwl/Ol5SAZdS2Ty92qZNlHfLsn1n4tkwD/VyFFa8A61eeiO0GhZMNAW4YWcDMOq7krZ 2/GvgH/N9+BoDRjm56QhthO2lYY0u8T/OcPfM+JJBM5Dt08m0Um6CtGGT4UP/mrwMwo1lM yKkGsBiw3sBwkbqw/mmwqTqlAXwlRsfFFIxMd+ApJGUcmaTK3Zy9R9Wt2aqDDNev/mVopT M7cqqs62P6vEO4StPtYMWKV9w9FJJcjQWUYCZpt+WmyQuH8jkNkIxkOPzseudw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761324; a=rsa-sha256; cv=none; b=EM61AaQgmkBNq40LSG5InyTOtZFD9cMy8zfOS/+PPZ8MV6itbEXPVbVxtJuBfIyvWou2j/ FLpYenqTSUJRIwG48bPWIQHPHz5gicVs1wlSXcZOjx11mVFT6pNkX0BGOAUXaqNwfbs+sH 3fgnAzWsd2kxON4ufIUAz5awEvDxITJQcDMTAgaovLrS3b8uElrzXn32nKUVsxy9ukHcRl BSIcayaXoCN/oe1UFqXRe2/sR3ParGxaT6VGHcajlqiZXEUTBfcbG87Of0FWX3xJnB5r9z BtrJE4cQI9GilI4kCGVKjJLPnl2FMxshS1ixnR2scNnyzSde2ANz747TWS8sWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNX0G5VzgwH; Thu, 26 Jan 2023 19:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJShYl078876; Thu, 26 Jan 2023 19:28:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJShQV078875; Thu, 26 Jan 2023 19:28:43 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:43 GMT Message-Id: <202301261928.30QJShQV078875@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 350f14da553a - stable/13 - vmm: fix set but not used warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 350f14da553af6a7441f38d8256092a1e3f776a4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=350f14da553af6a7441f38d8256092a1e3f776a4 commit 350f14da553af6a7441f38d8256092a1e3f776a4 Author: Robert Wing AuthorDate: 2022-04-10 18:30:11 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:51 +0000 vmm: fix set but not used warnings (cherry picked from commit 5c272efaba291f744191dca86f04418bfe90b222) --- sys/amd64/vmm/intel/vmx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index d88abbc62342..857028dcd0f1 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1403,7 +1403,7 @@ vmx_set_tsc_offset(struct vmx *vmx, int vcpu, uint64_t offset) static void vmx_inject_nmi(struct vmx *vmx, int vcpu) { - uint32_t gi, info; + uint32_t gi __diagused, info; gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); KASSERT((gi & NMI_BLOCKING) == 0, ("vmx_inject_nmi: invalid guest " @@ -1648,7 +1648,7 @@ vmx_clear_nmi_blocking(struct vmx *vmx, int vcpuid) static void vmx_assert_nmi_blocking(struct vmx *vmx, int vcpuid) { - uint32_t gi; + uint32_t gi __diagused; gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); KASSERT(gi & VMCS_INTERRUPTIBILITY_NMI_BLOCKING, @@ -1972,7 +1972,7 @@ static uint64_t inout_str_index(struct vmx *vmx, int vcpuid, int in) { uint64_t val; - int error; + int error __diagused; enum vm_reg_name reg; reg = in ? VM_REG_GUEST_RDI : VM_REG_GUEST_RSI; @@ -1985,7 +1985,7 @@ static uint64_t inout_str_count(struct vmx *vmx, int vcpuid, int rep) { uint64_t val; - int error; + int error __diagused; if (rep) { error = vmx_getreg(vmx, vcpuid, VM_REG_GUEST_RCX, &val); @@ -2018,7 +2018,7 @@ static void inout_str_seginfo(struct vmx *vmx, int vcpuid, uint32_t inst_info, int in, struct vm_inout_str *vis) { - int error, s; + int error __diagused, s; if (in) { vis->seg_name = VM_REG_GUEST_ES; @@ -3884,7 +3884,7 @@ vmx_enable_x2apic_mode_vid(struct vlapic *vlapic) struct vmx *vmx; struct vmcs *vmcs; uint32_t proc_ctls2; - int vcpuid, error; + int vcpuid, error __diagused; vcpuid = vlapic->vcpuid; vmx = ((struct vlapic_vtx *)vlapic)->vmx; From nobody Thu Jan 26 19:28:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNY2dvjz3bV2W; Thu, 26 Jan 2023 19:28: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 4P2rNY22Mbz4LlY; Thu, 26 Jan 2023 19:28:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gR6GcGWYocpldfj3d41Dgdg6EfRhdd8iZVxZ04DOBSU=; b=dyoTpZiv4GCkyMkWRm2eIzgd9QekVKpRjURzskDefK0b33PR8Enxb4yHrWdQtGspNGIkqt VBuN3Kc3MCkQ4TIIwGh5zhJ2HbmKUKDLQ7lWJtHwaIZN/nJgAn9FFe96woRYVpoJTHaIyM aqz7fxYnQG0gkOMugg9Ezly0/grgTlErPIdRfsQsxEh961sRFhMBCOkN/IZXkVzj8NKJT2 6kkBX/XhaD2nz3RlTngA8LWXWz41zDftnITGOvxoXGUFS9jbfJMb1PTjDei5JyNSsER9NO Zdg5zXFpdFrUE5nEpWsaDQjSntZCVyTZr39gMxmTjIkYmlfX0IcHJN5Fum1Y8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gR6GcGWYocpldfj3d41Dgdg6EfRhdd8iZVxZ04DOBSU=; b=hP542YMl4LVc1jT1W02eE3S5joHTkcm22kcEjV1L+gmscg2/U/TszDwy6XPG6wjFuJI0Ts KSvaY4QoY44iGHs9NvcJCcGW8e+QpcOVKJ/siTDQMV8g6kX9r4yGvVZtdTzHmOWzI13BAc k2Kc+A5UNxub5AaGJIqmYYgLhLT/Cd/3K3NieJGKrGWUG5MViyGXxm4lLc1JGHipFGxHdp ocuOHzi9xeSPWwMLONbPdArovSyBgZhDGw2m0tlIQqfVCnXvnnZvpdJt6bPJ0JURZX6Z55 wefi0qDLK2fiJ9n1/Wt4F0I+sZauvF6MtvkYGBfG6AZqNdHjcAmRGSavyWe40g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761325; a=rsa-sha256; cv=none; b=aeYY2YcN90/RoVNlMCNJH4LHLnI2seNf9B2QNf4Q0Q+aBPZlIN8y8AC9GPcosmUHtE8NKY WNUl0d0/vRc4TddezBLU2nFf7GsQy+64JsMgvTcgaLY7Z4tsBeHINEsN41QFVxPR+5nFbG NZxpcqsmU2vK5ZtTapYY1OqlyUODT/7JSEt3uXu173XTz/U3sDVP+J+2QRluhDDKZyulJ9 5QwEpwk+ivRntZcyIicnsm6LYOs06P3G0rWNu4hsHTx/0MeaTsfKNxOnRQw/Q7TXyyW/w+ A5p+3QlD2bpaCnxGFPH3Psdj5Lo9rKelw6O1ie0t04Mf5RybqNYRg/NF4oEsDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNY180KzgfW; Thu, 26 Jan 2023 19:28:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSj3b078900; Thu, 26 Jan 2023 19:28:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSj2b078899; Thu, 26 Jan 2023 19:28:45 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:45 GMT Message-Id: <202301261928.30QJSj2b078899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 75f1351ac56f - stable/13 - vmm: fix set but not used warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 75f1351ac56ff71abc49cd17e858f0876f43f4ef Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=75f1351ac56ff71abc49cd17e858f0876f43f4ef commit 75f1351ac56ff71abc49cd17e858f0876f43f4ef Author: Robert Wing AuthorDate: 2022-04-10 18:30:14 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:26:56 +0000 vmm: fix set but not used warning (cherry picked from commit 3587bfa797cd66dce2e94ca93df5ce41def555df) --- sys/amd64/vmm/vmm_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 2337c4dec2b1..db8563c91830 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -993,7 +993,7 @@ vmmdev_destroy(void *arg) { struct vmmdev_softc *sc = arg; struct devmem_softc *dsc; - int error; + int error __diagused; error = vcpu_lock_all(sc); KASSERT(error == 0, ("%s: error %d freezing vcpus", __func__, error)); From nobody Thu Jan 26 19:28:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNZ4NY3z3bV2Y; Thu, 26 Jan 2023 19:28: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 4P2rNZ2v1tz4M2b; Thu, 26 Jan 2023 19:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AL6mXjOUY6FjrUw2q5fqQxrieVHhbb3UZq+TLjVqK4Y=; b=jmybO5QtvWxS2ojmB+ykL6Jnx553c/X9k//01gp+K964YUNbOW2a4dK5cL1Jhjea7LXGsQ C3GpoQUTX4JISW2/FDPHz66HgmWPWcCVjODViw8E4y426R2KmfIq7mNjzLDJv3x8Ui2axb oqq7HDP18wu9rdWVjPKH7TP6xgBdHJgv0M0S3ZDx7fcf814eIJ/3rM6hRisVAdiR7COZbB Gq+IqxUx/AjO8spkfA8D5rxAe/0AWIj6Av9KF2Jt9mXKN8HltLjP4rA/t5OseQeKLRCb+3 9m/Gh4UGvmGJGZZRfU500WGieyjL8K28yfbUTzPnhQx/QDFaXEKdUnz86ktaUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AL6mXjOUY6FjrUw2q5fqQxrieVHhbb3UZq+TLjVqK4Y=; b=KNIJXw6/Ng+scwnX0M3DHxBo+L0kN+urgxWhcPPthdadFNKDa1NG0V04XqT9gHgZe21IQv aPLTim/CYPntJCbeITJgiKDLBZrwGC3cHvuDasx62TQZd+J9bQUslGey/UsySxkJdKdUIs KfkVcostbq8Pc6LUD0Vs152ES0IiJcu/XIu2nPRE0rGN0dVW/erhB9Yx4cwJ6ZmmOdOi5E qqzrJ3i9gtkByMhMFBy9ZKZG6eJubVrpy90RzWHRt8G11e+PmMsSMtpCFLTS6uAmDdYGlf nvUwqnqzpq6er5/ZEUY97krTCDo0T1uUmzRX5Zc3V8mTPKNX6kJvZfhzD1XLDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761326; a=rsa-sha256; cv=none; b=vYrNIJJwy1JFItgYCKCf0wykeT3Q+wRggIMzxL0m9Cn9X0Mb3KOHUAQDKyKwYsSP/iNOx/ C5dzbG86YxJTKCxA6b2LFY3BHuZty4WlRMSk4Ui2Zdi7Cmihot3V2xof434JMmRaEvea+c rdYt7iGyfP1H74DE8uA5RmnFcb2TH7r/an8STnDWkI/qWMgRUBDgm4eJgIXwJWDydlEuBX r6o1k70FBgb7mhdKkfxmDGSOFmlP2+z+G+3+rH+zxQK0/cSKa1FmKgwzehy+Um9boUC77j HYdKrlORFeYs6PVlb8nglf3EhjdmmHI05KBce7Wmk4C2V6ivC9Luolu3sbRrBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNZ20rjzglS; Thu, 26 Jan 2023 19:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSkmb078924; Thu, 26 Jan 2023 19:28:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSk1x078923; Thu, 26 Jan 2023 19:28:46 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:46 GMT Message-Id: <202301261928.30QJSk1x078923@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3e0fa81b39a6 - stable/13 - vmm: fix set but not used warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3e0fa81b39a683865ae0594ac38f9c0b7a7b8750 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3e0fa81b39a683865ae0594ac38f9c0b7a7b8750 commit 3e0fa81b39a683865ae0594ac38f9c0b7a7b8750 Author: Robert Wing AuthorDate: 2022-04-10 18:30:16 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:27:01 +0000 vmm: fix set but not used warning (cherry picked from commit 5241577a223d805282f726cb443a566aca653b9f) --- sys/amd64/vmm/vmm_instruction_emul.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/vmm_instruction_emul.c b/sys/amd64/vmm/vmm_instruction_emul.c index ae022210893c..809fa16bce46 100644 --- a/sys/amd64/vmm/vmm_instruction_emul.c +++ b/sys/amd64/vmm/vmm_instruction_emul.c @@ -717,7 +717,7 @@ get_gla(void *vm, int vcpuid, struct vie *vie, struct vm_guest_paging *paging, { struct seg_desc desc; uint64_t cr0, val, rflags; - int error; + int error __diagused; error = vie_read_register(vm, vcpuid, VM_REG_GUEST_CR0, &cr0); KASSERT(error == 0, ("%s: error %d getting cr0", __func__, error)); From nobody Thu Jan 26 19:28:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNb4frPz3bV2Z; Thu, 26 Jan 2023 19:28: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 4P2rNb3qxVz4LvF; Thu, 26 Jan 2023 19:28:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JXCwGYj9FB6XS10Eqf8rDNL9Qs3pnE1y5sjyf4dGh/8=; b=XBNDaKj8nc2veHZMHncgAlppPBOffPWNDgh3ooH373Xwg27+RIcBIFmwGfx+vGsYMvkEPe V1KnAU+rHSYHssZp0lcC4XFMgSQyXAiCp+kqzetQjLlhtmOLaA66eO8DAQp58hE7an/QT6 XeGMGBvOlbCMcIZfGvDEPTAgoMkUKnkY04pxr2rw24unH1dfxA7vkKDhv6qKCw0g1FBQRs oObFI3nBykQuBn8l6NH7qJAnSRdeEXMRMpBgrhteBGhlOI4mpNvJRtfdTjNjD7nQJoKhBg ri+ajk8DM5Yi/dZ1y7ekrzp8uLgfNuSH++Rb9pYtW+GeJUmhdUrwwcImX+kJZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JXCwGYj9FB6XS10Eqf8rDNL9Qs3pnE1y5sjyf4dGh/8=; b=lo5/3n0URy+tHbshsy5SrQMBY2ph9mXEYaYX0cohtRgl+gd8ATqyoQyeMWsu/EBsgzQgqt NY+bdxN7WS1fRttA0Xy9I1cM6+8BLMN5RE9LnmXVjBoCXWVT4vjzHehZCcozKUTkeb28OE 6yDkdp7z6R9hI/RQcNOY/RXmWX9wKgBMCzBFWmAgmEnl9QpDDZZVvfOzTdo966h9Z/9aja bOeQiglrarpiUM32ErGOcDBmN8KB/oL/ALDxPSVqe/WbJA+Rs9OVzWHoTpBSa2IbR+mmiz DrYVdKZsvTF/sdlwkiURopxKyCwcJ4ga4lQ1rcopLWhDEtsMeZPi+99dwcZy4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761327; a=rsa-sha256; cv=none; b=vZrxV/T8I36OMyPd1BF9O9K78nEfUkLQf1NiCqtgEsVbpmwJCd/FUdlwymMU54mYS0nnH9 LqceN5GyDE0AfD8jYQFay/aQHIpQe98orZLp92xlYivVKCpO0rXe0LJp9bNdTe0djiA3hH ueNCfMgohW7BjutuvMQ1G8jhG0rQM/8aM8cR+RvYUxA8pxVbboE53AdHoJLTZLL7Oq5dym qT5zUdU8DHldKgETZTSZC2V5c+2TpYuNNfCJc3Yf2Lddo8lsahgvnb1udJ4xqp0VaIh7I9 2w7JHqzLLCt477f+bETF4vnfRzrE+KaAtOnzDJPDi940A5bEKmgjhrpwKshl0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNb2xhdzgfX; Thu, 26 Jan 2023 19:28:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSl1Z078954; Thu, 26 Jan 2023 19:28:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSlpm078953; Thu, 26 Jan 2023 19:28:47 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:47 GMT Message-Id: <202301261928.30QJSlpm078953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 25ff80a4bccf - stable/13 - vmm: fix set but not used warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 25ff80a4bccf7fe1b5150a7243cc3c32d6fa1940 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=25ff80a4bccf7fe1b5150a7243cc3c32d6fa1940 commit 25ff80a4bccf7fe1b5150a7243cc3c32d6fa1940 Author: Robert Wing AuthorDate: 2022-04-10 18:30:19 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:27:06 +0000 vmm: fix set but not used warning (cherry picked from commit 5a17f489d5848085307e1d5fa7ca142694b4946b) --- sys/amd64/vmm/vmm_ioport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/vmm_ioport.c b/sys/amd64/vmm/vmm_ioport.c index e494bac46f23..e30f796d598c 100644 --- a/sys/amd64/vmm/vmm_ioport.c +++ b/sys/amd64/vmm/vmm_ioport.c @@ -157,7 +157,7 @@ emulate_inout_str(struct vm *vm, int vcpuid, struct vm_exit *vmexit, bool *retu) int vm_handle_inout(struct vm *vm, int vcpuid, struct vm_exit *vmexit, bool *retu) { - int bytes, error; + int bytes __diagused, error; bytes = vmexit->u.inout.bytes; KASSERT(bytes == 1 || bytes == 2 || bytes == 4, From nobody Thu Jan 26 19:28:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rNc52pGz3bTlx; Thu, 26 Jan 2023 19:28: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 4P2rNc4Z1Yz4M3s; Thu, 26 Jan 2023 19:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1iVTThCSr8MHhhq3McjvkfOODCROy9gy8wawA/su7bY=; b=rTGb9lEBLyH6b7v50LV+cHaEoH71xYgovDgAGU9EC1jaF6H3DCL3Xt8wVY/XZDo2VsFGS6 CSOgykpRcqWZL01xLmFAXKbyAIZDb9+K7iC0rCbCgMcD78NyGTQBUfWNWKox2LvGq04XFf T4Wx4DkGfK7vzM8/UFkhrxuhurE45fAwv1cv+QcOZQYiD831Qul7IGyw9CNVIQZ4RJhbeH 7JBHsIP0cU0HvcjJFktKXpeC7d5peRa5VX639cjx1etu1hL1MrAoNChN/kxHzqt2vwb8bA 2PLjmivr7UL7DAue9v42ne6Bh1AQXR4wxCmZobvSk4eAKTEEk0gmDAKXlxa5Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674761328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1iVTThCSr8MHhhq3McjvkfOODCROy9gy8wawA/su7bY=; b=CjB59oE8LQfQYdKAfbUMpiVqHT5FBXvaZXyYT70b1ugPPBFhXERNdvsdTxs3U0NOMsDL82 lteVaUFvoUALAi5lcfPOF6kvt1VEUpR+BCVHCaliYGLwi8Td6wIIanKedBDYp+AWg3vgmx QvpIZTlynAScCUmAwIyDqVx/5lq4PJ+4nNJ9FBF8hmnCsTzh4tof+osPN4k+uIfbONPupl S3o40vIofUFo4RYFnYYeE9axCEgRkQ3NOAstdUoBLe2/3CpEJmGUwenGiFTyKDIxB1YUPf Ir8R6RW/pCrust3FJjkuvv4Z8Tps9OI5bXXHadBjmxRlxhKdYWw31nHpir/bjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674761328; a=rsa-sha256; cv=none; b=Y77si4veL24YqGkYSoRhfoiee7hbGClO2b1i43xFghW32vZeMVKcNUMc/oqqI0nHhMx4vr 3taYlrqlYAeqS5PmgQNBb1ib0xUpofTFfU2kEsXzC8113+c3D6JgrC3SlmPTOo8w7p8/ZJ sIs2jn2iAm5WJG4VedEoRgL0X4XnKTy0LfrxJ0+w0kC9QMC0iD1NOqzDxc7q7Ojp55195t 8p+VAW9b2PdBegTmRXHvPGpdJtcMjOthl0TJRexsadcO1wfxmIb/cEuwfPLAfvIeQDpyXH zS2KnhsbyyZPZ/6m1kXiThxS8Xi5cvg9BtS4fCXwglsS2F1DiHg2j4qplsAsXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rNc3g7gzgwJ; Thu, 26 Jan 2023 19:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJSm03078981; Thu, 26 Jan 2023 19:28:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJSm1p078980; Thu, 26 Jan 2023 19:28:48 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:28:48 GMT Message-Id: <202301261928.30QJSm1p078980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 18003eb854e8 - stable/13 - vmm_instruction_emul.c: fix bhyve build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 18003eb854e89b19dcfa4bdd09474bd664b5b116 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=18003eb854e89b19dcfa4bdd09474bd664b5b116 commit 18003eb854e89b19dcfa4bdd09474bd664b5b116 Author: Robert Wing AuthorDate: 2022-04-10 21:37:24 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:27:12 +0000 vmm_instruction_emul.c: fix bhyve build The __diagused macro was used to cure a "set but not used" warning. This broke the build for bhyve since __diagused is only defined in the kernel. Define __diagused when not building the kernel. Fixes: 5241577a223d ("vmm: fix set but not used warning") Reported by: Jenkins (cherry picked from commit d4e8207317ca1827ba2529203d5cc4e67d836fcb) --- sys/amd64/vmm/vmm_instruction_emul.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/amd64/vmm/vmm_instruction_emul.c b/sys/amd64/vmm/vmm_instruction_emul.c index 809fa16bce46..06dffe6a80b9 100644 --- a/sys/amd64/vmm/vmm_instruction_emul.c +++ b/sys/amd64/vmm/vmm_instruction_emul.c @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#define __diagused #define KASSERT(exp,msg) assert((exp)) #define panic(...) errx(4, __VA_ARGS__) #endif /* _KERNEL */ From nobody Thu Jan 26 19:47:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpK65vtz3bnFv; Thu, 26 Jan 2023 19:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2rpK5Mw1z4Ql7; Thu, 26 Jan 2023 19:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KU5xB4b07ft8+j8+1+6p71NLvTEfNqeBtkcywEFEBUc=; b=tHNTao02onWXvqBikdMzUgoDrJRXdXIOX1HVUR/s0t3upMPiUxpeSK9+V308QIIAFmX2fz ft9mTNE4e8kP/qMSSVOj/H9+DwkWrgEi+JTpFOsuz1lefdvxqKSbjpGcehsgfr6eXna0Vx GYS18yL8STadkZUXnUWsOOWhwNRFgHLwPCZG3gQJDtCSADuuDJ6TIdRhhOu/v0NGUGdPP3 i2R2MGEI/VChDudEvE3a0hEYlJVWo6dHBaGOi/80I1I0JPnWIYDSJCogmqKCtamEX6tJax SuHUKoQ7Wf5N0Q66pEp+Ea9Eh/oKVCgxMXd8buQcCKYE35+nc6Cw5fRfcH/u1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KU5xB4b07ft8+j8+1+6p71NLvTEfNqeBtkcywEFEBUc=; b=DE/ZawR0tji07k3Cer7N82+hIZl1njIyBQoAxelM8a8j7KZBcGGfxT6mBufkZ+v4OjcE75 94Q48hxRmE1BGNm8k4JgxIjGLqUhEHqmOuCsAl+f6r8b6RipQfSSRkbh6RPZMnUbD4ztky zWyP/ofKhdBKdnLombtljCJGpyZv6Tzcm24lazf6Z7ljg+i7ttv/te45EntA7l47BEoHsV HY9sMKqvoq2HLHdFUozQ9YJBA61hJ948mHuSVHiyN47cI8f6Z2nLYIXdEVDOvNSRWi/kBa DdVm1fcCJj6a3j2ORmVMIdhaBtZU2lSjg8QEeL6Z2uqpNkEbEMkeswqhsb2o6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762457; a=rsa-sha256; cv=none; b=QxK7gF58x3jznsUS53tpUjK335p/cz6jxhNJaGRzg1ncFYQPprefL2Dq/gb9DvYACI0Fd1 LbqJOKSZ+srqPw0Q5shyibW/kFTc011kmwp0ZWazjy1Rk7MKv9CXQ/0BQVySE0XNNvv0zT 30wBJRNas4CMtahR5j9yVI8I0Xs2X1P9QgYym8hqzvnXfBDQmzbnigHZ8DnvShFkxxD76O 3e2xu1V0Xn7UvK1PgXPjpTMH4m3wgyS8Hy1IksIOEFzTcJlRNJtXi1vvivkdCcPP+KzERE uvvqyk4jbb4KHc4H0AlVgfnLEiEzz6rIis2L0lvLs7xKwmiaEU2fQ5EcxqQq6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpK4KhgzhMf; Thu, 26 Jan 2023 19:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlbFi006853; Thu, 26 Jan 2023 19:47:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlbZg006852; Thu, 26 Jan 2023 19:47:37 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:37 GMT Message-Id: <202301261947.30QJlbZg006852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 0e81a14657d0 - stable/13 - bhyve: Report an error for invalid UUIDs. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0e81a14657d0f9d6ae3de6b1cf5f8705a1b31993 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0e81a14657d0f9d6ae3de6b1cf5f8705a1b31993 commit 0e81a14657d0f9d6ae3de6b1cf5f8705a1b31993 Author: James Mintram AuthorDate: 2022-06-16 20:17:44 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:28:56 +0000 bhyve: Report an error for invalid UUIDs. Reviewed by: rgrimes, grehan, jhb Differential Revision: https://reviews.freebsd.org/D30050 (cherry picked from commit e16b709e2dcc45f01cf96b5e7f6d48474feff8d7) --- usr.sbin/bhyve/bhyverun.c | 3 ++- usr.sbin/bhyve/smbiostbl.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 70dd52c9b2b4..453c24794907 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1558,7 +1558,8 @@ main(int argc, char *argv[]) } error = smbios_build(ctx); - assert(error == 0); + if (error != 0) + exit(4); if (get_config_bool("acpi_tables")) { error = acpi_build(ctx, guest_ncpus); diff --git a/usr.sbin/bhyve/smbiostbl.c b/usr.sbin/bhyve/smbiostbl.c index ab8dfeeb532b..cafb0343519f 100644 --- a/usr.sbin/bhyve/smbiostbl.c +++ b/usr.sbin/bhyve/smbiostbl.c @@ -671,8 +671,10 @@ smbios_type1_initializer(const struct smbios_structure *template_entry, uint32_t status; uuid_from_string(guest_uuid_str, &uuid, &status); - if (status != uuid_s_ok) + if (status != uuid_s_ok) { + EPRINTLN("Invalid UUID"); return (-1); + } uuid_enc_le(&type1->uuid, &uuid); } else { From nobody Thu Jan 26 19:47:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpL6gnCz3bnLW; Thu, 26 Jan 2023 19:47: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 4P2rpL69C1z3C4X; Thu, 26 Jan 2023 19:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pC7xvV0jUSCoe9W2Nb7TNIFKvMHLXJAhZYzXMo1bg9o=; b=d8JJplEf7r2uciA8QVzUVUY2LylAMMcKUHdr6M0lVxrqyDD3+wPkohGxgVHnexFGM4nvOT Kq4TT65tqM3EZbX7pckSU77jZS7hNhJ1ZdTHwXjlFxfTNsooHXs+SEO5suRQtyVvKzwDdZ yyfaU/d4qI5Qr+9dX39NCQd45PCm+Qm4sy0FMVwCbDrn0nNTXdZYyVWLTkRxTDqqLpoSl5 YkMQMJyzi3a7QN1KI99PZaqgFFCqybtEKHgdTfWhXumtmOC9Iv+TZ4+k6wpBf4AwDXxjjV 9wGIh4b7atMYPO3RWAcRwOpjcsHPp+2gQ/cZQZvMmM88A6YwyrBnntsvPfqWNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pC7xvV0jUSCoe9W2Nb7TNIFKvMHLXJAhZYzXMo1bg9o=; b=RzktVmH/TVnkz2xFxFCGEympklBgkgJtB2rW8t7M7KL4Qt0BYE5A7TG24TwB0Ve9xTerY7 88h5lHA5n73mghTgnRFhLrVyGxIAGWn5AxOvc+LLDyeV0R4bwVfwHHQuyFE8tCnUcBlSGF i3NDGQBdCHoDlqWb68wj0VJwRP179UWmuLJy8JKBIxyKUibt7/VnXF5aHt+FodkbS9Oxo0 dP4SahHIwnAzr/aNWykFfZlYV8OLxwXQxpw9vApOeir2Z8YuIlie7HiAR65Q9/APqxmAmb SSjkEymyEqymxCeBKymEXj1oYdizqj4Nrfpiwu07EC9ntX5gexaUxtJserqtcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762458; a=rsa-sha256; cv=none; b=VN7HbFjXuzDnPz4IeJ+PvL/V887J3/BABR+ZQ6NCFiKet6WLp26dh2BQsxbhzTrUw2ZcWM tRbb9GmzARYVp8xpoCqCjn7MD1uQKvpjZo6kzjzT9MYORCPBvzSGmBxu2NqDyxcMjEchyG ox6C7Y5aQKp4ZpNBpr2TTkKEgE2UW23Ju4rBfdmCQA/Wy8tO9o0m5P13hwkqGISxA2h+Ir cbycsmwf4nW1gTE0IHb9tGdgtb8Li8fgA42fkBbCdhc7+ZMu0sxqEerYlpFUu2kZCNgtgZ exjBY0h0AX2WikXSFDUoP0pEllT1jjrg/0YtrbAb9I+0JTn6+TYYel6+GAhHig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpL4zLszhWb; Thu, 26 Jan 2023 19:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlcWJ006882; Thu, 26 Jan 2023 19:47:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlcxG006881; Thu, 26 Jan 2023 19:47:38 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:38 GMT Message-Id: <202301261947.30QJlcxG006881@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2c86bac0a8e0 - stable/13 - bhyve: Enable suspend/resume support for virtio-blk. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2c86bac0a8e0b462444a9c9f641032c33c41c640 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2c86bac0a8e0b462444a9c9f641032c33c41c640 commit 2c86bac0a8e0b462444a9c9f641032c33c41c640 Author: Vitaliy Gusev AuthorDate: 2022-06-23 18:46:06 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:29:11 +0000 bhyve: Enable suspend/resume support for virtio-blk. Reviewed by: jhb Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D26267 (cherry picked from commit a85bbbea91bddbd27d080fb2ad55a9f5c316adad) --- usr.sbin/bhyve/pci_virtio_block.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/bhyve/pci_virtio_block.c b/usr.sbin/bhyve/pci_virtio_block.c index 8d9945b9e064..1459f0e6c02d 100644 --- a/usr.sbin/bhyve/pci_virtio_block.c +++ b/usr.sbin/bhyve/pci_virtio_block.c @@ -592,6 +592,8 @@ static const struct pci_devemu pci_de_vblk = { .pe_barread = vi_pci_read, #ifdef BHYVE_SNAPSHOT .pe_snapshot = vi_pci_snapshot, + .pe_pause = vi_pci_pause, + .pe_resume = vi_pci_resume, #endif }; PCI_EMUL_SET(pci_de_vblk); From nobody Thu Jan 26 19:47:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpN0MqLz3bn7d; Thu, 26 Jan 2023 19:47: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 4P2rpM6qwgz3C9j; Thu, 26 Jan 2023 19:47:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CYf7PbRln1wE332ai6bNfo4tSwNDg2BARjcJaEVWt8g=; b=FICpW+O5jiNT7T10Y4DeALqRsmBFyvpMUm0KAH8AtuZ5t8yRibW6dmAM6ZO8q3qVnWBGy6 c4oEeLSQURBKmyLe7Ab9ZBhxNatrklm6zexLmNgPH/U0qps+Is50Cuy18QA9Scu+a9wlv+ BkS5V3l9a14/muoPqk2Fo7nkxC9L9KriV/FeqlxoKiBhhKpHz92ukXU2HV0KOdivu+DvLH tmqLPvn+gItU7UDRIv7KIbuDjBnoBOBUCsi8vgV8p+wRi16QCc4QtfoZ4ihY9drH1k2VGy sPKG8Arp4WDvFOG7gWSosvs0/3IeS6Cd7PudgQpAAMzMhYF4Ds6b0diAUldddw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CYf7PbRln1wE332ai6bNfo4tSwNDg2BARjcJaEVWt8g=; b=uhWMCC2IcPFh7F8BrgUjBc03X2ZwKVuycpHpvwRHcBHR63XMvSjSjkyrKrFKBzMCN/eD+K utL04zemKe4ij5KmukidDj6spJ2c/a7SCYGlTkr4AORMicU4SmuwDKiJxMMdyIWnNsCJkv z5p9CWrp8qOfSmqUcMizbLfnJLLgdeuZsT3+v8k2osoedQ2g5Dw7ELNAEuDIsdFB/myO9p +A7AeVPeKUY8jv11ClzTwddMJrIWGY3LsPZ8NMSMhXN4pLwPHPV8coK42gvDzYDpfZJqfp wL985xyiB3C4cM33hKfZb5I4xX6MuBbHWWKsId1GEZ7MgydUqOUjl+l0hjl8xA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762460; a=rsa-sha256; cv=none; b=i/vQ2XAFJ7DHewVdvDciYrf76HkPTUYzmfT3S/au+JaPExDNrZ03b6/8VSt8h5PPjnxKsJ KyaXlVmS1wju8ZsaBdViFd9HObiTl9bRhq5cJsZjks73vfiHjwg80aT3vx0Ky+EmUfcNs5 3P48phyF2QN66QGGj3pEV/+hLtAqTp/ysYa5ouSaf/XuL8jkIpcYsDczrrayJC44Ve34PJ zagdhjKNxw93skMdWKsHAS52XU0+yCToaZ70ygE4vYV3pexB5E4doaZlj0GrvDl/JKGdwa 7MMlnKnM5JHEIfN8lR/d12GiB3jhe22Y0XkKlWoW8vBazkr3jSo9NgCBeHYuyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpM5wdLzhks; Thu, 26 Jan 2023 19:47:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJld5m006908; Thu, 26 Jan 2023 19:47:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJldZx006907; Thu, 26 Jan 2023 19:47:39 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:39 GMT Message-Id: <202301261947.30QJldZx006907@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b22b31b380e8 - stable/13 - bhyve: Snapshot impovements for 'blockif' backend List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b22b31b380e8810f59ada8e60fb87dcddc585054 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b22b31b380e8810f59ada8e60fb87dcddc585054 commit b22b31b380e8810f59ada8e60fb87dcddc585054 Author: Vitaliy Gusev AuthorDate: 2022-06-23 18:46:06 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:29:17 +0000 bhyve: Snapshot impovements for 'blockif' backend When pausing a block I/O device model as part of suspending a VM, wait for all active block I/O requests to finish before saving snapshot data. This avoids having to save information about in-flight requests both in the block_if layer and in storage device models. For the AHCI device model, the queues are now guaranteed to be idle when taking a snapshot, so remove the code to save queue state and rely on the initial state in a resumed VM having all queues already idle. This will also simplify adding NVMe snapshot support in the future. Reviewed by: jhb Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D26267 (cherry picked from commit cd9618bdb274375139080ee4e33ccbdc980513f3) --- usr.sbin/bhyve/block_if.c | 105 ++++------------------------------ usr.sbin/bhyve/block_if.h | 4 -- usr.sbin/bhyve/pci_ahci.c | 142 +--------------------------------------------- 3 files changed, 15 insertions(+), 236 deletions(-) diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index 8ed95300a13c..2ca6da0469ac 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -109,11 +109,9 @@ struct blockif_ctxt { int bc_psectoff; int bc_closing; int bc_paused; - int bc_work_count; pthread_t bc_btid[BLOCKIF_NUMTHR]; pthread_mutex_t bc_mtx; pthread_cond_t bc_cond; - pthread_cond_t bc_paused_cond; pthread_cond_t bc_work_done_cond; blockif_resize_cb *bc_resize_cb; void *bc_resize_cb_arg; @@ -350,6 +348,12 @@ blockif_proc(struct blockif_ctxt *bc, struct blockif_elem *be, uint8_t *buf) (*br->br_callback)(br, err); } +static inline bool +blockif_empty(const struct blockif_ctxt *bc) +{ + return (TAILQ_EMPTY(&bc->bc_pendq) && TAILQ_EMPTY(&bc->bc_busyq)); +} + static void * blockif_thr(void *arg) { @@ -367,30 +371,21 @@ blockif_thr(void *arg) pthread_mutex_lock(&bc->bc_mtx); for (;;) { - bc->bc_work_count++; - - /* We cannot process work if the interface is paused */ - while (!bc->bc_paused && blockif_dequeue(bc, t, &be)) { + while (blockif_dequeue(bc, t, &be)) { pthread_mutex_unlock(&bc->bc_mtx); blockif_proc(bc, be, buf); pthread_mutex_lock(&bc->bc_mtx); blockif_complete(bc, be); } - bc->bc_work_count--; - - /* If none of the workers are busy, notify the main thread */ - if (bc->bc_work_count == 0) + /* If none to work, notify the main thread */ + if (blockif_empty(bc)) pthread_cond_broadcast(&bc->bc_work_done_cond); /* Check ctxt status here to see if exit requested */ if (bc->bc_closing) break; - /* Make all worker threads wait here if the device is paused */ - while (bc->bc_paused) - pthread_cond_wait(&bc->bc_paused_cond, &bc->bc_mtx); - pthread_cond_wait(&bc->bc_cond, &bc->bc_mtx); } pthread_mutex_unlock(&bc->bc_mtx); @@ -623,8 +618,6 @@ blockif_open(nvlist_t *nvl, const char *ident) pthread_mutex_init(&bc->bc_mtx, NULL); pthread_cond_init(&bc->bc_cond, NULL); bc->bc_paused = 0; - bc->bc_work_count = 0; - pthread_cond_init(&bc->bc_paused_cond, NULL); pthread_cond_init(&bc->bc_work_done_cond, NULL); TAILQ_INIT(&bc->bc_freeq); TAILQ_INIT(&bc->bc_pendq); @@ -724,6 +717,7 @@ blockif_request(struct blockif_ctxt *bc, struct blockif_req *breq, err = 0; pthread_mutex_lock(&bc->bc_mtx); + assert(!bc->bc_paused); if (!TAILQ_EMPTY(&bc->bc_freeq)) { /* * Enqueue and inform the block i/o thread @@ -748,7 +742,6 @@ blockif_request(struct blockif_ctxt *bc, struct blockif_req *breq, int blockif_read(struct blockif_ctxt *bc, struct blockif_req *breq) { - assert(bc->bc_magic == BLOCKIF_SIG); return (blockif_request(bc, breq, BOP_READ)); } @@ -756,7 +749,6 @@ blockif_read(struct blockif_ctxt *bc, struct blockif_req *breq) int blockif_write(struct blockif_ctxt *bc, struct blockif_req *breq) { - assert(bc->bc_magic == BLOCKIF_SIG); return (blockif_request(bc, breq, BOP_WRITE)); } @@ -764,7 +756,6 @@ blockif_write(struct blockif_ctxt *bc, struct blockif_req *breq) int blockif_flush(struct blockif_ctxt *bc, struct blockif_req *breq) { - assert(bc->bc_magic == BLOCKIF_SIG); return (blockif_request(bc, breq, BOP_FLUSH)); } @@ -772,7 +763,6 @@ blockif_flush(struct blockif_ctxt *bc, struct blockif_req *breq) int blockif_delete(struct blockif_ctxt *bc, struct blockif_req *breq) { - assert(bc->bc_magic == BLOCKIF_SIG); return (blockif_request(bc, breq, BOP_DELETE)); } @@ -942,7 +932,6 @@ blockif_chs(struct blockif_ctxt *bc, uint16_t *c, uint8_t *h, uint8_t *s) off_t blockif_size(struct blockif_ctxt *bc) { - assert(bc->bc_magic == BLOCKIF_SIG); return (bc->bc_size); } @@ -950,7 +939,6 @@ blockif_size(struct blockif_ctxt *bc) int blockif_sectsz(struct blockif_ctxt *bc) { - assert(bc->bc_magic == BLOCKIF_SIG); return (bc->bc_sectsz); } @@ -958,7 +946,6 @@ blockif_sectsz(struct blockif_ctxt *bc) void blockif_psectsz(struct blockif_ctxt *bc, int *size, int *off) { - assert(bc->bc_magic == BLOCKIF_SIG); *size = bc->bc_psectsz; *off = bc->bc_psectoff; @@ -967,7 +954,6 @@ blockif_psectsz(struct blockif_ctxt *bc, int *size, int *off) int blockif_queuesz(struct blockif_ctxt *bc) { - assert(bc->bc_magic == BLOCKIF_SIG); return (BLOCKIF_MAXREQ - 1); } @@ -975,7 +961,6 @@ blockif_queuesz(struct blockif_ctxt *bc) int blockif_is_ro(struct blockif_ctxt *bc) { - assert(bc->bc_magic == BLOCKIF_SIG); return (bc->bc_rdonly); } @@ -983,7 +968,6 @@ blockif_is_ro(struct blockif_ctxt *bc) int blockif_candelete(struct blockif_ctxt *bc) { - assert(bc->bc_magic == BLOCKIF_SIG); return (bc->bc_candelete); } @@ -999,7 +983,7 @@ blockif_pause(struct blockif_ctxt *bc) bc->bc_paused = 1; /* The interface is paused. Wait for workers to finish their work */ - while (bc->bc_work_count) + while (!blockif_empty(bc)) pthread_cond_wait(&bc->bc_work_done_cond, &bc->bc_mtx); pthread_mutex_unlock(&bc->bc_mtx); @@ -1016,71 +1000,6 @@ blockif_resume(struct blockif_ctxt *bc) pthread_mutex_lock(&bc->bc_mtx); bc->bc_paused = 0; - /* resume the threads waiting for paused */ - pthread_cond_broadcast(&bc->bc_paused_cond); - /* kick the threads after restore */ - pthread_cond_broadcast(&bc->bc_cond); - pthread_mutex_unlock(&bc->bc_mtx); -} - -int -blockif_snapshot_req(struct blockif_req *br, struct vm_snapshot_meta *meta) -{ - int i; - struct iovec *iov; - int ret; - - SNAPSHOT_VAR_OR_LEAVE(br->br_iovcnt, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(br->br_offset, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(br->br_resid, meta, ret, done); - - /* - * XXX: The callback and parameter must be filled by the virtualized - * device that uses the interface, during its init; we're not touching - * them here. - */ - - /* Snapshot the iovecs. */ - for (i = 0; i < br->br_iovcnt; i++) { - iov = &br->br_iov[i]; - - SNAPSHOT_VAR_OR_LEAVE(iov->iov_len, meta, ret, done); - - /* We assume the iov is a guest-mapped address. */ - SNAPSHOT_GUEST2HOST_ADDR_OR_LEAVE(iov->iov_base, iov->iov_len, - false, meta, ret, done); - } - -done: - return (ret); -} - -int -blockif_snapshot(struct blockif_ctxt *bc, struct vm_snapshot_meta *meta) -{ - int ret; - - if (bc->bc_paused == 0) { - fprintf(stderr, "%s: Snapshot failed: " - "interface not paused.\r\n", __func__); - return (ENXIO); - } - - pthread_mutex_lock(&bc->bc_mtx); - - SNAPSHOT_VAR_OR_LEAVE(bc->bc_magic, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_ischr, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_isgeom, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_candelete, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_rdonly, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_size, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_sectsz, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_psectsz, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_psectoff, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(bc->bc_closing, meta, ret, done); - -done: pthread_mutex_unlock(&bc->bc_mtx); - return (ret); } -#endif +#endif /* BHYVE_SNAPSHOT */ diff --git a/usr.sbin/bhyve/block_if.h b/usr.sbin/bhyve/block_if.h index 0407ff43cf94..cf3acc05c98f 100644 --- a/usr.sbin/bhyve/block_if.h +++ b/usr.sbin/bhyve/block_if.h @@ -87,10 +87,6 @@ int blockif_close(struct blockif_ctxt *bc); #ifdef BHYVE_SNAPSHOT void blockif_pause(struct blockif_ctxt *bc); void blockif_resume(struct blockif_ctxt *bc); -int blockif_snapshot_req(struct blockif_req *br, - struct vm_snapshot_meta *meta); -int blockif_snapshot(struct blockif_ctxt *bc, - struct vm_snapshot_meta *meta); #endif #endif /* _BLOCK_IF_H_ */ diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index f63ebd842757..94bf553d7590 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -2560,114 +2560,14 @@ open_fail: } #ifdef BHYVE_SNAPSHOT -static int -pci_ahci_snapshot_save_queues(struct ahci_port *port, - struct vm_snapshot_meta *meta) -{ - int ret; - int idx; - struct ahci_ioreq *ioreq; - - STAILQ_FOREACH(ioreq, &port->iofhd, io_flist) { - idx = ((void *) ioreq - (void *) port->ioreq) / sizeof(*ioreq); - SNAPSHOT_VAR_OR_LEAVE(idx, meta, ret, done); - } - - idx = -1; - SNAPSHOT_VAR_OR_LEAVE(idx, meta, ret, done); - - TAILQ_FOREACH(ioreq, &port->iobhd, io_blist) { - idx = ((void *) ioreq - (void *) port->ioreq) / sizeof(*ioreq); - SNAPSHOT_VAR_OR_LEAVE(idx, meta, ret, done); - - /* - * Snapshot only the busy requests; other requests are - * not valid. - */ - ret = blockif_snapshot_req(&ioreq->io_req, meta); - if (ret != 0) { - fprintf(stderr, "%s: failed to snapshot req\r\n", - __func__); - goto done; - } - } - - idx = -1; - SNAPSHOT_VAR_OR_LEAVE(idx, meta, ret, done); - -done: - return (ret); -} - -static int -pci_ahci_snapshot_restore_queues(struct ahci_port *port, - struct vm_snapshot_meta *meta) -{ - int ret; - int idx; - struct ahci_ioreq *ioreq; - - /* Empty the free queue before restoring. */ - while (!STAILQ_EMPTY(&port->iofhd)) - STAILQ_REMOVE_HEAD(&port->iofhd, io_flist); - - /* Restore the free queue. */ - while (1) { - SNAPSHOT_VAR_OR_LEAVE(idx, meta, ret, done); - if (idx == -1) - break; - - STAILQ_INSERT_TAIL(&port->iofhd, &port->ioreq[idx], io_flist); - } - - /* Restore the busy queue. */ - while (1) { - SNAPSHOT_VAR_OR_LEAVE(idx, meta, ret, done); - if (idx == -1) - break; - - ioreq = &port->ioreq[idx]; - TAILQ_INSERT_TAIL(&port->iobhd, ioreq, io_blist); - - /* - * Restore only the busy requests; other requests are - * not valid. - */ - ret = blockif_snapshot_req(&ioreq->io_req, meta); - if (ret != 0) { - fprintf(stderr, "%s: failed to restore request\r\n", - __func__); - goto done; - } - - /* Re-enqueue the requests in the block interface. */ - if (ioreq->readop) - ret = blockif_read(port->bctx, &ioreq->io_req); - else - ret = blockif_write(port->bctx, &ioreq->io_req); - - if (ret != 0) { - fprintf(stderr, - "%s: failed to re-enqueue request\r\n", - __func__); - goto done; - } - } - -done: - return (ret); -} - static int pci_ahci_snapshot(struct vm_snapshot_meta *meta) { - int i, j, ret; + int i, ret; void *bctx; struct pci_devinst *pi; struct pci_ahci_softc *sc; struct ahci_port *port; - struct ahci_cmd_hdr *hdr; - struct ahci_ioreq *ioreq; pi = meta->dev_data; sc = pi->pi_arg; @@ -2751,43 +2651,7 @@ pci_ahci_snapshot(struct vm_snapshot_meta *meta) SNAPSHOT_VAR_OR_LEAVE(port->fbs, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(port->ioqsz, meta, ret, done); - for (j = 0; j < port->ioqsz; j++) { - ioreq = &port->ioreq[j]; - - /* blockif_req snapshot done only for busy requests. */ - hdr = (struct ahci_cmd_hdr *)(port->cmd_lst + - ioreq->slot * AHCI_CL_SIZE); - SNAPSHOT_GUEST2HOST_ADDR_OR_LEAVE(ioreq->cfis, - 0x80 + hdr->prdtl * sizeof(struct ahci_prdt_entry), - false, meta, ret, done); - - SNAPSHOT_VAR_OR_LEAVE(ioreq->len, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(ioreq->done, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(ioreq->slot, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(ioreq->more, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(ioreq->readop, meta, ret, done); - } - - /* Perform save / restore specific operations. */ - if (meta->op == VM_SNAPSHOT_SAVE) { - ret = pci_ahci_snapshot_save_queues(port, meta); - if (ret != 0) - goto done; - } else if (meta->op == VM_SNAPSHOT_RESTORE) { - ret = pci_ahci_snapshot_restore_queues(port, meta); - if (ret != 0) - goto done; - } else { - ret = EINVAL; - goto done; - } - - ret = blockif_snapshot(port->bctx, meta); - if (ret != 0) { - fprintf(stderr, "%s: failed to restore blockif\r\n", - __func__); - goto done; - } + assert(TAILQ_EMPTY(&port->iobhd)); } done: @@ -2833,7 +2697,7 @@ pci_ahci_resume(struct vmctx *ctx, struct pci_devinst *pi) return (0); } -#endif +#endif /* BHYVE_SNAPSHOT */ /* * Use separate emulation names to distinguish drive and atapi devices From nobody Thu Jan 26 19:47:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpP0vd4z3bn57; Thu, 26 Jan 2023 19:47: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 4P2rpP0TGdz3C5s; Thu, 26 Jan 2023 19:47:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dXanuOx0a3Jl/bVLrytt6ymTXDBkbMam+F+Tj/Os8Ac=; b=x6GVWEHMFBOPgWI9yD2x54mwyhBX5Q39w+9/BY5QQMIHO0fqEq0HJ7CzRD3EaJFkaCmkV7 H2iXhk9WPRRK9GsLvy7VSkPddj00Vz4mbu9Bl16D3F3tjP4cNIglVGFSW2s2n0Y0AD36De /baDWpgbHTnhfY8Et7uMug8KRH5HqNrjhobDm+QjMnDCAdMyZJB2E1ZoMH3cFjk9+zeUDU zj0wck4T2AHpwffIyO/Osre/nPxnB0BId0X7LO5Zgo0Cqn4zmwSLtAtaN5c6phoqLFnDb2 ofsrKbLWrCGCUCS9ERIa2VUHk8zEpaplIekvqFRw0Yb718Q9Zaz2UmIA65jNVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dXanuOx0a3Jl/bVLrytt6ymTXDBkbMam+F+Tj/Os8Ac=; b=eT4eSn7QFXCRxXPI10g04Rl/pwnULvfi/VNjY8MqizV/o99ksdiOIGVuU6X6Poabx+jirU /1rr3Aaw2fJo28GlleztzxuhTxPOKvyHSiwY5WMrZh+mZOQQj/02+DTHl+P5Z3YRLl69v3 PNgAOZjrbcxW4U9nz2nCVFZPeMmvr/t+jML0xk1xiwZY2efpdDfGR8FnUSAb2wA1MxoTEl vdBBXw47JQWx4KSn9MK2dvJz5Kzg7YsB2FJCakP8tDKLvm7A17Wz+u3fl1NObCH03OFOUW fRVqwSzK0UMwiOgbIQ4/BbXz924AYGbxu8pvvIzO7rnnLbeog4jL3OukNs9Xag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762461; a=rsa-sha256; cv=none; b=TuAC/cNoi7YZ9IzZLHc58Pk3I8PG/Mc5cI80z8S7Wf7n9GE8Vmenle4ob7zxeehdOpGyrr DnR6gP58UR3QJjxNzcPZD2Sr0wSD/lLAkMpSq8ZIg2FbXbFOeWhYMdoWQhWqsO44fWeUqp 2nubiY9lJC5Ft6urYlkGJ1Mowro6dxPts/aLSvQXMC9UfFNZPQaCwbCdB5/tQEBtP7V9oS 2LEbLZzAIxzRHkmPMF3hfbMjYjU9Y+8i4uxwIezzrvrK+YtLO6LDTsGp79HsMP2E4kFRR5 gko7ZKvNfuYvsBeVPnR9QE3L7/V1hItTd8yVSM7WkoTTSiFuxdjSofqCPsykOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpN6g3Czhkt; Thu, 26 Jan 2023 19:47:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlePI006934; Thu, 26 Jan 2023 19:47:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlelR006933; Thu, 26 Jan 2023 19:47:40 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:40 GMT Message-Id: <202301261947.30QJlelR006933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: fca65e1baa1d - stable/13 - libvmmapi: Add vm_close() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fca65e1baa1d05d7e98e0f05193cc94c637944b0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fca65e1baa1d05d7e98e0f05193cc94c637944b0 commit fca65e1baa1d05d7e98e0f05193cc94c637944b0 Author: Vitaliy Gusev AuthorDate: 2022-06-30 21:21:57 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:29:22 +0000 libvmmapi: Add vm_close() Currently there is no way to safely free a vm structure without leaking the fd. vm_destroy() closes the fd but also destroys the VM whereas in some cases a VM needs to be opened (vm_open) and then closed (vm_close). Reviewed by: jhb Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D35073 (cherry picked from commit f0880ab791a510391a12f2ab7b01889b6774bca0) --- lib/libvmmapi/vmmapi.c | 9 +++++++++ lib/libvmmapi/vmmapi.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 4fc9c4dc69e9..454d7ee21b36 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -142,6 +142,15 @@ err: return (NULL); } +void +vm_close(struct vmctx *vm) +{ + assert(vm != NULL); + + close(vm->fd); + free(vm); +} + void vm_destroy(struct vmctx *vm) { diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index c8454150f0b1..b26f12f7c60e 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -118,6 +119,7 @@ int vm_munmap_memseg(struct vmctx *ctx, vm_paddr_t gpa, size_t len); int vm_create(const char *name); struct vmctx *vm_open(const char *name); +void vm_close(struct vmctx *ctx); void vm_destroy(struct vmctx *ctx); int vm_limit_rights(struct vmctx *ctx); int vm_parse_memsize(const char *optarg, size_t *memsize); From nobody Thu Jan 26 19:47:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpQ4rb9z3bnTD; Thu, 26 Jan 2023 19:47: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 4P2rpQ1TW9z3CPS; Thu, 26 Jan 2023 19:47:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4J4niHX5Sj78rSRF4FclYFBwR4m6N1CfIjyuhNPK7jM=; b=rRG/EvDGilUxeSeSDTsUsJNodGMZ9tVYJwxmlKGbUvvfxhGYyusZbXTHvNjuqn00J4CtBc HkstwqNJiwkRr85KHvgjD8mMY6qy9w9uUR/TGLwLW83ZJRBPIyNzjZeGhhJbeA42LELdIz 5lN3HpaxJLAQjpJW5rEAQNwLUSGRxdbJSCFZtT9SJDlLqR/xnfYmziHN4VxCb7T6L1eLPl Zfl8xvzC+HCa95Ox5F+pRBfBGVhMyOK2682/uUfQvZ5r7yC/fklO7ra2EX1gMZj0T0JTq/ lAQpTnPTs+0RHQkFpKh1io6UgGoZTbbU1//ptq3UnqW172vAgGO0yVh8CHSlUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4J4niHX5Sj78rSRF4FclYFBwR4m6N1CfIjyuhNPK7jM=; b=Zh1tYFknfwpz81I63lsIvUtom2Ami/dsfkEcVZEcHWaJjuoGG0NrEVKJNKgWCjU/dIvzja Nb7J5Qr0CJtqNxQeCt+n/iBR1UMYcj4HY3bGnDXGCtw+7SAH1EiMOVg5Va0S8pW+8/raWB 400QhNvMltaAgtMxHeK2NMTgn5aTqVCAcHGEFxMjp0M4vpEEI0RyCXFn3S5FoivfzDA7w4 T712arpgCwa9pYO+YimBe5taJxLOec4KE+xvvJZ1FckJ1DXLsSy8nRkUF+jMhvesFeXLsk 7XVxil+DgOngpT2ltZLIX0oyRfKMb1OoSs9o/8HjYDX0DfdDnzshxLP3C3R9uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762462; a=rsa-sha256; cv=none; b=KtiubLM9TfTbl5kFM/K1aUhulHvv1SEi5ZEwQha6Qjv6IkOkH5T2DgoJY/dei455XkkBCm ZNozz1AW4b2yAdWZmPOoETCPsPpjCt4xv7C7/WE+1Mscayf2q98M2g9VMUyETcO+QwaPVz B47ldwj+FlGr+EIljqezzKiixtcFADw7beiK81LA86mXSxlOsgv8Ix4OGnmNJ0uojnPl0t EVU1eeMk2/gXfuavK/3sxc/1CqDZB71yjVAc5v+RoDlSluqW3lBsJWtcfriOsG4RC0aIC0 z5y7ijAChdiCGL1yn0R5IUh0sa+ayaxCKenzpVgTHGpPS225TFVdddUgHWGq4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpQ0VSfzgv6; Thu, 26 Jan 2023 19:47:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlfZU006962; Thu, 26 Jan 2023 19:47:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlf6O006961; Thu, 26 Jan 2023 19:47:41 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:41 GMT Message-Id: <202301261947.30QJlf6O006961@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: be9a57eda106 - stable/13 - vmm: Fix snapshots for AMD CPUs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: be9a57eda10653ff625dccd4b867209d53434a1f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=be9a57eda10653ff625dccd4b867209d53434a1f commit be9a57eda10653ff625dccd4b867209d53434a1f Author: Mihai Burcea AuthorDate: 2022-06-30 23:11:17 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:29:41 +0000 vmm: Fix snapshots for AMD CPUs This patch fixes the AMD implementation for snapshotting. It removes unnecessary vmcb fields that should not be saved and duplicates. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33431 (cherry picked from commit 9aa02d5120ab02bcbbc16fddb63e575df4ed6f61) --- sys/amd64/vmm/amd/svm.c | 146 +++++++++++++++-------------------------------- sys/amd64/vmm/amd/vmcb.c | 1 + sys/amd64/vmm/amd/vmcb.h | 15 +++++ 3 files changed, 62 insertions(+), 100 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 8fbe0817fc8e..4195cc5bd049 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -2422,8 +2422,6 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) /* struct svm_softc is AMD's representation for SVM softc */ struct svm_softc *sc; struct svm_vcpu *vcpu; - struct vmcb *vmcb; - uint64_t val; int i; int ret; @@ -2431,78 +2429,8 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) KASSERT(sc != NULL, ("%s: arg was NULL", __func__)); - SNAPSHOT_VAR_OR_LEAVE(sc->nptp, meta, ret, done); - for (i = 0; i < VM_MAXCPU; i++) { vcpu = &sc->vcpu[i]; - vmcb = &vcpu->vmcb; - - /* VMCB fields for virtual cpu i */ - SNAPSHOT_VAR_OR_LEAVE(vmcb->ctrl.v_tpr, meta, ret, done); - val = vmcb->ctrl.v_tpr; - SNAPSHOT_VAR_OR_LEAVE(val, meta, ret, done); - vmcb->ctrl.v_tpr = val; - - SNAPSHOT_VAR_OR_LEAVE(vmcb->ctrl.asid, meta, ret, done); - val = vmcb->ctrl.np_enable; - SNAPSHOT_VAR_OR_LEAVE(val, meta, ret, done); - vmcb->ctrl.np_enable = val; - - val = vmcb->ctrl.intr_shadow; - SNAPSHOT_VAR_OR_LEAVE(val, meta, ret, done); - vmcb->ctrl.intr_shadow = val; - SNAPSHOT_VAR_OR_LEAVE(vmcb->ctrl.tlb_ctrl, meta, ret, done); - - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad1, - sizeof(vmcb->state.pad1), - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.cpl, meta, ret, done); - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad2, - sizeof(vmcb->state.pad2), - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.efer, meta, ret, done); - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad3, - sizeof(vmcb->state.pad3), - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.cr4, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.cr3, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.cr0, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.dr7, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.dr6, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.rflags, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.rip, meta, ret, done); - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad4, - sizeof(vmcb->state.pad4), - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.rsp, meta, ret, done); - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad5, - sizeof(vmcb->state.pad5), - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.rax, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.star, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.lstar, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.cstar, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.sfmask, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.kernelgsbase, - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.sysenter_cs, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.sysenter_esp, - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.sysenter_eip, - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.cr2, meta, ret, done); - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad6, - sizeof(vmcb->state.pad6), - meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.g_pat, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.dbgctl, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.br_from, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.br_to, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.int_from, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmcb->state.int_to, meta, ret, done); - SNAPSHOT_BUF_OR_LEAVE(vmcb->state.pad7, - sizeof(vmcb->state.pad7), - meta, ret, done); /* Snapshot swctx for virtual cpu i */ SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rbp, meta, ret, done); @@ -2524,15 +2452,6 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr2, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr3, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_dr0, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_dr1, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_dr2, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_dr3, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_dr6, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_dr7, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.host_debugctl, meta, ret, - done); - /* Restore other svm_vcpu struct fields */ /* Restore NEXTRIP field */ @@ -2542,7 +2461,7 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) SNAPSHOT_VAR_OR_LEAVE(vcpu->lastcpu, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vcpu->dirty, meta, ret, done); - /* Restore EPTGEN field - EPT is Extended Page Tabel */ + /* Restore EPTGEN field - EPT is Extended Page Table */ SNAPSHOT_VAR_OR_LEAVE(vcpu->eptgen, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vcpu->asid.gen, meta, ret, done); @@ -2591,6 +2510,7 @@ svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR3, meta); err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR4, meta); + err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DR6, meta); err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DR7, meta); err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RAX, meta); @@ -2640,15 +2560,7 @@ svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_GDTR, meta); /* Specific AMD registers */ - err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_SYSENTER_CS, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_SYSENTER_ESP, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_SYSENTER_EIP, 8), meta); - - err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_NPT_BASE, 8), meta); + err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_INTR_SHADOW, meta); err += vmcb_snapshot_any(sc, vcpu, VMCB_ACCESS(VMCB_OFF_CR_INTERCEPT, 4), meta); @@ -2661,9 +2573,22 @@ svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) err += vmcb_snapshot_any(sc, vcpu, VMCB_ACCESS(VMCB_OFF_INST2_INTERCEPT, 4), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_PAUSE_FILTHRESH, 2), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_PAUSE_FILCNT, 2), meta); + + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_ASID, 4), meta); + err += vmcb_snapshot_any(sc, vcpu, VMCB_ACCESS(VMCB_OFF_TLB_CTRL, 4), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_VIRQ, 8), meta); + + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_EXIT_REASON, 8), meta); err += vmcb_snapshot_any(sc, vcpu, VMCB_ACCESS(VMCB_OFF_EXITINFO1, 8), meta); err += vmcb_snapshot_any(sc, vcpu, @@ -2672,10 +2597,7 @@ svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) VMCB_ACCESS(VMCB_OFF_EXITINTINFO, 8), meta); err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_VIRQ, 8), meta); - - err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_GUEST_PAT, 8), meta); + VMCB_ACCESS(VMCB_OFF_NP_ENABLE, 1), meta); err += vmcb_snapshot_any(sc, vcpu, VMCB_ACCESS(VMCB_OFF_AVIC_BAR, 8), meta); @@ -2687,17 +2609,41 @@ svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) VMCB_ACCESS(VMCB_OFF_AVIC_PT, 8), meta); err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_IO_PERM, 8), meta); + VMCB_ACCESS(VMCB_OFF_CPL, 1), meta); + + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_STAR, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_LSTAR, 8), meta); err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_MSR_PERM, 8), meta); + VMCB_ACCESS(VMCB_OFF_CSTAR, 8), meta); err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_ASID, 4), meta); + VMCB_ACCESS(VMCB_OFF_SFMASK, 8), meta); err += vmcb_snapshot_any(sc, vcpu, - VMCB_ACCESS(VMCB_OFF_EXIT_REASON, 8), meta); + VMCB_ACCESS(VMCB_OFF_KERNELGBASE, 8), meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_INTR_SHADOW, meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_SYSENTER_CS, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_SYSENTER_ESP, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_SYSENTER_EIP, 8), meta); + + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_GUEST_PAT, 8), meta); + + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_DBGCTL, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_BR_FROM, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_BR_TO, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_INT_FROM, 8), meta); + err += vmcb_snapshot_any(sc, vcpu, + VMCB_ACCESS(VMCB_OFF_INT_TO, 8), meta); return (err); } diff --git a/sys/amd64/vmm/amd/vmcb.c b/sys/amd64/vmm/amd/vmcb.c index bf4a6d004bcd..0341e4e6c07c 100644 --- a/sys/amd64/vmm/amd/vmcb.c +++ b/sys/amd64/vmm/amd/vmcb.c @@ -139,6 +139,7 @@ vmcb_access(struct svm_softc *softc, int vcpu, int write, int ident, case 8: case 4: case 2: + case 1: if (write) memcpy(ptr + off, val, bytes); else diff --git a/sys/amd64/vmm/amd/vmcb.h b/sys/amd64/vmm/amd/vmcb.h index 847e1f6ad476..084f4465cb49 100644 --- a/sys/amd64/vmm/amd/vmcb.h +++ b/sys/amd64/vmm/amd/vmcb.h @@ -187,6 +187,8 @@ #define VMCB_OFF_EXC_INTERCEPT VMCB_OFF_CTRL(0x8) #define VMCB_OFF_INST1_INTERCEPT VMCB_OFF_CTRL(0xC) #define VMCB_OFF_INST2_INTERCEPT VMCB_OFF_CTRL(0x10) +#define VMCB_OFF_PAUSE_FILTHRESH VMCB_OFF_CTRL(0x3C) +#define VMCB_OFF_PAUSE_FILCNT VMCB_OFF_CTRL(0x3E) #define VMCB_OFF_IO_PERM VMCB_OFF_CTRL(0x40) #define VMCB_OFF_MSR_PERM VMCB_OFF_CTRL(0x48) #define VMCB_OFF_TSC_OFFSET VMCB_OFF_CTRL(0x50) @@ -197,15 +199,28 @@ #define VMCB_OFF_EXITINFO1 VMCB_OFF_CTRL(0x78) #define VMCB_OFF_EXITINFO2 VMCB_OFF_CTRL(0x80) #define VMCB_OFF_EXITINTINFO VMCB_OFF_CTRL(0x88) +#define VMCB_OFF_NP_ENABLE VMCB_OFF_CTRL(0x90) #define VMCB_OFF_AVIC_BAR VMCB_OFF_CTRL(0x98) #define VMCB_OFF_NPT_BASE VMCB_OFF_CTRL(0xB0) #define VMCB_OFF_AVIC_PAGE VMCB_OFF_CTRL(0xE0) #define VMCB_OFF_AVIC_LT VMCB_OFF_CTRL(0xF0) #define VMCB_OFF_AVIC_PT VMCB_OFF_CTRL(0xF8) + +#define VMCB_OFF_CPL VMCB_OFF_STATE(0xCB) +#define VMCB_OFF_STAR VMCB_OFF_STATE(0x200) +#define VMCB_OFF_LSTAR VMCB_OFF_STATE(0x208) +#define VMCB_OFF_CSTAR VMCB_OFF_STATE(0x210) +#define VMCB_OFF_SFMASK VMCB_OFF_STATE(0x218) +#define VMCB_OFF_KERNELGBASE VMCB_OFF_STATE(0x220) #define VMCB_OFF_SYSENTER_CS VMCB_OFF_STATE(0x228) #define VMCB_OFF_SYSENTER_ESP VMCB_OFF_STATE(0x230) #define VMCB_OFF_SYSENTER_EIP VMCB_OFF_STATE(0x238) #define VMCB_OFF_GUEST_PAT VMCB_OFF_STATE(0x268) +#define VMCB_OFF_DBGCTL VMCB_OFF_STATE(0x270) +#define VMCB_OFF_BR_FROM VMCB_OFF_STATE(0x278) +#define VMCB_OFF_BR_TO VMCB_OFF_STATE(0x280) +#define VMCB_OFF_INT_FROM VMCB_OFF_STATE(0x288) +#define VMCB_OFF_INT_TO VMCB_OFF_STATE(0x290) /* * Encode the VMCB offset and bytes that we want to read from VMCB. From nobody Thu Jan 26 19:47:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpR3Czjz3bn9Z; Thu, 26 Jan 2023 19:47: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 4P2rpR2Npkz3CSC; Thu, 26 Jan 2023 19:47:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzj3NG8Ka40omLy3yYwx3W2W9ZSFqY5O+WQWF13a9us=; b=kj1f4j5vYsIjqDhT4n/L5dIIA9Fai5f+y+EDjLcjk6kngGePZY4GRMT2BkQa9gfDMu5VD5 CwCAowBtE1nuZBIvkP4i0CyEtrWfWNUdIq6qP5Nn7DhX/KZomcTfDbY4W6WM4kp9zosKsf mFYbJ0xJptZF48ph1zA/3HO/o4VvdfVLimJt7ltvwlOUsxcivwCqqhzwo6SwnbrfNVBktQ aY+9hukuuS9ZI7bBUXBSZNMbATPwrv2J9mrxeuZDhjlwQANxTfCUSX7jVh7vLRyo7KedBc oNjDiyLAwxUbyCP0M73t7pUNsSXkDAOdR+dENw1VbhDkywrcyl7WwGi/OE1pvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzj3NG8Ka40omLy3yYwx3W2W9ZSFqY5O+WQWF13a9us=; b=KJq9Evn29Xuw7LlY+gJhJd9ml3AzRBYy0Pcz3+AXhhcxnpQ/C1O7zWPK0X/Zv3oymkv7vP iqF1pUpPyFbepGtqS9Jaj9YKzN2bKaHApmwdk0Cf/ukDvJs/axIcXpyRyhiTFLWByZc83C IS2ww60E6ltcF2/CCc6KxhkYIPGCzAkHjQMCuylAZJl0dkZF56gWKahm64aRnmo+v/k/Mm EQECOmwdGXHyFxECg1hkjbVt1sx5CAH2yJYxdWXjPt0GGzL3x7GERXDRky23pl+y5e29nd ijk8ms3YMNvCDSgLUzft+jCm3g75sX91fz3ThH1oH04h4dhFkxwxfud/pR3xag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762463; a=rsa-sha256; cv=none; b=nrpoXanWx2wFFsZkMwVGW94HxuuXFcLab4802/Z5mjXKTlEcdhVYf9sfHyiDUc0B+i6+DW doTMY1IMMuMnH3kwWU444XelId9QxWppM8q0YPYhH9suV+nnFZJfgledeJSGWMxmM8Sfgi 3oLnPhvNCV4E2KvDoAlh7KW6dzzCWYlUnryZRB+5GoHH7WEI+jS4huwtF8BGV+ZLcfYGla lRcRGSLEZDdHC/dmLmpXV01LUU/tNn7U9u9/U3d8uf3t66cGvqCnp9QkSpUt0ZrzT29W0I OIqxXlT6wehwWLgw3W6qLs928ZCOIRhqgkbyme4+kDE3EpiZHUMjZITwX7NTDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpR1Rf1zhkv; Thu, 26 Jan 2023 19:47:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlh8U006986; Thu, 26 Jan 2023 19:47:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlhbv006985; Thu, 26 Jan 2023 19:47:43 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:43 GMT Message-Id: <202301261947.30QJlhbv006985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 6c708e91f447 - stable/13 - bhyve nvme: Fix Controller init error cases List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6c708e91f447d6e080125bfaff85e5507c9445fb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6c708e91f447d6e080125bfaff85e5507c9445fb commit 6c708e91f447d6e080125bfaff85e5507c9445fb Author: Chuck Tuffli AuthorDate: 2022-08-14 14:47:34 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:29:51 +0000 bhyve nvme: Fix Controller init error cases Fuzzing of bhyve uncovered an assertion failure in the NVMe emulation. Investigation uncovered several corner cases the code did not handle. This change handles several Controller initialization errors, including - bad AQ sizes - bad AQ vm_map_gpa - doorbell writes prior to RDY - doorbell writes to uninitialized queue - CSTS.RDY if CFS set PR: 256317,256319,256320,256322 Reported by: Cheolwoo Myung Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D35453 (cherry picked from commit d7d1becad4b692b97dd1f32706947aae5118294b) --- usr.sbin/bhyve/pci_nvme.c | 55 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 123f91158a21..2bb3f0f8a7d5 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -398,6 +398,7 @@ static void pci_nvme_io_done(struct blockif_req *, int); ((sts) >> NVME_CSTS_REG_RDY_SHIFT & NVME_CSTS_REG_RDY_MASK) #define NVME_CSTS_RDY (1 << NVME_CSTS_REG_RDY_SHIFT) +#define NVME_CSTS_CFS (1 << NVME_CSTS_REG_CFS_SHIFT) /* Completion Queue status word utils */ #define NVME_STATUS_P (1 << NVME_STATUS_P_SHIFT) @@ -1096,30 +1097,61 @@ pci_nvme_reset(struct pci_nvme_softc *sc) pthread_mutex_unlock(&sc->mtx); } -static void +static int pci_nvme_init_controller(struct vmctx *ctx, struct pci_nvme_softc *sc) { uint16_t acqs, asqs; DPRINTF("%s", __func__); - asqs = (sc->regs.aqa & NVME_AQA_REG_ASQS_MASK) + 1; + /* + * NVMe 2.0 states that "enabling a controller while this field is + * cleared to 0h produces undefined results" for both ACQS and + * ASQS. If zero, set CFS and do not become ready. + */ + asqs = ONE_BASED(sc->regs.aqa & NVME_AQA_REG_ASQS_MASK); + if (asqs < 2) { + EPRINTLN("%s: illegal ASQS value %#x (aqa=%#x)", __func__, + asqs - 1, sc->regs.aqa); + sc->regs.csts |= NVME_CSTS_CFS; + return (-1); + } sc->submit_queues[0].size = asqs; sc->submit_queues[0].qbase = vm_map_gpa(ctx, sc->regs.asq, sizeof(struct nvme_command) * asqs); + if (sc->submit_queues[0].qbase == NULL) { + EPRINTLN("%s: ASQ vm_map_gpa(%lx) failed", __func__, + sc->regs.asq); + sc->regs.csts |= NVME_CSTS_CFS; + return (-1); + } DPRINTF("%s mapping Admin-SQ guest 0x%lx, host: %p", __func__, sc->regs.asq, sc->submit_queues[0].qbase); - acqs = ((sc->regs.aqa >> NVME_AQA_REG_ACQS_SHIFT) & - NVME_AQA_REG_ACQS_MASK) + 1; + acqs = ONE_BASED((sc->regs.aqa >> NVME_AQA_REG_ACQS_SHIFT) & + NVME_AQA_REG_ACQS_MASK); + if (acqs < 2) { + EPRINTLN("%s: illegal ACQS value %#x (aqa=%#x)", __func__, + acqs - 1, sc->regs.aqa); + sc->regs.csts |= NVME_CSTS_CFS; + return (-1); + } sc->compl_queues[0].size = acqs; sc->compl_queues[0].qbase = vm_map_gpa(ctx, sc->regs.acq, sizeof(struct nvme_completion) * acqs); + if (sc->compl_queues[0].qbase == NULL) { + EPRINTLN("%s: ACQ vm_map_gpa(%lx) failed", __func__, + sc->regs.acq); + sc->regs.csts |= NVME_CSTS_CFS; + return (-1); + } sc->compl_queues[0].intr_en = NVME_CQ_INTEN; DPRINTF("%s mapping Admin-CQ guest 0x%lx, host: %p", __func__, sc->regs.acq, sc->compl_queues[0].qbase); + + return (0); } static int @@ -2904,6 +2936,12 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, uint64_t idx = belloffset / 8; /* door bell size = 2*int */ int is_sq = (belloffset % 8) < 4; + if ((sc->regs.csts & NVME_CSTS_RDY) == 0) { + WPRINTF("doorbell write prior to RDY (offset=%#lx)\n", + offset); + return; + } + if (belloffset > ((sc->max_queues+1) * 8 - 4)) { WPRINTF("guest attempted an overflow write offset " "0x%lx, val 0x%lx in %s", @@ -2911,6 +2949,12 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, return; } + if (is_sq) { + if (sc->submit_queues[idx].qbase == NULL) + return; + } else if (sc->compl_queues[idx].qbase == NULL) + return; + pci_nvme_handle_doorbell(ctx, sc, idx, is_sq, value); return; } @@ -2977,7 +3021,8 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, sc->regs.cc &= ~NVME_CC_NEN_WRITE_MASK; sc->regs.cc |= ccreg & NVME_CC_NEN_WRITE_MASK; sc->regs.csts &= ~NVME_CSTS_RDY; - } else if (sc->pending_ios == 0) { + } else if ((sc->pending_ios == 0) && + !(sc->regs.csts & NVME_CSTS_CFS)) { sc->regs.csts |= NVME_CSTS_RDY; } break; From nobody Thu Jan 26 19:47:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpS42lsz3bnGK; Thu, 26 Jan 2023 19:47: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 4P2rpS3Hvwz3CTD; Thu, 26 Jan 2023 19:47:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rsNjLAsoWsvqlU7mefzWjMQ+ouySbdisRuqW58s9RTs=; b=CaoMigjzDzkOHQXa2/U4azrK14mEkwvrKd/PLP8pq3IgMmVw6iIVp9WlrUiC69hvrmNyY3 IYMGt+SZbEgfG9aZbTlvT2qO+qVevqIPRbxqILHuefcSlX9PIDNktdJRvMWqSBWVxSKt6Z q7XuVoM7fiySWFBXQkM36bMLywTvLpD4kw9c0Wy/ElBviTMa7t+1ATnc8vzFnulscCP4G/ u65fBMeu0Q5SpmdZYN59kMlRmUyUxKnKeAKbgXQikqDe0hWVYTf3Q2/uX4aHWIR08zZzoj HxxqXMWJ9IVLr8LcMTs1/GI8B0AalF+djYVTJC352eZCxHd0CfJO+QhjY0aVig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rsNjLAsoWsvqlU7mefzWjMQ+ouySbdisRuqW58s9RTs=; b=Ytq+prrOTTjCFh5oLJPs7s9UNMAdPxKnByLzteNPn+aLbhftrJOxm+NzvzODzx3nDeT9Y0 +SvTN7CvQ+vwe71vA7wuiLq3nGpfqJHuzSOsv7hLY3EUUq/MTBBK2vob7X0a9Lysugml+5 2uRWJ7s1hhmnmgTAW1UWQGtwpHzFl1TZ1jHv+DXpo8ct22CKmrxQo34z7Ai1hXHItcM40X C1ia5tiuQTRSYsKJwnEq9BK09ALzr9O+yMMRtexiiAgVPxKhI6+jXc2jCYgLrNdAASs3Yp 0BYumwJLumcVi4KZosrhGIiW2Ubo4oM6gca9bEQIf60KJS2ti0v5nq7B7mNJ7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762464; a=rsa-sha256; cv=none; b=gDNKBGUo6WDH4CbbNw9ATuu9zM7PrxErN9gFkpppljD5ZQnt+IbCDT+N8qHl6TPOnMCDKW 2MbeLFcYUE5xkPtmXOXZwfZRppJLzwIt8Nl1Y4JxYSkWx/Tc5HpmfLKHYnfZvB/Z0pwsC/ pmyGB2qm8MzDOgJzqvPw5RvSgKId1Urylw6R9bV1v7BcDFMU6lpVrZAsXfZBB0OFFWRgKJ yW+MjXrCcZVtYHdTcWijIzA5/iMJ4lh1s+KBJazvk1MHbE7BHhyZr3kD9ywj0k31nfOWu3 xyZo72Tm7i72hIC12QWmpwL67y4lswhxYbTDbjOlvEQYsYKe4mFuUup32U5+AQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpS2PK0zhkw; Thu, 26 Jan 2023 19:47:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlim9007012; Thu, 26 Jan 2023 19:47:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJliJJ007011; Thu, 26 Jan 2023 19:47:44 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:44 GMT Message-Id: <202301261947.30QJliJJ007011@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 542eea73db5d - stable/13 - bhyve: Address some warnings in bhyverun.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 542eea73db5deb6a7f4cd8dda4f5ef0735bb7cf3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=542eea73db5deb6a7f4cd8dda4f5ef0735bb7cf3 commit 542eea73db5deb6a7f4cd8dda4f5ef0735bb7cf3 Author: Mark Johnston AuthorDate: 2022-09-08 23:08:10 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:30:16 +0000 bhyve: Address some warnings in bhyverun.c - Add const and __unused qualifiers where appropriate. - Localize some global variables. - Consistently spell vmexit state as "vme" in vmexit handlers, to avoid shadowing the global vm_exit state array. - Similarly, avoid shadowing "optarg". MFC after: 2 weeks (cherry picked from commit 65b8109b4e07ea1fe105ab10539d5baa0a613a14) --- usr.sbin/bhyve/bhyverun.c | 111 ++++++++++++++++++++++++---------------------- 1 file changed, 57 insertions(+), 54 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 453c24794907..7d62ff58919e 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -199,7 +199,7 @@ static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip); static struct vm_exit *vmexit; -struct bhyvestats { +static struct bhyvestats { uint64_t vmexit_bogus; uint64_t vmexit_reqidle; uint64_t vmexit_hlt; @@ -210,7 +210,7 @@ struct bhyvestats { uint64_t cpu_switch_direct; } stats; -struct mt_vmm_info { +static struct mt_vmm_info { pthread_t mt_thr; struct vmctx *mt_ctx; int mt_vcpu; @@ -584,7 +584,7 @@ fbsdrun_addcpu(struct vmctx *ctx, int newcpu, uint64_t rip, bool suspend) } static int -fbsdrun_deletecpu(struct vmctx *ctx, int vcpu) +fbsdrun_deletecpu(int vcpu) { if (!CPU_ISSET(vcpu, &cpumask)) { @@ -597,8 +597,8 @@ fbsdrun_deletecpu(struct vmctx *ctx, int vcpu) } static int -vmexit_handle_notify(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu, - uint32_t eax) +vmexit_handle_notify(struct vmctx *ctx __unused, struct vm_exit *vme __unused, + int *pvcpu __unused, uint32_t eax __unused) { #if BHYVE_DEBUG /* @@ -687,7 +687,7 @@ vmexit_wrmsr(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) } static int -vmexit_spinup_ap(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) +vmexit_spinup_ap(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu __unused) { (void)spinup_ap(ctx, vme->u.spinup_ap.vcpu, vme->u.spinup_ap.rip); @@ -714,22 +714,22 @@ vmexit_vmx_desc(uint32_t exit_reason) } static int -vmexit_vmx(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_vmx(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) { fprintf(stderr, "vm exit[%d]\n", *pvcpu); fprintf(stderr, "\treason\t\tVMX\n"); - fprintf(stderr, "\trip\t\t0x%016lx\n", vmexit->rip); - fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length); - fprintf(stderr, "\tstatus\t\t%d\n", vmexit->u.vmx.status); - fprintf(stderr, "\texit_reason\t%u (%s)\n", vmexit->u.vmx.exit_reason, - vmexit_vmx_desc(vmexit->u.vmx.exit_reason)); + fprintf(stderr, "\trip\t\t0x%016lx\n", vme->rip); + fprintf(stderr, "\tinst_length\t%d\n", vme->inst_length); + fprintf(stderr, "\tstatus\t\t%d\n", vme->u.vmx.status); + fprintf(stderr, "\texit_reason\t%u (%s)\n", vme->u.vmx.exit_reason, + vmexit_vmx_desc(vme->u.vmx.exit_reason)); fprintf(stderr, "\tqualification\t0x%016lx\n", - vmexit->u.vmx.exit_qualification); - fprintf(stderr, "\tinst_type\t\t%d\n", vmexit->u.vmx.inst_type); - fprintf(stderr, "\tinst_error\t\t%d\n", vmexit->u.vmx.inst_error); + vme->u.vmx.exit_qualification); + fprintf(stderr, "\tinst_type\t\t%d\n", vme->u.vmx.inst_type); + fprintf(stderr, "\tinst_error\t\t%d\n", vme->u.vmx.inst_error); #ifdef DEBUG_EPT_MISCONFIG - if (vmexit->u.vmx.exit_reason == EXIT_REASON_EPT_MISCONFIG) { + if (vme->u.vmx.exit_reason == EXIT_REASON_EPT_MISCONFIG) { vm_get_register(ctx, *pvcpu, VMCS_IDENT(VMCS_GUEST_PHYSICAL_ADDRESS), &ept_misconfig_gpa); @@ -747,24 +747,25 @@ vmexit_vmx(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_svm(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_svm(struct vmctx *ctx __unused, struct vm_exit *vme, int *pvcpu) { fprintf(stderr, "vm exit[%d]\n", *pvcpu); fprintf(stderr, "\treason\t\tSVM\n"); - fprintf(stderr, "\trip\t\t0x%016lx\n", vmexit->rip); - fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length); - fprintf(stderr, "\texitcode\t%#lx\n", vmexit->u.svm.exitcode); - fprintf(stderr, "\texitinfo1\t%#lx\n", vmexit->u.svm.exitinfo1); - fprintf(stderr, "\texitinfo2\t%#lx\n", vmexit->u.svm.exitinfo2); + fprintf(stderr, "\trip\t\t0x%016lx\n", vme->rip); + fprintf(stderr, "\tinst_length\t%d\n", vme->inst_length); + fprintf(stderr, "\texitcode\t%#lx\n", vme->u.svm.exitcode); + fprintf(stderr, "\texitinfo1\t%#lx\n", vme->u.svm.exitinfo1); + fprintf(stderr, "\texitinfo2\t%#lx\n", vme->u.svm.exitinfo2); return (VMEXIT_ABORT); } static int -vmexit_bogus(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_bogus(struct vmctx *ctx __unused, struct vm_exit *vme, + int *pvcpu __unused) { - assert(vmexit->inst_length == 0); + assert(vme->inst_length == 0); stats.vmexit_bogus++; @@ -772,10 +773,11 @@ vmexit_bogus(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_reqidle(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_reqidle(struct vmctx *ctx __unused, struct vm_exit *vme, + int *pvcpu __unused) { - assert(vmexit->inst_length == 0); + assert(vme->inst_length == 0); stats.vmexit_reqidle++; @@ -783,7 +785,8 @@ vmexit_reqidle(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_hlt(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_hlt(struct vmctx *ctx __unused, struct vm_exit *vme __unused, + int *pvcpu __unused) { stats.vmexit_hlt++; @@ -797,7 +800,8 @@ vmexit_hlt(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_pause(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_pause(struct vmctx *ctx __unused, struct vm_exit *vme __unused, + int *pvcpu __unused) { stats.vmexit_pause++; @@ -806,10 +810,10 @@ vmexit_pause(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_mtrap(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_mtrap(struct vmctx *ctx __unused, struct vm_exit *vme, int *pvcpu) { - assert(vmexit->inst_length == 0); + assert(vme->inst_length == 0); stats.vmexit_mtrap++; @@ -825,7 +829,7 @@ vmexit_mtrap(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) { int err, i, cs_d; struct vie *vie; @@ -833,7 +837,7 @@ vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) stats.vmexit_inst_emul++; - vie = &vmexit->u.inst_emul.vie; + vie = &vme->u.inst_emul.vie; if (!vie->decoded) { /* * Attempt to decode in userspace as a fallback. This allows @@ -842,22 +846,21 @@ vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) * emulation. */ vie_restart(vie); - mode = vmexit->u.inst_emul.paging.cpu_mode; - cs_d = vmexit->u.inst_emul.cs_d; + mode = vme->u.inst_emul.paging.cpu_mode; + cs_d = vme->u.inst_emul.cs_d; if (vmm_decode_instruction(mode, cs_d, vie) != 0) goto fail; if (vm_set_register(ctx, *pvcpu, VM_REG_GUEST_RIP, - vmexit->rip + vie->num_processed) != 0) + vme->rip + vie->num_processed) != 0) goto fail; } - err = emulate_mem(ctx, *pvcpu, vmexit->u.inst_emul.gpa, - vie, &vmexit->u.inst_emul.paging); - + err = emulate_mem(ctx, *pvcpu, vme->u.inst_emul.gpa, + vie, &vme->u.inst_emul.paging); if (err) { if (err == ESRCH) { EPRINTLN("Unhandled memory access to 0x%lx\n", - vmexit->u.inst_emul.gpa); + vme->u.inst_emul.gpa); } goto fail; } @@ -868,7 +871,7 @@ fail: fprintf(stderr, "Failed to emulate instruction sequence [ "); for (i = 0; i < vie->num_valid; i++) fprintf(stderr, "%02x", vie->inst[i]); - FPRINTLN(stderr, " ] at 0x%lx", vmexit->rip); + FPRINTLN(stderr, " ] at 0x%lx", vme->rip); return (VMEXIT_ABORT); } @@ -876,13 +879,13 @@ static pthread_mutex_t resetcpu_mtx = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t resetcpu_cond = PTHREAD_COND_INITIALIZER; static int -vmexit_suspend(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_suspend(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) { enum vm_suspend_how how; - how = vmexit->u.suspended.how; + how = vme->u.suspended.how; - fbsdrun_deletecpu(ctx, *pvcpu); + fbsdrun_deletecpu(*pvcpu); if (*pvcpu != BSP) { pthread_mutex_lock(&resetcpu_mtx); @@ -916,7 +919,8 @@ vmexit_suspend(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_debug(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_debug(struct vmctx *ctx __unused, struct vm_exit *vme __unused, + int *pvcpu) { #ifdef BHYVE_SNAPSHOT @@ -930,10 +934,10 @@ vmexit_debug(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } static int -vmexit_breakpoint(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_breakpoint(struct vmctx *ctx __unused, struct vm_exit *vme, int *pvcpu) { - gdb_cpu_breakpoint(*pvcpu, vmexit); + gdb_cpu_breakpoint(*pvcpu, vme); return (VMEXIT_CONTINUE); } @@ -1222,24 +1226,24 @@ parse_simple_config_file(const char *path) } static void -parse_gdb_options(char *optarg) +parse_gdb_options(const char *opt) { const char *sport; char *colon; - if (optarg[0] == 'w') { + if (opt[0] == 'w') { set_config_bool("gdb.wait", true); - optarg++; + opt++; } - colon = strrchr(optarg, ':'); + colon = strrchr(opt, ':'); if (colon == NULL) { - sport = optarg; + sport = opt; } else { *colon = '\0'; colon++; sport = colon; - set_config_value("gdb.address", optarg); + set_config_value("gdb.address", opt); } set_config_value("gdb.port", sport); @@ -1262,8 +1266,7 @@ main(int argc, char *argv[]) struct vmctx *ctx; uint64_t rip; size_t memsize; - const char *value, *vmname; - char *optstr; + const char *optstr, *value, *vmname; #ifdef BHYVE_SNAPSHOT char *restore_file; struct restore_state rstate; From nobody Thu Jan 26 19:47:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpT59L7z3bnTL; Thu, 26 Jan 2023 19:47: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 4P2rpT3t7sz3CWd; Thu, 26 Jan 2023 19:47:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8EeOGlmD67oTLCBBjvjvlyZsdf4I+jJhC9tNSgI1KrI=; b=XXdC91wXlP7gRojT/PGZvFKAEKWB/zGRbvi/ENY81G+ITQUlaNXh20JfO5Y72YycbruWij xqkvR5F5OWJLUtkShU2vkB5U1WkbqtFIf9Lv09fqc4eHx7IAhDfkoLuiCQI6IRztl0tut1 OPBJ/Tgt/W0pZwUF7uRBSfO6HirJ3E4yM2Ace52pH0s7x5fLIEom5/YXViZ071CVUm3cv6 DpT+y46sfjYbyCaREi88k+d/gGDoqMUeEfdnNZ8rg/CUycZCUa92+F2GrxGTcjq0Z1syBc btU08KxuvEStRDPoF4SOO4QZqnLhRMltlRpZmrSHc/92PYO4vFxzK0ltlxVHvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8EeOGlmD67oTLCBBjvjvlyZsdf4I+jJhC9tNSgI1KrI=; b=yxjgLm53hDFnK7pwixKdcpdEhx0w8srrDOFQBingYehOnpctY+DwjQYr1V5agTj9sUd2Y6 Dx8RZr705igYJxdA4YElgNj0XsS+YGWR7aRyQbMHAoe8AN9zWUdfhvXZEcI5XQ8eORarVK rhouIZWK3ZMe6yqGqFquI1DXxgLrG5fJAWnIS9AWrJZuaDggUfRUtgOQbe+WXdLJGRAMYA reMpRgGxXDvFFPdPKCFcMmUiIRfUeVzfCOQzw8retIEyO5HSkREbx4/G1wshVmpsU60Z+s VIgQCFKFaT1nsCSdG4Od2FDSkzPWI1F6whjeqY5Cvgk4yTHYtU9/boCAKSrO1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762465; a=rsa-sha256; cv=none; b=OybcZoi8p1FcZ/HLmGLbu7fe0ma9pGVgAp5rX73Ke/xpdynsu90X9eaDv/qoRf+eh3ofZB Gw3313S71kpFfcrKGyCcfbNt1U5GVuPe7rLVkGDAWDD3POb59VV2LUqFJqE/qk9jQ8Y1gt hD+RLhJBWom88GDlkrelGD36AxWuSvkHmQ18CZJZPe33stFRPX8vl3pDGllMQInsTyp7CW 0BCSkqEDUwsrrmy2pALxjrAnHdVdZBHpWJ4ngcZa5wNTxg1OCA9UGox1WwZCgnYGgcpIkB DoUbF/UOE1jUOI47PgpIPGG7UsbuNPjzDcXZhTP0UrxkUoVXYO53WJhgQk84ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpT2zLnzhMg; Thu, 26 Jan 2023 19:47:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJljlo007040; Thu, 26 Jan 2023 19:47:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJljHH007039; Thu, 26 Jan 2023 19:47:45 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:45 GMT Message-Id: <202301261947.30QJljHH007039@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a9cbcdd96f4b - stable/13 - bhyve: Use designated initializers for virtio_consts tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a9cbcdd96f4bcbd8dcb76c937e3918aa0c5daebb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a9cbcdd96f4bcbd8dcb76c937e3918aa0c5daebb commit a9cbcdd96f4bcbd8dcb76c937e3918aa0c5daebb Author: Mark Johnston AuthorDate: 2022-09-29 15:53:04 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:30:39 +0000 bhyve: Use designated initializers for virtio_consts tables This is easier to read and addresses some compiler warnings. One might expect these tables to be read-only but it seems that the snapshot/restore code may modify them. MFC after: 2 weeks (cherry picked from commit 6cb261620da3a9888f7a09244a8efe691c12ae47) --- usr.sbin/bhyve/pci_virtio_9p.c | 18 ++++++++---------- usr.sbin/bhyve/pci_virtio_block.c | 24 ++++++++++++------------ usr.sbin/bhyve/pci_virtio_console.c | 18 ++++++++---------- usr.sbin/bhyve/pci_virtio_input.c | 16 +++++++--------- usr.sbin/bhyve/pci_virtio_net.c | 23 +++++++++++------------ usr.sbin/bhyve/pci_virtio_rnd.c | 16 ++++++---------- usr.sbin/bhyve/pci_virtio_scsi.c | 17 ++++++++--------- 7 files changed, 60 insertions(+), 72 deletions(-) diff --git a/usr.sbin/bhyve/pci_virtio_9p.c b/usr.sbin/bhyve/pci_virtio_9p.c index c741f0f94d9f..1ed0eba6a8ed 100644 --- a/usr.sbin/bhyve/pci_virtio_9p.c +++ b/usr.sbin/bhyve/pci_virtio_9p.c @@ -105,18 +105,16 @@ static int pci_vt9p_cfgread(void *, int, int, uint32_t *); static void pci_vt9p_neg_features(void *, uint64_t); static struct virtio_consts vt9p_vi_consts = { - "vt9p", /* our name */ - 1, /* we support 1 virtqueue */ - VT9P_CONFIGSPACESZ, /* config reg size */ - pci_vt9p_reset, /* reset */ - pci_vt9p_notify, /* device-wide qnotify */ - pci_vt9p_cfgread, /* read virtio config */ - NULL, /* write virtio config */ - pci_vt9p_neg_features, /* apply negotiated features */ - (1 << 0), /* our capabilities */ + .vc_name = "vt9p", + .vc_nvq = 1, + .vc_cfgsize = VT9P_CONFIGSPACESZ, + .vc_reset = pci_vt9p_reset, + .vc_qnotify = pci_vt9p_notify, + .vc_cfgread = pci_vt9p_cfgread, + .vc_apply_features = pci_vt9p_neg_features, + .vc_hv_caps = (1 << 0), }; - static void pci_vt9p_reset(void *vsc) { diff --git a/usr.sbin/bhyve/pci_virtio_block.c b/usr.sbin/bhyve/pci_virtio_block.c index 1459f0e6c02d..8cdcbb777691 100644 --- a/usr.sbin/bhyve/pci_virtio_block.c +++ b/usr.sbin/bhyve/pci_virtio_block.c @@ -208,19 +208,19 @@ static int pci_vtblk_snapshot(void *, struct vm_snapshot_meta *); #endif static struct virtio_consts vtblk_vi_consts = { - "vtblk", /* our name */ - 1, /* we support 1 virtqueue */ - sizeof(struct vtblk_config), /* config reg size */ - pci_vtblk_reset, /* reset */ - pci_vtblk_notify, /* device-wide qnotify */ - pci_vtblk_cfgread, /* read PCI config */ - pci_vtblk_cfgwrite, /* write PCI config */ - NULL, /* apply negotiated features */ - VTBLK_S_HOSTCAPS, /* our capabilities */ + .vc_name = "vtblk", + .vc_nvq = 1, + .vc_cfgsize = sizeof(struct vtblk_config), + .vc_reset = pci_vtblk_reset, + .vc_qnotify = pci_vtblk_notify, + .vc_cfgread = pci_vtblk_cfgread, + .vc_cfgwrite = pci_vtblk_cfgwrite, + .vc_apply_features = NULL, + .vc_hv_caps = VTBLK_S_HOSTCAPS, #ifdef BHYVE_SNAPSHOT - pci_vtblk_pause, /* pause blockif threads */ - pci_vtblk_resume, /* resume blockif threads */ - pci_vtblk_snapshot, /* save / restore device state */ + .vc_pause = pci_vtblk_pause, + .vc_resume = pci_vtblk_resume, + .vc_snapshot = pci_vtblk_snapshot, #endif }; diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index 341f0857bade..663ead8d165e 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -169,18 +169,16 @@ static void pci_vtcon_announce_port(struct pci_vtcon_port *); static void pci_vtcon_open_port(struct pci_vtcon_port *, bool); static struct virtio_consts vtcon_vi_consts = { - "vtcon", /* our name */ - VTCON_MAXQ, /* we support VTCON_MAXQ virtqueues */ - sizeof(struct pci_vtcon_config), /* config reg size */ - pci_vtcon_reset, /* reset */ - NULL, /* device-wide qnotify */ - pci_vtcon_cfgread, /* read virtio config */ - pci_vtcon_cfgwrite, /* write virtio config */ - pci_vtcon_neg_features, /* apply negotiated features */ - VTCON_S_HOSTCAPS, /* our capabilities */ + .vc_name = "vtcon", + .vc_nvq = VTCON_MAXQ, + .vc_cfgsize = sizeof(struct pci_vtcon_config), + .vc_reset = pci_vtcon_reset, + .vc_cfgread = pci_vtcon_cfgread, + .vc_cfgwrite = pci_vtcon_cfgwrite, + .vc_apply_features = pci_vtcon_neg_features, + .vc_hv_caps = VTCON_S_HOSTCAPS, }; - static void pci_vtcon_reset(void *vsc) { diff --git a/usr.sbin/bhyve/pci_virtio_input.c b/usr.sbin/bhyve/pci_virtio_input.c index 4517333b1603..f0fdd9fcb7b0 100644 --- a/usr.sbin/bhyve/pci_virtio_input.c +++ b/usr.sbin/bhyve/pci_virtio_input.c @@ -159,15 +159,13 @@ static int pci_vtinput_cfgread(void *, int, int, uint32_t *); static int pci_vtinput_cfgwrite(void *, int, int, uint32_t); static struct virtio_consts vtinput_vi_consts = { - "vtinput", /* our name */ - VTINPUT_MAXQ, /* we support 1 virtqueue */ - sizeof(struct vtinput_config), /* config reg size */ - pci_vtinput_reset, /* reset */ - NULL, /* device-wide qnotify -- not used */ - pci_vtinput_cfgread, /* read virtio config */ - pci_vtinput_cfgwrite, /* write virtio config */ - NULL, /* apply negotiated features */ - 0, /* our capabilities */ + .vc_name = "vtinput", + .vc_nvq = VTINPUT_MAXQ, + .vc_cfgsize = sizeof(struct vtinput_config), + .vc_reset = pci_vtinput_reset, + .vc_cfgread = pci_vtinput_cfgread, + .vc_cfgwrite = pci_vtinput_cfgwrite, + .vc_hv_caps = 0, }; static void diff --git a/usr.sbin/bhyve/pci_virtio_net.c b/usr.sbin/bhyve/pci_virtio_net.c index 4122356ce70b..035c4e808cfe 100644 --- a/usr.sbin/bhyve/pci_virtio_net.c +++ b/usr.sbin/bhyve/pci_virtio_net.c @@ -145,19 +145,18 @@ static int pci_vtnet_snapshot(void *, struct vm_snapshot_meta *); #endif static struct virtio_consts vtnet_vi_consts = { - "vtnet", /* our name */ - VTNET_MAXQ - 1, /* we currently support 2 virtqueues */ - sizeof(struct virtio_net_config), /* config reg size */ - pci_vtnet_reset, /* reset */ - NULL, /* device-wide qnotify -- not used */ - pci_vtnet_cfgread, /* read PCI config */ - pci_vtnet_cfgwrite, /* write PCI config */ - pci_vtnet_neg_features, /* apply negotiated features */ - VTNET_S_HOSTCAPS, /* our capabilities */ + .vc_name = "vtnet", + .vc_nvq = VTNET_MAXQ - 1, + .vc_cfgsize = sizeof(struct virtio_net_config), + .vc_reset = pci_vtnet_reset, + .vc_cfgread = pci_vtnet_cfgread, + .vc_cfgwrite = pci_vtnet_cfgwrite, + .vc_apply_features = pci_vtnet_neg_features, + .vc_hv_caps = VTNET_S_HOSTCAPS, #ifdef BHYVE_SNAPSHOT - pci_vtnet_pause, /* pause rx/tx threads */ - pci_vtnet_resume, /* resume rx/tx threads */ - pci_vtnet_snapshot, /* save / restore device state */ + .vc_pause = pci_vtnet_pause, + .vc_resume = pci_vtnet_resume, + .vc_snapshot = pci_vtnet_snapshot, #endif }; diff --git a/usr.sbin/bhyve/pci_virtio_rnd.c b/usr.sbin/bhyve/pci_virtio_rnd.c index db8dc143e0b2..4049494177f9 100644 --- a/usr.sbin/bhyve/pci_virtio_rnd.c +++ b/usr.sbin/bhyve/pci_virtio_rnd.c @@ -84,18 +84,14 @@ static void pci_vtrnd_reset(void *); static void pci_vtrnd_notify(void *, struct vqueue_info *); static struct virtio_consts vtrnd_vi_consts = { - "vtrnd", /* our name */ - 1, /* we support 1 virtqueue */ - 0, /* config reg size */ - pci_vtrnd_reset, /* reset */ - pci_vtrnd_notify, /* device-wide qnotify */ - NULL, /* read virtio config */ - NULL, /* write virtio config */ - NULL, /* apply negotiated features */ - 0, /* our capabilities */ + .vc_name = "vtrnd", + .vc_nvq = 1, + .vc_cfgsize = 0, + .vc_reset = pci_vtrnd_reset, + .vc_qnotify = pci_vtrnd_notify, + .vc_hv_caps = 0, }; - static void pci_vtrnd_reset(void *vsc) { diff --git a/usr.sbin/bhyve/pci_virtio_scsi.c b/usr.sbin/bhyve/pci_virtio_scsi.c index b33e6e432dea..236780e3b113 100644 --- a/usr.sbin/bhyve/pci_virtio_scsi.c +++ b/usr.sbin/bhyve/pci_virtio_scsi.c @@ -248,15 +248,14 @@ static int pci_vtscsi_init_queue(struct pci_vtscsi_softc *, static int pci_vtscsi_init(struct vmctx *, struct pci_devinst *, nvlist_t *); static struct virtio_consts vtscsi_vi_consts = { - "vtscsi", /* our name */ - VTSCSI_MAXQ, /* we support 2+n virtqueues */ - sizeof(struct pci_vtscsi_config), /* config reg size */ - pci_vtscsi_reset, /* reset */ - NULL, /* device-wide qnotify */ - pci_vtscsi_cfgread, /* read virtio config */ - pci_vtscsi_cfgwrite, /* write virtio config */ - pci_vtscsi_neg_features, /* apply negotiated features */ - 0, /* our capabilities */ + .vc_name = "vtscsi", + .vc_nvq = VTSCSI_MAXQ, + .vc_cfgsize = sizeof(struct pci_vtscsi_config), + .vc_reset = pci_vtscsi_reset, + .vc_cfgread = pci_vtscsi_cfgread, + .vc_cfgwrite = pci_vtscsi_cfgwrite, + .vc_apply_features = pci_vtscsi_neg_features, + .vc_hv_caps = 0, }; static void * From nobody Thu Jan 26 19:47:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpW0gNFz3bnWm; Thu, 26 Jan 2023 19:47: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 4P2rpV4tJVz3Chp; Thu, 26 Jan 2023 19:47:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T6vEO1HFPQtoqDdRT/k1HxOhPO3RMMvwDUW/OBY71vk=; b=SwxBSQ7L0SbyaNX94vkbcida9eJFRYWHzXFXBLEe9sBvpuOHBCq3NzAn1fn9sYC7YTQWAe Rg5Ot9/OjeXgTCEotOK5sQT9EUM+LN9KNGgGtp5NAmO0OjCZJ7te+GVQ8TiYzp8jY3oMoz E7Z7mn9NIYv+N/+NJV4oXiyVNPG1f0jiCDlS1zzCfH90TL+cYG086CDWaiDy21WV1gmbtk P6mqvf1cKpYRyikLe+Pe31Qe3h4La8EvEWgrA5m45j3Ps0IHTBqz/b4G8FFMk2NcFrGUPd jyoUsnWmIW9fKrEdq0kndPKxuBL7bI/XSbXX8tUXwtpIfRfkS6VCsuMgLi9mEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T6vEO1HFPQtoqDdRT/k1HxOhPO3RMMvwDUW/OBY71vk=; b=orNWx266YsxldBMPL7Od8N9mkuGDa/9rQJkd0G+XMqw5sNSbAurEPbFx1P2S3/V3UTX99M 3IN2TmEB3CDljfH04JJvY3WPLb23D5qyRbkBKud0OOlZi4KPLFlcaGEq+Qffx41sKvvDPn Ck8DVAP3fPHblcvdKW9+pfm2pSmVbOX8JZKFDM3cZLlF0wW1Q2o0CLJgwWnWWhIzdlFUhG ojVG58izKOEQJiI/WP2Ae/lkl9V65rFnXjjqxrJqYh9mHDL6BqP2JYHxkNx95tjnFvWGi/ cSl5M0SU9bCv5vsc+8wvF16D+mHkiQ9mmVwwceid8ufECTQ9p+7BErjkY31m+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762466; a=rsa-sha256; cv=none; b=k66DfQL6KflMa8aSBJkLBS4IRlozxOz9G/exHolajcKzUP+JF3nvTevwwqmTopG8PNqCh/ pIxKVj5L98zFs9+gx93uyEyzwjeCtDmEeHHFwf4kbaZbKaXDMCl5LLhgebwG/lLgefGI7e 5c0STxYPsSMSVUD+o7eGBclpdhPXTnkLzf5cUzj5I/+lAdCzY7JHf+Id831C1EdwynUrMQ hL7DNgbSGTTycMYrcH6F3qwld8U1QuhCW+2kJ5/RiDROzAYEJxA4PeVt10vL4lbSqLJsYm CaP5oLHeUhCQdGl5T6esGzrRmT+Uqv3HuC+RvEORBm2dIotJX7rJf+QQzXsNxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpV3yzmzhbZ; Thu, 26 Jan 2023 19:47:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlkAA007064; Thu, 26 Jan 2023 19:47:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlkeP007063; Thu, 26 Jan 2023 19:47:46 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:46 GMT Message-Id: <202301261947.30QJlkeP007063@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e696777efa60 - stable/13 - bhyve: Annotate unused function parameters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e696777efa6086d0c1a78aad3a9b8c967166acb3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e696777efa6086d0c1a78aad3a9b8c967166acb3 commit e696777efa6086d0c1a78aad3a9b8c967166acb3 Author: Mark Johnston AuthorDate: 2022-10-08 15:22:38 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:30:45 +0000 bhyve: Annotate unused function parameters MFC after: 1 week (cherry picked from commit 98d920d9cf0b439ea351c60353626946971684f6) --- sys/amd64/vmm/vmm_instruction_emul.c | 29 +++++++++++++------------ usr.sbin/bhyve/block_if.c | 5 +++-- usr.sbin/bhyve/bootrom.c | 5 +++-- usr.sbin/bhyve/fwctl.c | 14 ++++++------ usr.sbin/bhyve/gdb.c | 6 +++--- usr.sbin/bhyve/inout.c | 4 ++-- usr.sbin/bhyve/mevent.c | 2 +- usr.sbin/bhyve/mptbl.c | 4 ++-- usr.sbin/bhyve/net_backends.c | 16 +++++++------- usr.sbin/bhyve/pci_ahci.c | 15 +++++++------ usr.sbin/bhyve/pci_e82545.c | 21 +++++++++--------- usr.sbin/bhyve/pci_emul.c | 42 +++++++++++++++++++----------------- usr.sbin/bhyve/pci_fbuf.c | 9 ++++---- usr.sbin/bhyve/pci_hda.c | 18 +++++++++------- usr.sbin/bhyve/pci_hostbridge.c | 6 +++--- usr.sbin/bhyve/pci_irq.c | 2 +- usr.sbin/bhyve/pci_lpc.c | 23 ++++++++++---------- usr.sbin/bhyve/pci_passthru.c | 16 +++++++------- usr.sbin/bhyve/pci_uart.c | 14 ++++++------ usr.sbin/bhyve/pci_virtio_9p.c | 12 +++++------ usr.sbin/bhyve/pci_virtio_block.c | 9 +++++--- usr.sbin/bhyve/pci_virtio_console.c | 15 +++++++------ usr.sbin/bhyve/pci_virtio_input.c | 5 +++-- usr.sbin/bhyve/pci_virtio_net.c | 5 +++-- usr.sbin/bhyve/pci_virtio_rnd.c | 3 ++- usr.sbin/bhyve/pci_virtio_scsi.c | 15 ++++++------- usr.sbin/bhyve/pci_xhci.c | 29 +++++++++++++------------ usr.sbin/bhyve/pctestdev.c | 17 ++++++++------- usr.sbin/bhyve/pm.c | 30 +++++++++++++------------- usr.sbin/bhyve/post.c | 4 ++-- usr.sbin/bhyve/rfb.c | 7 +++--- usr.sbin/bhyve/rtc.c | 4 ++-- usr.sbin/bhyve/snapshot.c | 2 +- usr.sbin/bhyve/usb_mouse.c | 8 +++---- usr.sbin/bhyve/vga.c | 21 +++++++++--------- usr.sbin/bhyve/virtio.c | 13 +++++------ usr.sbin/bhyve/xmsr.c | 6 ++++-- 37 files changed, 238 insertions(+), 218 deletions(-) diff --git a/sys/amd64/vmm/vmm_instruction_emul.c b/sys/amd64/vmm/vmm_instruction_emul.c index 06dffe6a80b9..0474147e68ff 100644 --- a/sys/amd64/vmm/vmm_instruction_emul.c +++ b/sys/amd64/vmm/vmm_instruction_emul.c @@ -624,8 +624,7 @@ emulate_mov(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_movx(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, - void *arg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) { int error, size; enum vm_reg_name reg; @@ -712,9 +711,9 @@ emulate_movx(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, * Helper function to calculate and validate a linear address. */ static int -get_gla(void *vm, int vcpuid, struct vie *vie, struct vm_guest_paging *paging, - int opsize, int addrsize, int prot, enum vm_reg_name seg, - enum vm_reg_name gpr, uint64_t *gla, int *fault) +get_gla(void *vm, int vcpuid, struct vie *vie __unused, + struct vm_guest_paging *paging, int opsize, int addrsize, int prot, + enum vm_reg_name seg, enum vm_reg_name gpr, uint64_t *gla, int *fault) { struct seg_desc desc; uint64_t cr0, val, rflags; @@ -948,7 +947,7 @@ done: static int emulate_stos(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - struct vm_guest_paging *paging, mem_region_read_t memread, + struct vm_guest_paging *paging __unused, mem_region_read_t memread __unused, mem_region_write_t memwrite, void *arg) { int error, opsize, repeat; @@ -1186,7 +1185,7 @@ emulate_or(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_cmp(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, void *arg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) { int error, size; uint64_t regop, memop, op1, op2, rflags, rflags2; @@ -1278,7 +1277,7 @@ emulate_cmp(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_test(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, void *arg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) { int error, size; uint64_t op1, rflags, rflags2; @@ -1328,7 +1327,7 @@ emulate_test(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_bextr(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, - mem_region_write_t memwrite, void *arg) + mem_region_write_t memwrite __unused, void *arg) { uint64_t src1, src2, dst, rflags; unsigned start, len; @@ -1404,7 +1403,7 @@ done: static int emulate_add(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, void *arg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) { int error, size; uint64_t nval, rflags, rflags2, val1, val2; @@ -1460,7 +1459,7 @@ emulate_add(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_sub(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, void *arg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) { int error, size; uint64_t nval, rflags, rflags2, val1, val2; @@ -1660,7 +1659,7 @@ emulate_pop(void *vm, int vcpuid, uint64_t mmio_gpa, struct vie *vie, static int emulate_group1(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - struct vm_guest_paging *paging, mem_region_read_t memread, + struct vm_guest_paging *paging __unused, mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) { int error; @@ -1688,7 +1687,8 @@ emulate_group1(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_bittest(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, + void *memarg) { uint64_t val, rflags; int error, bitmask, bitoff; @@ -1730,7 +1730,8 @@ emulate_bittest(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, static int emulate_twob_group15(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, - mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) + mem_region_read_t memread, mem_region_write_t memwrite __unused, + void *memarg) { int error; uint64_t buf; diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index 2ca6da0469ac..558a1629f074 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -397,7 +397,8 @@ blockif_thr(void *arg) } static void -blockif_sigcont_handler(int signal, enum ev_type type, void *arg) +blockif_sigcont_handler(int signal __unused, enum ev_type type __unused, + void *arg __unused) { struct blockif_sig_elem *bse; @@ -641,7 +642,7 @@ err: } static void -blockif_resized(int fd, enum ev_type type, void *arg) +blockif_resized(int fd, enum ev_type type __unused, void *arg) { struct blockif_ctxt *bc; struct stat sb; diff --git a/usr.sbin/bhyve/bootrom.c b/usr.sbin/bhyve/bootrom.c index 2406d4539e55..b851d39b485c 100644 --- a/usr.sbin/bhyve/bootrom.c +++ b/usr.sbin/bhyve/bootrom.c @@ -84,8 +84,9 @@ static struct bootrom_var_state { * that the Firmware Volume area is writable and persistent. */ static int -bootrom_var_mem_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, - int size, uint64_t *val, void *arg1, long arg2) +bootrom_var_mem_handler(struct vmctx *ctx __unused, int vcpu __unused, int dir, + uint64_t addr, int size, uint64_t *val, void *arg1 __unused, + long arg2 __unused) { off_t offset; diff --git a/usr.sbin/bhyve/fwctl.c b/usr.sbin/bhyve/fwctl.c index 7027e34a77f0..b4bfecb2bedd 100644 --- a/usr.sbin/bhyve/fwctl.c +++ b/usr.sbin/bhyve/fwctl.c @@ -119,7 +119,7 @@ errop_set(int err) } static int -errop_start(uint32_t len) +errop_start(uint32_t len __unused) { errop_code = ENOENT; @@ -128,7 +128,7 @@ errop_start(uint32_t len) } static void -errop_data(uint32_t data, uint32_t len) +errop_data(uint32_t data __unused, uint32_t len __unused) { /* ignore */ @@ -144,7 +144,7 @@ errop_result(struct iovec **data) } static void -errop_done(struct iovec *data) +errop_done(struct iovec *data __unused) { /* assert data is NULL */ @@ -200,7 +200,7 @@ fget_start(uint32_t len) } static void -fget_data(uint32_t data, uint32_t len) +fget_data(uint32_t data, uint32_t len __unused) { *((uint32_t *) &fget_str[fget_cnt]) = data; @@ -244,7 +244,7 @@ fget_result(struct iovec **data, int val) } static void -fget_done(struct iovec *data) +fget_done(struct iovec *data __unused) { /* nothing needs to be freed */ @@ -520,8 +520,8 @@ fwctl_outl(uint32_t val) } static int -fwctl_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg) +fwctl_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, + int port __unused, int bytes, uint32_t *eax, void *arg __unused) { if (in) { diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index 81f132e17350..cf0d5995a5d3 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -1704,7 +1704,7 @@ check_command(int fd) } static void -gdb_readable(int fd, enum ev_type event, void *arg) +gdb_readable(int fd, enum ev_type event __unused, void *arg __unused) { ssize_t nread; int pending; @@ -1743,14 +1743,14 @@ gdb_readable(int fd, enum ev_type event, void *arg) } static void -gdb_writable(int fd, enum ev_type event, void *arg) +gdb_writable(int fd, enum ev_type event __unused, void *arg __unused) { send_pending_data(fd); } static void -new_connection(int fd, enum ev_type event, void *arg) +new_connection(int fd, enum ev_type event __unused, void *arg) { int optval, s; diff --git a/usr.sbin/bhyve/inout.c b/usr.sbin/bhyve/inout.c index b65d273f4320..02b38c9b7a99 100644 --- a/usr.sbin/bhyve/inout.c +++ b/usr.sbin/bhyve/inout.c @@ -66,8 +66,8 @@ static struct { } inout_handlers[MAX_IOPORTS]; static int -default_inout(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg) +default_inout(struct vmctx *ctx __unused, int vcpu __unused, int in, + int port __unused, int bytes, uint32_t *eax, void *arg __unused) { if (in) { switch (bytes) { diff --git a/usr.sbin/bhyve/mevent.c b/usr.sbin/bhyve/mevent.c index b7749ed67745..8a6267f4acbd 100644 --- a/usr.sbin/bhyve/mevent.c +++ b/usr.sbin/bhyve/mevent.c @@ -99,7 +99,7 @@ mevent_qunlock(void) } static void -mevent_pipe_read(int fd, enum ev_type type, void *param) +mevent_pipe_read(int fd, enum ev_type type __unused, void *param __unused) { char buf[MEVENT_MAX]; int status; diff --git a/usr.sbin/bhyve/mptbl.c b/usr.sbin/bhyve/mptbl.c index 56582256a857..6e3f78a22888 100644 --- a/usr.sbin/bhyve/mptbl.c +++ b/usr.sbin/bhyve/mptbl.c @@ -213,8 +213,8 @@ mpt_count_ioint_entries(void) } static void -mpt_generate_pci_int(int bus, int slot, int pin, int pirq_pin, int ioapic_irq, - void *arg) +mpt_generate_pci_int(int bus, int slot, int pin, int pirq_pin __unused, + int ioapic_irq, void *arg) { int_entry_ptr *mpiep, mpie; diff --git a/usr.sbin/bhyve/net_backends.c b/usr.sbin/bhyve/net_backends.c index 8440b801ce6a..6fb04fddc857 100644 --- a/usr.sbin/bhyve/net_backends.c +++ b/usr.sbin/bhyve/net_backends.c @@ -222,7 +222,7 @@ tap_cleanup(struct net_backend *be) static int tap_init(struct net_backend *be, const char *devname, - nvlist_t *nvl, net_be_rxeof_t cb, void *param) + nvlist_t *nvl __unused, net_be_rxeof_t cb, void *param) { struct tap_priv *priv = NET_BE_PRIV(be); char tbuf[80]; @@ -397,15 +397,15 @@ tap_recv_disable(struct net_backend *be) } static uint64_t -tap_get_cap(struct net_backend *be) +tap_get_cap(struct net_backend *be __unused) { return (0); /* no capabilities for now */ } static int -tap_set_cap(struct net_backend *be, uint64_t features, - unsigned vnet_hdr_len) +tap_set_cap(struct net_backend *be __unused, uint64_t features, + unsigned vnet_hdr_len) { return ((features || vnet_hdr_len) ? -1 : 0); @@ -452,7 +452,7 @@ DATA_SET(net_backend_set, vmnet_backend); #define NG_SBUF_MAX_SIZE (4 * 1024 * 1024) static int -ng_init(struct net_backend *be, const char *devname, +ng_init(struct net_backend *be, const char *devname __unused, nvlist_t *nvl, net_be_rxeof_t cb, void *param) { struct tap_priv *p = NET_BE_PRIV(be); @@ -677,8 +677,8 @@ netmap_get_cap(struct net_backend *be) } static int -netmap_set_cap(struct net_backend *be, uint64_t features, - unsigned vnet_hdr_len) +netmap_set_cap(struct net_backend *be, uint64_t features __unused, + unsigned vnet_hdr_len) { return (netmap_set_vnet_hdr_len(be, vnet_hdr_len)); @@ -686,7 +686,7 @@ netmap_set_cap(struct net_backend *be, uint64_t features, static int netmap_init(struct net_backend *be, const char *devname, - nvlist_t *nvl, net_be_rxeof_t cb, void *param) + nvlist_t *nvl __unused, net_be_rxeof_t cb, void *param) { struct netmap_priv *priv = NET_BE_PRIV(be); diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index 94bf553d7590..d4000b7a63c6 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -2189,8 +2189,9 @@ pci_ahci_host_write(struct pci_ahci_softc *sc, uint64_t offset, uint64_t value) } static void -pci_ahci_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +pci_ahci_write(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { struct pci_ahci_softc *sc = pi->pi_arg; @@ -2283,8 +2284,8 @@ pci_ahci_port_read(struct pci_ahci_softc *sc, uint64_t offset) } static uint64_t -pci_ahci_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t regoff, int size) +pci_ahci_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t regoff, int size) { struct pci_ahci_softc *sc = pi->pi_arg; uint64_t offset; @@ -2411,7 +2412,7 @@ pci_ahci_hd_legacy_config(nvlist_t *nvl, const char *opts) } static int -pci_ahci_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_ahci_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) { char bident[sizeof("XX:XX:XX")]; char node_name[sizeof("XX")]; @@ -2659,7 +2660,7 @@ done: } static int -pci_ahci_pause(struct vmctx *ctx, struct pci_devinst *pi) +pci_ahci_pause(struct vmctx *ctx __unused, struct pci_devinst *pi) { struct pci_ahci_softc *sc; struct blockif_ctxt *bctxt; @@ -2679,7 +2680,7 @@ pci_ahci_pause(struct vmctx *ctx, struct pci_devinst *pi) } static int -pci_ahci_resume(struct vmctx *ctx, struct pci_devinst *pi) +pci_ahci_resume(struct vmctx *ctx __unused, struct pci_devinst *pi) { struct pci_ahci_softc *sc; struct blockif_ctxt *bctxt; diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index a38edef72e20..8785935dafc8 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -407,15 +407,15 @@ e82545_init_eeprom(struct e82545_softc *sc) } static void -e82545_write_mdi(struct e82545_softc *sc, uint8_t reg_addr, - uint8_t phy_addr, uint32_t data) +e82545_write_mdi(struct e82545_softc *sc __unused, uint8_t reg_addr, + uint8_t phy_addr, uint32_t data) { DPRINTF("Write mdi reg:0x%x phy:0x%x data: 0x%x", reg_addr, phy_addr, data); } static uint32_t -e82545_read_mdi(struct e82545_softc *sc, uint8_t reg_addr, - uint8_t phy_addr) +e82545_read_mdi(struct e82545_softc *sc __unused, uint8_t reg_addr, + uint8_t phy_addr) { //DPRINTF("Read mdi reg:0x%x phy:0x%x", reg_addr, phy_addr); switch (reg_addr) { @@ -554,7 +554,7 @@ e82545_eecd_strobe(struct e82545_softc *sc) } static void -e82545_itr_callback(int fd, enum ev_type type, void *param) +e82545_itr_callback(int fd __unused, enum ev_type type __unused, void *param) { uint32_t new; struct e82545_softc *sc = param; @@ -830,7 +830,7 @@ e82545_bufsz(uint32_t rctl) /* XXX one packet at a time until this is debugged */ static void -e82545_rx_callback(int fd, enum ev_type type, void *param) +e82545_rx_callback(int fd __unused, enum ev_type type __unused, void *param) { struct e82545_softc *sc = param; struct e1000_rx_desc *rxd; @@ -2111,8 +2111,9 @@ e82545_read_register(struct e82545_softc *sc, uint32_t offset) } static void -e82545_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t offset, int size, uint64_t value) +e82545_write(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { struct e82545_softc *sc; @@ -2161,8 +2162,8 @@ e82545_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, } static uint64_t -e82545_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t offset, int size) +e82545_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct e82545_softc *sc; uint64_t retval; diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 3d3fc80c6293..2087c6597852 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -1162,9 +1162,9 @@ msicap_cfgwrite(struct pci_devinst *pi, int capoff, int offset, pci_lintr_update(pi); } -void -pciecap_cfgwrite(struct pci_devinst *pi, int capoff, int offset, - int bytes, uint32_t val) +static void +pciecap_cfgwrite(struct pci_devinst *pi, int capoff __unused, int offset, + int bytes, uint32_t val) { /* XXX don't write to the readonly parts */ @@ -1275,8 +1275,9 @@ pci_emul_iscap(struct pci_devinst *pi, int offset) } static int -pci_emul_fallback_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, - int size, uint64_t *val, void *arg1, long arg2) +pci_emul_fallback_handler(struct vmctx *ctx __unused, int vcpu __unused, + int dir, uint64_t addr __unused, int size __unused, uint64_t *val, + void *arg1 __unused, long arg2 __unused) { /* * Ignore writes; return 0xff's for reads. The mem read code @@ -1291,7 +1292,7 @@ pci_emul_fallback_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, static int pci_emul_ecfg_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, - int bytes, uint64_t *val, void *arg1, long arg2) + int bytes, uint64_t *val, void *arg1 __unused, long arg2 __unused) { int bus, slot, func, coff, in; @@ -1487,8 +1488,8 @@ init_pci(struct vmctx *ctx) } static void -pci_apic_prt_entry(int bus, int slot, int pin, int pirq_pin, int ioapic_irq, - void *arg) +pci_apic_prt_entry(int bus __unused, int slot, int pin, int pirq_pin __unused, + int ioapic_irq, void *arg __unused) { dsdt_line(" Package ()"); @@ -1501,8 +1502,8 @@ pci_apic_prt_entry(int bus, int slot, int pin, int pirq_pin, int ioapic_irq, } static void -pci_pirq_prt_entry(int bus, int slot, int pin, int pirq_pin, int ioapic_irq, - void *arg) +pci_pirq_prt_entry(int bus __unused, int slot, int pin, int pirq_pin, + int ioapic_irq __unused, void *arg __unused) { char *name; @@ -2213,8 +2214,8 @@ pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot, int func, static int cfgenable, cfgbus, cfgslot, cfgfunc, cfgoff; static int -pci_emul_cfgaddr(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg) +pci_emul_cfgaddr(struct vmctx *ctx __unused, int vcpu __unused, int in, + int port __unused, int bytes, uint32_t *eax, void *arg __unused) { uint32_t x; @@ -2244,7 +2245,7 @@ INOUT_PORT(pci_cfgaddr, CONF1_ADDR_PORT, IOPORT_F_INOUT, pci_emul_cfgaddr); static int pci_emul_cfgdata(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg) + uint32_t *eax, void *arg __unused) { int coff; @@ -2465,7 +2466,8 @@ struct pci_emul_dsoftc { #define PCI_EMUL_MSIX_MSGS 16 static int -pci_emul_dinit(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_emul_dinit(struct vmctx *ctx __unused, struct pci_devinst *pi, + nvlist_t *nvl __unused) { int error; struct pci_emul_dsoftc *sc; @@ -2494,8 +2496,9 @@ pci_emul_dinit(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) } static void -pci_emul_diow(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t offset, int size, uint64_t value) +pci_emul_diow(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { int i; struct pci_emul_dsoftc *sc = pi->pi_arg; @@ -2561,8 +2564,8 @@ pci_emul_diow(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, } static uint64_t -pci_emul_dior(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t offset, int size) +pci_emul_dior(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_emul_dsoftc *sc = pi->pi_arg; uint32_t value; @@ -2620,9 +2623,8 @@ pci_emul_dior(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, #ifdef BHYVE_SNAPSHOT int -pci_emul_snapshot(struct vm_snapshot_meta *meta) +pci_emul_snapshot(struct vm_snapshot_meta *meta __unused) { - return (0); } #endif diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index e772f29770e6..43b53931f14c 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -117,8 +117,9 @@ static struct pci_fbuf_softc *fbuf_sc; #define PCI_FBUF_MSI_MSGS 4 static void -pci_fbuf_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +pci_fbuf_write(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { struct pci_fbuf_softc *sc; uint8_t *p; @@ -171,8 +172,8 @@ pci_fbuf_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, } static uint64_t -pci_fbuf_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size) +pci_fbuf_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_fbuf_softc *sc; uint8_t *p; diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 1a2a3844ab20..9ebfbfbaa5bf 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -890,7 +890,7 @@ hda_get_offset_stream(uint8_t stream_ind) } static void -hda_set_gctl(struct hda_softc *sc, uint32_t offset, uint32_t old) +hda_set_gctl(struct hda_softc *sc, uint32_t offset, uint32_t old __unused) { uint32_t value = hda_get_reg_by_offset(sc, offset); @@ -913,7 +913,8 @@ hda_set_statests(struct hda_softc *sc, uint32_t offset, uint32_t old) } static void -hda_set_corbwp(struct hda_softc *sc, uint32_t offset, uint32_t old) +hda_set_corbwp(struct hda_softc *sc, uint32_t offset __unused, + uint32_t old __unused) { hda_corb_run(sc); } @@ -939,7 +940,7 @@ hda_set_corbctl(struct hda_softc *sc, uint32_t offset, uint32_t old) } static void -hda_set_rirbctl(struct hda_softc *sc, uint32_t offset, uint32_t old) +hda_set_rirbctl(struct hda_softc *sc, uint32_t offset, uint32_t old __unused) { uint32_t value = hda_get_reg_by_offset(sc, offset); int err; @@ -1025,7 +1026,7 @@ hda_set_sdctl(struct hda_softc *sc, uint32_t offset, uint32_t old) } static void -hda_set_sdctl2(struct hda_softc *sc, uint32_t offset, uint32_t old) +hda_set_sdctl2(struct hda_softc *sc, uint32_t offset, uint32_t old __unused) { uint32_t value = hda_get_reg_by_offset(sc, offset); @@ -1256,8 +1257,9 @@ pci_hda_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) } static void -pci_hda_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +pci_hda_write(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { struct hda_softc *sc = pi->pi_arg; int err; @@ -1273,8 +1275,8 @@ pci_hda_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, } static uint64_t -pci_hda_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size) +pci_hda_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct hda_softc *sc = pi->pi_arg; uint64_t value = 0; diff --git a/usr.sbin/bhyve/pci_hostbridge.c b/usr.sbin/bhyve/pci_hostbridge.c index 44649715ff88..50c334d8e408 100644 --- a/usr.sbin/bhyve/pci_hostbridge.c +++ b/usr.sbin/bhyve/pci_hostbridge.c @@ -37,7 +37,8 @@ __FBSDID("$FreeBSD$"); #include "pci_emul.h" static int -pci_hostbridge_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_hostbridge_init(struct vmctx *ctx __unused, struct pci_devinst *pi, + nvlist_t *nvl) { const char *value; u_int vendor, device; @@ -65,9 +66,8 @@ pci_hostbridge_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) } static int -pci_amd_hostbridge_legacy_config(nvlist_t *nvl, const char *opts) +pci_amd_hostbridge_legacy_config(nvlist_t *nvl, const char *opts __unused) { - set_config_value_node(nvl, "vendor", "0x1022"); /* AMD */ set_config_value_node(nvl, "devid", "0x7432"); /* made up */ diff --git a/usr.sbin/bhyve/pci_irq.c b/usr.sbin/bhyve/pci_irq.c index 4ecb3eddb07f..ff41f6ec88dc 100644 --- a/usr.sbin/bhyve/pci_irq.c +++ b/usr.sbin/bhyve/pci_irq.c @@ -134,7 +134,7 @@ pci_irq_use(int irq) } void -pci_irq_init(struct vmctx *ctx) +pci_irq_init(struct vmctx *ctx __unused) { int i; diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c index 35f93ded68ec..5425a7935973 100644 --- a/usr.sbin/bhyve/pci_lpc.c +++ b/usr.sbin/bhyve/pci_lpc.c @@ -171,7 +171,7 @@ lpc_uart_intr_assert(void *arg) } static void -lpc_uart_intr_deassert(void *arg) +lpc_uart_intr_deassert(void *arg __unused) { /* * The COM devices on the LPC bus generate edge triggered interrupts, @@ -180,8 +180,8 @@ lpc_uart_intr_deassert(void *arg) } static int -lpc_uart_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg) +lpc_uart_io_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, + int port, int bytes, uint32_t *eax, void *arg) { int offset; struct lpc_uart_softc *sc = arg; @@ -398,8 +398,8 @@ pci_lpc_uart_dsdt(void) LPC_DSDT(pci_lpc_uart_dsdt); static int -pci_lpc_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int coff, int bytes, uint32_t val) +pci_lpc_cfgwrite(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, + int coff, int bytes, uint32_t val) { int pirq_pin; @@ -419,14 +419,16 @@ pci_lpc_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, } static void -pci_lpc_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +pci_lpc_write(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi __unused, int baridx __unused, + uint64_t offset __unused, int size __unused, uint64_t value __unused) { } static uint64_t -pci_lpc_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size) +pci_lpc_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi __unused, int baridx __unused, uint64_t offset __unused, + int size __unused) { return (0); } @@ -435,9 +437,8 @@ pci_lpc_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, #define LPC_VENDOR 0x8086 static int -pci_lpc_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_lpc_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl __unused) { - /* * Do not allow more than one LPC bridge to be configured. */ diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 5d9e6c07c245..6c9b1de304a9 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -454,7 +454,7 @@ msix_table_write(struct vmctx *ctx, int vcpu, struct passthru_softc *sc, } static int -init_msix_table(struct vmctx *ctx, struct passthru_softc *sc) +init_msix_table(struct vmctx *ctx __unused, struct passthru_softc *sc) { struct pci_devinst *pi = sc->psc_pi; struct pci_bar_mmap pbm; @@ -515,7 +515,7 @@ init_msix_table(struct vmctx *ctx, struct passthru_softc *sc) } static int -cfginitbar(struct vmctx *ctx, struct passthru_softc *sc) +cfginitbar(struct vmctx *ctx __unused, struct passthru_softc *sc) { int i, error; struct pci_devinst *pi; @@ -689,8 +689,8 @@ passthru_legacy_config(nvlist_t *nvl, const char *opts) } static int -passthru_init_rom(struct vmctx *const ctx, struct passthru_softc *const sc, - const char *const romfile) +passthru_init_rom(struct vmctx *const ctx __unused, + struct passthru_softc *const sc, const char *const romfile) { if (romfile == NULL) { return (0); @@ -910,8 +910,8 @@ msixcap_access(struct passthru_softc *sc, int coff) } static int -passthru_cfgread(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int coff, int bytes, uint32_t *rv) +passthru_cfgread(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) { struct passthru_softc *sc; @@ -1064,8 +1064,8 @@ passthru_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, } static uint64_t -passthru_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t offset, int size) +passthru_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct passthru_softc *sc; struct pci_bar_ioreq pio; diff --git a/usr.sbin/bhyve/pci_uart.c b/usr.sbin/bhyve/pci_uart.c index 3064d6fe627a..2e4a0eac05f9 100644 --- a/usr.sbin/bhyve/pci_uart.c +++ b/usr.sbin/bhyve/pci_uart.c @@ -66,19 +66,19 @@ pci_uart_intr_deassert(void *arg) } static void -pci_uart_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +pci_uart_write(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { - assert(baridx == 0); assert(size == 1); uart_write(pi->pi_arg, offset, value); } -uint64_t -pci_uart_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size) +static uint64_t +pci_uart_read(struct vmctx *ctx __unused, int vcpu __unused, + struct pci_devinst *pi, int baridx, uint64_t offset, int size) { uint8_t val; @@ -99,7 +99,7 @@ pci_uart_legacy_config(nvlist_t *nvl, const char *opts) } static int -pci_uart_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_uart_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) { struct uart_softc *sc; const char *device; diff --git a/usr.sbin/bhyve/pci_virtio_9p.c b/usr.sbin/bhyve/pci_virtio_9p.c index 1ed0eba6a8ed..c24b33acc299 100644 --- a/usr.sbin/bhyve/pci_virtio_9p.c +++ b/usr.sbin/bhyve/pci_virtio_9p.c @@ -147,7 +147,7 @@ pci_vt9p_cfgread(void *vsc, int offset, int size, uint32_t *retval) static int pci_vt9p_get_buffer(struct l9p_request *req, struct iovec *iov, size_t *niov, - void *arg) + void *arg __unused) { struct pci_vt9p_request *preq = req->lr_aux; size_t n = preq->vsr_niov - preq->vsr_respidx; @@ -159,8 +159,8 @@ pci_vt9p_get_buffer(struct l9p_request *req, struct iovec *iov, size_t *niov, } static int -pci_vt9p_send(struct l9p_request *req, const struct iovec *iov, - const size_t niov, const size_t iolen, void *arg) +pci_vt9p_send(struct l9p_request *req, const struct iovec *iov __unused, + const size_t niov __unused, const size_t iolen, void *arg __unused) { struct pci_vt9p_request *preq = req->lr_aux; struct pci_vt9p_softc *sc = preq->vsr_sc; @@ -176,8 +176,8 @@ pci_vt9p_send(struct l9p_request *req, const struct iovec *iov, } static void -pci_vt9p_drop(struct l9p_request *req, const struct iovec *iov, size_t niov, - void *arg) +pci_vt9p_drop(struct l9p_request *req, const struct iovec *iov __unused, + size_t niov __unused, void *arg __unused) { struct pci_vt9p_request *preq = req->lr_aux; struct pci_vt9p_softc *sc = preq->vsr_sc; @@ -248,7 +248,7 @@ pci_vt9p_legacy_config(nvlist_t *nvl, const char *opts) } static int -pci_vt9p_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_vt9p_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) { struct pci_vt9p_softc *sc; const char *value; diff --git a/usr.sbin/bhyve/pci_virtio_block.c b/usr.sbin/bhyve/pci_virtio_block.c index 8cdcbb777691..2b2e6a412a5a 100644 --- a/usr.sbin/bhyve/pci_virtio_block.c +++ b/usr.sbin/bhyve/pci_virtio_block.c @@ -437,7 +437,8 @@ pci_vtblk_notify(void *vsc, struct vqueue_info *vq) } static void -pci_vtblk_resized(struct blockif_ctxt *bctxt, void *arg, size_t new_size) +pci_vtblk_resized(struct blockif_ctxt *bctxt __unused, void *arg, + size_t new_size) { *** 659 LINES SKIPPED *** From nobody Thu Jan 26 19:47:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpX0Pw1z3bnGT; Thu, 26 Jan 2023 19:47: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 4P2rpW66xLz3Cj8; Thu, 26 Jan 2023 19:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5jQNeNHShZt7SQkShVvGkC9YvhMZLyHKGmSciDgx490=; b=nQZHxbBPp7HmA+J9F3K25BW2DyNjQkb40dW4Wg59Xi2FRGsmjishFR2qxtwX5nz3IqJS0M RO80s9uR6o9d5vQPxYtO8IFavydrPHv7HxE7w5OMc49ilacFf9GLpDttMrfl+Xd/FM5KG7 uP68VAIWZjL98EEG2fEzSRkuxhQg+VPiVz0r60fns03E/r+DOi2eKE/hK0KKo+FwDcFb10 KQUKNebpB/u1kYQ7T2n1id2cjNyPi3O/eo6TWHuoUCTlYvqix7Bi4cY1kCTJ1oQdfKoAEL BlvsNvgE6VP6gSOl1Gmw/KFwcgX6a7CjiaK3DYbRiUX8p4UJrocdVYFlxar0ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5jQNeNHShZt7SQkShVvGkC9YvhMZLyHKGmSciDgx490=; b=El1ONtefYRv/XUTApARlTsZMlbrSKytP69QKV0x9XQAFApyOzwUddTKDprR9BWPUb387F7 eQiCLhu22UJD4tGxJ4f6Jmz0VYj9dSlv3+ANJJAew3D6dF2tu4OgYXef8KlUbEXI3b2k2E xGB97FaCnlkPBoAA0tSd6OJbGIhjwISYqOsfC1MgSF2P+ElCe0ba7X3OaQincfBEkZstYw OGKZ20jMGjBY9M3YAsLdpRx86YidBYiE+OQxNLGu4zu6J5W6xsqACWu+1eawTu8IagrXth BSZNvGpliA0c96PlyNRfj7hnIzPDA37xLunX2hyg5pStOnSjApfb7RbBGhQg2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762467; a=rsa-sha256; cv=none; b=cM5YvTo2xsToOEijXqZlCFiHBXgoMjXNPBdI1laoG1nCMTTL3sxD6+6v4sVObM8qxIlqF9 KgaGY6RRcUgrqjrSPoMe9xcRl1l4BPKbg6Ur04KO3E8DqhQZuvTkLkpxnjLMqUCCv11MXS x1lcOXmWLRx0fMzwzvTSuEJ2RFrkS9bMMPgYypwZEdoQwEmPiWZ0KtDvxLW/JP1BgPhH1e QNCLPuNFDr/VLlJMGh8HhX7Ht/awe77kzsutjZ6EYv/foZ8Uqzkmvb/Kn4IvSBA/qezX2z pT1t6h/ssZonapZqdzthHy7vmi8GFMENraFafP92mXMCIsYXXwajyLAm9x5GfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpW4wMCzhWc; Thu, 26 Jan 2023 19:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJllt1007088; Thu, 26 Jan 2023 19:47:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJllGW007087; Thu, 26 Jan 2023 19:47:47 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:47 GMT Message-Id: <202301261947.30QJllGW007087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1934d1a738d1 - stable/13 - bhyve: Make hda_ops function tables const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1934d1a738d12815e2e7ec38dc9df572bc90cdbd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1934d1a738d12815e2e7ec38dc9df572bc90cdbd commit 1934d1a738d12815e2e7ec38dc9df572bc90cdbd Author: Mark Johnston AuthorDate: 2022-10-23 14:43:06 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:30:50 +0000 bhyve: Make hda_ops function tables const No functional change intended. MFC after: 1 week (cherry picked from commit 489392feb7dd784b6036dd6511c690e4df9726e3) --- usr.sbin/bhyve/hda_codec.c | 8 ++++---- usr.sbin/bhyve/pci_hda.c | 2 +- usr.sbin/bhyve/pci_hda.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.sbin/bhyve/hda_codec.c b/usr.sbin/bhyve/hda_codec.c index 2cc875d3d2e2..cfab2e7f2547 100644 --- a/usr.sbin/bhyve/hda_codec.c +++ b/usr.sbin/bhyve/hda_codec.c @@ -465,7 +465,7 @@ hda_codec_init(struct hda_codec_inst *hci, const char *play, static int hda_codec_reset(struct hda_codec_inst *hci) { - struct hda_ops *hops = NULL; + const struct hda_ops *hops = NULL; struct hda_codec_softc *sc = NULL; struct hda_codec_stream *st = NULL; int i; @@ -500,8 +500,8 @@ hda_codec_reset(struct hda_codec_inst *hci) static int hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) { + const struct hda_ops *hops = NULL; struct hda_codec_softc *sc = NULL; - struct hda_ops *hops = NULL; uint8_t cad = 0, nid = 0; uint16_t verb = 0, payload = 0; uint32_t res = 0; @@ -677,9 +677,9 @@ hda_codec_audio_output_nid(struct hda_codec_softc *sc, uint16_t verb, static void hda_codec_audio_output_do_transfer(void *arg) { + const struct hda_ops *hops = NULL; struct hda_codec_softc *sc = (struct hda_codec_softc *)arg; struct hda_codec_inst *hci = NULL; - struct hda_ops *hops = NULL; struct hda_codec_stream *st = NULL; struct audio *aud = NULL; int err; @@ -738,9 +738,9 @@ hda_codec_audio_input_nid(struct hda_codec_softc *sc, uint16_t verb, static void hda_codec_audio_input_do_transfer(void *arg) { + const struct hda_ops *hops = NULL; struct hda_codec_softc *sc = (struct hda_codec_softc *)arg; struct hda_codec_inst *hci = NULL; - struct hda_ops *hops = NULL; struct hda_codec_stream *st = NULL; struct audio *aud = NULL; int err; diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 9ebfbfbaa5bf..734711cad99c 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -264,7 +264,7 @@ static const uint16_t hda_rirb_sizes[] = { [HDAC_RIRBSIZE_RIRBSIZE_MASK] = 0, }; -static struct hda_ops hops = { +static const struct hda_ops hops = { .signal = hda_signal_state_change, .response = hda_response, .transfer = hda_transfer, diff --git a/usr.sbin/bhyve/pci_hda.h b/usr.sbin/bhyve/pci_hda.h index e86867192193..8d4f77920c29 100644 --- a/usr.sbin/bhyve/pci_hda.h +++ b/usr.sbin/bhyve/pci_hda.h @@ -65,7 +65,7 @@ struct hda_codec_inst { uint8_t cad; struct hda_codec_class *codec; struct hda_softc *hda; - struct hda_ops *hops; + const struct hda_ops *hops; void *priv; }; From nobody Thu Jan 26 19:47:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpY2HRrz3bnM2; Thu, 26 Jan 2023 19:47: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 4P2rpY0dW8z3Cr8; Thu, 26 Jan 2023 19:47:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HYA1MjlZ851G8Kr9aoGCbEX2xU/OPKy6074DpgCUoL4=; b=YjTpMV26OfB3IpXokvKc8K90M7PRvp48TzACDNAM/MV640Wc9uq7CWPStuxRkj7a6JM9sp 6jFjTxVxjBcmEpTISzId+1aW0HmhTq3F2B3DxFaPE27yabmT3REjOB3bZtuWgpmihZ1l9q EeeIfcFkUbisk7MkrNU9f+23DXuRoWeN8k6CWRJRhlUuRheBptoSPSuAw+h5BOCuv9QAlu bgUeR7CjLNytucEmTv0ZnyHom3o+Ytn75NGCh9573IoXC+FHYtz6+DY6Zblxu5OWYSaZPc ik64liWOzkY00mNVExMP3gr9Wbtb+5EDfDFpBA91AMTsOe6uxO9Af5GBic76Tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HYA1MjlZ851G8Kr9aoGCbEX2xU/OPKy6074DpgCUoL4=; b=L4EgWYZeal2dUBZB4FL0k2Q9d5MXsDf2/3ej4SIc8quiFpnK1rEQvvtaKwxAKa3yAYxv+F OnaKYdMR7uiStF0OSo6GGxtEgBGyphwOUKgo7WzWb9EB58t2L5FDCpaBsTStofOYDBN/8G zYYqOKrWMrj89Gn82NcrtdbXFCOJutBLRh1mGCeSDYvAG47nD0EavxNU5L7Yo1JXBPtjxx 64+2lfXZDz2xC4T4gMdk14amSoh2JDgrsBYIJYsBoRcRdi+TrKd1sRta32ujaD2nNhA0nK DKgsBBFT9BBTmxcJ4K+zzig2h5wLvzwcZGdQF5fgxDhIMKKisbj78UhuuIPx4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762469; a=rsa-sha256; cv=none; b=E1UnsOsEAZmUiUVbb6Mf7WXga/AlD+9QrOaZBVEglBm0NllA57DtNN79Cd3RMYo4f8Yji3 7fb223/HEZIiipvhtQrbVXIvIazyrCcrraEwC5rqGIyHDcIVlXdCL/7peKZgR7q7jS3mC1 Xhx81UtC/IEcVxACZ4dK27BoBk6DeDVWQECcNK5ZABM1BV8usXM2Y6ivawfon6IGXQMwky uPCQXPoJ+exZFfEJaFSfvzDhBEW3bj2SNKGnYC/tVS7Ecyf5CT5gKlc0KTA6LKnLLacVyA +DbHtd4ePdKCRvv4RdczdZ+65MdU/5DGDF72WjG+d2l2PTgSbxs//tsu6O7GFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpX5s62zhFD; Thu, 26 Jan 2023 19:47:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlmqm007114; Thu, 26 Jan 2023 19:47:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlmHQ007113; Thu, 26 Jan 2023 19:47:48 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:48 GMT Message-Id: <202301261947.30QJlmHQ007113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: fa466e70b325 - stable/13 - bhyve: Address some warnings in bhyverun.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fa466e70b325f826042e2bfd746471eb23a09f1d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fa466e70b325f826042e2bfd746471eb23a09f1d commit fa466e70b325f826042e2bfd746471eb23a09f1d Author: Mark Johnston AuthorDate: 2022-10-22 17:34:00 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:30:55 +0000 bhyve: Address some warnings in bhyverun.c - Annotate unused parameters as such. - Avoid shadowing the global "vmexit". No functional change intended. MFC after: 1 week (cherry picked from commit 4a1c23a708f98c1588a196041cda5d55795e2f0c) --- usr.sbin/bhyve/bhyverun.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 7d62ff58919e..cdd5a8833ba3 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -942,13 +942,13 @@ vmexit_breakpoint(struct vmctx *ctx __unused, struct vm_exit *vme, int *pvcpu) } static int -vmexit_ipi(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +vmexit_ipi(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu __unused) { int error = -1; int i; - switch (vmexit->u.ipi.mode) { + switch (vme->u.ipi.mode) { case APIC_DELMODE_INIT: - CPU_FOREACH_ISSET (i, &vmexit->u.ipi.dmask) { + CPU_FOREACH_ISSET(i, &vme->u.ipi.dmask) { error = vm_suspend_cpu(ctx, i); if (error) { warnx("%s: failed to suspend cpu %d\n", @@ -958,8 +958,8 @@ vmexit_ipi(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) } break; case APIC_DELMODE_STARTUP: - CPU_FOREACH_ISSET (i, &vmexit->u.ipi.dmask) { - spinup_ap(ctx, i, vmexit->u.ipi.vector << PAGE_SHIFT); + CPU_FOREACH_ISSET(i, &vme->u.ipi.dmask) { + spinup_ap(ctx, i, vme->u.ipi.vector << PAGE_SHIFT); } error = 0; break; From nobody Thu Jan 26 19:47:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpZ0yrjz3bnK6; Thu, 26 Jan 2023 19:47: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 4P2rpZ0W36z3CgT; Thu, 26 Jan 2023 19:47:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWoQAwZMrwMDwQOhwZBECvzngNHdNsWhjtqi16eyWwY=; b=QPL8cwKQOGakbbx9S5edmK+oIo/aAKKQfuggch/3DRMVQEmzAZaVzp1BsTeC1vGB/y0Vz6 uyDzjIjHvi/saco5u2cjLRxnmDv3357yx4SofZ8YH/q2VvyF2/31lCvZDFh6bd4yIwyE8n pUpSUqsBl8tNEGA6Nt+w3132R3WYnCAouu+UmRZcnO7pRiAjONRE/4nF5I67IMfXk5NAaz sHtWvAqiKqWqsxHcoXEU/eTi12VvoxAgpQISspjIQL2hOpUAO2555gBF4/WaU/dnb6yhZC 4Pac3AIeKjvu11yBE+Z6rm/mGe2+KO3cx9FvsK/6HxKiH5Z6hi6e7KOwzo9vxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWoQAwZMrwMDwQOhwZBECvzngNHdNsWhjtqi16eyWwY=; b=Sf1drGZEJm6wqIjJy3QKRiel3SJSvyOf2idTERfsbRP81Rj7ec9vLftlL3tln8v94lrt4u YAJ0LqtMZINmQ5qTrkTQED/q/l0jUbFVig21qX+psUnUowaJ0akAB5EXn3KHp+t35v8LeA vwg0MFV95LwPGI4NR2AE/lx0eCfkbbclISJIEqD0oyD3lOqcLGVzvuHPhyQvEpISnh0uAv kfjSrmMdxpP0eO+QgPcYrQ5MO/V8MhiknI7bYF6uGDE0b8OvzoYznM4L3POqLY+2UyhpsS M1lAvTBDZyBO6joEJd+WVDHD3BozpdP9izUKc9aoiwEe3HuxEUmwLnqE9SVkQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762470; a=rsa-sha256; cv=none; b=sMU5M5b3NT7qEcTohKQ5icGa+cJnhoIDFh5ymWZ2//l2N4PBo6SnP//9pbKi7m/v9WqIYo SP1j+Gah0SMuVGdcqRHZmaDWG/3WwkUD9XU41XKAsRhkRBa+Js7V2gB140KQLnO3w5CqzX CBF+y9TlrJ/TSzO7xW7DOESR6PaVlswVUs/3Sn2+LAEIN2tXIt0fT4b+YpHpTHKYirTl3L mNFgmFZYJZHr0FebJKumHyzOzbl7ycGkLuNSsZ7gufrKoyGiVKTeC3xPAmdpF4Ktz0ue/l FgdwvykA0LQurq60/bEfCcIdP2MWYU4T2wfCAeD0EzdhbmRoJB+YG9XDwNK9bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpY6jjYzhkx; Thu, 26 Jan 2023 19:47:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlnDX007139; Thu, 26 Jan 2023 19:47:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJln8q007138; Thu, 26 Jan 2023 19:47:49 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:49 GMT Message-Id: <202301261947.30QJln8q007138@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ed9798bff00b - stable/13 - bhyve: Avoid arithmetic on void pointers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed9798bff00b93266216dcc4eeecd3fcc103a252 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ed9798bff00b93266216dcc4eeecd3fcc103a252 commit ed9798bff00b93266216dcc4eeecd3fcc103a252 Author: Mark Johnston AuthorDate: 2022-10-22 17:40:20 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:00 +0000 bhyve: Avoid arithmetic on void pointers No functional change intended. MFC after: 1 week (cherry picked from commit 63898728b544763d85c062c8515c12a0c3a60e0a) --- usr.sbin/bhyve/iov.c | 4 ++-- usr.sbin/bhyve/net_backends.c | 6 +++--- usr.sbin/bhyve/pci_e82545.c | 4 ++-- usr.sbin/bhyve/pci_hda.c | 28 ++++++++++++++-------------- usr.sbin/bhyve/pci_hda.h | 2 +- usr.sbin/bhyve/pci_passthru.c | 2 +- usr.sbin/bhyve/pci_virtio_console.c | 4 ++-- usr.sbin/bhyve/pci_virtio_scsi.c | 2 +- usr.sbin/bhyve/rfb.c | 21 ++++++++++++--------- usr.sbin/bhyve/snapshot.c | 4 ++-- 10 files changed, 40 insertions(+), 37 deletions(-) diff --git a/usr.sbin/bhyve/iov.c b/usr.sbin/bhyve/iov.c index af36cb056229..a70abf079413 100644 --- a/usr.sbin/bhyve/iov.c +++ b/usr.sbin/bhyve/iov.c @@ -111,7 +111,7 @@ iov_to_buf(const struct iovec *iov, int niov, void **buf) return (-1); for (i = 0, ptr = 0; i < niov; i++) { - memcpy(*buf + ptr, iov[i].iov_base, iov[i].iov_len); + memcpy((uint8_t *)*buf + ptr, iov[i].iov_base, iov[i].iov_len); ptr += iov[i].iov_len; } @@ -137,7 +137,7 @@ buf_to_iov(const void *buf, size_t buflen, const struct iovec *iov, int niov, for (i = 0; i < niov && off < buflen; i++) { len = MIN(iov[i].iov_len, buflen - off); - memcpy(iov[i].iov_base, buf + off, len); + memcpy(iov[i].iov_base, (const uint8_t *)buf + off, len); off += len; } diff --git a/usr.sbin/bhyve/net_backends.c b/usr.sbin/bhyve/net_backends.c index 6fb04fddc857..d974936d9292 100644 --- a/usr.sbin/bhyve/net_backends.c +++ b/usr.sbin/bhyve/net_backends.c @@ -754,8 +754,8 @@ netmap_send(struct net_backend *be, const struct iovec *iov, nm_buf_len = 0; for (j = 0; j < iovcnt; j++) { + uint8_t *iov_frag_buf = iov[j].iov_base; int iov_frag_size = iov[j].iov_len; - void *iov_frag_buf = iov[j].iov_base; totlen += iov_frag_size; @@ -836,7 +836,7 @@ netmap_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) struct netmap_priv *priv = NET_BE_PRIV(be); struct netmap_slot *slot = NULL; struct netmap_ring *ring; - void *iov_frag_buf; + uint8_t *iov_frag_buf; int iov_frag_size; ssize_t totlen = 0; uint32_t head; @@ -849,8 +849,8 @@ netmap_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) iov_frag_size = iov->iov_len; do { + uint8_t *nm_buf; int nm_buf_len; - void *nm_buf; if (head == ring->tail) { return (0); diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 8785935dafc8..38be6a565219 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -1007,7 +1007,7 @@ e82545_iov_checksum(struct iovec *iov, int iovcnt, int off, int len) odd = 0; while (len > 0 && iovcnt > 0) { now = MIN(len, iov->iov_len - off); - s = e82545_buf_checksum(iov->iov_base + off, now); + s = e82545_buf_checksum((uint8_t *)iov->iov_base + off, now); sum += odd ? (s << 8) : s; odd ^= (now & 1); len -= now; @@ -1320,7 +1320,7 @@ e82545_transmit(struct e82545_softc *sc, uint16_t head, uint16_t tail, left -= now, hdrp += now) { now = MIN(left, iov->iov_len); memcpy(hdrp, iov->iov_base, now); - iov->iov_base += now; + iov->iov_base = (uint8_t *)iov->iov_base + now; iov->iov_len -= now; if (iov->iov_len == 0) { iov++; diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 734711cad99c..dc6493868093 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -201,7 +201,7 @@ static int hda_signal_state_change(struct hda_codec_inst *hci); static int hda_response(struct hda_codec_inst *hci, uint32_t response, uint8_t unsol); static int hda_transfer(struct hda_codec_inst *hci, uint8_t stream, - uint8_t dir, void *buf, size_t count); + uint8_t dir, uint8_t *buf, size_t count); static void hda_set_pib(struct hda_softc *sc, uint8_t stream_ind, uint32_t pib); static uint64_t hda_get_clock_ns(void); @@ -793,8 +793,8 @@ hda_corb_run(struct hda_softc *sc) corb->rp++; corb->rp %= corb->size; - verb = hda_dma_ld_dword(corb->dma_vaddr + \ - HDA_CORB_ENTRY_LEN * corb->rp); + verb = hda_dma_ld_dword((uint8_t *)corb->dma_vaddr + + HDA_CORB_ENTRY_LEN * corb->rp); err = hda_send_command(sc, verb); assert(!err); @@ -1088,10 +1088,10 @@ hda_response(struct hda_codec_inst *hci, uint32_t response, uint8_t unsol) rirb->wp++; rirb->wp %= rirb->size; - hda_dma_st_dword(rirb->dma_vaddr + HDA_RIRB_ENTRY_LEN * \ - rirb->wp, response); - hda_dma_st_dword(rirb->dma_vaddr + HDA_RIRB_ENTRY_LEN * \ - rirb->wp + 0x04, response_ex); + hda_dma_st_dword((uint8_t *)rirb->dma_vaddr + + HDA_RIRB_ENTRY_LEN * rirb->wp, response); + hda_dma_st_dword((uint8_t *)rirb->dma_vaddr + + HDA_RIRB_ENTRY_LEN * rirb->wp + 0x04, response_ex); hda_set_reg_by_offset(sc, HDAC_RIRBWP, rirb->wp); @@ -1107,7 +1107,7 @@ hda_response(struct hda_codec_inst *hci, uint32_t response, uint8_t unsol) static int hda_transfer(struct hda_codec_inst *hci, uint8_t stream, uint8_t dir, - void *buf, size_t count) + uint8_t *buf, size_t count) { struct hda_softc *sc = NULL; struct hda_stream_desc *st = NULL; @@ -1161,11 +1161,11 @@ hda_transfer(struct hda_codec_inst *hci, uint8_t stream, uint8_t dir, bdle_desc = &bdl[st->be]; if (dir) - *(uint32_t *)buf = \ - hda_dma_ld_dword(bdle_desc->addr + st->bp); + *(uint32_t *)buf = hda_dma_ld_dword( + (uint8_t *)bdle_desc->addr + st->bp); else - hda_dma_st_dword(bdle_desc->addr + st->bp, - *(uint32_t *)buf); + hda_dma_st_dword((uint8_t *)bdle_desc->addr + + st->bp, *(uint32_t *)buf); buf += HDA_DMA_ACCESS_LEN; st->bp += HDA_DMA_ACCESS_LEN; @@ -1205,8 +1205,8 @@ hda_set_pib(struct hda_softc *sc, uint8_t stream_ind, uint32_t pib) /* LPIB Alias */ hda_set_reg_by_offset(sc, 0x2000 + off + HDAC_SDLPIB, pib); if (sc->dma_pib_vaddr) - *(uint32_t *)(sc->dma_pib_vaddr + stream_ind * \ - HDA_DMA_PIB_ENTRY_LEN) = pib; + *(uint32_t *)((uint8_t *)sc->dma_pib_vaddr + stream_ind * + HDA_DMA_PIB_ENTRY_LEN) = pib; } static uint64_t hda_get_clock_ns(void) diff --git a/usr.sbin/bhyve/pci_hda.h b/usr.sbin/bhyve/pci_hda.h index 8d4f77920c29..a021aa9c28da 100644 --- a/usr.sbin/bhyve/pci_hda.h +++ b/usr.sbin/bhyve/pci_hda.h @@ -84,7 +84,7 @@ struct hda_ops { int (*response)(struct hda_codec_inst *hci, uint32_t response, uint8_t unsol); int (*transfer)(struct hda_codec_inst *hci, uint8_t stream, - uint8_t dir, void *buf, size_t count); + uint8_t dir, uint8_t *buf, size_t count); }; #define HDA_EMUL_SET(x) DATA_SET(hda_codec_class_set, x); diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 6c9b1de304a9..c153fe7df224 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -438,7 +438,7 @@ msix_table_write(struct vmctx *ctx, int vcpu, struct passthru_softc *sc, assert(entry_offset % 4 == 0); vector_control = entry->vector_control; - dest32 = (uint32_t *)((void *)entry + entry_offset); + dest32 = (uint32_t *)((uint8_t *)entry + entry_offset); *dest32 = data; /* If MSI-X hasn't been enabled, do nothing */ if (pi->pi_msix.enabled) { diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index fa16bfb84d79..44d0da720226 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -585,8 +585,8 @@ pci_vtcon_control_send(struct pci_vtcon_softc *sc, memcpy(iov.iov_base, ctrl, sizeof(struct pci_vtcon_control)); if (payload != NULL && len > 0) - memcpy(iov.iov_base + sizeof(struct pci_vtcon_control), - payload, len); + memcpy((uint8_t *)iov.iov_base + + sizeof(struct pci_vtcon_control), payload, len); vq_relchain(vq, req.idx, sizeof(struct pci_vtcon_control) + len); vq_endchains(vq, 1); diff --git a/usr.sbin/bhyve/pci_virtio_scsi.c b/usr.sbin/bhyve/pci_virtio_scsi.c index b9f609ccf426..bad95e4e85b0 100644 --- a/usr.sbin/bhyve/pci_virtio_scsi.c +++ b/usr.sbin/bhyve/pci_virtio_scsi.c @@ -590,7 +590,7 @@ pci_vtscsi_controlq_notify(void *vsc, struct vqueue_info *vq) bufsize = iov_to_buf(iov, n, &buf); iolen = pci_vtscsi_control_handle(sc, buf, bufsize); - buf_to_iov(buf + bufsize - iolen, iolen, iov, n, + buf_to_iov((uint8_t *)buf + bufsize - iolen, iolen, iov, n, bufsize - iolen); /* diff --git a/usr.sbin/bhyve/rfb.c b/usr.sbin/bhyve/rfb.c index c9903c6bafa5..2640a67902e1 100644 --- a/usr.sbin/bhyve/rfb.c +++ b/usr.sbin/bhyve/rfb.c @@ -322,7 +322,8 @@ rfb_recv_set_pixfmt_msg(struct rfb_softc *rc __unused, int cfd) { struct rfb_pixfmt_msg pixfmt_msg; - (void)stream_read(cfd, ((void *)&pixfmt_msg)+1, sizeof(pixfmt_msg)-1); + (void)stream_read(cfd, (uint8_t *)&pixfmt_msg + 1, + sizeof(pixfmt_msg) - 1); } static void @@ -332,7 +333,7 @@ rfb_recv_set_encodings_msg(struct rfb_softc *rc, int cfd) int i; uint32_t encoding; - (void)stream_read(cfd, ((void *)&enc_msg)+1, sizeof(enc_msg)-1); + (void)stream_read(cfd, (uint8_t *)&enc_msg + 1, sizeof(enc_msg) - 1); for (i = 0; i < htons(enc_msg.numencs); i++) { (void)stream_read(cfd, &encoding, sizeof(encoding)); @@ -727,7 +728,7 @@ rfb_recv_update_msg(struct rfb_softc *rc, int cfd) { struct rfb_updt_msg updt_msg; - (void)stream_read(cfd, ((void *)&updt_msg) + 1 , sizeof(updt_msg) - 1); + (void)stream_read(cfd, (uint8_t *)&updt_msg + 1 , sizeof(updt_msg) - 1); if (rc->enc_extkeyevent_ok && (!rc->enc_extkeyevent_send)) { rfb_send_extended_keyevent_update_msg(rc, cfd); @@ -744,7 +745,7 @@ rfb_recv_key_msg(struct rfb_softc *rc, int cfd) { struct rfb_key_msg key_msg; - (void)stream_read(cfd, ((void *)&key_msg) + 1, sizeof(key_msg) - 1); + (void)stream_read(cfd, (uint8_t *)&key_msg + 1, sizeof(key_msg) - 1); console_key_event(key_msg.down, htonl(key_msg.sym), htonl(0)); rc->input_detected = true; @@ -756,10 +757,12 @@ rfb_recv_client_msg(struct rfb_softc *rc, int cfd) struct rfb_client_msg client_msg; struct rfb_extended_key_msg extkey_msg; - (void)stream_read(cfd, ((void *)&client_msg) + 1, sizeof(client_msg) - 1); + (void)stream_read(cfd, (uint8_t *)&client_msg + 1, + sizeof(client_msg) - 1); - if (client_msg.subtype == RFB_CLIENTMSG_EXT_KEYEVENT ) { - (void)stream_read(cfd, ((void *)&extkey_msg) + 2, sizeof(extkey_msg) - 2); + if (client_msg.subtype == RFB_CLIENTMSG_EXT_KEYEVENT) { + (void)stream_read(cfd, (uint8_t *)&extkey_msg + 2, + sizeof(extkey_msg) - 2); console_key_event((int)extkey_msg.down, htonl(extkey_msg.sym), htonl(extkey_msg.code)); rc->input_detected = true; } @@ -770,7 +773,7 @@ rfb_recv_ptr_msg(struct rfb_softc *rc, int cfd) { struct rfb_ptr_msg ptr_msg; - (void)stream_read(cfd, ((void *)&ptr_msg) + 1, sizeof(ptr_msg) - 1); + (void)stream_read(cfd, (uint8_t *)&ptr_msg + 1, sizeof(ptr_msg) - 1); console_ptr_event(ptr_msg.button, htons(ptr_msg.x), htons(ptr_msg.y)); rc->input_detected = true; @@ -783,7 +786,7 @@ rfb_recv_cuttext_msg(struct rfb_softc *rc __unused, int cfd) unsigned char buf[32]; int len; - len = stream_read(cfd, ((void *)&ct_msg) + 1, sizeof(ct_msg) - 1); + len = stream_read(cfd, (uint8_t *)&ct_msg + 1, sizeof(ct_msg) - 1); ct_msg.length = htonl(ct_msg.length); while (ct_msg.length > 0) { len = stream_read(cfd, buf, ct_msg.length > sizeof(buf) ? diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index e82c03106ff4..8129ed4c8a44 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -452,7 +452,7 @@ lookup_struct(enum snapshot_req struct_id, struct restore_state *rstate, assert(file_offset + size <= rstate->kdata_len); *struct_size = (size_t)size; - return (rstate->kdata_map + file_offset); + return ((uint8_t *)rstate->kdata_map + file_offset); } } @@ -481,7 +481,7 @@ lookup_check_dev(const char *dev_name, struct restore_state *rstate, assert(file_offset + size <= rstate->kdata_len); *data_size = (size_t)size; - return (rstate->kdata_map + file_offset); + return ((uint8_t *)rstate->kdata_map + file_offset); } return (NULL); From nobody Thu Jan 26 19:47:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpb6nQ0z3bnX3; Thu, 26 Jan 2023 19:47: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 4P2rpb19c6z3CxS; Thu, 26 Jan 2023 19:47:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7q2V/A16WBUQ40mGThy5YTMFVaNZ+DhE8QLAN37B53Q=; b=NVFW1HKkIavSR+wF7D+EboGIwxp4361KgfiTagsGM2SgsUZEaKTcut1dfiyERb+VmGFx6s j88XObruk6vx+waPs3le4oS5O8tnlbgUC6FYDnEFD4DBk1drIZs+pusH2umHFMyCUts2+q TixAnbkqLBB7NkFnFUbGhnlZgUAlpqE4qT4gYNn0aSFD1sQ4XQKNBJ8Cw2vUFjzyrbtWy/ h0MeGeiHIj5zcwSnDliVNwICwD21zb+/xHy+icpyZWZFTf35jEXAlXEXVA1YDlD/SLwrnU UV/yDf3Zd+3J+aKAOOLLTt4csV5BkH1rH2LnEmkweBPai3+Kh/k9Bl1f2MXK3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7q2V/A16WBUQ40mGThy5YTMFVaNZ+DhE8QLAN37B53Q=; b=uw51RSzK1Lgt1Id8S0SR8QABm1YggsIKCGrXJVoZ0bT4YSPzNaYNt0/VkcGdB9wuiAhEme ZMsFyVJakXZZH5fEEuALiPOd0KEbA4mcvOHhobfFlJt6/zFJmtNAnXxhNLXz7WJ41IsqLD 36DNqMZuDEqxigiPcd30kvePHnrq72aMoFTTDbkF45ODK0tCI2ST592GBGxL7JjGf7E/e+ jRoq/giuYVYy8PjooLuTEyZ2V8wDBkIhmYtz0MbxcemBwVMkY2AiMPN2g6eVYCUPdAWI5x p1Tn1O5/DqGCIfOlwq7lFdzidTy7/lo/yBazuJa/qXP0Xy2jOQDarDpwYggMsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762471; a=rsa-sha256; cv=none; b=PMdvR+wdQdqltQkQwAsegVPsC5C/IqUCWqwkG2q061MXrt3ZfVllRBROFhMc56ukJJTOl9 hytiO371E3eudnv9FHSLNgLBHHqIMiyYThSqjGdkDAObhCFUbD8WEBSdYs+hdQbgZsRTNn BgMbyUgxI5+Zg6JQHY8opv3qxcCz2h7Be3SsCyE1ATg4PyGSW+D4ib9qF+okCUlrqGotcQ iL8Fx61aGTkcQrpy6U2mkrpaRR/kv0Uq7APKand9oss+IpqIfDjOmhXRBYO1ZMJZlxwTvn 59W5ZvQodKtG1TXqi22kRIWd29HlaOtvx71OkBwvw2rsEtWhwpLFxyLzHprENg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpb0Hn3zhFF; Thu, 26 Jan 2023 19:47:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlo4S007168; Thu, 26 Jan 2023 19:47:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlo0c007167; Thu, 26 Jan 2023 19:47:50 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:50 GMT Message-Id: <202301261947.30QJlo0c007167@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 986e3ea0abb6 - stable/13 - bhyve: Use the proper type for string literals List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 986e3ea0abb6b3bc5748033e102d5ca96091e791 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=986e3ea0abb6b3bc5748033e102d5ca96091e791 commit 986e3ea0abb6b3bc5748033e102d5ca96091e791 Author: Mark Johnston AuthorDate: 2022-10-22 17:37:46 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:06 +0000 bhyve: Use the proper type for string literals No functional change intended. MFC after: 1 week (cherry picked from commit 7039bdd5351a080e648c6519636227bcd38a255c) --- usr.sbin/bhyve/ipc.h | 2 +- usr.sbin/bhyve/usb_emul.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/ipc.h b/usr.sbin/bhyve/ipc.h index 38faf69eb5f4..674fc210e0fb 100644 --- a/usr.sbin/bhyve/ipc.h +++ b/usr.sbin/bhyve/ipc.h @@ -34,7 +34,7 @@ #include struct ipc_command { - char *name; + const char *name; int (*handler)(struct vmctx *ctx, const nvlist_t *nvl); }; diff --git a/usr.sbin/bhyve/usb_emul.h b/usr.sbin/bhyve/usb_emul.h index 67f4f3ff08f1..9a2844a8db1e 100644 --- a/usr.sbin/bhyve/usb_emul.h +++ b/usr.sbin/bhyve/usb_emul.h @@ -49,7 +49,7 @@ struct vm_snapshot_meta; /* Device emulation handlers */ struct usb_devemu { - char *ue_emu; /* name of device emulation */ + const char *ue_emu; /* name of device emulation */ int ue_usbver; /* usb version: 2 or 3 */ int ue_usbspeed; /* usb device speed */ From nobody Thu Jan 26 19:47:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpc3Gkxz3bnR6; Thu, 26 Jan 2023 19:47: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 4P2rpc2NPkz3D0f; Thu, 26 Jan 2023 19:47:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BMlbRwvFXosOPtvW0s/M9xV9i6AQKw+/TNwTt8qmGm4=; b=HJNb3gJ4xcDGrrmuSXcG6909uS7tWzr7y43gwEffHuuoGQBOqPmBZn8IqpllgY3e5GsX0X 5MSXIsojBwPRC4gBX7lfgl8X5aFL3lWTv+W3yAOVFpYbZcwN19H6EI+ebKpplNUDRdc7Sy ooJxIm3ORKeMjkygY85oPJ45EsF1FXIlHnyxcuLWXIwkQ24PSK/XtXkq6OcnpAfTe2TC9r gTrA9JFCq4s24w6zi6fHUCZfUGcBidSwSV4xGKOYhU7bBgE3eaV16I8Da4so2YnYnRUP3U O2nwU4+6qTaIuz21NyLb+rJeBqCL8stIgzrdl6XA/b6N19rTGye+DzxgUBavwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BMlbRwvFXosOPtvW0s/M9xV9i6AQKw+/TNwTt8qmGm4=; b=pEgHn6xvTH7UmedauEl5TjbtbLM80mEAaVcXj3NHF2NncAsAjLnBl8XjGW4pQ9us4QLrEs jOrCz+rthSlYzTYhYfrZRUlbS4eG4xHhAX+uX8hKDYSezUrI5/ZJH2JXQ2B44BhGu7ntx8 0RhLu8Fjr8lH5t+9ESJ+tOhc/KOQbBMIuvG5Vq3u3xVbLuPPS8Demc9JuQw70sd+kKeTvn /vPOZ7dE+Y/dPq/OEq/RGQr+8ZXShf0At4i2RchCMpMhcgtvZqccoAiqZ9JzhYQ3jxBR5O yPFhKeTAXMifDsnID/Jk4ZZ8gXf8igbs+I5CRIbsUPypUFur0j1+0QLdDFIjaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762472; a=rsa-sha256; cv=none; b=bqTQ8mEM2cdbBAcXBhEZ1Wrocw5CQ6xqJizn+Gd1zEulI9/Iv+i6U9Cy6b3+gvQ05f2dNf t/onPtITP+LSMCc4BWNf/FLx48kFe1sU6i56VZSyItSNotPuQzIHWsTcjAfS1twnOXXcjr 6wwq/Mp3BDdl30aGauTcbBg6e4lWbY5s5EIZgsPTX/F2SFpm/yMbhqSZl8ZQNv11rJAk16 XnAHgUAQej3QaA5nf1kkXvcE3297v9m7U0mGcCOqZwdSCOQvzOrlq/G9DdWbuUQexK5hTi D78hzhkevOGSJTxR4HT5B9jGIG2gV6IwSE4H/oawOpNNLrzPOJx0zbt9Rnd75Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpc1RBzzhYM; Thu, 26 Jan 2023 19:47:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlqeA007192; Thu, 26 Jan 2023 19:47:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlqjI007191; Thu, 26 Jan 2023 19:47:52 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:52 GMT Message-Id: <202301261947.30QJlqjI007191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ba7eee41ff10 - stable/13 - bhyve: Put the prototype for vga_render() in a header List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ba7eee41ff10d1fd7814b29affe702f8d42ba225 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ba7eee41ff10d1fd7814b29affe702f8d42ba225 commit ba7eee41ff10d1fd7814b29affe702f8d42ba225 Author: Mark Johnston AuthorDate: 2022-10-23 14:22:39 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:11 +0000 bhyve: Put the prototype for vga_render() in a header No functional change intended. MFC after: 1 week (cherry picked from commit 84633b9d5244c5bd0438d2969e021ec01066b107) --- usr.sbin/bhyve/pci_fbuf.c | 3 --- usr.sbin/bhyve/vga.h | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index 43b53931f14c..d69e8254aa25 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -346,9 +346,6 @@ pci_fbuf_parse_config(struct pci_fbuf_softc *sc, nvlist_t *nvl) return (0); } - -extern void vga_render(struct bhyvegc *gc, void *arg); - static void pci_fbuf_render(struct bhyvegc *gc, void *arg) { diff --git a/usr.sbin/bhyve/vga.h b/usr.sbin/bhyve/vga.h index 36c6dc15fa9e..f4c631a9305b 100644 --- a/usr.sbin/bhyve/vga.h +++ b/usr.sbin/bhyve/vga.h @@ -157,6 +157,8 @@ #define DAC_IDX_WR_PORT 0x3c8 #define DAC_DATA_PORT 0x3c9 +struct bhyvegc; void *vga_init(int io_only); +void vga_render(struct bhyvegc *gc, void *arg); #endif /* _VGA_H_ */ From nobody Thu Jan 26 19:47:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpd4Z8Sz3bn9t; Thu, 26 Jan 2023 19:47: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 4P2rpd3Y8pz3D18; Thu, 26 Jan 2023 19:47:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JKYQTLnPcZYyaLmFhuW8sB0D5aX5bra5ryQxsenQM+g=; b=Y6gx2mXI+qx5XNSz/mlON9i5znsOFlSKHHWKoizKDuWEpErJdyaK3MG3dQPIc9hykriGqy UXXIc+vGins3n58NCOtw4XJ6W0QAuLtani0UVYc1j67T16WAaYvTmFStapBcXOwxNCPH2R pju3mDi66h3RNiXrLnBBmezjEUtxVVwQrCdXkP0ozCMhtYRwsG+afq+fnBnZwkJsgOtbQR 29R+OwKxJ3hN8tm4Fy9oht9XP4zLPlMjicsRCsVfERwwTizCfGr+Xk1ozxXwzpR24j9Iux UVm75AzkObh7PeRBb8HDRfMybScMD5Z8s3Iu2aPD/yoo2cVLzDvSNHx2AQPN6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JKYQTLnPcZYyaLmFhuW8sB0D5aX5bra5ryQxsenQM+g=; b=cR79URgT8K1pnawmwIPMkcf+Vevy6pzNmZ6GCYNWjCnWPtWhsueTtyAlCL7oLntVrbDAQ7 qt4pr8eGx+THorVGHMEEmQftoeqXA9dCdYm4MbTJTrFFSvleXLa7CWHn+anqK5zDBiNFWG 2i6dgFF2+r3jXeyzpygEBVgyeFEILM9vvKdbAHGA8DhO3Rv9sRzuAyZR001RE1DhnzRhl2 bXCtuztNuYx+PD7OdWEawG248XvNLBX91LBXjAprpr79L3oEdFzfIX3aAYJexO890hgM18 5g4PPQVSlPk/agzsYFowS0ldpdrJwsOPF7hSlI8OKv3DY092+5TKvnUHcZv38A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762473; a=rsa-sha256; cv=none; b=QofOWOfTQd6/tmRNQ3lhm20ccGCHIW7HgEEXJ6YvniMrWCDAsRTGOd8uRr/6Ibg2nlKOxW lOXCWlbU4SnnUhh/DGbXR3C+uAEXp0yeZdY8kZ2ITgdaDD/gGF8NeaBipFQkqTUUjH2IGs 4VoT3m3FM9RfngaOGmQVye5kswdRzAW6cjtSOpErga9vPy8zrgRo2Yi/ka+sPnnpcFu40S zuxsmeYy1mahH6lwFbA0jDF/DGxaKTY0YvlmJjkkSLG+FqloosuPxviPZ8XQP2RSI4+l6U 09xzZOky9asz9uMzAOnFub3DxdXlGsi55BJiDGdn/wsQOkeevDajTBK4UUFntw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpd2NTfzhky; Thu, 26 Jan 2023 19:47:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlrmr007216; Thu, 26 Jan 2023 19:47:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlrGx007215; Thu, 26 Jan 2023 19:47:53 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:53 GMT Message-Id: <202301261947.30QJlrGx007215@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 826a7bf96193 - stable/13 - bhyve: Fix some warnings in the snapshot code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 826a7bf961935b054b3df98de55843c08ea11bdb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=826a7bf961935b054b3df98de55843c08ea11bdb commit 826a7bf961935b054b3df98de55843c08ea11bdb Author: Mark Johnston AuthorDate: 2022-10-22 17:41:33 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:17 +0000 bhyve: Fix some warnings in the snapshot code - Qualify unexported symbols with "static". - Drop some unnecessary and incorrect casts. - Avoid arithmetic on void pointers. - Avoid signed/unsigned comparisons in loops which use nitems() as a bound. No functional change intended. MFC after: 1 week (cherry picked from commit c9faf6987406781debb06ec5e40aa1de6d11ac4f) --- usr.sbin/bhyve/pci_emul.c | 2 +- usr.sbin/bhyve/snapshot.c | 35 ++++++++++++++++++----------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 2087c6597852..6e584d0b6626 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -2622,7 +2622,7 @@ pci_emul_dior(struct vmctx *ctx __unused, int vcpu __unused, } #ifdef BHYVE_SNAPSHOT -int +static int pci_emul_snapshot(struct vm_snapshot_meta *meta __unused) { return (0); diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 8129ed4c8a44..7c2372a290c6 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -138,7 +138,7 @@ static sig_t old_winch_handler; _a < _b ? _a : _b; \ }) -const struct vm_snapshot_dev_info snapshot_devs[] = { +static const struct vm_snapshot_dev_info snapshot_devs[] = { { "atkbdc", atkbdc_snapshot, NULL, NULL }, { "virtio-net", pci_snapshot, pci_pause, pci_resume }, { "virtio-blk", pci_snapshot, pci_pause, pci_resume }, @@ -152,7 +152,7 @@ const struct vm_snapshot_dev_info snapshot_devs[] = { { "ahci-cd", pci_snapshot, pci_pause, pci_resume }, }; -const struct vm_snapshot_kern_info snapshot_kern_structs[] = { +static const struct vm_snapshot_kern_info snapshot_kern_structs[] = { { "vhpet", STRUCT_VHPET }, { "vm", STRUCT_VM }, { "vmx", STRUCT_VMX }, @@ -298,13 +298,14 @@ err_load_kdata: static int load_metadata_file(const char *filename, struct restore_state *rstate) { - const ucl_object_t *obj; + ucl_object_t *obj; struct ucl_parser *parser; int err; parser = ucl_parser_new(UCL_PARSER_DEFAULT); if (parser == NULL) { fprintf(stderr, "Failed to initialize UCL parser.\n"); + err = -1; goto err_load_metadata; } @@ -430,7 +431,7 @@ lookup_struct(enum snapshot_req struct_id, struct restore_state *rstate, return (NULL); } - if (ucl_object_type((ucl_object_t *)structs) != UCL_ARRAY) { + if (ucl_object_type(structs) != UCL_ARRAY) { fprintf(stderr, "Object '%s' is not an array.\n", JSON_STRUCT_ARR_KEY); return (NULL); @@ -502,7 +503,7 @@ lookup_dev(const char *dev_name, struct restore_state *rstate, return (NULL); } - if (ucl_object_type((ucl_object_t *)devs) != UCL_ARRAY) { + if (ucl_object_type(devs) != UCL_ARRAY) { fprintf(stderr, "Object '%s' is not an array.\n", JSON_DEV_ARR_KEY); return (NULL); @@ -530,7 +531,7 @@ lookup_basic_metadata_object(struct restore_state *rstate) return (NULL); } - if (ucl_object_type((ucl_object_t *)basic_meta_obj) != UCL_OBJECT) { + if (ucl_object_type(basic_meta_obj) != UCL_OBJECT) { fprintf(stderr, "Object '%s' is not a JSON object.\n", JSON_BASIC_METADATA_KEY); return (NULL); @@ -620,7 +621,7 @@ print_progress(size_t crtval, const size_t maxval) static const size_t len = sizeof(prog_buf); static size_t div; - static char *div_str; + static const char *div_str; static char wip_bar[] = { '/', '-', '\\', '|' }; static int wip_idx = 0; @@ -777,7 +778,7 @@ vm_snapshot_mem_part(const int snapfd, const size_t foff, void *src, return (-1); } - src += done; + src = (uint8_t *)src + done; part_done += done; rem -= done; } @@ -912,8 +913,8 @@ done: int vm_restore_kern_structs(struct vmctx *ctx, struct restore_state *rstate) { + size_t i; int ret; - int i; for (i = 0; i < nitems(snapshot_kern_structs); i++) { ret = vm_restore_kern_struct(ctx, rstate, @@ -925,7 +926,7 @@ vm_restore_kern_structs(struct vmctx *ctx, struct restore_state *rstate) return (0); } -int +static int vm_restore_user_dev(struct vmctx *ctx, struct restore_state *rstate, const struct vm_snapshot_dev_info *info) { @@ -975,8 +976,8 @@ vm_restore_user_dev(struct vmctx *ctx, struct restore_state *rstate, int vm_restore_user_devs(struct vmctx *ctx, struct restore_state *rstate) { + size_t i; int ret; - int i; for (i = 0; i < nitems(snapshot_devs); i++) { ret = vm_restore_user_dev(ctx, rstate, &snapshot_devs[i]); @@ -991,8 +992,8 @@ int vm_pause_user_devs(struct vmctx *ctx) { const struct vm_snapshot_dev_info *info; + size_t i; int ret; - int i; for (i = 0; i < nitems(snapshot_devs); i++) { info = &snapshot_devs[i]; @@ -1011,8 +1012,8 @@ int vm_resume_user_devs(struct vmctx *ctx) { const struct vm_snapshot_dev_info *info; + size_t i; int ret; - int i; for (i = 0; i < nitems(snapshot_devs); i++) { info = &snapshot_devs[i]; @@ -1070,8 +1071,8 @@ done: static int vm_snapshot_kern_structs(struct vmctx *ctx, int data_fd, xo_handle_t *xop) { - int ret, i, error; - size_t offset, buf_size; + int ret, error; + size_t buf_size, i, offset; char *buffer; struct vm_snapshot_meta *meta; @@ -1185,10 +1186,10 @@ vm_snapshot_user_dev(const struct vm_snapshot_dev_info *info, static int vm_snapshot_user_devs(struct vmctx *ctx, int data_fd, xo_handle_t *xop) { - int ret, i; + int ret; off_t offset; void *buffer; - size_t buf_size; + size_t buf_size, i; struct vm_snapshot_meta *meta; buf_size = SNAPSHOT_BUFFER_SIZE; From nobody Thu Jan 26 19:47:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpf4gPVz3bnX8; Thu, 26 Jan 2023 19:47: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 4P2rpf4BJ3z3DHY; Thu, 26 Jan 2023 19:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VjJQ8y+NAK/xPwC5jhRDIxW6YvGJi6+wjoRVCA2TYWw=; b=Fb9ds8+5o5fdWED93GpVBDCs4uiscntX83VVXdHpiXaF8BCz4/2cuBvcOtCAMH/8lOtcIK j2cmhNcl4taamyNDRJuZRSKulSyww38kWA4V2mpkPK+lKC/ff5R/KhzIJtQxtxZfBN9CtE kdHbVe1wcaEoE8jxQMhZBNpmuHQnaavI5ZiXlOcyV1FuTfrqPWa/DJcUFdlCxgzyPeORWn 4nDWMoAtu4rX/ecfyzuoqn8sq4lnAIWe+7nHbRyfFQinc8eaEoG+SknwmziW2H2CrA0jbx KyXDLgklRpbsyRbPSyWnWLeg2EW/3CiomnACvsWivR5sZAjQet+/0n0/l8fl5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VjJQ8y+NAK/xPwC5jhRDIxW6YvGJi6+wjoRVCA2TYWw=; b=Ux9u5/3D0oC+WA/wlHOSV3V3kIki6cy6RJI2hfyENcGSiysjj87cPgTK1zIEjObUDaqk7H 9HjhQM2IKDCPvKxy+zASKTdBStODh4kADJNeaSLydc3sC6059iDB9GX5VTWsxDrrxfvy+p weO/kWdO8cB0kNVGVBhTxhc0tBnJnAnM0a/4eOcor9tcDX8zmBDHkWXphvcH60EYisQAYB QPOxEWUdhHuTlRKzCmTXvwhjyaXPGR1rDEkbssHQXhx+A4QXJnH7T5wDJqRTB2L27pSV46 T2GZq0+VZ9ku/F+M0pcNOZLN/z+S3hwBWT/nzUsQPSOFXi7mEMOlwzZgRVu5bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762474; a=rsa-sha256; cv=none; b=KVkrQh+dNTOBJFQFlQ3HeWF/LRRuHrnL1Lk9N32rhuiso7VA04WxbpOnweCuLYCsszgel4 f+0+ST5uhc1PqW21inf6UzJhMJtVwtU+IX75CiM2tc/TLBti6tWuKih9K5Z9uTBMzjyLtQ 5CGW3Qbl7S/ZcKUD91MC5YRPlwDCrj+5w7fuF+rhZnz/Lilnqmfjt9YORMCsSrrg5Gxa53 OQUQrHxAIgxep9ydvQUyiGpEuZjkRFr6TGVaFWPeznilkEJalNQjwNhWnFeiT3FmKd3IEW TgGdpmUtw9oBVNDbYixr9kTmAvgzVWcz11WV5MnyFXIPcOA9sFMGUMVgBUT/vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpf3FMKzhFG; Thu, 26 Jan 2023 19:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlsxB007246; Thu, 26 Jan 2023 19:47:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJls6Z007245; Thu, 26 Jan 2023 19:47:54 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:54 GMT Message-Id: <202301261947.30QJls6Z007245@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1aa0ccf6f232 - stable/13 - bhyve: USB device model structures can be qualified with "static" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1aa0ccf6f2329fa5f36e0012bea723386b5b2507 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1aa0ccf6f2329fa5f36e0012bea723386b5b2507 commit 1aa0ccf6f2329fa5f36e0012bea723386b5b2507 Author: Mark Johnston AuthorDate: 2022-10-22 17:39:01 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:30 +0000 bhyve: USB device model structures can be qualified with "static" No functional change intended. MFC after: 1 week (cherry picked from commit cd49c066a3565a37551d50d759c8d1b5a90b3859) --- usr.sbin/bhyve/usb_mouse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/usb_mouse.c b/usr.sbin/bhyve/usb_mouse.c index fae7f4c29fa7..e76f6984c4fd 100644 --- a/usr.sbin/bhyve/usb_mouse.c +++ b/usr.sbin/bhyve/usb_mouse.c @@ -218,7 +218,7 @@ struct umouse_bos_desc { } __packed; -struct umouse_bos_desc umouse_bosd = { +static struct umouse_bos_desc umouse_bosd = { .bosd = { .bLength = sizeof(umouse_bosd.bosd), .bDescriptorType = UDESC_BOS, @@ -809,7 +809,7 @@ done: } #endif -struct usb_devemu ue_mouse = { +static struct usb_devemu ue_mouse = { .ue_emu = "tablet", .ue_usbver = 3, .ue_usbspeed = USB_SPEED_HIGH, From nobody Thu Jan 26 19:47:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rph0CLPz3bnXC; Thu, 26 Jan 2023 19:47: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 4P2rpg4zHDz3D8r; Thu, 26 Jan 2023 19:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z02WiVmRv6/+qbeQSTJpyfuzvnsx6U6aFl8Tva76kaI=; b=g829Br2q+aj3mFso6CP5ODcZOuvf+/K+fA7M6/obZRwataeN9hAErZhAMrSoBA7Z2x0uYp Ii9+Ej8OeQ/XQtel0xhiPdk18G/bUwAMoQbygFZZ/a5BT4Mj65c1jV3+6YK9LhItLCKFCE R1c5mD8WB6WnHIf75GUpgxX9OO5k9F9LV2seHzebPF9ZJxLeBfnLzX0iUjrrt1jLnWHGJD BoMl1RkiES1PArqhsAwL1BgdOsN7eV0K0LakH9EKfKF82aCnBHed8MpE1m+OzjiTe8/iRy zPZmONc5yG/vFmN95aRQcVTMjvi9HqnlJ0TLK7V5MqFhWYNrVqQFmnlyqEX55g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z02WiVmRv6/+qbeQSTJpyfuzvnsx6U6aFl8Tva76kaI=; b=PYtdb8471xstRvM2fisJvIHDPoO6oaHPB2TU8enu4UXRrgwbdWXjUX8FE+jJZKruIVLOoL 5usE2UyABTz6L1jxgaxqWETne0ewiukJ0MI7I5RVwJ6BuCjHQQkk8T2aZFAy82HgX0Btya 8hJI4hf5MlxN4d6NUBCgE54jQr+rE3UdsH7VM5xklRQZr5Yk8tevcDLhBMXsuCx5a5P9ww /YHkn0A0nuKuVMInk29TQR0c9zrvsBPyxpUxMS5OZc4LHhBKdZog5ocJUoY+scdH4r8o74 ys/twrFZkq8PvNUp8OPedS9CVUQdsEVc6EqQjKIQkMyiOz6NQiFMC5AIl/qLEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762475; a=rsa-sha256; cv=none; b=p0VxLjXbq1eAftiV2gz0eau9OIbLb44nmeLWdbP6p/O7XBuXa4Y+lmnmxKOHNwqsgcCHGX fTP1f89aJ7qt8oVCcWMc+aiRMkd/TkQNqtFH8TI7rKE9FYRVjH8J41lxBKBPtHXl2OUN1Z rTdQrQH0SXQdTJ9xZ3yCOIj6YU7Wtr3JwpdK1tuGC4a5G4OLxknCOtvK4n+2uH6umNTIRR mkmCqeDxDKpLPRqma2zhlR2jUJSgYjKv1g2J0xH/ITFfcSNh+HUlXlkabPavsyTSHshfyd 07zknrJ+SEg2gAy0Bclbuggad54feip0qK2IESIhqVxJ1jC4Kx+wGx+yvtpYhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpg3zQbzhl0; Thu, 26 Jan 2023 19:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJltts007271; Thu, 26 Jan 2023 19:47:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlt4L007270; Thu, 26 Jan 2023 19:47:55 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:55 GMT Message-Id: <202301261947.30QJlt4L007270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ea53f4fe7b20 - stable/13 - bhyve: Annotate an unused function as such List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ea53f4fe7b209cc472ff8a619ad342ccd55d107b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ea53f4fe7b209cc472ff8a619ad342ccd55d107b commit ea53f4fe7b209cc472ff8a619ad342ccd55d107b Author: Mark Johnston AuthorDate: 2022-10-23 14:46:39 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:36 +0000 bhyve: Annotate an unused function as such No functional change intended. MFC after: 1 week (cherry picked from commit eb805f4e0f6a7b1567aa4cf4eb1c4484dac67ae5) --- usr.sbin/bhyve/pci_e82545.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 38be6a565219..1591136002f6 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -364,7 +364,7 @@ static void e82545_tx_start(struct e82545_softc *sc); static void e82545_tx_enable(struct e82545_softc *sc); static void e82545_tx_disable(struct e82545_softc *sc); -static inline int +static inline int __unused e82545_size_stat_index(uint32_t size) { if (size <= 64) { From nobody Thu Jan 26 19:47:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rph73Rtz3bnRM; Thu, 26 Jan 2023 19:47: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 4P2rph5cmgz3DCt; Thu, 26 Jan 2023 19:47:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Orj+WE8Ylg1eY+vAtWVD0O/Kd14VuFNElLgPT4/14qM=; b=p0OrzqFUd9L78B38/UcQmu6wyeVwVDX/0YtFcCr6o2F1aOv8LY25UGxPQeQIPo+89z05jw zhh/EUaTuqMwqvi2OXN3tY7W5HMdQVttd/iMpqm5VpLffKell5pqRCuEEUJ9neMs/h9NdF dxBTu/ZLM+YI9bVkwQrPG8dl0nsy/ehMTguKHJcBwBd4+QfERfGdw7LB5/a2fw5dSUaxiu jzaLAUDIzUGuW5Vp6kc8NgAUW2rUmhL/Mm1PZvV2C1Qgi4qqR08Ob1Ja8/0plA6ObFXX4f p2S6Xd6MwaMXt9LI/b171fGZoIHEJSWFtVPHqu9KMJY0pkMIRUvwI6B/LuiEGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Orj+WE8Ylg1eY+vAtWVD0O/Kd14VuFNElLgPT4/14qM=; b=yU+l7aAvzZtJuH0gn65Ik1AvXX75jZTeuV+wLEdLZsz+VezYjc3hN+chLmtW7ibNYGLRp7 R6HiGminVJLU2xcpT3+oAkBaGGaHhuI+7g7VySqanT8h1RB2DZzWWYFlU2bW1GapDpp9VR 7GwntNzJXm6LeHy4wnyOn00kykqgu1/1Tq0KSpX5ThUx2hlC9Z6o61T4q1jHUEmYEtDPKl 2lQbQBFxP0OXxl9wam8nxVM6yydEQAAMdKGRQe5aw4yBi4lX5fMh+zwlLcYf62cgDKH5lM iaoGardATrKdswl5dW0bQl+Wz6ZyDPtCoUGqoehRW4r1pmLdZrfN9m5jWj7sYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762476; a=rsa-sha256; cv=none; b=OOO/jaGOCRC5ZIV8u+ITB4HJJfQ/Tfl3/Kf6iC3uMNumHKKXlyW8lSVwzC4HS37dES+K/l DDimewIiKY8hsfSnJGwNvSEtjYuypcgg2RkyLsT9Vp6EzN77GPtysRR/ozuTI3YBYWzq6d ffCZwArHr1EiPOfU8V6jm+3GmFCNvhln+YsOkCAF/rHNIgNxtXWe66MWUPPxVu5Uoe9Kf+ rEib7mv9Mb/uH0c8ICMTkD2WpAi7Dy1JHy1QDWOnkktnL1s6lc8F/ZefM6C0NAdHOj3edd mvKUxcKUQfP+JJ9KJ5qnlocSOWgXAlBD+9rdDyAc0EiqduJiVQjapHrK7/C3sA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rph4hMHzgv7; Thu, 26 Jan 2023 19:47:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJluaq007301; Thu, 26 Jan 2023 19:47:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJluV3007300; Thu, 26 Jan 2023 19:47:56 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:56 GMT Message-Id: <202301261947.30QJluV3007300@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 131a87a32703 - stable/13 - bhyve: Put the prototype for vmexit_task_switch() in a header List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 131a87a32703d457aaceda68132d6b06af22a8a2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=131a87a32703d457aaceda68132d6b06af22a8a2 commit 131a87a32703d457aaceda68132d6b06af22a8a2 Author: Mark Johnston AuthorDate: 2022-10-23 14:21:50 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:41 +0000 bhyve: Put the prototype for vmexit_task_switch() in a header No functional change intended. MFC after: 1 week (cherry picked from commit f703dc0ef0e1d6ac1697cb8d6662870bd5e0fba6) --- usr.sbin/bhyve/bhyverun.c | 1 - usr.sbin/bhyve/bhyverun.h | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index cdd5a8833ba3..6b0b61cc897c 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -183,7 +183,6 @@ static const char * const vmx_exit_reason_desc[] = { }; typedef int (*vmexit_handler_t)(struct vmctx *, struct vm_exit *, int *vcpu); -extern int vmexit_task_switch(struct vmctx *, struct vm_exit *, int *vcpu); int guest_ncpus; uint16_t cpu_cores, cpu_sockets, cpu_threads; diff --git a/usr.sbin/bhyve/bhyverun.h b/usr.sbin/bhyve/bhyverun.h index 5bd7542d8533..1e1e5f9880f8 100644 --- a/usr.sbin/bhyve/bhyverun.h +++ b/usr.sbin/bhyve/bhyverun.h @@ -34,10 +34,12 @@ #define VMEXIT_CONTINUE (0) #define VMEXIT_ABORT (-1) -struct vmctx; extern int guest_ncpus; extern uint16_t cpu_cores, cpu_sockets, cpu_threads; +struct vmctx; +struct vm_exit; + void *paddr_guest2host(struct vmctx *ctx, uintptr_t addr, size_t len); #ifdef BHYVE_SNAPSHOT uintptr_t paddr_host2guest(struct vmctx *ctx, void *addr); @@ -46,4 +48,6 @@ uintptr_t paddr_host2guest(struct vmctx *ctx, void *addr); void fbsdrun_set_capabilities(struct vmctx *ctx, int cpu); int fbsdrun_virtio_msix(void); +int vmexit_task_switch(struct vmctx *, struct vm_exit *, int *vcpu); + #endif From nobody Thu Jan 26 19:47:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpk0sNCz3bnRS; Thu, 26 Jan 2023 19:47: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 4P2rpj6rK5z3DDS; Thu, 26 Jan 2023 19:47:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBeamQN9uJ3sf9KuldV4nnwYq+4y+pHCXclrN9n+4Nc=; b=E+J0ifMNTk1o+HwnB6XzTHGtZo3lfcAKjF6zxDQS75RboJjGUgitcCKhZfkdbqoNAqhF0K pJa8imqxf2nk20Xglwqlq+lWBf60pgjQfpj7qe2qxw1snzocYlwBOZjUefEbwN2vlefiGQ BdczMxaNcpNT/EYepXza/I3c2ycgBlcRJuc5aCH3y+9w1iqesWigds9DDNf0SyYOlEbH8C 0o855Zr/THbH9Q5sugqZ2Ay7WD62Y0VOzXWvMjSArgnEjsXEU5U2+dnSw+d42+MVTCsi8u YtyYx+Pg3HQggJDxGpEXT72IRtT4B2FsA2at18BFMlW5EQHLgqzHViOiNEvKag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBeamQN9uJ3sf9KuldV4nnwYq+4y+pHCXclrN9n+4Nc=; b=uXmAqoyAxSZi9yYIrWS4ircQaaAOM+owiq7u+aAgH0xIKh+BrE+TBP4p4+9CuoT98LI48p zB4Q60qzbx14w3Q9sIcXpdTo/Gz2oWFKsYR81tEfNc9l56PZkGXzBjLigEyecBEw5f+g6Z e0/q4TUt4hGLxMlcGJsYTSzHWEElJaWPVeVg4TfyExNCh9m8Zt6bJ/9atKZOFl3esQhQxb caKmfHuILjHlXbJLh77FpbE4PIvZ4ltY0qqJM3i8S29yWhETOyn7Apt1ikBD6LPFRki4Jf 3icryVma9LDDgcHO2J4xhxGnVdddSwZNOSsxB6q+rY3jjTbbhfmCBWEBWbxviA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762478; a=rsa-sha256; cv=none; b=YGD2b+LpoHbDvKnLp6lXqQwcHwy5QA++VFpuY+0/BxDx1tZbms/OBs2aU6lCAnGPT2UzdU L9wlzJMbi2t1hyIQjkp1UQ9nmKxr/40976RJPVbx2xWIWyOEHFVAVcCzfWS+E2EVZ6N5q6 1+/hTik2sYb7fZp1dZ8AF7GY2vqQFdBjdN81pHnxi6HCwPFoWJVZqWqQpImU+En0ogGRf5 5UmP1G70byfZMwrzE66nuCJddCBABWI7uCBMGETNzKFTKx8f2OLg4WqTNJ97mQOCEamBIr GglmIBLpH47jDaHPgxrsGVyPXHprw2qFdP2aIc7kTyxweVUOYOsK0PGgghVTYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpj5lJmzhKG; Thu, 26 Jan 2023 19:47:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlvkf007326; Thu, 26 Jan 2023 19:47:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlvAG007325; Thu, 26 Jan 2023 19:47:57 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:57 GMT Message-Id: <202301261947.30QJlvAG007325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: dc1d08705b4e - stable/13 - bhyve: Drop a bogus const qualifier List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc1d08705b4efa8e38f1884bc238478e7a5878a8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=dc1d08705b4efa8e38f1884bc238478e7a5878a8 commit dc1d08705b4efa8e38f1884bc238478e7a5878a8 Author: Mark Johnston AuthorDate: 2022-10-24 21:35:16 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:31:46 +0000 bhyve: Drop a bogus const qualifier No functional change intended. MFC after: 1 week (cherry picked from commit eefd863cbae9d7b2f5c83948b45be13951a0c495) --- usr.sbin/bhyve/pci_virtio_input.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/pci_virtio_input.c b/usr.sbin/bhyve/pci_virtio_input.c index dff8eaafaa21..77cbcf3aa0cf 100644 --- a/usr.sbin/bhyve/pci_virtio_input.c +++ b/usr.sbin/bhyve/pci_virtio_input.c @@ -474,15 +474,14 @@ vtinput_eventqueue_add_event( if (queue->idx >= queue->size) { /* alloc new elements for queue */ const uint32_t newSize = queue->idx; - const void *newPtr = realloc(queue->events, + void *newPtr = realloc(queue->events, queue->size * sizeof(struct vtinput_event_elem)); if (newPtr == NULL) { WPRINTF(("%s: realloc memory for eventqueue failed!", __func__)); return (1); } - /* save new size and eventqueue */ - queue->events = (struct vtinput_event_elem *)newPtr; + queue->events = newPtr; queue->size = newSize; } From nobody Thu Jan 26 19:47:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpl2f6bz3bnTp; Thu, 26 Jan 2023 19:47: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 4P2rpl0nfzz3DBG; Thu, 26 Jan 2023 19:47:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Q7TLr6Q5omP45wJnuOvf+MG5dcFFfk8xnDBg9+sN30=; b=P1d1gjip9b0YoBV83qhXjGso9Zn1OjgQ6xtJFTs55cnd38KUwVfSqBsR//Nhehj8MCt6pw DTlJmztC1ddmRoWpPY5RpQL9dgVP4sNk+kxBe5+wR91iokAq2kK1Vi4PmQj63CbuLHrS0S qOnBwng+f/6h+dKb+nQxjO4kiE/ydj0V5AiUJflxyI3n6GQogxgMvo0jI8oDctWY41IRe+ MWWQ41nxreTADBhvKWe2xuLdMs1FLKE84DJuZN7O0UmxQWFx120roghaUUF5YeBXhRtwFi sUo/h15X+Y9FchjSil22bq2JP0yq3pmbrzXF7Xh9/knk3jyRd7hqxim/WXspEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Q7TLr6Q5omP45wJnuOvf+MG5dcFFfk8xnDBg9+sN30=; b=siPDP5yv76h0tHO3zv8X8yg3n20+0mRvSRrMWx2TMxP5iWK8ZEVkgRN861Tupuosdj2Rwi qaxQUsBMMMNmpFXebaYftRYy0dFu/i4iL4iN2SvXZmGj9FjoipEhorc1xFZ2Yxquhs76YF 3vErqC/ZxiadG7ecM85LNC2472cP8Xeu3S6vsQWS55Omi1V0+LWHDmGOEhJ4nfNUMBdol5 oK1l30euOI9U71vDWOURKgHv1yRZTOHfwuimfTp/Foxk4Z9rzysWdHDVsFrSb+9RLWiuZK rtYyXg2RXRGoxgCozFRsE+K1nSz7HDqFO1pSJWcJ8u2+w/r4sHgkAQG2HczehA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762479; a=rsa-sha256; cv=none; b=byXStPBZ/XRCsK/iiWOX8k3cJe6IOSkFN+wfrn6A9dXYSjLVpX95Moi9ixeCrv0xXqcmS8 2P2cixTOPN0d93naRaltZSKlGPsgEK3sVdISVMW4rHhhuS9rU3qFVWZLmDVMnTzD0lhAV2 EmqBLtThlqXatgWR2rizB6DQ6Pjc2omaCXJ8Al6+zJgXLKag0Gbqte816vwQdvsAN/cZV7 CL2gF1QIp+CpcVkIyU21R+EiKP8YZ7WEyYg+xqmfkaoP5P/DsqM/WQ5+68NwOwlv9V8Gtg HP4P+0delyjhPw2I7WJlOgAxalL6+zVhjRZNVOfD8VCz3ryemRXMEnjkX4yhrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpk6n3jzhWd; Thu, 26 Jan 2023 19:47:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJlw7A007350; Thu, 26 Jan 2023 19:47:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlww6007349; Thu, 26 Jan 2023 19:47:58 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:58 GMT Message-Id: <202301261947.30QJlww6007349@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c369cdd69656 - stable/13 - bhyve: Address warnings in blockif_proc() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c369cdd696568cc037958413ead78f7225193302 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c369cdd696568cc037958413ead78f7225193302 commit c369cdd696568cc037958413ead78f7225193302 Author: Mark Johnston AuthorDate: 2022-10-25 13:16:23 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:42:43 +0000 bhyve: Address warnings in blockif_proc() - Use unsigned types for all arithmetic. Use a new signed variable for holding the return value of pread() and pwrite(). - Handle short I/O from pwrite(). MFC after: 1 week (cherry picked from commit 46f5c828961e64646c46ff9e3bc8e55f46f3e7bb) --- usr.sbin/bhyve/block_if.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index 558a1629f074..a13f7f0744c6 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -235,32 +235,36 @@ blockif_proc(struct blockif_ctxt *bc, struct blockif_elem *be, uint8_t *buf) { struct blockif_req *br; off_t arg[2]; - ssize_t clen, len, off, boff, voff; + ssize_t n; + size_t clen, len, off, boff, voff; int i, err; br = be->be_req; + assert(br->br_resid >= 0); + if (br->br_iovcnt <= 1) buf = NULL; err = 0; switch (be->be_op) { case BOP_READ: if (buf == NULL) { - if ((len = preadv(bc->bc_fd, br->br_iov, br->br_iovcnt, - br->br_offset)) < 0) + if ((n = preadv(bc->bc_fd, br->br_iov, br->br_iovcnt, + br->br_offset)) < 0) err = errno; else - br->br_resid -= len; + br->br_resid -= n; break; } i = 0; off = voff = 0; while (br->br_resid > 0) { len = MIN(br->br_resid, MAXPHYS); - if (pread(bc->bc_fd, buf, len, br->br_offset + - off) < 0) { + n = pread(bc->bc_fd, buf, len, br->br_offset + off); + if (n < 0) { err = errno; break; } + len = (size_t)n; boff = 0; do { clen = MIN(len - boff, br->br_iov[i].iov_len - @@ -285,11 +289,11 @@ blockif_proc(struct blockif_ctxt *bc, struct blockif_elem *be, uint8_t *buf) break; } if (buf == NULL) { - if ((len = pwritev(bc->bc_fd, br->br_iov, br->br_iovcnt, - br->br_offset)) < 0) + if ((n = pwritev(bc->bc_fd, br->br_iov, br->br_iovcnt, + br->br_offset)) < 0) err = errno; else - br->br_resid -= len; + br->br_resid -= n; break; } i = 0; @@ -311,13 +315,14 @@ blockif_proc(struct blockif_ctxt *bc, struct blockif_elem *be, uint8_t *buf) } boff += clen; } while (boff < len); - if (pwrite(bc->bc_fd, buf, len, br->br_offset + - off) < 0) { + + n = pwrite(bc->bc_fd, buf, len, br->br_offset + off); + if (n < 0) { err = errno; break; } - off += len; - br->br_resid -= len; + off += n; + br->br_resid -= n; } break; case BOP_FLUSH: From nobody Thu Jan 26 19:47:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpm3dCPz3bnKR; Thu, 26 Jan 2023 19:48: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 4P2rpm2T3sz3DNx; Thu, 26 Jan 2023 19:48:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VxhrHodLK6t26BpYJKsX4sVs4bYKG2kp5VASfRYyYiQ=; b=wXkap0IQV8NZ6BK+Bo8FQEzng2VIJt/i0AFB7FJ3S62/9JddjvSVts9u0Re3Unqdk38TYv eXeKcgaNYW3h4Mu8xCjG62j3/Bqi3pFnw9TIefGt5B7CWWEJuFYhWMwq8+csWPbYTvkoec NAQ1ouBmhmN8rby2fIsaHtGzJ9jkEPz88jlqpZVHs7XaNOm1evSDtjH14aRPk5UY6u6QnF baCPfJDgrbm38/tHTA0vvpUb1XbR3jMmCTfkoAtmhcoAsSFIxH38aK3D9nK10FcbrNa9mv RAgR0HuXUpa0Aue0SCLF4b/f6JAVbfMppAIZwmgWD773IYxZEm+G1JZXw0i1KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VxhrHodLK6t26BpYJKsX4sVs4bYKG2kp5VASfRYyYiQ=; b=e7hycw2AlkUxUnu6ud9yN1tVLKAIQV62UdW4kMXkrZvm0gCvYHNMRbYV2fCqrbUHmuE/K+ AA54rw+4PKXwoiP2FucTrUo3VqXIaRV7iDw0X6S4N8o34RZCXXUo1Eet1taK5Ra9Ckoxkx dAC/QVss0OhM/FbA8kLp6TCZ6X+3X06uYu2wp9bccVgFEMZ7qlvHJaPGWLGvmclqNGfhLf 82MokrvaFpDze2L+jWy5ZjNJr/bs4o5PMOG6qiw6YdI/0StjitCHRHSIdWqNQ4tV7Es34P 7jyk5D+me1kXfUpffnwsVMmxJYsgdJNYhyR68qEWpkQgxE13kF5QNyqqW+cVkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762480; a=rsa-sha256; cv=none; b=rLvuLhIZef7oyn29wH6XqZy5RlJTg9fBPbZnn45p0BHvdz+hzfPj2mdnoT/A29ufZBo37B EeWtXN5AThNqFuazsWwToi8gGEdg+10hyuBvpLRUN5oPMNtSnGugviVlCi6vLmaZhhJrv9 /X7OyqgpQbS8N/oQzyC0Z8cD5sBRNE3/mp91aSfG5Weobc7B6/rf3B3p6AVWWrrlj7SHcI xfcRyFccVgtydKcyyY7E22OnbFDZyE55GRfOdoO+IB03pt8T5a5WW5XluCasqlJZ4lxKUu vV7MMVi26Rtp47Du3WjQ0RTz+X51prw6S7G8HPtfndUs6cnvNKR7YAcf6/bVAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpm0jtmzhWf; Thu, 26 Jan 2023 19:48:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm02W007374; Thu, 26 Jan 2023 19:48:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJlx9e007373; Thu, 26 Jan 2023 19:47:59 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:47:59 GMT Message-Id: <202301261947.30QJlx9e007373@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: f233e95e8a5c - stable/13 - bhyve: Address signed/unsigned comparison warnings in the e1000 model List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f233e95e8a5cad5176758ac23665f00bcabe14d1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f233e95e8a5cad5176758ac23665f00bcabe14d1 commit f233e95e8a5cad5176758ac23665f00bcabe14d1 Author: Mark Johnston AuthorDate: 2022-10-25 13:54:50 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:42:59 +0000 bhyve: Address signed/unsigned comparison warnings in the e1000 model No functional change intended. MFC after: 1 week (cherry picked from commit cea34d0705ccd3944cce1bed5b4ff31aad05d983) --- usr.sbin/bhyve/pci_e82545.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 1591136002f6..22127eb2208a 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -835,7 +835,8 @@ e82545_rx_callback(int fd __unused, enum ev_type type __unused, void *param) struct e82545_softc *sc = param; struct e1000_rx_desc *rxd; struct iovec vec[64]; - int left, len, lim, maxpktsz, maxpktdesc, bufsz, i, n, size; + ssize_t len; + int left, lim, maxpktsz, maxpktdesc, bufsz, i, n, size; uint32_t cause = 0; uint16_t *tp, tag, head; @@ -877,7 +878,7 @@ e82545_rx_callback(int fd __unused, enum ev_type type __unused, void *param) } len = netbe_recv(sc->esc_be, vec, maxpktdesc); if (len <= 0) { - DPRINTF("netbe_recv() returned %d", len); + DPRINTF("netbe_recv() returned %zd", len); goto done; } @@ -892,7 +893,7 @@ e82545_rx_callback(int fd __unused, enum ev_type type __unused, void *param) len += ETHER_CRC_LEN; n = (len + bufsz - 1) / bufsz; - DPRINTF("packet read %d bytes, %d segs, head %d", + DPRINTF("packet read %zd bytes, %d segs, head %d", len, n, head); /* Apply VLAN filter. */ @@ -929,7 +930,7 @@ e82545_rx_callback(int fd __unused, enum ev_type type __unused, void *param) E1000_RXD_STAT_EOP | E1000_RXD_STAT_DD; /* Schedule receive interrupts. */ - if (len <= sc->esc_RSRPD) { + if ((uint32_t)len <= sc->esc_RSRPD) { cause |= E1000_ICR_SRPD | E1000_ICR_RXT0; } else { /* XXX: RDRT and RADV timers should be here. */ @@ -976,7 +977,7 @@ e82545_buf_checksum(uint8_t *buf, int len) uint32_t sum = 0; /* Checksum all the pairs of bytes first... */ - for (i = 0; i < (len & ~1U); i += 2) + for (i = 0; i < (len & ~1); i += 2) sum += *((u_int16_t *)(buf + i)); /* @@ -991,9 +992,10 @@ e82545_buf_checksum(uint8_t *buf, int len) } static uint16_t -e82545_iov_checksum(struct iovec *iov, int iovcnt, int off, int len) +e82545_iov_checksum(struct iovec *iov, int iovcnt, unsigned int off, + unsigned int len) { - int now, odd; + unsigned int now, odd; uint32_t sum = 0, s; /* Skip completely unneeded vectors. */ @@ -1039,11 +1041,11 @@ static void e82545_transmit_checksum(struct iovec *iov, int iovcnt, struct ck_info *ck) { uint16_t cksum; - int cklen; + unsigned int cklen; DPRINTF("tx cksum: iovcnt/s/off/len %d/%d/%d/%d", iovcnt, ck->ck_start, ck->ck_off, ck->ck_len); - cklen = ck->ck_len ? ck->ck_len - ck->ck_start + 1 : INT_MAX; + cklen = ck->ck_len ? ck->ck_len - ck->ck_start + 1 : UINT_MAX; cksum = e82545_iov_checksum(iov, iovcnt, ck->ck_start, cklen); *(uint16_t *)((uint8_t *)iov[0].iov_base + ck->ck_off) = ~cksum; } @@ -1084,9 +1086,8 @@ e82545_transmit(struct e82545_softc *sc, uint16_t head, uint16_t tail, struct ck_info ckinfo[2]; struct iovec *iov; union e1000_tx_udesc *dsc; - int desc, dtype, len, ntype, iovcnt, tcp, tso; - int mss, paylen, seg, tiovcnt, left, now, nleft, nnow, pv, pvoff; - unsigned hdrlen, vlen, pktlen; + int desc, dtype, ntype, iovcnt, tcp, tso, paylen, seg, tiovcnt, pv; + unsigned hdrlen, vlen, pktlen, len, left, mss, now, nnow, nleft, pvoff; uint32_t tcpsum, tcpseq; uint16_t ipcs, tcpcs, ipid, ohead; bool invalid; @@ -1371,7 +1372,7 @@ e82545_transmit(struct e82545_softc *sc, uint16_t head, uint16_t tail, tcp = (sc->esc_txctx.cmd_and_length & E1000_TXD_CMD_TCP) != 0; mss = sc->esc_txctx.tcp_seg_setup.fields.mss; paylen = (sc->esc_txctx.cmd_and_length & 0x000fffff); - DPRINTF("tx %s segmentation offload %d+%d/%d bytes %d iovs", + DPRINTF("tx %s segmentation offload %d+%d/%u bytes %d iovs", tcp ? "TCP" : "UDP", hdrlen, paylen, mss, iovcnt); ipid = ntohs(*(uint16_t *)&hdr[ckinfo[0].ck_start + 4]); tcpseq = 0; From nobody Thu Jan 26 19:48:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpn4pVPz3bnXL; Thu, 26 Jan 2023 19:48: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 4P2rpn2nScz3DP7; Thu, 26 Jan 2023 19:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ua7muQFN5Hs+vzRHmztwfXQGo61/spwblaqFSb36N2g=; b=hPHaUFT2v5hSNz2MIMNjtCrnNjQAoq9PGWrnJghwFUlBkq7/I9SKQ3LuAaf4kOEYPoRLga l7CECeaS0biHMchit2B5VNxYUaosawzwvKVHZz/9L8GD6q6GLIsDGVwcNgNkejhA5O1Und VkmGjdVPIbIeK0q33R1NQ9MbWbnNknACuLvmmhV1UfbjpmsH8uY2xoZG1IBtQQuWy5tYHb 8u1xXa7FPmzDmgRFDMDywBVQnHdbEBLYF/5x3zwlzU5wTQdIQywW6kf5XnXx/UQBzzcWj0 vw5ozzsTkl6AXp4+YZulRy3AsDenpugxvaq8srTxiStfDMDUGgcU5JxE1BqTHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ua7muQFN5Hs+vzRHmztwfXQGo61/spwblaqFSb36N2g=; b=LeyGf000WHh5ubWybqst32FHmZa3knX7ltN935FWEGvpseQNuWvZTASd8JgVr92Rey3znG SqjDxnr6d9QkWjNZM7tKhfThRl2AXwhUX2LAWgCLvOa0hxQDBklRzKaaOoDmy/p/MgPx77 xYZEW61M4hHOCVpOoqPt50jybuJCakOtopqVKEEsu6VfkBR1I6JmdS7A0paeU0mAcBmrSs pRjxxKAKvA/0sKuq1Ecaej7QtUu3YITAbyXJSodh5ixjqYZ3Gc6WjAMZQcdAS8sw6uiraq Aik4tglw58pmgwSVAA9g/ogZgnD+emP027H/qM7Z+wemDtdom3LISNmHcAnFGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762481; a=rsa-sha256; cv=none; b=tCBwwmcTCR33nel7OsZJaDMq+/+q9M3zv3E4G3Q5ZrhUNUN5dTap+8RwoC9Mr8zTKEb7ww 7sAGgM4EIHZRCVh2DSGogx0HZF9CEe/s1YA2+DePLjyy+7kT7WgTtkUKmHWu1/zN4wBO8z ouMGgqAzztxptBCwizajp5NgPInORyPxMQfrEQLq7O65tOrk2fS8zxHNdywlat3fibjOsv QA5706r+Mg7zvwrjCbho/6WN6PVyMXpXdjdihKqsaKdEWZtgEojH30OM2dZSFp6EEntn3k Z8FbaCLrTKqrfn7bu00OiUNY0ds/DBhxlFOOF34YpwFDBrejuf/jPTpqjMp9wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpn1HqTzhWg; Thu, 26 Jan 2023 19:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm1uH007400; Thu, 26 Jan 2023 19:48:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJm1lX007398; Thu, 26 Jan 2023 19:48:01 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:48:01 GMT Message-Id: <202301261948.30QJm1lX007398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a48715b58c5a - stable/13 - bhyve: Address some signed/unsigned comparison warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a48715b58c5adb009649fc64222c18328425b957 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a48715b58c5adb009649fc64222c18328425b957 commit a48715b58c5adb009649fc64222c18328425b957 Author: Mark Johnston AuthorDate: 2022-10-23 14:32:45 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:43:04 +0000 bhyve: Address some signed/unsigned comparison warnings MFC after: 1 week (cherry picked from commit ed7216843133c9d6748251b5e180ee90410131f0) --- sys/amd64/vmm/vmm_instruction_emul.c | 4 ++-- usr.sbin/bhyve/bhyverun.c | 2 +- usr.sbin/bhyve/block_if.c | 6 ++--- usr.sbin/bhyve/fwctl.c | 4 ++-- usr.sbin/bhyve/gdb.c | 10 ++++---- usr.sbin/bhyve/net_backends.c | 6 ++--- usr.sbin/bhyve/pci_e82545.c | 2 +- usr.sbin/bhyve/pci_emul.c | 9 +++++--- usr.sbin/bhyve/pci_hda.c | 5 ++-- usr.sbin/bhyve/pci_irq.c | 44 ++++++++++++++++++++---------------- usr.sbin/bhyve/pci_nvme.c | 2 +- usr.sbin/bhyve/pci_passthru.c | 4 ++-- usr.sbin/bhyve/pci_virtio_input.c | 2 +- usr.sbin/bhyve/pci_xhci.c | 5 ++-- usr.sbin/bhyve/snapshot.c | 13 +++++++---- usr.sbin/bhyve/task_switch.c | 2 +- usr.sbin/bhyve/uart_emul.c | 2 +- usr.sbin/bhyve/virtio.c | 2 +- 18 files changed, 68 insertions(+), 56 deletions(-) diff --git a/sys/amd64/vmm/vmm_instruction_emul.c b/sys/amd64/vmm/vmm_instruction_emul.c index 0474147e68ff..3b48eee2d8ed 100644 --- a/sys/amd64/vmm/vmm_instruction_emul.c +++ b/sys/amd64/vmm/vmm_instruction_emul.c @@ -1330,8 +1330,8 @@ emulate_bextr(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, mem_region_write_t memwrite __unused, void *arg) { uint64_t src1, src2, dst, rflags; - unsigned start, len; - int error, size; + unsigned start, len, size; + int error; size = vie->opsize; error = EINVAL; diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 6b0b61cc897c..4abdf8fe301e 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -372,7 +372,7 @@ calc_topology(void) (uintmax_t)ncpus); if (explicit_cpus) { - if (guest_ncpus != ncpus) + if (guest_ncpus != (int)ncpus) errx(4, "Topology (%d sockets, %d cores, %d threads) " "does not match %d vCPUs", cpu_sockets, cpu_cores, cpu_threads, diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index a13f7f0744c6..f2e60f865f78 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -900,10 +900,10 @@ blockif_chs(struct blockif_ctxt *bc, uint16_t *c, uint8_t *h, uint8_t *s) sectors = bc->bc_size / bc->bc_sectsz; /* Clamp the size to the largest possible with CHS */ - if (sectors > 65535UL*16*255) - sectors = 65535UL*16*255; + if (sectors > 65535L * 16 * 255) + sectors = 65535L * 16 * 255; - if (sectors >= 65536UL*16*63) { + if (sectors >= 65536L * 16 * 63) { secpt = 255; heads = 16; hcyl = sectors / secpt; diff --git a/usr.sbin/bhyve/fwctl.c b/usr.sbin/bhyve/fwctl.c index b4bfecb2bedd..46010513b66a 100644 --- a/usr.sbin/bhyve/fwctl.c +++ b/usr.sbin/bhyve/fwctl.c @@ -95,7 +95,7 @@ fwctl_send_rest(uint32_t *data, size_t len) uint32_t w; } u; uint8_t *cdata; - int i; + size_t i; cdata = (uint8_t *) data; u.w = 0; @@ -427,7 +427,7 @@ fwctl_response(uint32_t *retval) remlen = rinfo.resp_size - rinfo.resp_off; dp = (uint32_t *) ((uint8_t *)rinfo.resp_biov->iov_base + rinfo.resp_off); - if (remlen >= sizeof(uint32_t)) { + if (remlen >= (ssize_t)sizeof(uint32_t)) { *retval = *dp; } else if (remlen > 0) { *retval = fwctl_send_rest(dp, remlen); diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index cf0d5995a5d3..6368d5cc79a9 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -958,7 +958,6 @@ static void gdb_read_regs(void) { uint64_t regvals[nitems(gdb_regset)]; - int i; if (vm_get_register_set(ctx, cur_vcpu, nitems(gdb_regset), gdb_regset, regvals) == -1) { @@ -966,7 +965,7 @@ gdb_read_regs(void) return; } start_packet(); - for (i = 0; i < nitems(regvals); i++) + for (size_t i = 0; i < nitems(regvals); i++) append_unsigned_native(regvals[i], gdb_regsize[i]); finish_packet(); } @@ -1706,13 +1705,16 @@ check_command(int fd) static void gdb_readable(int fd, enum ev_type event __unused, void *arg __unused) { + size_t pending; ssize_t nread; - int pending; + int n; - if (ioctl(fd, FIONREAD, &pending) == -1) { + if (ioctl(fd, FIONREAD, &n) == -1) { warn("FIONREAD on GDB socket"); return; } + assert(n >= 0); + pending = n; /* * 'pending' might be zero due to EOF. We need to call read diff --git a/usr.sbin/bhyve/net_backends.c b/usr.sbin/bhyve/net_backends.c index d974936d9292..5dd5f8a17d66 100644 --- a/usr.sbin/bhyve/net_backends.c +++ b/usr.sbin/bhyve/net_backends.c @@ -229,7 +229,7 @@ tap_init(struct net_backend *be, const char *devname, int opt = 1; #if defined(INET6) || defined(INET) struct ifreq ifrq; - int i, s; + int s; #endif #ifndef WITHOUT_CAPSICUM cap_rights_t rights; @@ -270,7 +270,7 @@ tap_init(struct net_backend *be, const char *devname, } s = -1; - for (i = 0; s == -1 && i < nitems(pf_list); i++) + for (size_t i = 0; s == -1 && i < nitems(pf_list); i++) s = socket(pf_list[i], SOCK_DGRAM, 0); if (s == -1) { WPRINTF(("Could open socket")); @@ -651,7 +651,7 @@ netmap_set_vnet_hdr_len(struct net_backend *be, int vnet_hdr_len) static int netmap_has_vnet_hdr_len(struct net_backend *be, unsigned vnet_hdr_len) { - int prev_hdr_len = be->be_vnet_hdr_len; + unsigned prev_hdr_len = be->be_vnet_hdr_len; int ret; if (vnet_hdr_len == prev_hdr_len) { diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 22127eb2208a..21e01b22ec4b 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -2442,7 +2442,7 @@ e82545_snapshot(struct vm_snapshot_meta *meta) true, meta, ret, done); /* L2 frame acceptance */ - for (i = 0; i < nitems(sc->esc_uni); i++) { + for (i = 0; i < (int)nitems(sc->esc_uni); i++) { SNAPSHOT_VAR_OR_LEAVE(sc->esc_uni[i].eu_valid, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(sc->esc_uni[i].eu_addrsel, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(sc->esc_uni[i].eu_eth, meta, ret, done); diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 6e584d0b6626..b22238ab37fd 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -455,10 +455,13 @@ pci_emul_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint64_t offset; int i; + assert(port >= 0); + for (i = 0; i <= PCI_BARMAX; i++) { if (pdi->pi_bar[i].type == PCIBAR_IO && - port >= pdi->pi_bar[i].addr && - port + bytes <= pdi->pi_bar[i].addr + pdi->pi_bar[i].size) { + (uint64_t)port >= pdi->pi_bar[i].addr && + (uint64_t)port + bytes <= + pdi->pi_bar[i].addr + pdi->pi_bar[i].size) { offset = port - pdi->pi_bar[i].addr; if (in) *eax = (*pe->pe_barread)(ctx, vcpu, pdi, i, @@ -2298,7 +2301,7 @@ pci_snapshot_pci_dev(struct vm_snapshot_meta *meta) SNAPSHOT_BUF_OR_LEAVE(pi->pi_cfgdata, sizeof(pi->pi_cfgdata), meta, ret, done); - for (i = 0; i < nitems(pi->pi_bar); i++) { + for (i = 0; i < (int)nitems(pi->pi_bar); i++) { SNAPSHOT_VAR_OR_LEAVE(pi->pi_bar[i].type, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(pi->pi_bar[i].size, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(pi->pi_bar[i].addr, meta, ret, done); diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index dc6493868093..e6e4ae4ca27d 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -615,7 +615,6 @@ hda_stream_start(struct hda_softc *sc, uint8_t stream_ind) uint32_t sdctl = 0; uint8_t strm = 0; uint8_t dir = 0; - int i; assert(!st->run); @@ -640,7 +639,7 @@ hda_stream_start(struct hda_softc *sc, uint8_t stream_ind) st->bdl_cnt = bdl_cnt; bdle = (struct hda_bdle *)bdl_vaddr; - for (i = 0; i < bdl_cnt; i++, bdle++) { + for (size_t i = 0; i < bdl_cnt; i++, bdle++) { bdle_sz = bdle->len; assert(!(bdle_sz % HDA_DMA_ACCESS_LEN)); @@ -659,7 +658,7 @@ hda_stream_start(struct hda_softc *sc, uint8_t stream_ind) bdle_desc->len = bdle_sz; bdle_desc->ioc = bdle->ioc; - DPRINTF("bdle: 0x%x bdle_sz: 0x%x", i, bdle_sz); + DPRINTF("bdle: 0x%zx bdle_sz: 0x%x", i, bdle_sz); } sdctl = hda_get_reg_by_offset(sc, off + HDAC_SDCTL0); diff --git a/usr.sbin/bhyve/pci_irq.c b/usr.sbin/bhyve/pci_irq.c index ff41f6ec88dc..2ce962cdec44 100644 --- a/usr.sbin/bhyve/pci_irq.c +++ b/usr.sbin/bhyve/pci_irq.c @@ -63,14 +63,16 @@ __FBSDID("$FreeBSD$"); /* IRQ count to disable an IRQ. */ #define IRQ_DISABLED 0xff +#define NPIRQS 8 static struct pirq { uint8_t reg; int use_count; int active_count; pthread_mutex_t lock; -} pirqs[8]; +} pirqs[NPIRQS]; -static u_char irq_counts[16]; +#define NIRQ_COUNTS 16 +static u_char irq_counts[NIRQ_COUNTS]; static int pirq_cold = 1; /* @@ -91,7 +93,7 @@ uint8_t pirq_read(int pin) { - assert(pin > 0 && pin <= nitems(pirqs)); + assert(pin > 0 && pin <= NPIRQS); return (pirqs[pin - 1].reg); } @@ -100,7 +102,7 @@ pirq_write(struct vmctx *ctx, int pin, uint8_t val) { struct pirq *pirq; - assert(pin > 0 && pin <= nitems(pirqs)); + assert(pin > 0 && pin <= NPIRQS); pirq = &pirqs[pin - 1]; pthread_mutex_lock(&pirq->lock); if (pirq->reg != (val & (PIRQ_DIS | PIRQ_IRQ))) { @@ -117,7 +119,7 @@ void pci_irq_reserve(int irq) { - assert(irq >= 0 && irq < nitems(irq_counts)); + assert(irq >= 0 && irq < NIRQ_COUNTS); assert(pirq_cold); assert(irq_counts[irq] == 0 || irq_counts[irq] == IRQ_DISABLED); irq_counts[irq] = IRQ_DISABLED; @@ -127,7 +129,7 @@ void pci_irq_use(int irq) { - assert(irq >= 0 && irq < nitems(irq_counts)); + assert(irq >= 0 && irq < NIRQ_COUNTS); assert(pirq_cold); assert(irq_counts[irq] != IRQ_DISABLED); irq_counts[irq]++; @@ -138,13 +140,13 @@ pci_irq_init(struct vmctx *ctx __unused) { int i; - for (i = 0; i < nitems(pirqs); i++) { + for (i = 0; i < NPIRQS; i++) { pirqs[i].reg = PIRQ_DIS; pirqs[i].use_count = 0; pirqs[i].active_count = 0; pthread_mutex_init(&pirqs[i].lock, NULL); } - for (i = 0; i < nitems(irq_counts); i++) { + for (i = 0; i < NIRQ_COUNTS; i++) { if (IRQ_PERMITTED(i)) irq_counts[i] = 0; else @@ -156,10 +158,12 @@ void pci_irq_assert(struct pci_devinst *pi) { struct pirq *pirq; + int pin; - if (pi->pi_lintr.pirq_pin > 0) { - assert(pi->pi_lintr.pirq_pin <= nitems(pirqs)); - pirq = &pirqs[pi->pi_lintr.pirq_pin - 1]; + pin = pi->pi_lintr.pirq_pin; + if (pin > 0) { + assert(pin <= NPIRQS); + pirq = &pirqs[pin - 1]; pthread_mutex_lock(&pirq->lock); pirq->active_count++; if (pirq->active_count == 1 && pirq_valid_irq(pirq->reg)) { @@ -177,10 +181,12 @@ void pci_irq_deassert(struct pci_devinst *pi) { struct pirq *pirq; + int pin; - if (pi->pi_lintr.pirq_pin > 0) { - assert(pi->pi_lintr.pirq_pin <= nitems(pirqs)); - pirq = &pirqs[pi->pi_lintr.pirq_pin - 1]; + pin = pi->pi_lintr.pirq_pin; + if (pin > 0) { + assert(pin <= NPIRQS); + pirq = &pirqs[pin - 1]; pthread_mutex_lock(&pirq->lock); pirq->active_count--; if (pirq->active_count == 0 && pirq_valid_irq(pirq->reg)) { @@ -209,7 +215,7 @@ pirq_alloc_pin(struct pci_devinst *pi) /* Find the least-used PIRQ pin. */ best_pin = 0; best_count = pirqs[0].use_count; - for (pin = 1; pin < nitems(pirqs); pin++) { + for (pin = 1; pin < NPIRQS; pin++) { if (pirqs[pin].use_count < best_count) { best_pin = pin; best_count = pirqs[pin].use_count; @@ -222,7 +228,7 @@ pirq_alloc_pin(struct pci_devinst *pi) if (pirqs[best_pin].reg == PIRQ_DIS) { best_irq = -1; best_count = 0; - for (irq = 0; irq < nitems(irq_counts); irq++) { + for (irq = 0; irq < NIRQ_COUNTS; irq++) { if (irq_counts[irq] == IRQ_DISABLED) continue; if (best_irq == -1 || irq_counts[irq] < best_count) { @@ -242,7 +248,7 @@ pirq_alloc_pin(struct pci_devinst *pi) int pirq_irq(int pin) { - assert(pin > 0 && pin <= nitems(pirqs)); + assert(pin > 0 && pin <= NPIRQS); return (pirqs[pin - 1].reg & PIRQ_IRQ); } @@ -255,7 +261,7 @@ pirq_dsdt(void) int irq, pin; irq_prs = NULL; - for (irq = 0; irq < nitems(irq_counts); irq++) { + for (irq = 0; irq < NIRQ_COUNTS; irq++) { if (!IRQ_PERMITTED(irq)) continue; if (irq_prs == NULL) @@ -294,7 +300,7 @@ pirq_dsdt(void) dsdt_line(" Return (0x01)"); dsdt_line("}"); - for (pin = 0; pin < nitems(pirqs); pin++) { + for (pin = 0; pin < NPIRQS; pin++) { dsdt_line(""); dsdt_line("Device (LNK%c)", 'A' + pin); dsdt_line("{"); diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 2bb3f0f8a7d5..0c30f2cb7ff9 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -3292,7 +3292,7 @@ pci_nvme_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) STAILQ_INIT(&sc->ioreqs_free); sc->ioreqs = calloc(sc->ioslots, sizeof(struct pci_nvme_ioreq)); - for (int i = 0; i < sc->ioslots; i++) { + for (uint32_t i = 0; i < sc->ioslots; i++) { STAILQ_INSERT_TAIL(&sc->ioreqs_free, &sc->ioreqs[i], link); } diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index c153fe7df224..049b49b67c60 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -183,7 +183,7 @@ write_config(const struct pcisel *sel, long reg, int width, uint32_t data) static int passthru_add_msicap(struct pci_devinst *pi, int msgnum, int nextptr) { - int capoff, i; + int capoff; struct msicap msicap; u_char *capdata; @@ -197,7 +197,7 @@ passthru_add_msicap(struct pci_devinst *pi, int msgnum, int nextptr) */ capoff = 256 - roundup(sizeof(msicap), 4); capdata = (u_char *)&msicap; - for (i = 0; i < sizeof(msicap); i++) + for (size_t i = 0; i < sizeof(msicap); i++) pci_set_cfgdata8(pi, capoff + i, capdata[i]); return (capoff); diff --git a/usr.sbin/bhyve/pci_virtio_input.c b/usr.sbin/bhyve/pci_virtio_input.c index 77cbcf3aa0cf..1e7726dfc101 100644 --- a/usr.sbin/bhyve/pci_virtio_input.c +++ b/usr.sbin/bhyve/pci_virtio_input.c @@ -421,7 +421,7 @@ pci_vtinput_cfgread(void *vsc, int offset, int size, uint32_t *retval) struct pci_vtinput_softc *sc = vsc; /* check for valid offset and size */ - if (offset + size > sizeof(struct vtinput_config)) { + if (offset + size > (int)sizeof(struct vtinput_config)) { WPRINTF(("%s: read to invalid offset/size %d/%d", __func__, offset, size)); memset(retval, 0, size); diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 71ef0b03f192..1f3d78a4cfea 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -650,8 +650,7 @@ pci_xhci_init_ep(struct pci_xhci_dev_emu *dev, int epid) struct xhci_dev_ctx *dev_ctx; struct pci_xhci_dev_ep *devep; struct xhci_endp_ctx *ep_ctx; - uint32_t pstreams; - int i; + uint32_t i, pstreams; dev_ctx = dev->dev_ctx; ep_ctx = &dev_ctx->ctx_ep[epid]; @@ -2102,7 +2101,7 @@ pci_xhci_rtsregs_write(struct pci_xhci_softc *sc, uint64_t offset, if (rts->er_events_cnt > 0) { uint64_t erdp; - uint32_t erdp_i; + int erdp_i; erdp = rts->intrreg.erdp & ~0xF; erdp_i = (erdp - rts->erstba_p->qwEvrsTablePtr) / diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 7c2372a290c6..6f4e3c1f91a2 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -450,7 +450,8 @@ lookup_struct(enum snapshot_req struct_id, struct restore_state *rstate, JSON_GET_INT_OR_RETURN(JSON_FILE_OFFSET_KEY, obj, &file_offset, NULL); assert(file_offset >= 0); - assert(file_offset + size <= rstate->kdata_len); + assert((uint64_t)file_offset + size <= + rstate->kdata_len); *struct_size = (size_t)size; return ((uint8_t *)rstate->kdata_map + file_offset); @@ -479,7 +480,7 @@ lookup_check_dev(const char *dev_name, struct restore_state *rstate, JSON_GET_INT_OR_RETURN(JSON_FILE_OFFSET_KEY, obj, &file_offset, NULL); assert(file_offset >= 0); - assert(file_offset + size <= rstate->kdata_len); + assert((uint64_t)file_offset + size <= rstate->kdata_len); *data_size = (size_t)size; return ((uint8_t *)rstate->kdata_map + file_offset); @@ -1046,8 +1047,9 @@ vm_snapshot_kern_struct(int data_fd, xo_handle_t *xop, const char *array_key, data_size = vm_get_snapshot_size(meta); + /* XXX-MJ no handling for short writes. */ write_cnt = write(data_fd, meta->buffer.buf_start, data_size); - if (write_cnt != data_size) { + if (write_cnt < 0 || (size_t)write_cnt != data_size) { perror("Failed to write all snapshotted data."); ret = -1; goto done; @@ -1138,13 +1140,14 @@ static int vm_snapshot_dev_write_data(int data_fd, xo_handle_t *xop, const char *array_key, struct vm_snapshot_meta *meta, off_t *offset) { - int ret; + ssize_t ret; size_t data_size; data_size = vm_get_snapshot_size(meta); + /* XXX-MJ no handling for short writes. */ ret = write(data_fd, meta->buffer.buf_start, data_size); - if (ret != data_size) { + if (ret < 0 || (size_t)ret != data_size) { perror("Failed to write all snapshotted data."); return (-1); } diff --git a/usr.sbin/bhyve/task_switch.c b/usr.sbin/bhyve/task_switch.c index f1b564d560c5..78dfb8190e48 100644 --- a/usr.sbin/bhyve/task_switch.c +++ b/usr.sbin/bhyve/task_switch.c @@ -774,7 +774,7 @@ vmexit_task_switch(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) minlimit = 0; assert(minlimit > 0); - if (nt.limit < minlimit) { + if (nt.limit < (unsigned int)minlimit) { sel_exception(ctx, vcpu, IDT_TS, nt_sel, ext); goto done; } diff --git a/usr.sbin/bhyve/uart_emul.c b/usr.sbin/bhyve/uart_emul.c index 725a789a5898..1539c7ffa135 100644 --- a/usr.sbin/bhyve/uart_emul.c +++ b/usr.sbin/bhyve/uart_emul.c @@ -616,7 +616,7 @@ int uart_legacy_alloc(int which, int *baseaddr, int *irq) { - if (which < 0 || which >= UART_NLDEVS || uart_lres[which].inuse) + if (which < 0 || which >= (int)UART_NLDEVS || uart_lres[which].inuse) return (-1); uart_lres[which].inuse = true; diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index 436ad0bf53aa..dc3a2d10d5b5 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -772,7 +772,7 @@ bad: vs->vs_curq = value; break; case VIRTIO_PCI_QUEUE_NOTIFY: - if (value >= vc->vc_nvq) { + if (value >= (unsigned int)vc->vc_nvq) { EPRINTLN("%s: queue %d notify out of range", name, (int)value); goto done; From nobody Thu Jan 26 19:48:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpp4DnQz3bnXQ; Thu, 26 Jan 2023 19:48: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 4P2rpp3ZK7z3DPd; Thu, 26 Jan 2023 19:48:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODXKkGUTgdmunfySTbiS7eqFHX6W0ikpSkfvfvxz0jw=; b=P+cIiYnBUduen2Qr3EZXzjRzm565EcVxnUQQbg/eQCARu36+fIs5WRnBpfxlH2teQuvJl6 +8yDxQRAEN0/UAh+T8XtrmX5sBC6341hMn4IRYvLR1vmTGRWqZAWoVbq62wg35IgF8Vy1b 759EpghjfRdTYFXsj4/3S1L82IiQZHD5ZvT/ULSBUc1FpaGTRqxJSHfmKz+ab7et31s9oJ shEnRwV1C9ixrJcGTyWC0g2kRvHI+EpUMJizrcmEbk8SBTZng5gyzkFEolElfWFKNy+DjS ERvC53qkBk9ach1zfUN8GGapLUCqbfcR4bqvVjdfSfelMKgOOj0j/B/VnTmudw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODXKkGUTgdmunfySTbiS7eqFHX6W0ikpSkfvfvxz0jw=; b=Q+41pCREfeE7UUAUpiRYJNuK/nAm2L2F+3sxv0dUbsOrSDgfvDZbIejBUKJMflhB1QW6n/ wAUHO603NNHBPAt0LGHHdrqwIEEzXGc+u+tvnYVCT5uSvGvCUuw5I0CdY+A0Gv4fALOhVq j4Evxj3KKXpVnG42fSNHkm/eHGMGxxZAPeeQ4ooEZWlu/9mh8k9w2TBs0IB6piKE249FDF 76RkZhphMaEa6J9qEVl/46c222vfAeOoen74YlaiPR+0r3/bxepqIQ6CFHh3aayejMwg1E bY8fdE8/QjjVsaVffbBfN2szMb4BABuFcTszW3IOHWZvQAiCZR4XecBEqPiSHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762482; a=rsa-sha256; cv=none; b=ZQejuBYqJwqU2lZLTLZTGnQQwJL7zbaXhvQz7Ctf5j78ok2ZzdUMRvbqoAAqjBiUQgbdnD NqtCzeR8jA4YraC6EALavTOUkNNHlkPhhdR3T+O3O7v1av75KvtRn/h4beLMw04Cs/l5vC 14ufPgsPBltxFGLpR4kMw0HLn4OZ2uI23oGItwmBQLe4GwuOBa5G5ANnDu9fGIe6qFmi/z ge7wOljImScHwb/FowyFAZoK7xfmBsuEiXBLsUWC+FukGoTpFgu2oLwjG49yOfhm2TU3nn dnuDxvqdNFtGv/HRKPXHxrRHmZcIdB5yW0nXegVM4+vBp0ztFpasWaTOgY0m6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpp2NpZzhl1; Thu, 26 Jan 2023 19:48:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm2S5007428; Thu, 26 Jan 2023 19:48:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJm2aS007427; Thu, 26 Jan 2023 19:48:02 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:48:02 GMT Message-Id: <202301261948.30QJm2aS007427@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 04601ccc9581 - stable/13 - bhyve: Address signed/unsigned comparison warnings in the AHCI model List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 04601ccc95814cb97dabae3d2cb569fe7d677e22 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=04601ccc95814cb97dabae3d2cb569fe7d677e22 commit 04601ccc95814cb97dabae3d2cb569fe7d677e22 Author: Mark Johnston AuthorDate: 2022-10-25 13:39:07 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:43:10 +0000 bhyve: Address signed/unsigned comparison warnings in the AHCI model No functional change intended. MFC after: 1 week (cherry picked from commit f0553616cf78c94e7589921d2354477b948e4876) --- usr.sbin/bhyve/pci_ahci.c | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index d4000b7a63c6..4571f4caeffb 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -615,8 +615,10 @@ ahci_build_iov(struct ahci_port *p, struct ahci_ioreq *aior, struct ahci_prdt_entry *prdt, uint16_t prdtl) { struct blockif_req *breq = &aior->io_req; - int i, j, skip, todo, left, extra; - uint32_t dbcsz; + uint32_t dbcsz, extra, left, skip, todo; + int i, j; + + assert(aior->len >= aior->done); /* Copy part of PRDT between 'done' and 'len' bytes into the iov. */ skip = aior->done; @@ -785,12 +787,14 @@ ahci_handle_flush(struct ahci_port *p, int slot, uint8_t *cfis) } static inline void -read_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, int size) +read_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, + unsigned int size) { struct ahci_cmd_hdr *hdr; struct ahci_prdt_entry *prdt; uint8_t *to; - int i, len; + unsigned int len; + int i; hdr = (struct ahci_cmd_hdr *)(p->cmd_lst + slot * AHCI_CL_SIZE); len = size; @@ -799,7 +803,7 @@ read_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, int size) for (i = 0; i < hdr->prdtl && len; i++) { uint8_t *ptr; uint32_t dbcsz; - int sublen; + unsigned int sublen; dbcsz = (prdt->dbc & DBCMASK) + 1; ptr = paddr_guest2host(ahci_ctx(p->pr_sc), prdt->dba, dbcsz); @@ -898,12 +902,14 @@ next: } static inline void -write_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, int size) +write_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, + unsigned int size) { struct ahci_cmd_hdr *hdr; struct ahci_prdt_entry *prdt; uint8_t *from; - int i, len; + unsigned int len; + int i; hdr = (struct ahci_cmd_hdr *)(p->cmd_lst + slot * AHCI_CL_SIZE); len = size; @@ -1140,7 +1146,7 @@ atapi_inquiry(struct ahci_port *p, int slot, uint8_t *cfis) { uint8_t buf[36]; uint8_t *acmd; - int len; + unsigned int len; uint32_t tfd; acmd = cfis + 0x40; @@ -1202,7 +1208,7 @@ atapi_read_toc(struct ahci_port *p, int slot, uint8_t *cfis) { uint8_t *acmd; uint8_t format; - int len; + unsigned int len; acmd = cfis + 0x40; @@ -1211,7 +1217,8 @@ atapi_read_toc(struct ahci_port *p, int slot, uint8_t *cfis) switch (format) { case 0: { - int msf, size; + size_t size; + int msf; uint64_t sectors; uint8_t start_track, buf[20], *bp; @@ -1285,7 +1292,8 @@ atapi_read_toc(struct ahci_port *p, int slot, uint8_t *cfis) } case 2: { - int msf, size; + size_t size; + int msf; uint64_t sectors; uint8_t *bp, buf[50]; @@ -1448,7 +1456,7 @@ atapi_request_sense(struct ahci_port *p, int slot, uint8_t *cfis) { uint8_t buf[64]; uint8_t *acmd; - int len; + unsigned int len; acmd = cfis + 0x40; len = acmd[4]; @@ -1494,7 +1502,7 @@ atapi_mode_sense(struct ahci_port *p, int slot, uint8_t *cfis) uint8_t *acmd; uint32_t tfd; uint8_t pc, code; - int len; + unsigned int len; acmd = cfis + 0x40; len = be16dec(acmd + 7); @@ -1579,7 +1587,7 @@ atapi_get_event_status_notification(struct ahci_port *p, int slot, tfd = (p->sense_key << 12) | ATA_S_READY | ATA_S_ERROR; } else { uint8_t buf[8]; - int len; + unsigned int len; len = be16dec(acmd + 7); if (len > sizeof(buf)) @@ -2202,7 +2210,7 @@ pci_ahci_write(struct vmctx *ctx __unused, int vcpu __unused, if (offset < AHCI_OFFSET) pci_ahci_host_write(sc, offset, value); - else if (offset < AHCI_OFFSET + sc->ports * AHCI_STEP) + else if (offset < (uint64_t)AHCI_OFFSET + sc->ports * AHCI_STEP) pci_ahci_port_write(sc, offset, value); else WPRINTF("pci_ahci: unknown i/o write offset 0x%"PRIx64"", offset); @@ -2300,7 +2308,7 @@ pci_ahci_read(struct vmctx *ctx __unused, int vcpu __unused, offset = regoff & ~0x3; /* round down to a multiple of 4 bytes */ if (offset < AHCI_OFFSET) value = pci_ahci_host_read(sc, offset); - else if (offset < AHCI_OFFSET + sc->ports * AHCI_STEP) + else if (offset < (uint64_t)AHCI_OFFSET + sc->ports * AHCI_STEP) value = pci_ahci_port_read(sc, offset); else { value = 0; From nobody Thu Jan 26 19:48:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpq5kJFz3bnKY; Thu, 26 Jan 2023 19:48: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 4P2rpq4VF6z3DSG; Thu, 26 Jan 2023 19:48:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EZeVpmVSER9eGhDXFFMMoz0StDyq57WmF7zG9xrDuZQ=; b=XTxF1e+EUnb3NLy0iV6tbcI6LnCnQj871ZJVkFTw7cqhXMik3CT39oeEV8DytANPmkdEXd Rx5LeJsXVDyOIuUzBEz7ozoOKzTbv2bf7ZgPWFyEAT8dpRqipLY67sfSZNOQR+u+RFQ8CO b/xToanJjAmc66ZpW2dV3iL/sa2fdMavXypyzpTf9pOotL2KBYSYk8Vo1I8QDHmldFH7UE 8RiNqiq3swR1FPi2gY7tw80jX7Fj13DEcaNbYUJ5eaVGTaaSwyCK3KxZiElHnjB4FpMmOt 3U1eT0oggvQOAY7W+4jOorj58Rg/ugR2hkgbAamgIPoxiA1pI5b7nt/pP6UKIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EZeVpmVSER9eGhDXFFMMoz0StDyq57WmF7zG9xrDuZQ=; b=fZ11osUpzKHUFPgVpaGfrkhh8b7Pug11T/aowpi2mXx0UMZkCXnqqXQ46PEkakUxHf+Vt8 /Tr7/h2RrUlRCSP1f1RCyTJ4FPyJP+m83pKZ9dP1zXhiybe1nxGFq1mEFTkDp3oZ848O1q QXy2th/qkMCJxRjoImHjOMo7sR63xw9Qw1CzChdVbTxv2Ut63u8DZOzGVWX2g6LrWuaLAM alaUtlWiGec3ANPd0NRQCldvBPc08djb4syrtsjk5eKRRqXalV43dR1kmLVjHzbLh8qgsG jB/e8pY7qdWfjFTfFHN7DsWWB7XwyUw+ErhhDMDpRlHGEgITrbaUSDfQ3ZLpdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762483; a=rsa-sha256; cv=none; b=bKy+ZTx5DPAriIU9qBuARdVcWofRVpM8F5DfeM+2QTrAeu96AMJJdbvUOOXmxiy1TwhuiK /2Zdw98tg4JS4W2H43FE/mNgNIKuPqat//PG5nvKVG9WOJfAoOqMFzLz95Dfbeuqk8JTEw H+XR6ZL55e/U7YgZ33lEqK8cCh3OE1MPH3N1UhAi91qaa4oTOID5bYKK1yGGE2iQD+qgaw ohRzY7DZ4RGBi2FhtTEKx7JvgYI6kN63j3t2oeHSnBZXGmNYfr1KM71FXm2WbVGjyadSiq 6HKfk8yqlqkwBYoJa+Gbg9oUh4hGIyQ9of0YuPblwT67U/F3m5L3KrDZx3i2uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpq3Snnzhbb; Thu, 26 Jan 2023 19:48:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm3SL007452; Thu, 26 Jan 2023 19:48:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJm3KT007451; Thu, 26 Jan 2023 19:48:03 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:48:03 GMT Message-Id: <202301261948.30QJm3KT007451@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a7fd3f511fc5 - stable/13 - bhyve: Remove an unused parameter from pci_nvme_append_iov_req() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a7fd3f511fc50bd0db32f11b53fb23ffc82cf73a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a7fd3f511fc50bd0db32f11b53fb23ffc82cf73a commit a7fd3f511fc50bd0db32f11b53fb23ffc82cf73a Author: Mark Johnston AuthorDate: 2022-10-27 14:47:17 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:43:15 +0000 bhyve: Remove an unused parameter from pci_nvme_append_iov_req() No functional change intended. MFC after: 1 week Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D37116 (cherry picked from commit ae71263c6689a475f3df293475058048c0810dd7) --- usr.sbin/bhyve/pci_nvme.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 0c30f2cb7ff9..6572781e939c 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -2238,8 +2238,8 @@ pci_nvme_out_of_range(struct pci_nvme_blockstore *nvstore, uint64_t slba, } static int -pci_nvme_append_iov_req(struct pci_nvme_softc *sc, struct pci_nvme_ioreq *req, - uint64_t gpaddr, size_t size, int do_write, uint64_t offset) +pci_nvme_append_iov_req(struct pci_nvme_softc *sc __unused, + struct pci_nvme_ioreq *req, uint64_t gpaddr, size_t size, uint64_t offset) { int iovidx; bool range_is_contiguous; @@ -2470,8 +2470,7 @@ nvme_write_read_blockif(struct pci_nvme_softc *sc, uint16_t status = NVME_NO_STATUS; size = MIN(PAGE_SIZE - (prp1 % PAGE_SIZE), bytes); - if (pci_nvme_append_iov_req(sc, req, prp1, - size, is_write, offset)) { + if (pci_nvme_append_iov_req(sc, req, prp1, size, offset)) { err = -1; goto out; } @@ -2483,8 +2482,7 @@ nvme_write_read_blockif(struct pci_nvme_softc *sc, ; } else if (bytes <= PAGE_SIZE) { size = bytes; - if (pci_nvme_append_iov_req(sc, req, prp2, - size, is_write, offset)) { + if (pci_nvme_append_iov_req(sc, req, prp2, size, offset)) { err = -1; goto out; } @@ -2510,8 +2508,8 @@ nvme_write_read_blockif(struct pci_nvme_softc *sc, size = MIN(bytes, PAGE_SIZE); - if (pci_nvme_append_iov_req(sc, req, *prp_list, - size, is_write, offset)) { + if (pci_nvme_append_iov_req(sc, req, *prp_list, size, + offset)) { err = -1; goto out; } From nobody Thu Jan 26 19:48:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpt1dvbz3bnXV; Thu, 26 Jan 2023 19:48: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 4P2rps72N1z3DSq; Thu, 26 Jan 2023 19:48:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WLfAKY1CAsULtqb1MYSmPMIjPdJjGT8lSQ0Wz2ui9gw=; b=Q/tlKp1+3PjfaxjK+H/qPodBoHlzb1K7SnFum6uxJi+z7Q06FSboPRTzh9rkHQRC2EibZF GhnJYEaCxSvmoGc2C07FcJUBs03iGuUNexZbuwWDsWpcdz8U+dquj50OgMeYa1fcu/sWG4 k36DV3dlQD161ZFm3uImhhLIopZ6/dBQ5aQvqE86r2K+b0WWTCJ6HKoi+hJzbzIXYxmKVE l5IsbwzzTyEdP4kEbcViW/xg4BGBUNluDkfH83Ikyvwbxyd9X+4DiqdyY0+Gz5IgY3OQ+5 1kyuYgwlf71ZNRRFI8QQGHD3Wus45g+GTrXZcYLNVdWLLjFZ8SmsmCzOcuIyYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WLfAKY1CAsULtqb1MYSmPMIjPdJjGT8lSQ0Wz2ui9gw=; b=wpEED7EHeYyUPAqW3acK7WRXF33G/uGW6yDXXU7dFhPHUQu3Ez+dhCU2dUruNI/XbpLZt0 1EQpyp8YmNDKMOXN1YoEBcgKfwiw0YC2zpo7WMMXLjz25Mc3YkH/WxmtMppM+tGriWSOg2 OnwzkpGjBGtsxutTiv7nQzKpxtP6uxTgcfD79BBR5MAkSSKoaGiHqI3VUPZcixEx1KNtke NFucLJrJmG4lQk6U/0PR/99f9QqdiHe7yeT8P9b/VmpeTLpW69CymaAdJiABUBtbpoMOw6 tlExX/4XTa2ukP8QylExeqOpOe5Xpybqwpwhf5ibENXloS5oXWJrsM0pTfksIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762486; a=rsa-sha256; cv=none; b=tS9FZPum8QfpbV1jH9mOoX0+1hCurxy/H9Ulw5eYlpzt8cMkoZb38MY79mRRcEkV8/OXgh 5a++AiWCAa8xODuMpZEfkNGvsRfWGbIyvghRh1CzsubYgoH0IWaqAfovXuMOrhwytToDBt 85UtThH25Cx9Q97qyjjj3GUQjECaGVyGviR5VbF8JC7zogLXZNUYLBat7j9Kk3xffke8Sl UjGOCM0PuhrfJrKkVvetxut8lm5k94hrsE5HJi1LzPMbrBCyuyxGj348kjPl4DMpVnXBhJ QhZYP+vfp+N8zxiZPKnOZKRdeK4CRPrWQUHm3KB8095+rlx0YR7gvUpyS5truA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rps5fvHzhbc; Thu, 26 Jan 2023 19:48:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm5HY007500; Thu, 26 Jan 2023 19:48:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJm5tD007499; Thu, 26 Jan 2023 19:48:05 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:48:05 GMT Message-Id: <202301261948.30QJm5tD007499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b728765f88dd - stable/13 - bhyve: Address warnings about potential unaligned accesses in fwctl.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b728765f88dde5b5454fac44dee2f7057d5bd85f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b728765f88dde5b5454fac44dee2f7057d5bd85f commit b728765f88dde5b5454fac44dee2f7057d5bd85f Author: Mark Johnston AuthorDate: 2022-11-11 15:01:27 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:43:26 +0000 bhyve: Address warnings about potential unaligned accesses in fwctl.c This silences some warning about potential unaligned accesses. No functional change intended. MFC after: 1 week Reviewed by: corvink, jhb Differential Revision: https://reviews.freebsd.org/D37288 (cherry picked from commit f64f34380925a4ddaf1c140c35f46408b74110ac) --- usr.sbin/bhyve/fwctl.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/usr.sbin/bhyve/fwctl.c b/usr.sbin/bhyve/fwctl.c index 46010513b66a..f74380a426b2 100644 --- a/usr.sbin/bhyve/fwctl.c +++ b/usr.sbin/bhyve/fwctl.c @@ -88,20 +88,17 @@ static struct op_info *ops[OP_MAX+1]; /* Return 0-padded uint32_t */ static uint32_t -fwctl_send_rest(uint32_t *data, size_t len) +fwctl_send_rest(uint8_t *data, size_t len) { union { uint8_t c[4]; uint32_t w; } u; - uint8_t *cdata; size_t i; - cdata = (uint8_t *) data; u.w = 0; - - for (i = 0, u.w = 0; i < len; i++) - u.c[i] = *cdata++; + for (i = 0; i < len; i++) + u.c[i] = *data++; return (u.w); } @@ -203,7 +200,7 @@ static void fget_data(uint32_t data, uint32_t len __unused) { - *((uint32_t *) &fget_str[fget_cnt]) = data; + memcpy(&fget_str[fget_cnt], &data, sizeof(data)); fget_cnt += sizeof(uint32_t); } @@ -401,7 +398,7 @@ fwctl_request(uint32_t value) static int fwctl_response(uint32_t *retval) { - uint32_t *dp; + uint8_t *dp; ssize_t remlen; switch(rinfo.resp_count) { @@ -425,10 +422,9 @@ fwctl_response(uint32_t *retval) break; default: remlen = rinfo.resp_size - rinfo.resp_off; - dp = (uint32_t *) - ((uint8_t *)rinfo.resp_biov->iov_base + rinfo.resp_off); + dp = (uint8_t *)rinfo.resp_biov->iov_base + rinfo.resp_off; if (remlen >= (ssize_t)sizeof(uint32_t)) { - *retval = *dp; + memcpy(retval, dp, sizeof(uint32_t)); } else if (remlen > 0) { *retval = fwctl_send_rest(dp, remlen); } From nobody Thu Jan 26 19:48:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpt1c8yz3bnXS; Thu, 26 Jan 2023 19:48: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 4P2rpr5Dkdz3DYH; Thu, 26 Jan 2023 19:48:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pXyD8nA/rfTfyYDHGVrim9PGsszA8dGaS7WX+Hr2b9w=; b=gpRJZgywEUpZS/CGlcglglxsPDp+YScjvrMCSG+7MmXfVAPkNS2rJ+H44Xo0Gl+VbJcXRz b4fQdZqn3K6dVUZZcDkcsQAna78NJTzB/yAeyKdaaM3PaRPKmk3yNqETgtB5HjRH5WGTFf gOChYmNx/ePCIp5NhDfCchwn0QhUjuUW1MJNPSpfZVRu8HK1NbKD8UjxMd8GOI7o0pFzL4 lfIAjIaCz8D50BcWcUplkclr2y/MF1eITjVBT3dAOeAJg7hZB8LF73bFHIam+b6G1/dIpY 49P6UetI0zU7E1TJJHtV0yU0edkMHfy5G8hl3azLAN/hO5/QTFxkWVWhh4HXEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pXyD8nA/rfTfyYDHGVrim9PGsszA8dGaS7WX+Hr2b9w=; b=QS0OaZHVhFSstsTs3uc74rVtgZ8n9sN85nA9rzE/Tz5wIhUxS7JjhvlbTH063W+ykcfC8/ LAVYQuQ/zHVwx81XhQaTwfhMcb/h8f2xTpPPJM/pFyjC2iifXh6TcbTqVquhHkvAsB4lWL 3z+aC6y3xiQaQwCGYf/np5/icTXc4IAAIbJv1PFeCI82tzTjcTvqi6VRZdSpH2Ht48IePD BOn7b/OpWAEMJ29pPEFXThrY965FfMHiAEanP8gmEbXbAoh9OXOn3CHmP28I3ZUKdjz8La SX+dMDSKx23gSEZxe7b3EEGJpfZ3UMS+lRC2fltGGe4JacHQ40LK7c5BJhuINg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762484; a=rsa-sha256; cv=none; b=og56elHyyiSLrqpiuIz7KSps+FUeEvLQAIHwYveJNrIZbZi4u4BV9JJQ+ov/iNYiRE9ymV RDMNoYVaQHcj4Ho5862OqPFNruGlHz5B5+20mIJc09MfiuzBdnf2/0DIv3t1d+1Kfhlq8Z niKy4ozPpaCA+vKAAjgudX12IbcTWBlKUC3PRUx9tx8jRjKINbz1wAKh8A7o+IlEWabgFf 9AMXAuyBuroFm62NHuhgC3ejgci/3XafcI3K2PiNetLyc1sNm/x4k1hsA1QKTAjjQTTS9e lTIjwKQfoj5laqWKwzyyHgGhvpoq7FJYFbpd/Ax8bxcJ2GcCX8NAPbVkVwIwgQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpr4KVGzhMh; Thu, 26 Jan 2023 19:48:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm4V4007476; Thu, 26 Jan 2023 19:48:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJm4gP007475; Thu, 26 Jan 2023 19:48:04 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:48:04 GMT Message-Id: <202301261948.30QJm4gP007475@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1f1b3763610a - stable/13 - bhyve: Implement MSR_MISC_FEATURES_ENABLES List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1f1b3763610a2e9f58ab50e811f279d8db164e3d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1f1b3763610a2e9f58ab50e811f279d8db164e3d commit 1f1b3763610a2e9f58ab50e811f279d8db164e3d Author: Warner Losh AuthorDate: 2022-10-27 17:32:18 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:43:20 +0000 bhyve: Implement MSR_MISC_FEATURES_ENABLES Linux reads MISC_FEATURES_ENABLES to manage the CPUID faulting feature (undocumented in the Intel SDM, but documented in 323850-004 (Intel Virtualization Technology FlexMigration Application Note). Since bhyve doesn't emulate this feature, we always return 0. Neither does bhyve support the MONITOR/MWAIT fault bit also in this MSR (which is documented in the sdm), so always return 0. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D36602 (cherry picked from commit 1d21f64149224000d74e0c850686e85aefd25ef9) --- sys/x86/include/specialreg.h | 1 + usr.sbin/bhyve/xmsr.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index bc3fd2e563a1..395338b4a4b4 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -564,6 +564,7 @@ #define MSR_BBL_CR_CTL3 0x11e #define MSR_IA32_TSX_CTRL 0x122 #define MSR_IA32_MCU_OPT_CTRL 0x123 +#define MSR_MISC_FEATURE_ENABLES 0x140 #define MSR_SYSENTER_CS_MSR 0x174 #define MSR_SYSENTER_ESP_MSR 0x175 #define MSR_SYSENTER_EIP_MSR 0x176 diff --git a/usr.sbin/bhyve/xmsr.c b/usr.sbin/bhyve/xmsr.c index 563743dd05b4..5f735152e92c 100644 --- a/usr.sbin/bhyve/xmsr.c +++ b/usr.sbin/bhyve/xmsr.c @@ -117,6 +117,7 @@ emulate_rdmsr(struct vmctx *ctx __unused, int vcpu __unused, uint32_t num, case MSR_PP0_ENERGY_STATUS: case MSR_PP1_ENERGY_STATUS: case MSR_DRAM_ENERGY_STATUS: + case MSR_MISC_FEATURE_ENABLES: *val = 0; break; case MSR_RAPL_POWER_UNIT: From nobody Thu Jan 26 19:48:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2rpw01jTz3bnRf; Thu, 26 Jan 2023 19:48: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 4P2rpv3gSzz3Dhh; Thu, 26 Jan 2023 19:48:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QI1yF6VnArLw6jaGCnSnf0kT+uAo8xyYoE/XJPfQBks=; b=Ao2XeDknvHG7fVvsO6GnjVuH20mntRC69Yl3aG8KKH0GPbEgv1/PdGnjG/t2Q3GOy3449f bepv0WcVbirmGAezGy8LIRvRTJGShoZJju5WktrA/5M74EuKePgBbjvV8Hw9+Gdqw3MSc9 DcnU8jAjIoclkxobBTwKyRLwVrIQA5goHF5UFTrMxb/wC8BSJCC+lY+P/2cAyDpZKvxwkf ow9HY8mFihVIpfrvZKo+flfcAaMoRnCeurshfXXD4JkffXk+31/5GvaXi7YtyQ4heDqk7t 280dzHr43OpQ4zD5upnc7YS1g1rAsWCp08R+ggLmZEK3uFHn43n0knchqD7hsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674762487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QI1yF6VnArLw6jaGCnSnf0kT+uAo8xyYoE/XJPfQBks=; b=XkxRBroOJeDN2ubaUVSm/nBUaO297HpMoNK2JVqHjq/zq/ELxs6uEGUA9TnU4HqnmK8zx2 /QdYQK+noV0j0x8o1GY5Nhlw65+AR8t8lYq67lKSO6RqfpasgZgPB51ejdqJ3vOzjXc+ah Y8oLxEXFNWKOT/N6ngW+uBKBMQh5FlYgknexT5QdicvYnjuqqO7byU6Be8LiOUZ2xND5WZ m90vsvm2S0xBxOsrnHxIm1KW1GNlMRStPDsUhnjbFlpmdK+AKWNRwoUFFlImKKocyytYRT EWvW1WBjFmH7FmTKTntj6VzBiiTl8Rif9cBooxI/BNv36ze5X7DsQlxxo23zBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674762487; a=rsa-sha256; cv=none; b=xzBtKRsgO5Ncw8q9RZAswphqLxTz6oHpA/ZGqzbZCQeoudo7E4xrZP3NrDlwS+Y+cHlu+m Mbyqd3MmAc1khCdySS3xy++hf/FbZB5uRU/9K6HKmXoqJ1+gv8w78APbBGsAppft5imKMZ JgZTjEBP6RdrLFtXbrdghS1sDsIR0KfqxiTkK6/EUaPuJzcDAPGheDkB+WrBxe7CwsjzA1 y/vuftLd6ejHNoLvs48GduCCjIbbV0dVa2CrBI3Eegf/4gdSsmhkFUau3bptTc7fs3jnLx XlFNqkuSYgtAZc3NmC41rRi8kkzr/FyGg0+ZDdoVwzOZX9levfMu21jY5I6LCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2rpv04QPzhYN; Thu, 26 Jan 2023 19:48:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QJm62o007524; Thu, 26 Jan 2023 19:48:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QJm6ZQ007523; Thu, 26 Jan 2023 19:48:06 GMT (envelope-from git) Date: Thu, 26 Jan 2023 19:48:06 GMT Message-Id: <202301261948.30QJm6ZQ007523@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e449800f0a7e - stable/13 - bhyve: Fix a typo in a comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e449800f0a7eeb4d130b3e2a04947661a2f326bd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e449800f0a7eeb4d130b3e2a04947661a2f326bd commit e449800f0a7eeb4d130b3e2a04947661a2f326bd Author: Mark Johnston AuthorDate: 2022-11-14 14:00:06 +0000 Commit: John Baldwin CommitDate: 2023-01-26 19:43:31 +0000 bhyve: Fix a typo in a comment Reported by: Mikaël Urankar Fixes: 719e307f80c7 ("bhyve: Cast away const when fetching a config nvlist") (cherry picked from commit 84b0b7ea4cd6731e91f79e008a747b502106f95a) --- usr.sbin/bhyve/config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/config.c b/usr.sbin/bhyve/config.c index 6339ddb9f2ee..807890516eea 100644 --- a/usr.sbin/bhyve/config.c +++ b/usr.sbin/bhyve/config.c @@ -68,7 +68,7 @@ _lookup_config_node(nvlist_t *parent, const char *path, bool create) /* * XXX-MJ it is incorrect to cast away the const * qualifier like this since the contract with nvlist - * says that values are immuatable, and some consumers + * says that values are immutable, and some consumers * will indeed add nodes to the returned nvlist. In * practice, however, it appears to be harmless with the * current nvlist implementation, so we just live with From nobody Thu Jan 26 20:27:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sgt5YMfz3btDr; Thu, 26 Jan 2023 20: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 4P2sgt4Rllz3QXV; Thu, 26 Jan 2023 20: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=1674764826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ym77O3B/E7141q2CBvEY7cJdTaXoX+P7QeWzwFUwP64=; b=nnUCVZQZSCsTReD4iHt3XMQgNFsYEPBr2eeWE2aCeW7t3w3jQRsCv9HjSSrDB8aAKSyrGY bF2Uq8j2qvg9QJxsDtkrcgknpS1DRCt7usy9kbUBzIH1I38Z/xGa9sMy1KaL3GXU7XyfjE 7Tj3wAF6BHIad7a3l6MAt0GGmJw34INyWAkXqMOjJs5JkG1ELUaHm0IpGiKIYrij4ob/QQ Tt1AnNxYXQojMFqaZYSB4LnHcv3sVRYwYAtyTzD3cQwkuvfmMwu7COH5x3CmecQQr0Jwkq VXgOFrSJSKseDXQ4ukEdqbT0WGcxn9tUotDAHahXPiC4V71vpf7on/Dw86Q7fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ym77O3B/E7141q2CBvEY7cJdTaXoX+P7QeWzwFUwP64=; b=bn9lchmliHqhepZECaYCa84XoyBcYB29S2a//GWYxgE2dcEEW/MqiFPxfk4cBlQLezQOvL z1vQsz4ZMN2cDcE7+PRXROfoWhw02HfN7E/UnUKMiDGd+hDo1x7sRj8fv2BMcMcLreNsNo aIpgc6giC09xX3szS72kTnpnvFKf09jHtXgXX0x9/+sF18WQq47MuWY8R/0FDmVwln6YQU 1IA58oIpGdEo7FJNufQLNlJuwTzJ4atj5yfaOlkyoDp6PjHADKsgqvPPPh/NyjDMiMCQLt Bn+1Mc45RQkXUO7m/WJGyL8NRdSluz/SkjGHVCiPAuKvy7dZahAXZUYxIPNhnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764826; a=rsa-sha256; cv=none; b=c3U+Z1jjYbZjYp2s2iBmjOqFN1XhHzasKYAv1w/RKZkuevogJQkeEL5MZTtYc2wW//WqKR VIpL2XSOl8DIQjHguOvZ500uk1EKBq97VRS3FajnNEqisUWjcwV9lGq4Scnwzm8Kna9M68 LEHLCUQ74RkSKDH0S/06u8hDh8gnDXieT8OK6H4hK8t8mLBeK5DNHVM/+kTpLR2D6vGWQY XtJpDkUfCXhoHRLDbM6yu1OZfo2w9GHRHisoOwm4+0RZBEwQUsQvxDBa5cHhzybYsyXba0 KbLc9Q1kTEtTZKwhdxubd2zfWCvOgVRf+SdHgpNtynZeF4A92qEEjH545aQgAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sgt2qYqzjRr; Thu, 26 Jan 2023 20:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKR6Xr064606; Thu, 26 Jan 2023 20:27:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKR6CU064605; Thu, 26 Jan 2023 20:27:06 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:06 GMT Message-Id: <202301262027.30QKR6CU064605@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c8a6e51a4f86 - stable/13 - bhyve: Avoid using a packed struct for xhci port registers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c8a6e51a4f866f5c497546f9657e44fe1ae0ff66 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c8a6e51a4f866f5c497546f9657e44fe1ae0ff66 commit c8a6e51a4f866f5c497546f9657e44fe1ae0ff66 Author: Mark Johnston AuthorDate: 2022-11-18 19:07:38 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:06:39 +0000 bhyve: Avoid using a packed struct for xhci port registers I believe the __packed annotation is there only because pci_xhci_portregs_read() is treating the register set as an array of uint32_t. clang warns about taking the address of portregs->portsc because it is a packed member and thus might not have expected alignment. Fix the problem by simply selecting the field to read with a switch statement. This mimics pci_xhci_portregs_write(). While here, switch to using some symbolic constants. There is a small semantic change here in that pci_xhci_portregs_read() would silently truncate unaligned offsets. For consistency with pci_xhci_portregs_write(), which does not do that, return all ones for unaligned reads instead. MFC after: 2 weeks Reviewed by: corvink, jhb Differential Revision: https://reviews.freebsd.org/D37408 (cherry picked from commit 0705b7f4e64fdbad49a3a6d9131029a9734deb2c) --- usr.sbin/bhyve/pci_xhci.c | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 1f3d78a4cfea..f95f62fbf0e5 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -568,6 +568,10 @@ pci_xhci_portregs_write(struct pci_xhci_softc *sc, uint64_t offset, */ p->porthlpmc = value; break; + default: + DPRINTF(("pci_xhci: unaligned portreg write offset %#lx", + offset)); + break; } } @@ -2132,12 +2136,13 @@ pci_xhci_portregs_read(struct pci_xhci_softc *sc, uint64_t offset) { struct pci_xhci_portregs *portregs; int port; - uint32_t *p; + uint32_t reg; if (sc->portregs == NULL) return (0); - port = (offset - 0x3F0) / 0x10; + port = (offset - XHCI_PORTREGS_PORT0) / XHCI_PORTREGS_SETSZ; + offset = (offset - XHCI_PORTREGS_PORT0) % XHCI_PORTREGS_SETSZ; if (port > XHCI_MAX_DEVS) { DPRINTF(("pci_xhci: portregs_read port %d >= XHCI_MAX_DEVS", @@ -2147,16 +2152,31 @@ pci_xhci_portregs_read(struct pci_xhci_softc *sc, uint64_t offset) return (XHCI_PS_SPEED_SET(3)); } - offset = (offset - 0x3F0) % 0x10; - portregs = XHCI_PORTREG_PTR(sc, port); - p = &portregs->portsc; - p += offset / sizeof(uint32_t); + switch (offset) { + case 0: + reg = portregs->portsc; + break; + case 4: + reg = portregs->portpmsc; + break; + case 8: + reg = portregs->portli; + break; + case 12: + reg = portregs->porthlpmc; + break; + default: + DPRINTF(("pci_xhci: unaligned portregs read offset %#lx", + offset)); + reg = 0xffffffff; + break; + } DPRINTF(("pci_xhci: portregs read offset 0x%lx port %u -> 0x%x", - offset, port, *p)); + offset, port, reg)); - return (*p); + return (reg); } static void From nobody Thu Jan 26 20:27:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sgv5lfJz3btHf; Thu, 26 Jan 2023 20: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 4P2sgv4y4gz3Qb5; Thu, 26 Jan 2023 20:27:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Om0KsM1dDbgW0CYm2HGO+iUltLSaGQQczIUyQKbZ2DA=; b=J7ut5rg0+72JGaMQDXb4kTwcE2HtF8TFU+r5MhmpRQ8xMUNmseqOIO0htps1e6lf7ikPuG 76kP98IVyEWsXpVfaIWLv2EA8G4laVrVaPmSTLxxi+D1qfFmL92MgYJtKT9DutiNfnhDkH eaQ/mB1mvGhZj5xjLmeC4HWHDEfPXrYE4Q5eSUdVKkoBt18LQumbBZcVx94L/sQq04C2cg 4JGHtGwDIci9NkcWiUzA/9FPjtSLHXmL+brI1Tj/Zdd73bWBnfraLSXsYIVsVvjnIjzHFn eDfzFhci348Equ/pu8daQxkojfSVuwOIApZ0UGvQlAkdqT+xgjvSq6LHY+MAjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Om0KsM1dDbgW0CYm2HGO+iUltLSaGQQczIUyQKbZ2DA=; b=PpPsnBTNaPhcfUUMjhTIFVoG90xjisL0OHe44GEMH1oyPZkE7iJA23dxKGWDKFmBJZ7yVQ W4uZzMtSChTkcWaoEyTXRTs7hOhv2ziCEQL+Ip1xNmKE6S9N7FKMDY5uhQCkDRGpBty4WN jSW9QUW7zjA7K43ksDat/cbayTkQZCX2nri88yCJPJxxabEuX9/0/9tDlCRHujg0obMSpb giFCLTjRSbmq+RBGqPtpuGKLaKeqQg0qRo4l7t64GnPxcACdy0tmtKPJUUyiHi3GM/S1jq sqG+D5tfeg2ZJQ9b41ujiFgxMwutR5Q/x6UKE5kjGgs/k3ARP4uZZOmWU2ZSAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764827; a=rsa-sha256; cv=none; b=gTREkgBBGLsJKKtDt7CSl1gEUF1bPG1J/qBWPFaBjBjuaH52W945/KHr76CfQi92Mfm4R6 ajPkUoFRzuAeI45c4fqRY+HO9d/R9TsojoHS9hqkjzmAOONLgMuSZ/w1hc5OpmkprJpsaZ lufqV10RpdPjbMPA3JDq4pZHM5PrJoqL83yoHzVyPXOdGUjBiezBPTox9lhRQC0OKZE9bd 3um2autXbcHPJcnkTFXSRGuki1msaETNYRhNQCNf2+f1gTHq3OHN7cNXb8sBRRp1p5h6z3 100EV932o0KfRBqjJHmZc2xk3moduAqzK//lAWrkjhjZHtxiFTtmpuD5+4w/Hw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sgv40kJzjPV; Thu, 26 Jan 2023 20:27:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKR7IC064654; Thu, 26 Jan 2023 20:27:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKR710064653; Thu, 26 Jan 2023 20:27:07 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:07 GMT Message-Id: <202301262027.30QKR710064653@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 79135b4788e2 - stable/13 - bhyve: Let BASL compile with raised warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 79135b4788e2d8dfa1981b01e4ffb22be0c54592 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=79135b4788e2d8dfa1981b01e4ffb22be0c54592 commit 79135b4788e2d8dfa1981b01e4ffb22be0c54592 Author: Mark Johnston AuthorDate: 2022-11-18 19:07:20 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:07:12 +0000 bhyve: Let BASL compile with raised warnings - Make basl_dump() as unused. - Avoid arithmetic on a void pointer. - Avoid a signed/unsigned comparison with BASL_TABLE_CHECKSUM_LEN_FULL_TABLE. - Ignore warnings about unused parameters from stuff pulled in by acpi.h. In particular, any prototype wrapped by ACPI_DBG_DEPENDENT_RETURN_VOID() will raise such parameters unless ACPI_DEBUG_OUTPUT is defined. Reviewed by: corvink, jhb Differential Revision: https://reviews.freebsd.org/D37397 (cherry picked from commit c127c61efa4d8414be9a7373b50c7f348b6e461e) --- usr.sbin/bhyve/basl.c | 7 +++---- usr.sbin/bhyve/basl.h | 5 ++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/basl.c b/usr.sbin/bhyve/basl.c index 57d13d89e271..e002c3724ef0 100644 --- a/usr.sbin/bhyve/basl.c +++ b/usr.sbin/bhyve/basl.c @@ -49,8 +49,7 @@ struct basl_table { uint32_t len; uint32_t off; uint32_t alignment; - STAILQ_HEAD(basl_table_checksum_list, - basl_table_checksum) checksums; + STAILQ_HEAD(basl_table_checksum_list, basl_table_checksum) checksums; STAILQ_HEAD(basl_table_length_list, basl_table_length) lengths; STAILQ_HEAD(basl_table_pointer_list, basl_table_pointer) pointers; }; @@ -110,7 +109,7 @@ basl_dump_table(const struct basl_table *const table, const bool mem) return (0); } -static int +static int __unused basl_dump(const bool mem) { struct basl_table *table; @@ -301,7 +300,7 @@ basl_finish_set_length(struct basl_table *const table) assert(length->off < table->len); assert(length->off + length->size <= table->len); - basl_le_enc(table->data + length->off, table->len, + basl_le_enc((uint8_t *)table->data + length->off, table->len, length->size); } diff --git a/usr.sbin/bhyve/basl.h b/usr.sbin/bhyve/basl.h index c4d0d9d26c0d..6f7815c13cf6 100644 --- a/usr.sbin/bhyve/basl.h +++ b/usr.sbin/bhyve/basl.h @@ -6,7 +6,10 @@ #pragma once +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-parameter" #include +#pragma clang diagnostic pop #define ACPI_GAS_ACCESS_WIDTH_LEGACY 0 #define ACPI_GAS_ACCESS_WIDTH_UNDEFINED 0 @@ -43,7 +46,7 @@ #define BASL_TABLE_ALIGNMENT 0x10 #define BASL_TABLE_ALIGNMENT_FACS 0x40 -#define BASL_TABLE_CHECKSUM_LEN_FULL_TABLE (-1) +#define BASL_TABLE_CHECKSUM_LEN_FULL_TABLE (-1U) #define BASL_EXEC(x) \ do { \ From nobody Thu Jan 26 20:27:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sgx0sz8z3btBr; Thu, 26 Jan 2023 20: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 4P2sgw5qVqz3Qht; Thu, 26 Jan 2023 20: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=1674764828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6n7YXIyxsqwznho7uN1hPXXzE7Lbt+mplr7nejTWxM=; b=ZyvykMkt8n7P1zbd5RT9Oxv+yLQmJ68Dca4/+AaAao6iBWlPVcFROG7b45I2MZoxzgR6R+ M34C//qh3lRvQsuJim7BV7stfJkZO8vuI4Z0it/nIWfyE+zzvGof73uCjbh7PXCT/2ucxB Au4F9GSL554li5Z0x1D+FtZmp1AXSYUkgj7L3ngpjsmIRikO0w/mAIMxMLx7uCHeHgKT73 1Ozuj290ndh/oaJy2qwz3qbhi2RoAQLgynAkXKXrorxagRcnphY+hksyM+bHvstP0glrHE 9NW2LklyIfuJmw/0MvJKob2Yuhki3YpaJ9x2ziK4Y8dLeufgYyOgkuvsdvnChA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6n7YXIyxsqwznho7uN1hPXXzE7Lbt+mplr7nejTWxM=; b=sWKhUjDBj3CUK/7y40J4kmZvblDcAtsbTnbNwobBkTmcAkY/wTOivEc5sc0Bp4KKC3hgqg Ke2g26LGip0otAmOlbOxfkiU2DNt6WqPTJdQYaP9CZDY1/XrriXxFvz6LXbA1brGFDnX8a JiqnJ/6iDPHHvCP2aCk+WzqrIFJUTTDFDWIsIihhBnOfIizKw+ixPK8rg5PYbFGhNpJ/S/ UlgtXPkrmqSUHiqLPbhkE3WYRosvmTptQju0hy8KMuJCPxCFj9HJ86MdtVPMaJPix/QU2T NiIhbSaeySPJNA5D6L2IUUFoCY46+uvjAPXwrZ2567nep0v/B+cX2sps8obzNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764828; a=rsa-sha256; cv=none; b=aH9P3v3+2MS9zeQeyzpu2RUGNOyuC3SguNmYZhuNRVRyG7WSNh2y32i7joXyNZAlnFZXva lpqN8v7RumwanD7ukVX2HRK/NFZlqsyRAE8wViFmyuEHGR8WB5I3HwPRADWDgdUrgxif7Z atmBQrDEnLOIlfbuLHVo3rDhrGkjDFtS64r2OZRSa8veZCTIlMwJ0YebjxPFJdh9tCX9bR bdCZAyVgXkp4k1HSOxCoHaBMBVKbvfmxQt6Rw5f2hap6zDQmWOhTzGpYHwoe32cXRw30il J70XQiAhx+xuZRLm9x4+XK2yBYkn51y9Jg5GERbq408Es6VeSAyJfcfxU3gnxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sgw4vfdzjPW; Thu, 26 Jan 2023 20:27:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKR8DY064702; Thu, 26 Jan 2023 20:27:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKR8QX064701; Thu, 26 Jan 2023 20:27:08 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:08 GMT Message-Id: <202301262027.30QKR8QX064701@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 03851ae8cd4d - stable/13 - bhyve: Mark pci_de_vinput as static. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 03851ae8cd4dcbffdbb7a72533cab28b19ed1e9e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=03851ae8cd4dcbffdbb7a72533cab28b19ed1e9e commit 03851ae8cd4dcbffdbb7a72533cab28b19ed1e9e Author: John Baldwin AuthorDate: 2023-01-26 20:19:12 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:22:43 +0000 bhyve: Mark pci_de_vinput as static. Originally in main this was fixed in commit 37045dfa891a. However, when that commit was merged to stable/13 in commit 976ed044fbbb, pci_virtio_input was not yet merged to stable/13. This is a direct commit to complete the earlier MFC. --- usr.sbin/bhyve/pci_virtio_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_virtio_input.c b/usr.sbin/bhyve/pci_virtio_input.c index 1e7726dfc101..d4a39ed0afdd 100644 --- a/usr.sbin/bhyve/pci_virtio_input.c +++ b/usr.sbin/bhyve/pci_virtio_input.c @@ -770,7 +770,7 @@ failed: return (-1); } -struct pci_devemu pci_de_vinput = { +static struct pci_devemu pci_de_vinput = { .pe_emu = "virtio-input", .pe_init = pci_vtinput_init, .pe_legacy_config = pci_vtinput_legacy_config, From nobody Thu Jan 26 20:27:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sgy0KTjz3btHs; Thu, 26 Jan 2023 20: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 4P2sgx6mB5z3QlQ; Thu, 26 Jan 2023 20: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=1674764830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/eUuaEMMSZlM8//jNIhsLdJzEwbfSeLX62cYYqkY/UI=; b=WVfGQ2B2pDBGW+jagE0PYWviiYatHNJFyaQKf7A7UFGbikQDYClzjNOzpfsGBoGbRDKI8M UL4vw77go04I4YmFxJS1x4RaKOnacaJomsULb4K/T5W2e79EIpZzwkMlFWyrL8qmSwnHJk tVwtx4ij+3AIqcZn22GTyVXPDMahPelbw9Ishe94z40Jg5q3Wg5AM4RluSQ30VhhSexma1 1gN4tiiTHMWeRLXCcQH+BlQrryt239NEMy/WEFD1BIVHfzIGXgls77ux76D12l8e6E+RCf nuIh1U14xmVCUch3wc/qcRL36M+CLrR5bDYBQqeXl3ph8ClgMDFy7ZuOvZHvFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/eUuaEMMSZlM8//jNIhsLdJzEwbfSeLX62cYYqkY/UI=; b=katXmQunRXBz3mz2oHQ72/MTV+JQgJhMYWWltOlgmcuLcQ3f/0lUWf/s/xXMH3skM3xWME Kb+Cf/W0jccBnzoAv8Y9Zg79URwJwjNYH1A0uWMXwg/wfnzDR0ABe7RnHcZkSQOmIy6xdb UWR+n6jb/HIao4/9O5Z8sQJDl7WO+/BYKZFnKyrLTDJmlqk63ypikuERIBGiY2GuUejEUc ugNnO+4j7gAQyVxWD60KnoWbcNZn9sgThYze2ObW6YiPd3+LVVJJ8A9Vj0MAIgzTJCCpTX c2McB1pNm0Rzh5TcEhbNnq1UWIhCM8oSrPMe8sPKimh0c2y6XXRanDS05gvnrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764830; a=rsa-sha256; cv=none; b=de3HSwXsgsNqyG4f4Pv+giKDjKJXdo1wGiuXcm0dcjU2p0CM7C/1UodOqAWifQnWA9VNbl c9WBEtqw35bB9VDVnUnIp+YL5u9gn3n+tWbHzp79AWuXhoPXa6KUkm2Z1MtZaWXwNXWv/m chSwFzpT/KpfwQI/TxqUAwELSM4KWeHs0BvfI5Vq9c9Xo3wzmQi+sQDYHDOxg5/9bauInB mRWdUkou6wU/KfliiydfTOrhCYAFVVD57KgrThAXcL2mYLO93wMtRUAuL2GfehjNHkBUTV OGc8RNBOjlLiEN+Jb32pEVHA+hT52u+2j4St2RA3j2teOfY/oXG/WQel7aGJ7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sgx5rVBzjXS; Thu, 26 Jan 2023 20:27:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKR9hS064750; Thu, 26 Jan 2023 20:27:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKR9Na064749; Thu, 26 Jan 2023 20:27:09 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:09 GMT Message-Id: <202301262027.30QKR9Na064749@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1348ad12a910 - stable/13 - bhyve: Enable the default compiler warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1348ad12a910b9507008829becde7fd808d906b1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1348ad12a910b9507008829becde7fd808d906b1 commit 1348ad12a910b9507008829becde7fd808d906b1 Author: Mark Johnston AuthorDate: 2022-11-18 19:10:33 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:23:02 +0000 bhyve: Enable the default compiler warnings Disable -Wcast-align for now since we have many instances of that warning (I fixed some but not most of them) and platforms on which bhyve runs don't particularly care about unaligned accesses. Reviewed by: corvink Differential Revision: https://reviews.freebsd.org/D37296 (cherry picked from commit 71ebd117386cda6410ca65eb487b63e5dedf3245) --- usr.sbin/bhyve/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index bd78a3362672..a456d507a071 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -132,12 +132,12 @@ CFLAGS+= -DBHYVE_SNAPSHOT CFLAGS+=-DGDB_LOG .endif -WARNS?= 2 - # Disable thread safety analysis since it only finds very simple bugs and # yields many false positives. NO_WTHREAD_SAFETY= +NO_WCAST_ALIGN= + SUBDIR= kbdlayout .include From nobody Thu Jan 26 20:27:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sgz0ycRz3btSS; Thu, 26 Jan 2023 20: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 4P2sgz0XwWz3QwN; Thu, 26 Jan 2023 20: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=1674764831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1kbbUKyk35wOsMVbhPZcxd7gGTZv0CF3zn/mBIxmew=; b=q15tqWbg4S24/GMChSLFyoOghELAFSKsSsOPKDWhSStdfC3zLMWd5o3Y3N6gfsWW5JTBbP aV0zeOescrCsq8ipQjxJWfWd62/BA4WTeBpj2qaPylZEJGZKKtimfZWWeq5jDl9N8ZsPZq KQr00G1sJyxME3AcrJpyfaqAcVQXp8HgMF6fMW6zOMM0Gd32/fmoT/KPPhItg9eqGs8zVV Yv5ZfbO3DQA4YE04obzt+FSsp/2FKkrbV2a/8XokkIScBqeqkBm1XiCqLZop3YKq1V0xCI t32gFuZb5A4YO0drgZMS2gWEVW83b18E4RXQQqC4CPqBUN2qrD8YTrcO1udIqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1kbbUKyk35wOsMVbhPZcxd7gGTZv0CF3zn/mBIxmew=; b=JdOAU2cxOm2a0CADcE+AIHs56+Xr4W4ZidmXyK0nwLitObz+4OLpTVdev/aVk31zw2/gyf CfQ7aoWYkxxcbhnM39CGRsm3/cANRHZOhMJTy1PDX0Jc12vU/8jA6FAPt1VzwC+spDaASk gily+7WG0GNZxNuCdCyfr2wfeHaRgKezeleI3lzvQ1Zn4F3/I4S+7rIh/J+aEnnP9n0ixj hwmC8FMeJas701zy6yHDPvzniHHEeJd8O2WKZrcqTKNqd+PVGRaqMILzOqgEeWBwxcCjKu ID+NUDtKRfqyX+EbqQ6UuZEjp6/5R06oGLOf/BQ5NfrnxETO49hhlm+kuBqyDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764831; a=rsa-sha256; cv=none; b=tvNu1u8HeOSnyTxAqZK0E5Cxo3vIqIL6hB+4680/TvADmBxFVuVDD45fHI/ryUTtOfCjta zeK2AN3vIYvjMAckqTlShPDPCKU7lBVBgJP4hLj3clHuZH2F5loa/LzwVZu2p6cDUvwiEy CTU/kjpzo/Eu6PZrD/DjGllGFlr+zY/arDk1RVUvT4k8CW8laJVeE1wb0VItuqIrsHCy1A dRQkdtXg4P1sNplWFabgMA9AWYAHLhGoTgO8x0m/OEnxx5IMogjEOCYoAM4HsKi3hgUvUu N1Qb6/n2Xa3uwbQWygJpZYxKD5j49CxIg9nDAZ/RSLjo6i/1n9NvEfFnnEfxSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sgy6mR1zjCp; Thu, 26 Jan 2023 20:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRA3s064817; Thu, 26 Jan 2023 20:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRAw7064816; Thu, 26 Jan 2023 20:27:10 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:10 GMT Message-Id: <202301262027.30QKRAw7064816@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 50c272dd2e74 - stable/13 - bhyve basl: Use GCC pragmas. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 50c272dd2e74b8c6275a4285b8a0bbfb9775bb20 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=50c272dd2e74b8c6275a4285b8a0bbfb9775bb20 commit 50c272dd2e74b8c6275a4285b8a0bbfb9775bb20 Author: John Baldwin AuthorDate: 2022-11-29 01:07:39 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:23:37 +0000 bhyve basl: Use GCC pragmas. These work with both clang and GCC. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37484 (cherry picked from commit 0acf696151e3c43967988c8271aa27683566a755) --- usr.sbin/bhyve/basl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/basl.h b/usr.sbin/bhyve/basl.h index 6f7815c13cf6..c7fdd783a9d5 100644 --- a/usr.sbin/bhyve/basl.h +++ b/usr.sbin/bhyve/basl.h @@ -6,10 +6,10 @@ #pragma once -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" #include -#pragma clang diagnostic pop +#pragma GCC diagnostic pop #define ACPI_GAS_ACCESS_WIDTH_LEGACY 0 #define ACPI_GAS_ACCESS_WIDTH_UNDEFINED 0 From nobody Thu Jan 26 20:27:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh01WpFz3btKY; Thu, 26 Jan 2023 20:27: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 4P2sh0152Zz3QxD; Thu, 26 Jan 2023 20:27:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TNG5rP7xLfo8/RWIRUBpnck+VrSoxlK+acacU8A+KLM=; b=yI4MEypEZ9ucx9dkxWtB6EgWeMV8qS+djtfwgQ52v1Pl5S9RbrFOSGkVzCkWY0nnR4/+xQ 4/0vh+aWuO7sVqyOV0qOUgW+Rn5X1R69OdMQI90BSM6ioMDO7+jADS3jDe0Or0dfZgOpj0 tNvbb8hK7OeZjNO4sZ0WHWwWox2fPkqZoRp196zADlWmjyDgbdHGxBpZjn1K0/9pWOH8yn RnojqtuvSwQINrf4N5pfiCZ0zRi8Ta1SgR++xm6GAGjS9OYVlHp5zxidW0ZzgChSTQboJ0 0wp8zN37a0eKwvI4m76uswc5Dfd/xU4HkotjbPGnal70dt2ycwl1g15RtK+SJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TNG5rP7xLfo8/RWIRUBpnck+VrSoxlK+acacU8A+KLM=; b=e7jfGN9R8H+ZxJjE4kIBtxLmX+P8ImmdniCdHki/HUA7TYdGcprdM6Am8di4GY3GgRBOKq WW4jEHWZr+TqAvMw68oELWyEyPHBgOrfjZEYNwDwy6GQQ0eFybZ1qTe1CkGl2oKBeczozU Ts6++6I/w6ibeWR0PSolE3bHYmkWUgwF9T1UOUgeYmhIwapHuQeTf6K7BBryuODF7Xazq9 uhwT0CxzZrUVOEz5jZA+9lYaXgA2QDxf+YPaU7qaGIS0zt39v6jFTcGkx3bk8LCenMM9X0 bDtLXbamFlhYqe5L3ELeHBAQvb8bOSIFNKjptcOTLQT7BmHjnkc1xtxH/06zDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764832; a=rsa-sha256; cv=none; b=xD8rcEi3LbJBiVZlQOwqRXKJgSiNws7qlgX5Yr9rI4Y1uMjE4N3pEhUtN7KNnXqfEEKd6Z iv9iQ7L5H+qJVnIjb3vrmGIu1uOfSVEESlmjIyDwYHUjovWzXHxK7TpWD2pjEAnuBe7Ccl TDkXdCnskDpSrjAml0LmasClQiZMRrMZxOB382DLef0g5cT0sHnMsDRAsnqNIV2wsKEfQd hSnMInY/t2ij3eeNO96ohkZOnlBJQXVFtYAmjixagp5ipR6fAoJ8aLIzbpqvCGvzXve1FG RzDjhYe5RxVd8uROnbnQHaMdJen4uwYBQ40hgwJTulTAdzzR4cvn6xLBgiDXoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh00B4ZzjRs; Thu, 26 Jan 2023 20:27:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRBpA064845; Thu, 26 Jan 2023 20:27:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRBGS064844; Thu, 26 Jan 2023 20:27:11 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:11 GMT Message-Id: <202301262027.30QKRBGS064844@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a4d4176aae92 - stable/13 - bhyve: Fix sign compare warnings in the e1000 device model. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a4d4176aae9226cc07d278e40737a20358a054f2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a4d4176aae9226cc07d278e40737a20358a054f2 commit a4d4176aae9226cc07d278e40737a20358a054f2 Author: John Baldwin AuthorDate: 2022-11-29 01:08:09 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:23:42 +0000 bhyve: Fix sign compare warnings in the e1000 device model. Adding a bare constant to a uint16_t promotes to a signed int which triggers these warnings. Changing the constant to be explicitly unsigned instead promotes the expression to unsigned int. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37485 (cherry picked from commit e7cd5ffff88f1f4dfba2693041cc78fcf3613fba) --- usr.sbin/bhyve/pci_e82545.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 21e01b22ec4b..9d991b124965 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -1045,7 +1045,7 @@ e82545_transmit_checksum(struct iovec *iov, int iovcnt, struct ck_info *ck) DPRINTF("tx cksum: iovcnt/s/off/len %d/%d/%d/%d", iovcnt, ck->ck_start, ck->ck_off, ck->ck_len); - cklen = ck->ck_len ? ck->ck_len - ck->ck_start + 1 : UINT_MAX; + cklen = ck->ck_len ? ck->ck_len - ck->ck_start + 1U : UINT_MAX; cksum = e82545_iov_checksum(iov, iovcnt, ck->ck_start, cklen); *(uint16_t *)((uint8_t *)iov[0].iov_base + ck->ck_off) = ~cksum; } @@ -1231,9 +1231,9 @@ e82545_transmit(struct e82545_softc *sc, uint16_t head, uint16_t tail, if (!tso) { /* Estimate required writable space for checksums. */ if (ckinfo[0].ck_valid) - hdrlen = MAX(hdrlen, ckinfo[0].ck_off + 2); + hdrlen = MAX(hdrlen, ckinfo[0].ck_off + 2U); if (ckinfo[1].ck_valid) - hdrlen = MAX(hdrlen, ckinfo[1].ck_off + 2); + hdrlen = MAX(hdrlen, ckinfo[1].ck_off + 2U); /* Round up writable space to the first vector. */ if (hdrlen != 0 && iov[0].iov_len > hdrlen && iov[0].iov_len < hdrlen + 100) @@ -1282,26 +1282,26 @@ e82545_transmit(struct e82545_softc *sc, uint16_t head, uint16_t tail, * TCP | flags | 13 | 1 * UDP | len | 4 | 4 */ - if (hdrlen < ckinfo[0].ck_start + 6 || - hdrlen < ckinfo[0].ck_off + 2) { + if (hdrlen < ckinfo[0].ck_start + 6U || + hdrlen < ckinfo[0].ck_off + 2U) { WPRINTF("TSO hdrlen too small for IP fields (%d) " "-- dropped", hdrlen); goto done; } if (sc->esc_txctx.cmd_and_length & E1000_TXD_CMD_TCP) { - if (hdrlen < ckinfo[1].ck_start + 14) { + if (hdrlen < ckinfo[1].ck_start + 14U) { WPRINTF("TSO hdrlen too small for TCP fields " "(%d) -- dropped", hdrlen); goto done; } } else { - if (hdrlen < ckinfo[1].ck_start + 8) { + if (hdrlen < ckinfo[1].ck_start + 8U) { WPRINTF("TSO hdrlen too small for UDP fields " "(%d) -- dropped", hdrlen); goto done; } } - if (ckinfo[1].ck_valid && hdrlen < ckinfo[1].ck_off + 2) { + if (ckinfo[1].ck_valid && hdrlen < ckinfo[1].ck_off + 2U) { WPRINTF("TSO hdrlen too small for TCP/UDP fields " "(%d) -- dropped", hdrlen); goto done; From nobody Thu Jan 26 20:27:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh14Svqz3btJ0; Thu, 26 Jan 2023 20:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2sh12HRQz3R2v; Thu, 26 Jan 2023 20: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=1674764833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Pjt5gfTvjUix2wlZM6FR/PCs3DUtntvF2notBgvqlo=; b=vIu6ierfTrCy27/tODUaP8wuBYi+OIRYa8q0L6EplMLfLA8feLe6iEnqA121/awx0B8/hU RQKUGF7x4H7NolI6Bh2I1QdHVlnFsfxJnWicRez2aofOPNpENViz4VfcVdRlS7wG6IXEFN H23Wa+WXj6jreaD9OgYrvHjAvX0eB4/GNdzSLjzBupnzCzZc3ELG2owwTqmDYqeJOpDMZg CPnV1sVAcQo7Y8J/tLPm6iIU6xYj39RQD9QMFSHSmbwy7X5BWQMJC56kpZs8rdfMwOXvZz UqCGXUY5kdp7G9DrgfOIqMye1oRri0hRJjBXC/VwZtEA/MYb2KAj/WxBoJmTfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Pjt5gfTvjUix2wlZM6FR/PCs3DUtntvF2notBgvqlo=; b=OibyI5o2Cp8NfzoAk+rgJdrUoMjfTUFMcAvj7nNV/2nCL9IHszpk9SzyjYGZKcEJy38MZY Ar/ZV6vASWjBLB/w88f6Ycf+hS2zR68yI5W7BJjJLJKuGbbNIVr/wwLscpa4y+OzZVKFPq FtY2auioQp/egFLrsPYkZMq+rEDyo8yBASxJHVKtf46RHYVtnXK3ZYKgnEmeqI4g8NlAak kMsy44tBcXFuhoz+6WqXoeyfp9rAVdzlitOm8ZIY2jDkWIz4nxvJF1zqUnI6jZ/JOf7N90 6fAHPnZnyz69WBeX/zWrKNe8aP8uxc9YvX1nywvuxZPRa9LehVnGZD3swjbtjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764833; a=rsa-sha256; cv=none; b=IcSOyxHjARzW7ChuhT4VX+WNoxXBrYoQIRHCqi+UrkiC0dz6BsElAq++FqJXFVBc72XF8G cS2W3/7StB6HGkkofHiQnOmGZDJakID/Wdtpdn541ocJJUtUuI/mWWLQ3xEB6g/sqHCAJc my/hfg7LVJYYGjkIKA1dvNlLMwdHu6t+DixLQPM9HPKLtEfnr2JAM4gt70SkeOGZDD7o0D XOymawHf9oKeTOcqKuPMNmSDJ7oZikNaAqVEyvecj8gEs5Sic7yY7EHON/a5JqCjzobolW l8WG9RiaKifjByRr0OVWVdquPITEjQQufIivGuByn5lekShCVjOcCaWTwgqKdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh116cnzjPX; Thu, 26 Jan 2023 20:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRDWM064870; Thu, 26 Jan 2023 20:27:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRDKW064869; Thu, 26 Jan 2023 20:27:13 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:13 GMT Message-Id: <202301262027.30QKRDKW064869@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3b700550004c - stable/13 - bhyve: Don't leak uninitialized bits in NVMe completion statuses. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3b700550004c7d3b848c68e4a7742898f9f98b45 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3b700550004c7d3b848c68e4a7742898f9f98b45 commit 3b700550004c7d3b848c68e4a7742898f9f98b45 Author: John Baldwin AuthorDate: 2022-11-29 01:08:36 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:23:47 +0000 bhyve: Don't leak uninitialized bits in NVMe completion statuses. In some cases, some bits in the 16-bit status word were never initialized. Reported by: GCC Reviewed by: corvink, chuck, markj Differential Revision: https://reviews.freebsd.org/D37486 (cherry picked from commit 1d9e8a9e60953b148a036b39d1fe7037fdbb40a3) --- usr.sbin/bhyve/pci_nvme.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 6572781e939c..98f4a7de72c8 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1530,6 +1530,7 @@ nvme_opc_identify(struct pci_nvme_softc* sc, struct nvme_command* command, DPRINTF("%s identify 0x%x nsid 0x%x", __func__, command->cdw10 & 0xFF, command->nsid); + status = 0; pci_nvme_status_genc(&status, NVME_SC_SUCCESS); switch (command->cdw10 & 0xFF) { @@ -2383,6 +2384,7 @@ pci_nvme_io_done(struct blockif_req *br, int err) /* TODO return correct error */ code = err ? NVME_SC_DATA_TRANSFER_ERROR : NVME_SC_SUCCESS; + status = 0; pci_nvme_status_genc(&status, code); pci_nvme_set_completion(req->sc, sq, req->sqid, req->cid, status); @@ -2447,6 +2449,7 @@ nvme_write_read_ram(struct pci_nvme_softc *sc, else dir = NVME_COPY_FROM_PRP; + status = 0; if (nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, prp1, prp2, buf + offset, bytes, dir)) pci_nvme_status_genc(&status, @@ -2594,6 +2597,7 @@ pci_nvme_dealloc_sm(struct blockif_req *br, int err) bool done = true; uint16_t status; + status = 0; if (err) { pci_nvme_status_genc(&status, NVME_SC_INTERNAL_DEVICE_ERROR); } else if ((req->prev_gpaddr + 1) == (req->prev_size)) { From nobody Thu Jan 26 20:27:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh23tjTz3btNM; Thu, 26 Jan 2023 20: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 4P2sh22xbvz3RGG; Thu, 26 Jan 2023 20: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=1674764834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgFKbt9pSxc1Y0ILqPRqshtIuxSAiMHhCUEXWznh8z0=; b=nC+Tgtm9qtHJTNz4xCT4IsALqKimcJVadL7KTqnVVEbg5stCPIKoh9l6woFMTUB5rZijpq zwF+6nigJJ8fWLCZ9g3WFhnV340Uriqgv9i/E5agdnVe0cyPALclDG0j4zXlr2ajpp6t0S SDGcwlMZj8A6mhhiv8ChvRwCx/cQs/OraZ0qLyTPd2sVd3xVtlJrrscDfqxz4VmmKK9OlC xxOzw39I4q8VopAzRWGRrO+t1+D88mx5qwBnGlIJnpTmxwYvjPXlIyF4zsWTQp1WsYZuEz YJQsXPdeH86NaVXxptrUSJ3wIGL0Ra06+qHmFAbH+hkzIFCczLpEzUQPS1sWEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgFKbt9pSxc1Y0ILqPRqshtIuxSAiMHhCUEXWznh8z0=; b=dZhf9a6ocy2dBZ220oUWW4JazdFZtZgQy7mBNEDnHHJe3hsb1SP2poxQRmZC/Dm6zsLJR1 gNO7qjI4tAkSmC+vL7swfNpKSHZ0gp8vWtJSGru+sLsDHokIQnvnrwq7UCM9YnlWmhDxmY Kznz1pnh0bC4au31ELKy6gxTKmLuXAHx8kMbU7A9qp+8oCf1gAp/tBKV26xem4L0izxJfB MhoWbIYGdcHuSDaRZwdqlcQmhf3LDPGG5eXjcftBmILpA+CMEAN/fxODECI4mux6f5WL/I TD9Kjlrfzao+l7mc/L3KjJ8TEu3XWOW5hsAjyVg1Ng7IkQ0r8gGaIP6W+njz4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764834; a=rsa-sha256; cv=none; b=H6Tlif3e6FYLu38QYnLBgT/mCyt6kCQsUdn/xu2TVCBLZxMXueiqTEaL5fYQd8qLZZWkGl 1Zw+QgGC8UgHr/XR8gm8KG2HaO5+56pSx4rSZOcC9XYnD6DVUIZyj2Tt8HCElRQxapgR3X LOpwA9jTEiKB1+Fwc4HC2N2dU1aFWT2WWWceQU0w/X6gIG5GBDWbfx/0zHGiJrYvkiGYhg efGieTXN1AvsZMi5s3Cxoh9HUd4Tz4cfMIgzG4kviwJepYoh246ePMYqvOnFlR+hpwzA3I sdj6ET83Ac9/NJJ1QLEqg4kbQm+DZTKk61ZR/onmRdoF3ny1yud4Glqv5wq1hA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh223HKzjPY; Thu, 26 Jan 2023 20:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRE35064898; Thu, 26 Jan 2023 20:27:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKREAt064897; Thu, 26 Jan 2023 20:27:14 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:14 GMT Message-Id: <202301262027.30QKREAt064897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 697b7cf36101 - stable/13 - bhyve: Clear lid to 0 for internal device errors for NVMe AENs. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 697b7cf361014e70bc2d45c864dc34a431bb6bb0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=697b7cf361014e70bc2d45c864dc34a431bb6bb0 commit 697b7cf361014e70bc2d45c864dc34a431bb6bb0 Author: John Baldwin AuthorDate: 2022-11-29 01:08:57 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:23:52 +0000 bhyve: Clear lid to 0 for internal device errors for NVMe AENs. Reported by: GCC Reviewed by: corvink, chuck, imp, markj Differential Revision: https://reviews.freebsd.org/D37487 (cherry picked from commit 47d61162396bac8a7320a6768f218b192dd19ee1) --- usr.sbin/bhyve/pci_nvme.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 98f4a7de72c8..571a6a9fda62 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -969,6 +969,7 @@ pci_nvme_aen_process(struct pci_nvme_softc *sc) EPRINTLN("%s unknown AEN notice type %u", __func__, aen->event_data); status = NVME_SC_INTERNAL_DEVICE_ERROR; + lid = 0; break; } if ((PCI_NVME_AEI_NOTICE_MASK(aen->event_data) & mask) == 0) @@ -1003,6 +1004,7 @@ pci_nvme_aen_process(struct pci_nvme_softc *sc) /* bad type?!? */ EPRINTLN("%s unknown AEN type %u", __func__, atype); status = NVME_SC_INTERNAL_DEVICE_ERROR; + lid = 0; break; } From nobody Thu Jan 26 20:27:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh34Jzmz3btQt; Thu, 26 Jan 2023 20: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 4P2sh33ZTxz3R3t; Thu, 26 Jan 2023 20:27:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SHQ84Tf2sj8WxsvTjKheO6ilGIzHDzJUtpzZQXb+hxs=; b=xRNc25J8w03JRYYyLea0v9STjYTRkWaOCU0qD5W5zvFsnuQaE3RJRkIJi3mu2UvseSzhv+ az19TkFjw2W8Q2P/eJ7L9guUMdPujdC5W8G1Onq9L58No0Xh7EGUKB7UvJdFUDt+SRNZAz ki+32gi+Mga2rBeHJ8Vl7aubuvrsHbWVKHjdUMpxsKxV5ncc4nqlw5i0gLN8L8elUrkJZu 1qCU4ue3qSxjCN0GyX9UXN6hzB0R9Qw3RnmqvxZuDOvEXRI3nKqAS0JGB6MtSaXsTQrSnT hnwq5XacHowoAfll46BymjuNMKEcboHuQRv3fq5WIjemAaFD17vsT26DD4/fxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SHQ84Tf2sj8WxsvTjKheO6ilGIzHDzJUtpzZQXb+hxs=; b=jKXHqqizUux3fI0tAsJkzoKQQOFiAnH+VvMyU1qbrzNhGZaX+wX9VRzPO7X7OGIzkMVv25 kHOnKAws0WwhT2IdPxG+8wATjFP/UOlNxj8hqt3iXU4EtGxcmg00amsCbAx7Dl175wJkyt MzEwG35hK6PaW6k19uIfHqypHQhZlycHY/zJkNzY1Vvie3H4OBwwyEYZRQj8HTwmgNYnjw Zpg6+QqoGYF5TcJyJXjkXNU+AeKwe6WpCROlk/c3nir/3zSLc363ioous4k8lyS5s6SjnB RbDmWnzB4b2JMxitlDXB6q2uqiKwzZJGCwn5jEFeJouYKhFLZIoGcdlJYJqo4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764835; a=rsa-sha256; cv=none; b=sbNU8eaHhmmJ9OawaGIbWkJa/Bv7ajgcB/oBT5fIfIWnmZh2TI4Kg7ljlIOvt9GhrlzeEX LvemF1yKIYny2VX6OYLioM9RwfsrHJaMV8Wjc1Pu/7C7ZF336vMhs+31I6t+WALj4WCsSZ 4qSwZYB7yvzIzzxo0rurKSSChZCfS8TZGUmxpaqcZ7FgpFNDD4Z5XV9ikzx/kykjdRehtH dsCnHgHR/uHG09C28iruZd6zllBEotoLoWlDjDMh/MDgfwNxBsQ3fWyKHikFW/WNPdZcht slEyEniyx2NqQfBgeXilDIFCu3H2fHLAMuzH1s3W56SKkvet6uEZ0vUQAgmCJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh32cvDzjXT; Thu, 26 Jan 2023 20:27:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRFWv064922; Thu, 26 Jan 2023 20:27:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRFQi064921; Thu, 26 Jan 2023 20:27:15 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:15 GMT Message-Id: <202301262027.30QKRFQi064921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: eb8d8798a0eb - stable/13 - bhyve: Avoid unlikely truncation of the blockif ident strings. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb8d8798a0eb49e58fb8f38ef33c3eabec9e7071 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=eb8d8798a0eb49e58fb8f38ef33c3eabec9e7071 commit eb8d8798a0eb49e58fb8f38ef33c3eabec9e7071 Author: John Baldwin AuthorDate: 2022-11-29 01:09:15 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:23:58 +0000 bhyve: Avoid unlikely truncation of the blockif ident strings. The ident string for NVMe and VirtIO block deivces do not contain the bus, and the various fields can potentially use up to three characters when printed as unsigned values (full range of uint8_t) even if not likely in practice. Reviewed by: corvink, chuck Differential Revision: https://reviews.freebsd.org/D37488 (cherry picked from commit 5d805962ca9347bbf62750452c4c980decb94793) --- usr.sbin/bhyve/pci_ahci.c | 4 ++-- usr.sbin/bhyve/pci_nvme.c | 4 ++-- usr.sbin/bhyve/pci_virtio_block.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index 4571f4caeffb..09b996476774 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -2422,7 +2422,7 @@ pci_ahci_hd_legacy_config(nvlist_t *nvl, const char *opts) static int pci_ahci_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) { - char bident[sizeof("XX:XX:XX")]; + char bident[sizeof("XXX:XXX:XXX")]; char node_name[sizeof("XX")]; struct blockif_ctxt *bctxt; struct pci_ahci_softc *sc; @@ -2469,7 +2469,7 @@ pci_ahci_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) * Attempt to open the backing image. Use the PCI slot/func * and the port number for the identifier string. */ - snprintf(bident, sizeof(bident), "%d:%d:%d", pi->pi_slot, + snprintf(bident, sizeof(bident), "%u:%u:%u", pi->pi_slot, pi->pi_func, p); bctxt = blockif_open(port_nvl, bident); diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 571a6a9fda62..edbac73c7ed5 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -3152,7 +3152,7 @@ pci_nvme_read(struct vmctx *ctx __unused, int vcpu __unused, static int pci_nvme_parse_config(struct pci_nvme_softc *sc, nvlist_t *nvl) { - char bident[sizeof("XX:X:X")]; + char bident[sizeof("XXX:XXX")]; const char *value; uint32_t sectsz; @@ -3226,7 +3226,7 @@ pci_nvme_parse_config(struct pci_nvme_softc *sc, nvlist_t *nvl) return (-1); } } else { - snprintf(bident, sizeof(bident), "%d:%d", + snprintf(bident, sizeof(bident), "%u:%u", sc->nsc_pi->pi_slot, sc->nsc_pi->pi_func); sc->nvstore.ctx = blockif_open(nvl, bident); if (sc->nvstore.ctx == NULL) { diff --git a/usr.sbin/bhyve/pci_virtio_block.c b/usr.sbin/bhyve/pci_virtio_block.c index 2b2e6a412a5a..06d2a9671c0b 100644 --- a/usr.sbin/bhyve/pci_virtio_block.c +++ b/usr.sbin/bhyve/pci_virtio_block.c @@ -453,7 +453,7 @@ static int pci_vtblk_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) { - char bident[sizeof("XX:X:X")]; + char bident[sizeof("XXX:XXX")]; struct blockif_ctxt *bctxt; const char *path, *serial; MD5_CTX mdctx; @@ -465,7 +465,7 @@ pci_vtblk_init(struct vmctx *ctx __unused, struct pci_devinst *pi, /* * The supplied backing file has to exist */ - snprintf(bident, sizeof(bident), "%d:%d", pi->pi_slot, pi->pi_func); + snprintf(bident, sizeof(bident), "%u:%u", pi->pi_slot, pi->pi_func); bctxt = blockif_open(nvl, bident); if (bctxt == NULL) { perror("Could not open backing file"); From nobody Thu Jan 26 20:27:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh45X1Rz3btC8; Thu, 26 Jan 2023 20: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 4P2sh44jvxz3h1T; Thu, 26 Jan 2023 20: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=1674764836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=33zk2CBqAYsiEq2B/wiLW+FScH0IA7jWqwSUs/mvTrA=; b=ncbVwFM8C1i4diMrwd2ce15v42MZklo5TYzJClD3ECmXGYVNC/b2HmHUGkcnjMLNk2LW2m MoQHzYZqfrWl6NTdODMU9UTuFM21l8GEVApYsGXiSlbIv5FK43cLjEUQAVtnTjo+BdXxFM GIP3kFyaKLD+GGGBerVsmIc5KfmwfL2WXlhPLRHIljLmDgm34A5CtjBXS2WVS3N0493j2X RTutgPM6Ikb0wdC1yIm6JKRXALkRmIKPXfiuhWG45Ve0HtE+vZrPApibkJ6MHeLpuqnMzG fnizA8mbuxupmDhwu4mkR9yykFtmj7igBuPcv26A5IpmyMtUraeVH2sSywfVBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=33zk2CBqAYsiEq2B/wiLW+FScH0IA7jWqwSUs/mvTrA=; b=NvzfDTA8JjrQLnN7ZVd5xuTC5OGSyDtgjJJvAf+SSviVvh8lAB0I1SLgwmkjQXPZ0/GtnA PgQtLijMZcIzCCqYJxz0rDmQKHh5ER7LOABqu7gO/jYgb4PkoRq0itm/npeiWU+24sZGAJ uHBfJF0h7ffhltYfiMu/5Xum9UqoHS7QKOteo6IpKHFvssg1Q6mHxbeIzU6VueJZc//oL0 X0wdoY+vMgd3hw529iBufevRi2KMNRvL37L8UW0vMv4MqcOV7zhhzbjePPtq/PXhI2jC/a bRr37Qs5iFTxFBkpYodV67lR+mYpeDuVi1vOz9DvdS/LURO1/Qvcm1Uv379clQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764836; a=rsa-sha256; cv=none; b=j3HV3IoB/3zITTfvxZisu0NOGcPvDeSxkVtndOdVDgyAsw2m6xAa0UwvPeNRPdosTCRxl0 vl8QZVNM6lfnHslJakwqiS3bwYXOfQXezmzU4kP0lgd6k3V+J/2sHQxXHomiM5A3g4FDyV V1Tn0RFp+X7q8sc7otoWu+VGJ+r5peDX7UdiNgUabAZzvhrfEI6tXLGtY5t0xiB/p6HjdO 0GW0RRol1WMgMkJhVV1OgONmne66ucv6S4pTzstcTb19Ku++z26JjqX2d5cqhnmybsysoq nsJF3yvCCVwAl0HtJrZrsxbFg5XyQI4yV89ePpDXdLyuZGX4Nw/8m1aX9E0FSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh43m7SzjCq; Thu, 26 Jan 2023 20:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRGt6064946; Thu, 26 Jan 2023 20:27:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRGY2064945; Thu, 26 Jan 2023 20:27:16 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:16 GMT Message-Id: <202301262027.30QKRGY2064945@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: f995c129a527 - stable/13 - bhyve: Fix sign compare warnings in the NVMe device model. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f995c129a52788c97fb1caa02fc0bd53c31ef3d4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f995c129a52788c97fb1caa02fc0bd53c31ef3d4 commit f995c129a52788c97fb1caa02fc0bd53c31ef3d4 Author: John Baldwin AuthorDate: 2022-11-29 01:09:44 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:24:04 +0000 bhyve: Fix sign compare warnings in the NVMe device model. Reviewed by: corvink Differential Revision: https://reviews.freebsd.org/D37489 (cherry picked from commit 15cebe3d637f70abd1ee95e2745d6676d9b1e7dd) --- usr.sbin/bhyve/pci_nvme.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index edbac73c7ed5..a66b0abc2cc2 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -798,7 +798,7 @@ pci_nvme_aer_limit_reached(struct pci_nvme_softc *sc) struct nvme_controller_data *cd = &sc->ctrldata; /* AERL is a zero based value while aer_count is one's based */ - return (sc->aer_count == (cd->aerl + 1)); + return (sc->aer_count == (cd->aerl + 1U)); } /* @@ -3243,7 +3243,7 @@ pci_nvme_parse_config(struct pci_nvme_softc *sc, nvlist_t *nvl) else if (sc->nvstore.type != NVME_STOR_RAM) sc->nvstore.sectsz = blockif_sectsz(sc->nvstore.ctx); for (sc->nvstore.sectsz_bits = 9; - (1 << sc->nvstore.sectsz_bits) < sc->nvstore.sectsz; + (1U << sc->nvstore.sectsz_bits) < sc->nvstore.sectsz; sc->nvstore.sectsz_bits++); if (sc->max_queues <= 0 || sc->max_queues > NVME_QUEUES) From nobody Thu Jan 26 20:27:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh61j7Vz3btFR; Thu, 26 Jan 2023 20:27: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 4P2sh55CClz3RHc; Thu, 26 Jan 2023 20: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=1674764837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4Ex90ImGawGQoYxKlm0+0j3QS4k71rJg+M/Oy3egtA=; b=FxDqIbrq70Bz28eAiSxgYNRdnWR1pJzJnJBv/yuFGVUaRkn3A3jR6S87oKsdFM7F0gPghx CL8aJWdsH350u1JMkBZozBcp07ihl8AuueOEXnRPW+aEaz6YShEsTK8DeCnbBn7aFmj+uC Vjm6KI855WxSl4OzuUDLPlqR27hIDAJ9yqXn/EnLFU/sdGTLgQdWvaRaDSIK6SWnwIHnQ8 uDuotT9wRAL/fRvzJpC05xnZMazi4/eLEC+Jotk80SKs8vVMoRRECtcc09pMPoQcOpAzK2 1UVxKiS07uAK9qGT2QV2668s6TNaohM+rEJF614wj+6KrkACQ1aFPCSj8OHdqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4Ex90ImGawGQoYxKlm0+0j3QS4k71rJg+M/Oy3egtA=; b=FU27fBg/AhhQBdzlcmk408SkKeFCK3Jr0MH5CedLx0IJg9/xOmfCslCYZk8ACRVY6flBGZ ttHw3EMtPM4ulB9NMG9niYWUHpiWl1pBM/DZ8Btetxamo2sDV+ZpP8jUNw7rzwp4G0QFpe FDtv9/DW7HuIk5eYKgwaBt6H5wYVinXSH1iTga8pV/5k/aroEm1Hmy2NO05vn+cY263F8E D9zRzmYuNpqCS/H7J1k19sdw3T3ailLR9Gw4N5P7gSXPigZtZwtB3g6YZJ2rwdgl+AOemp bszAhdV20L3hHNTKbUx67LuypymIJRWct69Wmxz3bzPIpFEMq5K0l1hi1w55uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764837; a=rsa-sha256; cv=none; b=gGFLdGBJoLVJf00WeFUilvJBqDcm/05vefxV53Hjnm+aBCxZHsiSbSXwC3RpGyEkepz2Lp Reoi9PKQu+PHuJ/+8b4XPS7cq3GA3KnLNYyEYMxe1OgGixiZOmaqM9rtdp0yMIJAeB09m1 jqlbgAPfsPXzase7N1FFpJ3+/Ol4OPFmyDtpTbNEz4vkL+GmUeiIX8EEAAhVK7jkHXYzdG R+CZFVDX3okToSvL3aawv+IxoXeiQ52Fhsd5tlgaRJ7xpb/UgbN+Xb/qh90ZGbw9z+3Qaf k2dm7tVuu+l6HxoMzyRed++H/BLVcc1cZFIpTEmfJnVGj1tu9C1+FVEBxe85RQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh54KFwzjgW; Thu, 26 Jan 2023 20:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRHnl064976; Thu, 26 Jan 2023 20:27:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRHmK064975; Thu, 26 Jan 2023 20:27:17 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:17 GMT Message-Id: <202301262027.30QKRHmK064975@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: cee36581281d - stable/13 - bhyve: Appease warning about a potentially unaligned pointer. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cee36581281d4b3ce67e14dd16178d9543b5b64f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cee36581281d4b3ce67e14dd16178d9543b5b64f commit cee36581281d4b3ce67e14dd16178d9543b5b64f Author: John Baldwin AuthorDate: 2022-11-29 01:10:07 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:24:09 +0000 bhyve: Appease warning about a potentially unaligned pointer. When initializing the device model for a PCI pass through device that uses MSI-X, bhyve reads the MSI-X capability from the real device to save a copy in the emulated PCI config space. It also saves a copy in a local struct msixcap on the stack. Since struct msixcap is packed, GCC complains that casting a pointer to the struct to a uint32_t pointer may result in an unaligned pointer. This path is not performance critical, so to appease the compiler, simply change the pointer to a char * and use memcpy to copy the 4 bytes read in each iteration of the loop. Reviewed by: corvink, bz, markj Differential Revision: https://reviews.freebsd.org/D37490 (cherry picked from commit 32b21dd2719f87811b66deeeb513acf7067f8fac) --- usr.sbin/bhyve/pci_passthru.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 049b49b67c60..285874f3925d 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -212,7 +212,7 @@ cfginitmsi(struct passthru_softc *sc) struct pcisel sel; struct pci_devinst *pi; struct msixcap msixcap; - uint32_t *msixcap_ptr; + char *msixcap_ptr; pi = sc->psc_pi; sel = sc->psc_sel; @@ -249,15 +249,15 @@ cfginitmsi(struct passthru_softc *sc) */ sc->psc_msix.capoff = ptr; caplen = 12; - msixcap_ptr = (uint32_t*) &msixcap; + msixcap_ptr = (char *)&msixcap; capptr = ptr; while (caplen > 0) { u32 = read_config(&sel, capptr, 4); - *msixcap_ptr = u32; + memcpy(msixcap_ptr, &u32, 4); pci_set_cfgdata32(pi, capptr, u32); caplen -= 4; capptr += 4; - msixcap_ptr++; + msixcap_ptr += 4; } } ptr = read_config(&sel, ptr + PCICAP_NEXTPTR, 1); From nobody Thu Jan 26 20:27:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2sh70119z3btKq; Thu, 26 Jan 2023 20: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 4P2sh65yRQz3RLG; Thu, 26 Jan 2023 20: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=1674764838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hDFFmp/1G3at1DS4B4ekwu4FIW9NB+2Y2MZLF0LJY3c=; b=BfORg7mVl+R9MDtButrSrtafzUOW2WlvbL/A7WWoiDNMMttKm9tkU4sr82yvvC9Hq7n6A7 61XsZPIBG1p2tjfzgDW2eAEicSsSUDcsu65OLr1olfqteEuAznE+kguKkc3iKx34quqCG5 PGr62REKlYt5T7TmbFv/7Qa/w8Mujlcytu8M3w+kGHQweeHMYSAqvW6vCmbH62VwU70XmK 5BUGkMRKPxo/t+K3cMlmbndzRFzH7eu1abGAOCemVMbaX543069ABwwIedxjBDC4JFFc3r o214HkeORIDeJX/sT2ygWegdEbHq4fbnMJpZ5Uy9iaeEdJ7UvdI3JRY235/HZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674764838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hDFFmp/1G3at1DS4B4ekwu4FIW9NB+2Y2MZLF0LJY3c=; b=Zl5Vo/avfOGf4qElzAVtvfBnQS7O1U9SyrrGdaUiVTq0PHrcwhXSl65EexIzajIKqBomNf V0Sb9ufabdOOxSKEZFmgAXe19CkXfTa995FrVN3Ok5S1MmG/RciojIs2iRhUsnNsRCJyEa 8y6cqVpngk3HlAGrmcW7SJUBEx/NKOY0SyS64lRO1NlsEacfWM5NLD1s7qF5npx29qUEmX O3DcavWlLyJGSkQS/p4WBmQjha76Ocp5pPaek44LMjCC2ebuycv6gm9gK31a5z/BuSPRp+ v9eGH44jPjBZuSE83rB3QnlYrMugMnB3vBU2ME5DqkcAIdTFe8yvTXJh+fOcyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674764838; a=rsa-sha256; cv=none; b=lVh1Hz2w8EQ5AcfsJC/ylkQUXYyp0eD7zqnN/5CZ/eDtIrR2M5+7lgZ4HTTMqbOsay588J BMzypWGPYbvbh04NKoqj3XlAU1+jtTgcC095PetKXz00joeiY7vKQRoA+xs78xb/fgzPnx MPVmy1+sojknQSPjVtG0C7XrHZitvZEqjTJfXEFoe8gl0TQN4eYWume515b3zYspuvLacu qqjZOu2tM8r2sAFxig332mZiJcdZabvj+rPHS+jKvCDSKT7S8cdk/+mKQQifw9A328K+hd aK6QyDUYrhwMvYOvdZAyZJ5gU/ruunn9SBFjvvlj7PpWxfCNuGL1j3SHmsPmkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2sh653cCzjgX; Thu, 26 Jan 2023 20:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QKRIe7065002; Thu, 26 Jan 2023 20:27:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QKRI0I065001; Thu, 26 Jan 2023 20:27:18 GMT (envelope-from git) Date: Thu, 26 Jan 2023 20:27:18 GMT Message-Id: <202301262027.30QKRI0I065001@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 225443828ec6 - stable/13 - bhyve: Avoid passing a possible garbage pointer to free(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 225443828ec69c7013666bf98a785bbf8b1036c2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=225443828ec69c7013666bf98a785bbf8b1036c2 commit 225443828ec69c7013666bf98a785bbf8b1036c2 Author: John Baldwin AuthorDate: 2022-11-29 01:10:30 +0000 Commit: John Baldwin CommitDate: 2023-01-26 20:24:14 +0000 bhyve: Avoid passing a possible garbage pointer to free(). All of the error paths in pci_vtcon_sock_add free the sock pointer. However, sock is not initialized until part way through the function. An early error would pass stack garbage to free(). Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37491 (cherry picked from commit bc928800723b65daa9b005bec4ffd8ad8c781a09) --- usr.sbin/bhyve/pci_virtio_console.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_virtio_console.c b/usr.sbin/bhyve/pci_virtio_console.c index 44d0da720226..46005d155f49 100644 --- a/usr.sbin/bhyve/pci_virtio_console.c +++ b/usr.sbin/bhyve/pci_virtio_console.c @@ -273,7 +273,7 @@ static int pci_vtcon_sock_add(struct pci_vtcon_softc *sc, const char *port_name, const nvlist_t *nvl) { - struct pci_vtcon_sock *sock; + struct pci_vtcon_sock *sock = NULL; struct sockaddr_un sun; const char *name, *path; char *cp, *pathcopy; From nobody Thu Jan 26 22:11:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0R2LhKz3c7xn; Thu, 26 Jan 2023 22:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w0R1p11z3tgs; Thu, 26 Jan 2023 22:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d1T21tW/+UrcQXx+T5/8VkmhbH2K6B8U4M8NZnWiq+I=; b=pC3W5exzY2zJfYFqLC/lTlK/B9dxGL08qoR2XYA8kcVmo6OoYW3+s/+oJRAc5kO2mzWduJ oRGY0g1asLAAZUUjirQ34GK9eB/d9Re9gBBavjMJCEW5e50gyXUVzgqV03pA8mJYEgPyIw xCHdrFnVuXi+hoNEuPO0fKyGz7bYK4mhVAcaLaqdt/j5gEuQfEegPaVSpUjAxQaiHD/KnM XHDoUN99qzTyYHPskD9RNqnfNtEpBQIBtmZ3BovM69eAGg/JHqGEOpAvvghgcPl8fDQ6RY +zdff99y7z5W1TGiglXy/92YF21hsLUiYf5n1hj6d7UoINqxs+PP3JQHJdA/vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d1T21tW/+UrcQXx+T5/8VkmhbH2K6B8U4M8NZnWiq+I=; b=vs8xCuHgYwfTc9IxW4FBH5fjPTwxlhiZD5yI9T73KfNIfZE5QhXlCZ5Wdzt5Jm0cF5FGiK ncUaz4TIfcqY1PBDUOdUJiHSy46Z5UShVUqQiKpQ056IFjNeVmWocVTan/i1fIUQcfAXLp Mi/+Mp9Yk1tJ/Ig1SECiUC7h3JNTb5FPFWHykRYnMEL3ZIPZn7egVl+7RYRpDg/3DiB6iD 7C7gh7yNU+VQIDa5JMpS54sab885kZ/Mk8ehTuSHEb1XfLjEiWsc0fSXyZKbXs/LQ6h+1C 06ffrXNWcrwoYK9HdmLhG16kYb6JT7+ucWsHA7b2uyw7MCgUY0oAkgkMT8sPTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771095; a=rsa-sha256; cv=none; b=QqPxXNBM9AYxkPku4O5j8xAeablHDqIcSvoBUuR+1T/MANq/8CyYODF6r6P0QxfzosqLd4 55fGlTvislWlBFE7GeU3rYPAzfjNY0zMApfYOeKv8wf6/GCYe3ae+MYsNdy/lpyl1x86eJ HBjeb7c0I4U4d1NFTbBJaE8XRPjD4PKE6r5fG+uJLkecIxPxsYY4o1VsYa+UVFotIQ+KUD WwxAFDNtKQjG/RYRZz7UHFg7qFJUDb29Q5cqd7JZ+mxwzjciHCqiEIFUrd7KM23SEno/8y wJ9suvFRybIg1WArNdzd4ka6CCKDGRaLiRokGehZd2fgdgpIs9iyRUPlX8HUuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0R0sFJzlX0; Thu, 26 Jan 2023 22:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBZt2018451; Thu, 26 Jan 2023 22:11:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBZp8018450; Thu, 26 Jan 2023 22:11:35 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:35 GMT Message-Id: <202301262211.30QMBZp8018450@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a8ffb1a17ce3 - stable/13 - vmm: Simplify saving of absolute TSC values in snapshots. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a8ffb1a17ce31c0ec60ec220f79e4eaeefe99aaa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a8ffb1a17ce31c0ec60ec220f79e4eaeefe99aaa commit a8ffb1a17ce31c0ec60ec220f79e4eaeefe99aaa Author: John Baldwin AuthorDate: 2022-11-18 17:57:29 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:43:22 +0000 vmm: Simplify saving of absolute TSC values in snapshots. Read the current "now" TSC value and use it to compute absolute time saved value in vm_snapshot_vcpus rather than iterating over vCPUs multiple times in vm_snapshot_vm. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37146 (cherry picked from commit a7db532e3a6f83067b342f569b56076d011f8a1e) --- sys/amd64/vmm/vmm.c | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 90edfbe7673c..3ec34a1f3336 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -2802,10 +2802,12 @@ VMM_STAT_FUNC(VMM_MEM_WIRED, "Wired memory", vm_get_wiredcnt); static int vm_snapshot_vcpus(struct vm *vm, struct vm_snapshot_meta *meta) { + uint64_t tsc, now; int ret; int i; struct vcpu *vcpu; + now = rdtsc(); for (i = 0; i < VM_MAXCPU; i++) { vcpu = &vm->vcpu[i]; @@ -2817,13 +2819,15 @@ vm_snapshot_vcpus(struct vm *vm, struct vm_snapshot_meta *meta) SNAPSHOT_VAR_OR_LEAVE(vcpu->guest_xcr0, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vcpu->exitinfo, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vcpu->nextrip, meta, ret, done); - /* XXX we're cheating here, since the value of tsc_offset as - * saved here is actually the value of the guest's TSC value. + + /* + * Save the absolute TSC value by adding now to tsc_offset. * * It will be turned turned back into an actual offset when the * TSC restore function is called */ - SNAPSHOT_VAR_OR_LEAVE(vcpu->tsc_offset, meta, ret, done); + tsc = now + vcpu->tsc_offset; + SNAPSHOT_VAR_OR_LEAVE(tsc, meta, ret, done); } done: @@ -2834,33 +2838,10 @@ static int vm_snapshot_vm(struct vm *vm, struct vm_snapshot_meta *meta) { int ret; - int i; - uint64_t now; - - ret = 0; - now = rdtsc(); - - if (meta->op == VM_SNAPSHOT_SAVE) { - /* XXX make tsc_offset take the value TSC proper as seen by the - * guest - */ - for (i = 0; i < VM_MAXCPU; i++) - vm->vcpu[i].tsc_offset += now; - } ret = vm_snapshot_vcpus(vm, meta); - if (ret != 0) { - printf("%s: failed to copy vm data to user buffer", __func__); + if (ret != 0) goto done; - } - - if (meta->op == VM_SNAPSHOT_SAVE) { - /* XXX turn tsc_offset back into an offset; actual value is only - * required for restore; using it otherwise would be wrong - */ - for (i = 0; i < VM_MAXCPU; i++) - vm->vcpu[i].tsc_offset -= now; - } done: return (ret); From nobody Thu Jan 26 22:11:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0S40ycz3c85v; Thu, 26 Jan 2023 22:11: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 4P2w0S3C4sz3tfl; Thu, 26 Jan 2023 22:11:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RR4oSIT5rpa1nodk8FKbfgqTvzv5+Dt77g1qUb189XU=; b=Iz/+jBvvh1CCcODE8KkTGfYcRT+MqPlgU7HqAYflqkS6SwvaXvUybJHMC0Cc2BtMShLJ7u DuUEn5iEIm8K5SUFC6UQfv+bkrbp6V1Uur4FT5ebqO+Z3IRLvrgQq73DMuAVtooQCogX72 FFrncwfGrRyZ22t1hi/fT/eU9qZAxmQg7v6UepHWf2Xdmi6fTry3FrApHJQyNlz/U6UASz VoQYyzKqWb24+5JtHUhTyKQ/3YQLQaTd05uVwR2hq54RIk+5+4llMX29EbrOWwLA6tiet4 OG5QajQ6GDstC4hpYbZdKZj1ugG1cqRiHr4iMnHEInlswEyq3EyDXMsjZB4s8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RR4oSIT5rpa1nodk8FKbfgqTvzv5+Dt77g1qUb189XU=; b=SZYVOxPdNKRwkE3psHuu4QIGKXQ40jyfhQ+GtCC5VpWzR8hu0jctLqOv3BS0zVbBV4dvL5 6KzNE7oM0DLba/f9++luBjYkWf/t4xZAZ9QW6CqcBR0zQkqNCMclRR5uJM3DiZx75o61XC I+iwyjpwuyvk60IpNITHr9zL0Bx6LeeWYOQ5Rh2VRn9Ls2AlrpRlUHMuXQ2J3Mqf+1x+L8 5aiDvGOSj9KNu+3HXXD454Vr9mg2WS/W/UvvOB+x0sA7gbVxX37IquEDTTHITu6QjNDhPG Waq003EJ49cFEwM6AnwDikUcZUADDT7qkyBbL8ScgirWfM9LHemGGQUljXNmcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771096; a=rsa-sha256; cv=none; b=eCEi2QS9LLriecFZXzO8Y/YujjtallsA1MOchxwuS35x4NqAqMo89iRy+nMeq7v9e62/lc pX4BWnBl4YDaRMwmfxXPtOwxqxb+/vnLL3lWvH+9OYUSvkPC3gqaV7S6FiGTv1luSWbddo NZnS21neifLP/bhBr6NObfPG3P5uTOKsgD57VOaLsleB5Dr5zqQUrHg6RembecuefzNLPl u1cpXZqSjXH6jKh8LahidyNn0qDdsQbNGtOSP1zQjaOkxlUDfO9JVt+qpBpwsIkbV4j1Iq iam99A5EyLA84YohbdGx9/PqM4mOdLaZ3AFlEJ7Og4cZi+1ArDzUGVv5wymx7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0S1rPHzm4b; Thu, 26 Jan 2023 22:11:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBaYm018481; Thu, 26 Jan 2023 22:11:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBanV018480; Thu, 26 Jan 2023 22:11:36 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:36 GMT Message-Id: <202301262211.30QMBanV018480@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 80cce0a3610b - stable/13 - vmm: Use vm_get_maxcpus() instead of VM_MAXCPU in various places. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 80cce0a3610b8dd3a85a8d6d71e5d8f4025e3b29 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=80cce0a3610b8dd3a85a8d6d71e5d8f4025e3b29 commit 80cce0a3610b8dd3a85a8d6d71e5d8f4025e3b29 Author: John Baldwin AuthorDate: 2022-11-18 17:57:38 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:43:33 +0000 vmm: Use vm_get_maxcpus() instead of VM_MAXCPU in various places. Mostly these are loops that iterate over all possible vCPU IDs for a specific virtual machine. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37147 (cherry picked from commit 35abc6c238e98e313c5b1cb5ed18b8ed68615abc) --- sys/amd64/vmm/amd/svm.c | 5 +++-- sys/amd64/vmm/amd/vmcb.c | 4 ++-- sys/amd64/vmm/intel/vmx.c | 12 ++++++------ sys/amd64/vmm/io/vlapic.c | 6 ++++-- sys/amd64/vmm/vmm.c | 19 ++++++++++++------- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 4195cc5bd049..1a7990383b09 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -2422,14 +2422,15 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) /* struct svm_softc is AMD's representation for SVM softc */ struct svm_softc *sc; struct svm_vcpu *vcpu; - int i; int ret; + uint16_t i, maxcpus; sc = arg; KASSERT(sc != NULL, ("%s: arg was NULL", __func__)); - for (i = 0; i < VM_MAXCPU; i++) { + maxcpus = vm_get_maxcpus(sc->vm); + for (i = 0; i < maxcpus; i++) { vcpu = &sc->vcpu[i]; /* Snapshot swctx for virtual cpu i */ diff --git a/sys/amd64/vmm/amd/vmcb.c b/sys/amd64/vmm/amd/vmcb.c index 0341e4e6c07c..69fe853ca843 100644 --- a/sys/amd64/vmm/amd/vmcb.c +++ b/sys/amd64/vmm/amd/vmcb.c @@ -463,7 +463,7 @@ vmcb_getany(struct svm_softc *sc, int vcpu, int ident, uint64_t *val) { int error = 0; - if (vcpu < 0 || vcpu >= VM_MAXCPU) { + if (vcpu < 0 || vcpu >= vm_get_maxcpus(sc->vm)) { error = EINVAL; goto err; } @@ -484,7 +484,7 @@ vmcb_setany(struct svm_softc *sc, int vcpu, int ident, uint64_t val) { int error = 0; - if (vcpu < 0 || vcpu >= VM_MAXCPU) { + if (vcpu < 0 || vcpu >= vm_get_maxcpus(sc->vm)) { error = EINVAL; goto err; } diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 857028dcd0f1..104df77b351c 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1029,12 +1029,12 @@ vmx_setup_cr_shadow(int which, struct vmcs *vmcs, uint32_t initial) static void * vmx_init(struct vm *vm, pmap_t pmap) { - uint16_t vpid[VM_MAXCPU]; int i, error; struct vmx *vmx; struct vmcs *vmcs; uint32_t exc_bitmap; - uint16_t maxcpus; + uint16_t maxcpus = vm_get_maxcpus(vm); + uint16_t vpid[maxcpus]; vmx = malloc(sizeof(struct vmx), M_VMX, M_WAITOK | M_ZERO); if ((uintptr_t)vmx & PAGE_MASK) { @@ -1097,7 +1097,7 @@ vmx_init(struct vm *vm, pmap_t pmap) ((cap_rdpid || cap_rdtscp) && guest_msr_ro(vmx, MSR_TSC_AUX))) panic("vmx_init: error setting guest msr access"); - vpid_alloc(vpid, VM_MAXCPU); + vpid_alloc(vpid, maxcpus); if (virtual_interrupt_delivery) { error = vm_map_mmio(vm, DEFAULT_APIC_BASE, PAGE_SIZE, @@ -1106,7 +1106,6 @@ vmx_init(struct vm *vm, pmap_t pmap) KASSERT(error == 0, ("vm_map_mmio(apicbase) error %d", error)); } - maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { vmcs = &vmx->vmcs[i]; vmcs->identifier = vmx_revision(); @@ -4074,14 +4073,15 @@ vmx_snapshot(void *arg, struct vm_snapshot_meta *meta) { struct vmx *vmx; struct vmxctx *vmxctx; - int i; int ret; + uint16_t i, maxcpus; vmx = arg; KASSERT(vmx != NULL, ("%s: arg was NULL", __func__)); - for (i = 0; i < VM_MAXCPU; i++) { + maxcpus = vm_get_maxcpus(vmx->vm); + for (i = 0; i < maxcpus; i++) { SNAPSHOT_BUF_OR_LEAVE(vmx->guest_msrs[i], sizeof(vmx->guest_msrs[i]), meta, ret, done); diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 0e1fb1bbf006..76e3cd14a8f5 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1857,16 +1857,18 @@ vlapic_reset_callout(struct vlapic *vlapic, uint32_t ccr) int vlapic_snapshot(struct vm *vm, struct vm_snapshot_meta *meta) { - int i, ret; + int ret; struct vlapic *vlapic; struct LAPIC *lapic; uint32_t ccr; + uint16_t i, maxcpus; KASSERT(vm != NULL, ("%s: arg was NULL", __func__)); ret = 0; - for (i = 0; i < VM_MAXCPU; i++) { + maxcpus = vm_get_maxcpus(vm); + for (i = 0; i < maxcpus; i++) { vlapic = vm_lapic(vm, i); /* snapshot the page first; timer period depends on icr_timer */ diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 3ec34a1f3336..9b285df04092 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -2804,11 +2804,12 @@ vm_snapshot_vcpus(struct vm *vm, struct vm_snapshot_meta *meta) { uint64_t tsc, now; int ret; - int i; struct vcpu *vcpu; + uint16_t i, maxcpus; now = rdtsc(); - for (i = 0; i < VM_MAXCPU; i++) { + maxcpus = vm_get_maxcpus(vm); + for (i = 0; i < maxcpus; i++) { vcpu = &vm->vcpu[i]; SNAPSHOT_VAR_OR_LEAVE(vcpu->x2apic_state, meta, ret, done); @@ -2850,11 +2851,13 @@ done: static int vm_snapshot_vmcx(struct vm *vm, struct vm_snapshot_meta *meta) { - int i, error; + int error; + uint16_t i, maxcpus; error = 0; - for (i = 0; i < VM_MAXCPU; i++) { + maxcpus = vm_get_maxcpus(vm); + for (i = 0; i < maxcpus; i++) { error = vmmops_vmcx_snapshot(vm->cookie, meta, i); if (error != 0) { printf("%s: failed to snapshot vmcs/vmcb data for " @@ -2919,7 +2922,7 @@ vm_set_tsc_offset(struct vm *vm, int vcpuid, uint64_t offset) { struct vcpu *vcpu; - if (vcpuid < 0 || vcpuid >= VM_MAXCPU) + if (vcpuid < 0 || vcpuid >= vm_get_maxcpus(vm)) return (EINVAL); vcpu = &vm->vcpu[vcpuid]; @@ -2931,9 +2934,10 @@ vm_set_tsc_offset(struct vm *vm, int vcpuid, uint64_t offset) int vm_restore_time(struct vm *vm) { - int error, i; + int error; uint64_t now; struct vcpu *vcpu; + uint16_t i, maxcpus; now = rdtsc(); @@ -2941,7 +2945,8 @@ vm_restore_time(struct vm *vm) if (error) return (error); - for (i = 0; i < nitems(vm->vcpu); i++) { + maxcpus = vm_get_maxcpus(vm); + for (i = 0; i < maxcpus; i++) { vcpu = &vm->vcpu[i]; error = vmmops_restore_tsc(vm->cookie, i, vcpu->tsc_offset - From nobody Thu Jan 26 22:11:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0T3rR7z3c83Z; Thu, 26 Jan 2023 22:11: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 4P2w0T3NYqz3tqn; Thu, 26 Jan 2023 22:11:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WdxDGpyznFLpUXT6lBBS+z+Ll9g5CkRO7ehv6Y2ThBg=; b=jFFsoYLJjUn74FfHQGWmhnh0WKCHnkQHKOQNe4aOTM6vrN0qGHy0rSnWBE/lNRDnJF7tQJ CJfDeJOZw8VR2bFblNGRVocGIwIMPcu39Yp1DW0hB75+0xVZraGvfYT/Zdc96oxcX0bdez Aal2oe7+0R4q066M/yVt2Jll0l6FD5b4bGgMk3XMF6oXmrRZVr5YoDcfd6oTQtNSy2lfHF qOwZGtG9BvLNcFoRMN1+963/J2ITXb0V+7zfHtpb7Mv4r2gnIHXlee/Rs9C5+RFX1X1BT6 NDisYcOv6LbugR4UfQyTSXDB/s7zvoYOoeoIB+VrIpdCs0EfU0LjbMj+nH8FJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WdxDGpyznFLpUXT6lBBS+z+Ll9g5CkRO7ehv6Y2ThBg=; b=FH4Zt7PCRKaDRMKg3H7zZ5lIXcr6xDxzduwzDlLq7/jj9aRff3iJFiAQ11+mDOvrGviXv2 ztr2CLB94Yg7cyAEuXnfWpmtCTRWqzeRxz/4PHTLD6QaLh07jDy+U6cNOATqUEU/r2O87k SnkimNF4PTQUjs7Js72ikKWlxpwrJkE2Mm50lrbJ08iZMq92CDc7QtRIUrReT0Lw+Lr/hI q/PyVzxEAQAFp4bgZLd6H4nsav+X8F+TsVCWF/6B0RDM9iRs/DpxnhEXLsjeBkpyDbMAAk Ei7lgrnpGjn4xDMYp6YZx9Ic9QqU/Fnjuc65vgtmpbChyiUHN19wGiuC/lViFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771097; a=rsa-sha256; cv=none; b=UlU1WGATK4C7rzGvEVlHIa1qxlgv2XL9F6ruI6QRy6w9IeMxt5yRG2ov5h4E0EgcZOM3mA 0rbVZoKdHeEJezMm+MvGOUu8zYMTVaUuuWUU24wARbj24QzhqqQXy93ADSPkKhcCj3XD7X 9I5ntqXoXDx9H3cL9GdJOUV/L7c2QRtVS0K9oRvdIumSTEvo2y8RnTkadbR6AUYCbgw+Oe HV0v8FSGpfMbGSaubqW1AYVR1I374fdTz+4gzJivw3zij/YQC1v1l01CjR+goF/1wsBSim rbfMx6/Eu3OPga0+e/TuoJ9nkWRYoXYMD8wSNEzmKcCBiNPECycTgvT0y++aag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0T2SmhzlVF; Thu, 26 Jan 2023 22:11:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBbcV018505; Thu, 26 Jan 2023 22:11:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBbvj018504; Thu, 26 Jan 2023 22:11:37 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:37 GMT Message-Id: <202301262211.30QMBbvj018504@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 5cf42db0f6b4 - stable/13 - vmm svm: Refactor per-vCPU data. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5cf42db0f6b4d2fb4c581934b9eee643b6a5b698 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5cf42db0f6b4d2fb4c581934b9eee643b6a5b698 commit 5cf42db0f6b4d2fb4c581934b9eee643b6a5b698 Author: John Baldwin AuthorDate: 2022-11-18 17:57:48 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:43:44 +0000 vmm svm: Refactor per-vCPU data. - Allocate VMCBs separately to avoid excessive padding in struct svm_vcpu. - Allocate APIC pages dynamically directly in struct vlapic. - Move vm_mtrr into struct svm_vcpu rather than using a separate parallel array. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37148 (cherry picked from commit 215d2fd53f6c254cb900e1775abae86d3fdada65) --- sys/amd64/vmm/amd/svm.c | 17 +++++++++++++---- sys/amd64/vmm/amd/svm_msr.c | 4 ++-- sys/amd64/vmm/amd/svm_softc.h | 19 ++++++------------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 1a7990383b09..0db1e45594fa 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -565,8 +565,6 @@ svm_init(struct vm *vm, pmap_t pmap) uint16_t maxcpus; svm_sc = malloc(sizeof (*svm_sc), M_SVM, M_WAITOK | M_ZERO); - if (((uintptr_t)svm_sc & PAGE_MASK) != 0) - panic("malloc of svm_softc not aligned on page boundary"); svm_sc->msr_bitmap = contigmalloc(SVM_MSR_BITMAP_SIZE, M_SVM, M_WAITOK, 0, ~(vm_paddr_t)0, PAGE_SIZE, 0); @@ -619,9 +617,11 @@ svm_init(struct vm *vm, pmap_t pmap) maxcpus = vm_get_maxcpus(svm_sc->vm); for (i = 0; i < maxcpus; i++) { vcpu = svm_get_vcpu(svm_sc, i); + vcpu->vmcb = malloc_aligned(sizeof(struct vmcb), PAGE_SIZE, + M_SVM, M_WAITOK | M_ZERO); vcpu->nextrip = ~0; vcpu->lastcpu = NOCPU; - vcpu->vmcb_pa = vtophys(&vcpu->vmcb); + vcpu->vmcb_pa = vtophys(vcpu->vmcb); vmcb_init(svm_sc, i, iopm_pa, msrpm_pa, pml4_pa); svm_msr_guest_init(svm_sc, i); } @@ -2149,7 +2149,14 @@ static void svm_cleanup(void *arg) { struct svm_softc *sc = arg; + struct svm_vcpu *vcpu; + uint16_t i, maxcpus; + maxcpus = vm_get_maxcpus(sc->vm); + for (i = 0; i < maxcpus; i++) { + vcpu = svm_get_vcpu(sc, i); + free(vcpu->vmcb, M_SVM); + } contigfree(sc->iopm_bitmap, SVM_IO_BITMAP_SIZE, M_SVM); contigfree(sc->msr_bitmap, SVM_MSR_BITMAP_SIZE, M_SVM); free(sc, M_SVM); @@ -2400,7 +2407,8 @@ svm_vlapic_init(void *arg, int vcpuid) vlapic = malloc(sizeof(struct vlapic), M_SVM_VLAPIC, M_WAITOK | M_ZERO); vlapic->vm = svm_sc->vm; vlapic->vcpuid = vcpuid; - vlapic->apic_page = (struct LAPIC *)&svm_sc->apic_page[vcpuid]; + vlapic->apic_page = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_SVM_VLAPIC, + M_WAITOK | M_ZERO); vlapic_init(vlapic); @@ -2412,6 +2420,7 @@ svm_vlapic_cleanup(void *arg, struct vlapic *vlapic) { vlapic_cleanup(vlapic); + free(vlapic->apic_page, M_SVM_VLAPIC); free(vlapic, M_SVM_VLAPIC); } diff --git a/sys/amd64/vmm/amd/svm_msr.c b/sys/amd64/vmm/amd/svm_msr.c index 1a22f16cf48e..f0cea633a0cf 100644 --- a/sys/amd64/vmm/amd/svm_msr.c +++ b/sys/amd64/vmm/amd/svm_msr.c @@ -124,7 +124,7 @@ svm_rdmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t *result, case MSR_MTRR16kBase ... MSR_MTRR16kBase + 1: case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: - if (vm_rdmtrr(&sc->mtrr[vcpu], num, result) != 0) { + if (vm_rdmtrr(&sc->vcpu[vcpu].mtrr, num, result) != 0) { vm_inject_gp(sc->vm, vcpu); } break; @@ -156,7 +156,7 @@ svm_wrmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t val, bool *retu) case MSR_MTRR16kBase ... MSR_MTRR16kBase + 1: case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: - if (vm_wrmtrr(&sc->mtrr[vcpu], num, val) != 0) { + if (vm_wrmtrr(&sc->vcpu[vcpu].mtrr, num, val) != 0) { vm_inject_gp(sc->vm, vcpu); } break; diff --git a/sys/amd64/vmm/amd/svm_softc.h b/sys/amd64/vmm/amd/svm_softc.h index 5f6a267617d2..b9e53ac9d4a0 100644 --- a/sys/amd64/vmm/amd/svm_softc.h +++ b/sys/amd64/vmm/amd/svm_softc.h @@ -41,12 +41,8 @@ struct asid { uint32_t num; /* range is [1, nasid - 1] */ }; -/* - * XXX separate out 'struct vmcb' from 'svm_vcpu' to avoid wasting space - * due to VMCB alignment requirements. - */ struct svm_vcpu { - struct vmcb vmcb; /* hardware saved vcpu context */ + struct vmcb *vmcb; /* hardware saved vcpu context */ struct svm_regctx swctx; /* software saved vcpu context */ uint64_t vmcb_pa; /* VMCB physical address */ uint64_t nextrip; /* next instruction to be executed by guest */ @@ -54,23 +50,20 @@ struct svm_vcpu { uint32_t dirty; /* state cache bits that must be cleared */ long eptgen; /* pmap->pm_eptgen when the vcpu last ran */ struct asid asid; -} __aligned(PAGE_SIZE); + struct vm_mtrr mtrr; +}; /* * SVM softc, one per virtual machine. */ struct svm_softc { - uint8_t apic_page[VM_MAXCPU][PAGE_SIZE]; struct svm_vcpu vcpu[VM_MAXCPU]; vm_offset_t nptp; /* nested page table */ uint8_t *iopm_bitmap; /* shared by all vcpus */ uint8_t *msr_bitmap; /* shared by all vcpus */ struct vm *vm; - struct vm_mtrr mtrr[VM_MAXCPU]; }; -CTASSERT((offsetof(struct svm_softc, nptp) & PAGE_MASK) == 0); - static __inline struct svm_vcpu * svm_get_vcpu(struct svm_softc *sc, int vcpu) { @@ -82,21 +75,21 @@ static __inline struct vmcb * svm_get_vmcb(struct svm_softc *sc, int vcpu) { - return (&(sc->vcpu[vcpu].vmcb)); + return ((sc->vcpu[vcpu].vmcb)); } static __inline struct vmcb_state * svm_get_vmcb_state(struct svm_softc *sc, int vcpu) { - return (&(sc->vcpu[vcpu].vmcb.state)); + return (&(sc->vcpu[vcpu].vmcb->state)); } static __inline struct vmcb_ctrl * svm_get_vmcb_ctrl(struct svm_softc *sc, int vcpu) { - return (&(sc->vcpu[vcpu].vmcb.ctrl)); + return (&(sc->vcpu[vcpu].vmcb->ctrl)); } static __inline struct svm_regctx * From nobody Thu Jan 26 22:11:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0V60Nyz3c83b; Thu, 26 Jan 2023 22:11: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 4P2w0V4DNwz3td5; Thu, 26 Jan 2023 22:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEEpanV3mNRfpOBan+CQVI+Gqaiiv26FA1qdv8SC7sM=; b=ZtUwsunm7qxw48F7zDOci+jR92pwZukuY51nQj3gu2fk5/sxnC/12O2O1aT/ciCKCG9YLL jalvElxqpX5Zn1JytrLHgugpFqF9thrvhXxCQPkLEsSFyatTeLCt/E2QzX1cWd7P4Kb6t5 J9ubmlvR8u9X6d4CUwxxFSjLZXgtrZhqXKfI0gi69tj8x5Ef/ZNiAxjjqMlBCmezAP50qb tKMsQs8XOC6rQ04KzhOi4x5xEawnW9PndOI95txRys4BFXzqPMO/NNn8r6OzAVLm4vnyMI icoIislrHSZMk0zuWPdoNqToQpLt4eN0hFjshwK+kQnJtbm6ZKX7KuDks78ajw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEEpanV3mNRfpOBan+CQVI+Gqaiiv26FA1qdv8SC7sM=; b=CqEQFF6LWY6lYfJkFWXMfwIopOt4dHp9hjh1hEWO3iH0pyvPdMUxgWk0ojBEsgrQsudRyz brmsCSHyUICw0T+dSpBp1Jq30krOsy+Zy1QaBc2qNA9OBuN5JwcZRu/6pV0JSyADINEQZc BFlqDkdE53ye+W30sM0sIYgEPJa/WhB5K8lRoeth1i++uSG55+yDO1Z/6GCsaunczDElf4 ykVCG2gVRj4zfNbHWgn9prL5cuYRp8bmOVUNTkspUKnfRAraZehlygWYKwMerw8k9GStu/ v2JjivZb4EMO1iXYZOE4DU0NO+LaruMQUgWF/Er72BxepQywNlYEBDaBW8gshQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771098; a=rsa-sha256; cv=none; b=Q+OAy5096TiSvEmt43qV7pvti/Vc5nDFu36hwXB9lJkhq0gdLnPG50Kt9ds4PUaWKPUT0P 1uU4tHu92xoGW7WAbo40n60d9y7ekj+7Wb5jcr1WBRkcpZM5QiwQ7hK7Ny/hiQTy7RkBJe AwuIbXPceDjTIt5AIFbZEy/niVCqDh1HAaMwjyseo9h2vu4PujhFcq9mejk1MhUBJEheti gzx7QoCgP85ybdwzYVtNdSn5L/BqAZNtjB/+GFyTx3t7VUGkyt2yhFMdrOfDvcXJRuRE/u 6+i4O3U6ntMIyI1DpbGHBspfeBA46c0PQQX0GHU7p5tJ4+0Jimbl7ehXbCYfzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0V39lhzlgx; Thu, 26 Jan 2023 22:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBcsT018529; Thu, 26 Jan 2023 22:11:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBcB6018528; Thu, 26 Jan 2023 22:11:38 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:38 GMT Message-Id: <202301262211.30QMBcB6018528@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e30d4a6b2451 - stable/13 - vmm vmx: Refactor per-vCPU data. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e30d4a6b245120eaf08b7735cbe59ec4f0d79ba3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e30d4a6b245120eaf08b7735cbe59ec4f0d79ba3 commit e30d4a6b245120eaf08b7735cbe59ec4f0d79ba3 Author: John Baldwin AuthorDate: 2022-11-18 17:58:08 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:44:11 +0000 vmm vmx: Refactor per-vCPU data. Add a struct vmx_vcpu to hold per-vCPU data specific to VT-x and move parallel arrays out of struct vmx into a single array of this structure. While here, dynamically allocate the VMCS, APIC page and PIR descriptors for each vCPU rather than embedding them. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37149 (cherry picked from commit 0f00260c679f8d192f9d673fe4fb94b47a2ac6c5) --- sys/amd64/vmm/intel/vmx.c | 218 ++++++++++++++++++++++++------------------ sys/amd64/vmm/intel/vmx.h | 27 +++--- sys/amd64/vmm/intel/vmx_msr.c | 52 +++++----- 3 files changed, 165 insertions(+), 132 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 104df77b351c..8b71ed2e39c1 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1032,15 +1032,12 @@ vmx_init(struct vm *vm, pmap_t pmap) int i, error; struct vmx *vmx; struct vmcs *vmcs; + struct vmx_vcpu *vcpu; uint32_t exc_bitmap; uint16_t maxcpus = vm_get_maxcpus(vm); uint16_t vpid[maxcpus]; vmx = malloc(sizeof(struct vmx), M_VMX, M_WAITOK | M_ZERO); - if ((uintptr_t)vmx & PAGE_MASK) { - panic("malloc of struct vmx not aligned on %d byte boundary", - PAGE_SIZE); - } vmx->vm = vm; vmx->eptp = eptp(vtophys((vm_offset_t)pmap->pm_pmltop)); @@ -1056,6 +1053,8 @@ vmx_init(struct vm *vm, pmap_t pmap) */ ept_invalidate_mappings(vmx->eptp); + vmx->msr_bitmap = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_VMX, + M_WAITOK | M_ZERO); msr_bitmap_initialize(vmx->msr_bitmap); /* @@ -1107,7 +1106,16 @@ vmx_init(struct vm *vm, pmap_t pmap) } for (i = 0; i < maxcpus; i++) { - vmcs = &vmx->vmcs[i]; + vcpu = &vmx->vcpus[i]; + + vcpu->vmcs = malloc_aligned(sizeof(*vmcs), PAGE_SIZE, M_VMX, + M_WAITOK | M_ZERO); + vcpu->apic_page = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_VMX, + M_WAITOK | M_ZERO); + vcpu->pir_desc = malloc_aligned(sizeof(*vcpu->pir_desc), 64, + M_VMX, M_WAITOK | M_ZERO); + + vmcs = vcpu->vmcs; vmcs->identifier = vmx_revision(); error = vmclear(vmcs); if (error != 0) { @@ -1122,7 +1130,7 @@ vmx_init(struct vm *vm, pmap_t pmap) VMPTRLD(vmcs); error = 0; - error += vmwrite(VMCS_HOST_RSP, (u_long)&vmx->ctx[i]); + error += vmwrite(VMCS_HOST_RSP, (u_long)&vcpu->ctx); error += vmwrite(VMCS_EPTP, vmx->eptp); error += vmwrite(VMCS_PIN_BASED_CTLS, pinbased_ctls); error += vmwrite(VMCS_PRI_PROC_BASED_CTLS, procbased_ctls); @@ -1152,12 +1160,12 @@ vmx_init(struct vm *vm, pmap_t pmap) exc_bitmap = 1 << IDT_MC; error += vmwrite(VMCS_EXCEPTION_BITMAP, exc_bitmap); - vmx->ctx[i].guest_dr6 = DBREG_DR6_RESERVED1; + vcpu->ctx.guest_dr6 = DBREG_DR6_RESERVED1; error += vmwrite(VMCS_GUEST_DR7, DBREG_DR7_RESERVED1); if (tpr_shadowing) { error += vmwrite(VMCS_VIRTUAL_APIC, - vtophys(&vmx->apic_page[i])); + vtophys(vcpu->apic_page)); } if (virtual_interrupt_delivery) { @@ -1170,21 +1178,21 @@ vmx_init(struct vm *vm, pmap_t pmap) if (posted_interrupts) { error += vmwrite(VMCS_PIR_VECTOR, pirvec); error += vmwrite(VMCS_PIR_DESC, - vtophys(&vmx->pir_desc[i])); + vtophys(vcpu->pir_desc)); } VMCLEAR(vmcs); KASSERT(error == 0, ("vmx_init: error customizing the vmcs")); - vmx->cap[i].set = 0; - vmx->cap[i].set |= cap_rdpid != 0 ? 1 << VM_CAP_RDPID : 0; - vmx->cap[i].set |= cap_rdtscp != 0 ? 1 << VM_CAP_RDTSCP : 0; - vmx->cap[i].proc_ctls = procbased_ctls; - vmx->cap[i].proc_ctls2 = procbased_ctls2; - vmx->cap[i].exc_bitmap = exc_bitmap; + vcpu->cap.set = 0; + vcpu->cap.set |= cap_rdpid != 0 ? 1 << VM_CAP_RDPID : 0; + vcpu->cap.set |= cap_rdtscp != 0 ? 1 << VM_CAP_RDTSCP : 0; + vcpu->cap.proc_ctls = procbased_ctls; + vcpu->cap.proc_ctls2 = procbased_ctls2; + vcpu->cap.exc_bitmap = exc_bitmap; - vmx->state[i].nextrip = ~0; - vmx->state[i].lastcpu = NOCPU; - vmx->state[i].vpid = vpid[i]; + vcpu->state.nextrip = ~0; + vcpu->state.lastcpu = NOCPU; + vcpu->state.vpid = vpid[i]; /* * Set up the CR0/4 shadows, and init the read shadow @@ -1200,7 +1208,7 @@ vmx_init(struct vm *vm, pmap_t pmap) if (error != 0) panic("vmx_setup_cr4_shadow %d", error); - vmx->ctx[i].pmap = pmap; + vcpu->ctx.pmap = pmap; } return (vmx); @@ -1256,7 +1264,7 @@ vmx_invvpid(struct vmx *vmx, int vcpu, pmap_t pmap, int running) struct vmxstate *vmxstate; struct invvpid_desc invvpid_desc; - vmxstate = &vmx->state[vcpu]; + vmxstate = &vmx->vcpus[vcpu].state; if (vmxstate->vpid == 0) return; @@ -1312,7 +1320,7 @@ vmx_set_pcpu_defaults(struct vmx *vmx, int vcpu, pmap_t pmap) { struct vmxstate *vmxstate; - vmxstate = &vmx->state[vcpu]; + vmxstate = &vmx->vcpus[vcpu].state; if (vmxstate->lastcpu == curcpu) return; @@ -1334,10 +1342,11 @@ CTASSERT((PROCBASED_CTLS_ONE_SETTING & PROCBASED_INT_WINDOW_EXITING) != 0); static void __inline vmx_set_int_window_exiting(struct vmx *vmx, int vcpu) { + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; - if ((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) == 0) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_INT_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx_vcpu->cap.proc_ctls & PROCBASED_INT_WINDOW_EXITING) == 0) { + vmx_vcpu->cap.proc_ctls |= PROCBASED_INT_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx_vcpu->cap.proc_ctls); VCPU_CTR0(vmx->vm, vcpu, "Enabling interrupt window exiting"); } } @@ -1345,21 +1354,23 @@ vmx_set_int_window_exiting(struct vmx *vmx, int vcpu) static void __inline vmx_clear_int_window_exiting(struct vmx *vmx, int vcpu) { + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; - KASSERT((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0, - ("intr_window_exiting not set: %#x", vmx->cap[vcpu].proc_ctls)); - vmx->cap[vcpu].proc_ctls &= ~PROCBASED_INT_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + KASSERT((vmx_vcpu->cap.proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0, + ("intr_window_exiting not set: %#x", vmx_vcpu->cap.proc_ctls)); + vmx_vcpu->cap.proc_ctls &= ~PROCBASED_INT_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx_vcpu->cap.proc_ctls); VCPU_CTR0(vmx->vm, vcpu, "Disabling interrupt window exiting"); } static void __inline vmx_set_nmi_window_exiting(struct vmx *vmx, int vcpu) { + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; - if ((vmx->cap[vcpu].proc_ctls & PROCBASED_NMI_WINDOW_EXITING) == 0) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx_vcpu->cap.proc_ctls & PROCBASED_NMI_WINDOW_EXITING) == 0) { + vmx_vcpu->cap.proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx_vcpu->cap.proc_ctls); VCPU_CTR0(vmx->vm, vcpu, "Enabling NMI window exiting"); } } @@ -1367,22 +1378,24 @@ vmx_set_nmi_window_exiting(struct vmx *vmx, int vcpu) static void __inline vmx_clear_nmi_window_exiting(struct vmx *vmx, int vcpu) { + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; - KASSERT((vmx->cap[vcpu].proc_ctls & PROCBASED_NMI_WINDOW_EXITING) != 0, - ("nmi_window_exiting not set %#x", vmx->cap[vcpu].proc_ctls)); - vmx->cap[vcpu].proc_ctls &= ~PROCBASED_NMI_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + KASSERT((vmx_vcpu->cap.proc_ctls & PROCBASED_NMI_WINDOW_EXITING) != 0, + ("nmi_window_exiting not set %#x", vmx_vcpu->cap.proc_ctls)); + vmx_vcpu->cap.proc_ctls &= ~PROCBASED_NMI_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx_vcpu->cap.proc_ctls); VCPU_CTR0(vmx->vm, vcpu, "Disabling NMI window exiting"); } int vmx_set_tsc_offset(struct vmx *vmx, int vcpu, uint64_t offset) { + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; int error; - if ((vmx->cap[vcpu].proc_ctls & PROCBASED_TSC_OFFSET) == 0) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_TSC_OFFSET; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx_vcpu->cap.proc_ctls & PROCBASED_TSC_OFFSET) == 0) { + vmx_vcpu->cap.proc_ctls |= PROCBASED_TSC_OFFSET; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx_vcpu->cap.proc_ctls); VCPU_CTR0(vmx->vm, vcpu, "Enabling TSC offsetting"); } @@ -1429,16 +1442,17 @@ static void vmx_inject_interrupts(struct vmx *vmx, int vcpu, struct vlapic *vlapic, uint64_t guestrip) { + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; int vector, need_nmi_exiting, extint_pending; uint64_t rflags, entryinfo; uint32_t gi, info; - if (vmx->state[vcpu].nextrip != guestrip) { + if (vmx_vcpu->state.nextrip != guestrip) { gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); if (gi & HWINTR_BLOCKING) { VCPU_CTR2(vmx->vm, vcpu, "Guest interrupt blocking " "cleared due to rip change: %#lx/%#lx", - vmx->state[vcpu].nextrip, guestrip); + vmx_vcpu->state.nextrip, guestrip); gi &= ~HWINTR_BLOCKING; vmcs_write(VMCS_GUEST_INTERRUPTIBILITY, gi); } @@ -1513,7 +1527,7 @@ vmx_inject_interrupts(struct vmx *vmx, int vcpu, struct vlapic *vlapic, * checking for pending interrupts. This is just an optimization and * not needed for correctness. */ - if ((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0) { + if ((vmx_vcpu->cap.proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0) { VCPU_CTR0(vmx->vm, vcpu, "Skip interrupt injection due to " "pending int_window_exiting"); return; @@ -1661,7 +1675,7 @@ vmx_emulate_xsetbv(struct vmx *vmx, int vcpu, struct vm_exit *vmexit) uint64_t xcrval; const struct xsave_limits *limits; - vmxctx = &vmx->ctx[vcpu]; + vmxctx = &vmx->vcpus[vcpu].ctx; limits = vmm_get_xsave_limits(); /* @@ -1735,7 +1749,7 @@ vmx_get_guest_reg(struct vmx *vmx, int vcpu, int ident) { const struct vmxctx *vmxctx; - vmxctx = &vmx->ctx[vcpu]; + vmxctx = &vmx->vcpus[vcpu].ctx; switch (ident) { case 0: @@ -1780,7 +1794,7 @@ vmx_set_guest_reg(struct vmx *vmx, int vcpu, int ident, uint64_t regval) { struct vmxctx *vmxctx; - vmxctx = &vmx->ctx[vcpu]; + vmxctx = &vmx->vcpus[vcpu].ctx; switch (ident) { case 0: @@ -2119,7 +2133,7 @@ apic_access_virtualization(struct vmx *vmx, int vcpuid) { uint32_t proc_ctls2; - proc_ctls2 = vmx->cap[vcpuid].proc_ctls2; + proc_ctls2 = vmx->vcpus[vcpuid].cap.proc_ctls2; return ((proc_ctls2 & PROCBASED2_VIRTUALIZE_APIC_ACCESSES) ? 1 : 0); } @@ -2128,7 +2142,7 @@ x2apic_virtualization(struct vmx *vmx, int vcpuid) { uint32_t proc_ctls2; - proc_ctls2 = vmx->cap[vcpuid].proc_ctls2; + proc_ctls2 = vmx->vcpus[vcpuid].cap.proc_ctls2; return ((proc_ctls2 & PROCBASED2_VIRTUALIZE_X2APIC_MODE) ? 1 : 0); } @@ -2325,7 +2339,7 @@ emulate_rdmsr(struct vmx *vmx, int vcpuid, u_int num, bool *retu) if (error == 0) { eax = result; - vmxctx = &vmx->ctx[vcpuid]; + vmxctx = &vmx->vcpus[vcpuid].ctx; error = vmxctx_setreg(vmxctx, VM_REG_GUEST_RAX, eax); KASSERT(error == 0, ("vmxctx_setreg(rax) error %d", error)); @@ -2341,6 +2355,7 @@ static int vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_exit *vmexit) { int error, errcode, errcode_valid, handled, in; + struct vmx_vcpu *vmx_vcpu; struct vmxctx *vmxctx; struct vlapic *vlapic; struct vm_inout_str *vis; @@ -2354,7 +2369,8 @@ vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_exit *vmexit) CTASSERT((PINBASED_CTLS_ONE_SETTING & PINBASED_NMI_EXITING) != 0); handled = UNHANDLED; - vmxctx = &vmx->ctx[vcpu]; + vmx_vcpu = &vmx->vcpus[vcpu]; + vmxctx = &vmx_vcpu->ctx; qual = vmexit->u.vmx.exit_qualification; reason = vmexit->u.vmx.exit_reason; @@ -2665,7 +2681,7 @@ vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_exit *vmexit) * debug exceptions, bounce them out to userland. */ if (intr_type == VMCS_INTR_T_SWEXCEPTION && intr_vec == IDT_BP && - (vmx->cap[vcpu].set & (1 << VM_CAP_BPT_EXIT))) { + (vmx_vcpu->cap.set & (1 << VM_CAP_BPT_EXIT))) { vmexit->exitcode = VM_EXITCODE_BPT; vmexit->u.bpt.inst_length = vmexit->inst_length; vmexit->inst_length = 0; @@ -2991,6 +3007,7 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pmap, { int rc, handled, launched; struct vmx *vmx; + struct vmx_vcpu *vmx_vcpu; struct vm *vm; struct vmxctx *vmxctx; struct vmcs *vmcs; @@ -3002,8 +3019,9 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pmap, vmx = arg; vm = vmx->vm; - vmcs = &vmx->vmcs[vcpu]; - vmxctx = &vmx->ctx[vcpu]; + vmx_vcpu = &vmx->vcpus[vcpu]; + vmcs = vmx_vcpu->vmcs; + vmxctx = &vmx_vcpu->ctx; vlapic = vm_lapic(vm, vcpu); vmexit = vm_exitinfo(vm, vcpu); launched = 0; @@ -3095,7 +3113,7 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pmap, * must be updated right before entering the guest. */ if (tpr_shadowing && !virtual_interrupt_delivery) { - if ((vmx->cap[vcpu].proc_ctls & PROCBASED_USE_TPR_SHADOW) != 0) { + if ((vmx_vcpu->cap.proc_ctls & PROCBASED_USE_TPR_SHADOW) != 0) { vmcs_write(VMCS_TPR_THRESHOLD, vlapic_get_cr8(vlapic)); } } @@ -3159,7 +3177,7 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pmap, vmexit->u.vmx.exit_qualification = vmcs_exit_qualification(); /* Update 'nextrip' */ - vmx->state[vcpu].nextrip = rip; + vmx_vcpu->state.nextrip = rip; if (rc == VMX_GUEST_VMEXIT) { vmx_exit_handle_nmi(vmx, vcpu, vmexit); @@ -3197,6 +3215,7 @@ static void vmx_cleanup(void *arg) { int i; + struct vmx_vcpu *vcpu; struct vmx *vmx = arg; uint16_t maxcpus; @@ -3204,9 +3223,15 @@ vmx_cleanup(void *arg) vm_unmap_mmio(vmx->vm, DEFAULT_APIC_BASE, PAGE_SIZE); maxcpus = vm_get_maxcpus(vmx->vm); - for (i = 0; i < maxcpus; i++) - vpid_free(vmx->state[i].vpid); + for (i = 0; i < maxcpus; i++) { + vcpu = &vmx->vcpus[i]; + vpid_free(vcpu->state.vpid); + free(vcpu->pir_desc, M_VMX); + free(vcpu->apic_page, M_VMX); + free(vcpu->vmcs, M_VMX); + } + free(vmx->msr_bitmap, M_VMX); free(vmx, M_VMX); return; @@ -3295,7 +3320,7 @@ vmx_get_intr_shadow(struct vmx *vmx, int vcpu, int running, uint64_t *retval) uint64_t gi; int error; - error = vmcs_getreg(&vmx->vmcs[vcpu], running, + error = vmcs_getreg(vmx->vcpus[vcpu].vmcs, running, VMCS_IDENT(VMCS_GUEST_INTERRUPTIBILITY), &gi); *retval = (gi & HWINTR_BLOCKING) ? 1 : 0; return (error); @@ -3316,7 +3341,7 @@ vmx_modify_intr_shadow(struct vmx *vmx, int vcpu, int running, uint64_t val) goto done; } - vmcs = &vmx->vmcs[vcpu]; + vmcs = vmx->vcpus[vcpu].vmcs; ident = VMCS_IDENT(VMCS_GUEST_INTERRUPTIBILITY); error = vmcs_getreg(vmcs, running, ident, &gi); if (error == 0) { @@ -3363,10 +3388,10 @@ vmx_getreg(void *arg, int vcpu, int reg, uint64_t *retval) if (reg == VM_REG_GUEST_INTR_SHADOW) return (vmx_get_intr_shadow(vmx, vcpu, running, retval)); - if (vmxctx_getreg(&vmx->ctx[vcpu], reg, retval) == 0) + if (vmxctx_getreg(&vmx->vcpus[vcpu].ctx, reg, retval) == 0) return (0); - return (vmcs_getreg(&vmx->vmcs[vcpu], running, reg, retval)); + return (vmcs_getreg(vmx->vcpus[vcpu].vmcs, running, reg, retval)); } static int @@ -3376,6 +3401,7 @@ vmx_setreg(void *arg, int vcpu, int reg, uint64_t val) uint64_t ctls; pmap_t pmap; struct vmx *vmx = arg; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; running = vcpu_is_running(vmx->vm, vcpu, &hostcpu); if (running && hostcpu != curcpu) @@ -3384,14 +3410,14 @@ vmx_setreg(void *arg, int vcpu, int reg, uint64_t val) if (reg == VM_REG_GUEST_INTR_SHADOW) return (vmx_modify_intr_shadow(vmx, vcpu, running, val)); - if (vmxctx_setreg(&vmx->ctx[vcpu], reg, val) == 0) + if (vmxctx_setreg(&vmx_vcpu->ctx, reg, val) == 0) return (0); /* Do not permit user write access to VMCS fields by offset. */ if (reg < 0) return (EINVAL); - error = vmcs_setreg(&vmx->vmcs[vcpu], running, reg, val); + error = vmcs_setreg(vmx_vcpu->vmcs, running, reg, val); if (error == 0) { /* @@ -3401,13 +3427,13 @@ vmx_setreg(void *arg, int vcpu, int reg, uint64_t val) */ if ((entry_ctls & VM_ENTRY_LOAD_EFER) != 0 && (reg == VM_REG_GUEST_EFER)) { - vmcs_getreg(&vmx->vmcs[vcpu], running, + vmcs_getreg(vmx_vcpu->vmcs, running, VMCS_IDENT(VMCS_ENTRY_CTLS), &ctls); if (val & EFER_LMA) ctls |= VM_ENTRY_GUEST_LMA; else ctls &= ~VM_ENTRY_GUEST_LMA; - vmcs_setreg(&vmx->vmcs[vcpu], running, + vmcs_setreg(vmx_vcpu->vmcs, running, VMCS_IDENT(VMCS_ENTRY_CTLS), ctls); } @@ -3416,7 +3442,7 @@ vmx_setreg(void *arg, int vcpu, int reg, uint64_t val) /* * Store the unmodified value in the shadow */ - error = vmcs_setreg(&vmx->vmcs[vcpu], running, + error = vmcs_setreg(vmx_vcpu->vmcs, running, VMCS_IDENT(shadow), val); } @@ -3428,7 +3454,7 @@ vmx_setreg(void *arg, int vcpu, int reg, uint64_t val) * XXX the processor retains global mappings when %cr3 * is updated but vmx_invvpid() does not. */ - pmap = vmx->ctx[vcpu].pmap; + pmap = vmx_vcpu->ctx.pmap; vmx_invvpid(vmx, vcpu, pmap, running); } } @@ -3446,7 +3472,7 @@ vmx_getdesc(void *arg, int vcpu, int reg, struct seg_desc *desc) if (running && hostcpu != curcpu) panic("vmx_getdesc: %s%d is running", vm_name(vmx->vm), vcpu); - return (vmcs_getdesc(&vmx->vmcs[vcpu], running, reg, desc)); + return (vmcs_getdesc(vmx->vcpus[vcpu].vmcs, running, reg, desc)); } static int @@ -3459,7 +3485,7 @@ vmx_setdesc(void *arg, int vcpu, int reg, struct seg_desc *desc) if (running && hostcpu != curcpu) panic("vmx_setdesc: %s%d is running", vm_name(vmx->vm), vcpu); - return (vmcs_setdesc(&vmx->vmcs[vcpu], running, reg, desc)); + return (vmcs_setdesc(vmx->vcpus[vcpu].vmcs, running, reg, desc)); } static int @@ -3471,7 +3497,7 @@ vmx_getcap(void *arg, int vcpu, int type, int *retval) ret = ENOENT; - vcap = vmx->cap[vcpu].set; + vcap = vmx->vcpus[vcpu].cap.set; switch (type) { case VM_CAP_HALT_EXIT: @@ -3520,7 +3546,8 @@ static int vmx_setcap(void *arg, int vcpu, int type, int val) { struct vmx *vmx = arg; - struct vmcs *vmcs = &vmx->vmcs[vcpu]; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpu]; + struct vmcs *vmcs = vmx_vcpu->vmcs; struct vlapic *vlapic; uint32_t baseval; uint32_t *pptr; @@ -3536,7 +3563,7 @@ vmx_setcap(void *arg, int vcpu, int type, int val) case VM_CAP_HALT_EXIT: if (cap_halt_exit) { retval = 0; - pptr = &vmx->cap[vcpu].proc_ctls; + pptr = &vmx_vcpu->cap.proc_ctls; baseval = *pptr; flag = PROCBASED_HLT_EXITING; reg = VMCS_PRI_PROC_BASED_CTLS; @@ -3545,7 +3572,7 @@ vmx_setcap(void *arg, int vcpu, int type, int val) case VM_CAP_MTRAP_EXIT: if (cap_monitor_trap) { retval = 0; - pptr = &vmx->cap[vcpu].proc_ctls; + pptr = &vmx_vcpu->cap.proc_ctls; baseval = *pptr; flag = PROCBASED_MTF; reg = VMCS_PRI_PROC_BASED_CTLS; @@ -3554,7 +3581,7 @@ vmx_setcap(void *arg, int vcpu, int type, int val) case VM_CAP_PAUSE_EXIT: if (cap_pause_exit) { retval = 0; - pptr = &vmx->cap[vcpu].proc_ctls; + pptr = &vmx_vcpu->cap.proc_ctls; baseval = *pptr; flag = PROCBASED_PAUSE_EXITING; reg = VMCS_PRI_PROC_BASED_CTLS; @@ -3574,7 +3601,7 @@ vmx_setcap(void *arg, int vcpu, int type, int val) case VM_CAP_UNRESTRICTED_GUEST: if (cap_unrestricted_guest) { retval = 0; - pptr = &vmx->cap[vcpu].proc_ctls2; + pptr = &vmx_vcpu->cap.proc_ctls2; baseval = *pptr; flag = PROCBASED2_UNRESTRICTED_GUEST; reg = VMCS_SEC_PROC_BASED_CTLS; @@ -3583,7 +3610,7 @@ vmx_setcap(void *arg, int vcpu, int type, int val) case VM_CAP_ENABLE_INVPCID: if (cap_invpcid) { retval = 0; - pptr = &vmx->cap[vcpu].proc_ctls2; + pptr = &vmx_vcpu->cap.proc_ctls2; baseval = *pptr; flag = PROCBASED2_ENABLE_INVPCID; reg = VMCS_SEC_PROC_BASED_CTLS; @@ -3593,8 +3620,8 @@ vmx_setcap(void *arg, int vcpu, int type, int val) retval = 0; /* Don't change the bitmap if we are tracing all exceptions. */ - if (vmx->cap[vcpu].exc_bitmap != 0xffffffff) { - pptr = &vmx->cap[vcpu].exc_bitmap; + if (vmx_vcpu->cap.exc_bitmap != 0xffffffff) { + pptr = &vmx_vcpu->cap.exc_bitmap; baseval = *pptr; flag = (1 << IDT_BP); reg = VMCS_EXCEPTION_BITMAP; @@ -3634,9 +3661,9 @@ vmx_setcap(void *arg, int vcpu, int type, int val) } if (val) { - vmx->cap[vcpu].set |= (1 << type); + vmx_vcpu->cap.set |= (1 << type); } else { - vmx->cap[vcpu].set &= ~(1 << type); + vmx_vcpu->cap.set &= ~(1 << type); } return (0); @@ -3841,7 +3868,7 @@ vmx_set_tmr(struct vlapic *vlapic, int vector, bool level) vlapic_vtx = (struct vlapic_vtx *)vlapic; vmx = vlapic_vtx->vmx; - vmcs = &vmx->vmcs[vlapic->vcpuid]; + vmcs = vmx->vcpus[vlapic->vcpuid].vmcs; mask = 1UL << (vector % 64); VMPTRLD(vmcs); @@ -3858,19 +3885,21 @@ static void vmx_enable_x2apic_mode_ts(struct vlapic *vlapic) { struct vmx *vmx; + struct vmx_vcpu *vcpu; struct vmcs *vmcs; uint32_t proc_ctls; int vcpuid; vcpuid = vlapic->vcpuid; vmx = ((struct vlapic_vtx *)vlapic)->vmx; - vmcs = &vmx->vmcs[vcpuid]; + vcpu = &vmx->vcpus[vcpuid]; + vmcs = vcpu->vmcs; - proc_ctls = vmx->cap[vcpuid].proc_ctls; + proc_ctls = vcpu->cap.proc_ctls; proc_ctls &= ~PROCBASED_USE_TPR_SHADOW; proc_ctls |= PROCBASED_CR8_LOAD_EXITING; proc_ctls |= PROCBASED_CR8_STORE_EXITING; - vmx->cap[vcpuid].proc_ctls = proc_ctls; + vcpu->cap.proc_ctls = proc_ctls; VMPTRLD(vmcs); vmcs_write(VMCS_PRI_PROC_BASED_CTLS, proc_ctls); @@ -3881,21 +3910,23 @@ static void vmx_enable_x2apic_mode_vid(struct vlapic *vlapic) { struct vmx *vmx; + struct vmx_vcpu *vcpu; struct vmcs *vmcs; uint32_t proc_ctls2; int vcpuid, error __diagused; vcpuid = vlapic->vcpuid; vmx = ((struct vlapic_vtx *)vlapic)->vmx; - vmcs = &vmx->vmcs[vcpuid]; + vcpu = &vmx->vcpus[vcpuid]; + vmcs = vcpu->vmcs; - proc_ctls2 = vmx->cap[vcpuid].proc_ctls2; + proc_ctls2 = vcpu->cap.proc_ctls2; KASSERT((proc_ctls2 & PROCBASED2_VIRTUALIZE_APIC_ACCESSES) != 0, ("%s: invalid proc_ctls2 %#x", __func__, proc_ctls2)); proc_ctls2 &= ~PROCBASED2_VIRTUALIZE_APIC_ACCESSES; proc_ctls2 |= PROCBASED2_VIRTUALIZE_X2APIC_MODE; - vmx->cap[vcpuid].proc_ctls2 = proc_ctls2; + vcpu->cap.proc_ctls2 = proc_ctls2; VMPTRLD(vmcs); vmcs_write(VMCS_SEC_PROC_BASED_CTLS, proc_ctls2); @@ -4033,10 +4064,10 @@ vmx_vlapic_init(void *arg, int vcpuid) vlapic = malloc(sizeof(struct vlapic_vtx), M_VLAPIC, M_WAITOK | M_ZERO); vlapic->vm = vmx->vm; vlapic->vcpuid = vcpuid; - vlapic->apic_page = (struct LAPIC *)&vmx->apic_page[vcpuid]; + vlapic->apic_page = (struct LAPIC *)vmx->vcpus[vcpuid].apic_page; vlapic_vtx = (struct vlapic_vtx *)vlapic; - vlapic_vtx->pir_desc = &vmx->pir_desc[vcpuid]; + vlapic_vtx->pir_desc = vmx->vcpus[vcpuid].pir_desc; vlapic_vtx->vmx = vmx; if (tpr_shadowing) { @@ -4072,6 +4103,7 @@ static int vmx_snapshot(void *arg, struct vm_snapshot_meta *meta) { struct vmx *vmx; + struct vmx_vcpu *vcpu; struct vmxctx *vmxctx; int ret; uint16_t i, maxcpus; @@ -4082,10 +4114,12 @@ vmx_snapshot(void *arg, struct vm_snapshot_meta *meta) maxcpus = vm_get_maxcpus(vmx->vm); for (i = 0; i < maxcpus; i++) { - SNAPSHOT_BUF_OR_LEAVE(vmx->guest_msrs[i], - sizeof(vmx->guest_msrs[i]), meta, ret, done); + vcpu = &vmx->vcpus[i]; + + SNAPSHOT_BUF_OR_LEAVE(vcpu->guest_msrs, + sizeof(vcpu->guest_msrs), meta, ret, done); - vmxctx = &vmx->ctx[i]; + vmxctx = &vcpu->ctx; SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rdi, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rsi, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rdx, meta, ret, done); @@ -4124,7 +4158,7 @@ vmx_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) err = 0; KASSERT(arg != NULL, ("%s: arg was NULL", __func__)); - vmcs = &vmx->vmcs[vcpu]; + vmcs = vmx->vcpus[vcpu].vmcs; run = vcpu_is_running(vmx->vm, vcpu, &hostcpu); if (run && hostcpu != curcpu) { @@ -4196,7 +4230,7 @@ vmx_restore_tsc(void *arg, int vcpu, uint64_t offset) int error, running, hostcpu; KASSERT(arg != NULL, ("%s: arg was NULL", __func__)); - vmcs = &vmx->vmcs[vcpu]; + vmcs = vmx->vcpus[vcpu].vmcs; running = vcpu_is_running(vmx->vm, vcpu, &hostcpu); if (running && hostcpu != curcpu) { diff --git a/sys/amd64/vmm/intel/vmx.h b/sys/amd64/vmm/intel/vmx.h index 81e508e30d3d..8168b82bfe5c 100644 --- a/sys/amd64/vmm/intel/vmx.h +++ b/sys/amd64/vmm/intel/vmx.h @@ -122,24 +122,25 @@ enum { GUEST_MSR_NUM /* must be the last enumeration */ }; +struct vmx_vcpu { + struct vmcs *vmcs; + struct apic_page *apic_page; + struct pir_desc *pir_desc; + uint64_t guest_msrs[GUEST_MSR_NUM]; + struct vmxctx ctx; + struct vmxcap cap; + struct vmxstate state; + struct vm_mtrr mtrr; +}; + /* virtual machine softc */ struct vmx { - struct vmcs vmcs[VM_MAXCPU]; /* one vmcs per virtual cpu */ - struct apic_page apic_page[VM_MAXCPU]; /* one apic page per vcpu */ - char msr_bitmap[PAGE_SIZE]; - struct pir_desc pir_desc[VM_MAXCPU]; - uint64_t guest_msrs[VM_MAXCPU][GUEST_MSR_NUM]; - struct vmxctx ctx[VM_MAXCPU]; - struct vmxcap cap[VM_MAXCPU]; - struct vmxstate state[VM_MAXCPU]; + struct vmx_vcpu vcpus[VM_MAXCPU]; + char *msr_bitmap; uint64_t eptp; struct vm *vm; long eptgen[MAXCPU]; /* cached pmap->pm_eptgen */ - struct vm_mtrr mtrr[VM_MAXCPU]; }; -CTASSERT((offsetof(struct vmx, vmcs) & PAGE_MASK) == 0); -CTASSERT((offsetof(struct vmx, msr_bitmap) & PAGE_MASK) == 0); -CTASSERT((offsetof(struct vmx, pir_desc[0]) & 63) == 0); #define VMX_GUEST_VMEXIT 0 #define VMX_VMRESUME_ERROR 1 @@ -166,7 +167,7 @@ vmx_have_msr_tsc_aux(struct vmx *vmx) * in vmx_init()), just always use vCPU-zero's capability set and * remove the need to require a vcpuid argument. */ - return ((vmx->cap[0].set & rdpid_rdtscp_bits) != 0); + return ((vmx->vcpus[0].cap.set & rdpid_rdtscp_bits) != 0); } #endif diff --git a/sys/amd64/vmm/intel/vmx_msr.c b/sys/amd64/vmm/intel/vmx_msr.c index a135518cb1c3..0d4e86edf60c 100644 --- a/sys/amd64/vmm/intel/vmx_msr.c +++ b/sys/amd64/vmm/intel/vmx_msr.c @@ -316,9 +316,7 @@ vmx_msr_init(void) void vmx_msr_guest_init(struct vmx *vmx, int vcpuid) { - uint64_t *guest_msrs; - - guest_msrs = vmx->guest_msrs[vcpuid]; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; /* * The permissions bitmap is shared between all vcpus so initialize it @@ -335,7 +333,7 @@ vmx_msr_guest_init(struct vmx *vmx, int vcpuid) /* * Initialize guest IA32_PAT MSR with default value after reset. */ - guest_msrs[IDX_MSR_PAT] = PAT_VALUE(0, PAT_WRITE_BACK) | + vmx_vcpu->guest_msrs[IDX_MSR_PAT] = PAT_VALUE(0, PAT_WRITE_BACK) | PAT_VALUE(1, PAT_WRITE_THROUGH) | PAT_VALUE(2, PAT_UNCACHED) | PAT_VALUE(3, PAT_UNCACHEABLE) | @@ -350,21 +348,22 @@ vmx_msr_guest_init(struct vmx *vmx, int vcpuid) void vmx_msr_guest_enter(struct vmx *vmx, int vcpuid) { - uint64_t *guest_msrs = vmx->guest_msrs[vcpuid]; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; /* Save host MSRs (in particular, KGSBASE) and restore guest MSRs */ update_pcb_bases(curpcb); - wrmsr(MSR_LSTAR, guest_msrs[IDX_MSR_LSTAR]); - wrmsr(MSR_CSTAR, guest_msrs[IDX_MSR_CSTAR]); - wrmsr(MSR_STAR, guest_msrs[IDX_MSR_STAR]); - wrmsr(MSR_SF_MASK, guest_msrs[IDX_MSR_SF_MASK]); - wrmsr(MSR_KGSBASE, guest_msrs[IDX_MSR_KGSBASE]); + wrmsr(MSR_LSTAR, vmx_vcpu->guest_msrs[IDX_MSR_LSTAR]); + wrmsr(MSR_CSTAR, vmx_vcpu->guest_msrs[IDX_MSR_CSTAR]); + wrmsr(MSR_STAR, vmx_vcpu->guest_msrs[IDX_MSR_STAR]); + wrmsr(MSR_SF_MASK, vmx_vcpu->guest_msrs[IDX_MSR_SF_MASK]); + wrmsr(MSR_KGSBASE, vmx_vcpu->guest_msrs[IDX_MSR_KGSBASE]); } void vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, int vcpuid) { - uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; + uint64_t guest_tsc_aux = vmx_vcpu->guest_msrs[IDX_MSR_TSC_AUX]; uint32_t host_aux = cpu_auxmsr(); if (vmx_have_msr_tsc_aux(vmx) && guest_tsc_aux != host_aux) @@ -374,14 +373,14 @@ vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, int vcpuid) void vmx_msr_guest_exit(struct vmx *vmx, int vcpuid) { - uint64_t *guest_msrs = vmx->guest_msrs[vcpuid]; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; /* Save guest MSRs */ - guest_msrs[IDX_MSR_LSTAR] = rdmsr(MSR_LSTAR); - guest_msrs[IDX_MSR_CSTAR] = rdmsr(MSR_CSTAR); - guest_msrs[IDX_MSR_STAR] = rdmsr(MSR_STAR); - guest_msrs[IDX_MSR_SF_MASK] = rdmsr(MSR_SF_MASK); - guest_msrs[IDX_MSR_KGSBASE] = rdmsr(MSR_KGSBASE); + vmx_vcpu->guest_msrs[IDX_MSR_LSTAR] = rdmsr(MSR_LSTAR); + vmx_vcpu->guest_msrs[IDX_MSR_CSTAR] = rdmsr(MSR_CSTAR); + vmx_vcpu->guest_msrs[IDX_MSR_STAR] = rdmsr(MSR_STAR); + vmx_vcpu->guest_msrs[IDX_MSR_SF_MASK] = rdmsr(MSR_SF_MASK); + vmx_vcpu->guest_msrs[IDX_MSR_KGSBASE] = rdmsr(MSR_KGSBASE); /* Restore host MSRs */ wrmsr(MSR_LSTAR, host_msrs[IDX_MSR_LSTAR]); @@ -395,7 +394,8 @@ vmx_msr_guest_exit(struct vmx *vmx, int vcpuid) void vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) { - uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; + uint64_t guest_tsc_aux = vmx_vcpu->guest_msrs[IDX_MSR_TSC_AUX]; uint32_t host_aux = cpu_auxmsr(); if (vmx_have_msr_tsc_aux(vmx) && guest_tsc_aux != host_aux) @@ -412,10 +412,9 @@ vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) int vmx_rdmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t *val, bool *retu) { - const uint64_t *guest_msrs; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; int error; - guest_msrs = vmx->guest_msrs[vcpuid]; error = 0; switch (num) { @@ -429,7 +428,7 @@ vmx_rdmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t *val, bool *retu) case MSR_MTRR16kBase ... MSR_MTRR16kBase + 1: case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: - if (vm_rdmtrr(&vmx->mtrr[vcpuid], num, val) != 0) { + if (vm_rdmtrr(&vmx_vcpu->mtrr, num, val) != 0) { vm_inject_gp(vmx->vm, vcpuid); } break; @@ -444,7 +443,7 @@ vmx_rdmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t *val, bool *retu) *val = turbo_ratio_limit; break; case MSR_PAT: - *val = guest_msrs[IDX_MSR_PAT]; + *val = vmx_vcpu->guest_msrs[IDX_MSR_PAT]; break; default: error = EINVAL; @@ -456,11 +455,10 @@ vmx_rdmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t *val, bool *retu) int vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t val, bool *retu) { - uint64_t *guest_msrs; + struct vmx_vcpu *vmx_vcpu = &vmx->vcpus[vcpuid]; uint64_t changed; int error; - guest_msrs = vmx->guest_msrs[vcpuid]; error = 0; switch (num) { @@ -473,7 +471,7 @@ vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t val, bool *retu) case MSR_MTRR16kBase ... MSR_MTRR16kBase + 1: case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: - if (vm_wrmtrr(&vmx->mtrr[vcpuid], num, val) != 0) { + if (vm_wrmtrr(&vmx_vcpu->mtrr, num, val) != 0) { vm_inject_gp(vmx->vm, vcpuid); } break; @@ -499,7 +497,7 @@ vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t val, bool *retu) break; case MSR_PAT: if (pat_valid(val)) - guest_msrs[IDX_MSR_PAT] = val; + vmx_vcpu->guest_msrs[IDX_MSR_PAT] = val; else vm_inject_gp(vmx->vm, vcpuid); break; @@ -513,7 +511,7 @@ vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t val, bool *retu) * value when it is called immediately before guest * entry. */ - guest_msrs[IDX_MSR_TSC_AUX] = val; + vmx_vcpu->guest_msrs[IDX_MSR_TSC_AUX] = val; else vm_inject_gp(vmx->vm, vcpuid); break; From nobody Thu Jan 26 22:11:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0X0b9yz3c7sf; Thu, 26 Jan 2023 22:11: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 4P2w0W5FfYz3twn; Thu, 26 Jan 2023 22:11:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oyeVjCvzI+fam2pvFBpmJIu1nxHfcrXQ823DbAE6lOo=; b=R2AGQ8+7feOAjAfho1ptea4xQmTsaWKrn1pQf3amWprmu4KCuuYI572cxvXbQIbuHgicCF lO4Yrsoc+czQM6LBDM2dyIj33yqFO73lNP6h4uk6on5jfqOKNupUs7yK3hv5ntNrnYqqG6 1gH8E9wrH5MtP95ByL3n9M8ah7XYBtr0tGaasUjt7R1pVe4cmKY4Z5mrfvYOEuqfQY+Ala LZ4KBlH7Dk1OnEnnEMHBnfpjMga6JbG77G/oYSmJL922KYiQG8fQsgmk99R0OJEP/0HnR/ e8ix+szqTQT4u+60k1zdrh4/dABtX3iu5H9Osm0OZzwXSPxsdxRDKTfzZkJSHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oyeVjCvzI+fam2pvFBpmJIu1nxHfcrXQ823DbAE6lOo=; b=U81Pasj7SBdRSIy+oSXRsfSCGsEtrbuztG35Okdn6qq215YBrOFZbcSOllbkhmFOAF6Ejc FmopQZ09qD3RedTZblFxLgF6soKgr+GHnC62aKkd6djKm+GtKTBpAY5vmThaZBBZB9zEQc dBllsFS1adnigMlqbmSgNn96D1GXScZMY/aVzJb06bMxEpG5MbOoCmyH0LA9rN8GOHVA45 9Zca7tCD91bXmC/zwhw4KUcDlhbo4MrP2/eKRSur1yGxu2T22zaR+DEz8OnotXhwmIgoyo UNXEn6AKQ2Aj2bd1kiKYx78SYisukMhJ0A9JU9modrBhcoZe8bYqrn8S4jdJBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771099; a=rsa-sha256; cv=none; b=JUnWXuxn28bAhlBNoVa33T8X0BIqI/SQEfo6B7IPfQf9iBjE/XMhsU+bYpo9XHR9czb/75 WmLl5ystl92hofs1BYTJL3lL971peXvJfMbX3RQegrCLcskxAvrGwNK5ntKfrutaYsnG2m iwN3cAWjiR/xJDRqGKJ1c2XSgvNb3hRajGpSnen/h/UGPeO2avcsPJRqwC/25+sbC3UIRp u/LI/2GnLL9zcxjo7LyPwRrjuwBk6c1958hKbgOelvMhg6qIDizAaz7na+mu6oAHOXIUnL NP0DUlnoHvk73gTg7cTtNzpxR5wrVe2jS0G41/oUMMG4c3FQGJGrO0ORq0S9bA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0W4MZ8zlVJ; Thu, 26 Jan 2023 22:11:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBdVf018553; Thu, 26 Jan 2023 22:11:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBdbZ018552; Thu, 26 Jan 2023 22:11:39 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:39 GMT Message-Id: <202301262211.30QMBdbZ018552@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 02c219b9c9a8 - stable/13 - vmm svm: Mark all VMCB state caches dirty on vCPU restore. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 02c219b9c9a877b09af78a9c5bf22eff00ebceda Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=02c219b9c9a877b09af78a9c5bf22eff00ebceda commit 02c219b9c9a877b09af78a9c5bf22eff00ebceda Author: John Baldwin AuthorDate: 2022-11-18 17:58:22 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:44:23 +0000 vmm svm: Mark all VMCB state caches dirty on vCPU restore. Mark Johnston noticed that this was missing VMCB_CACHE_LBR. Just set all the bits as is done in svm_run() rather than trying to clear individual bits. Reported by: markj Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37259 (cherry picked from commit 19b9dd2e08eda491ab1c181ca5a3659f7e7628fc) --- sys/amd64/vmm/amd/svm.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 0db1e45594fa..d6502e331278 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -2478,17 +2478,8 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) SNAPSHOT_VAR_OR_LEAVE(vcpu->asid.num, meta, ret, done); /* Set all caches dirty */ - if (meta->op == VM_SNAPSHOT_RESTORE) { - svm_set_dirty(sc, i, VMCB_CACHE_ASID); - svm_set_dirty(sc, i, VMCB_CACHE_IOPM); - svm_set_dirty(sc, i, VMCB_CACHE_I); - svm_set_dirty(sc, i, VMCB_CACHE_TPR); - svm_set_dirty(sc, i, VMCB_CACHE_CR2); - svm_set_dirty(sc, i, VMCB_CACHE_CR); - svm_set_dirty(sc, i, VMCB_CACHE_DT); - svm_set_dirty(sc, i, VMCB_CACHE_SEG); - svm_set_dirty(sc, i, VMCB_CACHE_NP); - } + if (meta->op == VM_SNAPSHOT_RESTORE) + svm_set_dirty(sc, i, 0xffffffff); } if (meta->op == VM_SNAPSHOT_RESTORE) From nobody Thu Jan 26 22:11:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0X6CYJz3c88K; Thu, 26 Jan 2023 22:11: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 4P2w0X61PLz3v7f; Thu, 26 Jan 2023 22:11:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jOINhIlprCWdCINTkpKLEZgpxDv1KfkCNai1RywU6N4=; b=VoyIh2d8xnzbxD7up0XV0MRUJk9aux8YrK6Cm/q6TmrqAQxPYgPW7UU9aWiOfIlLU/ld9O 57BeE8vlPhw5/ZEtRagjHaL0/J9o1TG4rFcAECAyEddCREZ2Ttp0qFd1tx69HFeZ0d25lQ Oa79N0QJa2PjdVfJKZxeG8Tf7DhwcZcewLLmQOwxEntRfnT8K+Bo/qH92DCIzBNa60Jv05 hj5jIk6xOhiflToEfJMFMTkfVydt/xFE7y2OjV0LuvQH+X0dUJDMcDDoevuGT+Fv/EbE/Y Q6OSu2R4JExw61dkfop4TmPB0e3hJji85Qm3g+TcbZQ3CyP1pHcrhrlXxEJ3dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jOINhIlprCWdCINTkpKLEZgpxDv1KfkCNai1RywU6N4=; b=iYgDORxY5x8LP5vxUApyHwcJoHalWP3vhQXnMnVoCwzwWTPJD3ZDxDh/OyivCjYZSjx9hu 2508suO/DwZScbV+jqVIPBRi+3CbVxnaUAwrl4xEPhEeCrZrFWbP9jbY+h4RuDuZ8+81UK aH1a7+z/t1o3+xUQZrzJLVgCy8ykk9/2/muYCEfpmWvg1jZ019i0kV4OkKGrinHJSXOzwy tXCbb7Qjxff5XCHVFRM9RDZ0KyymQcas7/7Qh4tOyk//1DRIBInMGqBbDO3lL4CJv+lGBq c4i98/ZejhT/CHVVrrCyDr1ymtLcMPpVbcJVaTmHYQYSolotgw/DVAU8tQHLMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771100; a=rsa-sha256; cv=none; b=aiaq7syA9R6fY6QGAyZedYFwpU5cr8OOAaWK3SBkcUI+vumeHRvkYjYhEUo+tCA39SO5qe 0sqDSVqxjhJv8lfqFIrZoVZ97Ijh7EtPD9MFmyr2LVYh6Cw3E/GAeS4bLV8sk2zFwqZp4+ dvZj9/+ofqUnSxwhaJQcpVjlgTCBMnbaLq5L9LtCn5q5oKqYRAgYqUyjGoAV0F9wJ5Utur FZW7NOUh65jAnR+q6V5yWz1lRxxae4Pr/vF5xgYNndExpAF8jNbaw7wBaOOlkNmsK1fG98 I6mUMSM1apDatgxz3wOZzL4Xw9h4oplqdrtHZZvKa3tBlYDyXITnvpFRiMOhbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0X52TNzlVL; Thu, 26 Jan 2023 22:11:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBeM0018584; Thu, 26 Jan 2023 22:11:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBe03018583; Thu, 26 Jan 2023 22:11:40 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:40 GMT Message-Id: <202301262211.30QMBe03018583@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: f5bc0f746681 - stable/13 - vmm: Rework snapshotting of CPU-specific per-vCPU data. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f5bc0f74668155dee515614ae2e2b8e1e3d1abaa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f5bc0f74668155dee515614ae2e2b8e1e3d1abaa commit f5bc0f74668155dee515614ae2e2b8e1e3d1abaa Author: John Baldwin AuthorDate: 2022-11-18 17:58:41 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:44:33 +0000 vmm: Rework snapshotting of CPU-specific per-vCPU data. Previously some per-vCPU state was saved in vmmops_snapshot and other state was saved in vmmops_vcmx_snapshot. Consolidate all per-vCPU state into the latter routine and rename the hook to the more generic 'vcpu_snapshot'. Note that the CPU-independent per-vCPU data is still stored in a separate blob as well as the per-vCPU local APIC data. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37150 (cherry picked from commit 39ec056e6dbd89e26ee21d2928dbd37335de0ebc) --- sys/amd64/include/vmm.h | 4 +- sys/amd64/vmm/amd/svm.c | 239 ++++++++++++++++++++++------------------------ sys/amd64/vmm/intel/vmx.c | 87 ++++++++--------- sys/amd64/vmm/vmm.c | 4 +- 4 files changed, 157 insertions(+), 177 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index a957ecb0f852..62456fe9d12d 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -185,7 +185,7 @@ typedef void (*vmi_vmspace_free)(struct vmspace *vmspace); typedef struct vlapic * (*vmi_vlapic_init)(void *vmi, int vcpu); typedef void (*vmi_vlapic_cleanup)(void *vmi, struct vlapic *vlapic); typedef int (*vmi_snapshot_t)(void *vmi, struct vm_snapshot_meta *meta); -typedef int (*vmi_snapshot_vmcx_t)(void *vmi, struct vm_snapshot_meta *meta, +typedef int (*vmi_snapshot_vcpu_t)(void *vmi, struct vm_snapshot_meta *meta, int vcpu); typedef int (*vmi_restore_tsc_t)(void *vmi, int vcpuid, uint64_t now); @@ -210,7 +210,7 @@ struct vmm_ops { /* checkpoint operations */ vmi_snapshot_t snapshot; - vmi_snapshot_vmcx_t vmcx_snapshot; + vmi_snapshot_vcpu_t vcpu_snapshot; vmi_restore_tsc_t restore_tsc; }; diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index d6502e331278..fca3722ed7f4 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -2428,224 +2428,213 @@ svm_vlapic_cleanup(void *arg, struct vlapic *vlapic) static int svm_snapshot(void *arg, struct vm_snapshot_meta *meta) { - /* struct svm_softc is AMD's representation for SVM softc */ - struct svm_softc *sc; - struct svm_vcpu *vcpu; - int ret; - uint16_t i, maxcpus; - - sc = arg; - - KASSERT(sc != NULL, ("%s: arg was NULL", __func__)); - - maxcpus = vm_get_maxcpus(sc->vm); - for (i = 0; i < maxcpus; i++) { - vcpu = &sc->vcpu[i]; - - /* Snapshot swctx for virtual cpu i */ - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rbp, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rbx, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rcx, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rdx, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rdi, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rsi, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r8, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r9, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r10, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r11, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r12, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r13, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r14, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r15, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr0, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr1, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr2, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr3, meta, ret, done); - - /* Restore other svm_vcpu struct fields */ - - /* Restore NEXTRIP field */ - SNAPSHOT_VAR_OR_LEAVE(vcpu->nextrip, meta, ret, done); - - /* Restore lastcpu field */ - SNAPSHOT_VAR_OR_LEAVE(vcpu->lastcpu, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->dirty, meta, ret, done); - - /* Restore EPTGEN field - EPT is Extended Page Table */ - SNAPSHOT_VAR_OR_LEAVE(vcpu->eptgen, meta, ret, done); - - SNAPSHOT_VAR_OR_LEAVE(vcpu->asid.gen, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vcpu->asid.num, meta, ret, done); - - /* Set all caches dirty */ - if (meta->op == VM_SNAPSHOT_RESTORE) - svm_set_dirty(sc, i, 0xffffffff); - } - if (meta->op == VM_SNAPSHOT_RESTORE) flush_by_asid(); -done: - return (ret); + return (0); } static int -svm_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) +svm_vcpu_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpuid) { struct svm_softc *sc; + struct svm_vcpu *vcpu; int err, running, hostcpu; sc = (struct svm_softc *)arg; + vcpu = &sc->vcpu[vcpuid]; err = 0; KASSERT(arg != NULL, ("%s: arg was NULL", __func__)); - running = vcpu_is_running(sc->vm, vcpu, &hostcpu); - if (running && hostcpu !=curcpu) { - printf("%s: %s%d is running", __func__, vm_name(sc->vm), vcpu); + running = vcpu_is_running(sc->vm, vcpuid, &hostcpu); + if (running && hostcpu != curcpu) { + printf("%s: %s%d is running", __func__, vm_name(sc->vm), + vcpuid); return (EINVAL); } - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR0, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR2, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR3, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR4, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_CR0, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_CR2, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_CR3, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_CR4, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DR6, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DR7, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_DR6, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_DR7, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RAX, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_RAX, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RSP, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RIP, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RFLAGS, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_RSP, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_RIP, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_RFLAGS, meta); /* Guest segments */ /* ES */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_ES, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_ES, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_ES, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_ES, meta); /* CS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_CS, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_CS, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_CS, meta); /* SS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_SS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_SS, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_SS, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_SS, meta); /* DS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_DS, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_DS, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_DS, meta); /* FS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_FS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_FS, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_FS, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_FS, meta); /* GS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_GS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_GS, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_GS, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_GS, meta); /* TR */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_TR, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_TR, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_TR, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_TR, meta); /* LDTR */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_LDTR, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_LDTR, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_LDTR, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_LDTR, meta); /* EFER */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_EFER, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_EFER, meta); /* IDTR and GDTR */ - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_IDTR, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_GDTR, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_IDTR, meta); + err += vmcb_snapshot_desc(sc, vcpuid, VM_REG_GUEST_GDTR, meta); /* Specific AMD registers */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_INTR_SHADOW, meta); + err += svm_snapshot_reg(sc, vcpuid, VM_REG_GUEST_INTR_SHADOW, meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_CR_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_DR_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_EXC_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_INST1_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_INST2_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_PAUSE_FILTHRESH, 2), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_PAUSE_FILCNT, 2), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_ASID, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_TLB_CTRL, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_VIRQ, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_EXIT_REASON, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_EXITINFO1, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_EXITINFO2, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_EXITINTINFO, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_NP_ENABLE, 1), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_AVIC_BAR, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_AVIC_PAGE, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_AVIC_LT, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_AVIC_PT, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_CPL, 1), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_STAR, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_LSTAR, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_CSTAR, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_SFMASK, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_KERNELGBASE, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_SYSENTER_CS, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_SYSENTER_ESP, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_SYSENTER_EIP, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_GUEST_PAT, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_DBGCTL, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_BR_FROM, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_BR_TO, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_INT_FROM, 8), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(sc, vcpuid, VMCB_ACCESS(VMCB_OFF_INT_TO, 8), meta); + if (err != 0) + goto done; + /* Snapshot swctx for virtual cpu */ + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rbp, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rbx, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rcx, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rdx, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rdi, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_rsi, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r8, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r9, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r10, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r11, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r12, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r13, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r14, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_r15, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr0, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr1, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr2, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->swctx.sctx_dr3, meta, err, done); + + /* Restore other svm_vcpu struct fields */ + + /* Restore NEXTRIP field */ + SNAPSHOT_VAR_OR_LEAVE(vcpu->nextrip, meta, err, done); + + /* Restore lastcpu field */ + SNAPSHOT_VAR_OR_LEAVE(vcpu->lastcpu, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->dirty, meta, err, done); + + /* Restore EPTGEN field - EPT is Extended Page Table */ + SNAPSHOT_VAR_OR_LEAVE(vcpu->eptgen, meta, err, done); + + SNAPSHOT_VAR_OR_LEAVE(vcpu->asid.gen, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vcpu->asid.num, meta, err, done); + + /* Set all caches dirty */ + if (meta->op == VM_SNAPSHOT_RESTORE) + svm_set_dirty(sc, vcpuid, 0xffffffff); +done: return (err); } @@ -2679,7 +2668,7 @@ const struct vmm_ops vmm_ops_amd = { .vlapic_cleanup = svm_vlapic_cleanup, #ifdef BHYVE_SNAPSHOT .snapshot = svm_snapshot, - .vmcx_snapshot = svm_vmcx_snapshot, + .vcpu_snapshot = svm_vcpu_snapshot, .restore_tsc = svm_restore_tsc, #endif }; diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 8b71ed2e39c1..7ece03a44952 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -4102,67 +4102,29 @@ vmx_vlapic_cleanup(void *arg, struct vlapic *vlapic) static int vmx_snapshot(void *arg, struct vm_snapshot_meta *meta) { - struct vmx *vmx; - struct vmx_vcpu *vcpu; - struct vmxctx *vmxctx; - int ret; - uint16_t i, maxcpus; - - vmx = arg; - - KASSERT(vmx != NULL, ("%s: arg was NULL", __func__)); - - maxcpus = vm_get_maxcpus(vmx->vm); - for (i = 0; i < maxcpus; i++) { - vcpu = &vmx->vcpus[i]; - - SNAPSHOT_BUF_OR_LEAVE(vcpu->guest_msrs, - sizeof(vcpu->guest_msrs), meta, ret, done); - - vmxctx = &vcpu->ctx; - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rdi, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rsi, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rdx, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rcx, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r8, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r9, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rax, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rbx, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rbp, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r10, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r11, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r12, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r13, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r14, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r15, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_cr2, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr0, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr1, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr2, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr3, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr6, meta, ret, done); - } - -done: - return (ret); + return (0); } static int -vmx_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) +vmx_vcpu_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpuid) { struct vmcs *vmcs; struct vmx *vmx; + struct vmx_vcpu *vcpu; + struct vmxctx *vmxctx; int err, run, hostcpu; vmx = (struct vmx *)arg; err = 0; KASSERT(arg != NULL, ("%s: arg was NULL", __func__)); - vmcs = vmx->vcpus[vcpu].vmcs; + vcpu = &vmx->vcpus[vcpuid]; + vmcs = vcpu->vmcs; - run = vcpu_is_running(vmx->vm, vcpu, &hostcpu); + run = vcpu_is_running(vmx->vm, vcpuid, &hostcpu); if (run && hostcpu != curcpu) { - printf("%s: %s%d is running", __func__, vm_name(vmx->vm), vcpu); + printf("%s: %s%d is running", __func__, vm_name(vmx->vm), + vcpuid); return (EINVAL); } @@ -4218,7 +4180,36 @@ vmx_vmcx_snapshot(void *arg, struct vm_snapshot_meta *meta, int vcpu) err += vmcs_snapshot_any(vmcs, run, VMCS_GUEST_ACTIVITY, meta); err += vmcs_snapshot_any(vmcs, run, VMCS_ENTRY_CTLS, meta); err += vmcs_snapshot_any(vmcs, run, VMCS_EXIT_CTLS, meta); + if (err != 0) + goto done; + + SNAPSHOT_BUF_OR_LEAVE(vcpu->guest_msrs, + sizeof(vcpu->guest_msrs), meta, err, done); + + vmxctx = &vcpu->ctx; + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rdi, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rsi, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rdx, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rcx, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r8, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r9, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rax, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rbx, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_rbp, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r10, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r11, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r12, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r13, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r14, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_r15, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_cr2, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr0, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr1, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr2, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr3, meta, err, done); + SNAPSHOT_VAR_OR_LEAVE(vmxctx->guest_dr6, meta, err, done); +done: return (err); } @@ -4268,7 +4259,7 @@ const struct vmm_ops vmm_ops_intel = { .vlapic_cleanup = vmx_vlapic_cleanup, #ifdef BHYVE_SNAPSHOT .snapshot = vmx_snapshot, - .vmcx_snapshot = vmx_vmcx_snapshot, + .vcpu_snapshot = vmx_vcpu_snapshot, .restore_tsc = vmx_restore_tsc, #endif }; diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 9b285df04092..0b1df029274e 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -229,7 +229,7 @@ DEFINE_VMMOPS_IFUNC(void, vlapic_cleanup, (void *vmi, struct vlapic *vlapic)) #ifdef BHYVE_SNAPSHOT DEFINE_VMMOPS_IFUNC(int, snapshot, (void *vmi, struct vm_snapshot_meta *meta)) -DEFINE_VMMOPS_IFUNC(int, vmcx_snapshot, (void *vmi, struct vm_snapshot_meta +DEFINE_VMMOPS_IFUNC(int, vcpu_snapshot, (void *vmi, struct vm_snapshot_meta *meta, int vcpu)) DEFINE_VMMOPS_IFUNC(int, restore_tsc, (void *vmi, int vcpuid, uint64_t now)) #endif @@ -2858,7 +2858,7 @@ vm_snapshot_vmcx(struct vm *vm, struct vm_snapshot_meta *meta) maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { - error = vmmops_vmcx_snapshot(vm->cookie, meta, i); + error = vmmops_vcpu_snapshot(vm->cookie, meta, i); if (error != 0) { printf("%s: failed to snapshot vmcs/vmcb data for " "vCPU: %d; error: %d\n", __func__, i, error); From nobody Thu Jan 26 22:11:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0Z0CNGz3c83q; Thu, 26 Jan 2023 22:11: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 4P2w0Y6rRkz3tsg; Thu, 26 Jan 2023 22: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=1674771102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YAwEyCxPk43Zib+qNLc0lsT03H1d3Zi39QIrG+c2CHo=; b=oFNPz4p3HK8A3mLazqYu1wNwXYYo2mL4TRrlaJbdIPuZO6uF7ds6LJi4msgxv/mQSKbHit mdbr2Y2COcs+Etgv6IIdm7YZ9mNSAG3pV8p5D6MbEIOLyuPvTC64vAseCbddoKcKMG8MNL KT5qyP/u5fEcYkf4cmUPqv7GdaYC/yBcO9Orrv+hSx/qlaIwqKnC480pLE9cBOPdyd0gNb Z00TLA6wH9EZf9ZKYpK9dcECzgaOqQm0zqNYVgAIrNk7kIJ3tHFM806KQI+7Dh4MRd/sNR 5MGNqfutFNRv5sWZogMOk3uznqCdTDANcKYI4/Fl2b4SE+QrcA5zOdd1D+14TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YAwEyCxPk43Zib+qNLc0lsT03H1d3Zi39QIrG+c2CHo=; b=PsyDqeatN66VKcOx83eFgw7/xWAadcR0ZCGb+sllwK40+FeJ7G8niqktG0Dase163t056g RG3VyzUser/hLS0G2YxCLPlTuA0iR1vpvdUaSfMQsbz2JucTSl4uP2TKAEcb805DxBUcNb UY9xeh5aW77UBqRRBSuRUBb4S+WAInZEldtIExJuO+kdda1bN+VLd2KP7I4DLAaHbxZlxv 8ctNUGogJIaPEYgx2+QLIZVmCc0ixeG2Ie4IR6+b4l2flEpqw8SibWr21ZU7+JpT7KSc5k eEpdozo8czyNMlEqzAKH3uLTWl+NS1DdG1qb1BPg2erN2KsP2KHKJ//sd0xs7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771102; a=rsa-sha256; cv=none; b=LdZo1b7Vr/3JnrlFbOdZBQfLkcALjmpfmms0Og2qNtPLmSuiERN3CtniLdtTsKEVRSEsTA 3c7BNBl2phYw2IEK1qDG5RDIHR4VIjf41IlJTw8tdKhDmgUwoUTZWp/in0guuATkg49pb3 k6iaYtwVJLcMHQ7xgdWRRNo3Zm2k6KGQZ3hStHv3W7Qnzvmz6q4kL2nFaw6Z/W5eLG4i49 Y2OVcpbsg1PDAjfatRxC06NogNSGvFao4Y5o9h86jbsy8AfALpQERfgDgLO3sXVBIYeJo+ Eb+StejDol/IEhP1h6MekqgoIC99jZQB3Mrc8S1P14sqW0capDsxRy0fE6n+jA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0Y5gmzzm5T; Thu, 26 Jan 2023 22:11:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBfwN019161; Thu, 26 Jan 2023 22:11:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBfxq019149; Thu, 26 Jan 2023 22:11:41 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:41 GMT Message-Id: <202301262211.30QMBfxq019149@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: bf5683caedae - stable/13 - vmm vmx: Add a global bool to indicate if the host has the TSC_AUX MSR. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bf5683caedae298a17dfed91aeddb8249772c136 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bf5683caedae298a17dfed91aeddb8249772c136 commit bf5683caedae298a17dfed91aeddb8249772c136 Author: John Baldwin AuthorDate: 2022-11-18 17:58:56 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:44:42 +0000 vmm vmx: Add a global bool to indicate if the host has the TSC_AUX MSR. A future commit will remove direct access to vCPU structures from struct vmx, so add a dedicated boolean for this rather than checking the capabilities for vCPU 0. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37269 (cherry picked from commit 73abae4493782e44a3382b15f5563c3f400bf51f) --- sys/amd64/vmm/intel/vmx.c | 6 +++++- sys/amd64/vmm/intel/vmx.h | 16 ++-------------- sys/amd64/vmm/intel/vmx_msr.c | 6 +++--- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 7ece03a44952..96e7907622cf 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -127,6 +127,8 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_VMX, "vmx", "vmx"); static MALLOC_DEFINE(M_VLAPIC, "vlapic", "vlapic"); +bool vmx_have_msr_tsc_aux; + SYSCTL_DECL(_hw_vmm); SYSCTL_NODE(_hw_vmm, OID_AUTO, vmx, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, NULL); @@ -821,8 +823,10 @@ vmx_modinit(int ipinum) PROCBASED2_ENABLE_RDTSCP, 0, &tmp); cap_rdpid = error == 0 && host_has_rdpid(); cap_rdtscp = error == 0 && host_has_rdtscp(); - if (cap_rdpid || cap_rdtscp) + if (cap_rdpid || cap_rdtscp) { procbased_ctls2 |= PROCBASED2_ENABLE_RDTSCP; + vmx_have_msr_tsc_aux = true; + } cap_unrestricted_guest = (vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS2, MSR_VMX_PROCBASED_CTLS2, diff --git a/sys/amd64/vmm/intel/vmx.h b/sys/amd64/vmm/intel/vmx.h index 8168b82bfe5c..39594473cd43 100644 --- a/sys/amd64/vmm/intel/vmx.h +++ b/sys/amd64/vmm/intel/vmx.h @@ -142,6 +142,8 @@ struct vmx { long eptgen[MAXCPU]; /* cached pmap->pm_eptgen */ }; +extern bool vmx_have_msr_tsc_aux; + #define VMX_GUEST_VMEXIT 0 #define VMX_VMRESUME_ERROR 1 #define VMX_VMLAUNCH_ERROR 2 @@ -156,18 +158,4 @@ int vmx_set_tsc_offset(struct vmx *vmx, int vcpu, uint64_t offset); extern char vmx_exit_guest[]; extern char vmx_exit_guest_flush_rsb[]; -static inline bool -vmx_have_msr_tsc_aux(struct vmx *vmx) -{ - int rdpid_rdtscp_bits = ((1 << VM_CAP_RDPID) | (1 << VM_CAP_RDTSCP)); - - /* - * Since the values of these bits are uniform across all vCPUs - * (see discussion in vmx_modinit() and initialization of these bits - * in vmx_init()), just always use vCPU-zero's capability set and - * remove the need to require a vcpuid argument. - */ - return ((vmx->vcpus[0].cap.set & rdpid_rdtscp_bits) != 0); -} - #endif diff --git a/sys/amd64/vmm/intel/vmx_msr.c b/sys/amd64/vmm/intel/vmx_msr.c index 0d4e86edf60c..40f0057f2cdd 100644 --- a/sys/amd64/vmm/intel/vmx_msr.c +++ b/sys/amd64/vmm/intel/vmx_msr.c @@ -366,7 +366,7 @@ vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, int vcpuid) uint64_t guest_tsc_aux = vmx_vcpu->guest_msrs[IDX_MSR_TSC_AUX]; uint32_t host_aux = cpu_auxmsr(); - if (vmx_have_msr_tsc_aux(vmx) && guest_tsc_aux != host_aux) + if (vmx_have_msr_tsc_aux && guest_tsc_aux != host_aux) wrmsr(MSR_TSC_AUX, guest_tsc_aux); } @@ -398,7 +398,7 @@ vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) uint64_t guest_tsc_aux = vmx_vcpu->guest_msrs[IDX_MSR_TSC_AUX]; uint32_t host_aux = cpu_auxmsr(); - if (vmx_have_msr_tsc_aux(vmx) && guest_tsc_aux != host_aux) + if (vmx_have_msr_tsc_aux && guest_tsc_aux != host_aux) /* * Note that it is not necessary to save the guest value * here; vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX] always @@ -505,7 +505,7 @@ vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t val, bool *retu) error = vmx_set_tsc_offset(vmx, vcpuid, val - rdtsc()); break; case MSR_TSC_AUX: - if (vmx_have_msr_tsc_aux(vmx)) + if (vmx_have_msr_tsc_aux) /* * vmx_msr_guest_enter_tsc_aux() will apply this * value when it is called immediately before guest From nobody Thu Jan 26 22:11:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0b3fSNz3c83s; Thu, 26 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w0b0wy0z3vHd; Thu, 26 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ue0igSeemvnOoeBqIVwOrarBlloGKAeuDyY5FUq1Pa4=; b=cWu1Otp+vFvBugVyQMx1i5Cx/MYcy9dwnTtM34iOGyB8R8y6Zpzl0p7VD5MqmOS3LDW8xj ZqCcv6Hivwzcr9/Ju8fTzZ1GW/aZAwiW2xGv84edIbIfH/rm3v/X9wxuof9rEhPq1bslfZ Gsl4qK3PZqWLKGWy8Gkw4IXt9Vqdm3q3cKR9cUi9CsvOCfW1pDjO5YS8lGEYQcapzv+Il0 N0JQICjQROBjffKdbp6Bod6fkJfzLhbYXNm9g9Y4HJ6WYwxQLRWcQO0/3NYogvR8KV5jBH X2KAXohEgK6GOOGWP7tQSC1T/CUBCQhXZvqQLEHcyxS0cI8IWwfQ7CGmn/UL8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ue0igSeemvnOoeBqIVwOrarBlloGKAeuDyY5FUq1Pa4=; b=foFOm17td3SPnYphpNngE4tjSCWo8s4/qEkkGux/TOfin1onyAZFdALSlat2TqEVLv8w8U 0BBLyS//uudvU6jx0Bv0V8DtqPiaPDbRkGMnjxKZ5oGgxAy1DfVk932qypvcd93d6b0ZVt 00Ok3LpVGNqYDt4/KZcGT0L9N+JW7CqeJlBLYFXPOzfvBulZXR8T/TvC6nTYBQeoLgk58X KWCu+eFiNqjFaEDVj2JVHKVA5NShJjvvHOGaga+gj3o5IV/6ozsNEhwgQLAtYPdft6YF88 60gASG01uX8sf+xZGBvUT+w9pQgL8OrtBnWq/hjBWOqKSVYAoABkYEGwSpeXSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771103; a=rsa-sha256; cv=none; b=srkhFJJuJiE0LORNcTUnnSJFe7DDAAloHiLwxQFFBkoxRIEGRNvmS14GPgooPhb/TMj47S cgPXgyggeHTCW6c0IGOy7YV1Wbruy95qC2ypyyeWhW3CC71pR88EVBOuvJUcVGIwyJmI1E nA9pLDJ1byxl7SeIkumgTrYDXbOAM1582Tqfr5P+JOpcHjEBiRnX5DSgPX8c2GWoRLXLJ9 v4wABgUU1VizYOS0uTsQqaiu0lLWU88aDcndBOQG9H9VByrq+Q+rnS0pmUXFWqa/68xQb/ zWpQ0s25IrGvIkOE5pmFa8kmy5ZLFPKuHcTPyOgYVt1u5mlCrqFhaq9UThrZsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0Z61qHzm5V; Thu, 26 Jan 2023 22:11:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBg8h020794; Thu, 26 Jan 2023 22:11:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBgxY020710; Thu, 26 Jan 2023 22:11:42 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:42 GMT Message-Id: <202301262211.30QMBgxY020710@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 6fc2d2dbe235 - stable/13 - vmm: Refactor storage of CPU-dependent per-vCPU data. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6fc2d2dbe2354f99c3973f1d855479d9dd65232e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6fc2d2dbe2354f99c3973f1d855479d9dd65232e commit 6fc2d2dbe2354f99c3973f1d855479d9dd65232e Author: John Baldwin AuthorDate: 2022-11-18 17:59:21 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:44:52 +0000 vmm: Refactor storage of CPU-dependent per-vCPU data. Rather than storing static arrays of per-vCPU data in the CPU-specific per-VM structure, adopt a more dynamic model similar to that used to manage CPU-specific per-VM data. That is, add new vmmops methods to init and cleanup a single vCPU. The init method returns a pointer that is stored in 'struct vcpu' as a cookie pointer. This cookie pointer is now passed to other vmmops callbacks in place of the integer index. The index is now only used in KTR traces and when calling back into the CPU-independent layer. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37151 (cherry picked from commit 1aa5150479bf35c90c6770e6ea90e8462cfb6bf9) --- sys/amd64/include/vmm.h | 24 +- sys/amd64/vmm/amd/svm.c | 606 ++++++++++++++++--------------- sys/amd64/vmm/amd/svm.h | 4 +- sys/amd64/vmm/amd/svm_msr.c | 21 +- sys/amd64/vmm/amd/svm_msr.h | 15 +- sys/amd64/vmm/amd/svm_softc.h | 34 +- sys/amd64/vmm/amd/vmcb.c | 80 ++--- sys/amd64/vmm/amd/vmcb.h | 23 +- sys/amd64/vmm/intel/vmx.c | 809 ++++++++++++++++++++++-------------------- sys/amd64/vmm/intel/vmx.h | 12 +- sys/amd64/vmm/intel/vmx_msr.c | 74 ++-- sys/amd64/vmm/intel/vmx_msr.h | 16 +- sys/amd64/vmm/vmm.c | 65 ++-- 13 files changed, 926 insertions(+), 857 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 62456fe9d12d..9f76eda9d8e8 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -167,27 +167,29 @@ typedef int (*vmm_init_func_t)(int ipinum); typedef int (*vmm_cleanup_func_t)(void); typedef void (*vmm_resume_func_t)(void); typedef void * (*vmi_init_func_t)(struct vm *vm, struct pmap *pmap); -typedef int (*vmi_run_func_t)(void *vmi, int vcpu, register_t rip, +typedef int (*vmi_run_func_t)(void *vmi, void *vcpui, register_t rip, struct pmap *pmap, struct vm_eventinfo *info); typedef void (*vmi_cleanup_func_t)(void *vmi); -typedef int (*vmi_get_register_t)(void *vmi, int vcpu, int num, +typedef void * (*vmi_vcpu_init_func_t)(void *vmi, int vcpu_id); +typedef void (*vmi_vcpu_cleanup_func_t)(void *vmi, void *vcpui); +typedef int (*vmi_get_register_t)(void *vmi, void *vcpui, int num, uint64_t *retval); -typedef int (*vmi_set_register_t)(void *vmi, int vcpu, int num, +typedef int (*vmi_set_register_t)(void *vmi, void *vcpui, int num, uint64_t val); -typedef int (*vmi_get_desc_t)(void *vmi, int vcpu, int num, +typedef int (*vmi_get_desc_t)(void *vmi, void *vcpui, int num, struct seg_desc *desc); -typedef int (*vmi_set_desc_t)(void *vmi, int vcpu, int num, +typedef int (*vmi_set_desc_t)(void *vmi, void *vcpui, int num, struct seg_desc *desc); -typedef int (*vmi_get_cap_t)(void *vmi, int vcpu, int num, int *retval); -typedef int (*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val); +typedef int (*vmi_get_cap_t)(void *vmi, void *vcpui, int num, int *retval); +typedef int (*vmi_set_cap_t)(void *vmi, void *vcpui, int num, int val); typedef struct vmspace * (*vmi_vmspace_alloc)(vm_offset_t min, vm_offset_t max); typedef void (*vmi_vmspace_free)(struct vmspace *vmspace); -typedef struct vlapic * (*vmi_vlapic_init)(void *vmi, int vcpu); +typedef struct vlapic * (*vmi_vlapic_init)(void *vmi, void *vcpui); typedef void (*vmi_vlapic_cleanup)(void *vmi, struct vlapic *vlapic); typedef int (*vmi_snapshot_t)(void *vmi, struct vm_snapshot_meta *meta); typedef int (*vmi_snapshot_vcpu_t)(void *vmi, struct vm_snapshot_meta *meta, - int vcpu); -typedef int (*vmi_restore_tsc_t)(void *vmi, int vcpuid, uint64_t now); + void *vcpui); +typedef int (*vmi_restore_tsc_t)(void *vmi, void *vcpui, uint64_t now); struct vmm_ops { vmm_init_func_t modinit; /* module wide initialization */ @@ -197,6 +199,8 @@ struct vmm_ops { vmi_init_func_t init; /* vm-specific initialization */ vmi_run_func_t run; vmi_cleanup_func_t cleanup; + vmi_vcpu_init_func_t vcpu_init; + vmi_vcpu_cleanup_func_t vcpu_cleanup; vmi_get_register_t getreg; vmi_set_register_t setreg; vmi_get_desc_t getdesc; diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index fca3722ed7f4..dee88f11dce2 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -132,8 +132,8 @@ static VMM_STAT_AMD(VCPU_EXITINTINFO, "VM exits during event delivery"); static VMM_STAT_AMD(VCPU_INTINFO_INJECTED, "Events pending at VM entry"); static VMM_STAT_AMD(VMEXIT_VINTR, "VM exits due to interrupt window"); -static int svm_getdesc(void *arg, int vcpu, int reg, struct seg_desc *desc); -static int svm_setreg(void *arg, int vcpu, int ident, uint64_t val); +static int svm_getdesc(void *arg, void *vcpui, int reg, struct seg_desc *desc); +static int svm_setreg(void *arg, void *vcpui, int ident, uint64_t val); static __inline int flush_by_asid(void) @@ -283,18 +283,18 @@ svm_modresume(void) #ifdef BHYVE_SNAPSHOT int -svm_set_tsc_offset(struct svm_softc *sc, int vcpu, uint64_t offset) +svm_set_tsc_offset(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t offset) { int error; struct vmcb_ctrl *ctrl; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); ctrl->tsc_offset = offset; - svm_set_dirty(sc, vcpu, VMCB_CACHE_I); - VCPU_CTR1(sc->vm, vcpu, "tsc offset changed to %#lx", offset); + svm_set_dirty(vcpu, VMCB_CACHE_I); + VCPU_CTR1(sc->vm, vcpu->vcpuid, "tsc offset changed to %#lx", offset); - error = vm_set_tsc_offset(sc->vm, vcpu, offset); + error = vm_set_tsc_offset(sc->vm, vcpu->vcpuid, offset); return (error); } @@ -382,26 +382,27 @@ svm_msr_rd_ok(uint8_t *perm_bitmap, uint64_t msr) } static __inline int -svm_get_intercept(struct svm_softc *sc, int vcpu, int idx, uint32_t bitmask) +svm_get_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int idx, + uint32_t bitmask) { struct vmcb_ctrl *ctrl; KASSERT(idx >=0 && idx < 5, ("invalid intercept index %d", idx)); - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); return (ctrl->intercept[idx] & bitmask ? 1 : 0); } static __inline void -svm_set_intercept(struct svm_softc *sc, int vcpu, int idx, uint32_t bitmask, - int enabled) +svm_set_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int idx, + uint32_t bitmask, int enabled) { struct vmcb_ctrl *ctrl; uint32_t oldval; KASSERT(idx >=0 && idx < 5, ("invalid intercept index %d", idx)); - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); oldval = ctrl->intercept[idx]; if (enabled) @@ -410,28 +411,30 @@ svm_set_intercept(struct svm_softc *sc, int vcpu, int idx, uint32_t bitmask, ctrl->intercept[idx] &= ~bitmask; if (ctrl->intercept[idx] != oldval) { - svm_set_dirty(sc, vcpu, VMCB_CACHE_I); - VCPU_CTR3(sc->vm, vcpu, "intercept[%d] modified " + svm_set_dirty(vcpu, VMCB_CACHE_I); + VCPU_CTR3(sc->vm, vcpu->vcpuid, "intercept[%d] modified " "from %#x to %#x", idx, oldval, ctrl->intercept[idx]); } } static __inline void -svm_disable_intercept(struct svm_softc *sc, int vcpu, int off, uint32_t bitmask) +svm_disable_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int off, + uint32_t bitmask) { svm_set_intercept(sc, vcpu, off, bitmask, 0); } static __inline void -svm_enable_intercept(struct svm_softc *sc, int vcpu, int off, uint32_t bitmask) +svm_enable_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int off, + uint32_t bitmask) { svm_set_intercept(sc, vcpu, off, bitmask, 1); } static void -vmcb_init(struct svm_softc *sc, int vcpu, uint64_t iopm_base_pa, +vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, uint64_t msrpm_base_pa, uint64_t np_pml4) { struct vmcb_ctrl *ctrl; @@ -439,8 +442,8 @@ vmcb_init(struct svm_softc *sc, int vcpu, uint64_t iopm_base_pa, uint32_t mask; int n; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); - state = svm_get_vmcb_state(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); + state = svm_get_vmcb_state(vcpu); ctrl->iopm_base_pa = iopm_base_pa; ctrl->msrpm_base_pa = msrpm_base_pa; @@ -465,7 +468,7 @@ vmcb_init(struct svm_softc *sc, int vcpu, uint64_t iopm_base_pa, * Intercept everything when tracing guest exceptions otherwise * just intercept machine check exception. */ - if (vcpu_trace_exceptions(sc->vm, vcpu)) { + if (vcpu_trace_exceptions(sc->vm, vcpu->vcpuid)) { for (n = 0; n < 32; n++) { /* * Skip unimplemented vectors in the exception bitmap. @@ -506,7 +509,7 @@ vmcb_init(struct svm_softc *sc, int vcpu, uint64_t iopm_base_pa, svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_CLGI); svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_SKINIT); svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_ICEBP); - if (vcpu_trap_wbinvd(sc->vm, vcpu)) { + if (vcpu_trap_wbinvd(sc->vm, vcpu->vcpuid)) { svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_WBINVD); } @@ -559,10 +562,6 @@ static void * svm_init(struct vm *vm, pmap_t pmap) { struct svm_softc *svm_sc; - struct svm_vcpu *vcpu; - vm_paddr_t msrpm_pa, iopm_pa, pml4_pa; - int i; - uint16_t maxcpus; svm_sc = malloc(sizeof (*svm_sc), M_SVM, M_WAITOK | M_ZERO); @@ -576,7 +575,7 @@ svm_init(struct vm *vm, pmap_t pmap) panic("contigmalloc of SVM IO bitmap failed"); svm_sc->vm = vm; - svm_sc->nptp = (vm_offset_t)vtophys(pmap->pm_pmltop); + svm_sc->nptp = vtophys(pmap->pm_pmltop); /* * Intercept read and write accesses to all MSRs. @@ -611,23 +610,28 @@ svm_init(struct vm *vm, pmap_t pmap) /* Intercept access to all I/O ports. */ memset(svm_sc->iopm_bitmap, 0xFF, SVM_IO_BITMAP_SIZE); - iopm_pa = vtophys(svm_sc->iopm_bitmap); - msrpm_pa = vtophys(svm_sc->msr_bitmap); - pml4_pa = svm_sc->nptp; - maxcpus = vm_get_maxcpus(svm_sc->vm); - for (i = 0; i < maxcpus; i++) { - vcpu = svm_get_vcpu(svm_sc, i); - vcpu->vmcb = malloc_aligned(sizeof(struct vmcb), PAGE_SIZE, - M_SVM, M_WAITOK | M_ZERO); - vcpu->nextrip = ~0; - vcpu->lastcpu = NOCPU; - vcpu->vmcb_pa = vtophys(vcpu->vmcb); - vmcb_init(svm_sc, i, iopm_pa, msrpm_pa, pml4_pa); - svm_msr_guest_init(svm_sc, i); - } return (svm_sc); } +static void * +svm_vcpu_init(void *arg, int vcpuid) +{ + struct svm_softc *sc = arg; + struct svm_vcpu *vcpu; + + vcpu = malloc(sizeof(*vcpu), M_SVM, M_WAITOK | M_ZERO); + vcpu->vcpuid = vcpuid; + vcpu->vmcb = malloc_aligned(sizeof(struct vmcb), PAGE_SIZE, M_SVM, + M_WAITOK | M_ZERO); + vcpu->nextrip = ~0; + vcpu->lastcpu = NOCPU; + vcpu->vmcb_pa = vtophys(vcpu->vmcb); + vmcb_init(sc, vcpu, vtophys(sc->iopm_bitmap), vtophys(sc->msr_bitmap), + sc->nptp); + svm_msr_guest_init(sc, vcpu); + return (vcpu); +} + /* * Collateral for a generic SVM VM-exit. */ @@ -720,8 +724,8 @@ svm_inout_str_count(struct svm_regctx *regs, int rep) } static void -svm_inout_str_seginfo(struct svm_softc *svm_sc, int vcpu, int64_t info1, - int in, struct vm_inout_str *vis) +svm_inout_str_seginfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, + int64_t info1, int in, struct vm_inout_str *vis) { int error __diagused, s; @@ -774,7 +778,8 @@ svm_paging_info(struct vmcb *vmcb, struct vm_guest_paging *paging) * Handle guest I/O intercept. */ static int -svm_handle_io(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) +svm_handle_io(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, + struct vm_exit *vmexit) { struct vmcb_ctrl *ctrl; struct vmcb_state *state; @@ -783,9 +788,9 @@ svm_handle_io(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) uint64_t info1; int inout_string; - state = svm_get_vmcb_state(svm_sc, vcpu); - ctrl = svm_get_vmcb_ctrl(svm_sc, vcpu); - regs = svm_get_guest_regctx(svm_sc, vcpu); + state = svm_get_vmcb_state(vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); + regs = svm_get_guest_regctx(vcpu); info1 = ctrl->exitinfo1; inout_string = info1 & BIT(2) ? 1 : 0; @@ -811,7 +816,7 @@ svm_handle_io(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) if (inout_string) { vmexit->exitcode = VM_EXITCODE_INOUT_STR; vis = &vmexit->u.inout_str; - svm_paging_info(svm_get_vmcb(svm_sc, vcpu), &vis->paging); + svm_paging_info(svm_get_vmcb(vcpu), &vis->paging); vis->rflags = state->rflags; vis->cr0 = state->cr0; vis->index = svm_inout_str_index(regs, vmexit->u.inout.in); @@ -932,12 +937,12 @@ intrtype_to_str(int intr_type) * Inject an event to vcpu as described in section 15.20, "Event injection". */ static void -svm_eventinject(struct svm_softc *sc, int vcpu, int intr_type, int vector, - uint32_t error, bool ec_valid) +svm_eventinject(struct svm_softc *sc, struct svm_vcpu *vcpu, int intr_type, + int vector, uint32_t error, bool ec_valid) { struct vmcb_ctrl *ctrl; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); KASSERT((ctrl->eventinj & VMCB_EVENTINJ_VALID) == 0, ("%s: event already pending %#lx", __func__, ctrl->eventinj)); @@ -962,24 +967,25 @@ svm_eventinject(struct svm_softc *sc, int vcpu, int intr_type, int vector, if (ec_valid) { ctrl->eventinj |= VMCB_EVENTINJ_EC_VALID; ctrl->eventinj |= (uint64_t)error << 32; - VCPU_CTR3(sc->vm, vcpu, "Injecting %s at vector %d errcode %#x", + VCPU_CTR3(sc->vm, vcpu->vcpuid, + "Injecting %s at vector %d errcode %#x", intrtype_to_str(intr_type), vector, error); } else { - VCPU_CTR2(sc->vm, vcpu, "Injecting %s at vector %d", + VCPU_CTR2(sc->vm, vcpu->vcpuid, "Injecting %s at vector %d", intrtype_to_str(intr_type), vector); } } static void -svm_update_virqinfo(struct svm_softc *sc, int vcpu) +svm_update_virqinfo(struct svm_softc *sc, struct svm_vcpu *vcpu) { struct vm *vm; struct vlapic *vlapic; struct vmcb_ctrl *ctrl; vm = sc->vm; - vlapic = vm_lapic(vm, vcpu); - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + vlapic = vm_lapic(vm, vcpu->vcpuid); + ctrl = svm_get_vmcb_ctrl(vcpu); /* Update %cr8 in the emulated vlapic */ vlapic_set_cr8(vlapic, ctrl->v_tpr); @@ -990,12 +996,14 @@ svm_update_virqinfo(struct svm_softc *sc, int vcpu) } static void -svm_save_intinfo(struct svm_softc *svm_sc, int vcpu) +svm_save_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) { struct vmcb_ctrl *ctrl; uint64_t intinfo; + int vcpuid; - ctrl = svm_get_vmcb_ctrl(svm_sc, vcpu); + vcpuid = vcpu->vcpuid; + ctrl = svm_get_vmcb_ctrl(vcpu); intinfo = ctrl->exitintinfo; if (!VMCB_EXITINTINFO_VALID(intinfo)) return; @@ -1006,15 +1014,15 @@ svm_save_intinfo(struct svm_softc *svm_sc, int vcpu) * If a #VMEXIT happened during event delivery then record the event * that was being delivered. */ - VCPU_CTR2(svm_sc->vm, vcpu, "SVM:Pending INTINFO(0x%lx), vector=%d.\n", + VCPU_CTR2(svm_sc->vm, vcpuid, "SVM:Pending INTINFO(0x%lx), vector=%d.\n", intinfo, VMCB_EXITINTINFO_VECTOR(intinfo)); - vmm_stat_incr(svm_sc->vm, vcpu, VCPU_EXITINTINFO, 1); - vm_exit_intinfo(svm_sc->vm, vcpu, intinfo); + vmm_stat_incr(svm_sc->vm, vcpuid, VCPU_EXITINTINFO, 1); + vm_exit_intinfo(svm_sc->vm, vcpuid, intinfo); } #ifdef INVARIANTS static __inline int -vintr_intercept_enabled(struct svm_softc *sc, int vcpu) +vintr_intercept_enabled(struct svm_softc *sc, struct svm_vcpu *vcpu) { return (svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, @@ -1023,11 +1031,11 @@ vintr_intercept_enabled(struct svm_softc *sc, int vcpu) #endif static __inline void -enable_intr_window_exiting(struct svm_softc *sc, int vcpu) +enable_intr_window_exiting(struct svm_softc *sc, struct svm_vcpu *vcpu) { struct vmcb_ctrl *ctrl; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); if (ctrl->v_irq && ctrl->v_intr_vector == 0) { KASSERT(ctrl->v_ign_tpr, ("%s: invalid v_ign_tpr", __func__)); @@ -1036,20 +1044,20 @@ enable_intr_window_exiting(struct svm_softc *sc, int vcpu) return; } - VCPU_CTR0(sc->vm, vcpu, "Enable intr window exiting"); + VCPU_CTR0(sc->vm, vcpu->vcpuid, "Enable intr window exiting"); ctrl->v_irq = 1; ctrl->v_ign_tpr = 1; ctrl->v_intr_vector = 0; - svm_set_dirty(sc, vcpu, VMCB_CACHE_TPR); + svm_set_dirty(vcpu, VMCB_CACHE_TPR); svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR); } static __inline void -disable_intr_window_exiting(struct svm_softc *sc, int vcpu) +disable_intr_window_exiting(struct svm_softc *sc, struct svm_vcpu *vcpu) { struct vmcb_ctrl *ctrl; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); if (!ctrl->v_irq && ctrl->v_intr_vector == 0) { KASSERT(!vintr_intercept_enabled(sc, vcpu), @@ -1057,35 +1065,36 @@ disable_intr_window_exiting(struct svm_softc *sc, int vcpu) return; } - VCPU_CTR0(sc->vm, vcpu, "Disable intr window exiting"); + VCPU_CTR0(sc->vm, vcpu->vcpuid, "Disable intr window exiting"); ctrl->v_irq = 0; ctrl->v_intr_vector = 0; - svm_set_dirty(sc, vcpu, VMCB_CACHE_TPR); + svm_set_dirty(vcpu, VMCB_CACHE_TPR); svm_disable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR); } static int -svm_modify_intr_shadow(struct svm_softc *sc, int vcpu, uint64_t val) +svm_modify_intr_shadow(struct svm_softc *sc, struct svm_vcpu *vcpu, + uint64_t val) { struct vmcb_ctrl *ctrl; int oldval, newval; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); oldval = ctrl->intr_shadow; newval = val ? 1 : 0; if (newval != oldval) { ctrl->intr_shadow = newval; - VCPU_CTR1(sc->vm, vcpu, "Setting intr_shadow to %d", newval); + VCPU_CTR1(sc->vm, vcpu->vcpuid, "Setting intr_shadow to %d", newval); } return (0); } static int -svm_get_intr_shadow(struct svm_softc *sc, int vcpu, uint64_t *val) +svm_get_intr_shadow(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t *val) { struct vmcb_ctrl *ctrl; - ctrl = svm_get_vmcb_ctrl(sc, vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); *val = ctrl->intr_shadow; return (0); } @@ -1096,7 +1105,7 @@ svm_get_intr_shadow(struct svm_softc *sc, int vcpu, uint64_t *val) * to track when the vcpu is done handling the NMI. */ static int -nmi_blocked(struct svm_softc *sc, int vcpu) +nmi_blocked(struct svm_softc *sc, struct svm_vcpu *vcpu) { int blocked; @@ -1106,21 +1115,21 @@ nmi_blocked(struct svm_softc *sc, int vcpu) } static void -enable_nmi_blocking(struct svm_softc *sc, int vcpu) +enable_nmi_blocking(struct svm_softc *sc, struct svm_vcpu *vcpu) { KASSERT(!nmi_blocked(sc, vcpu), ("vNMI already blocked")); - VCPU_CTR0(sc->vm, vcpu, "vNMI blocking enabled"); + VCPU_CTR0(sc->vm, vcpu->vcpuid, "vNMI blocking enabled"); svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); } static void -clear_nmi_blocking(struct svm_softc *sc, int vcpu) +clear_nmi_blocking(struct svm_softc *sc, struct svm_vcpu *vcpu) { int error __diagused; KASSERT(nmi_blocked(sc, vcpu), ("vNMI already unblocked")); - VCPU_CTR0(sc->vm, vcpu, "vNMI blocking cleared"); + VCPU_CTR0(sc->vm, vcpu->vcpuid, "vNMI blocking cleared"); /* * When the IRET intercept is cleared the vcpu will attempt to execute * the "iret" when it runs next. However, it is possible to inject @@ -1145,17 +1154,19 @@ clear_nmi_blocking(struct svm_softc *sc, int vcpu) #define EFER_MBZ_BITS 0xFFFFFFFFFFFF0200UL static int -svm_write_efer(struct svm_softc *sc, int vcpu, uint64_t newval, bool *retu) +svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, + bool *retu) { struct vm_exit *vme; struct vmcb_state *state; uint64_t changed, lma, oldval; - int error __diagused; + int error __diagused, vcpuid; - state = svm_get_vmcb_state(sc, vcpu); + state = svm_get_vmcb_state(vcpu); + vcpuid = vcpu->vcpuid; oldval = state->efer; - VCPU_CTR2(sc->vm, vcpu, "wrmsr(efer) %#lx/%#lx", oldval, newval); + VCPU_CTR2(sc->vm, vcpuid, "wrmsr(efer) %#lx/%#lx", oldval, newval); newval &= ~0xFE; /* clear the Read-As-Zero (RAZ) bits */ changed = oldval ^ newval; @@ -1179,7 +1190,7 @@ svm_write_efer(struct svm_softc *sc, int vcpu, uint64_t newval, bool *retu) goto gpf; if (newval & EFER_NXE) { - if (!vm_cpuid_capability(sc->vm, vcpu, VCC_NO_EXECUTE)) + if (!vm_cpuid_capability(sc->vm, vcpuid, VCC_NO_EXECUTE)) goto gpf; } @@ -1188,19 +1199,19 @@ svm_write_efer(struct svm_softc *sc, int vcpu, uint64_t newval, bool *retu) * this is fixed flag guest attempt to set EFER_LMSLE as an error. */ if (newval & EFER_LMSLE) { - vme = vm_exitinfo(sc->vm, vcpu); + vme = vm_exitinfo(sc->vm, vcpuid); vm_exit_svm(vme, VMCB_EXIT_MSR, 1, 0); *retu = true; return (0); } if (newval & EFER_FFXSR) { - if (!vm_cpuid_capability(sc->vm, vcpu, VCC_FFXSR)) + if (!vm_cpuid_capability(sc->vm, vcpuid, VCC_FFXSR)) goto gpf; } if (newval & EFER_TCE) { - if (!vm_cpuid_capability(sc->vm, vcpu, VCC_TCE)) + if (!vm_cpuid_capability(sc->vm, vcpuid, VCC_TCE)) goto gpf; } @@ -1208,18 +1219,18 @@ svm_write_efer(struct svm_softc *sc, int vcpu, uint64_t newval, bool *retu) KASSERT(error == 0, ("%s: error %d updating efer", __func__, error)); return (0); gpf: - vm_inject_gp(sc->vm, vcpu); + vm_inject_gp(sc->vm, vcpuid); return (0); } static int -emulate_wrmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t val, - bool *retu) +emulate_wrmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, + uint64_t val, bool *retu) { int error; if (lapic_msr(num)) - error = lapic_wrmsr(sc->vm, vcpu, num, val, retu); + error = lapic_wrmsr(sc->vm, vcpu->vcpuid, num, val, retu); else if (num == MSR_EFER) error = svm_write_efer(sc, vcpu, val, retu); else @@ -1229,7 +1240,8 @@ emulate_wrmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t val, } static int -emulate_rdmsr(struct svm_softc *sc, int vcpu, u_int num, bool *retu) +emulate_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, + bool *retu) { struct vmcb_state *state; struct svm_regctx *ctx; @@ -1237,13 +1249,13 @@ emulate_rdmsr(struct svm_softc *sc, int vcpu, u_int num, bool *retu) int error; if (lapic_msr(num)) - error = lapic_rdmsr(sc->vm, vcpu, num, &result, retu); + error = lapic_rdmsr(sc->vm, vcpu->vcpuid, num, &result, retu); else error = svm_rdmsr(sc, vcpu, num, &result, retu); if (error == 0) { - state = svm_get_vmcb_state(sc, vcpu); - ctx = svm_get_guest_regctx(sc, vcpu); + state = svm_get_vmcb_state(vcpu); + ctx = svm_get_guest_regctx(vcpu); state->rax = result & 0xffffffff; ctx->sctx_rdx = result >> 32; } @@ -1324,7 +1336,8 @@ nrip_valid(uint64_t exitcode) } static int -svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) +svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, + struct vm_exit *vmexit) { struct vmcb *vmcb; struct vmcb_state *state; @@ -1333,12 +1346,14 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) uint64_t code, info1, info2, val; uint32_t eax, ecx, edx; int error __diagused, errcode_valid, handled, idtvec, reflect; + int vcpuid; bool retu; - ctx = svm_get_guest_regctx(svm_sc, vcpu); - vmcb = svm_get_vmcb(svm_sc, vcpu); + ctx = svm_get_guest_regctx(vcpu); + vmcb = svm_get_vmcb(vcpu); state = &vmcb->state; ctrl = &vmcb->ctrl; + vcpuid = vcpu->vcpuid; handled = 0; code = ctrl->exitcode; @@ -1349,7 +1364,7 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) vmexit->rip = state->rip; vmexit->inst_length = nrip_valid(code) ? ctrl->nrip - state->rip : 0; - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_COUNT, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_COUNT, 1); /* * #VMEXIT(INVALID) needs to be handled early because the VMCB is @@ -1381,18 +1396,18 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) handled = 1; break; case VMCB_EXIT_VINTR: /* interrupt window exiting */ - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_VINTR, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_VINTR, 1); handled = 1; break; case VMCB_EXIT_INTR: /* external interrupt */ - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_EXTINT, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_EXTINT, 1); handled = 1; break; case VMCB_EXIT_NMI: /* external NMI */ handled = 1; break; case 0x40 ... 0x5F: - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_EXCEPTION, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_EXCEPTION, 1); reflect = 1; idtvec = code - 0x40; switch (idtvec) { @@ -1402,7 +1417,7 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) * reflect the machine check back into the guest. */ reflect = 0; - VCPU_CTR0(svm_sc->vm, vcpu, "Vectoring to MCE handler"); + VCPU_CTR0(svm_sc->vm, vcpuid, "Vectoring to MCE handler"); __asm __volatile("int $18"); break; case IDT_PF: @@ -1436,7 +1451,7 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) * event injection is identical to what it was when * the exception originally happened. */ - VCPU_CTR2(svm_sc->vm, vcpu, "Reset inst_length from %d " + VCPU_CTR2(svm_sc->vm, vcpuid, "Reset inst_length from %d " "to zero before injecting exception %d", vmexit->inst_length, idtvec); vmexit->inst_length = 0; @@ -1452,9 +1467,9 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) if (reflect) { /* Reflect the exception back into the guest */ - VCPU_CTR2(svm_sc->vm, vcpu, "Reflecting exception " + VCPU_CTR2(svm_sc->vm, vcpuid, "Reflecting exception " "%d/%#x into the guest", idtvec, (int)info1); - error = vm_inject_exception(svm_sc->vm, vcpu, idtvec, + error = vm_inject_exception(svm_sc->vm, vcpuid, idtvec, errcode_valid, info1, 0); KASSERT(error == 0, ("%s: vm_inject_exception error %d", __func__, error)); @@ -1468,9 +1483,9 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) retu = false; if (info1) { - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_WRMSR, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_WRMSR, 1); val = (uint64_t)edx << 32 | eax; - VCPU_CTR2(svm_sc->vm, vcpu, "wrmsr %#x val %#lx", + VCPU_CTR2(svm_sc->vm, vcpuid, "wrmsr %#x val %#lx", ecx, val); if (emulate_wrmsr(svm_sc, vcpu, ecx, val, &retu)) { vmexit->exitcode = VM_EXITCODE_WRMSR; @@ -1483,8 +1498,8 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) ("emulate_wrmsr retu with bogus exitcode")); } } else { - VCPU_CTR1(svm_sc->vm, vcpu, "rdmsr %#x", ecx); - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_RDMSR, 1); + VCPU_CTR1(svm_sc->vm, vcpuid, "rdmsr %#x", ecx); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_RDMSR, 1); if (emulate_rdmsr(svm_sc, vcpu, ecx, &retu)) { vmexit->exitcode = VM_EXITCODE_RDMSR; vmexit->u.msr.code = ecx; @@ -1498,40 +1513,40 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) break; case VMCB_EXIT_IO: handled = svm_handle_io(svm_sc, vcpu, vmexit); - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_INOUT, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_INOUT, 1); break; case VMCB_EXIT_CPUID: - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_CPUID, 1); - handled = x86_emulate_cpuid(svm_sc->vm, vcpu, &state->rax, + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_CPUID, 1); + handled = x86_emulate_cpuid(svm_sc->vm, vcpuid, &state->rax, &ctx->sctx_rbx, &ctx->sctx_rcx, &ctx->sctx_rdx); break; case VMCB_EXIT_HLT: - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_HLT, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_HLT, 1); vmexit->exitcode = VM_EXITCODE_HLT; vmexit->u.hlt.rflags = state->rflags; break; case VMCB_EXIT_PAUSE: vmexit->exitcode = VM_EXITCODE_PAUSE; - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_PAUSE, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_PAUSE, 1); break; case VMCB_EXIT_NPF: /* EXITINFO2 contains the faulting guest physical address */ if (info1 & VMCB_NPF_INFO1_RSV) { - VCPU_CTR2(svm_sc->vm, vcpu, "nested page fault with " + VCPU_CTR2(svm_sc->vm, vcpuid, "nested page fault with " "reserved bits set: info1(%#lx) info2(%#lx)", info1, info2); - } else if (vm_mem_allocated(svm_sc->vm, vcpu, info2)) { + } else if (vm_mem_allocated(svm_sc->vm, vcpuid, info2)) { vmexit->exitcode = VM_EXITCODE_PAGING; vmexit->u.paging.gpa = info2; vmexit->u.paging.fault_type = npf_fault_type(info1); - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_NESTED_FAULT, 1); - VCPU_CTR3(svm_sc->vm, vcpu, "nested page fault " + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_NESTED_FAULT, 1); + VCPU_CTR3(svm_sc->vm, vcpuid, "nested page fault " "on gpa %#lx/%#lx at rip %#lx", info2, info1, state->rip); } else if (svm_npf_emul_fault(info1)) { svm_handle_inst_emul(vmcb, info2, vmexit); - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_INST_EMUL, 1); - VCPU_CTR3(svm_sc->vm, vcpu, "inst_emul fault " + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_INST_EMUL, 1); + VCPU_CTR3(svm_sc->vm, vcpuid, "inst_emul fault " "for gpa %#lx/%#lx at rip %#lx", info2, info1, state->rip); } @@ -1552,7 +1567,7 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) case VMCB_EXIT_SKINIT: case VMCB_EXIT_ICEBP: case VMCB_EXIT_INVLPGA: - vm_inject_ud(svm_sc->vm, vcpu); + vm_inject_ud(svm_sc->vm, vcpuid); handled = 1; break; case VMCB_EXIT_INVD: @@ -1561,11 +1576,11 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) handled = 1; break; default: - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_UNKNOWN, 1); + vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_UNKNOWN, 1); break; } - VCPU_CTR4(svm_sc->vm, vcpu, "%s %s vmexit at %#lx/%d", + VCPU_CTR4(svm_sc->vm, vcpuid, "%s %s vmexit at %#lx/%d", handled ? "handled" : "unhandled", exit_reason_to_str(code), vmexit->rip, vmexit->inst_length); @@ -1591,11 +1606,12 @@ svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) } static void -svm_inj_intinfo(struct svm_softc *svm_sc, int vcpu) +svm_inj_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) { uint64_t intinfo; + int vcpuid = vcpu->vcpuid; - if (!vm_entry_intinfo(svm_sc->vm, vcpu, &intinfo)) + if (!vm_entry_intinfo(svm_sc->vm, vcpuid, &intinfo)) return; KASSERT(VMCB_EXITINTINFO_VALID(intinfo), ("%s: entry intinfo is not " @@ -1605,34 +1621,34 @@ svm_inj_intinfo(struct svm_softc *svm_sc, int vcpu) VMCB_EXITINTINFO_VECTOR(intinfo), VMCB_EXITINTINFO_EC(intinfo), VMCB_EXITINTINFO_EC_VALID(intinfo)); - vmm_stat_incr(svm_sc->vm, vcpu, VCPU_INTINFO_INJECTED, 1); - VCPU_CTR1(svm_sc->vm, vcpu, "Injected entry intinfo: %#lx", intinfo); + vmm_stat_incr(svm_sc->vm, vcpuid, VCPU_INTINFO_INJECTED, 1); + VCPU_CTR1(svm_sc->vm, vcpuid, "Injected entry intinfo: %#lx", intinfo); } /* * Inject event to virtual cpu. */ static void -svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) +svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, + struct vlapic *vlapic) { struct vmcb_ctrl *ctrl; struct vmcb_state *state; - struct svm_vcpu *vcpustate; uint8_t v_tpr; int vector, need_intr_window; int extint_pending; + int vcpuid = vcpu->vcpuid; - state = svm_get_vmcb_state(sc, vcpu); - ctrl = svm_get_vmcb_ctrl(sc, vcpu); - vcpustate = svm_get_vcpu(sc, vcpu); + state = svm_get_vmcb_state(vcpu); + ctrl = svm_get_vmcb_ctrl(vcpu); need_intr_window = 0; - if (vcpustate->nextrip != state->rip) { + if (vcpu->nextrip != state->rip) { ctrl->intr_shadow = 0; - VCPU_CTR2(sc->vm, vcpu, "Guest interrupt blocking " + VCPU_CTR2(sc->vm, vcpuid, "Guest interrupt blocking " "cleared due to rip change: %#lx/%#lx", - vcpustate->nextrip, state->rip); + vcpu->nextrip, state->rip); } /* @@ -1647,19 +1663,19 @@ svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) svm_inj_intinfo(sc, vcpu); /* NMI event has priority over interrupts. */ - if (vm_nmi_pending(sc->vm, vcpu)) { + if (vm_nmi_pending(sc->vm, vcpuid)) { if (nmi_blocked(sc, vcpu)) { /* * Can't inject another NMI if the guest has not * yet executed an "iret" after the last NMI. */ - VCPU_CTR0(sc->vm, vcpu, "Cannot inject NMI due " + VCPU_CTR0(sc->vm, vcpuid, "Cannot inject NMI due " "to NMI-blocking"); } else if (ctrl->intr_shadow) { /* * Can't inject an NMI if the vcpu is in an intr_shadow. */ - VCPU_CTR0(sc->vm, vcpu, "Cannot inject NMI due to " + VCPU_CTR0(sc->vm, vcpuid, "Cannot inject NMI due to " "interrupt shadow"); need_intr_window = 1; goto done; @@ -1668,7 +1684,7 @@ svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) * If there is already an exception/interrupt pending * then defer the NMI until after that. */ - VCPU_CTR1(sc->vm, vcpu, "Cannot inject NMI due to " + VCPU_CTR1(sc->vm, vcpuid, "Cannot inject NMI due to " "eventinj %#lx", ctrl->eventinj); /* @@ -1683,7 +1699,7 @@ svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) */ ipi_cpu(curcpu, IPI_AST); /* XXX vmm_ipinum? */ } else { - vm_nmi_clear(sc->vm, vcpu); + vm_nmi_clear(sc->vm, vcpuid); /* Inject NMI, vector number is not used */ svm_eventinject(sc, vcpu, VMCB_EVENTINJ_TYPE_NMI, @@ -1692,11 +1708,11 @@ svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) /* virtual NMI blocking is now in effect */ enable_nmi_blocking(sc, vcpu); - VCPU_CTR0(sc->vm, vcpu, "Injecting vNMI"); + VCPU_CTR0(sc->vm, vcpuid, "Injecting vNMI"); } } - extint_pending = vm_extint_pending(sc->vm, vcpu); + extint_pending = vm_extint_pending(sc->vm, vcpuid); if (!extint_pending) { if (!vlapic_pending_intr(vlapic, &vector)) goto done; @@ -1714,21 +1730,21 @@ svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) * then we cannot inject the pending interrupt. */ if ((state->rflags & PSL_I) == 0) { - VCPU_CTR2(sc->vm, vcpu, "Cannot inject vector %d due to " + VCPU_CTR2(sc->vm, vcpuid, "Cannot inject vector %d due to " "rflags %#lx", vector, state->rflags); need_intr_window = 1; goto done; } if (ctrl->intr_shadow) { - VCPU_CTR1(sc->vm, vcpu, "Cannot inject vector %d due to " + VCPU_CTR1(sc->vm, vcpuid, "Cannot inject vector %d due to " "interrupt shadow", vector); need_intr_window = 1; goto done; } if (ctrl->eventinj & VMCB_EVENTINJ_VALID) { - VCPU_CTR2(sc->vm, vcpu, "Cannot inject vector %d due to " + VCPU_CTR2(sc->vm, vcpuid, "Cannot inject vector %d due to " "eventinj %#lx", vector, ctrl->eventinj); need_intr_window = 1; goto done; @@ -1739,7 +1755,7 @@ svm_inj_interrupts(struct svm_softc *sc, int vcpu, struct vlapic *vlapic) if (!extint_pending) { vlapic_intr_accepted(vlapic, vector); } else { - vm_extint_clear(sc->vm, vcpu); + vm_extint_clear(sc->vm, vcpuid); vatpic_intr_accepted(sc->vm, vector); } @@ -1765,10 +1781,10 @@ done: v_tpr = vlapic_get_cr8(vlapic); KASSERT(v_tpr <= 15, ("invalid v_tpr %#x", v_tpr)); if (ctrl->v_tpr != v_tpr) { - VCPU_CTR2(sc->vm, vcpu, "VMCB V_TPR changed from %#x to %#x", + VCPU_CTR2(sc->vm, vcpuid, "VMCB V_TPR changed from %#x to %#x", *** 3579 LINES SKIPPED *** From nobody Thu Jan 26 22:11:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0c19TRz3c865; Thu, 26 Jan 2023 22:11: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 4P2w0c0Rbnz3vPd; Thu, 26 Jan 2023 22:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRSr7xc0+8nUEJj/IHgvsv3JbBWJQ0F9brUGrzz7MTg=; b=NDdu/+NX0PoZRJpATnxXmCmuM3ur6opiOjDi+hOcM0Tm1nTNPxYqPdJFx1H3P23BUFJUIA BTKieOkEvyTJaOrZ+z19D8orOlvUVPyWwkvU1xAUblDubPe+jpPOeuAHwrVUvOUe9yjc1o Ukx2EAeFNMJGb24s7QSiRq69IG2iae7z3xiq6g1qX2CDgNqFYR++MS5bUr+jHXdhMXyl69 MVRmfSowmNLulsIjwLzrxdlcMezOC1HEDZ/niQFLVpfglEwpv5x3E1xfBhOkKlxp3OSjg8 AA9RU5wNAbHPV9il7wgc8q2QmWJdI7XuE96E/8UNbpkcstHEqHg6YFlKcLMMvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRSr7xc0+8nUEJj/IHgvsv3JbBWJQ0F9brUGrzz7MTg=; b=G+8myIFuRvZhuUZ+KqCQijjAHGhgDUFbwv0iANtUI6A/LK4lvwp7kjwwvIYvigyhL1cvFG srU4HUaAHalmIzXdaYb/9o27UYBjIeLI7Ahg1wacyKJr75GrT/PibWgE8TGtILtS95SxOl 4JaTOwWkqCq1D8YoYY58+FRSduLHXg90wTnl5oX+1Bcle28z8wJj20g7runrq9/TT3sbNX 2maUM4iG2tPgkm1Vyzshce52gcdcJIkk1mGOHgtlxgdQy2Mrkv2AAu0nQADKMp/ex1vM1H Za4K3StjRIqX+m4D+8apAWk6c8b6EChWkj9s7NFeTryJak2I7BLxK74iIjmVIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771104; a=rsa-sha256; cv=none; b=udhSNtvlBGr08T/8AMxnLnyz5mxy1ccDTMriiB+zz8JgtVQEPBqk9+w4Zrvd3KnKaT9Sn5 0/ct8VX01v4ANq7XdHd1ZVT+12NcdGULX4IGA/H1UPgiCcMfcKomMV0HFMSUY2chVLpF41 1xpgz1+JXAQRM9elu33Wa4Bu4xCrA69V2CNWbRRTCa7WIA2HcTMfa1utLxIpxZL59Q2Y/X gJXM15YdkYckrES6LFbCHHni3LVpTIcecOMtSdCAffpheb2995PRxcml4d77Qn6BZO9CBK 6CDXSVtUdx60jpj5Pp6HKTbf1R7em2dKS3wHeTRPIXgUfd48WWOFbF18sY2Usg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0b6blhzlxd; Thu, 26 Jan 2023 22:11:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBh1T021709; Thu, 26 Jan 2023 22:11:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBhgo021708; Thu, 26 Jan 2023 22:11:43 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:43 GMT Message-Id: <202301262211.30QMBhgo021708@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c97ec19b20be - stable/13 - vmm: Remove the per-vm cookie argument from vmmops taking a vcpu. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c97ec19b20bea277c2821649accbda47857698b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c97ec19b20bea277c2821649accbda47857698b4 commit c97ec19b20bea277c2821649accbda47857698b4 Author: John Baldwin AuthorDate: 2022-11-18 18:00:00 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:45:02 +0000 vmm: Remove the per-vm cookie argument from vmmops taking a vcpu. This requires storing a reference to the per-vm cookie in the CPU-specific vCPU structure. Take advantage of this new field to remove no-longer-needed function arguments in the CPU-specific backends. In particular, stop passing the per-vm cookie to functions that either don't use it or only use it for KTR traces. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37152 (cherry picked from commit 869c8d1946eb4feb8ad651abdf87af0e5c0111b4) --- sys/amd64/include/vmm.h | 29 ++- sys/amd64/vmm/amd/svm.c | 413 ++++++++++++++++++++---------------------- sys/amd64/vmm/amd/svm_softc.h | 3 + sys/amd64/vmm/amd/vmcb.c | 49 +++-- sys/amd64/vmm/amd/vmcb.h | 22 +-- sys/amd64/vmm/intel/vmx.c | 179 +++++++++--------- sys/amd64/vmm/intel/vmx.h | 2 + sys/amd64/vmm/vmm.c | 61 +++---- 8 files changed, 357 insertions(+), 401 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 9f76eda9d8e8..43a4f123f40a 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -167,29 +167,24 @@ typedef int (*vmm_init_func_t)(int ipinum); typedef int (*vmm_cleanup_func_t)(void); typedef void (*vmm_resume_func_t)(void); typedef void * (*vmi_init_func_t)(struct vm *vm, struct pmap *pmap); -typedef int (*vmi_run_func_t)(void *vmi, void *vcpui, register_t rip, +typedef int (*vmi_run_func_t)(void *vcpui, register_t rip, struct pmap *pmap, struct vm_eventinfo *info); typedef void (*vmi_cleanup_func_t)(void *vmi); typedef void * (*vmi_vcpu_init_func_t)(void *vmi, int vcpu_id); -typedef void (*vmi_vcpu_cleanup_func_t)(void *vmi, void *vcpui); -typedef int (*vmi_get_register_t)(void *vmi, void *vcpui, int num, - uint64_t *retval); -typedef int (*vmi_set_register_t)(void *vmi, void *vcpui, int num, - uint64_t val); -typedef int (*vmi_get_desc_t)(void *vmi, void *vcpui, int num, - struct seg_desc *desc); -typedef int (*vmi_set_desc_t)(void *vmi, void *vcpui, int num, - struct seg_desc *desc); -typedef int (*vmi_get_cap_t)(void *vmi, void *vcpui, int num, int *retval); -typedef int (*vmi_set_cap_t)(void *vmi, void *vcpui, int num, int val); +typedef void (*vmi_vcpu_cleanup_func_t)(void *vcpui); +typedef int (*vmi_get_register_t)(void *vcpui, int num, uint64_t *retval); +typedef int (*vmi_set_register_t)(void *vcpui, int num, uint64_t val); +typedef int (*vmi_get_desc_t)(void *vcpui, int num, struct seg_desc *desc); +typedef int (*vmi_set_desc_t)(void *vcpui, int num, struct seg_desc *desc); +typedef int (*vmi_get_cap_t)(void *vcpui, int num, int *retval); +typedef int (*vmi_set_cap_t)(void *vcpui, int num, int val); typedef struct vmspace * (*vmi_vmspace_alloc)(vm_offset_t min, vm_offset_t max); typedef void (*vmi_vmspace_free)(struct vmspace *vmspace); -typedef struct vlapic * (*vmi_vlapic_init)(void *vmi, void *vcpui); -typedef void (*vmi_vlapic_cleanup)(void *vmi, struct vlapic *vlapic); +typedef struct vlapic * (*vmi_vlapic_init)(void *vcpui); +typedef void (*vmi_vlapic_cleanup)(struct vlapic *vlapic); typedef int (*vmi_snapshot_t)(void *vmi, struct vm_snapshot_meta *meta); -typedef int (*vmi_snapshot_vcpu_t)(void *vmi, struct vm_snapshot_meta *meta, - void *vcpui); -typedef int (*vmi_restore_tsc_t)(void *vmi, void *vcpui, uint64_t now); +typedef int (*vmi_snapshot_vcpu_t)(void *vcpui, struct vm_snapshot_meta *meta); +typedef int (*vmi_restore_tsc_t)(void *vcpui, uint64_t now); struct vmm_ops { vmm_init_func_t modinit; /* module wide initialization */ diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index dee88f11dce2..fe1fc669a410 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -132,8 +132,8 @@ static VMM_STAT_AMD(VCPU_EXITINTINFO, "VM exits during event delivery"); static VMM_STAT_AMD(VCPU_INTINFO_INJECTED, "Events pending at VM entry"); static VMM_STAT_AMD(VMEXIT_VINTR, "VM exits due to interrupt window"); -static int svm_getdesc(void *arg, void *vcpui, int reg, struct seg_desc *desc); -static int svm_setreg(void *arg, void *vcpui, int ident, uint64_t val); +static int svm_getdesc(void *vcpui, int reg, struct seg_desc *desc); +static int svm_setreg(void *vcpui, int ident, uint64_t val); static __inline int flush_by_asid(void) @@ -382,8 +382,7 @@ svm_msr_rd_ok(uint8_t *perm_bitmap, uint64_t msr) } static __inline int -svm_get_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int idx, - uint32_t bitmask) +svm_get_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask) { struct vmcb_ctrl *ctrl; @@ -394,8 +393,7 @@ svm_get_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int idx, } static __inline void -svm_set_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int idx, - uint32_t bitmask, int enabled) +svm_set_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask, int enabled) { struct vmcb_ctrl *ctrl; uint32_t oldval; @@ -412,25 +410,23 @@ svm_set_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int idx, if (ctrl->intercept[idx] != oldval) { svm_set_dirty(vcpu, VMCB_CACHE_I); - VCPU_CTR3(sc->vm, vcpu->vcpuid, "intercept[%d] modified " + VCPU_CTR3(vcpu->sc->vm, vcpu->vcpuid, "intercept[%d] modified " "from %#x to %#x", idx, oldval, ctrl->intercept[idx]); } } static __inline void -svm_disable_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int off, - uint32_t bitmask) +svm_disable_intercept(struct svm_vcpu *vcpu, int off, uint32_t bitmask) { - svm_set_intercept(sc, vcpu, off, bitmask, 0); + svm_set_intercept(vcpu, off, bitmask, 0); } static __inline void -svm_enable_intercept(struct svm_softc *sc, struct svm_vcpu *vcpu, int off, - uint32_t bitmask) +svm_enable_intercept(struct svm_vcpu *vcpu, int off, uint32_t bitmask) { - svm_set_intercept(sc, vcpu, off, bitmask, 1); + svm_set_intercept(vcpu, off, bitmask, 1); } static void @@ -459,9 +455,9 @@ vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, for (n = 0; n < 16; n++) { mask = (BIT(n) << 16) | BIT(n); if (n == 0 || n == 2 || n == 3 || n == 4 || n == 8) - svm_disable_intercept(sc, vcpu, VMCB_CR_INTCPT, mask); + svm_disable_intercept(vcpu, VMCB_CR_INTCPT, mask); else - svm_enable_intercept(sc, vcpu, VMCB_CR_INTCPT, mask); + svm_enable_intercept(vcpu, VMCB_CR_INTCPT, mask); } /* @@ -476,41 +472,40 @@ vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, if (n == 2 || n == 9) { continue; } - svm_enable_intercept(sc, vcpu, VMCB_EXC_INTCPT, BIT(n)); + svm_enable_intercept(vcpu, VMCB_EXC_INTCPT, BIT(n)); } } else { - svm_enable_intercept(sc, vcpu, VMCB_EXC_INTCPT, BIT(IDT_MC)); + svm_enable_intercept(vcpu, VMCB_EXC_INTCPT, BIT(IDT_MC)); } /* Intercept various events (for e.g. I/O, MSR and CPUID accesses) */ - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IO); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_MSR); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_CPUID); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INTR); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INIT); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_NMI); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_SMI); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_SHUTDOWN); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, - VMCB_INTCPT_FERR_FREEZE); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INVD); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INVLPGA); - - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_MONITOR); - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_MWAIT); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IO); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_MSR); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_CPUID); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INTR); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INIT); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_NMI); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_SMI); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_SHUTDOWN); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_FERR_FREEZE); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INVD); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INVLPGA); + + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_MONITOR); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_MWAIT); /* * Intercept SVM instructions since AMD enables them in guests otherwise. * Non-intercepted VMMCALL causes #UD, skip it. */ - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMLOAD); - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMSAVE); - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_STGI); - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_CLGI); - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_SKINIT); - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_ICEBP); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMLOAD); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMSAVE); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_STGI); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_CLGI); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_SKINIT); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_ICEBP); if (vcpu_trap_wbinvd(sc->vm, vcpu->vcpuid)) { - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_WBINVD); } @@ -518,7 +513,7 @@ vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, * From section "Canonicalization and Consistency Checks" in APMv2 * the VMRUN intercept bit must be set to pass the consistency check. */ - svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMRUN); + svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMRUN); /* * The ASID will be set to a non-zero value just before VMRUN. @@ -614,12 +609,13 @@ svm_init(struct vm *vm, pmap_t pmap) } static void * -svm_vcpu_init(void *arg, int vcpuid) +svm_vcpu_init(void *vmi, int vcpuid) { - struct svm_softc *sc = arg; + struct svm_softc *sc = vmi; struct svm_vcpu *vcpu; vcpu = malloc(sizeof(*vcpu), M_SVM, M_WAITOK | M_ZERO); + vcpu->sc = sc; vcpu->vcpuid = vcpuid; vcpu->vmcb = malloc_aligned(sizeof(struct vmcb), PAGE_SIZE, M_SVM, M_WAITOK | M_ZERO); @@ -724,8 +720,8 @@ svm_inout_str_count(struct svm_regctx *regs, int rep) } static void -svm_inout_str_seginfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, - int64_t info1, int in, struct vm_inout_str *vis) +svm_inout_str_seginfo(struct svm_vcpu *vcpu, int64_t info1, int in, + struct vm_inout_str *vis) { int error __diagused, s; @@ -737,7 +733,7 @@ svm_inout_str_seginfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, vis->seg_name = vm_segment_name(s); } - error = svm_getdesc(svm_sc, vcpu, vis->seg_name, &vis->seg_desc); + error = svm_getdesc(vcpu, vis->seg_name, &vis->seg_desc); KASSERT(error == 0, ("%s: svm_getdesc error %d", __func__, error)); } @@ -778,8 +774,7 @@ svm_paging_info(struct vmcb *vmcb, struct vm_guest_paging *paging) * Handle guest I/O intercept. */ static int -svm_handle_io(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, - struct vm_exit *vmexit) +svm_handle_io(struct svm_vcpu *vcpu, struct vm_exit *vmexit) { struct vmcb_ctrl *ctrl; struct vmcb_state *state; @@ -822,8 +817,7 @@ svm_handle_io(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, vis->index = svm_inout_str_index(regs, vmexit->u.inout.in); vis->count = svm_inout_str_count(regs, vmexit->u.inout.rep); vis->addrsize = svm_inout_str_addrsize(info1); - svm_inout_str_seginfo(svm_sc, vcpu, info1, - vmexit->u.inout.in, vis); + svm_inout_str_seginfo(vcpu, info1, vmexit->u.inout.in, vis); } return (UNHANDLED); @@ -937,8 +931,8 @@ intrtype_to_str(int intr_type) * Inject an event to vcpu as described in section 15.20, "Event injection". */ static void -svm_eventinject(struct svm_softc *sc, struct svm_vcpu *vcpu, int intr_type, - int vector, uint32_t error, bool ec_valid) +svm_eventinject(struct svm_vcpu *vcpu, int intr_type, int vector, + uint32_t error, bool ec_valid) { struct vmcb_ctrl *ctrl; @@ -967,23 +961,24 @@ svm_eventinject(struct svm_softc *sc, struct svm_vcpu *vcpu, int intr_type, if (ec_valid) { ctrl->eventinj |= VMCB_EVENTINJ_EC_VALID; ctrl->eventinj |= (uint64_t)error << 32; - VCPU_CTR3(sc->vm, vcpu->vcpuid, + VCPU_CTR3(vcpu->sc->vm, vcpu->vcpuid, "Injecting %s at vector %d errcode %#x", intrtype_to_str(intr_type), vector, error); } else { - VCPU_CTR2(sc->vm, vcpu->vcpuid, "Injecting %s at vector %d", + VCPU_CTR2(vcpu->sc->vm, vcpu->vcpuid, + "Injecting %s at vector %d", intrtype_to_str(intr_type), vector); } } static void -svm_update_virqinfo(struct svm_softc *sc, struct svm_vcpu *vcpu) +svm_update_virqinfo(struct svm_vcpu *vcpu) { struct vm *vm; struct vlapic *vlapic; struct vmcb_ctrl *ctrl; - vm = sc->vm; + vm = vcpu->sc->vm; vlapic = vm_lapic(vm, vcpu->vcpuid); ctrl = svm_get_vmcb_ctrl(vcpu); @@ -1022,16 +1017,15 @@ svm_save_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) #ifdef INVARIANTS static __inline int -vintr_intercept_enabled(struct svm_softc *sc, struct svm_vcpu *vcpu) +vintr_intercept_enabled(struct svm_vcpu *vcpu) { - return (svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, - VMCB_INTCPT_VINTR)); + return (svm_get_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR)); } #endif static __inline void -enable_intr_window_exiting(struct svm_softc *sc, struct svm_vcpu *vcpu) +enable_intr_window_exiting(struct svm_vcpu *vcpu) { struct vmcb_ctrl *ctrl; @@ -1039,42 +1033,41 @@ enable_intr_window_exiting(struct svm_softc *sc, struct svm_vcpu *vcpu) if (ctrl->v_irq && ctrl->v_intr_vector == 0) { KASSERT(ctrl->v_ign_tpr, ("%s: invalid v_ign_tpr", __func__)); - KASSERT(vintr_intercept_enabled(sc, vcpu), + KASSERT(vintr_intercept_enabled(vcpu), ("%s: vintr intercept should be enabled", __func__)); return; } - VCPU_CTR0(sc->vm, vcpu->vcpuid, "Enable intr window exiting"); + VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "Enable intr window exiting"); ctrl->v_irq = 1; ctrl->v_ign_tpr = 1; ctrl->v_intr_vector = 0; svm_set_dirty(vcpu, VMCB_CACHE_TPR); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR); } static __inline void -disable_intr_window_exiting(struct svm_softc *sc, struct svm_vcpu *vcpu) +disable_intr_window_exiting(struct svm_vcpu *vcpu) { struct vmcb_ctrl *ctrl; ctrl = svm_get_vmcb_ctrl(vcpu); if (!ctrl->v_irq && ctrl->v_intr_vector == 0) { - KASSERT(!vintr_intercept_enabled(sc, vcpu), + KASSERT(!vintr_intercept_enabled(vcpu), ("%s: vintr intercept should be disabled", __func__)); return; } - VCPU_CTR0(sc->vm, vcpu->vcpuid, "Disable intr window exiting"); + VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "Disable intr window exiting"); ctrl->v_irq = 0; ctrl->v_intr_vector = 0; svm_set_dirty(vcpu, VMCB_CACHE_TPR); - svm_disable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR); + svm_disable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR); } static int -svm_modify_intr_shadow(struct svm_softc *sc, struct svm_vcpu *vcpu, - uint64_t val) +svm_modify_intr_shadow(struct svm_vcpu *vcpu, uint64_t val) { struct vmcb_ctrl *ctrl; int oldval, newval; @@ -1084,13 +1077,14 @@ svm_modify_intr_shadow(struct svm_softc *sc, struct svm_vcpu *vcpu, newval = val ? 1 : 0; if (newval != oldval) { ctrl->intr_shadow = newval; - VCPU_CTR1(sc->vm, vcpu->vcpuid, "Setting intr_shadow to %d", newval); + VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, + "Setting intr_shadow to %d", newval); } return (0); } static int -svm_get_intr_shadow(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t *val) +svm_get_intr_shadow(struct svm_vcpu *vcpu, uint64_t *val) { struct vmcb_ctrl *ctrl; @@ -1105,31 +1099,30 @@ svm_get_intr_shadow(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t *val) * to track when the vcpu is done handling the NMI. */ static int -nmi_blocked(struct svm_softc *sc, struct svm_vcpu *vcpu) +nmi_blocked(struct svm_vcpu *vcpu) { int blocked; - blocked = svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, - VMCB_INTCPT_IRET); + blocked = svm_get_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); return (blocked); } static void -enable_nmi_blocking(struct svm_softc *sc, struct svm_vcpu *vcpu) +enable_nmi_blocking(struct svm_vcpu *vcpu) { - KASSERT(!nmi_blocked(sc, vcpu), ("vNMI already blocked")); - VCPU_CTR0(sc->vm, vcpu->vcpuid, "vNMI blocking enabled"); - svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); + KASSERT(!nmi_blocked(vcpu), ("vNMI already blocked")); + VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "vNMI blocking enabled"); + svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); } static void -clear_nmi_blocking(struct svm_softc *sc, struct svm_vcpu *vcpu) +clear_nmi_blocking(struct svm_vcpu *vcpu) { int error __diagused; - KASSERT(nmi_blocked(sc, vcpu), ("vNMI already unblocked")); - VCPU_CTR0(sc->vm, vcpu->vcpuid, "vNMI blocking cleared"); + KASSERT(nmi_blocked(vcpu), ("vNMI already unblocked")); + VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "vNMI blocking cleared"); /* * When the IRET intercept is cleared the vcpu will attempt to execute * the "iret" when it runs next. However, it is possible to inject @@ -1141,13 +1134,13 @@ clear_nmi_blocking(struct svm_softc *sc, struct svm_vcpu *vcpu) * * XXX this needs to be fixed */ - svm_disable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); + svm_disable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); /* * Set 'intr_shadow' to prevent an NMI from being injected on the * immediate VMRUN. */ - error = svm_modify_intr_shadow(sc, vcpu, 1); + error = svm_modify_intr_shadow(vcpu, 1); KASSERT(!error, ("%s: error %d setting intr_shadow", __func__, error)); } @@ -1215,7 +1208,7 @@ svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, goto gpf; } - error = svm_setreg(sc, vcpu, VM_REG_GUEST_EFER, newval); + error = svm_setreg(vcpu, VM_REG_GUEST_EFER, newval); KASSERT(error == 0, ("%s: error %d updating efer", __func__, error)); return (0); gpf: @@ -1383,7 +1376,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, ("invalid inst_length %d: code (%#lx), info1 (%#lx), info2 (%#lx)", vmexit->inst_length, code, info1, info2)); - svm_update_virqinfo(svm_sc, vcpu); + svm_update_virqinfo(vcpu); svm_save_intinfo(svm_sc, vcpu); switch (code) { @@ -1392,7 +1385,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, * Restart execution at "iret" but with the intercept cleared. */ vmexit->inst_length = 0; - clear_nmi_blocking(svm_sc, vcpu); + clear_nmi_blocking(vcpu); handled = 1; break; case VMCB_EXIT_VINTR: /* interrupt window exiting */ @@ -1421,8 +1414,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, __asm __volatile("int $18"); break; case IDT_PF: - error = svm_setreg(svm_sc, vcpu, VM_REG_GUEST_CR2, - info2); + error = svm_setreg(vcpu, VM_REG_GUEST_CR2, info2); KASSERT(error == 0, ("%s: error %d updating cr2", __func__, error)); /* fallthru */ @@ -1512,7 +1504,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, } break; case VMCB_EXIT_IO: - handled = svm_handle_io(svm_sc, vcpu, vmexit); + handled = svm_handle_io(vcpu, vmexit); vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_INOUT, 1); break; case VMCB_EXIT_CPUID: @@ -1617,7 +1609,7 @@ svm_inj_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) KASSERT(VMCB_EXITINTINFO_VALID(intinfo), ("%s: entry intinfo is not " "valid: %#lx", __func__, intinfo)); - svm_eventinject(svm_sc, vcpu, VMCB_EXITINTINFO_TYPE(intinfo), + svm_eventinject(vcpu, VMCB_EXITINTINFO_TYPE(intinfo), VMCB_EXITINTINFO_VECTOR(intinfo), VMCB_EXITINTINFO_EC(intinfo), VMCB_EXITINTINFO_EC_VALID(intinfo)); @@ -1664,7 +1656,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, /* NMI event has priority over interrupts. */ if (vm_nmi_pending(sc->vm, vcpuid)) { - if (nmi_blocked(sc, vcpu)) { + if (nmi_blocked(vcpu)) { /* * Can't inject another NMI if the guest has not * yet executed an "iret" after the last NMI. @@ -1702,11 +1694,11 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, vm_nmi_clear(sc->vm, vcpuid); /* Inject NMI, vector number is not used */ - svm_eventinject(sc, vcpu, VMCB_EVENTINJ_TYPE_NMI, + svm_eventinject(vcpu, VMCB_EVENTINJ_TYPE_NMI, IDT_NMI, 0, false); /* virtual NMI blocking is now in effect */ - enable_nmi_blocking(sc, vcpu); + enable_nmi_blocking(vcpu); VCPU_CTR0(sc->vm, vcpuid, "Injecting vNMI"); } @@ -1750,7 +1742,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, goto done; } - svm_eventinject(sc, vcpu, VMCB_EVENTINJ_TYPE_INTR, vector, 0, false); + svm_eventinject(vcpu, VMCB_EVENTINJ_TYPE_INTR, vector, 0, false); if (!extint_pending) { vlapic_intr_accepted(vlapic, vector); @@ -1802,9 +1794,9 @@ done: ("Bogus intr_window_exiting: eventinj (%#lx), " "intr_shadow (%u), rflags (%#lx)", ctrl->eventinj, ctrl->intr_shadow, state->rflags)); - enable_intr_window_exiting(sc, vcpu); + enable_intr_window_exiting(vcpu); } else { - disable_intr_window_exiting(sc, vcpu); + disable_intr_window_exiting(vcpu); } } @@ -1826,7 +1818,7 @@ restore_host_tss(void) } static void -svm_pmap_activate(struct svm_softc *sc, struct svm_vcpu *vcpu, pmap_t pmap) +svm_pmap_activate(struct svm_vcpu *vcpu, pmap_t pmap) { struct vmcb_ctrl *ctrl; long eptgen; @@ -2007,8 +1999,7 @@ svm_dr_leave_guest(struct svm_regctx *gctx) * Start vcpu with specified RIP. */ static int -svm_run(void *arg, void *vcpui, register_t rip, pmap_t pmap, - struct vm_eventinfo *evinfo) +svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) { struct svm_regctx *gctx; struct svm_softc *svm_sc; @@ -2022,11 +2013,10 @@ svm_run(void *arg, void *vcpui, register_t rip, pmap_t pmap, int handled, vcpuid; uint16_t ldt_sel; - svm_sc = arg; - vm = svm_sc->vm; - vcpu = vcpui; vcpuid = vcpu->vcpuid; + svm_sc = vcpu->sc; + vm = svm_sc->vm; state = svm_get_vmcb_state(vcpu); ctrl = svm_get_vmcb_ctrl(vcpu); vmexit = vm_exitinfo(vm, vcpuid); @@ -2121,7 +2111,7 @@ svm_run(void *arg, void *vcpui, register_t rip, pmap_t pmap, * Check the pmap generation and the ASID generation to * ensure that the vcpu does not use stale TLB mappings. */ - svm_pmap_activate(svm_sc, vcpu, pmap); + svm_pmap_activate(vcpu, pmap); ctrl->vmcb_clean = vmcb_clean & ~vcpu->dirty; vcpu->dirty = 0; @@ -2161,7 +2151,7 @@ svm_run(void *arg, void *vcpui, register_t rip, pmap_t pmap, } static void -svm_vcpu_cleanup(void *arg, void *vcpui) +svm_vcpu_cleanup(void *vcpui) { struct svm_vcpu *vcpu = vcpui; @@ -2170,9 +2160,9 @@ svm_vcpu_cleanup(void *arg, void *vcpui) } static void -svm_cleanup(void *arg) +svm_cleanup(void *vmi) { - struct svm_softc *sc = arg; + struct svm_softc *sc = vmi; contigfree(sc->iopm_bitmap, SVM_IO_BITMAP_SIZE, M_SVM); contigfree(sc->msr_bitmap, SVM_MSR_BITMAP_SIZE, M_SVM); @@ -2226,20 +2216,18 @@ swctx_regptr(struct svm_regctx *regctx, int reg) } static int -svm_getreg(void *arg, void *vcpui, int ident, uint64_t *val) +svm_getreg(void *vcpui, int ident, uint64_t *val) { - struct svm_softc *svm_sc; struct svm_vcpu *vcpu; register_t *reg; - svm_sc = arg; vcpu = vcpui; if (ident == VM_REG_GUEST_INTR_SHADOW) { - return (svm_get_intr_shadow(svm_sc, vcpu, val)); + return (svm_get_intr_shadow(vcpu, val)); } - if (vmcb_read(svm_sc, vcpu, ident, val) == 0) { + if (vmcb_read(vcpu, ident, val) == 0) { return (0); } @@ -2250,28 +2238,26 @@ svm_getreg(void *arg, void *vcpui, int ident, uint64_t *val) return (0); } - VCPU_CTR1(svm_sc->vm, vcpu->vcpuid, "svm_getreg: unknown register %#x", - ident); + VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, + "svm_getreg: unknown register %#x", ident); return (EINVAL); } static int -svm_setreg(void *arg, void *vcpui, int ident, uint64_t val) +svm_setreg(void *vcpui, int ident, uint64_t val) { - struct svm_softc *svm_sc; struct svm_vcpu *vcpu; register_t *reg; - svm_sc = arg; vcpu = vcpui; if (ident == VM_REG_GUEST_INTR_SHADOW) { - return (svm_modify_intr_shadow(svm_sc, vcpu, val)); + return (svm_modify_intr_shadow(vcpu, val)); } /* Do not permit user write access to VMCB fields by offset. */ if (!VMCB_ACCESS_OK(ident)) { - if (vmcb_write(svm_sc, vcpu, ident, val) == 0) { + if (vmcb_write(vcpu, ident, val) == 0) { return (0); } } @@ -2294,33 +2280,32 @@ svm_setreg(void *arg, void *vcpui, int ident, uint64_t val) * whether 'running' is true/false. */ - VCPU_CTR1(svm_sc->vm, vcpu->vcpuid, "svm_setreg: unknown register %#x", - ident); + VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, + "svm_setreg: unknown register %#x", ident); return (EINVAL); } static int -svm_getdesc(void *arg, void *vcpui, int reg, struct seg_desc *desc) +svm_getdesc(void *vcpui, int reg, struct seg_desc *desc) { - return (vmcb_getdesc(arg, vcpui, reg, desc)); + return (vmcb_getdesc(vcpui, reg, desc)); } static int -svm_setdesc(void *arg, void *vcpui, int reg, struct seg_desc *desc) +svm_setdesc(void *vcpui, int reg, struct seg_desc *desc) { - return (vmcb_setdesc(arg, vcpui, reg, desc)); + return (vmcb_setdesc(vcpui, reg, desc)); } #ifdef BHYVE_SNAPSHOT static int -svm_snapshot_reg(void *arg, void *vcpui, int ident, - struct vm_snapshot_meta *meta) +svm_snapshot_reg(void *vcpui, int ident, struct vm_snapshot_meta *meta) { int ret; uint64_t val; if (meta->op == VM_SNAPSHOT_SAVE) { - ret = svm_getreg(arg, vcpui, ident, &val); + ret = svm_getreg(vcpui, ident, &val); if (ret != 0) goto done; @@ -2328,7 +2313,7 @@ svm_snapshot_reg(void *arg, void *vcpui, int ident, } else if (meta->op == VM_SNAPSHOT_RESTORE) { SNAPSHOT_VAR_OR_LEAVE(val, meta, ret, done); - ret = svm_setreg(arg, vcpui, ident, val); + ret = svm_setreg(vcpui, ident, val); if (ret != 0) goto done; } else { @@ -2342,23 +2327,22 @@ done: #endif static int -svm_setcap(void *arg, void *vcpui, int type, int val) +svm_setcap(void *vcpui, int type, int val) { - struct svm_softc *sc; struct svm_vcpu *vcpu; struct vlapic *vlapic; int error; - sc = arg; vcpu = vcpui; error = 0; + switch (type) { case VM_CAP_HALT_EXIT: - svm_set_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, + svm_set_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_HLT, val); break; case VM_CAP_PAUSE_EXIT: - svm_set_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, + svm_set_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_PAUSE, val); break; case VM_CAP_UNRESTRICTED_GUEST: @@ -2367,7 +2351,7 @@ svm_setcap(void *arg, void *vcpui, int type, int val) error = EINVAL; break; case VM_CAP_IPI_EXIT: - vlapic = vm_lapic(sc->vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->sc->vm, vcpu->vcpuid); vlapic->ipi_exit = val; break; default: @@ -2378,31 +2362,29 @@ svm_setcap(void *arg, void *vcpui, int type, int val) } static int -svm_getcap(void *arg, void *vcpui, int type, int *retval) +svm_getcap(void *vcpui, int type, int *retval) { - struct svm_softc *sc; struct svm_vcpu *vcpu; struct vlapic *vlapic; int error; - sc = arg; vcpu = vcpui; error = 0; switch (type) { case VM_CAP_HALT_EXIT: - *retval = svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, + *retval = svm_get_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_HLT); break; case VM_CAP_PAUSE_EXIT: - *retval = svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, + *retval = svm_get_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_PAUSE); break; case VM_CAP_UNRESTRICTED_GUEST: *retval = 1; /* unrestricted guest is always enabled */ break; case VM_CAP_IPI_EXIT: - vlapic = vm_lapic(sc->vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->sc->vm, vcpu->vcpuid); *retval = vlapic->ipi_exit; break; default: @@ -2425,16 +2407,14 @@ svm_vmspace_free(struct vmspace *vmspace) } static struct vlapic * -svm_vlapic_init(void *arg, void *vcpui) +svm_vlapic_init(void *vcpui) { - struct svm_softc *svm_sc; struct svm_vcpu *vcpu; struct vlapic *vlapic; - svm_sc = arg; vcpu = vcpui; vlapic = malloc(sizeof(struct vlapic), M_SVM_VLAPIC, M_WAITOK | M_ZERO); - vlapic->vm = svm_sc->vm; + vlapic->vm = vcpu->sc->vm; vlapic->vcpuid = vcpu->vcpuid; vlapic->apic_page = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_SVM_VLAPIC, M_WAITOK | M_ZERO); @@ -2445,7 +2425,7 @@ svm_vlapic_init(void *arg, void *vcpui) } static void -svm_vlapic_cleanup(void *arg, struct vlapic *vlapic) +svm_vlapic_cleanup(struct vlapic *vlapic) { vlapic_cleanup(vlapic); @@ -2455,7 +2435,7 @@ svm_vlapic_cleanup(void *arg, struct vlapic *vlapic) #ifdef BHYVE_SNAPSHOT static int -svm_snapshot(void *arg, struct vm_snapshot_meta *meta) +svm_snapshot(void *vmi, struct vm_snapshot_meta *meta) { if (meta->op == VM_SNAPSHOT_RESTORE) flush_by_asid(); @@ -2464,163 +2444,159 @@ svm_snapshot(void *arg, struct vm_snapshot_meta *meta) } static int -svm_vcpu_snapshot(void *arg, struct vm_snapshot_meta *meta, void *vcpui) +svm_vcpu_snapshot(void *vcpui, struct vm_snapshot_meta *meta) { - struct svm_softc *sc; struct svm_vcpu *vcpu; int err, running, hostcpu; - sc = (struct svm_softc *)arg; vcpu = vcpui; err = 0; - KASSERT(arg != NULL, ("%s: arg was NULL", __func__)); - - running = vcpu_is_running(sc->vm, vcpu->vcpuid, &hostcpu); + running = vcpu_is_running(vcpu->sc->vm, vcpu->vcpuid, &hostcpu); if (running && hostcpu != curcpu) { - printf("%s: %s%d is running", __func__, vm_name(sc->vm), + printf("%s: %s%d is running", __func__, vm_name(vcpu->sc->vm), vcpu->vcpuid); return (EINVAL); } - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR0, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR2, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR3, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CR4, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_CR0, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_CR2, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_CR3, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_CR4, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DR6, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DR7, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_DR6, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_DR7, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RAX, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_RAX, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RSP, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RIP, meta); - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_RFLAGS, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_RSP, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_RIP, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_RFLAGS, meta); /* Guest segments */ /* ES */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_ES, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_ES, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_ES, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_ES, meta); /* CS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_CS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_CS, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_CS, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_CS, meta); /* SS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_SS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_SS, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_SS, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_SS, meta); /* DS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_DS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_DS, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_DS, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_DS, meta); /* FS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_FS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_FS, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_FS, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_FS, meta); /* GS */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_GS, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_GS, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_GS, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_GS, meta); /* TR */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_TR, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_TR, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_TR, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_TR, meta); /* LDTR */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_LDTR, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_LDTR, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_LDTR, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_LDTR, meta); /* EFER */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_EFER, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_EFER, meta); /* IDTR and GDTR */ - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_IDTR, meta); - err += vmcb_snapshot_desc(sc, vcpu, VM_REG_GUEST_GDTR, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_IDTR, meta); + err += vmcb_snapshot_desc(vcpu, VM_REG_GUEST_GDTR, meta); /* Specific AMD registers */ - err += svm_snapshot_reg(sc, vcpu, VM_REG_GUEST_INTR_SHADOW, meta); + err += svm_snapshot_reg(vcpu, VM_REG_GUEST_INTR_SHADOW, meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, VMCB_ACCESS(VMCB_OFF_CR_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, VMCB_ACCESS(VMCB_OFF_DR_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, VMCB_ACCESS(VMCB_OFF_EXC_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, VMCB_ACCESS(VMCB_OFF_INST1_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, VMCB_ACCESS(VMCB_OFF_INST2_INTERCEPT, 4), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, VMCB_ACCESS(VMCB_OFF_PAUSE_FILTHRESH, 2), meta); - err += vmcb_snapshot_any(sc, vcpu, + err += vmcb_snapshot_any(vcpu, *** 1154 LINES SKIPPED *** From nobody Thu Jan 26 22:11:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0d2Gngz3c8Bx; Thu, 26 Jan 2023 22:11: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 4P2w0d1Yf5z3vQL; Thu, 26 Jan 2023 22:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1N9hJmx4utjPdeg7Vnrk7X2KdahS8TcqSqZPbzAj68Q=; b=RdN+zg9N2sJP1WK2FkNTw07UjBpx0iah7k8KNiwhtCwQmzIahczCHIH0v4jcQQ7MEQmsEM /Hk5G6nM9fLf8X1cmUd6uU8nDyDMRuaR/wheXgjQ273I2EqJOqhS85JAi40KF3Vdzpwi3r kvLGK7PEY0OE0m1cUqkFwNYglhGmAvS13iSv/NzHwQyNcxUbU+RX+yh26qKLTnJ1G3ha7l hX4h2eFqKmvWJkaWA5NvZn4FTUb0kMnI3raS1NW2XZo2n9Lt2325l39FfdaQcyvTMN8p/P UvlkA138oqPGrTKD0lC8stzD1JTpFHlH7V7WUrdove6TY4o6Ajr4Ac62My3YNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1N9hJmx4utjPdeg7Vnrk7X2KdahS8TcqSqZPbzAj68Q=; b=g40w6NYNjktDncCVo6Cz/pWyHsFPUpuV8eGZQJl4g+xLNbQB1s71jlu6CkzwltwgCAg7aT bFzF5LvE/yXXcSbcK2O1uVVEGL2f/ooONY7dHrM85c4mCDegMf41ApyjummhOLmznCkiLi 3FiSwK9VxNVe4VJHmAmXuDzLpJ3Z4LHqpjA5LQXi6yzwVwRklmiAg81PHWgskapylRrpmO lS9iXzq3+tAhvb477gKMnPC8HRDZMrgmTE1Qpk0nf5QEkeNUcjFS7LQUc61t+tjrhxJYcD mSRmzQfbGyXgaIE6GSkIBO0K3mBMrQdftn8OYP2DNGTVMfOC8lue8OG1CeCwmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771105; a=rsa-sha256; cv=none; b=uhlBNAZNtfVZ5hp3zQ3u6ZuGwqINKSRJhX/6fn2NRJZC2Dsyfb++aJjzxM05NhvJMygRvI C5Tx5/KeO4J2R477bFOcB09L2dd7C4A0yzyq6rLC1fuDjBYIGktYL+FhUX2vvEKiwVnhGv CZk48/Og5CQ7qi3JzJPHWYZJiWkRr1kflspwDH7zyOiSwGfdKYH91/ITdNVmdgvlFjYkNT ghmVdqHOz2joKbP23cuc3TYunRNx0Z2lEpRdROlD5+Gx4nh5J0CEmGEpHLnuBgTfmvZlvu Cjyj7JawirQBi9aI46UBMQGQfFOUzzCa/32U9JX7mkGL4JNueApgbnviHjQubg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0d0QrBzlh3; Thu, 26 Jan 2023 22:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBife021733; Thu, 26 Jan 2023 22:11:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBiaQ021732; Thu, 26 Jan 2023 22:11:44 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:44 GMT Message-Id: <202301262211.30QMBiaQ021732@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b901a534ac9d - stable/13 - vmm svm: Add SVM_CTR* wrapper macros. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b901a534ac9d33329fe592977704465dc6e30daa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b901a534ac9d33329fe592977704465dc6e30daa commit b901a534ac9d33329fe592977704465dc6e30daa Author: John Baldwin AuthorDate: 2022-11-18 18:00:38 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:45:14 +0000 vmm svm: Add SVM_CTR* wrapper macros. These macros are similar to VCPU_CTR* but accept a single svm_vcpu pointer as the first argument instead of separate vm and vcpuid. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37153 (cherry picked from commit fca494dad06242aa45d3e722f0c16b405dc8039c) --- sys/amd64/vmm/amd/svm.c | 78 ++++++++++++++++++++----------------------- sys/amd64/vmm/amd/svm_softc.h | 15 +++++++++ sys/amd64/vmm/amd/vmcb.c | 8 ++--- 3 files changed, 54 insertions(+), 47 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index fe1fc669a410..a8008fd4c032 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -292,7 +292,7 @@ svm_set_tsc_offset(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t offset) ctrl->tsc_offset = offset; svm_set_dirty(vcpu, VMCB_CACHE_I); - VCPU_CTR1(sc->vm, vcpu->vcpuid, "tsc offset changed to %#lx", offset); + SVM_CTR1(vcpu, "tsc offset changed to %#lx", offset); error = vm_set_tsc_offset(sc->vm, vcpu->vcpuid, offset); @@ -410,8 +410,8 @@ svm_set_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask, int enabled) if (ctrl->intercept[idx] != oldval) { svm_set_dirty(vcpu, VMCB_CACHE_I); - VCPU_CTR3(vcpu->sc->vm, vcpu->vcpuid, "intercept[%d] modified " - "from %#x to %#x", idx, oldval, ctrl->intercept[idx]); + SVM_CTR3(vcpu, "intercept[%d] modified from %#x to %#x", idx, + oldval, ctrl->intercept[idx]); } } @@ -961,12 +961,10 @@ svm_eventinject(struct svm_vcpu *vcpu, int intr_type, int vector, if (ec_valid) { ctrl->eventinj |= VMCB_EVENTINJ_EC_VALID; ctrl->eventinj |= (uint64_t)error << 32; - VCPU_CTR3(vcpu->sc->vm, vcpu->vcpuid, - "Injecting %s at vector %d errcode %#x", + SVM_CTR3(vcpu, "Injecting %s at vector %d errcode %#x", intrtype_to_str(intr_type), vector, error); } else { - VCPU_CTR2(vcpu->sc->vm, vcpu->vcpuid, - "Injecting %s at vector %d", + SVM_CTR2(vcpu, "Injecting %s at vector %d", intrtype_to_str(intr_type), vector); } } @@ -1009,8 +1007,8 @@ svm_save_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) * If a #VMEXIT happened during event delivery then record the event * that was being delivered. */ - VCPU_CTR2(svm_sc->vm, vcpuid, "SVM:Pending INTINFO(0x%lx), vector=%d.\n", - intinfo, VMCB_EXITINTINFO_VECTOR(intinfo)); + SVM_CTR2(vcpu, "SVM:Pending INTINFO(0x%lx), vector=%d.\n", intinfo, + VMCB_EXITINTINFO_VECTOR(intinfo)); vmm_stat_incr(svm_sc->vm, vcpuid, VCPU_EXITINTINFO, 1); vm_exit_intinfo(svm_sc->vm, vcpuid, intinfo); } @@ -1038,7 +1036,7 @@ enable_intr_window_exiting(struct svm_vcpu *vcpu) return; } - VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "Enable intr window exiting"); + SVM_CTR0(vcpu, "Enable intr window exiting"); ctrl->v_irq = 1; ctrl->v_ign_tpr = 1; ctrl->v_intr_vector = 0; @@ -1059,7 +1057,7 @@ disable_intr_window_exiting(struct svm_vcpu *vcpu) return; } - VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "Disable intr window exiting"); + SVM_CTR0(vcpu, "Disable intr window exiting"); ctrl->v_irq = 0; ctrl->v_intr_vector = 0; svm_set_dirty(vcpu, VMCB_CACHE_TPR); @@ -1077,8 +1075,7 @@ svm_modify_intr_shadow(struct svm_vcpu *vcpu, uint64_t val) newval = val ? 1 : 0; if (newval != oldval) { ctrl->intr_shadow = newval; - VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, - "Setting intr_shadow to %d", newval); + SVM_CTR1(vcpu, "Setting intr_shadow to %d", newval); } return (0); } @@ -1112,7 +1109,7 @@ enable_nmi_blocking(struct svm_vcpu *vcpu) { KASSERT(!nmi_blocked(vcpu), ("vNMI already blocked")); - VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "vNMI blocking enabled"); + SVM_CTR0(vcpu, "vNMI blocking enabled"); svm_enable_intercept(vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET); } @@ -1122,7 +1119,7 @@ clear_nmi_blocking(struct svm_vcpu *vcpu) int error __diagused; KASSERT(nmi_blocked(vcpu), ("vNMI already unblocked")); - VCPU_CTR0(vcpu->sc->vm, vcpu->vcpuid, "vNMI blocking cleared"); + SVM_CTR0(vcpu, "vNMI blocking cleared"); /* * When the IRET intercept is cleared the vcpu will attempt to execute * the "iret" when it runs next. However, it is possible to inject @@ -1159,7 +1156,7 @@ svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, vcpuid = vcpu->vcpuid; oldval = state->efer; - VCPU_CTR2(sc->vm, vcpuid, "wrmsr(efer) %#lx/%#lx", oldval, newval); + SVM_CTR2(vcpu, "wrmsr(efer) %#lx/%#lx", oldval, newval); newval &= ~0xFE; /* clear the Read-As-Zero (RAZ) bits */ changed = oldval ^ newval; @@ -1410,7 +1407,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, * reflect the machine check back into the guest. */ reflect = 0; - VCPU_CTR0(svm_sc->vm, vcpuid, "Vectoring to MCE handler"); + SVM_CTR0(vcpu, "Vectoring to MCE handler"); __asm __volatile("int $18"); break; case IDT_PF: @@ -1443,7 +1440,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, * event injection is identical to what it was when * the exception originally happened. */ - VCPU_CTR2(svm_sc->vm, vcpuid, "Reset inst_length from %d " + SVM_CTR2(vcpu, "Reset inst_length from %d " "to zero before injecting exception %d", vmexit->inst_length, idtvec); vmexit->inst_length = 0; @@ -1459,7 +1456,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, if (reflect) { /* Reflect the exception back into the guest */ - VCPU_CTR2(svm_sc->vm, vcpuid, "Reflecting exception " + SVM_CTR2(vcpu, "Reflecting exception " "%d/%#x into the guest", idtvec, (int)info1); error = vm_inject_exception(svm_sc->vm, vcpuid, idtvec, errcode_valid, info1, 0); @@ -1477,8 +1474,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, if (info1) { vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_WRMSR, 1); val = (uint64_t)edx << 32 | eax; - VCPU_CTR2(svm_sc->vm, vcpuid, "wrmsr %#x val %#lx", - ecx, val); + SVM_CTR2(vcpu, "wrmsr %#x val %#lx", ecx, val); if (emulate_wrmsr(svm_sc, vcpu, ecx, val, &retu)) { vmexit->exitcode = VM_EXITCODE_WRMSR; vmexit->u.msr.code = ecx; @@ -1490,7 +1486,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, ("emulate_wrmsr retu with bogus exitcode")); } } else { - VCPU_CTR1(svm_sc->vm, vcpuid, "rdmsr %#x", ecx); + SVM_CTR1(vcpu, "rdmsr %#x", ecx); vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_RDMSR, 1); if (emulate_rdmsr(svm_sc, vcpu, ecx, &retu)) { vmexit->exitcode = VM_EXITCODE_RDMSR; @@ -1524,7 +1520,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, case VMCB_EXIT_NPF: /* EXITINFO2 contains the faulting guest physical address */ if (info1 & VMCB_NPF_INFO1_RSV) { - VCPU_CTR2(svm_sc->vm, vcpuid, "nested page fault with " + SVM_CTR2(vcpu, "nested page fault with " "reserved bits set: info1(%#lx) info2(%#lx)", info1, info2); } else if (vm_mem_allocated(svm_sc->vm, vcpuid, info2)) { @@ -1532,13 +1528,13 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, vmexit->u.paging.gpa = info2; vmexit->u.paging.fault_type = npf_fault_type(info1); vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_NESTED_FAULT, 1); - VCPU_CTR3(svm_sc->vm, vcpuid, "nested page fault " + SVM_CTR3(vcpu, "nested page fault " "on gpa %#lx/%#lx at rip %#lx", info2, info1, state->rip); } else if (svm_npf_emul_fault(info1)) { svm_handle_inst_emul(vmcb, info2, vmexit); vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_INST_EMUL, 1); - VCPU_CTR3(svm_sc->vm, vcpuid, "inst_emul fault " + SVM_CTR3(vcpu, "inst_emul fault " "for gpa %#lx/%#lx at rip %#lx", info2, info1, state->rip); } @@ -1572,7 +1568,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, break; } - VCPU_CTR4(svm_sc->vm, vcpuid, "%s %s vmexit at %#lx/%d", + SVM_CTR4(vcpu, "%s %s vmexit at %#lx/%d", handled ? "handled" : "unhandled", exit_reason_to_str(code), vmexit->rip, vmexit->inst_length); @@ -1614,7 +1610,7 @@ svm_inj_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) VMCB_EXITINTINFO_EC(intinfo), VMCB_EXITINTINFO_EC_VALID(intinfo)); vmm_stat_incr(svm_sc->vm, vcpuid, VCPU_INTINFO_INJECTED, 1); - VCPU_CTR1(svm_sc->vm, vcpuid, "Injected entry intinfo: %#lx", intinfo); + SVM_CTR1(vcpu, "Injected entry intinfo: %#lx", intinfo); } /* @@ -1638,7 +1634,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, if (vcpu->nextrip != state->rip) { ctrl->intr_shadow = 0; - VCPU_CTR2(sc->vm, vcpuid, "Guest interrupt blocking " + SVM_CTR2(vcpu, "Guest interrupt blocking " "cleared due to rip change: %#lx/%#lx", vcpu->nextrip, state->rip); } @@ -1661,13 +1657,13 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, * Can't inject another NMI if the guest has not * yet executed an "iret" after the last NMI. */ - VCPU_CTR0(sc->vm, vcpuid, "Cannot inject NMI due " + SVM_CTR0(vcpu, "Cannot inject NMI due " "to NMI-blocking"); } else if (ctrl->intr_shadow) { /* * Can't inject an NMI if the vcpu is in an intr_shadow. */ - VCPU_CTR0(sc->vm, vcpuid, "Cannot inject NMI due to " + SVM_CTR0(vcpu, "Cannot inject NMI due to " "interrupt shadow"); need_intr_window = 1; goto done; @@ -1676,7 +1672,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, * If there is already an exception/interrupt pending * then defer the NMI until after that. */ - VCPU_CTR1(sc->vm, vcpuid, "Cannot inject NMI due to " + SVM_CTR1(vcpu, "Cannot inject NMI due to " "eventinj %#lx", ctrl->eventinj); /* @@ -1700,7 +1696,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, /* virtual NMI blocking is now in effect */ enable_nmi_blocking(vcpu); - VCPU_CTR0(sc->vm, vcpuid, "Injecting vNMI"); + SVM_CTR0(vcpu, "Injecting vNMI"); } } @@ -1722,21 +1718,21 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, * then we cannot inject the pending interrupt. */ if ((state->rflags & PSL_I) == 0) { - VCPU_CTR2(sc->vm, vcpuid, "Cannot inject vector %d due to " + SVM_CTR2(vcpu, "Cannot inject vector %d due to " "rflags %#lx", vector, state->rflags); need_intr_window = 1; goto done; } if (ctrl->intr_shadow) { - VCPU_CTR1(sc->vm, vcpuid, "Cannot inject vector %d due to " + SVM_CTR1(vcpu, "Cannot inject vector %d due to " "interrupt shadow", vector); need_intr_window = 1; goto done; } if (ctrl->eventinj & VMCB_EVENTINJ_VALID) { - VCPU_CTR2(sc->vm, vcpuid, "Cannot inject vector %d due to " + SVM_CTR2(vcpu, "Cannot inject vector %d due to " "eventinj %#lx", vector, ctrl->eventinj); need_intr_window = 1; goto done; @@ -1773,7 +1769,7 @@ done: v_tpr = vlapic_get_cr8(vlapic); KASSERT(v_tpr <= 15, ("invalid v_tpr %#x", v_tpr)); if (ctrl->v_tpr != v_tpr) { - VCPU_CTR2(sc->vm, vcpuid, "VMCB V_TPR changed from %#x to %#x", + SVM_CTR2(vcpu, "VMCB V_TPR changed from %#x to %#x", ctrl->v_tpr, v_tpr); ctrl->v_tpr = v_tpr; svm_set_dirty(vcpu, VMCB_CACHE_TPR); @@ -2115,10 +2111,10 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) ctrl->vmcb_clean = vmcb_clean & ~vcpu->dirty; vcpu->dirty = 0; - VCPU_CTR1(vm, vcpuid, "vmcb clean %#x", ctrl->vmcb_clean); + SVM_CTR1(vcpu, "vmcb clean %#x", ctrl->vmcb_clean); /* Launch Virtual Machine. */ - VCPU_CTR1(vm, vcpuid, "Resume execution at %#lx", state->rip); + SVM_CTR1(vcpu, "Resume execution at %#lx", state->rip); svm_dr_enter_guest(gctx); svm_launch(vmcb_pa, gctx, get_pcpu()); svm_dr_leave_guest(gctx); @@ -2238,8 +2234,7 @@ svm_getreg(void *vcpui, int ident, uint64_t *val) return (0); } - VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, - "svm_getreg: unknown register %#x", ident); + SVM_CTR1(vcpu, "svm_getreg: unknown register %#x", ident); return (EINVAL); } @@ -2280,8 +2275,7 @@ svm_setreg(void *vcpui, int ident, uint64_t val) * whether 'running' is true/false. */ - VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, - "svm_setreg: unknown register %#x", ident); + SVM_CTR1(vcpu, "svm_setreg: unknown register %#x", ident); return (EINVAL); } diff --git a/sys/amd64/vmm/amd/svm_softc.h b/sys/amd64/vmm/amd/svm_softc.h index aa3c9a4071fe..e958cc62b343 100644 --- a/sys/amd64/vmm/amd/svm_softc.h +++ b/sys/amd64/vmm/amd/svm_softc.h @@ -67,6 +67,21 @@ struct svm_softc { struct vm *vm; }; +#define SVM_CTR0(vcpu, format) \ + VCPU_CTR0((vcpu)->sc->vm, (vcpu)->vcpuid, format) + +#define SVM_CTR1(vcpu, format, p1) \ + VCPU_CTR1((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1) + +#define SVM_CTR2(vcpu, format, p1, p2) \ + VCPU_CTR2((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2) + +#define SVM_CTR3(vcpu, format, p1, p2, p3) \ + VCPU_CTR3((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2, p3) + +#define SVM_CTR4(vcpu, format, p1, p2, p3, p4) \ + VCPU_CTR4((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2, p3, p4) + static __inline struct vmcb * svm_get_vmcb(struct svm_vcpu *vcpu) { diff --git a/sys/amd64/vmm/amd/vmcb.c b/sys/amd64/vmm/amd/vmcb.c index cb7612b13de0..bd7f2647a45d 100644 --- a/sys/amd64/vmm/amd/vmcb.c +++ b/sys/amd64/vmm/amd/vmcb.c @@ -145,8 +145,7 @@ vmcb_access(struct svm_vcpu *vcpu, int write, int ident, uint64_t *val) memcpy(val, ptr + off, bytes); break; default: - VCPU_CTR1(vcpu->sc->vm, vcpu->vcpuid, - "Invalid size %d for VMCB access: %d", bytes); + SVM_CTR1(vcpu, "Invalid size %d for VMCB access: %d", bytes); return (EINVAL); } @@ -392,9 +391,8 @@ vmcb_setdesc(struct svm_vcpu *vcpu, int reg, struct seg_desc *desc) seg->attrib = attrib; } - VCPU_CTR4(vcpu->sc->vm, vcpu->vcpuid, "Setting desc %d: base (%#lx), " - "limit (%#x), attrib (%#x)", reg, seg->base, seg->limit, - seg->attrib); + SVM_CTR4(vcpu, "Setting desc %d: base (%#lx), limit (%#x), " + "attrib (%#x)", reg, seg->base, seg->limit, seg->attrib); switch (reg) { case VM_REG_GUEST_CS: From nobody Thu Jan 26 22:11:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0f3K2Cz3c821; Thu, 26 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w0f283Hz3vMd; Thu, 26 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+1kU3ccu26uVlE3IbZFyMckH2mKNjJnI84am2vOU/2g=; b=xLRzJ4bNnKyNcWNJNMzRWBWbj2ZrD3qgzJR2cNh5VIMEXbLJIyIk9lg06H++EPeWaY2Yew IFNHGcWUZfA5h0YDVyCVt5IGRvELI1rDEdqwDm69FbYcjqBGrMGBWqB7C6yDFUMqirCSQJ c4p6hT75QBEI5ibqLjJ8x5yolZICUMK73z9iI7MvC/2sUuzG984/3bUdvN9V44dZiODu5q OhgXoW5Nu4W1wl3x/3xXvlZIG0nB5nRSgqJS7FFy8rot8lTMeEgQ9QrERb4eRk1oTi60bc o53hMMmWlUd/DGb8rwPIzYSFq4kkMjkqQMfHBy+E8lxdxI7tdNakdWkJD2SOVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+1kU3ccu26uVlE3IbZFyMckH2mKNjJnI84am2vOU/2g=; b=b700QXHla5pH1NjpU8HCDYwZ7mtx2mNFT3M9IJ0jfyzti/iQph7onJzHRWzUJNlMiA9jHH 8CGSUAiuK57ZIXsObJTJbEsXm6Ld+RHiKOXJASEijaNkD+SNBT8mFjjOFkpEtTYeIEdDLq AG3uy+WGQMx5I7YPR0yF+O+K/35y0OfIdUkSSONasc8vc9AWWDKK/4cr1l6PjA3C9Z0BgO lWa6F6ukH5Rj5CaAyFLhQMdr1o4PgjSj3zA7mkBehAyLeDVwxIzA6luShR/GgCSOwZ2y4b uVbYTS0FqxkujHsAyZaSDhxjSf+tDvDeZJ3RMgQp3JfyA4wxyrRtGgs30zMJWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771106; a=rsa-sha256; cv=none; b=YipAl7LlZxFSvu6lxqDL7cH4EUP8Gm0E7JiM0ysZynVpcMMvPI0AoeL0ix9vfjlmWpkiCZ +F9y3BaJoDI/1yWc2JKl+/x6gDPkSTdtcuJilY+YkRfgMKnsFsEIxNAWsze7ZCeuKNujHu cQLrRnNKoy9vWzP2RE56mk864P+l6oi3nZmw9rPzdeUNQH5Md7SeUcjT7G44ZNjGvD5rO/ z1pPZww/EgOHRDYU2n0Goxz1vgvJkYNKM9ydn52ta5G3rNq+MumOfCnejWRbcDxkSgTwIq +dpzq0BdetuYX2eFUj+vG1fUA7Bd5OoF5b+vlsxWtszzvr6rNxJk1CLXGrJfRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0f1D8LzljZ; Thu, 26 Jan 2023 22:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBkLC021766; Thu, 26 Jan 2023 22:11:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBkVr021765; Thu, 26 Jan 2023 22:11:46 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:46 GMT Message-Id: <202301262211.30QMBkVr021765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 11940aaeb0de - stable/13 - vmm vmx: Add VMX_CTR* wrapper macros. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 11940aaeb0de3a854d9da076cd9406d8df7ca941 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=11940aaeb0de3a854d9da076cd9406d8df7ca941 commit 11940aaeb0de3a854d9da076cd9406d8df7ca941 Author: John Baldwin AuthorDate: 2022-11-18 18:00:49 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:45:25 +0000 vmm vmx: Add VMX_CTR* wrapper macros. These macros are similar to VCPU_CTR* but accept a single vmx_vcpu pointer as the first argument instead of separate vm and vcpuid. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37154 (cherry picked from commit 57e0119ef3a95d7faa11c44b1acbb8193aadfb35) --- sys/amd64/vmm/intel/vmx.c | 78 +++++++++++++++++++++-------------------------- sys/amd64/vmm/intel/vmx.h | 15 +++++++++ 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 70d7773bba9a..ae9864343705 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1239,8 +1239,7 @@ static __inline void vmx_run_trace(struct vmx_vcpu *vcpu) { #ifdef KTR - VCPU_CTR1(vcpu->vmx->vm, vcpu->vcpuid, "Resume execution at %#lx", - vmcs_guest_rip()); + VMX_CTR1(vcpu, "Resume execution at %#lx", vmcs_guest_rip()); #endif } @@ -1249,7 +1248,7 @@ vmx_exit_trace(struct vmx_vcpu *vcpu, uint64_t rip, uint32_t exit_reason, int handled) { #ifdef KTR - VCPU_CTR3(vcpu->vmx->vm, vcpu->vcpuid, "%s %s vmexit at 0x%0lx", + VMX_CTR3(vcpu, "%s %s vmexit at 0x%0lx", handled ? "handled" : "unhandled", exit_reason_to_str(exit_reason), rip); #endif @@ -1259,8 +1258,7 @@ static __inline void vmx_astpending_trace(struct vmx_vcpu *vcpu, uint64_t rip) { #ifdef KTR - VCPU_CTR1(vcpu->vmx->vm, vcpu->vcpuid, "astpending vmexit at 0x%0lx", - rip); + VMX_CTR1(vcpu, "astpending vmexit at 0x%0lx", rip); #endif } @@ -1358,8 +1356,7 @@ vmx_set_int_window_exiting(struct vmx_vcpu *vcpu) if ((vcpu->cap.proc_ctls & PROCBASED_INT_WINDOW_EXITING) == 0) { vcpu->cap.proc_ctls |= PROCBASED_INT_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vcpu->cap.proc_ctls); - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, - "Enabling interrupt window exiting"); + VMX_CTR0(vcpu, "Enabling interrupt window exiting"); } } @@ -1371,8 +1368,7 @@ vmx_clear_int_window_exiting(struct vmx_vcpu *vcpu) ("intr_window_exiting not set: %#x", vcpu->cap.proc_ctls)); vcpu->cap.proc_ctls &= ~PROCBASED_INT_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vcpu->cap.proc_ctls); - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, - "Disabling interrupt window exiting"); + VMX_CTR0(vcpu, "Disabling interrupt window exiting"); } static void __inline @@ -1382,8 +1378,7 @@ vmx_set_nmi_window_exiting(struct vmx_vcpu *vcpu) if ((vcpu->cap.proc_ctls & PROCBASED_NMI_WINDOW_EXITING) == 0) { vcpu->cap.proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vcpu->cap.proc_ctls); - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, - "Enabling NMI window exiting"); + VMX_CTR0(vcpu, "Enabling NMI window exiting"); } } @@ -1395,7 +1390,7 @@ vmx_clear_nmi_window_exiting(struct vmx_vcpu *vcpu) ("nmi_window_exiting not set %#x", vcpu->cap.proc_ctls)); vcpu->cap.proc_ctls &= ~PROCBASED_NMI_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vcpu->cap.proc_ctls); - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, "Disabling NMI window exiting"); + VMX_CTR0(vcpu, "Disabling NMI window exiting"); } int @@ -1406,7 +1401,7 @@ vmx_set_tsc_offset(struct vmx *vmx, struct vmx_vcpu *vcpu, uint64_t offset) if ((vcpu->cap.proc_ctls & PROCBASED_TSC_OFFSET) == 0) { vcpu->cap.proc_ctls |= PROCBASED_TSC_OFFSET; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vcpu->cap.proc_ctls); - VCPU_CTR0(vmx->vm, vcpu->vcpuid, "Enabling TSC offsetting"); + VMX_CTR0(vcpu, "Enabling TSC offsetting"); } error = vmwrite(VMCS_TSC_OFFSET, offset); @@ -1442,7 +1437,7 @@ vmx_inject_nmi(struct vmx *vmx, struct vmx_vcpu *vcpu) info = IDT_NMI | VMCS_INTR_T_NMI | VMCS_INTR_VALID; vmcs_write(VMCS_ENTRY_INTR_INFO, info); - VCPU_CTR0(vmx->vm, vcpu->vcpuid, "Injecting vNMI"); + VMX_CTR0(vcpu, "Injecting vNMI"); /* Clear the request */ vm_nmi_clear(vmx->vm, vcpu->vcpuid); @@ -1459,7 +1454,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, if (vcpu->state.nextrip != guestrip) { gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); if (gi & HWINTR_BLOCKING) { - VCPU_CTR2(vmx->vm, vcpu, "Guest interrupt blocking " + VMX_CTR2(vcpu, "Guest interrupt blocking " "cleared due to rip change: %#lx/%#lx", vcpu->state.nextrip, guestrip); gi &= ~HWINTR_BLOCKING; @@ -1512,13 +1507,12 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, vmx_inject_nmi(vmx, vcpu); need_nmi_exiting = 0; } else { - VCPU_CTR1(vmx->vm, vcpu->vcpuid, "Cannot " - "inject NMI due to VM-entry intr info %#x", - info); + VMX_CTR1(vcpu, "Cannot inject NMI " + "due to VM-entry intr info %#x", info); } } else { - VCPU_CTR1(vmx->vm, vcpu->vcpuid, "Cannot inject NMI " - "due to Guest Interruptibility-state %#x", gi); + VMX_CTR1(vcpu, "Cannot inject NMI due to " + "Guest Interruptibility-state %#x", gi); } if (need_nmi_exiting) @@ -1538,8 +1532,8 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, * not needed for correctness. */ if ((vcpu->cap.proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0) { - VCPU_CTR0(vmx->vm, vcpu->vcpuid, "Skip interrupt injection " - "due to pending int_window_exiting"); + VMX_CTR0(vcpu, "Skip interrupt injection due to " + "pending int_window_exiting"); return; } @@ -1573,15 +1567,15 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, /* Check RFLAGS.IF and the interruptibility state of the guest */ rflags = vmcs_read(VMCS_GUEST_RFLAGS); if ((rflags & PSL_I) == 0) { - VCPU_CTR2(vmx->vm, vcpu->vcpuid, "Cannot inject vector %d due " - "to rflags %#lx", vector, rflags); + VMX_CTR2(vcpu, "Cannot inject vector %d due to " + "rflags %#lx", vector, rflags); goto cantinject; } gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); if (gi & HWINTR_BLOCKING) { - VCPU_CTR2(vmx->vm, vcpu->vcpuid, "Cannot inject vector %d due " - "to Guest Interruptibility-state %#x", vector, gi); + VMX_CTR2(vcpu, "Cannot inject vector %d due to " + "Guest Interruptibility-state %#x", vector, gi); goto cantinject; } @@ -1594,8 +1588,8 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, * - An exception was injected above. * - An NMI was injected above or after "NMI window exiting" */ - VCPU_CTR2(vmx->vm, vcpu->vcpuid, "Cannot inject vector %d due " - "to VM-entry intr info %#x", vector, info); + VMX_CTR2(vcpu, "Cannot inject vector %d due to " + "VM-entry intr info %#x", vector, info); goto cantinject; } @@ -1625,8 +1619,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, vmx_set_int_window_exiting(vcpu); } - VCPU_CTR1(vmx->vm, vcpu->vcpuid, "Injecting hwintr at vector %d", - vector); + VMX_CTR1(vcpu, "Injecting hwintr at vector %d", vector); return; @@ -1652,7 +1645,7 @@ vmx_restore_nmi_blocking(struct vmx_vcpu *vcpu) { uint32_t gi; - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, "Restore Virtual-NMI blocking"); + VMX_CTR0(vcpu, "Restore Virtual-NMI blocking"); gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); gi |= VMCS_INTERRUPTIBILITY_NMI_BLOCKING; vmcs_write(VMCS_GUEST_INTERRUPTIBILITY, gi); @@ -1663,7 +1656,7 @@ vmx_clear_nmi_blocking(struct vmx_vcpu *vcpu) { uint32_t gi; - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, "Clear Virtual-NMI blocking"); + VMX_CTR0(vcpu, "Clear Virtual-NMI blocking"); gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); gi &= ~VMCS_INTERRUPTIBILITY_NMI_BLOCKING; vmcs_write(VMCS_GUEST_INTERRUPTIBILITY, gi); @@ -2400,7 +2393,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) * as most VM-exit fields are not populated as usual. */ if (__predict_false(reason == EXIT_REASON_MCE_DURING_ENTRY)) { - VCPU_CTR0(vmx->vm, vcpuid, "Handling MCE during VM-entry"); + VMX_CTR0(vcpu, "Handling MCE during VM-entry"); __asm __volatile("int $18"); return (1); } @@ -2495,7 +2488,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) } vmexit->exitcode = VM_EXITCODE_TASK_SWITCH; SDT_PROBE4(vmm, vmx, exit, taskswitch, vmx, vcpuid, vmexit, ts); - VCPU_CTR4(vmx->vm, vcpuid, "task switch reason %d, tss 0x%04x, " + VMX_CTR4(vcpu, "task switch reason %d, tss 0x%04x, " "%s errcode 0x%016lx", ts->reason, ts->tsssel, ts->ext ? "external" : "internal", ((uint64_t)ts->errcode << 32) | ts->errcode_valid); @@ -2519,7 +2512,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_RDMSR, 1); retu = false; ecx = vmxctx->guest_rcx; - VCPU_CTR1(vmx->vm, vcpuid, "rdmsr 0x%08x", ecx); + VMX_CTR1(vcpu, "rdmsr 0x%08x", ecx); SDT_PROBE4(vmm, vmx, exit, rdmsr, vmx, vcpuid, vmexit, ecx); error = emulate_rdmsr(vmx, vcpu, ecx, &retu); if (error) { @@ -2539,7 +2532,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) eax = vmxctx->guest_rax; ecx = vmxctx->guest_rcx; edx = vmxctx->guest_rdx; - VCPU_CTR2(vmx->vm, vcpuid, "wrmsr 0x%08x value 0x%016lx", + VMX_CTR2(vcpu, "wrmsr 0x%08x value 0x%016lx", ecx, (uint64_t)edx << 32 | eax); SDT_PROBE5(vmm, vmx, exit, wrmsr, vmx, vmexit, vcpuid, ecx, (uint64_t)edx << 32 | eax); @@ -2685,7 +2678,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) * the machine check back into the guest. */ if (intr_vec == IDT_MC) { - VCPU_CTR0(vmx->vm, vcpuid, "Vectoring to MCE handler"); + VMX_CTR0(vcpu, "Vectoring to MCE handler"); __asm __volatile("int $18"); return (1); } @@ -2723,7 +2716,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) errcode_valid = 1; errcode = vmcs_read(VMCS_EXIT_INTR_ERRCODE); } - VCPU_CTR2(vmx->vm, vcpuid, "Reflecting exception %d/%#x into " + VMX_CTR2(vcpu, "Reflecting exception %d/%#x into " "the guest", intr_vec, errcode); SDT_PROBE5(vmm, vmx, exit, exception, vmx, vcpuid, vmexit, intr_vec, errcode); @@ -2918,8 +2911,7 @@ vmx_exit_handle_nmi(struct vmx_vcpu *vcpu, struct vm_exit *vmexit) if ((intr_info & VMCS_INTR_T_MASK) == VMCS_INTR_T_NMI) { KASSERT((intr_info & 0xff) == IDT_NMI, ("VM exit due " "to NMI has invalid vector: %#x", intr_info)); - VCPU_CTR0(vcpu->vmx->vm, vcpu->vcpuid, - "Vectoring to NMI handler"); + VMX_CTR0(vcpu, "Vectoring to NMI handler"); __asm __volatile("int $2"); } } @@ -3217,7 +3209,7 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) handled, vmexit->exitcode); } - VCPU_CTR1(vm, vcpuid, "returning from vmx_run: exitcode %d", + VMX_CTR1(vcpu, "returning from vmx_run: exitcode %d", vmexit->exitcode); VMCLEAR(vmcs); @@ -3364,8 +3356,8 @@ vmx_modify_intr_shadow(struct vmx_vcpu *vcpu, int running, uint64_t val) error = vmcs_setreg(vmcs, running, ident, gi); } done: - VCPU_CTR2(vcpu->vmx->vm, vcpu->vcpuid, "Setting intr_shadow to %#lx %s", - val, error ? "failed" : "succeeded"); + VMX_CTR2(vcpu, "Setting intr_shadow to %#lx %s", val, + error ? "failed" : "succeeded"); return (error); } diff --git a/sys/amd64/vmm/intel/vmx.h b/sys/amd64/vmm/intel/vmx.h index 3f93fa2f0e72..80719b003b1a 100644 --- a/sys/amd64/vmm/intel/vmx.h +++ b/sys/amd64/vmm/intel/vmx.h @@ -151,6 +151,21 @@ struct vmx { extern bool vmx_have_msr_tsc_aux; +#define VMX_CTR0(vcpu, format) \ + VCPU_CTR0((vcpu)->vmx->vm, (vcpu)->vcpuid, format) + +#define VMX_CTR1(vcpu, format, p1) \ + VCPU_CTR1((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1) + +#define VMX_CTR2(vcpu, format, p1, p2) \ + VCPU_CTR2((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2) + +#define VMX_CTR3(vcpu, format, p1, p2, p3) \ + VCPU_CTR3((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2, p3) + +#define VMX_CTR4(vcpu, format, p1, p2, p3, p4) \ + VCPU_CTR4((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2, p3, p4) + #define VMX_GUEST_VMEXIT 0 #define VMX_VMRESUME_ERROR 1 #define VMX_VMLAUNCH_ERROR 2 From nobody Thu Jan 26 22:11:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0g4Pyyz3c7tf; Thu, 26 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w0g32wSz3vXH; Thu, 26 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZ0EW0TdzyoqTPj+oraMTKEKK/tl2LJci6APBhx2Nww=; b=OtV1Ty+CowF05x0imvM7DWOTR7hPDsZYQUO/VVcMhySeS+OH5f2imrFG1RE8X9x+MMAqP5 Len0qQpWsZoisROdVqym2mEyQMGpGL+xMwvnAMoxYoT5hdF5AibnjGu9tfqX5e0+1n0Yy8 3ZYBlV9gwqfx2jmcJ/2VATrnCrr5A+FYaH4zgDiuOe73s0MHEZluWPKXe9z2+9sX+CDN7r Q4tHonHoT1NVsZK9p4WZxeYK7iXV3f+yUaFmsVmiR6k81EmQj8/xgI+7uYbzGeF61OX/eR 84vHelQmlQvnBHrdGexXFg5uTB3078/f45FHFqp7xoMFWKVcMW/scfGaNXBg3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZ0EW0TdzyoqTPj+oraMTKEKK/tl2LJci6APBhx2Nww=; b=oFAYQEHfmjBC5v+UGZ5uZ4po/LG0vE0SjTCDTV2tPlJuoTsRxbVQQzEgGJ3fPck/Oxc3VP 0luomt6gsYYwItze8O59Y5yKfG8TRGV77OjebxgZmZmKLsy7QYjd8Q+B4SwNWZvqLynW3f sfEeW27y9CrC4Yhu+6K3MX3Aok4HmLBPAfQzwdcJipAnD9pGnJ7qfrHHtxoOy6B8nXShIl xaUfecWkuXpSxBQnztT2bVE0/Da7hLmRwv2n1Pvwa4NUb/HQ1nIwnY4iZEIYYmt9ZAyPJV 6hVCN0/MSc8r742mWEnKb6ojSSJaRs98PRYaIl0G8FUDVPLa4GMTNFcusfrBjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771107; a=rsa-sha256; cv=none; b=CJEyK8OofRwhn3a7LReR+dR1Wj+4eCJoYStLkFUNoCU+EY2y6Xd/kp5/AwHBR5d4EjrMKQ JX1un3bfxTWRFJ/aE/IiAg3zUqGjrGyhlmjEC/OJMlgzud67h3J80CgmNbgXiU6hKvJvDh enjfBLGrSmoYELYi3pDPb+P7BgfjhIQzfoZaoqwH/x74O4RuCM4lQi0DowfIwtdFsqFIQU qUb7c71eAYWC43NqfMvKRoo4P8rD4HHEO6i6bxwRarzIcqQzXrne3tQIcBdn2tBCWjOSyS vxAPSMpy5T+KuDrk3nAYZlZ1gJ56xq6v1n7zyVLbHRDheiUe1mMO5GOW6BZFkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0g28GQzlX4; Thu, 26 Jan 2023 22:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBlb8021790; Thu, 26 Jan 2023 22:11:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBlUx021789; Thu, 26 Jan 2023 22:11:47 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:47 GMT Message-Id: <202301262211.30QMBlUx021789@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: eb15017f7d2e - stable/13 - vmm: Use VLAPIC_CTR* in more places. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb15017f7d2eaf24d5af48e8305649e9b79585ed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=eb15017f7d2eaf24d5af48e8305649e9b79585ed commit eb15017f7d2eaf24d5af48e8305649e9b79585ed Author: John Baldwin AuthorDate: 2022-11-18 18:00:59 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:45:34 +0000 vmm: Use VLAPIC_CTR* in more places. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37155 (cherry picked from commit d030f941e63f5b20efa14833912aae29ff737fcf) --- sys/amd64/vmm/intel/vmx.c | 25 ++++++++++++------------- sys/amd64/vmm/io/vlapic.c | 9 ++++----- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index ae9864343705..47e3be32c1b0 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -3703,15 +3703,15 @@ struct vlapic_vtx { #define VPR_PRIO_BIT(vpr) (1 << ((vpr) >> 4)) -#define VMX_CTR_PIR(vm, vcpuid, pir_desc, notify, vector, level, msg) \ +#define VMX_CTR_PIR(vlapic, pir_desc, notify, vector, level, msg) \ do { \ - VCPU_CTR2(vm, vcpuid, msg " assert %s-triggered vector %d", \ + VLAPIC_CTR2(vlapic, msg " assert %s-triggered vector %d", \ level ? "level" : "edge", vector); \ - VCPU_CTR1(vm, vcpuid, msg " pir0 0x%016lx", pir_desc->pir[0]); \ - VCPU_CTR1(vm, vcpuid, msg " pir1 0x%016lx", pir_desc->pir[1]); \ - VCPU_CTR1(vm, vcpuid, msg " pir2 0x%016lx", pir_desc->pir[2]); \ - VCPU_CTR1(vm, vcpuid, msg " pir3 0x%016lx", pir_desc->pir[3]); \ - VCPU_CTR1(vm, vcpuid, msg " notify: %s", notify ? "yes" : "no");\ + VLAPIC_CTR1(vlapic, msg " pir0 0x%016lx", pir_desc->pir[0]); \ + VLAPIC_CTR1(vlapic, msg " pir1 0x%016lx", pir_desc->pir[1]); \ + VLAPIC_CTR1(vlapic, msg " pir2 0x%016lx", pir_desc->pir[2]); \ + VLAPIC_CTR1(vlapic, msg " pir3 0x%016lx", pir_desc->pir[3]); \ + VLAPIC_CTR1(vlapic, msg " notify: %s", notify ? "yes" : "no"); \ } while (0) /* @@ -3769,8 +3769,8 @@ vmx_set_intr_ready(struct vlapic *vlapic, int vector, bool level) } } - VMX_CTR_PIR(vlapic->vm, vlapic->vcpuid, pir_desc, notify, vector, - level, "vmx_set_intr_ready"); + VMX_CTR_PIR(vlapic, pir_desc, notify, vector, level, + "vmx_set_intr_ready"); return (notify); } @@ -3830,8 +3830,7 @@ vmx_pending_intr(struct vlapic *vlapic, int *vecptr) if (ppr == 0) return (1); - VCPU_CTR1(vlapic->vm, vlapic->vcpuid, "HLT with non-zero PPR %d", - lapic->ppr); + VLAPIC_CTR1(vlapic, "HLT with non-zero PPR %d", lapic->ppr); vpr = 0; for (i = 3; i >= 0; i--) { @@ -3985,7 +3984,7 @@ vmx_inject_pir(struct vlapic *vlapic) vlapic_vtx = (struct vlapic_vtx *)vlapic; pir_desc = vlapic_vtx->pir_desc; if (atomic_cmpset_long(&pir_desc->pending, 1, 0) == 0) { - VCPU_CTR0(vlapic->vm, vlapic->vcpuid, "vmx_inject_pir: " + VLAPIC_CTR0(vlapic, "vmx_inject_pir: " "no posted interrupt pending"); return; } @@ -4055,7 +4054,7 @@ vmx_inject_pir(struct vlapic *vlapic) intr_status_new = (intr_status_old & 0xFF00) | rvi; if (intr_status_new > intr_status_old) { vmcs_write(VMCS_GUEST_INTR_STATUS, intr_status_new); - VCPU_CTR2(vlapic->vm, vlapic->vcpuid, "vmx_inject_pir: " + VLAPIC_CTR2(vlapic, "vmx_inject_pir: " "guest_intr_status changed from 0x%04x to 0x%04x", intr_status_old, intr_status_new); } diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 76e3cd14a8f5..b3711685b70c 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -588,8 +588,7 @@ vlapic_process_eoi(struct vlapic *vlapic) } isrptr[idx] &= ~(1 << bitpos); vector = i * 32 + bitpos; - VCPU_CTR1(vlapic->vm, vlapic->vcpuid, "EOI vector %d", - vector); + VLAPIC_CTR1(vlapic, "EOI vector %d", vector); VLAPIC_CTR_ISR(vlapic, "vlapic_process_eoi"); vlapic->isrvec_stk_top--; vlapic_update_ppr(vlapic); @@ -600,7 +599,7 @@ vlapic_process_eoi(struct vlapic *vlapic) return; } } - VCPU_CTR0(vlapic->vm, vlapic->vcpuid, "Gratuitous EOI"); + VLAPIC_CTR0(vlapic, "Gratuitous EOI"); vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_GRATUITOUS_EOI, 1); } @@ -915,8 +914,8 @@ vlapic_set_tpr(struct vlapic *vlapic, uint8_t val) struct LAPIC *lapic = vlapic->apic_page; if (lapic->tpr != val) { - VCPU_CTR2(vlapic->vm, vlapic->vcpuid, "vlapic TPR changed " - "from %#x to %#x", lapic->tpr, val); + VLAPIC_CTR2(vlapic, "vlapic TPR changed from %#x to %#x", + lapic->tpr, val); lapic->tpr = val; vlapic_update_ppr(vlapic); } From nobody Thu Jan 26 22:11:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0h5l3gz3c84w; Thu, 26 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w0h469Sz3vKN; Thu, 26 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/JQXaeRZg4SILLsK4MSs3Jy6zVarQ2JmB8UEu6y/0oo=; b=ub/PxRbdl+2xWWtC0JIhNeDx3Xv5vL/pDHNK0yjF4ZYoZ8rTng9dTbxkw+HWO8LThlwyxd wBQAVHb+SL/Fns/xZObURSMTtUU9QrGIhMhfbCdOawxCmkA1/jpY4ayl3tixUha+RO7x2X 6sbxC5e7RKWTzV03FAa3bz9+N+OIaEBylFcdJdx6oOe4Fmg8grfxo9mPz9bu4AYtH8iOSn 5no2tLZryzXW/f7Jv5Xf1dcLO8+EB/6PZozTUPqkoM9qlwG9LqcBV1/g7TRgApdiiJOz+G MBW66lGnbN6B3d9n37uobwi1lTmk2rLMui1a07/Q/yp7WNMZq7EChH7uo5rRoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/JQXaeRZg4SILLsK4MSs3Jy6zVarQ2JmB8UEu6y/0oo=; b=Nl4aMWQk+kakm4Zl9oltJQX6WKwn8Cy075PBt4alt+DTj8SbsX1MbbnL32fgmzHdhugLoP 3h/1lbipS/lj3KAhhRLzOdgGAX02sP+Gaviq/jG7CmAu1j/kyxDRVQ4K4IxdUyEyEPDniq JITAy/G2bh0chXDHP9l4p1Ra2QFURuJynS4Wevwr54lYkW2AvIv+VHe9aJrq/jYIPi0UiI 6baurLgRBezhlgPkBCGZie5NVcMP3x1RY0dnsf8Hwf3AL85iNeeF1JK3UkLBpYW/aaqfrf /Vo3rZ6nFfxMh1DH+zHHaADPWiJiZ3DXwXkszxMLNiymo1fwV4Wx2HTDW43BVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771108; a=rsa-sha256; cv=none; b=UoDHVVPF/v2H/NEfutUQaWu1c2RIiIW/L0OCbULAD3Gm7FtGufzWTX0/lu53DxqL8AAGN2 hfFEbC+r0KnolRPdafxwNq5Q/O4HYrrU96Q5dxLbG89S7c8JO60MumCYCqly5pvRHQuGe6 PD3aPGPzmQoIlBWeCcrGKpuHFBZUCam63PYX6Nb/+BEOtNQTiiDH1d2aReNc70LxwsA0uf g2lzNKcGrQOsJ13uwJx1xbbhzLo4k1m9Hlzlbfuz2M87eNkEeaopoOgG6GFTpj0OFwvWAB GXad2B0QBXIhXfGOfa1sXBHalw6wc+H4jGsSbERqZEQQukwhCnTpQnQzhrGz2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0h36qFzlh4; Thu, 26 Jan 2023 22:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBm7e021814; Thu, 26 Jan 2023 22:11:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBmNN021813; Thu, 26 Jan 2023 22:11:48 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:48 GMT Message-Id: <202301262211.30QMBmNN021813@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: fa1eabaa8d9a - stable/13 - vmm: Expose struct vcpu as an opaque type. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fa1eabaa8d9a357817eca29c7ad42ac2c8c8872f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fa1eabaa8d9a357817eca29c7ad42ac2c8c8872f commit fa1eabaa8d9a357817eca29c7ad42ac2c8c8872f Author: John Baldwin AuthorDate: 2022-11-18 18:01:05 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:45:43 +0000 vmm: Expose struct vcpu as an opaque type. Pass a pointer to the current struct vcpu to the vcpu_init callback and save this pointer in the CPU-specific vcpu structures. Add routines to fetch a struct vcpu by index from a VM and to query the VM and vcpuid from a struct vcpu. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37156 (cherry picked from commit 950af9ffc616ee573a1ce6ef0c841e897b13dfc4) --- sys/amd64/include/vmm.h | 7 ++++++- sys/amd64/vmm/amd/svm.c | 4 +++- sys/amd64/vmm/amd/svm_softc.h | 1 + sys/amd64/vmm/intel/vmx.c | 4 +++- sys/amd64/vmm/intel/vmx.h | 1 + sys/amd64/vmm/io/vlapic_priv.h | 2 ++ sys/amd64/vmm/vmm.c | 42 ++++++++++++++++++++++++++++++++++++++++-- 7 files changed, 56 insertions(+), 5 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 43a4f123f40a..7548fea76696 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -143,6 +143,7 @@ enum x2apic_state { #ifdef _KERNEL CTASSERT(VM_MAX_NAMELEN >= VM_MIN_NAMELEN); +struct vcpu; struct vm; struct vm_exception; struct seg_desc; @@ -170,7 +171,8 @@ typedef void * (*vmi_init_func_t)(struct vm *vm, struct pmap *pmap); typedef int (*vmi_run_func_t)(void *vcpui, register_t rip, struct pmap *pmap, struct vm_eventinfo *info); typedef void (*vmi_cleanup_func_t)(void *vmi); -typedef void * (*vmi_vcpu_init_func_t)(void *vmi, int vcpu_id); +typedef void * (*vmi_vcpu_init_func_t)(void *vmi, struct vcpu *vcpu, + int vcpu_id); typedef void (*vmi_vcpu_cleanup_func_t)(void *vcpui); typedef int (*vmi_get_register_t)(void *vcpui, int num, uint64_t *retval); typedef int (*vmi_set_register_t)(void *vcpui, int num, uint64_t val); @@ -268,6 +270,9 @@ void vm_nmi_clear(struct vm *vm, int vcpuid); int vm_inject_extint(struct vm *vm, int vcpu); int vm_extint_pending(struct vm *vm, int vcpuid); void vm_extint_clear(struct vm *vm, int vcpuid); +int vcpu_vcpuid(struct vcpu *vcpu); +struct vm *vcpu_vm(struct vcpu *vcpu); +struct vcpu *vm_vcpu(struct vm *vm, int cpu); struct vlapic *vm_lapic(struct vm *vm, int cpu); struct vioapic *vm_ioapic(struct vm *vm); struct vhpet *vm_hpet(struct vm *vm); diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index a8008fd4c032..5eeef4b9a0fe 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -609,13 +609,14 @@ svm_init(struct vm *vm, pmap_t pmap) } static void * -svm_vcpu_init(void *vmi, int vcpuid) +svm_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) { struct svm_softc *sc = vmi; struct svm_vcpu *vcpu; vcpu = malloc(sizeof(*vcpu), M_SVM, M_WAITOK | M_ZERO); vcpu->sc = sc; + vcpu->vcpu = vcpu1; vcpu->vcpuid = vcpuid; vcpu->vmcb = malloc_aligned(sizeof(struct vmcb), PAGE_SIZE, M_SVM, M_WAITOK | M_ZERO); @@ -2409,6 +2410,7 @@ svm_vlapic_init(void *vcpui) vcpu = vcpui; vlapic = malloc(sizeof(struct vlapic), M_SVM_VLAPIC, M_WAITOK | M_ZERO); vlapic->vm = vcpu->sc->vm; + vlapic->vcpu = vcpu->vcpu; vlapic->vcpuid = vcpu->vcpuid; vlapic->apic_page = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_SVM_VLAPIC, M_WAITOK | M_ZERO); diff --git a/sys/amd64/vmm/amd/svm_softc.h b/sys/amd64/vmm/amd/svm_softc.h index e958cc62b343..5cc2da5343a0 100644 --- a/sys/amd64/vmm/amd/svm_softc.h +++ b/sys/amd64/vmm/amd/svm_softc.h @@ -45,6 +45,7 @@ struct asid { struct svm_vcpu { struct svm_softc *sc; + struct vcpu *vcpu; struct vmcb *vmcb; /* hardware saved vcpu context */ struct svm_regctx swctx; /* software saved vcpu context */ uint64_t vmcb_pa; /* VMCB physical address */ diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 47e3be32c1b0..ec1b5c80dcff 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1110,7 +1110,7 @@ vmx_init(struct vm *vm, pmap_t pmap) } static void * -vmx_vcpu_init(void *vmi, int vcpuid) +vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) { struct vmx *vmx = vmi; struct vmcs *vmcs; @@ -1120,6 +1120,7 @@ vmx_vcpu_init(void *vmi, int vcpuid) vcpu = malloc(sizeof(*vcpu), M_VMX, M_WAITOK | M_ZERO); vcpu->vmx = vmx; + vcpu->vcpu = vcpu1; vcpu->vcpuid = vcpuid; vcpu->vmcs = malloc_aligned(sizeof(*vmcs), PAGE_SIZE, M_VMX, M_WAITOK | M_ZERO); @@ -4074,6 +4075,7 @@ vmx_vlapic_init(void *vcpui) vlapic = malloc(sizeof(struct vlapic_vtx), M_VLAPIC, M_WAITOK | M_ZERO); vlapic->vm = vmx->vm; + vlapic->vcpu = vcpu->vcpu; vlapic->vcpuid = vcpu->vcpuid; vlapic->apic_page = (struct LAPIC *)vcpu->apic_page; diff --git a/sys/amd64/vmm/intel/vmx.h b/sys/amd64/vmm/intel/vmx.h index 80719b003b1a..87a3660340f6 100644 --- a/sys/amd64/vmm/intel/vmx.h +++ b/sys/amd64/vmm/intel/vmx.h @@ -128,6 +128,7 @@ enum { struct vmx_vcpu { struct vmx *vmx; + struct vcpu *vcpu; struct vmcs *vmcs; struct apic_page *apic_page; struct pir_desc *pir_desc; diff --git a/sys/amd64/vmm/io/vlapic_priv.h b/sys/amd64/vmm/io/vlapic_priv.h index 4b3e9009e68c..2ac0cbf68117 100644 --- a/sys/amd64/vmm/io/vlapic_priv.h +++ b/sys/amd64/vmm/io/vlapic_priv.h @@ -138,6 +138,7 @@ enum boot_state { #define VLAPIC_MAXLVT_INDEX APIC_LVT_CMCI +struct vcpu; struct vlapic; struct vlapic_ops { @@ -151,6 +152,7 @@ struct vlapic_ops { struct vlapic { struct vm *vm; + struct vcpu *vcpu; int vcpuid; struct LAPIC *apic_page; struct vlapic_ops ops; diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 51868186f6e2..7f9072b7200d 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -104,8 +104,10 @@ struct vlapic; struct vcpu { struct mtx mtx; /* (o) protects 'state' and 'hostcpu' */ enum vcpu_state state; /* (o) vcpu state */ + int vcpuid; /* (o) */ int hostcpu; /* (o) vcpu's host cpu */ int reqidle; /* (i) request vcpu to idle */ + struct vm *vm; /* (o) */ void *cookie; /* (i) cpu-specific data */ struct vlapic *vlapic; /* (i) APIC device model */ enum x2apic_state x2apic_state; /* (i) APIC mode */ @@ -184,6 +186,21 @@ struct vm { uint16_t maxcpus; /* (o) max pluggable cpus */ }; +#define VMM_CTR0(vcpu, format) \ + VCPU_CTR0((vcpu)->vm, (vcpu)->vcpuid, format) + +#define VMM_CTR1(vcpu, format, p1) \ + VCPU_CTR1((vcpu)->vm, (vcpu)->vcpuid, format, p1) + +#define VMM_CTR2(vcpu, format, p1, p2) \ + VCPU_CTR2((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2) + +#define VMM_CTR3(vcpu, format, p1, p2, p3) \ + VCPU_CTR3((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2, p3) + +#define VMM_CTR4(vcpu, format, p1, p2, p3, p4) \ + VCPU_CTR4((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2, p3, p4) + static int vmm_initialized; static void vmmops_panic(void); @@ -212,7 +229,8 @@ DEFINE_VMMOPS_IFUNC(void *, init, (struct vm *vm, struct pmap *pmap)) DEFINE_VMMOPS_IFUNC(int, run, (void *vcpui, register_t rip, struct pmap *pmap, struct vm_eventinfo *info)) DEFINE_VMMOPS_IFUNC(void, cleanup, (void *vmi)) -DEFINE_VMMOPS_IFUNC(void *, vcpu_init, (void *vmi, int vcpu_id)) +DEFINE_VMMOPS_IFUNC(void *, vcpu_init, (void *vmi, struct vcpu *vcpu, + int vcpu_id)) DEFINE_VMMOPS_IFUNC(void, vcpu_cleanup, (void *vcpui)) DEFINE_VMMOPS_IFUNC(int, getreg, (void *vcpui, int num, uint64_t *retval)) DEFINE_VMMOPS_IFUNC(int, setreg, (void *vcpui, int num, uint64_t val)) @@ -327,12 +345,14 @@ vcpu_init(struct vm *vm, int vcpu_id, bool create) vcpu_lock_init(vcpu); vcpu->state = VCPU_IDLE; vcpu->hostcpu = NOCPU; + vcpu->vcpuid = vcpu_id; + vcpu->vm = vm; vcpu->guestfpu = fpu_save_area_alloc(); vcpu->stats = vmm_stat_alloc(); vcpu->tsc_offset = 0; } - vcpu->cookie = vmmops_vcpu_init(vm->cookie, vcpu_id); + vcpu->cookie = vmmops_vcpu_init(vm->cookie, vcpu, vcpu_id); vcpu->vlapic = vmmops_vlapic_init(vcpu->cookie); vm_set_x2apic_state(vm, vcpu_id, X2APIC_DISABLED); vcpu->reqidle = 0; @@ -2298,6 +2318,24 @@ vm_set_capability(struct vm *vm, int vcpu, int type, int val) return (vmmops_setcap(vcpu_cookie(vm, vcpu), type, val)); } +struct vm * +vcpu_vm(struct vcpu *vcpu) +{ + return (vcpu->vm); +} + +int +vcpu_vcpuid(struct vcpu *vcpu) +{ + return (vcpu->vcpuid); +} + +struct vcpu * +vm_vcpu(struct vm *vm, int vcpuid) +{ + return (&vm->vcpu[vcpuid]); +} + struct vlapic * vm_lapic(struct vm *vm, int cpu) { From nobody Thu Jan 26 22:11:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0k0vVBz3c8GW; Thu, 26 Jan 2023 22:11: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 4P2w0j4kcsz3vmK; Thu, 26 Jan 2023 22:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lHPYKXm/OzDZrh15dx4BbI1ArK2UvCAgbrzR8h9guNY=; b=hziJNRghlnah2kZvNiPq8VLzW+XXfAO3UP1qGnJqgAdSi7GLqABfdlpnWcQLRczqPyOg9F 1cxyOfkDG/5ioXC8PhfctYUGxyIoBpe3y1zt9EwJ0h+w6WZ/uXv48+2NyIPjP8YYTvthVd aeCNKtQtHGsr3WjKA3r8Zl7I1tIpor6x3haaZ8hEU3DQrS7Jf2EBC5eb/ZUZIdd1okGwPL +ltKMDa9epkQDbt5LmoR+96djgziYfvmCEZMSub5EgBl/+ERJ1Uw/s/x35vt1Zrod186zl mfVd7MQJ+7aLhK44jiWoSY8M50Al/t4FDt+qGV/ec37WzLum/Ttc86Ga0WryaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lHPYKXm/OzDZrh15dx4BbI1ArK2UvCAgbrzR8h9guNY=; b=uKOW9UoMtIXKbhQgwSXQrJfgddjqsEdJb2oLjYPGQ4xIQWFRxdee4cxHOmYFhqVrSqnuk7 09Me5bBH71on0dNMCBrSu/ndFKzsRNCMyxpQCp9OO/Qeie5iO7feLGU1wI3n/tzOtwGBSj yNzTOuI5rYanr/Txr4gjJA7/S/1qKl8BGalnePAAp610KEBGuuST1cn2cEbf5U2AlX5VrG q5BRdiDKWqgg/MlMlot3VKaLSExG5vmypo6Rl7cyA8F2ixr/utYcVMXZbeUQielXi8Ilqs 6lPC0JkVdaUDdIEzuBpHV3ceIn66Aj4tKuyGBUBftYnORZzWQxzkLzb+z7jdQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771109; a=rsa-sha256; cv=none; b=jB5touW4R/u55GXTlHkm40WK4lDntYjtb7j94svsFSrmAi0qdL8meb3RRRQ7mM7uDaVC9t claUhfT5+hj2Bl5KR2UTFxFeRcyUilZk/a+TLemeCXYYnCLhPPMytiWa0rIDPghmIf0Fvq RsatZwucyC4rFXhp0yOX2Jbil77rIeq0YkEkBVEbbnn0uWEQ1pPiPJ6vF/B++MeLZ+cD0T 2wzebWoyJ5nw/v3PK5fhjGxilAzNZyeMqjAUyaw6tMRA3TlVfrEI6gRwuAERfJu9hQ35xc ajszB9Nwchyb3ZwwtJ2RNe7b7H+1afyKx2WaKPYpcrpbmumW0o26FLiVd7GNjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0j3r5Kzlm6; Thu, 26 Jan 2023 22:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBnIo021840; Thu, 26 Jan 2023 22:11:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBnb8021839; Thu, 26 Jan 2023 22:11:49 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:49 GMT Message-Id: <202301262211.30QMBnb8021839@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8e1395e88b53 - stable/13 - vmm: Use struct vcpu with the vmm_stat API. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e1395e88b53eca8ac0862940904708e5d8e21d9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8e1395e88b53eca8ac0862940904708e5d8e21d9 commit 8e1395e88b53eca8ac0862940904708e5d8e21d9 Author: John Baldwin AuthorDate: 2022-11-18 18:01:18 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:46:54 +0000 vmm: Use struct vcpu with the vmm_stat API. The function callbacks still use struct vm and and vCPU index. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37157 (cherry picked from commit 3dc3d32ad67b38ab44ed4a7cf3020a0741b47ec1) --- sys/amd64/include/vmm.h | 2 +- sys/amd64/vmm/amd/svm.c | 32 ++++++++++++++++---------------- sys/amd64/vmm/intel/vmx.c | 38 +++++++++++++++++++------------------- sys/amd64/vmm/io/vlapic.c | 18 ++++++++---------- sys/amd64/vmm/vmm.c | 24 ++++++++++++------------ sys/amd64/vmm/vmm_stat.c | 2 +- sys/amd64/vmm/vmm_stat.h | 20 ++++++++++---------- 7 files changed, 67 insertions(+), 69 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 7548fea76696..800114151d95 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -380,7 +380,7 @@ vcpu_should_yield(struct vm *vm, int vcpu) } #endif -void *vcpu_stats(struct vm *vm, int vcpu); +void *vcpu_stats(struct vcpu *vcpu); void vcpu_notify_event(struct vm *vm, int vcpuid, bool lapic_intr); struct vmspace *vm_get_vmspace(struct vm *vm); struct vatpic *vm_atpic(struct vm *vm); diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 5eeef4b9a0fe..f55262faee4f 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -1010,7 +1010,7 @@ svm_save_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) */ SVM_CTR2(vcpu, "SVM:Pending INTINFO(0x%lx), vector=%d.\n", intinfo, VMCB_EXITINTINFO_VECTOR(intinfo)); - vmm_stat_incr(svm_sc->vm, vcpuid, VCPU_EXITINTINFO, 1); + vmm_stat_incr(vcpu->vcpu, VCPU_EXITINTINFO, 1); vm_exit_intinfo(svm_sc->vm, vcpuid, intinfo); } @@ -1355,7 +1355,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, vmexit->rip = state->rip; vmexit->inst_length = nrip_valid(code) ? ctrl->nrip - state->rip : 0; - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_COUNT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_COUNT, 1); /* * #VMEXIT(INVALID) needs to be handled early because the VMCB is @@ -1387,18 +1387,18 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, handled = 1; break; case VMCB_EXIT_VINTR: /* interrupt window exiting */ - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_VINTR, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_VINTR, 1); handled = 1; break; case VMCB_EXIT_INTR: /* external interrupt */ - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_EXTINT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_EXTINT, 1); handled = 1; break; case VMCB_EXIT_NMI: /* external NMI */ handled = 1; break; case 0x40 ... 0x5F: - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_EXCEPTION, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_EXCEPTION, 1); reflect = 1; idtvec = code - 0x40; switch (idtvec) { @@ -1473,7 +1473,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, retu = false; if (info1) { - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_WRMSR, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_WRMSR, 1); val = (uint64_t)edx << 32 | eax; SVM_CTR2(vcpu, "wrmsr %#x val %#lx", ecx, val); if (emulate_wrmsr(svm_sc, vcpu, ecx, val, &retu)) { @@ -1488,7 +1488,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, } } else { SVM_CTR1(vcpu, "rdmsr %#x", ecx); - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_RDMSR, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_RDMSR, 1); if (emulate_rdmsr(svm_sc, vcpu, ecx, &retu)) { vmexit->exitcode = VM_EXITCODE_RDMSR; vmexit->u.msr.code = ecx; @@ -1502,21 +1502,21 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, break; case VMCB_EXIT_IO: handled = svm_handle_io(vcpu, vmexit); - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_INOUT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_INOUT, 1); break; case VMCB_EXIT_CPUID: - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_CPUID, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_CPUID, 1); handled = x86_emulate_cpuid(svm_sc->vm, vcpuid, &state->rax, &ctx->sctx_rbx, &ctx->sctx_rcx, &ctx->sctx_rdx); break; case VMCB_EXIT_HLT: - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_HLT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_HLT, 1); vmexit->exitcode = VM_EXITCODE_HLT; vmexit->u.hlt.rflags = state->rflags; break; case VMCB_EXIT_PAUSE: vmexit->exitcode = VM_EXITCODE_PAUSE; - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_PAUSE, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_PAUSE, 1); break; case VMCB_EXIT_NPF: /* EXITINFO2 contains the faulting guest physical address */ @@ -1528,13 +1528,13 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, vmexit->exitcode = VM_EXITCODE_PAGING; vmexit->u.paging.gpa = info2; vmexit->u.paging.fault_type = npf_fault_type(info1); - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_NESTED_FAULT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_NESTED_FAULT, 1); SVM_CTR3(vcpu, "nested page fault " "on gpa %#lx/%#lx at rip %#lx", info2, info1, state->rip); } else if (svm_npf_emul_fault(info1)) { svm_handle_inst_emul(vmcb, info2, vmexit); - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_INST_EMUL, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_INST_EMUL, 1); SVM_CTR3(vcpu, "inst_emul fault " "for gpa %#lx/%#lx at rip %#lx", info2, info1, state->rip); @@ -1565,7 +1565,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, handled = 1; break; default: - vmm_stat_incr(svm_sc->vm, vcpuid, VMEXIT_UNKNOWN, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_UNKNOWN, 1); break; } @@ -1610,7 +1610,7 @@ svm_inj_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) VMCB_EXITINTINFO_VECTOR(intinfo), VMCB_EXITINTINFO_EC(intinfo), VMCB_EXITINTINFO_EC_VALID(intinfo)); - vmm_stat_incr(svm_sc->vm, vcpuid, VCPU_INTINFO_INJECTED, 1); + vmm_stat_incr(vcpu->vcpu, VCPU_INTINFO_INJECTED, 1); SVM_CTR1(vcpu, "Injected entry intinfo: %#lx", intinfo); } @@ -2044,7 +2044,7 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) * migration should take this case into account. */ vcpu->lastcpu = curcpu; - vmm_stat_incr(vm, vcpuid, VCPU_MIGRATIONS, 1); + vmm_stat_incr(vcpu->vcpu, VCPU_MIGRATIONS, 1); } svm_msr_guest_enter(svm_sc, vcpu); diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index ec1b5c80dcff..abedecbecd89 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1314,7 +1314,7 @@ vmx_invvpid(struct vmx *vmx, struct vmx_vcpu *vcpu, pmap_t pmap, int running) invvpid_desc.vpid = vmxstate->vpid; invvpid_desc.linear_addr = 0; invvpid(INVVPID_TYPE_SINGLE_CONTEXT, invvpid_desc); - vmm_stat_incr(vmx->vm, vcpu->vcpuid, VCPU_INVVPID_DONE, 1); + vmm_stat_incr(vcpu->vcpu, VCPU_INVVPID_DONE, 1); } else { /* * The invvpid can be skipped if an invept is going to @@ -1322,7 +1322,7 @@ vmx_invvpid(struct vmx *vmx, struct vmx_vcpu *vcpu, pmap_t pmap, int running) * will invalidate combined mappings tagged with * 'vmx->eptp' for all vpids. */ - vmm_stat_incr(vmx->vm, vcpu->vcpuid, VCPU_INVVPID_SAVED, 1); + vmm_stat_incr(vcpu->vcpu, VCPU_INVVPID_SAVED, 1); } } @@ -1337,7 +1337,7 @@ vmx_set_pcpu_defaults(struct vmx *vmx, struct vmx_vcpu *vcpu, pmap_t pmap) vmxstate->lastcpu = curcpu; - vmm_stat_incr(vmx->vm, vcpu->vcpuid, VCPU_MIGRATIONS, 1); + vmm_stat_incr(vcpu->vcpu, VCPU_MIGRATIONS, 1); vmcs_write(VMCS_HOST_TR_BASE, vmm_get_host_trbase()); vmcs_write(VMCS_HOST_GDTR_BASE, vmm_get_host_gdtrbase()); @@ -2384,7 +2384,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) reason = vmexit->u.vmx.exit_reason; vmexit->exitcode = VM_EXITCODE_BOGUS; - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_COUNT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_COUNT, 1); SDT_PROBE3(vmm, vmx, exit, entry, vmx, vcpuid, vmexit); /* @@ -2495,7 +2495,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) ((uint64_t)ts->errcode << 32) | ts->errcode_valid); break; case EXIT_REASON_CR_ACCESS: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_CR_ACCESS, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_CR_ACCESS, 1); SDT_PROBE4(vmm, vmx, exit, craccess, vmx, vcpuid, vmexit, qual); switch (qual & 0xf) { case 0: @@ -2510,7 +2510,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) } break; case EXIT_REASON_RDMSR: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_RDMSR, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_RDMSR, 1); retu = false; ecx = vmxctx->guest_rcx; VMX_CTR1(vcpu, "rdmsr 0x%08x", ecx); @@ -2528,7 +2528,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) } break; case EXIT_REASON_WRMSR: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_WRMSR, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_WRMSR, 1); retu = false; eax = vmxctx->guest_rax; ecx = vmxctx->guest_rcx; @@ -2552,7 +2552,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) } break; case EXIT_REASON_HLT: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_HLT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_HLT, 1); SDT_PROBE3(vmm, vmx, exit, halt, vmx, vcpuid, vmexit); vmexit->exitcode = VM_EXITCODE_HLT; vmexit->u.hlt.rflags = vmcs_read(VMCS_GUEST_RFLAGS); @@ -2563,18 +2563,18 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) vmexit->u.hlt.intr_status = 0; break; case EXIT_REASON_MTF: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_MTRAP, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_MTRAP, 1); SDT_PROBE3(vmm, vmx, exit, mtrap, vmx, vcpuid, vmexit); vmexit->exitcode = VM_EXITCODE_MTRAP; vmexit->inst_length = 0; break; case EXIT_REASON_PAUSE: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_PAUSE, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_PAUSE, 1); SDT_PROBE3(vmm, vmx, exit, pause, vmx, vcpuid, vmexit); vmexit->exitcode = VM_EXITCODE_PAUSE; break; case EXIT_REASON_INTR_WINDOW: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_INTR_WINDOW, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_INTR_WINDOW, 1); SDT_PROBE3(vmm, vmx, exit, intrwindow, vmx, vcpuid, vmexit); vmx_clear_int_window_exiting(vcpu); return (1); @@ -2607,7 +2607,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) * This is special. We want to treat this as an 'handled' * VM-exit but not increment the instruction pointer. */ - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_EXTINT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_EXTINT, 1); return (1); case EXIT_REASON_NMI_WINDOW: SDT_PROBE3(vmm, vmx, exit, nmiwindow, vmx, vcpuid, vmexit); @@ -2615,10 +2615,10 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) if (vm_nmi_pending(vmx->vm, vcpuid)) vmx_inject_nmi(vmx, vcpu); vmx_clear_nmi_window_exiting(vcpu); - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_NMI_WINDOW, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_NMI_WINDOW, 1); return (1); case EXIT_REASON_INOUT: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_INOUT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_INOUT, 1); vmexit->exitcode = VM_EXITCODE_INOUT; vmexit->u.inout.bytes = (qual & 0x7) + 1; vmexit->u.inout.in = in = (qual & 0x8) ? 1 : 0; @@ -2641,12 +2641,12 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) SDT_PROBE3(vmm, vmx, exit, inout, vmx, vcpuid, vmexit); break; case EXIT_REASON_CPUID: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_CPUID, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_CPUID, 1); SDT_PROBE3(vmm, vmx, exit, cpuid, vmx, vcpuid, vmexit); handled = vmx_handle_cpuid(vmx->vm, vcpuid, vmxctx); break; case EXIT_REASON_EXCEPTION: - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_EXCEPTION, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_EXCEPTION, 1); intr_info = vmcs_read(VMCS_EXIT_INTR_INFO); KASSERT((intr_info & VMCS_INTR_VALID) != 0, ("VM exit interruption info invalid: %#x", intr_info)); @@ -2740,12 +2740,12 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) vmexit->inst_length = 0; vmexit->u.paging.gpa = gpa; vmexit->u.paging.fault_type = ept_fault_type(qual); - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_NESTED_FAULT, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_NESTED_FAULT, 1); SDT_PROBE5(vmm, vmx, exit, nestedfault, vmx, vcpuid, vmexit, gpa, qual); } else if (ept_emulation_fault(qual)) { vmexit_inst_emul(vmexit, gpa, vmcs_gla()); - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_INST_EMUL, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_INST_EMUL, 1); SDT_PROBE4(vmm, vmx, exit, mmiofault, vmx, vcpuid, vmexit, gpa); } @@ -2821,7 +2821,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) default: SDT_PROBE4(vmm, vmx, exit, unknown, vmx, vcpuid, vmexit, reason); - vmm_stat_incr(vmx->vm, vcpuid, VMEXIT_UNKNOWN, 1); + vmm_stat_incr(vcpu->vcpu, VMEXIT_UNKNOWN, 1); break; } diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index b3711685b70c..fdd971cc03c9 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -600,7 +600,7 @@ vlapic_process_eoi(struct vlapic *vlapic) } } VLAPIC_CTR0(vlapic, "Gratuitous EOI"); - vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_GRATUITOUS_EOI, 1); + vmm_stat_incr(vlapic->vcpu, VLAPIC_GRATUITOUS_EOI, 1); } static __inline int @@ -636,7 +636,7 @@ vlapic_set_error(struct vlapic *vlapic, uint32_t mask, bool lvt_error) return; if (vlapic_fire_lvt(vlapic, APIC_LVT_ERROR)) { - vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_ERROR, 1); + vmm_stat_incr(vlapic->vcpu, VLAPIC_INTR_ERROR, 1); } } @@ -650,7 +650,7 @@ vlapic_fire_timer(struct vlapic *vlapic) if (vlapic_fire_lvt(vlapic, APIC_LVT_TIMER)) { VLAPIC_CTR0(vlapic, "vlapic timer fired"); - vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_TIMER, 1); + vmm_stat_incr(vlapic->vcpu, VLAPIC_INTR_TIMER, 1); } } @@ -662,7 +662,7 @@ vlapic_fire_cmci(struct vlapic *vlapic) { if (vlapic_fire_lvt(vlapic, APIC_LVT_CMCI)) { - vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_CMC, 1); + vmm_stat_incr(vlapic->vcpu, VLAPIC_INTR_CMC, 1); } } @@ -701,8 +701,8 @@ vlapic_trigger_lvt(struct vlapic *vlapic, int vector) case APIC_LVT_THERMAL: case APIC_LVT_CMCI: if (vlapic_fire_lvt(vlapic, vector)) { - vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid, - LVTS_TRIGGERRED, vector, 1); + vmm_stat_array_incr(vlapic->vcpu, LVTS_TRIGGERRED, + vector, 1); } break; default: @@ -1102,8 +1102,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) CPU_FOREACH_ISSET(i, &dmask) { lapic_intr_edge(vlapic->vm, i, vec); - vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid, - IPIS_SENT, i, 1); + vmm_stat_array_incr(vlapic->vcpu, IPIS_SENT, i, 1); VLAPIC_CTR2(vlapic, "vlapic sending ipi %d to vcpuid %d", vec, i); } @@ -1238,8 +1237,7 @@ vlapic_self_ipi_handler(struct vlapic *vlapic, uint64_t val) vec = val & 0xff; lapic_intr_edge(vlapic->vm, vlapic->vcpuid, vec); - vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid, IPIS_SENT, - vlapic->vcpuid, 1); + vmm_stat_array_incr(vlapic->vcpu, IPIS_SENT, vlapic->vcpuid, 1); VLAPIC_CTR1(vlapic, "vlapic self-ipi %d", vec); } diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 7f9072b7200d..715eaaa8ecaf 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1447,7 +1447,7 @@ vm_handle_hlt(struct vm *vm, int vcpuid, bool intr_disabled, bool *retu) */ msleep_spin(vcpu, &vcpu->mtx, wmesg, hz); vcpu_require_state_locked(vm, vcpuid, VCPU_FROZEN); - vmm_stat_incr(vm, vcpuid, VCPU_IDLE_TICKS, ticks - t); + vmm_stat_incr(vcpu, VCPU_IDLE_TICKS, ticks - t); if ((td->td_flags & TDF_NEEDSUSPCHK) != 0) { vcpu_unlock(vcpu); error = thread_check_susp(td, false); @@ -1727,7 +1727,7 @@ vm_exit_rendezvous(struct vm *vm, int vcpuid, uint64_t rip) vmexit->rip = rip; vmexit->inst_length = 0; vmexit->exitcode = VM_EXITCODE_RENDEZVOUS; - vmm_stat_incr(vm, vcpuid, VMEXIT_RENDEZVOUS, 1); + vmm_stat_incr(vm_vcpu(vm, vcpuid), VMEXIT_RENDEZVOUS, 1); } void @@ -1739,7 +1739,7 @@ vm_exit_reqidle(struct vm *vm, int vcpuid, uint64_t rip) vmexit->rip = rip; vmexit->inst_length = 0; vmexit->exitcode = VM_EXITCODE_REQIDLE; - vmm_stat_incr(vm, vcpuid, VMEXIT_REQIDLE, 1); + vmm_stat_incr(vm_vcpu(vm, vcpuid), VMEXIT_REQIDLE, 1); } void @@ -1751,7 +1751,7 @@ vm_exit_astpending(struct vm *vm, int vcpuid, uint64_t rip) vmexit->rip = rip; vmexit->inst_length = 0; vmexit->exitcode = VM_EXITCODE_BOGUS; - vmm_stat_incr(vm, vcpuid, VMEXIT_ASTPENDING, 1); + vmm_stat_incr(vm_vcpu(vm, vcpuid), VMEXIT_ASTPENDING, 1); } int @@ -1802,7 +1802,7 @@ restart: save_guest_fpustate(vcpu); - vmm_stat_incr(vm, vcpuid, VCPU_TOTAL_RUNTIME, rdtsc() - tscval); + vmm_stat_incr(vcpu, VCPU_TOTAL_RUNTIME, rdtsc() - tscval); critical_exit(); @@ -1860,7 +1860,7 @@ restart: if (error == 0 && retu == false) goto restart; - vmm_stat_incr(vm, vcpuid, VMEXIT_USERSPACE, 1); + vmm_stat_incr(vcpu, VMEXIT_USERSPACE, 1); VCPU_CTR2(vm, vcpuid, "retu %d/%d", error, vme->exitcode); /* copy the exit information */ @@ -2244,7 +2244,7 @@ vm_nmi_clear(struct vm *vm, int vcpuid) panic("vm_nmi_clear: inconsistent nmi_pending state"); vcpu->nmi_pending = 0; - vmm_stat_incr(vm, vcpuid, VCPU_NMI_COUNT, 1); + vmm_stat_incr(vcpu, VCPU_NMI_COUNT, 1); } static VMM_STAT(VCPU_EXTINT_COUNT, "number of ExtINTs delivered to vcpu"); @@ -2291,7 +2291,7 @@ vm_extint_clear(struct vm *vm, int vcpuid) panic("vm_extint_clear: inconsistent extint_pending state"); vcpu->extint_pending = 0; - vmm_stat_incr(vm, vcpuid, VCPU_EXTINT_COUNT, 1); + vmm_stat_incr(vcpu, VCPU_EXTINT_COUNT, 1); } int @@ -2530,10 +2530,10 @@ vm_suspended_cpus(struct vm *vm) } void * -vcpu_stats(struct vm *vm, int vcpuid) +vcpu_stats(struct vcpu *vcpu) { - return (vm->vcpu[vcpuid].stats); + return (vcpu->stats); } int @@ -2825,7 +2825,7 @@ vm_get_rescnt(struct vm *vm, int vcpu, struct vmm_stat_type *stat) { if (vcpu == 0) { - vmm_stat_set(vm, vcpu, VMM_MEM_RESIDENT, + vmm_stat_set(vm_vcpu(vm, vcpu), VMM_MEM_RESIDENT, PAGE_SIZE * vmspace_resident_count(vm->vmspace)); } } @@ -2835,7 +2835,7 @@ vm_get_wiredcnt(struct vm *vm, int vcpu, struct vmm_stat_type *stat) { if (vcpu == 0) { - vmm_stat_set(vm, vcpu, VMM_MEM_WIRED, + vmm_stat_set(vm_vcpu(vm, vcpu), VMM_MEM_WIRED, PAGE_SIZE * pmap_wired_count(vmspace_pmap(vm->vmspace))); } } diff --git a/sys/amd64/vmm/vmm_stat.c b/sys/amd64/vmm/vmm_stat.c index 497db4452f3b..b317f5679bf3 100644 --- a/sys/amd64/vmm/vmm_stat.c +++ b/sys/amd64/vmm/vmm_stat.c @@ -113,7 +113,7 @@ vmm_stat_copy(struct vm *vm, int vcpu, int index, int count, int *num_stats, } /* Copy over the stats */ - stats = vcpu_stats(vm, vcpu); + stats = vcpu_stats(vm_vcpu(vm, vcpu)); memcpy(buf, stats + index, tocopy * sizeof(stats[0])); *num_stats = tocopy; return (0); diff --git a/sys/amd64/vmm/vmm_stat.h b/sys/amd64/vmm/vmm_stat.h index 0e9c8db8429d..69e7b9367686 100644 --- a/sys/amd64/vmm/vmm_stat.h +++ b/sys/amd64/vmm/vmm_stat.h @@ -92,13 +92,13 @@ int vmm_stat_copy(struct vm *vm, int vcpu, int index, int count, int vmm_stat_desc_copy(int index, char *buf, int buflen); static void __inline -vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, - int statidx, uint64_t x) +vmm_stat_array_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, + uint64_t x) { #ifdef VMM_KEEP_STATS uint64_t *stats; - stats = vcpu_stats(vm, vcpu); + stats = vcpu_stats(vcpu); if (vst->index >= 0 && statidx < vst->nelems) stats[vst->index + statidx] += x; @@ -106,13 +106,13 @@ vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, } static void __inline -vmm_stat_array_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, - int statidx, uint64_t val) +vmm_stat_array_set(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, + uint64_t val) { #ifdef VMM_KEEP_STATS uint64_t *stats; - stats = vcpu_stats(vm, vcpu); + stats = vcpu_stats(vcpu); if (vst->index >= 0 && statidx < vst->nelems) stats[vst->index + statidx] = val; @@ -120,20 +120,20 @@ vmm_stat_array_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, } static void __inline -vmm_stat_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t x) +vmm_stat_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t x) { #ifdef VMM_KEEP_STATS - vmm_stat_array_incr(vm, vcpu, vst, 0, x); + vmm_stat_array_incr(vcpu, vst, 0, x); #endif } static void __inline -vmm_stat_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t val) +vmm_stat_set(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t val) { #ifdef VMM_KEEP_STATS - vmm_stat_array_set(vm, vcpu, vst, 0, val); + vmm_stat_array_set(vcpu, vst, 0, val); #endif } From nobody Thu Jan 26 22:11:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0l0tZMz3c85S; Thu, 26 Jan 2023 22: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 4P2w0k5hRJz3vhf; Thu, 26 Jan 2023 22:11:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bn3ktIKqUMR4DrpRMiNk28KpO15R84GbNEnu5fM0+R4=; b=sdT0jYGK/+AWrBLAYUMHgPHk6e3YS99KcRHwFox7bF4GVjHUz37iTGJShydSbf0e+7EB5/ RvvVbPK2HkiP5oWbeQ8tZpRZvTULchTfdaEd3X23uA/z3V4ZeF775s8eRCWDDh6Mo9UrAJ 8qrXfGnsVNTYM5HpbORXZYQDmIDgluyAE71aJzlgC7bxBpwb487HhG/dA+sIA9Wwb0qm22 5HyVCFVgEcHfIYt0fOwPWUgucF6VO7BgBdEZ2Fdhf3N10FtzQrhVbc0L4xf/Wbwig4C75m 1lPmvjFdz8RSgSVLYF6oIglR2CqdYqbnnX1UvIafhCvu+4mKxG1SsQ69MjAgsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bn3ktIKqUMR4DrpRMiNk28KpO15R84GbNEnu5fM0+R4=; b=QjRIPTj19yIQORJdl0SNdPPEhoaIr3Mvgsqf7qTpCQZqvtql9Hu8wxnyvIII4sU7xwxED2 Xyyz/him4qjy6OE9LO68NjVxbu7Wa/fh0nYLomMKXF/vLqgnxENZtoM4na9KzNhVMbfnrw wSiEtEl4hKex3AnFLwdqM1SDUJuQ4afMDELCBQ47Bg4t+R3O1oCDxHZTtPpIEb+mfyqk/X R9b8Kaq9Fv5ZZXzh71XL6Hr0QkXWbEpCBVceRldvtnoRzBZRZNcME0RDcPifRtC9SqHFrv id1zUitxepRNE3HcyyJ4AAxTEvP9qZEiKxGXjk+35gJ8CjCk6MyS72h+AFO5Kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771110; a=rsa-sha256; cv=none; b=kgKWsZPoexxO5CjoncyUY0Z0ljICPU2tbwQeQarzmuSw3P4Nece6NP71gpAXbtSO5d3k9L aw5iAbT1FqSaRqbOEI7vZhweqfd/yvsYHyOoIjcIoYLUFZd4FxLQzWL6lu5AzV4onbxujB IHB9hO52LGfn0fqOtFaIyF/E7g5ZdMJvB8kSNILOa99mZ7NUKz0jlneIFparNQ5rQaN/SY 4qZQ6sgMWqg0GFYreP640ApLGvfA9P5QdBKSjt1H67rN9wpJYCvZxllyCPLfQCcOMShwlk ezm/T1nVtBzXB0v52feTVZBEEOFbp+rCrKIqrBwpiJQfIQcbFisnUcOL1A7ogg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0k4Pp7zlm7; Thu, 26 Jan 2023 22:11:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBoNC021868; Thu, 26 Jan 2023 22:11:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBoSR021867; Thu, 26 Jan 2023 22:11:50 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:50 GMT Message-Id: <202301262211.30QMBoSR021867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d829b4ef464d - stable/13 - bhyve: Remove unused vm and vcpu arguments from vm_copy routines. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d829b4ef464d30d0222c365ce9a9e701a1c97e92 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d829b4ef464d30d0222c365ce9a9e701a1c97e92 commit d829b4ef464d30d0222c365ce9a9e701a1c97e92 Author: John Baldwin AuthorDate: 2022-11-18 18:01:44 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:47:06 +0000 bhyve: Remove unused vm and vcpu arguments from vm_copy routines. The arguments identifying the VM and vCPU are only needed for vm_copy_setup. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37158 (cherry picked from commit 2b4fe856f44ded02f3450bac1782bb49b60b7dd5) --- lib/libvmmapi/vmmapi.c | 14 ++++++++------ lib/libvmmapi/vmmapi.h | 11 ++++------- sys/amd64/include/vmm.h | 9 +++------ sys/amd64/vmm/vmm.c | 11 ++++------- sys/amd64/vmm/vmm_instruction_emul.c | 18 +++++++++--------- usr.sbin/bhyve/inout.c | 4 ++-- usr.sbin/bhyve/task_switch.c | 14 +++++++------- 7 files changed, 37 insertions(+), 44 deletions(-) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 454d7ee21b36..a65b77300b3a 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -1468,14 +1468,17 @@ vm_copy_setup(struct vmctx *ctx, int vcpu, struct vm_guest_paging *paging, } void -vm_copy_teardown(struct vmctx *ctx __unused, int vcpu __unused, - struct iovec *iov __unused, int iovcnt __unused) +vm_copy_teardown(struct iovec *iov __unused, int iovcnt __unused) { + /* + * Intentionally empty. This is used by the instruction + * emulation code shared with the kernel. The in-kernel + * version of this is non-empty. + */ } void -vm_copyin(struct vmctx *ctx __unused, int vcpu __unused, struct iovec *iov, - void *vp, size_t len) +vm_copyin(struct iovec *iov, void *vp, size_t len) { const char *src; char *dst; @@ -1495,8 +1498,7 @@ vm_copyin(struct vmctx *ctx __unused, int vcpu __unused, struct iovec *iov, } void -vm_copyout(struct vmctx *ctx __unused, int vcpu __unused, const void *vp, - struct iovec *iov, size_t len) +vm_copyout(const void *vp, struct iovec *iov, size_t len) { const char *src; char *dst; diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index b26f12f7c60e..82c3dcdf3118 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -43,7 +43,7 @@ * API version for out-of-tree consumers like grub-bhyve for making compile * time decisions. */ -#define VMMAPI_VERSION 0103 /* 2 digit major followed by 2 digit minor */ +#define VMMAPI_VERSION 0104 /* 2 digit major followed by 2 digit minor */ struct iovec; struct vmctx; @@ -219,12 +219,9 @@ int vm_get_hpet_capabilities(struct vmctx *ctx, uint32_t *capabilities); int vm_copy_setup(struct vmctx *ctx, int vcpu, struct vm_guest_paging *pg, uint64_t gla, size_t len, int prot, struct iovec *iov, int iovcnt, int *fault); -void vm_copyin(struct vmctx *ctx, int vcpu, struct iovec *guest_iov, - void *host_dst, size_t len); -void vm_copyout(struct vmctx *ctx, int vcpu, const void *host_src, - struct iovec *guest_iov, size_t len); -void vm_copy_teardown(struct vmctx *ctx, int vcpu, struct iovec *iov, - int iovcnt); +void vm_copyin(struct iovec *guest_iov, void *host_dst, size_t len); +void vm_copyout(const void *host_src, struct iovec *guest_iov, size_t len); +void vm_copy_teardown(struct iovec *iov, int iovcnt); /* RTC */ int vm_rtc_write(struct vmctx *ctx, int offset, uint8_t value); diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 800114151d95..e632a0fbf01e 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -464,12 +464,9 @@ struct vm_copyinfo { int vm_copy_setup(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, uint64_t gla, size_t len, int prot, struct vm_copyinfo *copyinfo, int num_copyinfo, int *is_fault); -void vm_copy_teardown(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, - int num_copyinfo); -void vm_copyin(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, - void *kaddr, size_t len); -void vm_copyout(struct vm *vm, int vcpuid, const void *kaddr, - struct vm_copyinfo *copyinfo, size_t len); +void vm_copy_teardown(struct vm_copyinfo *copyinfo, int num_copyinfo); +void vm_copyin(struct vm_copyinfo *copyinfo, void *kaddr, size_t len); +void vm_copyout(const void *kaddr, struct vm_copyinfo *copyinfo, size_t len); int vcpu_trace_exceptions(struct vm *vm, int vcpuid); int vcpu_trap_wbinvd(struct vm *vm, int vcpuid); diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 715eaaa8ecaf..079577784f52 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -2721,8 +2721,7 @@ vm_segment_name(int seg) } void -vm_copy_teardown(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, - int num_copyinfo) +vm_copy_teardown(struct vm_copyinfo *copyinfo, int num_copyinfo) { int idx; @@ -2771,7 +2770,7 @@ vm_copy_setup(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, } if (idx != nused) { - vm_copy_teardown(vm, vcpuid, copyinfo, num_copyinfo); + vm_copy_teardown(copyinfo, num_copyinfo); return (EFAULT); } else { *fault = 0; @@ -2780,8 +2779,7 @@ vm_copy_setup(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, } void -vm_copyin(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, void *kaddr, - size_t len) +vm_copyin(struct vm_copyinfo *copyinfo, void *kaddr, size_t len) { char *dst; int idx; @@ -2797,8 +2795,7 @@ vm_copyin(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, void *kaddr, } void -vm_copyout(struct vm *vm, int vcpuid, const void *kaddr, - struct vm_copyinfo *copyinfo, size_t len) +vm_copyout(const void *kaddr, struct vm_copyinfo *copyinfo, size_t len) { const char *src; int idx; diff --git a/sys/amd64/vmm/vmm_instruction_emul.c b/sys/amd64/vmm/vmm_instruction_emul.c index 3b48eee2d8ed..0b774e72b0c3 100644 --- a/sys/amd64/vmm/vmm_instruction_emul.c +++ b/sys/amd64/vmm/vmm_instruction_emul.c @@ -835,8 +835,8 @@ emulate_movs(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, /* * case (2): read from system memory and write to mmio. */ - vm_copyin(vm, vcpuid, copyinfo, &val, opsize); - vm_copy_teardown(vm, vcpuid, copyinfo, nitems(copyinfo)); + vm_copyin(copyinfo, &val, opsize); + vm_copy_teardown(copyinfo, nitems(copyinfo)); error = memwrite(vm, vcpuid, gpa, val, opsize, arg); if (error) goto done; @@ -871,8 +871,8 @@ emulate_movs(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, if (error) goto done; - vm_copyout(vm, vcpuid, &val, copyinfo, opsize); - vm_copy_teardown(vm, vcpuid, copyinfo, nitems(copyinfo)); + vm_copyout(&val, copyinfo, opsize); + vm_copy_teardown(copyinfo, nitems(copyinfo)); } else { /* * Case (4): read from and write to mmio. @@ -1599,13 +1599,13 @@ emulate_stack_op(void *vm, int vcpuid, uint64_t mmio_gpa, struct vie *vie, if (pushop) { error = memread(vm, vcpuid, mmio_gpa, &val, size, arg); if (error == 0) - vm_copyout(vm, vcpuid, &val, copyinfo, size); + vm_copyout(&val, copyinfo, size); } else { - vm_copyin(vm, vcpuid, copyinfo, &val, size); + vm_copyin(copyinfo, &val, size); error = memwrite(vm, vcpuid, mmio_gpa, val, size, arg); rsp += size; } - vm_copy_teardown(vm, vcpuid, copyinfo, nitems(copyinfo)); + vm_copy_teardown(copyinfo, nitems(copyinfo)); if (error == 0) { error = vie_update_register(vm, vcpuid, VM_REG_GUEST_RSP, rsp, @@ -2300,8 +2300,8 @@ vmm_fetch_instruction(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, if (error || *faultptr) return (error); - vm_copyin(vm, vcpuid, copyinfo, vie->inst, inst_length); - vm_copy_teardown(vm, vcpuid, copyinfo, nitems(copyinfo)); + vm_copyin(copyinfo, vie->inst, inst_length); + vm_copy_teardown(copyinfo, nitems(copyinfo)); vie->num_valid = inst_length; return (0); } diff --git a/usr.sbin/bhyve/inout.c b/usr.sbin/bhyve/inout.c index 02b38c9b7a99..bdbdd0d1c223 100644 --- a/usr.sbin/bhyve/inout.c +++ b/usr.sbin/bhyve/inout.c @@ -184,14 +184,14 @@ emulate_inout(struct vmctx *ctx, int vcpu, struct vm_exit *vmexit) val = 0; if (!in) - vm_copyin(ctx, vcpu, iov, &val, bytes); + vm_copyin(iov, &val, bytes); retval = handler(ctx, vcpu, in, port, bytes, &val, arg); if (retval != 0) break; if (in) - vm_copyout(ctx, vcpu, &val, iov, bytes); + vm_copyout(&val, iov, bytes); /* Update index */ if (vis->rflags & PSL_D) diff --git a/usr.sbin/bhyve/task_switch.c b/usr.sbin/bhyve/task_switch.c index 78dfb8190e48..0dfb536f09f8 100644 --- a/usr.sbin/bhyve/task_switch.c +++ b/usr.sbin/bhyve/task_switch.c @@ -225,9 +225,9 @@ desc_table_rw(struct vmctx *ctx, int vcpu, struct vm_guest_paging *paging, return (error); if (doread) - vm_copyin(ctx, vcpu, iov, desc, sizeof(*desc)); + vm_copyin(iov, desc, sizeof(*desc)); else - vm_copyout(ctx, vcpu, desc, iov, sizeof(*desc)); + vm_copyout(desc, iov, sizeof(*desc)); return (0); } @@ -464,7 +464,7 @@ tss32_save(struct vmctx *ctx, int vcpu, struct vm_task_switch *task_switch, tss->tss_eip = eip; /* Copy updated old TSS into guest memory */ - vm_copyout(ctx, vcpu, tss, iov, sizeof(struct tss32)); + vm_copyout(tss, iov, sizeof(struct tss32)); } static void @@ -560,7 +560,7 @@ tss32_restore(struct vmctx *ctx, int vcpu, struct vm_task_switch *ts, * the previous link field. */ if (nested) - vm_copyout(ctx, vcpu, tss, iov, sizeof(*tss)); + vm_copyout(tss, iov, sizeof(*tss)); /* Validate segment descriptors */ error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_LDTR, &seg_desc, @@ -685,7 +685,7 @@ push_errcode(struct vmctx *ctx, int vcpu, struct vm_guest_paging *paging, if (error || *faultptr) return (error); - vm_copyout(ctx, vcpu, &errcode, iov, bytes); + vm_copyout(&errcode, iov, bytes); SETREG(ctx, vcpu, VM_REG_GUEST_RSP, esp); return (0); } @@ -798,7 +798,7 @@ vmexit_task_switch(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) error = vm_copy_setup(ctx, vcpu, &sup_paging, nt.base, minlimit + 1, PROT_READ | PROT_WRITE, nt_iov, nitems(nt_iov), &fault); CHKERR(error, fault); - vm_copyin(ctx, vcpu, nt_iov, &newtss, minlimit + 1); + vm_copyin(nt_iov, &newtss, minlimit + 1); /* Get the old TSS selector from the guest's task register */ ot_sel = GETREG(ctx, vcpu, VM_REG_GUEST_TR); @@ -830,7 +830,7 @@ vmexit_task_switch(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) error = vm_copy_setup(ctx, vcpu, &sup_paging, ot_base, minlimit + 1, PROT_READ | PROT_WRITE, ot_iov, nitems(ot_iov), &fault); CHKERR(error, fault); - vm_copyin(ctx, vcpu, ot_iov, &oldtss, minlimit + 1); + vm_copyin(ot_iov, &oldtss, minlimit + 1); /* * Clear the busy bit in the old TSS descriptor if the task switch From nobody Thu Jan 26 22:11:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0m1814z3c8XP; Thu, 26 Jan 2023 22: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 4P2w0l6y78z3vpW; Thu, 26 Jan 2023 22: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=1674771112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=282kGAD1CHAk2vpzAnes6jCXnhJUuoSKQPBe9FhNciY=; b=jnSQGWJYLMOQSsa8Rpfj3JHC1CcV5kIWttE7SHMNwjx+oChS6H4TT8/PzL/CP+fhW5kOJ1 wXYgda1ME33n79zzFw5o8RGX1yTZVlc0VhEAzvaHbv9yyB7uadCSwQLpSp8xwX2fNVcO9+ VfazV8MxCRFQyNAEmgTaAavOMZHOzv0+Vi3T+u+qRwaaxZTYprTHP16JIN61nR73jCkyYx YLoZlKeQC0HkNzTQ1wQQjwiq6pBGPoxiac9oJ8XdIo8+wC2h09TmJgZfYMMZzWGXNXlfYE 2Yf2LwyWJ867ogEFp0HkWxll7Aeu3ckwq+sm9G9Mm0OfbdrQgRKlv0Ozfnl/AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=282kGAD1CHAk2vpzAnes6jCXnhJUuoSKQPBe9FhNciY=; b=CqK4iGvaez0A1dQHr/uui/P6atqfnczWhvUgmmLuhln/qGlV1IYho9SUBYuthUSN7GTBG5 oiZvrz9U1ltcuGYEoiHfXUORtUTBJXtU7NwjmfNZ59UsCGFMN+21jrfRBGwSCJ/Huu6pcg BiO0fW4H5kvHgTn+ACiyUe9TnsW2S78sv3KP8TRUOMjEq/jcYeuV2t39uxChG5RNkUtjTt EJN3Aw/c6Ik0i6JAq/AoIo2bHTO4ZbrMMZR4bnXnniH1++4vTb7Odx91TxoqsN+/0xCsP6 d+Xrk1vk6rjAQiKuv0o95IiLNJCrBtkH6SBVkKlYrSRJmdBzcoRuF48+l6WMuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771112; a=rsa-sha256; cv=none; b=h08jMPmC4WQtiC5FrWXaESn4sO9UEuz9mcq4klEkNNcIlkhTUITF//Kpnu6Zl3UQCoXwMo U4JB++MwaLNNagKfgFC/hblHK02Rpym+a7i9DHWMAAKpDqvvrECbiDOBF1m2oZs9FmZLxF NDuv6/m6drcRaDi8RMuhceWAs0WV8rX+yn/t7YCRLASR28Dp/MdP1dHoVtvlSys20AKpmf 9zkrP4XA/m+HAy50IywGJ6sFxC/MuggSH29+mgZ7lhcyVeRwlZ6+xs7tTN98MPz6Y1KKiW rfq6KeILyFSRR46/3GrU/mBzY+10tY3uDHLqVZGjHR1BQqQw8SkPYJQY0hPoig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0l5K33zljc; Thu, 26 Jan 2023 22:11:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBp1i021898; Thu, 26 Jan 2023 22:11:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBp7S021897; Thu, 26 Jan 2023 22:11:51 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:51 GMT Message-Id: <202301262211.30QMBp7S021897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b558a25c103a - stable/13 - vmm: Add _KERNEL guards for io headers shared with userspace. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b558a25c103ad25ccc0bcc8e7964b0963505a685 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b558a25c103ad25ccc0bcc8e7964b0963505a685 commit b558a25c103ad25ccc0bcc8e7964b0963505a685 Author: John Baldwin AuthorDate: 2022-11-18 18:01:51 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:47:15 +0000 vmm: Add _KERNEL guards for io headers shared with userspace. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37159 (cherry picked from commit 0f435e647645afc68076ff5b005f9366c44413eb) --- sys/amd64/vmm/io/vhpet.h | 3 +++ sys/amd64/vmm/io/vioapic.h | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/amd64/vmm/io/vhpet.h b/sys/amd64/vmm/io/vhpet.h index 113683c09b33..f22d0c3b38ac 100644 --- a/sys/amd64/vmm/io/vhpet.h +++ b/sys/amd64/vmm/io/vhpet.h @@ -35,6 +35,7 @@ #define VHPET_BASE 0xfed00000 #define VHPET_SIZE 1024 +#ifdef _KERNEL struct vm_snapshot_meta; struct vhpet *vhpet_init(struct vm *vm); @@ -49,4 +50,6 @@ int vhpet_snapshot(struct vhpet *vhpet, struct vm_snapshot_meta *meta); int vhpet_restore_time(struct vhpet *vhpet); #endif +#endif /* _KERNEL */ + #endif /* _VHPET_H_ */ diff --git a/sys/amd64/vmm/io/vioapic.h b/sys/amd64/vmm/io/vioapic.h index 19dbffe3ec24..17d2c29b758f 100644 --- a/sys/amd64/vmm/io/vioapic.h +++ b/sys/amd64/vmm/io/vioapic.h @@ -32,11 +32,12 @@ #ifndef _VIOAPIC_H_ #define _VIOAPIC_H_ -struct vm_snapshot_meta; - #define VIOAPIC_BASE 0xFEC00000 #define VIOAPIC_SIZE 4096 +#ifdef _KERNEL +struct vm_snapshot_meta; + struct vioapic *vioapic_init(struct vm *vm); void vioapic_cleanup(struct vioapic *vioapic); @@ -56,4 +57,6 @@ int vioapic_snapshot(struct vioapic *vioapic, struct vm_snapshot_meta *meta); #endif -#endif +#endif /* _KERNEL */ + +#endif /* _VIOAPIC_H_ */ From nobody Thu Jan 26 22:11:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0n1xn0z3c8K9; Thu, 26 Jan 2023 22: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 4P2w0n0Fcmz3vvf; Thu, 26 Jan 2023 22: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=1674771113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Mr8Gp/q1POaY9YA14KxTLn1Y2jXPsARzUyKIQBGOgs=; b=HQI+SY3FrTdjINt3ZIBi2yNaoJ1bUGAbKb5t/2rE9xinYH9O2DoAKogM6Z3EIPwZExwtnC k4W+uYOoO752BtIZRd0dBD2OjS27QC5QOgmrTJfNI6EUckbkFtJjQCBjqkpZF4yPLC1zPD /uPXX9c/Nstb8+AGiGVjWfFcJMbWGmhVRo1ND7+VnpZRkjmZGy0q/oIiIGJxvidmu7CpGL YTxw5H7qIA43g58GQ6w6ipkzM9cY/QGUuwz8DIYNYZf2xjJ1NwlsJOD4yWYIqCDg24WvqI D8SuIbXsRRowtXf45cDTwoHg7fP/udHXP+ltAWEgUjYkMNRiepBqk94UPe4Qog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Mr8Gp/q1POaY9YA14KxTLn1Y2jXPsARzUyKIQBGOgs=; b=gtrLnKUFg+H9coKVCh+aal5SbAVwQOWgw/msyfkSGEl4Zj8vhlw01mJOuAWdJ5we0a8auB WSHKldTA6WOoVGJDjE/PXg6+ze/y2Dq6AB/IYj4cGR5srcIexZdT86TFVpiLaePp5jBOQz qX9d2iKO0TlusGpT+9d1e0UZUns2XFFSNZ8hs2Hvz4nA9aoNjQHzW0NwYqUgd3QsR9PtLH pYI/3f9T5hhtwKly9ohMN0VR3PvJxj4aXBnAJthm0b3n4Q0+tvODYJhKqwjmNyJSL0pDaM yRycm9cL8Uj6CLI0BQJkbZx35mU/ITcf0+fkc1ySKvYHWg/PKEK1NwzDswcHYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771113; a=rsa-sha256; cv=none; b=MvdXeoAVbCw7XbZpbOYkjiKgFnD12hEzKZUPI8biv6bFjje/ARpnIur1Z9qKRojtdsz2x+ OVsE27Vd4ILUvLPIP7cvl6OxHm8n5LmxD2MGYmwUA6ASNseF4NMShDtj8NiysS8WUvPeaG Tb19tHeDlveJ8sJh34N0C8JafqDiDHmo1UwJ0yElPdYHBwyu3Gk4We+UtJDRd9NKnOJYiy OXr6RMNpeu07ZMvirtgTeuNgjAtXvJaKYxhOOFjcRIDueI4PzXtumIWU731GJwhC/3exaC 2OHIu9WY67GBI5eUrfdH9cNIF6a2NT3A8BhmDjYi42Kvx3+vQ6JrRQq8geIzJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0m63qYzm5Z; Thu, 26 Jan 2023 22:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBqGY021922; Thu, 26 Jan 2023 22:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBqgD021921; Thu, 26 Jan 2023 22:11:52 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:52 GMT Message-Id: <202301262211.30QMBqgD021921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 6cedf47c177b - stable/13 - vmm: Add vm_gpa_hold_global wrapper function. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6cedf47c177b7afe730a2276064da4f8e8110f5f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6cedf47c177b7afe730a2276064da4f8e8110f5f commit 6cedf47c177b7afe730a2276064da4f8e8110f5f Author: John Baldwin AuthorDate: 2022-11-18 18:01:57 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:47:28 +0000 vmm: Add vm_gpa_hold_global wrapper function. This handles the case that guest pages are being held not on behalf of a virtual CPU but globally. Previously this was handled by passing a vcpuid of -1 to vm_gpa_hold, but that will not work in the future when vm_gpa_hold is changed to accept a struct vcpu pointer. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37160 (cherry picked from commit 28b561ad9d03617418aed33b9b8c1311e940f0c8) --- sys/amd64/include/vmm.h | 2 ++ sys/amd64/vmm/vmm.c | 64 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index e632a0fbf01e..315a1b19f8f6 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -253,6 +253,8 @@ int vm_get_memseg(struct vm *vm, int ident, size_t *len, bool *sysmem, vm_paddr_t vmm_sysmem_maxaddr(struct vm *vm); void *vm_gpa_hold(struct vm *, int vcpuid, vm_paddr_t gpa, size_t len, int prot, void **cookie); +void *vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, + int prot, void **cookie); void vm_gpa_release(void *cookie); bool vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa); diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 079577784f52..6b93708ba9cc 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -965,8 +965,8 @@ vm_iommu_modify(struct vm *vm, bool map) gpa = mm->gpa; while (gpa < mm->gpa + mm->len) { - vp = vm_gpa_hold(vm, -1, gpa, PAGE_SIZE, VM_PROT_WRITE, - &cookie); + vp = vm_gpa_hold_global(vm, gpa, PAGE_SIZE, + VM_PROT_WRITE, &cookie); KASSERT(vp != NULL, ("vm(%s) could not map gpa %#lx", vm_name(vm), gpa)); @@ -1032,30 +1032,14 @@ vm_assign_pptdev(struct vm *vm, int bus, int slot, int func) return (error); } -void * -vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, size_t len, int reqprot, - void **cookie) +static void * +_vm_gpa_hold(struct vm *vm, vm_paddr_t gpa, size_t len, int reqprot, + void **cookie) { int i, count, pageoff; struct mem_map *mm; vm_page_t m; -#ifdef INVARIANTS - /* - * All vcpus are frozen by ioctls that modify the memory map - * (e.g. VM_MMAP_MEMSEG). Therefore 'vm->memmap[]' stability is - * guaranteed if at least one vcpu is in the VCPU_FROZEN state. - */ - int state; - KASSERT(vcpuid >= -1 && vcpuid < vm->maxcpus, ("%s: invalid vcpuid %d", - __func__, vcpuid)); - for (i = 0; i < vm->maxcpus; i++) { - if (vcpuid != -1 && vcpuid != i) - continue; - state = vcpu_get_state(vm, i, NULL); - KASSERT(state == VCPU_FROZEN, ("%s: invalid vcpu state %d", - __func__, state)); - } -#endif + pageoff = gpa & PAGE_MASK; if (len > PAGE_SIZE - pageoff) panic("vm_gpa_hold: invalid gpa/len: 0x%016lx/%lu", gpa, len); @@ -1079,6 +1063,42 @@ vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, size_t len, int reqprot, } } +void * +vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, size_t len, int reqprot, + void **cookie) +{ +#ifdef INVARIANTS + /* + * The current vcpu should be frozen to ensure 'vm_memmap[]' + * stability. + */ + int state = vcpu_get_state(vm, vcpuid, NULL); + KASSERT(state == VCPU_FROZEN, ("%s: invalid vcpu state %d", + __func__, state)); +#endif + return (_vm_gpa_hold(vm, gpa, len, reqprot, cookie)); +} + +void * +vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, int reqprot, + void **cookie) +{ +#ifdef INVARIANTS + /* + * All vcpus are frozen by ioctls that modify the memory map + * (e.g. VM_MMAP_MEMSEG). Therefore 'vm->memmap[]' stability is + * guaranteed if at least one vcpu is in the VCPU_FROZEN state. + */ + int state; + for (int i = 0; i < vm->maxcpus; i++) { + state = vcpu_get_state(vm, i, NULL); + KASSERT(state == VCPU_FROZEN, ("%s: invalid vcpu state %d", + __func__, state)); + } +#endif + return (_vm_gpa_hold(vm, gpa, len, reqprot, cookie)); +} + void vm_gpa_release(void *cookie) { From nobody Thu Jan 26 22:11:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0p3F5wz3c8BC; Thu, 26 Jan 2023 22: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 4P2w0p0zjkz3vl5; Thu, 26 Jan 2023 22: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=1674771114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O9kEE0TjV80IY3SdkvLg7vToROHbX9Bl+Vw9iZHHtKs=; b=G8UJAWyeV/GvIJ2WJ0/x8NYZDMHCuFlSMeMPZ7AWT8VfoZ5wNpiavYxLHpIbFRTo/Od0Fi m48hWWOi8IId25TcpPDDYs1czkhlA/ysfpmYpvyWkE9YBk5FmzG9s8t0MdZex7YvC3LVaW 8QvFcpAVGz833aPLC7lnzX80h7zDDwFPn7PAwtTOEeLxgvELYysZk1KN6l1Ye9QdpfCT5Y zWXTzn4DBD1VPOKpTAersxJ7Ehtd+mXzmrLo/2NZ/DJK8oE78UQ3u2yt6XsdzgyuTMmqAR yd6dOV6HcekrsX2jecNHaNUW1t7+u1yd22mlgMc2DeTUPEqc+7lX1/hW06JzSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O9kEE0TjV80IY3SdkvLg7vToROHbX9Bl+Vw9iZHHtKs=; b=UiqP9a1zdyfEsqA9KbfYVpJRjLSZfKaNwEwaPRagxKQ4QrAgb62OXIj8M/e1888k63zQa7 3Pnr7c62x9ibVfu9m20DiT5xvuyJY566ljFpLiD8/XJhQD9afGati0h4CdEwZ1qqkRJ4PK 68GDrsy5WcFSy9/LIkyBiPMOaFnpYDF+wgQjbn+sHh1POCU/bFpzfBtD/nnT+mc94FK/Ce fbErhatXj4XnlhY0TgQgPtx7fw123td0kSsPyC3hCVX7PZIklRFjJPnK1YAV90QBGybQ3a hDru1RLar93aHQ60De1M4CgI+DY4OxuGlAO5a+Gk/UwjALFru6QURtCqybCUuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771114; a=rsa-sha256; cv=none; b=DHu6CmbuXuHYF6w1sppXqMJiP9RWaDCXMDajD7Chy3lgheaOgZErpfFjmLltw+cpJ4qy77 /VuknpnWfUfjwVjmR7mafZ9t+tLJ0GNwESm6RGoPEHw0NR06sW/uClAMlJjueOwoFdRDTz 4fRg3faWtyAvaTeqC+ssUhbV0K7CPbQtW7sVkFBlGpsS0ad1YQ0u0R40qsjdfE3xMH034M tD95f1uvwrr33Z/hAFRgFK1ZPCDXc7MK6s2Fnye/X57o3Kpm0CrhjbEXDlxfjYOB/1pa01 uh8WkP0JiLSfsKPx4jT2X5SBydaorJ2+UEbRkR6ex+8KWN1GhtTbnEGuquod/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 4P2w0n6wHCzlxl; Thu, 26 Jan 2023 22:11:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBrQC021949; Thu, 26 Jan 2023 22:11:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBr2T021948; Thu, 26 Jan 2023 22:11:53 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:53 GMT Message-Id: <202301262211.30QMBr2T021948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3762293b30f3 - stable/13 - vmm: Use struct vcpu in the instruction emulation code. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3762293b30f3c8467c1dfdc375b7602cf778f801 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3762293b30f3c8467c1dfdc375b7602cf778f801 commit 3762293b30f3c8467c1dfdc375b7602cf778f801 Author: John Baldwin AuthorDate: 2022-11-18 18:02:09 +0000 Commit: John Baldwin CommitDate: 2023-01-26 21:47:39 +0000 vmm: Use struct vcpu in the instruction emulation code. This passes struct vcpu down in place of struct vm and and integer vcpu index through the in-kernel instruction emulation code. To minimize userland disruption, helper macros are used for the vCPU arguments passed into and through the shared instruction emulation code. A few other APIs used by the instruction emulation code have also been updated to accept struct vcpu in the kernel including vm_get/set_register and vm_inject_fault. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37161 (cherry picked from commit d3956e46736ffaee5060c9baf0a40f428bc34ec3) --- lib/libvmmapi/vmmapi.c | 3 +- lib/libvmmapi/vmmapi.h | 1 + sys/amd64/include/vmm.h | 54 ++++- sys/amd64/include/vmm_instruction_emul.h | 29 ++- sys/amd64/vmm/amd/svm.c | 16 +- sys/amd64/vmm/amd/svm_msr.c | 4 +- sys/amd64/vmm/intel/vmx.c | 26 +-- sys/amd64/vmm/intel/vmx_msr.c | 8 +- sys/amd64/vmm/io/vhpet.c | 8 +- sys/amd64/vmm/io/vhpet.h | 4 +- sys/amd64/vmm/io/vioapic.c | 28 +-- sys/amd64/vmm/io/vioapic.h | 4 +- sys/amd64/vmm/io/vlapic.c | 18 +- sys/amd64/vmm/io/vlapic.h | 2 +- sys/amd64/vmm/vmm.c | 125 ++++------- sys/amd64/vmm/vmm_dev.c | 58 ++--- sys/amd64/vmm/vmm_instruction_emul.c | 360 +++++++++++++++---------------- sys/amd64/vmm/vmm_ioport.c | 2 +- sys/amd64/vmm/vmm_lapic.c | 16 +- sys/amd64/vmm/vmm_lapic.h | 4 +- sys/amd64/vmm/x86.c | 2 +- 21 files changed, 393 insertions(+), 379 deletions(-) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index a65b77300b3a..0c994778dd10 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -1671,9 +1671,8 @@ vm_rtc_gettime(struct vmctx *ctx, time_t *secs) } int -vm_restart_instruction(void *arg, int vcpu) +vm_restart_instruction(struct vmctx *ctx, int vcpu) { - struct vmctx *ctx = arg; return (ioctl(ctx->fd, VM_RESTART_INSTRUCTION, &vcpu)); } diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index 82c3dcdf3118..1be1f19507a9 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -238,6 +238,7 @@ int vm_debug_cpus(struct vmctx *ctx, cpuset_t *cpus); int vm_activate_cpu(struct vmctx *ctx, int vcpu); int vm_suspend_cpu(struct vmctx *ctx, int vcpu); int vm_resume_cpu(struct vmctx *ctx, int vcpu); +int vm_restart_instruction(struct vmctx *vmctx, int vcpu); /* CPU topology */ int vm_set_topology(struct vmctx *ctx, uint16_t sockets, uint16_t cores, diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 315a1b19f8f6..0224304f16a2 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -251,16 +251,18 @@ int vm_mmap_getnext(struct vm *vm, vm_paddr_t *gpa, int *segid, int vm_get_memseg(struct vm *vm, int ident, size_t *len, bool *sysmem, struct vm_object **objptr); vm_paddr_t vmm_sysmem_maxaddr(struct vm *vm); -void *vm_gpa_hold(struct vm *, int vcpuid, vm_paddr_t gpa, size_t len, +void *vm_gpa_hold(struct vcpu *vcpu, vm_paddr_t gpa, size_t len, + int prot, void **cookie); +void *vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, int prot, void **cookie); void *vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, int prot, void **cookie); void vm_gpa_release(void *cookie); bool vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa); -int vm_get_register(struct vm *vm, int vcpu, int reg, uint64_t *retval); -int vm_set_register(struct vm *vm, int vcpu, int reg, uint64_t val); -int vm_get_seg_desc(struct vm *vm, int vcpu, int reg, +int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval); +int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val); +int vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *ret_desc); int vm_set_seg_desc(struct vm *vm, int vcpu, int reg, struct seg_desc *desc); @@ -275,7 +277,7 @@ void vm_extint_clear(struct vm *vm, int vcpuid); int vcpu_vcpuid(struct vcpu *vcpu); struct vm *vcpu_vm(struct vcpu *vcpu); struct vcpu *vm_vcpu(struct vm *vm, int cpu); -struct vlapic *vm_lapic(struct vm *vm, int cpu); +struct vlapic *vm_lapic(struct vcpu *vcpu); struct vioapic *vm_ioapic(struct vm *vm); struct vhpet *vm_hpet(struct vm *vm); int vm_get_capability(struct vm *vm, int vcpu, int type, int *val); @@ -286,6 +288,7 @@ int vm_apicid2vcpuid(struct vm *vm, int apicid); int vm_activate_cpu(struct vm *vm, int vcpu); int vm_suspend_cpu(struct vm *vm, int vcpu); int vm_resume_cpu(struct vm *vm, int vcpu); +int vm_restart_instruction(struct vcpu *vcpu); struct vm_exit *vm_exitinfo(struct vm *vm, int vcpuid); void vm_exit_suspended(struct vm *vm, int vcpuid, uint64_t rip); void vm_exit_debug(struct vm *vm, int vcpuid, uint64_t rip); @@ -360,12 +363,12 @@ enum vcpu_state { int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state, bool from_idle); -enum vcpu_state vcpu_get_state(struct vm *vm, int vcpu, int *hostcpu); +enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu); static int __inline vcpu_is_running(struct vm *vm, int vcpu, int *hostcpu) { - return (vcpu_get_state(vm, vcpu, hostcpu) == VCPU_RUNNING); + return (vcpu_get_state(vm_vcpu(vm, vcpu), hostcpu) == VCPU_RUNNING); } #ifdef _SYS_PROC_H_ @@ -401,7 +404,7 @@ struct vrtc *vm_rtc(struct vm *vm); * This function should only be called in the context of the thread that is * executing this vcpu. */ -int vm_inject_exception(struct vm *vm, int vcpuid, int vector, int err_valid, +int vm_inject_exception(struct vcpu *vcpu, int vector, int err_valid, uint32_t errcode, int restart_instruction); /* @@ -463,7 +466,7 @@ struct vm_copyinfo { * the return value is 0. The 'copyinfo[]' resources should be freed by calling * 'vm_copy_teardown()' after the copy is done. */ -int vm_copy_setup(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, +int vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, size_t len, int prot, struct vm_copyinfo *copyinfo, int num_copyinfo, int *is_fault); void vm_copy_teardown(struct vm_copyinfo *copyinfo, int num_copyinfo); @@ -756,6 +759,36 @@ struct vm_exit { }; /* APIs to inject faults into the guest */ +#ifdef _KERNEL +void vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid, + int errcode); + +static __inline void +vm_inject_ud(struct vcpu *vcpu) +{ + vm_inject_fault(vcpu, IDT_UD, 0, 0); +} + +static __inline void +vm_inject_gp(struct vcpu *vcpu) +{ + vm_inject_fault(vcpu, IDT_GP, 1, 0); +} + +static __inline void +vm_inject_ac(struct vcpu *vcpu, int errcode) +{ + vm_inject_fault(vcpu, IDT_AC, 1, errcode); +} + +static __inline void +vm_inject_ss(struct vcpu *vcpu, int errcode) +{ + vm_inject_fault(vcpu, IDT_SS, 1, errcode); +} + +void vm_inject_pf(struct vcpu *vcpu, int error_code, uint64_t cr2); +#else void vm_inject_fault(void *vm, int vcpuid, int vector, int errcode_valid, int errcode); @@ -784,7 +817,6 @@ vm_inject_ss(void *vm, int vcpuid, int errcode) } void vm_inject_pf(void *vm, int vcpuid, int error_code, uint64_t cr2); - -int vm_restart_instruction(void *vm, int vcpuid); +#endif #endif /* _VMM_H_ */ diff --git a/sys/amd64/include/vmm_instruction_emul.h b/sys/amd64/include/vmm_instruction_emul.h index 4077e0d693e5..082405971fe4 100644 --- a/sys/amd64/include/vmm_instruction_emul.h +++ b/sys/amd64/include/vmm_instruction_emul.h @@ -33,13 +33,26 @@ #include +/* + * Allow for different arguments to identify vCPUs in userspace vs the + * kernel. Eventually we should add struct vcpu in userland and + * always use the kernel arguments removing these macros. + */ +#ifdef _KERNEL +#define VCPU_DECL struct vcpu *vcpu +#define VCPU_ARGS vcpu +#else +#define VCPU_DECL void *vm, int vcpuid +#define VCPU_ARGS vm, vcpuid +#endif + /* * Callback functions to read and write memory regions. */ -typedef int (*mem_region_read_t)(void *vm, int cpuid, uint64_t gpa, +typedef int (*mem_region_read_t)(VCPU_DECL, uint64_t gpa, uint64_t *rval, int rsize, void *arg); -typedef int (*mem_region_write_t)(void *vm, int cpuid, uint64_t gpa, +typedef int (*mem_region_write_t)(VCPU_DECL, uint64_t gpa, uint64_t wval, int wsize, void *arg); /* @@ -53,11 +66,11 @@ typedef int (*mem_region_write_t)(void *vm, int cpuid, uint64_t gpa, * 'struct vmctx *' when called from user context. * s */ -int vmm_emulate_instruction(void *vm, int cpuid, uint64_t gpa, struct vie *vie, +int vmm_emulate_instruction(VCPU_DECL, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t mrr, mem_region_write_t mrw, void *mrarg); -int vie_update_register(void *vm, int vcpuid, enum vm_reg_name reg, +int vie_update_register(VCPU_DECL, enum vm_reg_name reg, uint64_t val, int size); /* @@ -81,7 +94,7 @@ int vie_calculate_gla(enum vm_cpu_mode cpu_mode, enum vm_reg_name seg, * * 'vie' must be initialized before calling 'vmm_fetch_instruction()' */ -int vmm_fetch_instruction(struct vm *vm, int cpuid, +int vmm_fetch_instruction(struct vcpu *vcpu, struct vm_guest_paging *guest_paging, uint64_t rip, int inst_length, struct vie *vie, int *is_fault); @@ -94,14 +107,14 @@ int vmm_fetch_instruction(struct vm *vm, int cpuid, * 0 1 An exception was injected into the guest * EFAULT N/A An unrecoverable hypervisor error occurred */ -int vm_gla2gpa(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, +int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *is_fault); /* * Like vm_gla2gpa, but no exceptions are injected into the guest and * PTEs are not changed. */ -int vm_gla2gpa_nofault(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, +int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *is_fault); #endif /* _KERNEL */ @@ -121,7 +134,7 @@ void vie_init(struct vie *vie, const char *inst_bytes, int inst_length); */ #ifdef _KERNEL #define VIE_INVALID_GLA (1UL << 63) /* a non-canonical address */ -int vmm_decode_instruction(struct vm *vm, int cpuid, uint64_t gla, +int vmm_decode_instruction(struct vcpu *vcpu, uint64_t gla, enum vm_cpu_mode cpu_mode, int csd, struct vie *vie); #else /* !_KERNEL */ /* diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index f55262faee4f..48c7b53604c1 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -973,12 +973,10 @@ svm_eventinject(struct svm_vcpu *vcpu, int intr_type, int vector, static void svm_update_virqinfo(struct svm_vcpu *vcpu) { - struct vm *vm; struct vlapic *vlapic; struct vmcb_ctrl *ctrl; - vm = vcpu->sc->vm; - vlapic = vm_lapic(vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->vcpu); ctrl = svm_get_vmcb_ctrl(vcpu); /* Update %cr8 in the emulated vlapic */ @@ -1210,7 +1208,7 @@ svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, KASSERT(error == 0, ("%s: error %d updating efer", __func__, error)); return (0); gpf: - vm_inject_gp(sc->vm, vcpuid); + vm_inject_gp(vcpu->vcpu); return (0); } @@ -1459,7 +1457,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, /* Reflect the exception back into the guest */ SVM_CTR2(vcpu, "Reflecting exception " "%d/%#x into the guest", idtvec, (int)info1); - error = vm_inject_exception(svm_sc->vm, vcpuid, idtvec, + error = vm_inject_exception(vcpu->vcpu, idtvec, errcode_valid, info1, 0); KASSERT(error == 0, ("%s: vm_inject_exception error %d", __func__, error)); @@ -1556,7 +1554,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, case VMCB_EXIT_SKINIT: case VMCB_EXIT_ICEBP: case VMCB_EXIT_INVLPGA: - vm_inject_ud(svm_sc->vm, vcpuid); + vm_inject_ud(vcpu->vcpu); handled = 1; break; case VMCB_EXIT_INVD: @@ -2017,7 +2015,7 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) state = svm_get_vmcb_state(vcpu); ctrl = svm_get_vmcb_ctrl(vcpu); vmexit = vm_exitinfo(vm, vcpuid); - vlapic = vm_lapic(vm, vcpuid); + vlapic = vm_lapic(vcpu->vcpu); gctx = svm_get_guest_regctx(vcpu); vmcb_pa = vcpu->vmcb_pa; @@ -2346,7 +2344,7 @@ svm_setcap(void *vcpui, int type, int val) error = EINVAL; break; case VM_CAP_IPI_EXIT: - vlapic = vm_lapic(vcpu->sc->vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->vcpu); vlapic->ipi_exit = val; break; default: @@ -2379,7 +2377,7 @@ svm_getcap(void *vcpui, int type, int *retval) *retval = 1; /* unrestricted guest is always enabled */ break; case VM_CAP_IPI_EXIT: - vlapic = vm_lapic(vcpu->sc->vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->vcpu); *retval = vlapic->ipi_exit; break; default: diff --git a/sys/amd64/vmm/amd/svm_msr.c b/sys/amd64/vmm/amd/svm_msr.c index 65cc23352620..52ff6a29f336 100644 --- a/sys/amd64/vmm/amd/svm_msr.c +++ b/sys/amd64/vmm/amd/svm_msr.c @@ -125,7 +125,7 @@ svm_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: if (vm_rdmtrr(&vcpu->mtrr, num, result) != 0) { - vm_inject_gp(sc->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); } break; case MSR_SYSCFG: @@ -158,7 +158,7 @@ svm_wrmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, uint64_t val, case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: if (vm_wrmtrr(&vcpu->mtrr, num, val) != 0) { - vm_inject_gp(sc->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); } break; case MSR_SYSCFG: diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index abedecbecd89..57cc73633b7f 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1692,31 +1692,31 @@ vmx_emulate_xsetbv(struct vmx *vmx, struct vmx_vcpu *vcpu, /* Only xcr0 is supported. */ if (vmxctx->guest_rcx != 0) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); return (HANDLED); } /* We only handle xcr0 if both the host and guest have XSAVE enabled. */ if (!limits->xsave_enabled || !(vmcs_read(VMCS_GUEST_CR4) & CR4_XSAVE)) { - vm_inject_ud(vmx->vm, vcpu->vcpuid); + vm_inject_ud(vcpu->vcpu); return (HANDLED); } xcrval = vmxctx->guest_rdx << 32 | (vmxctx->guest_rax & 0xffffffff); if ((xcrval & ~limits->xcr0_allowed) != 0) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); return (HANDLED); } if (!(xcrval & XFEATURE_ENABLED_X87)) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); return (HANDLED); } /* AVX (YMM_Hi128) requires SSE. */ if (xcrval & XFEATURE_ENABLED_AVX && (xcrval & XFEATURE_AVX) != XFEATURE_AVX) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); return (HANDLED); } @@ -1727,7 +1727,7 @@ vmx_emulate_xsetbv(struct vmx *vmx, struct vmx_vcpu *vcpu, if (xcrval & XFEATURE_AVX512 && (xcrval & (XFEATURE_AVX512 | XFEATURE_AVX)) != (XFEATURE_AVX512 | XFEATURE_AVX)) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); return (HANDLED); } @@ -1737,7 +1737,7 @@ vmx_emulate_xsetbv(struct vmx *vmx, struct vmx_vcpu *vcpu, */ if (((xcrval & XFEATURE_ENABLED_BNDREGS) != 0) != ((xcrval & XFEATURE_ENABLED_BNDCSR) != 0)) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); return (HANDLED); } @@ -1927,7 +1927,7 @@ vmx_emulate_cr8_access(struct vmx *vmx, struct vmx_vcpu *vcpu, return (UNHANDLED); } - vlapic = vm_lapic(vmx->vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->vcpu); regnum = (exitqual >> 8) & 0xf; if (exitqual & 0x10) { cr8 = vlapic_get_cr8(vlapic); @@ -2721,7 +2721,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) "the guest", intr_vec, errcode); SDT_PROBE5(vmm, vmx, exit, exception, vmx, vcpuid, vmexit, intr_vec, errcode); - error = vm_inject_exception(vmx->vm, vcpuid, intr_vec, + error = vm_inject_exception(vcpu->vcpu, intr_vec, errcode_valid, errcode, 0); KASSERT(error == 0, ("%s: vm_inject_exception error %d", __func__, error)); @@ -2777,7 +2777,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) * pointing to the next instruction. */ vmexit->inst_length = 0; - vlapic = vm_lapic(vmx->vm, vcpuid); + vlapic = vm_lapic(vcpu->vcpu); SDT_PROBE4(vmm, vmx, exit, apicwrite, vmx, vcpuid, vmexit, vlapic); handled = vmx_handle_apic_write(vcpu, vlapic, qual); @@ -2795,7 +2795,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) vmexit->exitcode = VM_EXITCODE_MWAIT; break; case EXIT_REASON_TPR: - vlapic = vm_lapic(vmx->vm, vcpuid); + vlapic = vm_lapic(vcpu->vcpu); vlapic_sync_tpr(vlapic); vmexit->inst_length = 0; handled = HANDLED; @@ -3030,7 +3030,7 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) vcpuid = vcpu->vcpuid; vmcs = vcpu->vmcs; vmxctx = &vcpu->ctx; - vlapic = vm_lapic(vm, vcpuid); + vlapic = vm_lapic(vcpu->vcpu); vmexit = vm_exitinfo(vm, vcpuid); launched = 0; @@ -3644,7 +3644,7 @@ vmx_setcap(void *vcpui, int type, int val) case VM_CAP_IPI_EXIT: retval = 0; - vlapic = vm_lapic(vcpu->vmx->vm, vcpu->vcpuid); + vlapic = vm_lapic(vcpu->vcpu); vlapic->ipi_exit = val; break; default: diff --git a/sys/amd64/vmm/intel/vmx_msr.c b/sys/amd64/vmm/intel/vmx_msr.c index 8fba9be7d57e..a5ff3a9c492d 100644 --- a/sys/amd64/vmm/intel/vmx_msr.c +++ b/sys/amd64/vmm/intel/vmx_msr.c @@ -423,7 +423,7 @@ vmx_rdmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, uint64_t *val, case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: if (vm_rdmtrr(&vcpu->mtrr, num, val) != 0) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); } break; case MSR_IA32_MISC_ENABLE: @@ -466,7 +466,7 @@ vmx_wrmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, uint64_t val, case MSR_MTRR64kBase: case MSR_MTRRVarBase ... MSR_MTRRVarBase + (VMM_MTRR_VAR_MAX * 2) - 1: if (vm_wrmtrr(&vcpu->mtrr, num, val) != 0) { - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); } break; case MSR_IA32_MISC_ENABLE: @@ -493,7 +493,7 @@ vmx_wrmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, uint64_t val, if (pat_valid(val)) vcpu->guest_msrs[IDX_MSR_PAT] = val; else - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); break; case MSR_TSC: error = vmx_set_tsc_offset(vmx, vcpu, val - rdtsc()); @@ -507,7 +507,7 @@ vmx_wrmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, uint64_t val, */ vcpu->guest_msrs[IDX_MSR_TSC_AUX] = val; else - vm_inject_gp(vmx->vm, vcpu->vcpuid); + vm_inject_gp(vcpu->vcpu); break; default: error = EINVAL; diff --git a/sys/amd64/vmm/io/vhpet.c b/sys/amd64/vmm/io/vhpet.c index 530f5d49f8f1..dd409cde188f 100644 --- a/sys/amd64/vmm/io/vhpet.c +++ b/sys/amd64/vmm/io/vhpet.c @@ -472,7 +472,7 @@ vhpet_timer_update_config(struct vhpet *vhpet, int n, uint64_t data, } int -vhpet_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t val, int size, +vhpet_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t val, int size, void *arg) { struct vhpet *vhpet; @@ -481,7 +481,7 @@ vhpet_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t val, int size, sbintime_t now, *nowptr; int i, offset; - vhpet = vm_hpet(vm); + vhpet = vm_hpet(vcpu_vm(vcpu)); offset = gpa - VHPET_BASE; VHPET_LOCK(vhpet); @@ -622,14 +622,14 @@ done: } int -vhpet_mmio_read(void *vm, int vcpuid, uint64_t gpa, uint64_t *rval, int size, +vhpet_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) { int i, offset; struct vhpet *vhpet; uint64_t data; - vhpet = vm_hpet(vm); + vhpet = vm_hpet(vcpu_vm(vcpu)); offset = gpa - VHPET_BASE; VHPET_LOCK(vhpet); diff --git a/sys/amd64/vmm/io/vhpet.h b/sys/amd64/vmm/io/vhpet.h index f22d0c3b38ac..43a1fde1126e 100644 --- a/sys/amd64/vmm/io/vhpet.h +++ b/sys/amd64/vmm/io/vhpet.h @@ -40,9 +40,9 @@ struct vm_snapshot_meta; struct vhpet *vhpet_init(struct vm *vm); void vhpet_cleanup(struct vhpet *vhpet); -int vhpet_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t val, +int vhpet_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t val, int size, void *arg); -int vhpet_mmio_read(void *vm, int vcpuid, uint64_t gpa, uint64_t *val, +int vhpet_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *val, int size, void *arg); int vhpet_getcap(struct vm_hpet_cap *cap); #ifdef BHYVE_SNAPSHOT diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index 639c1b07eb08..66a394af0d00 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -245,7 +245,7 @@ vioapic_update_tmr(struct vm *vm, int vcpuid, void *arg) int delmode, pin, vector; bool level, phys; - vlapic = vm_lapic(vm, vcpuid); + vlapic = vm_lapic(vm_vcpu(vm, vcpuid)); vioapic = vm_ioapic(vm); VIOAPIC_LOCK(vioapic); @@ -277,7 +277,7 @@ vioapic_update_tmr(struct vm *vm, int vcpuid, void *arg) } static uint32_t -vioapic_read(struct vioapic *vioapic, int vcpuid, uint32_t addr) +vioapic_read(struct vioapic *vioapic, struct vcpu *vcpu, uint32_t addr) { int regnum, pin, rshift; @@ -312,13 +312,15 @@ vioapic_read(struct vioapic *vioapic, int vcpuid, uint32_t addr) } static void -vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) +vioapic_write(struct vioapic *vioapic, struct vcpu *vcpu, uint32_t addr, + uint32_t data) { uint64_t data64, mask64; uint64_t last, changed; - int regnum, pin, lshift; + int regnum, pin, lshift, vcpuid; cpuset_t allvcpus; + vcpuid = vcpu_vcpuid(vcpu); regnum = addr & 0xff; switch (regnum) { case IOAPIC_ID: @@ -392,7 +394,7 @@ vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) } static int -vioapic_mmio_rw(struct vioapic *vioapic, int vcpuid, uint64_t gpa, +vioapic_mmio_rw(struct vioapic *vioapic, struct vcpu *vcpu, uint64_t gpa, uint64_t *data, int size, bool doread) { uint64_t offset; @@ -417,10 +419,10 @@ vioapic_mmio_rw(struct vioapic *vioapic, int vcpuid, uint64_t gpa, vioapic->ioregsel = *data; } else { if (doread) { - *data = vioapic_read(vioapic, vcpuid, + *data = vioapic_read(vioapic, vcpu, vioapic->ioregsel); } else { - vioapic_write(vioapic, vcpuid, vioapic->ioregsel, + vioapic_write(vioapic, vcpu, vioapic->ioregsel, *data); } } @@ -430,26 +432,26 @@ vioapic_mmio_rw(struct vioapic *vioapic, int vcpuid, uint64_t gpa, } int -vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, uint64_t *rval, +vioapic_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) { int error; struct vioapic *vioapic; - vioapic = vm_ioapic(vm); - error = vioapic_mmio_rw(vioapic, vcpuid, gpa, rval, size, true); + vioapic = vm_ioapic(vcpu_vm(vcpu)); + error = vioapic_mmio_rw(vioapic, vcpu, gpa, rval, size, true); return (error); } int -vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t wval, +vioapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, void *arg) { int error; struct vioapic *vioapic; - vioapic = vm_ioapic(vm); - error = vioapic_mmio_rw(vioapic, vcpuid, gpa, &wval, size, false); + vioapic = vm_ioapic(vcpu_vm(vcpu)); + error = vioapic_mmio_rw(vioapic, vcpu, gpa, &wval, size, false); return (error); } diff --git a/sys/amd64/vmm/io/vioapic.h b/sys/amd64/vmm/io/vioapic.h index 17d2c29b758f..e45975c548a8 100644 --- a/sys/amd64/vmm/io/vioapic.h +++ b/sys/amd64/vmm/io/vioapic.h @@ -45,9 +45,9 @@ int vioapic_assert_irq(struct vm *vm, int irq); int vioapic_deassert_irq(struct vm *vm, int irq); int vioapic_pulse_irq(struct vm *vm, int irq); -int vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, +int vioapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, void *arg); -int vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, +int vioapic_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg); int vioapic_pincount(struct vm *vm); diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index fdd971cc03c9..541e889d9fdd 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -867,7 +867,7 @@ vlapic_calcdest(struct vm *vm, cpuset_t *dmask, uint32_t dest, bool phys, CPU_ZERO(dmask); amask = vm_active_cpus(vm); CPU_FOREACH_ISSET(vcpuid, &amask) { - vlapic = vm_lapic(vm, vcpuid); + vlapic = vm_lapic(vm_vcpu(vm, vcpuid)); dfr = vlapic->apic_page->dfr; ldr = vlapic->apic_page->ldr; @@ -935,7 +935,7 @@ vlapic_set_cr8(struct vlapic *vlapic, uint64_t val) uint8_t tpr; if (val & ~0xf) { - vm_inject_gp(vlapic->vm, vlapic->vcpuid); + vm_inject_gp(vlapic->vcpu); return; } @@ -1131,7 +1131,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) * requires that the boot state is set to SIPI * here. */ - vlapic2 = vm_lapic(vlapic->vm, i); + vlapic2 = vm_lapic(vm_vcpu(vlapic->vm, i)); vlapic2->boot_state = BS_SIPI; break; } @@ -1155,7 +1155,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) /* * Ignore SIPIs in any state other than wait-for-SIPI */ - vlapic2 = vm_lapic(vlapic->vm, i); + vlapic2 = vm_lapic(vm_vcpu(vlapic->vm, i)); if (vlapic2->boot_state != BS_SIPI) break; vlapic2->boot_state = BS_RUNNING; @@ -1170,7 +1170,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) } CPU_FOREACH_ISSET(i, &dmask) { - vlapic2 = vm_lapic(vlapic->vm, i); + vlapic2 = vm_lapic(vm_vcpu(vlapic->vm, i)); /* * Ignore SIPIs in any state other than wait-for-SIPI @@ -1202,7 +1202,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) static void vlapic_handle_init(struct vm *vm, int vcpuid, void *arg) { - struct vlapic *vlapic = vm_lapic(vm, vcpuid); + struct vlapic *vlapic = vm_lapic(vm_vcpu(vm, vcpuid)); vlapic_reset(vlapic); @@ -1659,12 +1659,12 @@ vlapic_set_apicbase(struct vlapic *vlapic, uint64_t new) } void -vlapic_set_x2apic_state(struct vm *vm, int vcpuid, enum x2apic_state state) +vlapic_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state) { struct vlapic *vlapic; struct LAPIC *lapic; - vlapic = vm_lapic(vm, vcpuid); + vlapic = vm_lapic(vcpu); if (state == X2APIC_DISABLED) vlapic->msr_apicbase &= ~APICBASE_X2APIC; @@ -1866,7 +1866,7 @@ vlapic_snapshot(struct vm *vm, struct vm_snapshot_meta *meta) maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { - vlapic = vm_lapic(vm, i); + vlapic = vm_lapic(vm_vcpu(vm, i)); /* snapshot the page first; timer period depends on icr_timer */ lapic = vlapic->apic_page; diff --git a/sys/amd64/vmm/io/vlapic.h b/sys/amd64/vmm/io/vlapic.h index 87f3d0c2660f..f8ac42fc7514 100644 --- a/sys/amd64/vmm/io/vlapic.h +++ b/sys/amd64/vmm/io/vlapic.h @@ -79,7 +79,7 @@ void vlapic_sync_tpr(struct vlapic *vlapic); uint64_t vlapic_get_apicbase(struct vlapic *vlapic); int vlapic_set_apicbase(struct vlapic *vlapic, uint64_t val); -void vlapic_set_x2apic_state(struct vm *vm, int vcpuid, enum x2apic_state s); +void vlapic_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state s); bool vlapic_enabled(struct vlapic *vlapic); void vlapic_deliver_intr(struct vm *vm, bool level, uint32_t dest, bool phys, diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 6b93708ba9cc..c2f86c3e4cee 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -687,7 +687,7 @@ vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa) #ifdef INVARIANTS int hostcpu, state; - state = vcpu_get_state(vm, vcpuid, &hostcpu); + state = vcpu_get_state(vm_vcpu(vm, vcpuid), &hostcpu); KASSERT(state == VCPU_RUNNING && hostcpu == curcpu, ("%s: invalid vcpu state %d/%d", __func__, state, hostcpu)); #endif @@ -1064,7 +1064,7 @@ _vm_gpa_hold(struct vm *vm, vm_paddr_t gpa, size_t len, int reqprot, } void * -vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, size_t len, int reqprot, +vm_gpa_hold(struct vcpu *vcpu, vm_paddr_t gpa, size_t len, int reqprot, void **cookie) { #ifdef INVARIANTS @@ -1072,11 +1072,11 @@ vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, size_t len, int reqprot, * The current vcpu should be frozen to ensure 'vm_memmap[]' * stability. */ - int state = vcpu_get_state(vm, vcpuid, NULL); + int state = vcpu_get_state(vcpu, NULL); KASSERT(state == VCPU_FROZEN, ("%s: invalid vcpu state %d", __func__, state)); #endif - return (_vm_gpa_hold(vm, gpa, len, reqprot, cookie)); + return (_vm_gpa_hold(vcpu->vm, gpa, len, reqprot, cookie)); } void * @@ -1091,7 +1091,7 @@ vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, int reqprot, */ int state; for (int i = 0; i < vm->maxcpus; i++) { - state = vcpu_get_state(vm, i, NULL); + state = vcpu_get_state(vm_vcpu(vm, i), NULL); KASSERT(state == VCPU_FROZEN, ("%s: invalid vcpu state %d", __func__, state)); } @@ -1108,37 +1108,29 @@ vm_gpa_release(void *cookie) } int -vm_get_register(struct vm *vm, int vcpu, int reg, uint64_t *retval) +vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval) { - if (vcpu < 0 || vcpu >= vm->maxcpus) - return (EINVAL); - if (reg >= VM_REG_LAST) return (EINVAL); - return (vmmops_getreg(vcpu_cookie(vm, vcpu), reg, retval)); + return (vmmops_getreg(vcpu->cookie, reg, retval)); } int -vm_set_register(struct vm *vm, int vcpuid, int reg, uint64_t val) +vm_set_register(struct vcpu *vcpu, int reg, uint64_t val) { - struct vcpu *vcpu; int error; - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - if (reg >= VM_REG_LAST) return (EINVAL); - vcpu = &vm->vcpu[vcpuid]; error = vmmops_setreg(vcpu->cookie, reg, val); if (error || reg != VM_REG_GUEST_RIP) return (error); /* Set 'nextrip' to match the value of %rip */ - VCPU_CTR1(vm, vcpuid, "Setting nextrip to %#lx", val); + VMM_CTR1(vcpu, "Setting nextrip to %#lx", val); vcpu->nextrip = val; return (0); } @@ -1176,17 +1168,13 @@ is_segment_register(int reg) } int -vm_get_seg_desc(struct vm *vm, int vcpu, int reg, - struct seg_desc *desc) +vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *desc) { - if (vcpu < 0 || vcpu >= vm->maxcpus) - return (EINVAL); - if (!is_segment_register(reg) && !is_descriptor_table(reg)) return (EINVAL); - return (vmmops_getdesc(vcpu_cookie(vm, vcpu), reg, desc)); + return (vmmops_getdesc(vcpu->cookie, reg, desc)); } int @@ -1566,8 +1554,8 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) /* Fetch, decode and emulate the faulting instruction */ if (vie->num_valid == 0) { - error = vmm_fetch_instruction(vm, vcpuid, paging, vme->rip + - cs_base, VIE_INST_SIZE, vie, &fault); + error = vmm_fetch_instruction(vcpu, paging, vme->rip + cs_base, + VIE_INST_SIZE, vie, &fault); } else { /* * The instruction bytes have already been copied into 'vie' @@ -1577,7 +1565,7 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) if (error || fault) return (error); - if (vmm_decode_instruction(vm, vcpuid, gla, cpu_mode, cs_d, vie) != 0) { + if (vmm_decode_instruction(vcpu, gla, cpu_mode, cs_d, vie) != 0) { VCPU_CTR1(vm, vcpuid, "Error decoding instruction at %#lx", vme->rip + cs_base); *retu = true; /* dump instruction bytes in userspace */ @@ -1607,8 +1595,8 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) return (0); } - error = vmm_emulate_instruction(vm, vcpuid, gpa, vie, paging, - mread, mwrite, retu); + error = vmm_emulate_instruction(vcpu, gpa, vie, paging, mread, mwrite, + retu); return (error); } @@ -1860,7 +1848,7 @@ restart: case VM_EXITCODE_MONITOR: case VM_EXITCODE_MWAIT: case VM_EXITCODE_VMINSN: - vm_inject_ud(vm, vcpuid); + vm_inject_ud(vcpu); break; default: retu = true; /* handled in userland */ @@ -1889,20 +1877,13 @@ restart: } int -vm_restart_instruction(void *arg, int vcpuid) +vm_restart_instruction(struct vcpu *vcpu) { - struct vm *vm; - struct vcpu *vcpu; enum vcpu_state state; uint64_t rip; int error __diagused; - vm = arg; - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - - vcpu = &vm->vcpu[vcpuid]; - state = vcpu_get_state(vm, vcpuid, NULL); + state = vcpu_get_state(vcpu, NULL); if (state == VCPU_RUNNING) { /* * When a vcpu is "running" the next instruction is determined @@ -1911,7 +1892,7 @@ vm_restart_instruction(void *arg, int vcpuid) * instruction to be restarted. */ vcpu->exitinfo.inst_length = 0; - VCPU_CTR1(vm, vcpuid, "restarting instruction at %#lx by " + VMM_CTR1(vcpu, "restarting instruction at %#lx by " "setting inst_length to zero", vcpu->exitinfo.rip); } else if (state == VCPU_FROZEN) { /* @@ -1920,9 +1901,9 @@ vm_restart_instruction(void *arg, int vcpuid) * instruction. Thus instruction restart is achieved by setting * 'nextrip' to the vcpu's %rip. */ - error = vm_get_register(vm, vcpuid, VM_REG_GUEST_RIP, &rip); + error = vm_get_register(vcpu, VM_REG_GUEST_RIP, &rip); KASSERT(!error, ("%s: error %d getting rip", __func__, error)); - VCPU_CTR2(vm, vcpuid, "restarting instruction by updating " + VMM_CTR2(vcpu, "restarting instruction by updating " "nextrip from %#lx to %#lx", vcpu->nextrip, rip); vcpu->nextrip = rip; } else { @@ -2107,7 +2088,7 @@ vm_entry_intinfo(struct vm *vm, int vcpuid, uint64_t *retinfo) } if (valid) { - VCPU_CTR4(vm, vcpuid, "%s: info1(%#lx), info2(%#lx), " + VMM_CTR4(vcpu, "%s: info1(%#lx), info2(%#lx), " *** 1848 LINES SKIPPED *** From nobody Thu Jan 26 22:11:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0q2x47z3c8Zx; Thu, 26 Jan 2023 22:11: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 4P2w0q1sDPz3vp7; Thu, 26 Jan 2023 22:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4N7knX39AZqXngA2G5GZte261aoDN8CY6zcAdHnpNY=; b=e8E7akEPw7vX+WytxL/oTgNQ+HfoJLS4EWE9w3oowycT5IvTOh0XfX683wzCJb9RYttUlb M4xkygyfaJcLQ5ssmP4WqYYeS9oN53YKCe24Jl/7lm+1PNvZMCn7I7YcNHarn98MZoNW7U TBvwWqttDBtDqbzrxk34k5xEVNQhfmrZtSQNcocIFGUpZpRNUiaEpCCNBNx6huk2raILOa McL8tuTbFawkxrG+9/NFqtRozXWxTE08FBs+KIQPYujrRk4777uLHndEFY5xS9OFxXpQX0 Qw1zF5uOM/+38g8IbIxQl4G/2G73qEzPSFyzdYDMiQglkRdHxiTUlF5gnGLqfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4N7knX39AZqXngA2G5GZte261aoDN8CY6zcAdHnpNY=; b=Cy37CUEAckp7IcicDrk1wXWJMRmg0mVcvwwTS84ciDxfQofD8OL9dmaU8Xovcw4Nnnk7TO AfAZS+FPTfXOVKz3+pbuRVXs9ywkF4SMl8a7Mes1yOgr+4LDLePYLEfv93jbbNNjHXnzzT DdLrjrbTnTNohpFsyQv6x9YERkUf8SFcsKofuM6auaaTvHeunR8g5aPtmnj+/jim2GdmEz PXVvez72/tE5ArpXNEEOWMVTjNYo9I71CDG+v+EjJ52WEKbkyTCgmZ2wUgkZfJph5luCjP kMQEb2AD6tt6kmXUOd5ScmDrR0vuchfIn6/6BiNX6jbUIsKeAUIGegfKzdGUMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771115; a=rsa-sha256; cv=none; b=jCdwVtl4xUJenRFYf9pxKYdO5O5yFr5B++VoL6KS/7srULLNiVbMdo156U8lnK0KJwrLGB dZr5YIsmG956TFoBuLns6b+Iq1o0yNdkuK8T280TrI799XuICQCgONyHgSWafOKmNnyQsj zCRVBFju71fqarA5MYsAodIXwG+Rt0PWiFD/4uWl5SGyM5jVPnDmyJC85Qze/r+15I2idl l7DBb/btyEUFO+X6ISmo6ks60fUwaIT4+gfGyS8q4J8/Ocb/5nsGKaCcr7VUPPGPbT3sRU JkfyeEOZRacPmebI0CR1Br3Z3Ko7NYmYdAg8uimAla1gpMChQ4dFuUjgQRvWLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0q0qSVzlmB; Thu, 26 Jan 2023 22:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBtDN021973; Thu, 26 Jan 2023 22:11:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBtRG021972; Thu, 26 Jan 2023 22:11:55 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:55 GMT Message-Id: <202301262211.30QMBtRG021972@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 60ba8879c326 - stable/13 - vmm: Pass vcpu instead of vm and vcpuid to APIs used from CPU backends. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 60ba8879c3262ca236d7c1c98e42ca36ac2ad360 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=60ba8879c3262ca236d7c1c98e42ca36ac2ad360 commit 60ba8879c3262ca236d7c1c98e42ca36ac2ad360 Author: John Baldwin AuthorDate: 2022-11-18 18:03:05 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:00:36 +0000 vmm: Pass vcpu instead of vm and vcpuid to APIs used from CPU backends. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37162 (cherry picked from commit 80cb5d845b8f4b7dc25b5dc7f4a9a653b98b0cc6) --- sys/amd64/include/vmm.h | 58 +++++++++--------- sys/amd64/vmm/amd/svm.c | 94 +++++++++++++---------------- sys/amd64/vmm/amd/svm.h | 3 +- sys/amd64/vmm/amd/svm_msr.c | 12 ++-- sys/amd64/vmm/amd/svm_msr.h | 10 ++-- sys/amd64/vmm/intel/vmx.c | 108 +++++++++++++++++----------------- sys/amd64/vmm/intel/vmx.h | 3 +- sys/amd64/vmm/intel/vmx_msr.c | 12 ++-- sys/amd64/vmm/intel/vmx_msr.h | 10 ++-- sys/amd64/vmm/io/vlapic.c | 4 +- sys/amd64/vmm/vmm.c | 133 +++++++++++++----------------------------- sys/amd64/vmm/vmm_dev.c | 2 +- sys/amd64/vmm/vmm_lapic.c | 8 +-- sys/amd64/vmm/vmm_lapic.h | 7 +-- sys/amd64/vmm/x86.c | 8 ++- sys/amd64/vmm/x86.h | 4 +- 16 files changed, 197 insertions(+), 279 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 0224304f16a2..7c9393128df0 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -258,7 +258,7 @@ void *vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, void *vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, int prot, void **cookie); void vm_gpa_release(void *cookie); -bool vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa); +bool vm_mem_allocated(struct vcpu *vcpu, vm_paddr_t gpa); int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval); int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val); @@ -269,11 +269,11 @@ int vm_set_seg_desc(struct vm *vm, int vcpu, int reg, int vm_run(struct vm *vm, struct vm_run *vmrun); int vm_suspend(struct vm *vm, enum vm_suspend_how how); int vm_inject_nmi(struct vm *vm, int vcpu); -int vm_nmi_pending(struct vm *vm, int vcpuid); -void vm_nmi_clear(struct vm *vm, int vcpuid); +int vm_nmi_pending(struct vcpu *vcpu); +void vm_nmi_clear(struct vcpu *vcpu); int vm_inject_extint(struct vm *vm, int vcpu); -int vm_extint_pending(struct vm *vm, int vcpuid); -void vm_extint_clear(struct vm *vm, int vcpuid); +int vm_extint_pending(struct vcpu *vcpu); +void vm_extint_clear(struct vcpu *vcpu); int vcpu_vcpuid(struct vcpu *vcpu); struct vm *vcpu_vm(struct vcpu *vcpu); struct vcpu *vm_vcpu(struct vm *vm, int cpu); @@ -289,12 +289,12 @@ int vm_activate_cpu(struct vm *vm, int vcpu); int vm_suspend_cpu(struct vm *vm, int vcpu); int vm_resume_cpu(struct vm *vm, int vcpu); int vm_restart_instruction(struct vcpu *vcpu); -struct vm_exit *vm_exitinfo(struct vm *vm, int vcpuid); -void vm_exit_suspended(struct vm *vm, int vcpuid, uint64_t rip); -void vm_exit_debug(struct vm *vm, int vcpuid, uint64_t rip); -void vm_exit_rendezvous(struct vm *vm, int vcpuid, uint64_t rip); -void vm_exit_astpending(struct vm *vm, int vcpuid, uint64_t rip); -void vm_exit_reqidle(struct vm *vm, int vcpuid, uint64_t rip); +struct vm_exit *vm_exitinfo(struct vcpu *vcpu); +void vm_exit_suspended(struct vcpu *vcpu, uint64_t rip); +void vm_exit_debug(struct vcpu *vcpu, uint64_t rip); +void vm_exit_rendezvous(struct vcpu *vcpu, uint64_t rip); +void vm_exit_astpending(struct vcpu *vcpu, uint64_t rip); +void vm_exit_reqidle(struct vcpu *vcpu, uint64_t rip); int vm_snapshot_req(struct vm *vm, struct vm_snapshot_meta *meta); int vm_restore_time(struct vm *vm); @@ -342,7 +342,7 @@ vcpu_reqidle(struct vm_eventinfo *info) return (*info->iptr); } -int vcpu_debugged(struct vm *vm, int vcpuid); +int vcpu_debugged(struct vcpu *vcpu); /* * Return true if device indicated by bus/slot/func is supposed to be a @@ -366,14 +366,14 @@ int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state, enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu); static int __inline -vcpu_is_running(struct vm *vm, int vcpu, int *hostcpu) +vcpu_is_running(struct vcpu *vcpu, int *hostcpu) { - return (vcpu_get_state(vm_vcpu(vm, vcpu), hostcpu) == VCPU_RUNNING); + return (vcpu_get_state(vcpu, hostcpu) == VCPU_RUNNING); } #ifdef _SYS_PROC_H_ static int __inline -vcpu_should_yield(struct vm *vm, int vcpu) +vcpu_should_yield(struct vcpu *vcpu) { if (curthread->td_flags & (TDF_ASTPENDING | TDF_NEEDRESCHED)) @@ -420,7 +420,7 @@ int vm_inject_exception(struct vcpu *vcpu, int vector, int err_valid, * * Return value is 0 on success and non-zero on failure. */ -int vm_exit_intinfo(struct vm *vm, int vcpuid, uint64_t intinfo); +int vm_exit_intinfo(struct vcpu *vcpu, uint64_t intinfo); /* * This function is called before every VM-entry to retrieve a pending @@ -430,7 +430,7 @@ int vm_exit_intinfo(struct vm *vm, int vcpuid, uint64_t intinfo); * Returns 0 if there are no events that need to be injected into the guest * and non-zero otherwise. */ -int vm_entry_intinfo(struct vm *vm, int vcpuid, uint64_t *info); +int vm_entry_intinfo(struct vcpu *vcpu, uint64_t *info); int vm_get_intinfo(struct vm *vm, int vcpuid, uint64_t *info1, uint64_t *info2); @@ -438,10 +438,8 @@ int vm_get_intinfo(struct vm *vm, int vcpuid, uint64_t *info1, uint64_t *info2); * Function used to keep track of the guest's TSC offset. The * offset is used by the virutalization extensions to provide a consistent * value for the Time Stamp Counter to the guest. - * - * Return value is 0 on success and non-zero on failure. */ -int vm_set_tsc_offset(struct vm *vm, int vcpu_id, uint64_t offset); +void vm_set_tsc_offset(struct vcpu *vcpu, uint64_t offset); enum vm_reg_name vm_segment_name(int seg_encoding); @@ -473,8 +471,8 @@ void vm_copy_teardown(struct vm_copyinfo *copyinfo, int num_copyinfo); void vm_copyin(struct vm_copyinfo *copyinfo, void *kaddr, size_t len); void vm_copyout(const void *kaddr, struct vm_copyinfo *copyinfo, size_t len); -int vcpu_trace_exceptions(struct vm *vm, int vcpuid); -int vcpu_trap_wbinvd(struct vm *vm, int vcpuid); +int vcpu_trace_exceptions(struct vcpu *vcpu); +int vcpu_trap_wbinvd(struct vcpu *vcpu); #endif /* KERNEL */ #ifdef _KERNEL @@ -793,27 +791,27 @@ void vm_inject_fault(void *vm, int vcpuid, int vector, int errcode_valid, int errcode); static __inline void -vm_inject_ud(void *vm, int vcpuid) +vm_inject_ud(struct vcpu *vcpu) { - vm_inject_fault(vm, vcpuid, IDT_UD, 0, 0); + vm_inject_fault(vcpu, IDT_UD, 0, 0); } static __inline void -vm_inject_gp(void *vm, int vcpuid) +vm_inject_gp(struct vcpu *vcpu) { - vm_inject_fault(vm, vcpuid, IDT_GP, 1, 0); + vm_inject_fault(vcpu, IDT_GP, 1, 0); } static __inline void -vm_inject_ac(void *vm, int vcpuid, int errcode) +vm_inject_ac(struct vcpu *vcpu, int errcode) { - vm_inject_fault(vm, vcpuid, IDT_AC, 1, errcode); + vm_inject_fault(vcpu, IDT_AC, 1, errcode); } static __inline void -vm_inject_ss(void *vm, int vcpuid, int errcode) +vm_inject_ss(struct vcpu *vcpu, int errcode) { - vm_inject_fault(vm, vcpuid, IDT_SS, 1, errcode); + vm_inject_fault(vcpu, IDT_SS, 1, errcode); } void vm_inject_pf(void *vm, int vcpuid, int error_code, uint64_t cr2); diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 48c7b53604c1..2448501401e3 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -282,10 +282,9 @@ svm_modresume(void) } #ifdef BHYVE_SNAPSHOT -int -svm_set_tsc_offset(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t offset) +void +svm_set_tsc_offset(struct svm_vcpu *vcpu, uint64_t offset) { - int error; struct vmcb_ctrl *ctrl; ctrl = svm_get_vmcb_ctrl(vcpu); @@ -294,9 +293,7 @@ svm_set_tsc_offset(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t offset) svm_set_dirty(vcpu, VMCB_CACHE_I); SVM_CTR1(vcpu, "tsc offset changed to %#lx", offset); - error = vm_set_tsc_offset(sc->vm, vcpu->vcpuid, offset); - - return (error); + vm_set_tsc_offset(vcpu->vcpu, offset); } #endif @@ -464,7 +461,7 @@ vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, * Intercept everything when tracing guest exceptions otherwise * just intercept machine check exception. */ - if (vcpu_trace_exceptions(sc->vm, vcpu->vcpuid)) { + if (vcpu_trace_exceptions(vcpu->vcpu)) { for (n = 0; n < 32; n++) { /* * Skip unimplemented vectors in the exception bitmap. @@ -504,7 +501,7 @@ vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_CLGI); svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_SKINIT); svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_ICEBP); - if (vcpu_trap_wbinvd(sc->vm, vcpu->vcpuid)) { + if (vcpu_trap_wbinvd(vcpu->vcpu)) { svm_enable_intercept(vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_WBINVD); } @@ -992,9 +989,7 @@ svm_save_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) { struct vmcb_ctrl *ctrl; uint64_t intinfo; - int vcpuid; - vcpuid = vcpu->vcpuid; ctrl = svm_get_vmcb_ctrl(vcpu); intinfo = ctrl->exitintinfo; if (!VMCB_EXITINTINFO_VALID(intinfo)) @@ -1009,7 +1004,7 @@ svm_save_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) SVM_CTR2(vcpu, "SVM:Pending INTINFO(0x%lx), vector=%d.\n", intinfo, VMCB_EXITINTINFO_VECTOR(intinfo)); vmm_stat_incr(vcpu->vcpu, VCPU_EXITINTINFO, 1); - vm_exit_intinfo(svm_sc->vm, vcpuid, intinfo); + vm_exit_intinfo(vcpu->vcpu, intinfo); } #ifdef INVARIANTS @@ -1149,10 +1144,9 @@ svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, struct vm_exit *vme; struct vmcb_state *state; uint64_t changed, lma, oldval; - int error __diagused, vcpuid; + int error __diagused; state = svm_get_vmcb_state(vcpu); - vcpuid = vcpu->vcpuid; oldval = state->efer; SVM_CTR2(vcpu, "wrmsr(efer) %#lx/%#lx", oldval, newval); @@ -1179,7 +1173,7 @@ svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, goto gpf; if (newval & EFER_NXE) { - if (!vm_cpuid_capability(sc->vm, vcpuid, VCC_NO_EXECUTE)) + if (!vm_cpuid_capability(vcpu->vcpu, VCC_NO_EXECUTE)) goto gpf; } @@ -1188,19 +1182,19 @@ svm_write_efer(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t newval, * this is fixed flag guest attempt to set EFER_LMSLE as an error. */ if (newval & EFER_LMSLE) { - vme = vm_exitinfo(sc->vm, vcpuid); + vme = vm_exitinfo(vcpu->vcpu); vm_exit_svm(vme, VMCB_EXIT_MSR, 1, 0); *retu = true; return (0); } if (newval & EFER_FFXSR) { - if (!vm_cpuid_capability(sc->vm, vcpuid, VCC_FFXSR)) + if (!vm_cpuid_capability(vcpu->vcpu, VCC_FFXSR)) goto gpf; } if (newval & EFER_TCE) { - if (!vm_cpuid_capability(sc->vm, vcpuid, VCC_TCE)) + if (!vm_cpuid_capability(vcpu->vcpu, VCC_TCE)) goto gpf; } @@ -1219,18 +1213,17 @@ emulate_wrmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, int error; if (lapic_msr(num)) - error = lapic_wrmsr(sc->vm, vcpu->vcpuid, num, val, retu); + error = lapic_wrmsr(vcpu->vcpu, num, val, retu); else if (num == MSR_EFER) error = svm_write_efer(sc, vcpu, val, retu); else - error = svm_wrmsr(sc, vcpu, num, val, retu); + error = svm_wrmsr(vcpu, num, val, retu); return (error); } static int -emulate_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, - bool *retu) +emulate_rdmsr(struct svm_vcpu *vcpu, u_int num, bool *retu) { struct vmcb_state *state; struct svm_regctx *ctx; @@ -1238,9 +1231,9 @@ emulate_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, int error; if (lapic_msr(num)) - error = lapic_rdmsr(sc->vm, vcpu->vcpuid, num, &result, retu); + error = lapic_rdmsr(vcpu->vcpu, num, &result, retu); else - error = svm_rdmsr(sc, vcpu, num, &result, retu); + error = svm_rdmsr(vcpu, num, &result, retu); if (error == 0) { state = svm_get_vmcb_state(vcpu); @@ -1335,14 +1328,12 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, uint64_t code, info1, info2, val; uint32_t eax, ecx, edx; int error __diagused, errcode_valid, handled, idtvec, reflect; - int vcpuid; bool retu; ctx = svm_get_guest_regctx(vcpu); vmcb = svm_get_vmcb(vcpu); state = &vmcb->state; ctrl = &vmcb->ctrl; - vcpuid = vcpu->vcpuid; handled = 0; code = ctrl->exitcode; @@ -1487,7 +1478,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, } else { SVM_CTR1(vcpu, "rdmsr %#x", ecx); vmm_stat_incr(vcpu->vcpu, VMEXIT_RDMSR, 1); - if (emulate_rdmsr(svm_sc, vcpu, ecx, &retu)) { + if (emulate_rdmsr(vcpu, ecx, &retu)) { vmexit->exitcode = VM_EXITCODE_RDMSR; vmexit->u.msr.code = ecx; } else if (!retu) { @@ -1504,8 +1495,9 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, break; case VMCB_EXIT_CPUID: vmm_stat_incr(vcpu->vcpu, VMEXIT_CPUID, 1); - handled = x86_emulate_cpuid(svm_sc->vm, vcpuid, &state->rax, - &ctx->sctx_rbx, &ctx->sctx_rcx, &ctx->sctx_rdx); + handled = x86_emulate_cpuid(vcpu->vcpu, + &state->rax, &ctx->sctx_rbx, &ctx->sctx_rcx, + &ctx->sctx_rdx); break; case VMCB_EXIT_HLT: vmm_stat_incr(vcpu->vcpu, VMEXIT_HLT, 1); @@ -1522,7 +1514,7 @@ svm_vmexit(struct svm_softc *svm_sc, struct svm_vcpu *vcpu, SVM_CTR2(vcpu, "nested page fault with " "reserved bits set: info1(%#lx) info2(%#lx)", info1, info2); - } else if (vm_mem_allocated(svm_sc->vm, vcpuid, info2)) { + } else if (vm_mem_allocated(vcpu->vcpu, info2)) { vmexit->exitcode = VM_EXITCODE_PAGING; vmexit->u.paging.gpa = info2; vmexit->u.paging.fault_type = npf_fault_type(info1); @@ -1596,9 +1588,8 @@ static void svm_inj_intinfo(struct svm_softc *svm_sc, struct svm_vcpu *vcpu) { uint64_t intinfo; - int vcpuid = vcpu->vcpuid; - if (!vm_entry_intinfo(svm_sc->vm, vcpuid, &intinfo)) + if (!vm_entry_intinfo(vcpu->vcpu, &intinfo)) return; KASSERT(VMCB_EXITINTINFO_VALID(intinfo), ("%s: entry intinfo is not " @@ -1624,7 +1615,6 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, uint8_t v_tpr; int vector, need_intr_window; int extint_pending; - int vcpuid = vcpu->vcpuid; state = svm_get_vmcb_state(vcpu); ctrl = svm_get_vmcb_ctrl(vcpu); @@ -1650,7 +1640,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, svm_inj_intinfo(sc, vcpu); /* NMI event has priority over interrupts. */ - if (vm_nmi_pending(sc->vm, vcpuid)) { + if (vm_nmi_pending(vcpu->vcpu)) { if (nmi_blocked(vcpu)) { /* * Can't inject another NMI if the guest has not @@ -1686,7 +1676,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, */ ipi_cpu(curcpu, IPI_AST); /* XXX vmm_ipinum? */ } else { - vm_nmi_clear(sc->vm, vcpuid); + vm_nmi_clear(vcpu->vcpu); /* Inject NMI, vector number is not used */ svm_eventinject(vcpu, VMCB_EVENTINJ_TYPE_NMI, @@ -1699,7 +1689,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, } } - extint_pending = vm_extint_pending(sc->vm, vcpuid); + extint_pending = vm_extint_pending(vcpu->vcpu); if (!extint_pending) { if (!vlapic_pending_intr(vlapic, &vector)) goto done; @@ -1742,7 +1732,7 @@ svm_inj_interrupts(struct svm_softc *sc, struct svm_vcpu *vcpu, if (!extint_pending) { vlapic_intr_accepted(vlapic, vector); } else { - vm_extint_clear(sc->vm, vcpuid); + vm_extint_clear(vcpu->vcpu); vatpic_intr_accepted(sc->vm, vector); } @@ -2003,18 +1993,15 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) struct vmcb_ctrl *ctrl; struct vm_exit *vmexit; struct vlapic *vlapic; - struct vm *vm; uint64_t vmcb_pa; - int handled, vcpuid; + int handled; uint16_t ldt_sel; vcpu = vcpui; - vcpuid = vcpu->vcpuid; svm_sc = vcpu->sc; - vm = svm_sc->vm; state = svm_get_vmcb_state(vcpu); ctrl = svm_get_vmcb_ctrl(vcpu); - vmexit = vm_exitinfo(vm, vcpuid); + vmexit = vm_exitinfo(vcpu->vcpu); vlapic = vm_lapic(vcpu->vcpu); gctx = svm_get_guest_regctx(vcpu); @@ -2045,7 +2032,7 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) vmm_stat_incr(vcpu->vcpu, VCPU_MIGRATIONS, 1); } - svm_msr_guest_enter(svm_sc, vcpu); + svm_msr_guest_enter(vcpu); /* Update Guest RIP */ state->rip = rip; @@ -2062,32 +2049,32 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) if (vcpu_suspended(evinfo)) { enable_gintr(); - vm_exit_suspended(vm, vcpuid, state->rip); + vm_exit_suspended(vcpu->vcpu, state->rip); break; } if (vcpu_rendezvous_pending(evinfo)) { enable_gintr(); - vm_exit_rendezvous(vm, vcpuid, state->rip); + vm_exit_rendezvous(vcpu->vcpu, state->rip); break; } if (vcpu_reqidle(evinfo)) { enable_gintr(); - vm_exit_reqidle(vm, vcpuid, state->rip); + vm_exit_reqidle(vcpu->vcpu, state->rip); break; } /* We are asked to give the cpu by scheduler. */ - if (vcpu_should_yield(vm, vcpuid)) { + if (vcpu_should_yield(vcpu->vcpu)) { enable_gintr(); - vm_exit_astpending(vm, vcpuid, state->rip); + vm_exit_astpending(vcpu->vcpu, state->rip); break; } - if (vcpu_debugged(vm, vcpuid)) { + if (vcpu_debugged(vcpu->vcpu)) { enable_gintr(); - vm_exit_debug(vm, vcpuid, state->rip); + vm_exit_debug(vcpu->vcpu, state->rip); break; } @@ -2140,7 +2127,7 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) handled = svm_vmexit(svm_sc, vcpu, vmexit); } while (handled); - svm_msr_guest_exit(svm_sc, vcpu); + svm_msr_guest_exit(vcpu); return (0); } @@ -2446,7 +2433,7 @@ svm_vcpu_snapshot(void *vcpui, struct vm_snapshot_meta *meta) vcpu = vcpui; err = 0; - running = vcpu_is_running(vcpu->sc->vm, vcpu->vcpuid, &hostcpu); + running = vcpu_is_running(vcpu->vcpu, &hostcpu); if (running && hostcpu != curcpu) { printf("%s: %s%d is running", __func__, vm_name(vcpu->sc->vm), vcpu->vcpuid); @@ -2642,11 +2629,10 @@ static int svm_restore_tsc(void *vcpui, uint64_t offset) { struct svm_vcpu *vcpu = vcpui; - int err; - err = svm_set_tsc_offset(vcpu->sc, vcpu, offset); + svm_set_tsc_offset(vcpu, offset); - return (err); + return (0); } #endif diff --git a/sys/amd64/vmm/amd/svm.h b/sys/amd64/vmm/amd/svm.h index 26f4809203d7..6ad25b3cb7ce 100644 --- a/sys/amd64/vmm/amd/svm.h +++ b/sys/amd64/vmm/amd/svm.h @@ -69,8 +69,7 @@ struct svm_regctx { void svm_launch(uint64_t pa, struct svm_regctx *gctx, struct pcpu *pcpu); #ifdef BHYVE_SNAPSHOT -int svm_set_tsc_offset(struct svm_softc *sc, struct svm_vcpu *vcpu, - uint64_t offset); +void svm_set_tsc_offset(struct svm_vcpu *vcpu, uint64_t offset); #endif #endif /* _SVM_H_ */ diff --git a/sys/amd64/vmm/amd/svm_msr.c b/sys/amd64/vmm/amd/svm_msr.c index 52ff6a29f336..82d4087c32ef 100644 --- a/sys/amd64/vmm/amd/svm_msr.c +++ b/sys/amd64/vmm/amd/svm_msr.c @@ -86,7 +86,7 @@ svm_msr_guest_init(struct svm_softc *sc, struct svm_vcpu *vcpu) } void -svm_msr_guest_enter(struct svm_softc *sc, struct svm_vcpu *vcpu) +svm_msr_guest_enter(struct svm_vcpu *vcpu) { /* * Save host MSRs (if any) and restore guest MSRs (if any). @@ -94,7 +94,7 @@ svm_msr_guest_enter(struct svm_softc *sc, struct svm_vcpu *vcpu) } void -svm_msr_guest_exit(struct svm_softc *sc, struct svm_vcpu *vcpu) +svm_msr_guest_exit(struct svm_vcpu *vcpu) { /* * Save guest MSRs (if any) and restore host MSRs. @@ -108,8 +108,7 @@ svm_msr_guest_exit(struct svm_softc *sc, struct svm_vcpu *vcpu) } int -svm_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, - uint64_t *result, bool *retu) +svm_rdmsr(struct svm_vcpu *vcpu, u_int num, uint64_t *result, bool *retu) { int error = 0; @@ -142,8 +141,7 @@ svm_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, } int -svm_wrmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, uint64_t val, - bool *retu) +svm_wrmsr(struct svm_vcpu *vcpu, u_int num, uint64_t val, bool *retu) { int error = 0; @@ -175,7 +173,7 @@ svm_wrmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, uint64_t val, break; #ifdef BHYVE_SNAPSHOT case MSR_TSC: - error = svm_set_tsc_offset(sc, vcpu, val - rdtsc()); + svm_set_tsc_offset(vcpu, val - rdtsc()); break; #endif case MSR_EXTFEATURES: diff --git a/sys/amd64/vmm/amd/svm_msr.h b/sys/amd64/vmm/amd/svm_msr.h index 9e78b7f15ae8..7b3cab6e31a3 100644 --- a/sys/amd64/vmm/amd/svm_msr.h +++ b/sys/amd64/vmm/amd/svm_msr.h @@ -36,12 +36,10 @@ struct svm_vcpu; void svm_msr_init(void); void svm_msr_guest_init(struct svm_softc *sc, struct svm_vcpu *vcpu); -void svm_msr_guest_enter(struct svm_softc *sc, struct svm_vcpu *vcpu); -void svm_msr_guest_exit(struct svm_softc *sc, struct svm_vcpu *vcpu); +void svm_msr_guest_enter(struct svm_vcpu *vcpu); +void svm_msr_guest_exit(struct svm_vcpu *vcpu); -int svm_wrmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, - uint64_t val, bool *retu); -int svm_rdmsr(struct svm_softc *sc, struct svm_vcpu *vcpu, u_int num, - uint64_t *result, bool *retu); +int svm_wrmsr(struct svm_vcpu *vcpu, u_int num, uint64_t val, bool *retu); +int svm_rdmsr(struct svm_vcpu *vcpu, u_int num, uint64_t *result, bool *retu); #endif /* _SVM_MSR_H_ */ diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 57cc73633b7f..9db638fd858e 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1148,7 +1148,7 @@ vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) error += vmwrite(VMCS_EPTP, vmx->eptp); error += vmwrite(VMCS_PIN_BASED_CTLS, pinbased_ctls); error += vmwrite(VMCS_PRI_PROC_BASED_CTLS, procbased_ctls); - if (vcpu_trap_wbinvd(vmx->vm, vcpuid)) { + if (vcpu_trap_wbinvd(vcpu->vcpu)) { KASSERT(cap_wbinvd_exit, ("WBINVD trap not available")); procbased_ctls2 |= PROCBASED2_WBINVD_EXITING; } @@ -1168,7 +1168,7 @@ vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) } /* exception bitmap */ - if (vcpu_trace_exceptions(vmx->vm, vcpuid)) + if (vcpu_trace_exceptions(vcpu->vcpu)) exc_bitmap = 0xffffffff; else exc_bitmap = 1 << IDT_MC; @@ -1226,11 +1226,11 @@ vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) } static int -vmx_handle_cpuid(struct vm *vm, int vcpu, struct vmxctx *vmxctx) +vmx_handle_cpuid(struct vmx_vcpu *vcpu, struct vmxctx *vmxctx) { int handled; - handled = x86_emulate_cpuid(vm, vcpu, (uint64_t *)&vmxctx->guest_rax, + handled = x86_emulate_cpuid(vcpu->vcpu, (uint64_t *)&vmxctx->guest_rax, (uint64_t *)&vmxctx->guest_rbx, (uint64_t *)&vmxctx->guest_rcx, (uint64_t *)&vmxctx->guest_rdx); return (handled); @@ -1395,7 +1395,7 @@ vmx_clear_nmi_window_exiting(struct vmx_vcpu *vcpu) } int -vmx_set_tsc_offset(struct vmx *vmx, struct vmx_vcpu *vcpu, uint64_t offset) +vmx_set_tsc_offset(struct vmx_vcpu *vcpu, uint64_t offset) { int error; @@ -1408,7 +1408,7 @@ vmx_set_tsc_offset(struct vmx *vmx, struct vmx_vcpu *vcpu, uint64_t offset) error = vmwrite(VMCS_TSC_OFFSET, offset); #ifdef BHYVE_SNAPSHOT if (error == 0) - error = vm_set_tsc_offset(vmx->vm, vcpu->vcpuid, offset); + vm_set_tsc_offset(vcpu->vcpu, offset); #endif return (error); } @@ -1419,7 +1419,7 @@ vmx_set_tsc_offset(struct vmx *vmx, struct vmx_vcpu *vcpu, uint64_t offset) VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING) static void -vmx_inject_nmi(struct vmx *vmx, struct vmx_vcpu *vcpu) +vmx_inject_nmi(struct vmx_vcpu *vcpu) { uint32_t gi __diagused, info; @@ -1441,12 +1441,12 @@ vmx_inject_nmi(struct vmx *vmx, struct vmx_vcpu *vcpu) VMX_CTR0(vcpu, "Injecting vNMI"); /* Clear the request */ - vm_nmi_clear(vmx->vm, vcpu->vcpuid); + vm_nmi_clear(vcpu->vcpu); } static void -vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, - struct vlapic *vlapic, uint64_t guestrip) +vmx_inject_interrupts(struct vmx_vcpu *vcpu, struct vlapic *vlapic, + uint64_t guestrip) { int vector, need_nmi_exiting, extint_pending; uint64_t rflags, entryinfo; @@ -1463,7 +1463,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, } } - if (vm_entry_intinfo(vmx->vm, vcpu->vcpuid, &entryinfo)) { + if (vm_entry_intinfo(vcpu->vcpu, &entryinfo)) { KASSERT((entryinfo & VMCS_INTR_VALID) != 0, ("%s: entry " "intinfo is not valid: %#lx", __func__, entryinfo)); @@ -1488,7 +1488,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, vmcs_write(VMCS_ENTRY_INTR_INFO, info); } - if (vm_nmi_pending(vmx->vm, vcpu->vcpuid)) { + if (vm_nmi_pending(vcpu->vcpu)) { /* * If there are no conditions blocking NMI injection then * inject it directly here otherwise enable "NMI window @@ -1505,7 +1505,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, if ((gi & (HWINTR_BLOCKING | NMI_BLOCKING)) == 0) { info = vmcs_read(VMCS_ENTRY_INTR_INFO); if ((info & VMCS_INTR_VALID) == 0) { - vmx_inject_nmi(vmx, vcpu); + vmx_inject_nmi(vcpu); need_nmi_exiting = 0; } else { VMX_CTR1(vcpu, "Cannot inject NMI " @@ -1520,7 +1520,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, vmx_set_nmi_window_exiting(vcpu); } - extint_pending = vm_extint_pending(vmx->vm, vcpu->vcpuid); + extint_pending = vm_extint_pending(vcpu->vcpu); if (!extint_pending && virtual_interrupt_delivery) { vmx_inject_pir(vlapic); @@ -1553,7 +1553,7 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, ("invalid vector %d from local APIC", vector)); } else { /* Ask the legacy pic for a vector to inject */ - vatpic_pending_intr(vmx->vm, &vector); + vatpic_pending_intr(vcpu->vmx->vm, &vector); /* * From the Intel SDM, Volume 3, Section "Maskable @@ -1603,8 +1603,8 @@ vmx_inject_interrupts(struct vmx *vmx, struct vmx_vcpu *vcpu, /* Update the Local APIC ISR */ vlapic_intr_accepted(vlapic, vector); } else { - vm_extint_clear(vmx->vm, vcpu->vcpuid); - vatpic_intr_accepted(vmx->vm, vector); + vm_extint_clear(vcpu->vcpu); + vatpic_intr_accepted(vcpu->vmx->vm, vector); /* * After we accepted the current ExtINT the PIC may @@ -2319,21 +2319,20 @@ vmx_task_switch_reason(uint64_t qual) } static int -emulate_wrmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, uint64_t val, - bool *retu) +emulate_wrmsr(struct vmx_vcpu *vcpu, u_int num, uint64_t val, bool *retu) { int error; if (lapic_msr(num)) - error = lapic_wrmsr(vmx->vm, vcpu->vcpuid, num, val, retu); + error = lapic_wrmsr(vcpu->vcpu, num, val, retu); else - error = vmx_wrmsr(vmx, vcpu, num, val, retu); + error = vmx_wrmsr(vcpu, num, val, retu); return (error); } static int -emulate_rdmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, bool *retu) +emulate_rdmsr(struct vmx_vcpu *vcpu, u_int num, bool *retu) { struct vmxctx *vmxctx; uint64_t result; @@ -2341,9 +2340,9 @@ emulate_rdmsr(struct vmx *vmx, struct vmx_vcpu *vcpu, u_int num, bool *retu) int error; if (lapic_msr(num)) - error = lapic_rdmsr(vmx->vm, vcpu->vcpuid, num, &result, retu); + error = lapic_rdmsr(vcpu->vcpu, num, &result, retu); else - error = vmx_rdmsr(vmx, vcpu, num, &result, retu); + error = vmx_rdmsr(vcpu, num, &result, retu); if (error == 0) { eax = result; @@ -2415,7 +2414,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) idtvec_err = vmcs_idt_vectoring_err(); exitintinfo |= (uint64_t)idtvec_err << 32; } - error = vm_exit_intinfo(vmx->vm, vcpuid, exitintinfo); + error = vm_exit_intinfo(vcpu->vcpu, exitintinfo); KASSERT(error == 0, ("%s: vm_set_intinfo error %d", __func__, error)); @@ -2515,7 +2514,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) ecx = vmxctx->guest_rcx; VMX_CTR1(vcpu, "rdmsr 0x%08x", ecx); SDT_PROBE4(vmm, vmx, exit, rdmsr, vmx, vcpuid, vmexit, ecx); - error = emulate_rdmsr(vmx, vcpu, ecx, &retu); + error = emulate_rdmsr(vcpu, ecx, &retu); if (error) { vmexit->exitcode = VM_EXITCODE_RDMSR; vmexit->u.msr.code = ecx; @@ -2537,8 +2536,8 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) ecx, (uint64_t)edx << 32 | eax); SDT_PROBE5(vmm, vmx, exit, wrmsr, vmx, vmexit, vcpuid, ecx, (uint64_t)edx << 32 | eax); - error = emulate_wrmsr(vmx, vcpu, ecx, - (uint64_t)edx << 32 | eax, &retu); + error = emulate_wrmsr(vcpu, ecx, (uint64_t)edx << 32 | eax, + &retu); if (error) { vmexit->exitcode = VM_EXITCODE_WRMSR; vmexit->u.msr.code = ecx; @@ -2612,8 +2611,8 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) case EXIT_REASON_NMI_WINDOW: SDT_PROBE3(vmm, vmx, exit, nmiwindow, vmx, vcpuid, vmexit); /* Exit to allow the pending virtual NMI to be injected */ - if (vm_nmi_pending(vmx->vm, vcpuid)) - vmx_inject_nmi(vmx, vcpu); + if (vm_nmi_pending(vcpu->vcpu)) + vmx_inject_nmi(vcpu); vmx_clear_nmi_window_exiting(vcpu); vmm_stat_incr(vcpu->vcpu, VMEXIT_NMI_WINDOW, 1); return (1); @@ -2643,7 +2642,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) case EXIT_REASON_CPUID: vmm_stat_incr(vcpu->vcpu, VMEXIT_CPUID, 1); SDT_PROBE3(vmm, vmx, exit, cpuid, vmx, vcpuid, vmexit); - handled = vmx_handle_cpuid(vmx->vm, vcpuid, vmxctx); + handled = vmx_handle_cpuid(vcpu, vmxctx); break; case EXIT_REASON_EXCEPTION: vmm_stat_incr(vcpu->vcpu, VMEXIT_EXCEPTION, 1); @@ -2734,7 +2733,7 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) * this must be an instruction that accesses MMIO space. */ gpa = vmcs_gpa(); - if (vm_mem_allocated(vmx->vm, vcpuid, gpa) || + if (vm_mem_allocated(vcpu->vcpu, gpa) || apic_access_fault(vcpu, gpa)) { vmexit->exitcode = VM_EXITCODE_PAGING; vmexit->inst_length = 0; @@ -3012,10 +3011,9 @@ vmx_pmap_deactivate(struct vmx *vmx, pmap_t pmap) static int vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) { - int rc, handled, launched, vcpuid; + int rc, handled, launched; struct vmx *vmx; struct vmx_vcpu *vcpu; - struct vm *vm; struct vmxctx *vmxctx; struct vmcs *vmcs; struct vm_exit *vmexit; @@ -3026,18 +3024,16 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) vcpu = vcpui; vmx = vcpu->vmx; - vm = vmx->vm; - vcpuid = vcpu->vcpuid; vmcs = vcpu->vmcs; vmxctx = &vcpu->ctx; vlapic = vm_lapic(vcpu->vcpu); - vmexit = vm_exitinfo(vm, vcpuid); + vmexit = vm_exitinfo(vcpu->vcpu); launched = 0; KASSERT(vmxctx->pmap == pmap, ("pmap %p different than ctx pmap %p", pmap, vmxctx->pmap)); - vmx_msr_guest_enter(vmx, vcpu); + vmx_msr_guest_enter(vcpu); VMPTRLD(vmcs); @@ -3077,7 +3073,7 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) * pmap_invalidate_ept(). */ disable_intr(); - vmx_inject_interrupts(vmx, vcpu, vlapic, rip); + vmx_inject_interrupts(vcpu, vlapic, rip); /* * Check for vcpu suspension after injecting events because @@ -3086,33 +3082,33 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) */ if (vcpu_suspended(evinfo)) { enable_intr(); - vm_exit_suspended(vmx->vm, vcpuid, rip); + vm_exit_suspended(vcpu->vcpu, rip); break; } if (vcpu_rendezvous_pending(evinfo)) { enable_intr(); - vm_exit_rendezvous(vmx->vm, vcpuid, rip); + vm_exit_rendezvous(vcpu->vcpu, rip); break; } if (vcpu_reqidle(evinfo)) { enable_intr(); - vm_exit_reqidle(vmx->vm, vcpuid, rip); + vm_exit_reqidle(vcpu->vcpu, rip); break; } - if (vcpu_should_yield(vm, vcpuid)) { + if (vcpu_should_yield(vcpu->vcpu)) { enable_intr(); - vm_exit_astpending(vmx->vm, vcpuid, rip); + vm_exit_astpending(vcpu->vcpu, rip); vmx_astpending_trace(vcpu, rip); handled = HANDLED; break; } - if (vcpu_debugged(vm, vcpuid)) { + if (vcpu_debugged(vcpu->vcpu)) { enable_intr(); - vm_exit_debug(vmx->vm, vcpuid, rip); + vm_exit_debug(vcpu->vcpu, rip); break; } @@ -3214,7 +3210,7 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) vmexit->exitcode); VMCLEAR(vmcs); - vmx_msr_guest_exit(vmx, vcpu); + vmx_msr_guest_exit(vcpu); return (0); } @@ -3390,7 +3386,7 @@ vmx_getreg(void *vcpui, int reg, uint64_t *retval) struct vmx_vcpu *vcpu = vcpui; struct vmx *vmx = vcpu->vmx; - running = vcpu_is_running(vmx->vm, vcpu->vcpuid, &hostcpu); + running = vcpu_is_running(vcpu->vcpu, &hostcpu); if (running && hostcpu != curcpu) panic("vmx_getreg: %s%d is running", vm_name(vmx->vm), vcpu->vcpuid); @@ -3413,7 +3409,7 @@ vmx_setreg(void *vcpui, int reg, uint64_t val) struct vmx_vcpu *vcpu = vcpui; struct vmx *vmx = vcpu->vmx; - running = vcpu_is_running(vmx->vm, vcpu->vcpuid, &hostcpu); + running = vcpu_is_running(vcpu->vcpu, &hostcpu); if (running && hostcpu != curcpu) panic("vmx_setreg: %s%d is running", vm_name(vmx->vm), vcpu->vcpuid); @@ -3480,7 +3476,7 @@ vmx_getdesc(void *vcpui, int reg, struct seg_desc *desc) struct vmx_vcpu *vcpu = vcpui; struct vmx *vmx = vcpu->vmx; - running = vcpu_is_running(vmx->vm, vcpu->vcpuid, &hostcpu); + running = vcpu_is_running(vcpu->vcpu, &hostcpu); if (running && hostcpu != curcpu) panic("vmx_getdesc: %s%d is running", vm_name(vmx->vm), vcpu->vcpuid); @@ -3495,7 +3491,7 @@ vmx_setdesc(void *vcpui, int reg, struct seg_desc *desc) struct vmx_vcpu *vcpu = vcpui; struct vmx *vmx = vcpu->vmx; - running = vcpu_is_running(vmx->vm, vcpu->vcpuid, &hostcpu); + running = vcpu_is_running(vcpu->vcpu, &hostcpu); if (running && hostcpu != curcpu) panic("vmx_setdesc: %s%d is running", vm_name(vmx->vm), vcpu->vcpuid); @@ -3806,7 +3802,7 @@ vmx_pending_intr(struct vlapic *vlapic, int *vecptr) struct vm_exit *vmexit; uint8_t rvi, ppr; - vmexit = vm_exitinfo(vlapic->vm, vlapic->vcpuid); + vmexit = vm_exitinfo(vlapic->vcpu); KASSERT(vmexit->exitcode == VM_EXITCODE_HLT, ("vmx_pending_intr: exitcode not 'HLT'")); rvi = vmexit->u.hlt.intr_status & APIC_TPR_INT; @@ -3875,7 +3871,7 @@ vmx_set_tmr(struct vlapic *vlapic, int vector, bool level) *** 608 LINES SKIPPED *** From nobody Thu Jan 26 22:11:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0r3ntSz3c8Sg; Thu, 26 Jan 2023 22: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 4P2w0r2rJ8z3vyb; Thu, 26 Jan 2023 22: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=1674771116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lln3ij59o2PeZXb1EzWTJdlY9z2Z4IRI7v69BmNOuYA=; b=xk+3312T79xpbId4k9XVwg7Bm6uVJ3/pCwBxh4D7Tw340uisHUH1twW6Pc3vrSV9DK32+d Ow2FNCItsfHecfRkc1k+9woJyKZ1SXSzNHzW4SORkRp4QmOk+ffX/3ASOknv9NkFwN6oZu R5GQxhEi4AuaDWgnWLxDDDxTYh2x4BbTMENSLtbU6ZJalESxFagiNFYSs2rGBiKFKgoNY3 TGNte1gRB1vWS0VH0wOI9QWtxYLPt9PW3QAtCiBYqtB268JRi5JAyNsGl0KGu6+FeJtNnM /t/iCz9CiVPH0rTcRf6B+XXgl68PnueGZ71pzt/yj7wDzDrNT9PikMKSf4Sukg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lln3ij59o2PeZXb1EzWTJdlY9z2Z4IRI7v69BmNOuYA=; b=ZlpmlWrgIl8hb6qZw+zHAoYtGKIR4YcU3Za5QED69BHoMGUR4XyXL8uSf4PhqAYkK9bC35 uB6vFM5t1wCL4WOWVKc5StvLu88Yg3qSrUyW5A3b+LAY5AbXqJ78SVVhKNHjWwvMkY5NY6 ZsmVMnv6E8HEw6JNd//C0UBhfAUBkea5DBt/rj80VOwJUfe3nE0R7dd5VL85mzUhiLqbYO wZkXclLlWoPeNK4IiMuzdJWCCjP0H286miaQTCOjQCZAJ7QHBdg2Lxz8XQ9cR+jjeXufEb pqJ1rta5DYBhmRkLkolVkDlrlrPrJ4zmLYUzCXkyKRDj4PcouZSBhkqMrvMQtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771116; a=rsa-sha256; cv=none; b=ZvJF2ZbY79XHavlm2O2JQuRQlDZBi1obS9Pi8NNuXxwWnr8pKnansCdxsxDcgw19ZaJ/I1 fcN+cMmQ8xnUMFMk23AQ7PQuWJJ5C0Dj5Stx6MyRPfnJOLU1SlY5oGIMBau6wDbr6LQEWU m7VDWAZkxJYZRCdNwCoLhqGSnbVIQ36bwb0vN+rjPCDdNNb899w10DwTcu4hk/W103tKwV EVYBre9pH4WtWSsl999U6EAAqit/edOwpjlKcb7YORKKmNe6ghVLHSWxBqZgaa+m3jzRkf +E/jo+R8uGyJTJcHTlKsv6U1osM4cL+4/W8gldkfdqDHBPzJxuyU+jA+FFPeYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0r1mCszm5c; Thu, 26 Jan 2023 22:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBuH9021997; Thu, 26 Jan 2023 22:11:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBuL3021996; Thu, 26 Jan 2023 22:11:56 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:56 GMT Message-Id: <202301262211.30QMBuL3021996@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 63f32b7af988 - stable/13 - vmm: Restore the correct vm_inject_*() prototypes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 63f32b7af988e094ae38d23f776633a7e31d8a5d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=63f32b7af988e094ae38d23f776633a7e31d8a5d commit 63f32b7af988e094ae38d23f776633a7e31d8a5d Author: Mark Johnston AuthorDate: 2022-11-18 19:11:21 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:00:48 +0000 vmm: Restore the correct vm_inject_*() prototypes Fixes: 80cb5d845b8f ("vmm: Pass vcpu instead of vm and vcpuid...") Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D37443 (cherry picked from commit ca6b48f08034114edf1fa19cdc088021af2eddf3) --- sys/amd64/include/vmm.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 7c9393128df0..dd1bae47fc41 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -791,27 +791,27 @@ void vm_inject_fault(void *vm, int vcpuid, int vector, int errcode_valid, int errcode); static __inline void -vm_inject_ud(struct vcpu *vcpu) +vm_inject_ud(void *vm, int vcpuid) { - vm_inject_fault(vcpu, IDT_UD, 0, 0); + vm_inject_fault(vm, vcpuid, IDT_UD, 0, 0); } static __inline void -vm_inject_gp(struct vcpu *vcpu) +vm_inject_gp(void *vm, int vcpuid) { - vm_inject_fault(vcpu, IDT_GP, 1, 0); + vm_inject_fault(vm, vcpuid, IDT_GP, 1, 0); } static __inline void -vm_inject_ac(struct vcpu *vcpu, int errcode) +vm_inject_ac(void *vm, int vcpuid, int errcode) { - vm_inject_fault(vcpu, IDT_AC, 1, errcode); + vm_inject_fault(vm, vcpuid, IDT_AC, 1, errcode); } static __inline void -vm_inject_ss(struct vcpu *vcpu, int errcode) +vm_inject_ss(void *vm, int vcpuid, int errcode) { - vm_inject_fault(vcpu, IDT_SS, 1, errcode); + vm_inject_fault(vm, vcpuid, IDT_SS, 1, errcode); } void vm_inject_pf(void *vm, int vcpuid, int error_code, uint64_t cr2); From nobody Thu Jan 26 22:11:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0s5Kvjz3c8MR; Thu, 26 Jan 2023 22: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 4P2w0s47Drz3w4h; Thu, 26 Jan 2023 22: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=1674771117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WcF5Tnoa4E6E0ju8aVQlRn+mdzy08RBjiPmck3VOrcE=; b=S3knleoPEyQ6SSI1fpMYiPx+JosDRKdGEOVXaXZMVpWJ63s1aQiLRy7aOaSBcvAM4P8uJC nCsuxNfFYpUmLBSwePX3yuDjcW3hRt3P61rCEZPVwew4G6UJ3u+ouVKPzGLFlJNNs1Niq3 EMRqBpj5sm93z+pilaNTF14WBJLSom/UVRIxfJsJrQ6zwsbeI6tMmqtNnxoYikL3Fph8EG FfPr4/ioe9yCa7I0rw3XYn+4FZ+X+4LRsUpQXbDfPfLVJQM+NChI6JxoUCIur0ZHT/MtiO 5gqh9AO7bPy/FWxpvH5GnIswco7+t5TBF2qib5tKGRhN6223t0Dyu3BSknUrrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WcF5Tnoa4E6E0ju8aVQlRn+mdzy08RBjiPmck3VOrcE=; b=g2Q0OCJ8ekxBhqhwaiklEZqfK51961g1bv7ckZrTbmjfPMOgZDI528DAiBK/wr62y4ZR2v ZHcIS6cvQa24VOWuWQjbtN4bgs3yb+hMYEvJHs2Mj4kDETE8JSH2FD2Kg6j6AnkB5fRnLs fUbr7cVxJtBz6hmD4fDtJuXss6WalPTf3pfwQ0AYAA7khos+zZjPViUiIjBs7ZLdDHDd9I wUuEL7WdPmL37plhdpIEM4HZhajkx7a56ag4/LkEqFX5LL52HquXgH0SO2u64KMRa96Kv5 uBsIy642/5SLkGdsXA5HZCifJoDpQ3GPqUzsmpDh3Dfqz2WMInxPfvEMANBosg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771117; a=rsa-sha256; cv=none; b=A4+KgZpP+V+txgL3e6GzpJQh2afckwU8I7TCAQNqzUOXkpsPRctdjRVhbmGlvGCE3KBZ9W i2pV/g7w9F221Bu1LRZxzzHILgTG1M6D66oWylusfrw4iNexjf3NOM2TEJIpRUQyay6zrF Nf7tYj7pL6BcxMSDQj3Fo+juRvWdr7nbfsNxvHv4s/pht0RsHfTjMJIlcuZRGi4lW8MYSM obf0aqntKMcIFz07nZ8gfJFyOigpyStONkLu9icCzIrI3XRgfm0XXsYCfQ2tE6DS0zlHEb x6vmK9+cEpKYiNif8kV4gR1N8Mtt2/1asxTbVF8/Z2DXJiT+CxqHSTQZwFgD8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0s2dZJzlmC; Thu, 26 Jan 2023 22:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBv1p022028; Thu, 26 Jan 2023 22:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBviG022027; Thu, 26 Jan 2023 22:11:57 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:57 GMT Message-Id: <202301262211.30QMBviG022027@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 88c217560ee4 - stable/13 - vmm: Remove vcpuid from I/O port handlers. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 88c217560ee451bdc0b9ade02167cfa50a53012c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=88c217560ee451bdc0b9ade02167cfa50a53012c commit 88c217560ee451bdc0b9ade02167cfa50a53012c Author: John Baldwin AuthorDate: 2022-11-18 18:03:14 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:01:56 +0000 vmm: Remove vcpuid from I/O port handlers. No I/O ports are vCPU-specific (unlike memory which does have vCPU-specific ranges such as the local APIC). Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37163 (cherry picked from commit 9388bc1e3a58ac17c06e690fb9f46c9f36098f2d) --- sys/amd64/vmm/io/vatpic.c | 6 +++--- sys/amd64/vmm/io/vatpic.h | 10 +++++----- sys/amd64/vmm/io/vatpit.c | 5 ++--- sys/amd64/vmm/io/vatpit.h | 5 ++--- sys/amd64/vmm/io/vpmtmr.c | 3 +-- sys/amd64/vmm/io/vpmtmr.h | 3 +-- sys/amd64/vmm/io/vrtc.c | 18 ++++++++---------- sys/amd64/vmm/io/vrtc.h | 4 ++-- sys/amd64/vmm/vmm_ioport.c | 4 ++-- sys/amd64/vmm/vmm_ioport.h | 2 +- 10 files changed, 27 insertions(+), 33 deletions(-) diff --git a/sys/amd64/vmm/io/vatpic.c b/sys/amd64/vmm/io/vatpic.c index de34b82c0cff..1d4ccfb9d0ca 100644 --- a/sys/amd64/vmm/io/vatpic.c +++ b/sys/amd64/vmm/io/vatpic.c @@ -712,7 +712,7 @@ vatpic_write(struct vatpic *vatpic, struct atpic *atpic, bool in, int port, } int -vatpic_master_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +vatpic_master_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax) { struct vatpic *vatpic; @@ -732,7 +732,7 @@ vatpic_master_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, } int -vatpic_slave_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +vatpic_slave_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax) { struct vatpic *vatpic; @@ -752,7 +752,7 @@ vatpic_slave_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, } int -vatpic_elc_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +vatpic_elc_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax) { struct vatpic *vatpic; diff --git a/sys/amd64/vmm/io/vatpic.h b/sys/amd64/vmm/io/vatpic.h index 8990a2a5fcb0..bf46278f5b0d 100644 --- a/sys/amd64/vmm/io/vatpic.h +++ b/sys/amd64/vmm/io/vatpic.h @@ -41,11 +41,11 @@ struct vm_snapshot_meta; struct vatpic *vatpic_init(struct vm *vm); void vatpic_cleanup(struct vatpic *vatpic); -int vatpic_master_handler(struct vm *vm, int vcpuid, bool in, int port, - int bytes, uint32_t *eax); -int vatpic_slave_handler(struct vm *vm, int vcpuid, bool in, int port, - int bytes, uint32_t *eax); -int vatpic_elc_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +int vatpic_master_handler(struct vm *vm, bool in, int port, int bytes, + uint32_t *eax); +int vatpic_slave_handler(struct vm *vm, bool in, int port, int bytes, + uint32_t *eax); +int vatpic_elc_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax); int vatpic_assert_irq(struct vm *vm, int irq); diff --git a/sys/amd64/vmm/io/vatpit.c b/sys/amd64/vmm/io/vatpit.c index 27bbf227cbbb..7626b4dc4cc2 100644 --- a/sys/amd64/vmm/io/vatpit.c +++ b/sys/amd64/vmm/io/vatpit.c @@ -336,8 +336,7 @@ vatpit_update_mode(struct vatpit *vatpit, uint8_t val) } int -vatpit_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, - uint32_t *eax) +vatpit_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax) { struct vatpit *vatpit; struct channel *c; @@ -419,7 +418,7 @@ vatpit_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, } int -vatpit_nmisc_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +vatpit_nmisc_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax) { struct vatpit *vatpit; diff --git a/sys/amd64/vmm/io/vatpit.h b/sys/amd64/vmm/io/vatpit.h index 65e06ec9bf58..96ed9c231420 100644 --- a/sys/amd64/vmm/io/vatpit.h +++ b/sys/amd64/vmm/io/vatpit.h @@ -41,10 +41,9 @@ struct vm_snapshot_meta; struct vatpit *vatpit_init(struct vm *vm); void vatpit_cleanup(struct vatpit *vatpit); -int vatpit_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +int vatpit_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax); +int vatpit_nmisc_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax); -int vatpit_nmisc_handler(struct vm *vm, int vcpuid, bool in, int port, - int bytes, uint32_t *eax); #ifdef BHYVE_SNAPSHOT int vatpit_snapshot(struct vatpit *vatpit, struct vm_snapshot_meta *meta); #endif diff --git a/sys/amd64/vmm/io/vpmtmr.c b/sys/amd64/vmm/io/vpmtmr.c index f79e94f6d0fe..825d0151c333 100644 --- a/sys/amd64/vmm/io/vpmtmr.c +++ b/sys/amd64/vmm/io/vpmtmr.c @@ -83,8 +83,7 @@ vpmtmr_cleanup(struct vpmtmr *vpmtmr) } int -vpmtmr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, - uint32_t *val) +vpmtmr_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *val) { struct vpmtmr *vpmtmr; sbintime_t now, delta; diff --git a/sys/amd64/vmm/io/vpmtmr.h b/sys/amd64/vmm/io/vpmtmr.h index a10c0b4e8309..4ad5efcf2034 100644 --- a/sys/amd64/vmm/io/vpmtmr.h +++ b/sys/amd64/vmm/io/vpmtmr.h @@ -39,8 +39,7 @@ struct vm_snapshot_meta; struct vpmtmr *vpmtmr_init(struct vm *vm); void vpmtmr_cleanup(struct vpmtmr *pmtmr); -int vpmtmr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, - uint32_t *val); +int vpmtmr_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *val); #ifdef BHYVE_SNAPSHOT int vpmtmr_snapshot(struct vpmtmr *vpmtmr, struct vm_snapshot_meta *meta); diff --git a/sys/amd64/vmm/io/vrtc.c b/sys/amd64/vmm/io/vrtc.c index 65b2cd2cb39f..d950bd68ad04 100644 --- a/sys/amd64/vmm/io/vrtc.c +++ b/sys/amd64/vmm/io/vrtc.c @@ -844,8 +844,7 @@ vrtc_nvram_read(struct vm *vm, int offset, uint8_t *retval) } int -vrtc_addr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, - uint32_t *val) +vrtc_addr_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *val) { struct vrtc *vrtc; @@ -867,8 +866,7 @@ vrtc_addr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, } int -vrtc_data_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, - uint32_t *val) +vrtc_data_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *val) { struct vrtc *vrtc; struct rtcdev *rtc; @@ -915,24 +913,24 @@ vrtc_data_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, } else { *val = *((uint8_t *)rtc + offset); } - VCPU_CTR2(vm, vcpuid, "Read value %#x from RTC offset %#x", + VM_CTR2(vm, "Read value %#x from RTC offset %#x", *val, offset); } else { switch (offset) { case 10: - VCPU_CTR1(vm, vcpuid, "RTC reg_a set to %#x", *val); + VM_CTR1(vm, "RTC reg_a set to %#x", *val); vrtc_set_reg_a(vrtc, *val); break; case 11: - VCPU_CTR1(vm, vcpuid, "RTC reg_b set to %#x", *val); + VM_CTR1(vm, "RTC reg_b set to %#x", *val); error = vrtc_set_reg_b(vrtc, *val); break; case 12: - VCPU_CTR1(vm, vcpuid, "RTC reg_c set to %#x (ignored)", + VM_CTR1(vm, "RTC reg_c set to %#x (ignored)", *val); break; case 13: - VCPU_CTR1(vm, vcpuid, "RTC reg_d set to %#x (ignored)", + VM_CTR1(vm, "RTC reg_d set to %#x (ignored)", *val); break; case 0: @@ -942,7 +940,7 @@ vrtc_data_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, *val &= 0x7f; /* FALLTHRU */ default: - VCPU_CTR2(vm, vcpuid, "RTC offset %#x set to %#x", + VM_CTR2(vm, "RTC offset %#x set to %#x", offset, *val); *((uint8_t *)rtc + offset) = *val; break; diff --git a/sys/amd64/vmm/io/vrtc.h b/sys/amd64/vmm/io/vrtc.h index 791fb7db3e26..0f11b8d5fc53 100644 --- a/sys/amd64/vmm/io/vrtc.h +++ b/sys/amd64/vmm/io/vrtc.h @@ -45,9 +45,9 @@ int vrtc_set_time(struct vm *vm, time_t secs); int vrtc_nvram_write(struct vm *vm, int offset, uint8_t value); int vrtc_nvram_read(struct vm *vm, int offset, uint8_t *retval); -int vrtc_addr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +int vrtc_addr_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *val); -int vrtc_data_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, +int vrtc_data_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *val); #ifdef BHYVE_SNAPSHOT diff --git a/sys/amd64/vmm/vmm_ioport.c b/sys/amd64/vmm/vmm_ioport.c index 601a2e18f745..50c02378a4c5 100644 --- a/sys/amd64/vmm/vmm_ioport.c +++ b/sys/amd64/vmm/vmm_ioport.c @@ -122,8 +122,8 @@ emulate_inout_port(struct vm *vm, int vcpuid, struct vm_exit *vmexit, val = vmexit->u.inout.eax & mask; } - error = (*handler)(vm, vcpuid, vmexit->u.inout.in, - vmexit->u.inout.port, vmexit->u.inout.bytes, &val); + error = (*handler)(vm, vmexit->u.inout.in, vmexit->u.inout.port, + vmexit->u.inout.bytes, &val); if (error) { /* * The value returned by this function is also the return value diff --git a/sys/amd64/vmm/vmm_ioport.h b/sys/amd64/vmm/vmm_ioport.h index 14e315f400ce..fd20ecfd5e94 100644 --- a/sys/amd64/vmm/vmm_ioport.h +++ b/sys/amd64/vmm/vmm_ioport.h @@ -31,7 +31,7 @@ #ifndef _VMM_IOPORT_H_ #define _VMM_IOPORT_H_ -typedef int (*ioport_handler_func_t)(struct vm *vm, int vcpuid, +typedef int (*ioport_handler_func_t)(struct vm *vm, bool in, int port, int bytes, uint32_t *val); int vm_handle_inout(struct vm *vm, int vcpuid, struct vm_exit *vme, bool *retu); From nobody Thu Jan 26 22:11:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0t67Dlz3c8KQ; Thu, 26 Jan 2023 22: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 4P2w0t4wXxz3w2s; Thu, 26 Jan 2023 22:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XkZaHgElRXOlXftnCfomhBSKnFUXgZLVAZ9fypDGUIc=; b=jqVJt1wB2sphEd/kR3FGK9QjokbWnUEXSk0iFBj5KTCoVU4OJme3cRDzQB6uW/MF4tuZrm 4OUzQDDY9ThXEtWSdOlIKToG428ZTwJsHKwWXDy205E/M6ZMY9kY0p0TJ4lbhKiCfGJHTd tJcbqlYBatqP1tWSx63So7SgXTylQHNRZiHkKgwTv9tGOZ4feuTngFK2UG1G1uboZEhwil xCwqGEXDvtcNYFfG6SWX94BGNn+bwDHezpZh5nym9sBtnCkLqd2vWxxN6YMcf0BPZdu6OY fJ0A0GzdjweMrGuTU3b5MLES7GFbCeIUav0UQFSOGBoG/7kI5OXOx3xotf95Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XkZaHgElRXOlXftnCfomhBSKnFUXgZLVAZ9fypDGUIc=; b=i0eSzQuOyLV05nBGknE8p6Nxo3CkZ/59RsgtGo5eJGTab4eDFANHiAs8XA4hfF+s+hvM4L EUutn9c5+N9+M09dWmEa1km9ZYSSbt8Lu/qSYGyUVy7THGCmFViBB5Sp1q8a3Aa9Hmn/JF D/NLKkLrGkGpYhPHlRpFl6m5xGOflCZBopk0T4ERVJD+gq4p+G+f+gkrIvtp+PDwNGHlbj cq3Bj2n3vDaDmDU+AOaH/J4mPTIPzSAVyG0JiRWlsLWnT350PFBzJc6UK3nd/bnB7c1FxH nhr/ZXjCtOmj5AqMLwyz8zBaOEWNZhiEdNLd0/eNAzJQMf1QhikGwi0dOS9xZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771118; a=rsa-sha256; cv=none; b=hX1kJbnDo2l5BhXfkf/ckBkeN7RSOyENO//4SPGL44imWtkZsX9YbyQVds//Yn3oyp1E0p wnV+SbDkDX/6eVmfcNQBSF0KCv9ZYtUsMuEQ9RT4Fz+76z56Eds4qLz7YTDDSrtLD8TTtb JC92+zjFPBbmfUHjDwnWTJFOkf0BCdnAL1a5WPEHwr+1Hp0EkNFNX71QDdfy1oQWdJw+HT fU94UJdoPR+/K0O2X4O2TvC/EiP0v0IWb2oL7zkAnP/w7pTc6pyJu81ODeu5pHQwrrHYZR PkzPkLFOjMRmKjiCuiRiRAizYkqhwBgTXDLRkwLiPZC3hB+ofxZlHAaeHm4KKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0t3dx1zlxr; Thu, 26 Jan 2023 22:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBwSV022055; Thu, 26 Jan 2023 22:11:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBwYO022054; Thu, 26 Jan 2023 22:11:58 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:58 GMT Message-Id: <202301262211.30QMBwYO022054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 6325451815cd - stable/13 - vmm: Remove support for vm_rendezvous with a cpuid of -1. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6325451815cdb3f4c551002f7f02bcce193e3422 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6325451815cdb3f4c551002f7f02bcce193e3422 commit 6325451815cdb3f4c551002f7f02bcce193e3422 Author: John Baldwin AuthorDate: 2022-11-18 18:03:23 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:02:10 +0000 vmm: Remove support for vm_rendezvous with a cpuid of -1. This is not currently used. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37164 (cherry picked from commit 949f0f47a4e774fea7222923440851c612a3f6fa) --- sys/amd64/vmm/vmm.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index d71ebcc116b0..f92b89bbb732 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1319,21 +1319,13 @@ vcpu_require_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate) panic("Error %d setting state to %d", error, newstate); } -#define RENDEZVOUS_CTR0(vm, vcpuid, fmt) \ - do { \ - if (vcpuid >= 0) \ - VCPU_CTR0(vm, vcpuid, fmt); \ - else \ - VM_CTR0(vm, fmt); \ - } while (0) - static int vm_handle_rendezvous(struct vm *vm, int vcpuid) { struct thread *td; int error; - KASSERT(vcpuid == -1 || (vcpuid >= 0 && vcpuid < vm->maxcpus), + KASSERT(vcpuid >= 0 && vcpuid < vm->maxcpus, ("vm_handle_rendezvous: invalid vcpuid %d", vcpuid)); error = 0; @@ -1343,8 +1335,7 @@ vm_handle_rendezvous(struct vm *vm, int vcpuid) /* 'rendezvous_req_cpus' must be a subset of 'active_cpus' */ CPU_AND(&vm->rendezvous_req_cpus, &vm->rendezvous_req_cpus, &vm->active_cpus); - if (vcpuid != -1 && - CPU_ISSET(vcpuid, &vm->rendezvous_req_cpus) && + if (CPU_ISSET(vcpuid, &vm->rendezvous_req_cpus) && !CPU_ISSET(vcpuid, &vm->rendezvous_done_cpus)) { VCPU_CTR0(vm, vcpuid, "Calling rendezvous func"); (*vm->rendezvous_func)(vm, vcpuid, vm->rendezvous_arg); @@ -1357,7 +1348,7 @@ vm_handle_rendezvous(struct vm *vm, int vcpuid) wakeup(&vm->rendezvous_func); break; } - RENDEZVOUS_CTR0(vm, vcpuid, "Wait for rendezvous completion"); + VCPU_CTR0(vm, vcpuid, "Wait for rendezvous completion"); mtx_sleep(&vm->rendezvous_func, &vm->rendezvous_mtx, 0, "vmrndv", hz); if ((td->td_flags & TDF_NEEDSUSPCHK) != 0) { @@ -2579,7 +2570,7 @@ vm_smp_rendezvous(struct vm *vm, int vcpuid, cpuset_t dest, * Enforce that this function is called without any locks */ WITNESS_WARN(WARN_PANIC, NULL, "vm_smp_rendezvous"); - KASSERT(vcpuid == -1 || (vcpuid >= 0 && vcpuid < vm->maxcpus), + KASSERT(vcpuid >= 0 && vcpuid < vm->maxcpus, ("vm_smp_rendezvous: invalid vcpuid %d", vcpuid)); restart: @@ -2590,7 +2581,7 @@ restart: * call the rendezvous handler in case this 'vcpuid' is one * of the targets of the rendezvous. */ - RENDEZVOUS_CTR0(vm, vcpuid, "Rendezvous already in progress"); + VCPU_CTR0(vm, vcpuid, "Rendezvous already in progress"); mtx_unlock(&vm->rendezvous_mtx); error = vm_handle_rendezvous(vm, vcpuid); if (error != 0) @@ -2600,7 +2591,7 @@ restart: KASSERT(vm->rendezvous_func == NULL, ("vm_smp_rendezvous: previous " "rendezvous is still in progress")); - RENDEZVOUS_CTR0(vm, vcpuid, "Initiating rendezvous"); + VCPU_CTR0(vm, vcpuid, "Initiating rendezvous"); vm->rendezvous_req_cpus = dest; CPU_ZERO(&vm->rendezvous_done_cpus); vm->rendezvous_arg = arg; From nobody Thu Jan 26 22:11:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0w0X7Gz3c8KX; Thu, 26 Jan 2023 22: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 4P2w0v63Lbz3vtt; Thu, 26 Jan 2023 22: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=1674771119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mK8clAXT6fg+JeyUkp+8pKys+BRl3+ysRwNWM6YIMpc=; b=wq2QUrNubvrpGBTq85ePCXnoXrPikeFlBrQFVNI53dixoAAGP0zsAOe9UyjkjbsA7usvk/ Xt4KLT24DbmCxVXJlDegRzGwd6yjb3wAWzWTiTDGXVD5jB/4abj8T3b+94uoWQKDTYcSHd 1FIDOVhP9W8qcRvVoj/DLQKbDI5P/9l0OW5yq9h83FpvyKFCZl8hLUlOIWoFMgg6yJJrw2 mHmPV0eFfcjPVt9OZ8ZAuc+7oU1EGvVz0ho2D+kaNC8cBoEmAjC56R4t2YrMl/OEZq2/YL ft26gW//odl1dRwZ1eIhKwv+fFWvRptlBIIlOEdsASjFOt6NG/2IQXUcrPzS5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mK8clAXT6fg+JeyUkp+8pKys+BRl3+ysRwNWM6YIMpc=; b=WHbwbXZmunQdwz/K52/rXH5XbFyfhEuATJkt/NljJPKdx4nKSllRq8blOQQhrW3BqZGhuD gdEvGGEN9ociT19ZJyjBNufG6EdI1bT8sJ6WLoA7II+zuUG5syTRY2jR4maQSuQlzc38YK YgowSk4FugXzJMyJqaXanRxhuv0XLAtLcd48MCdJIjG1fC8CQyRA6VrIrd8GFjaUwcPkWW aj9u/ftovD1TOddqdPQDE5mRVmGuEfkgYJoK801kyre86XbQSTWCq+BeWMgbed1UKMBpXE 18Ffeag7UZ0v/mDDTHFghr0R6mfqUVg7Oe1JwSIw/QOwxEce8jZVqF7VpSe7qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771119; a=rsa-sha256; cv=none; b=t5OuwURWTtuiBEPKeu05401Ct9Rti6svv8bProUnRiUZ7pL5j1A2iSYKSd+kp2vZx7R284 2gmwGHWKh2X6i7AXGY0nsD2o43UAKUaQpqb9WWQ81noUbkHCghrzGJ1eT+z/2Bpo6zszWD Kusb5tj+O0E99JLqFDBgucb4DnBk7oOAFgMrLZpweyVn8kX0mjFM9Yldjj0wEFyuJ7iKnE LNyPa2OE42phcCh3R8daSyrnQZWLytBXTLO1rzlh+jLVReq8PTHBV3mdW0HLV3Jto22zoI eNAIf4dvuFS9isUcg4PkmtqJzvguxz9bo8hSTzoKUdiH2HGliumvI4KT8+9D3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0v4hTPzm5d; Thu, 26 Jan 2023 22:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMBxsN022079; Thu, 26 Jan 2023 22:11:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMBxKp022078; Thu, 26 Jan 2023 22:11:59 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:11:59 GMT Message-Id: <202301262211.30QMBxKp022078@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 67ade508ce0a - stable/13 - vmm: Use struct vcpu in the rendezvous code. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 67ade508ce0a64692dcf7a37b7fd3fb4dd25970e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=67ade508ce0a64692dcf7a37b7fd3fb4dd25970e commit 67ade508ce0a64692dcf7a37b7fd3fb4dd25970e Author: John Baldwin AuthorDate: 2022-11-18 18:03:34 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:02:21 +0000 vmm: Use struct vcpu in the rendezvous code. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37165 (cherry picked from commit d8be3d523dd50a17f48957c1bb2e0cd7bbf02cab) --- sys/amd64/include/vmm.h | 4 ++-- sys/amd64/vmm/io/vioapic.c | 11 +++++------ sys/amd64/vmm/io/vlapic.c | 10 +++++----- sys/amd64/vmm/io/vlapic.h | 2 +- sys/amd64/vmm/vmm.c | 36 +++++++++++++++++------------------- 5 files changed, 30 insertions(+), 33 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index dd1bae47fc41..b8f641910e4f 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -313,8 +313,8 @@ int vm_restore_time(struct vm *vm); * by 'dest' to be stalled. The caller should not rely on any vcpus making * forward progress when the rendezvous is in progress. */ -typedef void (*vm_rendezvous_func_t)(struct vm *vm, int vcpuid, void *arg); -int vm_smp_rendezvous(struct vm *vm, int vcpuid, cpuset_t dest, +typedef void (*vm_rendezvous_func_t)(struct vcpu *vcpu, void *arg); +int vm_smp_rendezvous(struct vcpu *vcpu, cpuset_t dest, vm_rendezvous_func_t func, void *arg); cpuset_t vm_active_cpus(struct vm *vm); cpuset_t vm_debug_cpus(struct vm *vm); diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index 66a394af0d00..aee58849dd7d 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -237,7 +237,7 @@ vioapic_pulse_irq(struct vm *vm, int irq) * configuration. */ static void -vioapic_update_tmr(struct vm *vm, int vcpuid, void *arg) +vioapic_update_tmr(struct vcpu *vcpu, void *arg) { struct vioapic *vioapic; struct vlapic *vlapic; @@ -245,8 +245,8 @@ vioapic_update_tmr(struct vm *vm, int vcpuid, void *arg) int delmode, pin, vector; bool level, phys; - vlapic = vm_lapic(vm_vcpu(vm, vcpuid)); - vioapic = vm_ioapic(vm); + vlapic = vm_lapic(vcpu); + vioapic = vm_ioapic(vcpu_vm(vcpu)); VIOAPIC_LOCK(vioapic); /* @@ -317,10 +317,9 @@ vioapic_write(struct vioapic *vioapic, struct vcpu *vcpu, uint32_t addr, { uint64_t data64, mask64; uint64_t last, changed; - int regnum, pin, lshift, vcpuid; + int regnum, pin, lshift; cpuset_t allvcpus; - vcpuid = vcpu_vcpuid(vcpu); regnum = addr & 0xff; switch (regnum) { case IOAPIC_ID: @@ -374,7 +373,7 @@ vioapic_write(struct vioapic *vioapic, struct vcpu *vcpu, uint32_t addr, "vlapic trigger-mode register", pin); VIOAPIC_UNLOCK(vioapic); allvcpus = vm_active_cpus(vioapic->vm); - (void)vm_smp_rendezvous(vioapic->vm, vcpuid, allvcpus, + (void)vm_smp_rendezvous(vcpu, allvcpus, vioapic_update_tmr, NULL); VIOAPIC_LOCK(vioapic); } diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 5075336e54bf..67a09401efb1 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1200,9 +1200,9 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) } static void -vlapic_handle_init(struct vm *vm, int vcpuid, void *arg) +vlapic_handle_init(struct vcpu *vcpu, void *arg) { - struct vlapic *vlapic = vm_lapic(vm_vcpu(vm, vcpuid)); + struct vlapic *vlapic = vm_lapic(vcpu); vlapic_reset(vlapic); @@ -1211,13 +1211,13 @@ vlapic_handle_init(struct vm *vm, int vcpuid, void *arg) } int -vm_handle_ipi(struct vm *vm, int vcpuid, struct vm_exit *vme, bool *retu) +vm_handle_ipi(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) { *retu = true; switch (vme->u.ipi.mode) { case APIC_DELMODE_INIT: - vm_smp_rendezvous(vm, vcpuid, vme->u.ipi.dmask, - vlapic_handle_init, NULL); + vm_smp_rendezvous(vcpu, vme->u.ipi.dmask, vlapic_handle_init, + NULL); break; case APIC_DELMODE_STARTUP: break; diff --git a/sys/amd64/vmm/io/vlapic.h b/sys/amd64/vmm/io/vlapic.h index f8ac42fc7514..f6dd9493a5eb 100644 --- a/sys/amd64/vmm/io/vlapic.h +++ b/sys/amd64/vmm/io/vlapic.h @@ -115,6 +115,6 @@ void vlapic_self_ipi_handler(struct vlapic *vlapic, uint64_t val); int vlapic_snapshot(struct vm *vm, struct vm_snapshot_meta *meta); #endif -int vm_handle_ipi(struct vm *vm, int vcpuid, struct vm_exit *vme, bool *retu); +int vm_handle_ipi(struct vcpu *vcpu, struct vm_exit *vme, bool *retu); #endif /* _VLAPIC_H_ */ diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index f92b89bbb732..1c4157c534a0 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1320,15 +1320,14 @@ vcpu_require_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate) } static int -vm_handle_rendezvous(struct vm *vm, int vcpuid) +vm_handle_rendezvous(struct vcpu *vcpu) { + struct vm *vm = vcpu->vm; struct thread *td; - int error; - - KASSERT(vcpuid >= 0 && vcpuid < vm->maxcpus, - ("vm_handle_rendezvous: invalid vcpuid %d", vcpuid)); + int error, vcpuid; error = 0; + vcpuid = vcpu->vcpuid; td = curthread; mtx_lock(&vm->rendezvous_mtx); while (vm->rendezvous_func != NULL) { @@ -1337,18 +1336,18 @@ vm_handle_rendezvous(struct vm *vm, int vcpuid) if (CPU_ISSET(vcpuid, &vm->rendezvous_req_cpus) && !CPU_ISSET(vcpuid, &vm->rendezvous_done_cpus)) { - VCPU_CTR0(vm, vcpuid, "Calling rendezvous func"); - (*vm->rendezvous_func)(vm, vcpuid, vm->rendezvous_arg); + VMM_CTR0(vcpu, "Calling rendezvous func"); + (*vm->rendezvous_func)(vcpu, vm->rendezvous_arg); CPU_SET(vcpuid, &vm->rendezvous_done_cpus); } if (CPU_CMP(&vm->rendezvous_req_cpus, &vm->rendezvous_done_cpus) == 0) { - VCPU_CTR0(vm, vcpuid, "Rendezvous completed"); + VMM_CTR0(vcpu, "Rendezvous completed"); vm->rendezvous_func = NULL; wakeup(&vm->rendezvous_func); break; } - VCPU_CTR0(vm, vcpuid, "Wait for rendezvous completion"); + VMM_CTR0(vcpu, "Wait for rendezvous completion"); mtx_sleep(&vm->rendezvous_func, &vm->rendezvous_mtx, 0, "vmrndv", hz); if ((td->td_flags & TDF_NEEDSUSPCHK) != 0) { @@ -1626,7 +1625,7 @@ vm_handle_suspend(struct vm *vm, int vcpuid, bool *retu) } else { VCPU_CTR0(vm, vcpuid, "Rendezvous during suspend"); vcpu_unlock(vcpu); - error = vm_handle_rendezvous(vm, vcpuid); + error = vm_handle_rendezvous(vcpu); vcpu_lock(vcpu); } } @@ -1815,7 +1814,7 @@ restart: vme->u.ioapic_eoi.vector); break; case VM_EXITCODE_RENDEZVOUS: - error = vm_handle_rendezvous(vm, vcpuid); + error = vm_handle_rendezvous(vcpu); break; case VM_EXITCODE_HLT: intr_disabled = ((vme->u.hlt.rflags & PSL_I) == 0); @@ -1848,7 +1847,7 @@ restart: */ if (error == 0 && vme->exitcode == VM_EXITCODE_IPI) { retu = false; - error = vm_handle_ipi(vm, vcpuid, vme, &retu); + error = vm_handle_ipi(vcpu, vme, &retu); } if (error == 0 && retu == false) @@ -2561,17 +2560,16 @@ vm_apicid2vcpuid(struct vm *vm, int apicid) } int -vm_smp_rendezvous(struct vm *vm, int vcpuid, cpuset_t dest, +vm_smp_rendezvous(struct vcpu *vcpu, cpuset_t dest, vm_rendezvous_func_t func, void *arg) { + struct vm *vm = vcpu->vm; int error, i; /* * Enforce that this function is called without any locks */ WITNESS_WARN(WARN_PANIC, NULL, "vm_smp_rendezvous"); - KASSERT(vcpuid >= 0 && vcpuid < vm->maxcpus, - ("vm_smp_rendezvous: invalid vcpuid %d", vcpuid)); restart: mtx_lock(&vm->rendezvous_mtx); @@ -2581,9 +2579,9 @@ restart: * call the rendezvous handler in case this 'vcpuid' is one * of the targets of the rendezvous. */ - VCPU_CTR0(vm, vcpuid, "Rendezvous already in progress"); + VMM_CTR0(vcpu, "Rendezvous already in progress"); mtx_unlock(&vm->rendezvous_mtx); - error = vm_handle_rendezvous(vm, vcpuid); + error = vm_handle_rendezvous(vcpu); if (error != 0) return (error); goto restart; @@ -2591,7 +2589,7 @@ restart: KASSERT(vm->rendezvous_func == NULL, ("vm_smp_rendezvous: previous " "rendezvous is still in progress")); - VCPU_CTR0(vm, vcpuid, "Initiating rendezvous"); + VMM_CTR0(vcpu, "Initiating rendezvous"); vm->rendezvous_req_cpus = dest; CPU_ZERO(&vm->rendezvous_done_cpus); vm->rendezvous_arg = arg; @@ -2607,7 +2605,7 @@ restart: vcpu_notify_event(vm, i, false); } - return (vm_handle_rendezvous(vm, vcpuid)); + return (vm_handle_rendezvous(vcpu)); } struct vatpic * From nobody Thu Jan 26 22:12:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0x06Wkz3c8MW; Thu, 26 Jan 2023 22: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 4P2w0w6gDjz3wCd; Thu, 26 Jan 2023 22: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=1674771120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LbuQhjjGn2Po5+5xLo4Psi3H44zW0hnxunG2q4h/DAY=; b=MygRjmF1C2R3l6nrG9cB2R8XIkn0IBeunhYjmdbb5NueChD9JHK7fwUoOfbEzRaEtUQ8FE iJqZ7WT49ZstOlQGQ5nlLIBbiNOnxdTc9TnHKsSUZKm2+ps+n2t0zWGci/aUqDIUFsUVpb gdjxWXFitKCiv9AFbA5JjPXScv6bnUHs5aOSIlxBDPpezsBNU3mclt0dvnp/Exc6j1Z62U DiZophKLrjCTcJeHdfAlEUFIp90IFKM0gf1hqVBEK1C/88w43Pysp34RBBpdS3GdQBhsj9 WeQMLfqzje5Ofj/dYsB023zXlKrCWYXQJ7JwpeJ0obHiU68gE6RDpcS6ucxiFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LbuQhjjGn2Po5+5xLo4Psi3H44zW0hnxunG2q4h/DAY=; b=wRgs/H/YzhOruyfXREnjUZXl9AnYQLS6UBqiUzEzobwzoYInXYmyRX7qfcTU1tS2OPZaC3 LS3ck/QIWUNQGfiLtyDPphWHhZ6UCmQSrL1cLcFOjjfMY0NW2YYz1fiW0W4Ev98FcneRNF i8o9B6ngfh2edxdiXG9pj2oZCY3ztvvGcNAbUDFe1/VJAkbZGAbYF15mys6IqIm8udg+A+ MTTrdUW/eYLP9oi97F3BQyTi29qsEN1bnxF+PcWIHwOgZmxE5mWHLT1Z2Rbb2mdqhW7KHy wwxy+AvjteIK5IRwxIprre8h6tMOPVBsuW21KG+84gwjLotGnaBCqZBI9vMzEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771120; a=rsa-sha256; cv=none; b=W/IacMP2iw4RYTnHptDR7shnW6066LjX/5hThtFpDElN4+842mL/b4vjGukZYQiaxa26nj l775Y6VWmmZDnx7rCKeZN+4zx+O//OoxRgyFLwkU5nesLDCcWo6a2T69C8qxSUs5zZL5w+ HHdPq6pPKpObc55tuBXzZPgE9QqqHmiVTeW+/qYkXJQO/4cNN0UzBbuojXFdin2iNjygQX XWoYsjhmcOTGJYxiSnn8pWh6nagSzpgp3yj5h/ispiCYWw79nRnqbqd9wFYM5LPY8ngLDJ w6U5Y33Ulhrgaghqbjxy7stijJWpcCAuWCOAVkDPljJXR/uePCzRaGPoOGdBzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0w5mYNzm5f; Thu, 26 Jan 2023 22:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC0v4022106; Thu, 26 Jan 2023 22:12:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC06L022105; Thu, 26 Jan 2023 22:12:00 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:00 GMT Message-Id: <202301262212.30QMC06L022105@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 9ed7e7c69e1a - stable/13 - vmm: Remove unused vcpuid argument from vioapic_process_eoi. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9ed7e7c69e1ac984e747d534b05519cfd3bbc510 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9ed7e7c69e1ac984e747d534b05519cfd3bbc510 commit 9ed7e7c69e1ac984e747d534b05519cfd3bbc510 Author: John Baldwin AuthorDate: 2022-11-18 18:03:39 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:02:33 +0000 vmm: Remove unused vcpuid argument from vioapic_process_eoi. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37166 (cherry picked from commit e42c24d56b3d949aafd0c916e30ab91a4fe1e24d) --- sys/amd64/vmm/io/vioapic.c | 2 +- sys/amd64/vmm/io/vioapic.h | 2 +- sys/amd64/vmm/io/vlapic.c | 3 +-- sys/amd64/vmm/vmm.c | 3 +-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index aee58849dd7d..e41b5acac920 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -455,7 +455,7 @@ vioapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, } void -vioapic_process_eoi(struct vm *vm, int vcpuid, int vector) +vioapic_process_eoi(struct vm *vm, int vector) { struct vioapic *vioapic; int pin; diff --git a/sys/amd64/vmm/io/vioapic.h b/sys/amd64/vmm/io/vioapic.h index e45975c548a8..988321a6435c 100644 --- a/sys/amd64/vmm/io/vioapic.h +++ b/sys/amd64/vmm/io/vioapic.h @@ -51,7 +51,7 @@ int vioapic_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg); int vioapic_pincount(struct vm *vm); -void vioapic_process_eoi(struct vm *vm, int vcpuid, int vector); +void vioapic_process_eoi(struct vm *vm, int vector); #ifdef BHYVE_SNAPSHOT int vioapic_snapshot(struct vioapic *vioapic, struct vm_snapshot_meta *meta); diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 67a09401efb1..664852260943 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -593,8 +593,7 @@ vlapic_process_eoi(struct vlapic *vlapic) vlapic->isrvec_stk_top--; vlapic_update_ppr(vlapic); if ((tmrptr[idx] & (1 << bitpos)) != 0) { - vioapic_process_eoi(vlapic->vm, vlapic->vcpuid, - vector); + vioapic_process_eoi(vlapic->vm, vector); } return; } diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 1c4157c534a0..2405a4450072 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1810,8 +1810,7 @@ restart: error = vm_handle_suspend(vm, vcpuid, &retu); break; case VM_EXITCODE_IOAPIC_EOI: - vioapic_process_eoi(vm, vcpuid, - vme->u.ioapic_eoi.vector); + vioapic_process_eoi(vm, vme->u.ioapic_eoi.vector); break; case VM_EXITCODE_RENDEZVOUS: error = vm_handle_rendezvous(vcpu); From nobody Thu Jan 26 22:12:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0y1cbqz3c8T6; Thu, 26 Jan 2023 22: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 4P2w0y0thzz3wDL; Thu, 26 Jan 2023 22: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=1674771122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aqExxwFE4w9sIYTKNVOTpDQoqh6fuEggxiZ2yi5+t9A=; b=tgCLCb89xViqAd/RJFND3CeZ25IDHvoSOys5mWbYnl9zJnEoFROtgSQRVMsBkx4JZ9hodK Sy1LYGHKnG4qxmXLfY8Fob1ZQYP93e3oN2RMdNgKP77C6UUEpd39t6zVTS261CLTef4ATe x8vUfY6bMxvzNpNp1Hs0aK3KSXPKudIWhMJ7I/qN87wNrI+TgeW7nn9SJT0MhKwqmzo4I7 LCuQy+ky/es8QPWuZckKma1VFqW4YUdP83sT0IOP3hmnhXn/KzWdV7Fx6SeZCVMSIyiraL A0M/Y/X+p2uFSImn5nOtcudWIMILAkO1IL9RUpHtKaqLIOlU111GtMOQG54NWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aqExxwFE4w9sIYTKNVOTpDQoqh6fuEggxiZ2yi5+t9A=; b=SyKqszQllmwd2Nfog2ha+q92kGMfhOusz4qteIx8vrydnXL+IVEdPv6yGCQxYONzOjG7v8 YVAeZD+uf9Ut+tWdYM4Er7N0SqeqecubGPj3BHss5k5UXmXLf8jfal4KCUt6GMvoHQNC5W I0/dbR6RU56p8t2/PZgopD/Jdy4tO1sSTJZKUbEPYQchQ5/cgVBRe6jWiEwvmqBlxsOZe3 VlBfpN0y/NoK5gimAoXqPgGReJLiQL0dxy7E/qV8yav2X0W6dt9zpFyH4/06+aa1GbI6yS 97dMvM0/jO12tDB/A8Pwllia34r+iXUZFCqDRvRdFIY1P+c6EAviYmihFGiVjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771122; a=rsa-sha256; cv=none; b=bTXtoYEoxQk5lO5R8P1R9tUDFqzFBP6Nomx1RxR26KDEL5SzUm7aFvFsIciHxwfCd9iDXl 5D2RMVxOfTHUvA8xwHfRFgd8PTdCe6mpHM38+jOkSfqOxcFGC5WjJcthCL0zs4Gs34DRRK AXaZq0Pdp7VmwCRts5MgQkdqgzPNJD15DVAgarw0O8NXBk7PaOkAK6x+tBwdYS0ZF4Fwgc gr4qG4CklCRb/m7zhu4XDfWVJksAQeVRCHZGTVhiPD31KH4WeXC3GM29lQUYBD0AHjsujD JBrWDgfBoKsnqtolude5CpB9BdpH8+Kki97GUY+Tsbue377uoz1eOYEmwYO3Tw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0x6Yl3zm4f; Thu, 26 Jan 2023 22:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC1mi022130; Thu, 26 Jan 2023 22:12:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC1os022129; Thu, 26 Jan 2023 22:12:01 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:01 GMT Message-Id: <202301262212.30QMC1os022129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 197cb60d7af4 - stable/13 - vmm ppt: Remove unused vcpu arg from MSI setup handlers. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 197cb60d7af4e9bc2ba0b15bda24289111c87fe8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=197cb60d7af4e9bc2ba0b15bda24289111c87fe8 commit 197cb60d7af4e9bc2ba0b15bda24289111c87fe8 Author: John Baldwin AuthorDate: 2022-11-18 18:03:46 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:02:43 +0000 vmm ppt: Remove unused vcpu arg from MSI setup handlers. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37167 (cherry picked from commit 0cbc39d53d2270fa77255c663a0cfa5ed502ab0a) --- sys/amd64/vmm/io/ppt.c | 4 ++-- sys/amd64/vmm/io/ppt.h | 4 ++-- sys/amd64/vmm/vmm_dev.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/amd64/vmm/io/ppt.c b/sys/amd64/vmm/io/ppt.c index 3782b7b510f6..ea04c3245671 100644 --- a/sys/amd64/vmm/io/ppt.c +++ b/sys/amd64/vmm/io/ppt.c @@ -545,7 +545,7 @@ pptintr(void *arg) } int -ppt_setup_msi(struct vm *vm, int vcpu, int bus, int slot, int func, +ppt_setup_msi(struct vm *vm, int bus, int slot, int func, uint64_t addr, uint64_t msg, int numvec) { int i, rid, flags; @@ -638,7 +638,7 @@ ppt_setup_msi(struct vm *vm, int vcpu, int bus, int slot, int func, } int -ppt_setup_msix(struct vm *vm, int vcpu, int bus, int slot, int func, +ppt_setup_msix(struct vm *vm, int bus, int slot, int func, int idx, uint64_t addr, uint64_t msg, uint32_t vector_control) { struct pptdev *ppt; diff --git a/sys/amd64/vmm/io/ppt.h b/sys/amd64/vmm/io/ppt.h index e6339f57b8ad..e7833c2a73bb 100644 --- a/sys/amd64/vmm/io/ppt.h +++ b/sys/amd64/vmm/io/ppt.h @@ -36,9 +36,9 @@ int ppt_map_mmio(struct vm *vm, int bus, int slot, int func, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); int ppt_unmap_mmio(struct vm *vm, int bus, int slot, int func, vm_paddr_t gpa, size_t len); -int ppt_setup_msi(struct vm *vm, int vcpu, int bus, int slot, int func, +int ppt_setup_msi(struct vm *vm, int bus, int slot, int func, uint64_t addr, uint64_t msg, int numvec); -int ppt_setup_msix(struct vm *vm, int vcpu, int bus, int slot, int func, +int ppt_setup_msix(struct vm *vm, int bus, int slot, int func, int idx, uint64_t addr, uint64_t msg, uint32_t vector_control); int ppt_disable_msix(struct vm *vm, int bus, int slot, int func); int ppt_assigned_devices(struct vm *vm); diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 2f487dbb132e..1d36e190c7a6 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -540,14 +540,14 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, } case VM_PPTDEV_MSI: pptmsi = (struct vm_pptdev_msi *)data; - error = ppt_setup_msi(sc->vm, pptmsi->vcpu, + error = ppt_setup_msi(sc->vm, pptmsi->bus, pptmsi->slot, pptmsi->func, pptmsi->addr, pptmsi->msg, pptmsi->numvec); break; case VM_PPTDEV_MSIX: pptmsix = (struct vm_pptdev_msix *)data; - error = ppt_setup_msix(sc->vm, pptmsix->vcpu, + error = ppt_setup_msix(sc->vm, pptmsix->bus, pptmsix->slot, pptmsix->func, pptmsix->idx, pptmsix->addr, pptmsix->msg, From nobody Thu Jan 26 22:12:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w0z554Vz3c8b7; Thu, 26 Jan 2023 22: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 4P2w0z1S9dz3wKK; Thu, 26 Jan 2023 22: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=1674771123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7mZnVj0Boh9Tm5bGO0dFGlSmnrespdIKgdiRAHnMrH0=; b=arujpxd0fKGufjt6CGtZeSBZAAF+gUVJyFgjzw3rS7jGkdXvWEZAON/wuUQCrrYpPtKx8n rdNCdzMcW4tQiR4zEXVbWoQpHUmJDnBm05uxTFZO/8+NxTkW43sXeENAFBIC6w0ctOSvRs gmHKjpnXF2PG4adrTX74ZKRguzaxRacZza+Jjc6DIwP5Dori8jIiKe6gWROYXQLLCsyK72 aEKOhado5lmF8KHFHIXsbB83hLt1vijYjra1TBG2GadRDERHmmMNYKym1loYB2LLFXInLr Ig6iDdWmQz4Y9VnzF95qed61agACiOgjgTiAZrHkBadKslp8gietiIhAzNUHhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7mZnVj0Boh9Tm5bGO0dFGlSmnrespdIKgdiRAHnMrH0=; b=ubyZDXQH8q4LvmMvrDknN5JzKAX/t4ln03bQj97kkStgtgYX/DPoR7aV0aNiSqe/yDjm0T OIFYXaxgraKPsS5FPgk3F6cqh+J2Pk49iwlY6fs2nHz5+aXYz9dTdxyHdNKXSpxPnUadZG /hMVuPDC1oQt9+P0bNxqqeqZX4XZyttGD9tr6EDfFTFemLmE8Lqea/oEPeHbChE5EuL/Yi x2SkAj1B1JbVcJDAoRjRyk3n1p2LxzHttqdj6pJ3usmxiVYiXuBaXBSFaQzIEZa2rCxrO9 c/VYv3rCSNODPtgF3Ga4nYi0EYvCsCC0C5XohauyniLjnhls+HPelQ5pAcCwkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771123; a=rsa-sha256; cv=none; b=PQaSl+aF0RwyXoukddKeOzXG5ZJaZzdIcehXHxN3Vs6F5Kfoi7ytehSNYq+N+Qh5S6b8a2 JYcx3qUECTvitMoguHtAoj/2Uto5deDJJExmnquBTP3U0ofUyBbGERfXedRzDBIyH7Lm6F yfla5HYFMC9Sc6NUZ/p+Hu/ypdCC5YpwAjp8CqnGM//KvlNFuKPrPv387gRcb+kCBez3hN tmMglKBIctzb7mNLrpbK8jR1Jo+r0xOdEbP085i35Aw19ODt/v7/VamlBIRQaHrROT05SR IbpMX53qtS2rSB7n3EPxrTNa8Bofy30irfejGWL/eBz71wgaxjJ8ipuwY8fLWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w0z0W99zlh9; Thu, 26 Jan 2023 22:12:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC3eb022162; Thu, 26 Jan 2023 22:12:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC20c022161; Thu, 26 Jan 2023 22:12:02 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:02 GMT Message-Id: <202301262212.30QMC20c022161@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3348ba1d6da9 - stable/13 - vmm: Lookup vcpu pointers in vmmdev_ioctl. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3348ba1d6da9fd64038770cc38f0651e6d085963 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3348ba1d6da9fd64038770cc38f0651e6d085963 commit 3348ba1d6da9fd64038770cc38f0651e6d085963 Author: John Baldwin AuthorDate: 2022-11-18 18:03:52 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:03:29 +0000 vmm: Lookup vcpu pointers in vmmdev_ioctl. Centralize mapping vCPU IDs to struct vcpu objects in vmmdev_ioctl and pass vcpu pointers to the routines in vmm.c. For operations that want to perform an action on all vCPUs or on a single vCPU, pass pointers to both the VM and the vCPU using a NULL vCPU pointer to request global actions. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37168 (cherry picked from commit 3f0f4b1598e0e7005bebed7ea3458e96d0fb8e2f) --- sys/amd64/include/vmm.h | 29 +++-- sys/amd64/vmm/io/vatpic.c | 2 +- sys/amd64/vmm/io/vlapic.c | 34 +++--- sys/amd64/vmm/vmm.c | 259 ++++++++++++++++----------------------------- sys/amd64/vmm/vmm_dev.c | 108 +++++++++++++------ sys/amd64/vmm/vmm_ioport.c | 19 ++-- sys/amd64/vmm/vmm_ioport.h | 2 +- sys/amd64/vmm/vmm_lapic.c | 34 +++--- sys/amd64/vmm/vmm_lapic.h | 12 +-- sys/amd64/vmm/vmm_stat.c | 9 +- sys/amd64/vmm/vmm_stat.h | 4 +- sys/amd64/vmm/x86.c | 10 +- 12 files changed, 245 insertions(+), 277 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index b8f641910e4f..7c346d7ed4ed 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -264,14 +264,14 @@ int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval); int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val); int vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *ret_desc); -int vm_set_seg_desc(struct vm *vm, int vcpu, int reg, +int vm_set_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *desc); -int vm_run(struct vm *vm, struct vm_run *vmrun); +int vm_run(struct vcpu *vcpu, struct vm_exit *vme_user); int vm_suspend(struct vm *vm, enum vm_suspend_how how); -int vm_inject_nmi(struct vm *vm, int vcpu); +int vm_inject_nmi(struct vcpu *vcpu); int vm_nmi_pending(struct vcpu *vcpu); void vm_nmi_clear(struct vcpu *vcpu); -int vm_inject_extint(struct vm *vm, int vcpu); +int vm_inject_extint(struct vcpu *vcpu); int vm_extint_pending(struct vcpu *vcpu); void vm_extint_clear(struct vcpu *vcpu); int vcpu_vcpuid(struct vcpu *vcpu); @@ -280,14 +280,14 @@ struct vcpu *vm_vcpu(struct vm *vm, int cpu); struct vlapic *vm_lapic(struct vcpu *vcpu); struct vioapic *vm_ioapic(struct vm *vm); struct vhpet *vm_hpet(struct vm *vm); -int vm_get_capability(struct vm *vm, int vcpu, int type, int *val); -int vm_set_capability(struct vm *vm, int vcpu, int type, int val); -int vm_get_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state *state); -int vm_set_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state state); +int vm_get_capability(struct vcpu *vcpu, int type, int *val); +int vm_set_capability(struct vcpu *vcpu, int type, int val); +int vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *state); +int vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state); int vm_apicid2vcpuid(struct vm *vm, int apicid); -int vm_activate_cpu(struct vm *vm, int vcpu); -int vm_suspend_cpu(struct vm *vm, int vcpu); -int vm_resume_cpu(struct vm *vm, int vcpu); +int vm_activate_cpu(struct vcpu *vcpu); +int vm_suspend_cpu(struct vm *vm, struct vcpu *vcpu); +int vm_resume_cpu(struct vm *vm, struct vcpu *vcpu); int vm_restart_instruction(struct vcpu *vcpu); struct vm_exit *vm_exitinfo(struct vcpu *vcpu); void vm_exit_suspended(struct vcpu *vcpu, uint64_t rip); @@ -361,8 +361,7 @@ enum vcpu_state { VCPU_SLEEPING, }; -int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state, - bool from_idle); +int vcpu_set_state(struct vcpu *vcpu, enum vcpu_state state, bool from_idle); enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu); static int __inline @@ -386,7 +385,7 @@ vcpu_should_yield(struct vcpu *vcpu) #endif void *vcpu_stats(struct vcpu *vcpu); -void vcpu_notify_event(struct vm *vm, int vcpuid, bool lapic_intr); +void vcpu_notify_event(struct vcpu *vcpu, bool lapic_intr); struct vmspace *vm_get_vmspace(struct vm *vm); struct vatpic *vm_atpic(struct vm *vm); struct vatpit *vm_atpit(struct vm *vm); @@ -432,7 +431,7 @@ int vm_exit_intinfo(struct vcpu *vcpu, uint64_t intinfo); */ int vm_entry_intinfo(struct vcpu *vcpu, uint64_t *info); -int vm_get_intinfo(struct vm *vm, int vcpuid, uint64_t *info1, uint64_t *info2); +int vm_get_intinfo(struct vcpu *vcpu, uint64_t *info1, uint64_t *info2); /* * Function used to keep track of the guest's TSC offset. The diff --git a/sys/amd64/vmm/io/vatpic.c b/sys/amd64/vmm/io/vatpic.c index 1d4ccfb9d0ca..5ece5d433244 100644 --- a/sys/amd64/vmm/io/vatpic.c +++ b/sys/amd64/vmm/io/vatpic.c @@ -262,7 +262,7 @@ vatpic_notify_intr(struct vatpic *vatpic) * interrupt. */ atpic->intr_raised = true; - lapic_set_local_intr(vatpic->vm, -1, APIC_LVT_LINT0); + lapic_set_local_intr(vatpic->vm, NULL, APIC_LVT_LINT0); vioapic_pulse_irq(vatpic->vm, 0); } else { VATPIC_CTR3(vatpic, "atpic master no eligible interrupts " diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 664852260943..bcfe6b498721 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -460,13 +460,13 @@ vlapic_fire_lvt(struct vlapic *vlapic, u_int lvt) return (0); } if (vlapic_set_intr_ready(vlapic, vec, false)) - vcpu_notify_event(vlapic->vm, vlapic->vcpuid, true); + vcpu_notify_event(vlapic->vcpu, true); break; case APIC_LVT_DM_NMI: - vm_inject_nmi(vlapic->vm, vlapic->vcpuid); + vm_inject_nmi(vlapic->vcpu); break; case APIC_LVT_DM_EXTINT: - vm_inject_extint(vlapic->vm, vlapic->vcpuid); + vm_inject_extint(vlapic->vcpu); break; default: // Other modes ignored @@ -680,10 +680,10 @@ vlapic_trigger_lvt(struct vlapic *vlapic, int vector) */ switch (vector) { case APIC_LVT_LINT0: - vm_inject_extint(vlapic->vm, vlapic->vcpuid); + vm_inject_extint(vlapic->vcpu); break; case APIC_LVT_LINT1: - vm_inject_nmi(vlapic->vm, vlapic->vcpuid); + vm_inject_nmi(vlapic->vcpu); break; default: break; @@ -1040,6 +1040,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) uint64_t icrval; uint32_t dest, vec, mode, shorthand; struct vlapic *vlapic2; + struct vcpu *vcpu; struct vm_exit *vmexit; struct LAPIC *lapic; @@ -1100,7 +1101,8 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) } CPU_FOREACH_ISSET(i, &dmask) { - lapic_intr_edge(vlapic->vm, i, vec); + vcpu = vm_vcpu(vlapic->vm, i); + lapic_intr_edge(vcpu, vec); vmm_stat_array_incr(vlapic->vcpu, IPIS_SENT, i, 1); VLAPIC_CTR2(vlapic, "vlapic sending ipi %d to vcpuid %d", vec, i); @@ -1109,7 +1111,8 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) break; case APIC_DELMODE_NMI: CPU_FOREACH_ISSET(i, &dmask) { - vm_inject_nmi(vlapic->vm, i); + vcpu = vm_vcpu(vlapic->vm, i); + vm_inject_nmi(vcpu); VLAPIC_CTR1(vlapic, "vlapic sending ipi nmi to vcpuid %d", i); } @@ -1130,7 +1133,8 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) * requires that the boot state is set to SIPI * here. */ - vlapic2 = vm_lapic(vm_vcpu(vlapic->vm, i)); + vcpu = vm_vcpu(vlapic->vm, i); + vlapic2 = vm_lapic(vcpu); vlapic2->boot_state = BS_SIPI; break; } @@ -1154,7 +1158,8 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) /* * Ignore SIPIs in any state other than wait-for-SIPI */ - vlapic2 = vm_lapic(vm_vcpu(vlapic->vm, i)); + vcpu = vm_vcpu(vlapic->vm, i); + vlapic2 = vm_lapic(vcpu); if (vlapic2->boot_state != BS_SIPI) break; vlapic2->boot_state = BS_RUNNING; @@ -1169,7 +1174,8 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) } CPU_FOREACH_ISSET(i, &dmask) { - vlapic2 = vm_lapic(vm_vcpu(vlapic->vm, i)); + vcpu = vm_vcpu(vlapic->vm, i); + vlapic2 = vm_lapic(vcpu); /* * Ignore SIPIs in any state other than wait-for-SIPI @@ -1235,7 +1241,7 @@ vlapic_self_ipi_handler(struct vlapic *vlapic, uint64_t val) KASSERT(x2apic(vlapic), ("SELF_IPI does not exist in xAPIC mode")); vec = val & 0xff; - lapic_intr_edge(vlapic->vm, vlapic->vcpuid, vec); + lapic_intr_edge(vlapic->vcpu, vec); vmm_stat_array_incr(vlapic->vcpu, IPIS_SENT, vlapic->vcpuid, 1); VLAPIC_CTR1(vlapic, "vlapic self-ipi %d", vec); } @@ -1696,6 +1702,7 @@ void vlapic_deliver_intr(struct vm *vm, bool level, uint32_t dest, bool phys, int delmode, int vec) { + struct vcpu *vcpu; bool lowprio; int vcpuid; cpuset_t dmask; @@ -1716,10 +1723,11 @@ vlapic_deliver_intr(struct vm *vm, bool level, uint32_t dest, bool phys, vlapic_calcdest(vm, &dmask, dest, phys, lowprio, false); CPU_FOREACH_ISSET(vcpuid, &dmask) { + vcpu = vm_vcpu(vm, vcpuid); if (delmode == IOART_DELEXINT) { - vm_inject_extint(vm, vcpuid); + vm_inject_extint(vcpu); } else { - lapic_set_intr(vm, vcpuid, vec, level); + lapic_set_intr(vcpu, vec, level); } } } diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 2405a4450072..825b3383b787 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -309,12 +309,6 @@ vcpu_state2str(enum vcpu_state state) } #endif -static __inline void * -vcpu_cookie(struct vm *vm, int i) -{ - return (vm->vcpu[i].cookie); -} - static void vcpu_cleanup(struct vm *vm, int i, bool destroy) { @@ -354,7 +348,7 @@ vcpu_init(struct vm *vm, int vcpu_id, bool create) vcpu->cookie = vmmops_vcpu_init(vm->cookie, vcpu, vcpu_id); vcpu->vlapic = vmmops_vlapic_init(vcpu->cookie); - vm_set_x2apic_state(vm, vcpu_id, X2APIC_DISABLED); + vm_set_x2apic_state(vcpu, X2APIC_DISABLED); vcpu->reqidle = 0; vcpu->exitintinfo = 0; vcpu->nmi_pending = 0; @@ -1172,16 +1166,13 @@ vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *desc) } int -vm_set_seg_desc(struct vm *vm, int vcpu, int reg, - struct seg_desc *desc) +vm_set_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *desc) { - if (vcpu < 0 || vcpu >= vm->maxcpus) - return (EINVAL); if (!is_segment_register(reg) && !is_descriptor_table(reg)) return (EINVAL); - return (vmmops_setdesc(vcpu_cookie(vm, vcpu), reg, desc)); + return (vmmops_setdesc(vcpu->cookie, reg, desc)); } static void @@ -1228,13 +1219,11 @@ save_guest_fpustate(struct vcpu *vcpu) static VMM_STAT(VCPU_IDLE_TICKS, "number of ticks vcpu was idle"); static int -vcpu_set_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate, +vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate, bool from_idle) { - struct vcpu *vcpu; int error; - vcpu = &vm->vcpu[vcpuid]; vcpu_assert_locked(vcpu); /* @@ -1246,7 +1235,7 @@ vcpu_set_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate, while (vcpu->state != VCPU_IDLE) { vcpu->reqidle = 1; vcpu_notify_event_locked(vcpu, false); - VCPU_CTR1(vm, vcpuid, "vcpu state change from %s to " + VMM_CTR1(vcpu, "vcpu state change from %s to " "idle requested", vcpu_state2str(vcpu->state)); msleep_spin(&vcpu->state, &vcpu->mtx, "vmstat", hz); } @@ -1286,7 +1275,7 @@ vcpu_set_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate, if (error) return (EBUSY); - VCPU_CTR2(vm, vcpuid, "vcpu state changed from %s to %s", + VMM_CTR2(vcpu, "vcpu state changed from %s to %s", vcpu_state2str(vcpu->state), vcpu_state2str(newstate)); vcpu->state = newstate; @@ -1302,20 +1291,20 @@ vcpu_set_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate, } static void -vcpu_require_state(struct vm *vm, int vcpuid, enum vcpu_state newstate) +vcpu_require_state(struct vcpu *vcpu, enum vcpu_state newstate) { int error; - if ((error = vcpu_set_state(vm, vcpuid, newstate, false)) != 0) + if ((error = vcpu_set_state(vcpu, newstate, false)) != 0) panic("Error %d setting state to %d\n", error, newstate); } static void -vcpu_require_state_locked(struct vm *vm, int vcpuid, enum vcpu_state newstate) +vcpu_require_state_locked(struct vcpu *vcpu, enum vcpu_state newstate) { int error; - if ((error = vcpu_set_state_locked(vm, vcpuid, newstate, false)) != 0) + if ((error = vcpu_set_state_locked(vcpu, newstate, false)) != 0) panic("Error %d setting state to %d", error, newstate); } @@ -1366,21 +1355,21 @@ vm_handle_rendezvous(struct vcpu *vcpu) * Emulate a guest 'hlt' by sleeping until the vcpu is ready to run. */ static int -vm_handle_hlt(struct vm *vm, int vcpuid, bool intr_disabled, bool *retu) +vm_handle_hlt(struct vcpu *vcpu, bool intr_disabled, bool *retu) { - struct vcpu *vcpu; + struct vm *vm = vcpu->vm; const char *wmesg; struct thread *td; - int error, t, vcpu_halted, vm_halted; + int error, t, vcpuid, vcpu_halted, vm_halted; - KASSERT(!CPU_ISSET(vcpuid, &vm->halted_cpus), ("vcpu already halted")); - - vcpu = &vm->vcpu[vcpuid]; + vcpuid = vcpu->vcpuid; vcpu_halted = 0; vm_halted = 0; error = 0; td = curthread; + KASSERT(!CPU_ISSET(vcpuid, &vm->halted_cpus), ("vcpu already halted")); + vcpu_lock(vcpu); while (1) { /* @@ -1418,7 +1407,7 @@ vm_handle_hlt(struct vm *vm, int vcpuid, bool intr_disabled, bool *retu) */ if (intr_disabled) { wmesg = "vmhalt"; - VCPU_CTR0(vm, vcpuid, "Halted"); + VMM_CTR0(vcpu, "Halted"); if (!vcpu_halted && halt_detection_enabled) { vcpu_halted = 1; CPU_SET_ATOMIC(vcpuid, &vm->halted_cpus); @@ -1432,13 +1421,13 @@ vm_handle_hlt(struct vm *vm, int vcpuid, bool intr_disabled, bool *retu) } t = ticks; - vcpu_require_state_locked(vm, vcpuid, VCPU_SLEEPING); + vcpu_require_state_locked(vcpu, VCPU_SLEEPING); /* * XXX msleep_spin() cannot be interrupted by signals so * wake up periodically to check pending signals. */ msleep_spin(vcpu, &vcpu->mtx, wmesg, hz); - vcpu_require_state_locked(vm, vcpuid, VCPU_FROZEN); + vcpu_require_state_locked(vcpu, VCPU_FROZEN); vmm_stat_incr(vcpu, VCPU_IDLE_TICKS, ticks - t); if ((td->td_flags & TDF_NEEDSUSPCHK) != 0) { vcpu_unlock(vcpu); @@ -1466,14 +1455,13 @@ vm_handle_hlt(struct vm *vm, int vcpuid, bool intr_disabled, bool *retu) } static int -vm_handle_paging(struct vm *vm, int vcpuid, bool *retu) +vm_handle_paging(struct vcpu *vcpu, bool *retu) { + struct vm *vm = vcpu->vm; int rv, ftype; struct vm_map *map; - struct vcpu *vcpu; struct vm_exit *vme; - vcpu = &vm->vcpu[vcpuid]; vme = &vcpu->exitinfo; KASSERT(vme->inst_length == 0, ("%s: invalid inst_length %d", @@ -1488,7 +1476,7 @@ vm_handle_paging(struct vm *vm, int vcpuid, bool *retu) rv = pmap_emulate_accessed_dirty(vmspace_pmap(vm->vmspace), vme->u.paging.gpa, ftype); if (rv == 0) { - VCPU_CTR2(vm, vcpuid, "%s bit emulation for gpa %#lx", + VMM_CTR2(vcpu, "%s bit emulation for gpa %#lx", ftype == VM_PROT_READ ? "accessed" : "dirty", vme->u.paging.gpa); goto done; @@ -1498,7 +1486,7 @@ vm_handle_paging(struct vm *vm, int vcpuid, bool *retu) map = &vm->vmspace->vm_map; rv = vm_fault(map, vme->u.paging.gpa, ftype, VM_FAULT_NORMAL, NULL); - VCPU_CTR3(vm, vcpuid, "vm_handle_paging rv = %d, gpa = %#lx, " + VMM_CTR3(vcpu, "vm_handle_paging rv = %d, gpa = %#lx, " "ftype = %d", rv, vme->u.paging.gpa, ftype); if (rv != KERN_SUCCESS) @@ -1508,10 +1496,9 @@ done: } static int -vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) +vm_handle_inst_emul(struct vcpu *vcpu, bool *retu) { struct vie *vie; - struct vcpu *vcpu; struct vm_exit *vme; uint64_t gla, gpa, cs_base; struct vm_guest_paging *paging; @@ -1520,7 +1507,6 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) enum vm_cpu_mode cpu_mode; int cs_d, error, fault; - vcpu = &vm->vcpu[vcpuid]; vme = &vcpu->exitinfo; KASSERT(vme->inst_length == 0, ("%s: invalid inst_length %d", @@ -1534,7 +1520,7 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) paging = &vme->u.inst_emul.paging; cpu_mode = paging->cpu_mode; - VCPU_CTR1(vm, vcpuid, "inst_emul fault accessing gpa %#lx", gpa); + VMM_CTR1(vcpu, "inst_emul fault accessing gpa %#lx", gpa); /* Fetch, decode and emulate the faulting instruction */ if (vie->num_valid == 0) { @@ -1550,7 +1536,7 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) return (error); if (vmm_decode_instruction(vcpu, gla, cpu_mode, cs_d, vie) != 0) { - VCPU_CTR1(vm, vcpuid, "Error decoding instruction at %#lx", + VMM_CTR1(vcpu, "Error decoding instruction at %#lx", vme->rip + cs_base); *retu = true; /* dump instruction bytes in userspace */ return (0); @@ -1561,8 +1547,8 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) */ vme->inst_length = vie->num_processed; vcpu->nextrip += vie->num_processed; - VCPU_CTR1(vm, vcpuid, "nextrip updated to %#lx after instruction " - "decoding", vcpu->nextrip); + VMM_CTR1(vcpu, "nextrip updated to %#lx after instruction decoding", + vcpu->nextrip); /* return to userland unless this is an in-kernel emulated device */ if (gpa >= DEFAULT_APIC_BASE && gpa < DEFAULT_APIC_BASE + PAGE_SIZE) { @@ -1586,17 +1572,16 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu) } static int -vm_handle_suspend(struct vm *vm, int vcpuid, bool *retu) +vm_handle_suspend(struct vcpu *vcpu, bool *retu) { + struct vm *vm = vcpu->vm; int error, i; - struct vcpu *vcpu; struct thread *td; error = 0; - vcpu = &vm->vcpu[vcpuid]; td = curthread; - CPU_SET_ATOMIC(vcpuid, &vm->suspended_cpus); + CPU_SET_ATOMIC(vcpu->vcpuid, &vm->suspended_cpus); /* * Wait until all 'active_cpus' have suspended themselves. @@ -1608,22 +1593,22 @@ vm_handle_suspend(struct vm *vm, int vcpuid, bool *retu) vcpu_lock(vcpu); while (error == 0) { if (CPU_CMP(&vm->suspended_cpus, &vm->active_cpus) == 0) { - VCPU_CTR0(vm, vcpuid, "All vcpus suspended"); + VMM_CTR0(vcpu, "All vcpus suspended"); break; } if (vm->rendezvous_func == NULL) { - VCPU_CTR0(vm, vcpuid, "Sleeping during suspend"); - vcpu_require_state_locked(vm, vcpuid, VCPU_SLEEPING); + VMM_CTR0(vcpu, "Sleeping during suspend"); + vcpu_require_state_locked(vcpu, VCPU_SLEEPING); msleep_spin(vcpu, &vcpu->mtx, "vmsusp", hz); - vcpu_require_state_locked(vm, vcpuid, VCPU_FROZEN); + vcpu_require_state_locked(vcpu, VCPU_FROZEN); if ((td->td_flags & TDF_NEEDSUSPCHK) != 0) { vcpu_unlock(vcpu); error = thread_check_susp(td, false); vcpu_lock(vcpu); } } else { - VCPU_CTR0(vm, vcpuid, "Rendezvous during suspend"); + VMM_CTR0(vcpu, "Rendezvous during suspend"); vcpu_unlock(vcpu); error = vm_handle_rendezvous(vcpu); vcpu_lock(vcpu); @@ -1636,7 +1621,7 @@ vm_handle_suspend(struct vm *vm, int vcpuid, bool *retu) */ for (i = 0; i < vm->maxcpus; i++) { if (CPU_ISSET(i, &vm->suspended_cpus)) { - vcpu_notify_event(vm, i, false); + vcpu_notify_event(vm_vcpu(vm, i), false); } } @@ -1645,10 +1630,8 @@ vm_handle_suspend(struct vm *vm, int vcpuid, bool *retu) } static int -vm_handle_reqidle(struct vm *vm, int vcpuid, bool *retu) +vm_handle_reqidle(struct vcpu *vcpu, bool *retu) { - struct vcpu *vcpu = &vm->vcpu[vcpuid]; - vcpu_lock(vcpu); KASSERT(vcpu->reqidle, ("invalid vcpu reqidle %d", vcpu->reqidle)); vcpu->reqidle = 0; @@ -1678,7 +1661,7 @@ vm_suspend(struct vm *vm, enum vm_suspend_how how) */ for (i = 0; i < vm->maxcpus; i++) { if (CPU_ISSET(i, &vm->active_cpus)) - vcpu_notify_event(vm, i, false); + vcpu_notify_event(vm_vcpu(vm, i), false); } return (0); @@ -1748,21 +1731,18 @@ vm_exit_astpending(struct vcpu *vcpu, uint64_t rip) } int -vm_run(struct vm *vm, struct vm_run *vmrun) +vm_run(struct vcpu *vcpu, struct vm_exit *vme_user) { + struct vm *vm = vcpu->vm; struct vm_eventinfo evinfo; int error, vcpuid; - struct vcpu *vcpu; struct pcb *pcb; uint64_t tscval; struct vm_exit *vme; bool retu, intr_disabled; pmap_t pmap; - vcpuid = vmrun->cpuid; - - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); + vcpuid = vcpu->vcpuid; if (!CPU_ISSET(vcpuid, &vm->active_cpus)) return (EINVAL); @@ -1771,7 +1751,6 @@ vm_run(struct vm *vm, struct vm_run *vmrun) return (EINVAL); pmap = vmspace_pmap(vm->vmspace); - vcpu = &vm->vcpu[vcpuid]; vme = &vcpu->exitinfo; evinfo.rptr = &vm->rendezvous_func; evinfo.sptr = &vm->suspend; @@ -1789,9 +1768,9 @@ restart: restore_guest_fpustate(vcpu); - vcpu_require_state(vm, vcpuid, VCPU_RUNNING); + vcpu_require_state(vcpu, VCPU_RUNNING); error = vmmops_run(vcpu->cookie, vcpu->nextrip, pmap, &evinfo); - vcpu_require_state(vm, vcpuid, VCPU_FROZEN); + vcpu_require_state(vcpu, VCPU_FROZEN); save_guest_fpustate(vcpu); @@ -1804,10 +1783,10 @@ restart: vcpu->nextrip = vme->rip + vme->inst_length; switch (vme->exitcode) { case VM_EXITCODE_REQIDLE: - error = vm_handle_reqidle(vm, vcpuid, &retu); + error = vm_handle_reqidle(vcpu, &retu); break; case VM_EXITCODE_SUSPENDED: - error = vm_handle_suspend(vm, vcpuid, &retu); + error = vm_handle_suspend(vcpu, &retu); break; case VM_EXITCODE_IOAPIC_EOI: vioapic_process_eoi(vm, vme->u.ioapic_eoi.vector); @@ -1817,17 +1796,17 @@ restart: break; case VM_EXITCODE_HLT: intr_disabled = ((vme->u.hlt.rflags & PSL_I) == 0); - error = vm_handle_hlt(vm, vcpuid, intr_disabled, &retu); + error = vm_handle_hlt(vcpu, intr_disabled, &retu); break; case VM_EXITCODE_PAGING: - error = vm_handle_paging(vm, vcpuid, &retu); + error = vm_handle_paging(vcpu, &retu); break; case VM_EXITCODE_INST_EMUL: - error = vm_handle_inst_emul(vm, vcpuid, &retu); + error = vm_handle_inst_emul(vcpu, &retu); break; case VM_EXITCODE_INOUT: case VM_EXITCODE_INOUT_STR: - error = vm_handle_inout(vm, vcpuid, vme, &retu); + error = vm_handle_inout(vcpu, vme, &retu); break; case VM_EXITCODE_MONITOR: case VM_EXITCODE_MWAIT: @@ -1853,10 +1832,10 @@ restart: goto restart; vmm_stat_incr(vcpu, VMEXIT_USERSPACE, 1); - VCPU_CTR2(vm, vcpuid, "retu %d/%d", error, vme->exitcode); + VMM_CTR2(vcpu, "retu %d/%d", error, vme->exitcode); /* copy the exit information */ - bcopy(vme, &vmrun->vm_exit, sizeof(struct vm_exit)); + *vme_user = *vme; return (error); } @@ -2068,14 +2047,8 @@ vm_entry_intinfo(struct vcpu *vcpu, uint64_t *retinfo) } int -vm_get_intinfo(struct vm *vm, int vcpuid, uint64_t *info1, uint64_t *info2) +vm_get_intinfo(struct vcpu *vcpu, uint64_t *info1, uint64_t *info2) { - struct vcpu *vcpu; - - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - - vcpu = &vm->vcpu[vcpuid]; *info1 = vcpu->exitintinfo; *info2 = vcpu_exception_intinfo(vcpu); return (0); @@ -2165,17 +2138,11 @@ vm_inject_pf(struct vcpu *vcpu, int error_code, uint64_t cr2) static VMM_STAT(VCPU_NMI_COUNT, "number of NMIs delivered to vcpu"); int -vm_inject_nmi(struct vm *vm, int vcpuid) +vm_inject_nmi(struct vcpu *vcpu) { - struct vcpu *vcpu; - - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - - vcpu = &vm->vcpu[vcpuid]; vcpu->nmi_pending = 1; - vcpu_notify_event(vm, vcpuid, false); + vcpu_notify_event(vcpu, false); return (0); } @@ -2198,17 +2165,11 @@ vm_nmi_clear(struct vcpu *vcpu) static VMM_STAT(VCPU_EXTINT_COUNT, "number of ExtINTs delivered to vcpu"); int -vm_inject_extint(struct vm *vm, int vcpuid) +vm_inject_extint(struct vcpu *vcpu) { - struct vcpu *vcpu; - - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - - vcpu = &vm->vcpu[vcpuid]; vcpu->extint_pending = 1; - vcpu_notify_event(vm, vcpuid, false); + vcpu_notify_event(vcpu, false); return (0); } @@ -2229,27 +2190,21 @@ vm_extint_clear(struct vcpu *vcpu) } int -vm_get_capability(struct vm *vm, int vcpu, int type, int *retval) +vm_get_capability(struct vcpu *vcpu, int type, int *retval) { - if (vcpu < 0 || vcpu >= vm->maxcpus) - return (EINVAL); - if (type < 0 || type >= VM_CAP_MAX) return (EINVAL); - return (vmmops_getcap(vcpu_cookie(vm, vcpu), type, retval)); + return (vmmops_getcap(vcpu->cookie, type, retval)); } int -vm_set_capability(struct vm *vm, int vcpu, int type, int val) +vm_set_capability(struct vcpu *vcpu, int type, int val) { - if (vcpu < 0 || vcpu >= vm->maxcpus) - return (EINVAL); - if (type < 0 || type >= VM_CAP_MAX) return (EINVAL); - return (vmmops_setcap(vcpu_cookie(vm, vcpu), type, val)); + return (vmmops_setcap(vcpu->cookie, type, val)); } struct vm * @@ -2340,19 +2295,12 @@ vm_iommu_domain(struct vm *vm) } int -vcpu_set_state(struct vm *vm, int vcpuid, enum vcpu_state newstate, - bool from_idle) +vcpu_set_state(struct vcpu *vcpu, enum vcpu_state newstate, bool from_idle) { int error; - struct vcpu *vcpu; - - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - panic("vm_set_run_state: invalid vcpuid %d", vcpuid); - - vcpu = &vm->vcpu[vcpuid]; vcpu_lock(vcpu); - error = vcpu_set_state_locked(vm, vcpuid, newstate, from_idle); + error = vcpu_set_state_locked(vcpu, newstate, from_idle); vcpu_unlock(vcpu); return (error); @@ -2373,58 +2321,48 @@ vcpu_get_state(struct vcpu *vcpu, int *hostcpu) } int -vm_activate_cpu(struct vm *vm, int vcpuid) +vm_activate_cpu(struct vcpu *vcpu) { + struct vm *vm = vcpu->vm; - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - - if (CPU_ISSET(vcpuid, &vm->active_cpus)) + if (CPU_ISSET(vcpu->vcpuid, &vm->active_cpus)) return (EBUSY); - VCPU_CTR0(vm, vcpuid, "activated"); - CPU_SET_ATOMIC(vcpuid, &vm->active_cpus); + VMM_CTR0(vcpu, "activated"); + CPU_SET_ATOMIC(vcpu->vcpuid, &vm->active_cpus); return (0); } int -vm_suspend_cpu(struct vm *vm, int vcpuid) +vm_suspend_cpu(struct vm *vm, struct vcpu *vcpu) { - int i; - - if (vcpuid < -1 || vcpuid >= vm->maxcpus) - return (EINVAL); - - if (vcpuid == -1) { + if (vcpu == NULL) { vm->debug_cpus = vm->active_cpus; - for (i = 0; i < vm->maxcpus; i++) { + for (int i = 0; i < vm->maxcpus; i++) { if (CPU_ISSET(i, &vm->active_cpus)) - vcpu_notify_event(vm, i, false); + vcpu_notify_event(vm_vcpu(vm, i), false); } } else { - if (!CPU_ISSET(vcpuid, &vm->active_cpus)) + if (!CPU_ISSET(vcpu->vcpuid, &vm->active_cpus)) return (EINVAL); - CPU_SET_ATOMIC(vcpuid, &vm->debug_cpus); - vcpu_notify_event(vm, vcpuid, false); + CPU_SET_ATOMIC(vcpu->vcpuid, &vm->debug_cpus); + vcpu_notify_event(vcpu, false); } return (0); } int -vm_resume_cpu(struct vm *vm, int vcpuid) +vm_resume_cpu(struct vm *vm, struct vcpu *vcpu) { - if (vcpuid < -1 || vcpuid >= vm->maxcpus) - return (EINVAL); - - if (vcpuid == -1) { + if (vcpu == NULL) { CPU_ZERO(&vm->debug_cpus); } else { - if (!CPU_ISSET(vcpuid, &vm->debug_cpus)) + if (!CPU_ISSET(vcpu->vcpuid, &vm->debug_cpus)) return (EINVAL); - CPU_CLR_ATOMIC(vcpuid, &vm->debug_cpus); + CPU_CLR_ATOMIC(vcpu->vcpuid, &vm->debug_cpus); } return (0); } @@ -2465,28 +2403,19 @@ vcpu_stats(struct vcpu *vcpu) } int -vm_get_x2apic_state(struct vm *vm, int vcpuid, enum x2apic_state *state) +vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *state) { - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - - *state = vm->vcpu[vcpuid].x2apic_state; + *state = vcpu->x2apic_state; return (0); } int -vm_set_x2apic_state(struct vm *vm, int vcpuid, enum x2apic_state state) +vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state) { - struct vcpu *vcpu; - - if (vcpuid < 0 || vcpuid >= vm->maxcpus) - return (EINVAL); - if (state >= X2APIC_STATE_LAST) return (EINVAL); - vcpu = &vm->vcpu[vcpuid]; vcpu->x2apic_state = state; vlapic_set_x2apic_state(vcpu, state); @@ -2533,10 +2462,8 @@ vcpu_notify_event_locked(struct vcpu *vcpu, bool lapic_intr) } void -vcpu_notify_event(struct vm *vm, int vcpuid, bool lapic_intr) +vcpu_notify_event(struct vcpu *vcpu, bool lapic_intr) { - struct vcpu *vcpu = &vm->vcpu[vcpuid]; - vcpu_lock(vcpu); vcpu_notify_event_locked(vcpu, lapic_intr); vcpu_unlock(vcpu); @@ -2575,7 +2502,7 @@ restart: if (vm->rendezvous_func != NULL) { /* * If a rendezvous is already in progress then we need to - * call the rendezvous handler in case this 'vcpuid' is one + * call the rendezvous handler in case this 'vcpu' is one * of the targets of the rendezvous. */ VMM_CTR0(vcpu, "Rendezvous already in progress"); @@ -2601,7 +2528,7 @@ restart: */ for (i = 0; i < vm->maxcpus; i++) { if (CPU_ISSET(i, &dest)) - vcpu_notify_event(vm, i, false); + vcpu_notify_event(vm_vcpu(vm, i), false); } return (vm_handle_rendezvous(vcpu)); @@ -2748,22 +2675,22 @@ VMM_STAT_DECLARE(VMM_MEM_RESIDENT); VMM_STAT_DECLARE(VMM_MEM_WIRED); static void -vm_get_rescnt(struct vm *vm, int vcpu, struct vmm_stat_type *stat) +vm_get_rescnt(struct vcpu *vcpu, struct vmm_stat_type *stat) { - if (vcpu == 0) { - vmm_stat_set(vm_vcpu(vm, vcpu), VMM_MEM_RESIDENT, - PAGE_SIZE * vmspace_resident_count(vm->vmspace)); + if (vcpu->vcpuid == 0) { + vmm_stat_set(vcpu, VMM_MEM_RESIDENT, PAGE_SIZE * + vmspace_resident_count(vcpu->vm->vmspace)); } } static void -vm_get_wiredcnt(struct vm *vm, int vcpu, struct vmm_stat_type *stat) +vm_get_wiredcnt(struct vcpu *vcpu, struct vmm_stat_type *stat) { - if (vcpu == 0) { - vmm_stat_set(vm_vcpu(vm, vcpu), VMM_MEM_WIRED, - PAGE_SIZE * pmap_wired_count(vmspace_pmap(vm->vmspace))); + if (vcpu->vcpuid == 0) { + vmm_stat_set(vcpu, VMM_MEM_WIRED, PAGE_SIZE * + pmap_wired_count(vmspace_pmap(vcpu->vm->vmspace))); } } diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 1d36e190c7a6..a007a25aa9b5 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -131,22 +131,24 @@ vcpu_lock_one(struct vmmdev_softc *sc, int vcpu) if (vcpu < 0 || vcpu >= vm_get_maxcpus(sc->vm)) return (EINVAL); - error = vcpu_set_state(sc->vm, vcpu, VCPU_FROZEN, true); + error = vcpu_set_state(vm_vcpu(sc->vm, vcpu), VCPU_FROZEN, true); return (error); } static void -vcpu_unlock_one(struct vmmdev_softc *sc, int vcpu) +vcpu_unlock_one(struct vmmdev_softc *sc, int vcpuid) { + struct vcpu *vcpu; enum vcpu_state state; - state = vcpu_get_state(vm_vcpu(sc->vm, vcpu), NULL); + vcpu = vm_vcpu(sc->vm, vcpuid); + state = vcpu_get_state(vcpu, NULL); if (state != VCPU_FROZEN) { panic("vcpu %s(%d) has invalid state %d", vm_name(sc->vm), - vcpu, state); + vcpuid, state); } - vcpu_set_state(sc->vm, vcpu, VCPU_IDLE, false); + vcpu_set_state(vcpu, VCPU_IDLE, false); } static int @@ -366,6 +368,15 @@ vm_set_register_set(struct vcpu *vcpu, unsigned int count, int *regnum, return (error); } +static struct vcpu * +lookup_vcpu(struct vm *vm, int vcpuid) +{ + if (vcpuid < 0 || vcpuid >= vm_get_maxcpus(vm)) + return (NULL); + + return (vm_vcpu(vm, vcpuid)); +} + static int vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, struct thread *td) @@ -389,7 +400,6 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, *** 486 LINES SKIPPED *** From nobody Thu Jan 26 22:12:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w103Plsz3c8Mx; Thu, 26 Jan 2023 22: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 4P2w102999z3wQl; Thu, 26 Jan 2023 22: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=1674771124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0QA60UOhmRVX0qo3F9c6TYrtyCWtDR8olS4SPQRPTHc=; b=Sllhz8WYrotw+zjs7jTSOy+HeeIqiRoGpgVEauS1hfloDj9kZr/+M3VotU0j4s97P9+uyl sdWE9a6ThaAExRClPsazcWuPc7FL+aBRXnfL4gWHmJJ7jFXdOUwtpi16+HKu1ShccTmVjC DcnKssPmkgCwbThuo4JZb+j+DDfgPs07KLAt6c1TKwRoaewBzalxJr9HKzdoqjERWKQU3m 0ZH2QaFBQyffGZ9YtZ59ILHcWmQCBo/Hz+ctU6Nv1w5UoaX6QxtGxf54HSqp+VPVUeXok4 DRrB6WLgPv+gpPTKLPt6v1/fLFbbVnpMAhJd0OPDdyqF0OQZLJw8UASTFzH4UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0QA60UOhmRVX0qo3F9c6TYrtyCWtDR8olS4SPQRPTHc=; b=xnVvhV/l/x8tQfso3WlZIqUtulZu2Uv/AIIIWMPevbxZ03KEYAZkwaUbnHjuvZtiiOTmcc DU21C9mcsiqce1XAI6Owy1NXwZPsork3aTg5qmN6lSwYvTFWrSgYbdwkVN4v6UHor1b3EL nehULpNnjf6zgHKALueV6j3jZ7WzvhYCiBUZl3BcLX1H9pqL1ls14H9gbdwmdaUxodGsOB MeRoOOIe2J66eP3Jrki5/i5NpI+W6rZbXOqryb695hjDEmME/c7PXghBsAw+Vl6OUjeHHB etKJqR4CrG5ftvQKCTvek6EdU/n2yAkKhdFof5WI33Z00K6y1arjtZFn8ti/GA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771124; a=rsa-sha256; cv=none; b=ndjp49cob7QGCoD11Zs4MtuMisKjaeNDD9opSgcCW2SAodIlmtFNOQ6RbGjszPFtXJEqHD 8S/5Kf9+d56ULE/jt5W67F3+aV746yH/APHYcncjd3Hp5mFM2/AkUH381hEsmnxqY8gi5P +vKkny0eid6yf7PPzKvnAT54+qleFHt7iqx5Z0TX9rNpg6C2PP0GIM1OwtXWswvubsYToc 0Tjj4S4TSPbIJGt/pmOGp1KIa3cRUxewCP75mHvPwxI8AoW4FhONkROeSmEIBdJY3PYNv8 IBps71+c367mJojBYgyL0Iq78rYZFAwt9N5vT9S9nlBB3mh+nL0rWjr29ppTEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w10176VzlmF; Thu, 26 Jan 2023 22:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC4Vl022187; Thu, 26 Jan 2023 22:12:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC4xl022186; Thu, 26 Jan 2023 22:12:04 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:04 GMT Message-Id: <202301262212.30QMC4xl022186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 20406b29b3ec - stable/13 - vmm vmx: Allocate vpids on demand as each vCPU is initialized. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 20406b29b3ecd14e650ee85291d3977f3bd28432 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=20406b29b3ecd14e650ee85291d3977f3bd28432 commit 20406b29b3ecd14e650ee85291d3977f3bd28432 Author: John Baldwin AuthorDate: 2022-11-18 18:04:11 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:04:30 +0000 vmm vmx: Allocate vpids on demand as each vCPU is initialized. Compared to the previous version this does mean that if the system as a whole runs out of dedicated vPIDs you might end up with some vCPUs within a single VM using dedicated vPIDs and others using shared vPIDs, but this should not break anything. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37169 (cherry picked from commit 58eefc67a1cf16623c23354efd089f65401c0455) --- sys/amd64/vmm/intel/vmx.c | 47 +++++++++++++++++------------------------------ sys/amd64/vmm/intel/vmx.h | 1 - 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 9db638fd858e..52573416ded7 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -527,36 +527,25 @@ vpid_free(int vpid) free_unr(vpid_unr, vpid); } -static void -vpid_alloc(uint16_t *vpid, int num) +static uint16_t +vpid_alloc(int vcpuid) { - int i, x; - - if (num <= 0 || num > VM_MAXCPU) - panic("invalid number of vpids requested: %d", num); + int x; /* * If the "enable vpid" execution control is not enabled then the * VPID is required to be 0 for all vcpus. */ - if ((procbased_ctls2 & PROCBASED2_ENABLE_VPID) == 0) { - for (i = 0; i < num; i++) - vpid[i] = 0; - return; - } + if ((procbased_ctls2 & PROCBASED2_ENABLE_VPID) == 0) + return (0); /* - * Allocate a unique VPID for each vcpu from the unit number allocator. + * Try to allocate a unique VPID for each from the unit number + * allocator. */ - for (i = 0; i < num; i++) { - x = alloc_unr(vpid_unr); - if (x == -1) - break; - else - vpid[i] = x; - } + x = alloc_unr(vpid_unr); - if (i < num) { + if (x == -1) { atomic_add_int(&vpid_alloc_failed, 1); /* @@ -570,12 +559,10 @@ vpid_alloc(uint16_t *vpid, int num) * It is still sub-optimal because the invvpid will invalidate * combined mappings for a particular VPID across all EP4TAs. */ - while (i-- > 0) - vpid_free(vpid[i]); - - for (i = 0; i < num; i++) - vpid[i] = i + 1; + return (vcpuid + 1); } + + return (x); } static void @@ -1035,7 +1022,6 @@ vmx_init(struct vm *vm, pmap_t pmap) { int error; struct vmx *vmx; - uint16_t maxcpus = vm_get_maxcpus(vm); vmx = malloc(sizeof(struct vmx), M_VMX, M_WAITOK | M_ZERO); vmx->vm = vm; @@ -1096,8 +1082,6 @@ vmx_init(struct vm *vm, pmap_t pmap) ((cap_rdpid || cap_rdtscp) && guest_msr_ro(vmx, MSR_TSC_AUX))) panic("vmx_init: error setting guest msr access"); - vpid_alloc(vmx->vpids, maxcpus); - if (virtual_interrupt_delivery) { error = vm_map_mmio(vm, DEFAULT_APIC_BASE, PAGE_SIZE, APIC_ACCESS_ADDRESS); @@ -1116,8 +1100,11 @@ vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) struct vmcs *vmcs; struct vmx_vcpu *vcpu; uint32_t exc_bitmap; + uint16_t vpid; int error; + vpid = vpid_alloc(vcpuid); + vcpu = malloc(sizeof(*vcpu), M_VMX, M_WAITOK | M_ZERO); vcpu->vmx = vmx; vcpu->vcpu = vcpu1; @@ -1156,7 +1143,7 @@ vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) error += vmwrite(VMCS_EXIT_CTLS, exit_ctls); error += vmwrite(VMCS_ENTRY_CTLS, entry_ctls); error += vmwrite(VMCS_MSR_BITMAP, vtophys(vmx->msr_bitmap)); - error += vmwrite(VMCS_VPID, vmx->vpids[vcpuid]); + error += vmwrite(VMCS_VPID, vpid); if (guest_l1d_flush && !guest_l1d_flush_sw) { vmcs_write(VMCS_ENTRY_MSR_LOAD, pmap_kextract( @@ -1204,7 +1191,7 @@ vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) vcpu->state.nextrip = ~0; vcpu->state.lastcpu = NOCPU; - vcpu->state.vpid = vmx->vpids[vcpuid]; + vcpu->state.vpid = vpid; /* * Set up the CR0/4 shadows, and init the read shadow diff --git a/sys/amd64/vmm/intel/vmx.h b/sys/amd64/vmm/intel/vmx.h index e91675b62800..ad172073b03f 100644 --- a/sys/amd64/vmm/intel/vmx.h +++ b/sys/amd64/vmm/intel/vmx.h @@ -147,7 +147,6 @@ struct vmx { uint64_t eptp; long eptgen[MAXCPU]; /* cached pmap->pm_eptgen */ pmap_t pmap; - uint16_t vpids[VM_MAXCPU]; }; extern bool vmx_have_msr_tsc_aux; From nobody Thu Jan 26 22:12:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w113vQHz3c8dr; Thu, 26 Jan 2023 22:12: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 4P2w1139jjz3wYG; Thu, 26 Jan 2023 22: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=1674771125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGKDPwdynwWVaGjjaTVqssUOE8gDilqF+j4ap9ELeXU=; b=Z8VHVsBn4Y5u7/fn9Jm4Vkbg/8EB6188A+bWHR5zEJiORPPANXKmoeIO1bbBf0RMcpXVCJ Eo8tzro13uCS7+vIyumidQYCRyOoEd8TgR4bGQeeBYpBkHPcO4gNxLsEUCo2+7jDd7gnrJ SXXNjlypf+1vmIWyT/yT8RsyPEKXI7HSYdKZtGIM/W41cA+yIJuPtlAdUiDetihERpq+GL KCPVUv7bAXCLfHMAKtHJ6cZzuGgcyhvtXB4v4CZn43w94iR8r/cAc33jfeQn6zA9ouJYW3 WhrKs/nzo1B5PVWnTPhxcp8cpfeg/eLRvu5Fza1JF2lBZT4kYGBfD0qWrg+E0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGKDPwdynwWVaGjjaTVqssUOE8gDilqF+j4ap9ELeXU=; b=Yj2Uc+bGhuo7qy7GubXs3AbcOxg1yWJsABOoBkMYFZP7E1JngZm7SsWcUunpYuhoF3vg0r f0rmDtRowxU1QJK4hQrFxBUhU6A+1yKboZZcR5vVxsdjLo8180MjtLPF6LISbouaaSuX8s dPFI8jScEBLKD/7OHFEWF921OA93Je1+lyZ0NyX5wpI1pyQYkg+cGRbJXzJHW/Ej8FSVPh CasbXar+4Gauj+TmZUK2ak3QzUtp4TFke68+j1CYnKqhEThp3t8T4qZTpPz0+aPhnqYqOw FzVDTjo4rk8vFg8Jt4C7KMq6FOvb/BG3/Qfuo513HR/k6Lw/hMoQFu8SzQVZ0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771125; a=rsa-sha256; cv=none; b=jngZ8ZbSuFVDAyG1MWqii/4RfbsXG7z2nn2/n0QgdgRna/jrHeWOPSYrl34C97GH/5CZCh LvXUaT5ADbykT5+Z5rLU+yflFSB2OQGpOixV4RsAo58YbADJX4Qk1D37iaG5Nxg0k8LLOL HTzEfzl/4gmvNnIX1izpS6xcbxW1K4wLCd8PFU4CAqrhVJlreZ8sw9eXtBGxNbZ6AMJTgJ P72W16QxFULo7sBYayLCJ4zm1ol+Fzn7IrRrWu1GNcTQQ8aAXNmPI59/CxJAGllR6nb9P7 yjkQ5PP+g6AmgGI8m9yFtSoPTEW8X+MUUmfK8soSiszdj6sqSsciUdWRV8naTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1125DHzlhB; Thu, 26 Jan 2023 22:12:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC5PE022211; Thu, 26 Jan 2023 22:12:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC5V9022210; Thu, 26 Jan 2023 22:12:05 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:05 GMT Message-Id: <202301262212.30QMC5V9022210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 85ccfcb79fee - stable/13 - vmm stat: Add a special nelems constant for arrays sized by vCPU count. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 85ccfcb79fee1c6b607e7a5c911894032a25a015 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=85ccfcb79fee1c6b607e7a5c911894032a25a015 commit 85ccfcb79fee1c6b607e7a5c911894032a25a015 Author: John Baldwin AuthorDate: 2022-11-18 18:04:23 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:04:41 +0000 vmm stat: Add a special nelems constant for arrays sized by vCPU count. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37170 (cherry picked from commit d5118d0fc4599f69116ec8de59052606e36e6306) --- sys/amd64/vmm/io/vlapic.c | 2 +- sys/amd64/vmm/vmm_stat.c | 3 +++ sys/amd64/vmm/vmm_stat.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index bcfe6b498721..9c61726e77d7 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -905,7 +905,7 @@ vlapic_calcdest(struct vm *vm, cpuset_t *dmask, uint32_t dest, bool phys, } } -static VMM_STAT_ARRAY(IPIS_SENT, VM_MAXCPU, "ipis sent to vcpu"); +static VMM_STAT_ARRAY(IPIS_SENT, VMM_STAT_NELEMS_VCPU, "ipis sent to vcpu"); static void vlapic_set_tpr(struct vlapic *vlapic, uint8_t val) diff --git a/sys/amd64/vmm/vmm_stat.c b/sys/amd64/vmm/vmm_stat.c index 2df4423bc60f..168a380b221b 100644 --- a/sys/amd64/vmm/vmm_stat.c +++ b/sys/amd64/vmm/vmm_stat.c @@ -70,6 +70,9 @@ vmm_stat_register(void *arg) if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_svm()) return; + if (vst->nelems == VMM_STAT_NELEMS_VCPU) + vst->nelems = VM_MAXCPU; + if (vst_num_elems + vst->nelems >= MAX_VMM_STAT_ELEMS) { printf("Cannot accommodate vmm stat type \"%s\"!\n", vst->desc); return; diff --git a/sys/amd64/vmm/vmm_stat.h b/sys/amd64/vmm/vmm_stat.h index e40a960ec82a..050d3c13dda1 100644 --- a/sys/amd64/vmm/vmm_stat.h +++ b/sys/amd64/vmm/vmm_stat.h @@ -58,6 +58,8 @@ struct vmm_stat_type { void vmm_stat_register(void *arg); +#define VMM_STAT_NELEMS_VCPU (-1) + #define VMM_STAT_FDEFINE(type, nelems, desc, func, scope) \ struct vmm_stat_type type[1] = { \ { -1, nelems, desc, func, scope } \ From nobody Thu Jan 26 22:12:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w126BgHz3c8N7; Thu, 26 Jan 2023 22: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 4P2w125Q8nz3wLD; Thu, 26 Jan 2023 22: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=1674771126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUG5ki9HNhQUX875X8EaCR4d5Vi2rhM0G1YUNdwCuC0=; b=t1oXLlZm1zTyJOqhG4zGhXHWeBlOHS+K83ZZ+39XyJaoNL/gbobMiYLdDjE0Jecw1DhZCI phkn4MBpsxnlnli1pgolBjvT+N+OZ4k6owWMFSAyE+q2tnT0ekuODiJcA0VUE2b0LoOd+m PD0MiXZ0eoSNk5k8OVf/Gqj7zDDf+DuSHaXJqmH13BHMXkhyimQ5Eb7YO+X+WEXYKSMdOH UWjt0enHCL8U0DFQTGEdeEVShnzllsCOHMl+Bd8Tuhr0gEAyJT7x0xZY5uLa3fX0gkH+zq 6LUgfR0BtzJgBNEtkG1LCZwkFlb19UdHiOWaAC5veQnr0RfdbMMR+eCXIsHw0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUG5ki9HNhQUX875X8EaCR4d5Vi2rhM0G1YUNdwCuC0=; b=tkoU6f+5cvrEb2QqJf7rvxmMMc0Glz7TsBkEkrHezRnHjNK6ekdY0Eh+rku76PFPSRiPYt ODxtWc8m79ONGtl+JpLcjhprcMLysLdbWSx6eb0TL2j/pDdnbIQkuqZDbwFt7U3IC3/9rC Zdi3c4ycliVvNsS3wR2Tg8JIRoEtIKmjMEiUGWFn5ETx5RTof8/hX1mv+SYnM9rIM55OS7 XXkJfFyRcGaNXdCAmRuNLKWG/oHKiqcl2Hir2XAB3BzrD2Vhg4ij/tvZIhyQVnT+b7uj4P P4ZhqSOMmBLMPITHLUI5Ux8Q7T/OcmEdjO8A88u53n8r636Gm9foQhCKHu++Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771126; a=rsa-sha256; cv=none; b=xPD3Lq1mpuOXr3NLYp0QWbSqIvuy7GLu9Q0kskH6PuOioC2YV2l/jGekennHEmMUG41KF1 t81zaGc3yABpIE+lAnninGJjdFKHshar+FBijc/a8NabP0xXKZ2S3TmPpmUoYGEetSY0Zs jwiif3zjrL6DMyduCxzCF4yFwXinAXdD8ATB38IIY23HgHqh40EAQh5+/bvY6lbbNU+cRE RP8NkvQkdfwaNp5UCs5f0COaBCpfDMxln/6B4cjKiYay2hM7JIZXjbnm7TROpwXEUPhaRo zMGwxIS7uPI1oo5Kzs+dxo+/iu3W05GMAwkQVQqnLJ/vkTwbi7SaHJEMb20vMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w123PMVzm4h; Thu, 26 Jan 2023 22:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC6h5022235; Thu, 26 Jan 2023 22:12:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC62P022234; Thu, 26 Jan 2023 22:12:06 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:06 GMT Message-Id: <202301262212.30QMC62P022234@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1c44dd389459 - stable/13 - vmm: Destroy mutexes. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c44dd389459e47baf80f2f3e7dd85df45f97cc9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1c44dd389459e47baf80f2f3e7dd85df45f97cc9 commit 1c44dd389459e47baf80f2f3e7dd85df45f97cc9 Author: John Baldwin AuthorDate: 2022-11-18 18:04:30 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:04:51 +0000 vmm: Destroy mutexes. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37171 (cherry picked from commit 08ebb360764729632e1f6bc4e3f434abdd708204) --- sys/amd64/vmm/io/vatpic.c | 1 + sys/amd64/vmm/io/vatpit.c | 1 + sys/amd64/vmm/io/vhpet.c | 1 + sys/amd64/vmm/io/vioapic.c | 1 + sys/amd64/vmm/io/vlapic.c | 1 + sys/amd64/vmm/io/vrtc.c | 1 + sys/amd64/vmm/vmm.c | 4 ++++ sys/amd64/vmm/vmm_dev.c | 2 +- 8 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/amd64/vmm/io/vatpic.c b/sys/amd64/vmm/io/vatpic.c index 5ece5d433244..d959909d7cdc 100644 --- a/sys/amd64/vmm/io/vatpic.c +++ b/sys/amd64/vmm/io/vatpic.c @@ -809,6 +809,7 @@ vatpic_init(struct vm *vm) void vatpic_cleanup(struct vatpic *vatpic) { + mtx_destroy(&vatpic->mtx); free(vatpic, M_VATPIC); } diff --git a/sys/amd64/vmm/io/vatpit.c b/sys/amd64/vmm/io/vatpit.c index 7626b4dc4cc2..c58a6da66c1a 100644 --- a/sys/amd64/vmm/io/vatpit.c +++ b/sys/amd64/vmm/io/vatpit.c @@ -470,6 +470,7 @@ vatpit_cleanup(struct vatpit *vatpit) for (i = 0; i < 3; i++) callout_drain(&vatpit->channel[i].callout); + mtx_destroy(&vatpit->mtx); free(vatpit, M_VATPIT); } diff --git a/sys/amd64/vmm/io/vhpet.c b/sys/amd64/vmm/io/vhpet.c index dd409cde188f..7e73684ebad2 100644 --- a/sys/amd64/vmm/io/vhpet.c +++ b/sys/amd64/vmm/io/vhpet.c @@ -754,6 +754,7 @@ vhpet_cleanup(struct vhpet *vhpet) for (i = 0; i < VHPET_NUM_TIMERS; i++) callout_drain(&vhpet->timer[i].callout); + mtx_destroy(&vhpet->mtx); free(vhpet, M_VHPET); } diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index e41b5acac920..00a206fa604d 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -508,6 +508,7 @@ void vioapic_cleanup(struct vioapic *vioapic) { + mtx_destroy(&vioapic->mtx); free(vioapic, M_VIOAPIC); } diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 9c61726e77d7..1a8b54bba3bf 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1641,6 +1641,7 @@ vlapic_cleanup(struct vlapic *vlapic) { callout_drain(&vlapic->callout); + mtx_destroy(&vlapic->timer_mtx); } uint64_t diff --git a/sys/amd64/vmm/io/vrtc.c b/sys/amd64/vmm/io/vrtc.c index d950bd68ad04..9cf70027f3d8 100644 --- a/sys/amd64/vmm/io/vrtc.c +++ b/sys/amd64/vmm/io/vrtc.c @@ -1018,6 +1018,7 @@ vrtc_cleanup(struct vrtc *vrtc) { callout_drain(&vrtc->callout); + mtx_destroy(&vrtc->mtx); free(vrtc, M_VRTC); } diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 825b3383b787..4659495ca5a2 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -128,6 +128,7 @@ struct vcpu { #define vcpu_lock_initialized(v) mtx_initialized(&((v)->mtx)) #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) +#define vcpu_lock_destroy(v) mtx_destroy(&((v)->mtx)) #define vcpu_lock(v) mtx_lock_spin(&((v)->mtx)) #define vcpu_unlock(v) mtx_unlock_spin(&((v)->mtx)) #define vcpu_assert_locked(v) mtx_assert(&((v)->mtx), MA_OWNED) @@ -320,6 +321,7 @@ vcpu_cleanup(struct vm *vm, int i, bool destroy) if (destroy) { vmm_stat_free(vcpu->stats); fpu_save_area_free(vcpu->guestfpu); + vcpu_lock_destroy(vcpu); } } @@ -606,6 +608,8 @@ vm_cleanup(struct vm *vm, bool destroy) vmmops_vmspace_free(vm->vmspace); vm->vmspace = NULL; + + mtx_destroy(&vm->rendezvous_mtx); } } diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index a007a25aa9b5..249131b16464 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -103,6 +103,7 @@ static SLIST_HEAD(, vmmdev_softc) head; static unsigned pr_allow_flag; static struct mtx vmmdev_mtx; +MTX_SYSINIT(vmmdev_mtx, &vmmdev_mtx, "vmm device mutex", MTX_DEF); static MALLOC_DEFINE(M_VMMDEV, "vmmdev", "vmmdev"); @@ -1216,7 +1217,6 @@ SYSCTL_PROC(_hw_vmm, OID_AUTO, create, void vmmdev_init(void) { - mtx_init(&vmmdev_mtx, "vmm device mutex", NULL, MTX_DEF); pr_allow_flag = prison_add_allow(NULL, "vmm", NULL, "Allow use of vmm in a jail."); } From nobody Thu Jan 26 22:12:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w141yXTz3c8jX; Thu, 26 Jan 2023 22: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 4P2w135NJZz3wYX; Thu, 26 Jan 2023 22:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WYksqmSvzDc5QIkDjYWSdwRVrHzFX/zfl5FcUVNnnkg=; b=h84D8kk7eFrApeEr6eeC3e/zrk9ZNxE9e/Lk+xXjZmvBdWzygU5Ws1IZe0vHdPfnt6Z3mp rP3pP9uurV6hMYJTIoAubrLS4siLz4KFcbOhpX/Y06IWApBj6jmfmRXxG8dWUCl79Tcx3U OVs6/Ix/lTTBITiVlk9a0Ccb8LVa/gRmu851PRC9I4qcHote7PFn7gMQH18bHUL0PhHg8i omU1DEhmK+z6H1nuF+Wut3STtIXz5tcP7QNVcWEvnBJYzVR4vPxINcAbMq10iPcxCsyCqB urPcKXKQmyMjNsVQfBICkf0HpDmRfCQFJupzkiIVKODhseU7PAnUTIjwQXYsRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WYksqmSvzDc5QIkDjYWSdwRVrHzFX/zfl5FcUVNnnkg=; b=g0AyUeBB4AB5haaur1jsWN6+WT6yCMZLiZr9pAtW4ZGsaooupyy7TYLWPWzHmByPzYROsc hqIJg69+9mklOKal+tD74IS95JCWh5wfcuU9+9+y6act3SBKYHjRCP2NK2lCG52YdyPCkQ ylrvXl3XWbHZ3mVN+zybhwMxofvE/gLvslF3Zxa6ToZCHhjJZeSxN3iC6CKyqlYX1Cbvpk axXqJ6ljVJRdqmy02zLA87yYcpOhjOa6Ka1X4Zgn17EygBzE/qcNGwWccUbqgiY9PvX8sN LDY6znaNamo5Pb9Te8pFBhiDiDkS8MJl3fxaawtXn/U2nlfSoKWQ/ZyB9qJG8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771127; a=rsa-sha256; cv=none; b=fDFNBF4IdNzqfBXD7Pou7iPROYB/H4QcvyE9N+oyV7U3J1ZtqueY79l0Ks82e3vDFN5QC1 5V+keYXFlpwBpVCJhAeBTScFy6tmF9UP6WfdPn2/pBUknZ6/bDnuZBeaHrPT2p4SPMU4dx nWAf69coSRQpi2J6LMsT8MgQXpm5sM0FBBZBTrde9owhRDsJ1oi3/1B3CBkmUFdlIOyuPq eBn8EVWO9SbjVuplz6v+YpzvdOk3l5aOWarMZDJi14SiRgfS++gC5UZ/uNv+xhQ9u0wXJ0 KBhr8cEzfLEqLF/AVg4RZ9FCh/gUxKB6SWLnlTgK+q+k8dzzqQ1MkEVeaejkig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w134TZ6zlhD; Thu, 26 Jan 2023 22:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC7eO022259; Thu, 26 Jan 2023 22:12:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC7iN022258; Thu, 26 Jan 2023 22:12:07 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:07 GMT Message-Id: <202301262212.30QMC7iN022258@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: aca0d0b421d3 - stable/13 - vmm: Use an sx lock to protect the memory map. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aca0d0b421d3ee7b844edf949902c0c189279ad7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=aca0d0b421d3ee7b844edf949902c0c189279ad7 commit aca0d0b421d3ee7b844edf949902c0c189279ad7 Author: John Baldwin AuthorDate: 2022-11-18 18:04:37 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:05:02 +0000 vmm: Use an sx lock to protect the memory map. Previously bhyve obtained a "read lock" on the memory map for ioctls needing to read the map by locking the last vCPU. This is now replaced by a new per-VM sx lock. Modifying the map requires exclusively locking the sx lock as well as locking all existing vCPUs. Reading the map requires either locking one vCPU or the sx lock. This permits safely modifying or querying the memory map while some vCPUs do not exist which will be true in a future commit. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37172 (cherry picked from commit 67b69e76e8eecfd204f6de636d622a1d681c8d7e) --- sys/amd64/include/vmm.h | 3 +++ sys/amd64/vmm/vmm.c | 55 +++++++++++++++++++++++++++-------------- sys/amd64/vmm/vmm_dev.c | 66 ++++++++++++++++++++++++------------------------- 3 files changed, 72 insertions(+), 52 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 7c346d7ed4ed..b7506faaee92 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -231,6 +231,9 @@ int vm_set_topology(struct vm *vm, uint16_t sockets, uint16_t cores, /* * APIs that modify the guest memory map require all vcpus to be frozen. */ +void vm_slock_memsegs(struct vm *vm); +void vm_xlock_memsegs(struct vm *vm); +void vm_unlock_memsegs(struct vm *vm); int vm_mmap_memseg(struct vm *vm, vm_paddr_t gpa, int segid, vm_ooffset_t off, size_t len, int prot, int flags); int vm_munmap_memseg(struct vm *vm, vm_paddr_t gpa, size_t len); diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 4659495ca5a2..87f1d9e45d58 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -155,6 +156,11 @@ struct mem_map { * (o) initialized the first time the VM is created * (i) initialized when VM is created and when it is reinitialized * (x) initialized before use + * + * Locking: + * [m] mem_segs_lock + * [r] rendezvous_mtx + * [v] reads require one frozen vcpu, writes require freezing all vcpus */ struct vm { void *cookie; /* (i) cpu-specific data */ @@ -170,13 +176,13 @@ struct vm { int suspend; /* (i) stop VM execution */ volatile cpuset_t suspended_cpus; /* (i) suspended vcpus */ volatile cpuset_t halted_cpus; /* (x) cpus in a hard halt */ - cpuset_t rendezvous_req_cpus; /* (x) rendezvous requested */ - cpuset_t rendezvous_done_cpus; /* (x) rendezvous finished */ - void *rendezvous_arg; /* (x) rendezvous func/arg */ + cpuset_t rendezvous_req_cpus; /* (x) [r] rendezvous requested */ + cpuset_t rendezvous_done_cpus; /* (x) [r] rendezvous finished */ + void *rendezvous_arg; /* (x) [r] rendezvous func/arg */ vm_rendezvous_func_t rendezvous_func; struct mtx rendezvous_mtx; /* (o) rendezvous lock */ - struct mem_map mem_maps[VM_MAX_MEMMAPS]; /* (i) guest address space */ - struct mem_seg mem_segs[VM_MAX_MEMSEGS]; /* (o) guest memory regions */ + struct mem_map mem_maps[VM_MAX_MEMMAPS]; /* (i) [m+v] guest address space */ + struct mem_seg mem_segs[VM_MAX_MEMSEGS]; /* (o) [m+v] guest memory regions */ struct vmspace *vmspace; /* (o) guest's address space */ char name[VM_MAX_NAMELEN+1]; /* (o) virtual machine name */ struct vcpu vcpu[VM_MAXCPU]; /* (i) guest vcpus */ @@ -185,6 +191,7 @@ struct vm { uint16_t cores; /* (o) num of cores/socket */ uint16_t threads; /* (o) num of threads/core */ uint16_t maxcpus; /* (o) max pluggable cpus */ + struct sx mem_segs_lock; /* (o) */ }; #define VMM_CTR0(vcpu, format) \ @@ -518,6 +525,7 @@ vm_create(const char *name, struct vm **retvm) strcpy(vm->name, name); vm->vmspace = vmspace; mtx_init(&vm->rendezvous_mtx, "vm rendezvous lock", 0, MTX_DEF); + sx_init(&vm->mem_segs_lock, "vm mem_segs"); vm->sockets = 1; vm->cores = cores_per_package; /* XXX backwards compatibility */ @@ -609,6 +617,7 @@ vm_cleanup(struct vm *vm, bool destroy) vmmops_vmspace_free(vm->vmspace); vm->vmspace = NULL; + sx_destroy(&vm->mem_segs_lock); mtx_destroy(&vm->rendezvous_mtx); } } @@ -645,6 +654,24 @@ vm_name(struct vm *vm) return (vm->name); } +void +vm_slock_memsegs(struct vm *vm) +{ + sx_slock(&vm->mem_segs_lock); +} + +void +vm_xlock_memsegs(struct vm *vm) +{ + sx_xlock(&vm->mem_segs_lock); +} + +void +vm_unlock_memsegs(struct vm *vm) +{ + sx_unlock(&vm->mem_segs_lock); +} + int vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa) { @@ -702,6 +729,8 @@ vm_alloc_memseg(struct vm *vm, int ident, size_t len, bool sysmem) struct mem_seg *seg; vm_object_t obj; + sx_assert(&vm->mem_segs_lock, SX_XLOCKED); + if (ident < 0 || ident >= VM_MAX_MEMSEGS) return (EINVAL); @@ -732,6 +761,8 @@ vm_get_memseg(struct vm *vm, int ident, size_t *len, bool *sysmem, { struct mem_seg *seg; + sx_assert(&vm->mem_segs_lock, SX_LOCKED); + if (ident < 0 || ident >= VM_MAX_MEMSEGS) return (EINVAL); @@ -1075,19 +1106,7 @@ void * vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, int reqprot, void **cookie) { -#ifdef INVARIANTS - /* - * All vcpus are frozen by ioctls that modify the memory map - * (e.g. VM_MMAP_MEMSEG). Therefore 'vm->memmap[]' stability is - * guaranteed if at least one vcpu is in the VCPU_FROZEN state. - */ - int state; - for (int i = 0; i < vm->maxcpus; i++) { - state = vcpu_get_state(vm_vcpu(vm, i), NULL); - KASSERT(state == VCPU_FROZEN, ("%s: invalid vcpu state %d", - __func__, state)); - } -#endif + sx_assert(&vm->mem_segs_lock, SX_LOCKED); return (_vm_gpa_hold(vm, gpa, len, reqprot, cookie)); } diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 249131b16464..1b8b1e6d388f 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -221,8 +221,6 @@ vmmdev_rw(struct cdev *cdev, struct uio *uio, int flags) vm_paddr_t gpa, maxaddr; void *hpa, *cookie; struct vmmdev_softc *sc; - struct vcpu *vcpu; - uint16_t lastcpu; error = vmm_priv_check(curthread->td_ucred); if (error) @@ -233,13 +231,9 @@ vmmdev_rw(struct cdev *cdev, struct uio *uio, int flags) return (ENXIO); /* - * Get a read lock on the guest memory map by freezing any vcpu. + * Get a read lock on the guest memory map. */ - lastcpu = vm_get_maxcpus(sc->vm) - 1; - error = vcpu_lock_one(sc, lastcpu); - if (error) - return (error); - vcpu = vm_vcpu(sc->vm, lastcpu); + vm_slock_memsegs(sc->vm); prot = (uio->uio_rw == UIO_WRITE ? VM_PROT_WRITE : VM_PROT_READ); maxaddr = vmm_sysmem_maxaddr(sc->vm); @@ -256,7 +250,7 @@ vmmdev_rw(struct cdev *cdev, struct uio *uio, int flags) * Since this device does not support lseek(2), dd(1) will * read(2) blocks of data to simulate the lseek(2). */ - hpa = vm_gpa_hold(vcpu, gpa, c, prot, &cookie); + hpa = vm_gpa_hold_global(sc->vm, gpa, c, prot, &cookie); if (hpa == NULL) { if (uio->uio_rw == UIO_READ && gpa < maxaddr) error = uiomove(__DECONST(void *, zero_region), @@ -268,7 +262,7 @@ vmmdev_rw(struct cdev *cdev, struct uio *uio, int flags) vm_gpa_release(cookie); } } - vcpu_unlock_one(sc, lastcpu); + vm_unlock_memsegs(sc->vm); return (error); } @@ -420,6 +414,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, struct vm_readwrite_kernemu_device *kernemu; uint64_t *regvals; int *regnums; + bool memsegs_locked; #ifdef BHYVE_SNAPSHOT struct vm_snapshot_meta *snapshot_meta; #endif @@ -435,6 +430,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, vcpuid = -1; vcpu = NULL; state_changed = 0; + memsegs_locked = false; /* * For VMM ioctls that operate on a single vCPU, lookup the @@ -476,10 +472,6 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, vcpu = vm_vcpu(sc->vm, vcpuid); break; - case VM_MAP_PPTDEV_MMIO: - case VM_UNMAP_PPTDEV_MMIO: - case VM_BIND_PPTDEV: - case VM_UNBIND_PPTDEV: #ifdef COMPAT_FREEBSD12 case VM_ALLOC_MEMSEG_FBSD12: #endif @@ -487,6 +479,21 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, case VM_MMAP_MEMSEG: case VM_MUNMAP_MEMSEG: case VM_REINIT: + /* + * ioctls that modify the memory map must lock memory + * segments exclusively. + */ + vm_xlock_memsegs(sc->vm); + memsegs_locked = true; + /* FALLTHROUGH */ + case VM_MAP_PPTDEV_MMIO: + case VM_UNMAP_PPTDEV_MMIO: + case VM_BIND_PPTDEV: + case VM_UNBIND_PPTDEV: +#ifdef BHYVE_SNAPSHOT + case VM_SNAPSHOT_REQ: + case VM_RESTORE_TIME: +#endif /* * ioctls that operate on the entire virtual machine must * prevent all vcpus from running. @@ -503,14 +510,10 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, case VM_GET_MEMSEG: case VM_MMAP_GETNEXT: /* - * Lock a vcpu to make sure that the memory map cannot be - * modified while it is being inspected. + * Lock the memory map while it is being inspected. */ - vcpuid = vm_get_maxcpus(sc->vm) - 1; - error = vcpu_lock_one(sc, vcpuid); - if (error) - goto done; - state_changed = 1; + vm_slock_memsegs(sc->vm); + memsegs_locked = true; break; #ifdef COMPAT_FREEBSD13 @@ -958,6 +961,8 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, vcpu_unlock_one(sc, vcpuid); else if (state_changed == 2) vcpu_unlock_all(sc); + if (memsegs_locked) + vm_unlock_memsegs(sc->vm); done: /* @@ -978,7 +983,6 @@ vmmdev_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t mapsize, size_t len; vm_ooffset_t segoff, first, last; int error, found, segid; - uint16_t lastcpu; bool sysmem; error = vmm_priv_check(curthread->td_ucred); @@ -997,12 +1001,9 @@ vmmdev_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t mapsize, } /* - * Get a read lock on the guest memory map by freezing any vcpu. + * Get a read lock on the guest memory map. */ - lastcpu = vm_get_maxcpus(sc->vm) - 1; - error = vcpu_lock_one(sc, lastcpu); - if (error) - return (error); + vm_slock_memsegs(sc->vm); gpa = 0; found = 0; @@ -1029,7 +1030,7 @@ vmmdev_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t mapsize, error = EINVAL; } } - vcpu_unlock_one(sc, lastcpu); + vm_unlock_memsegs(sc->vm); return (error); } @@ -1242,7 +1243,6 @@ devmem_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t len, vm_ooffset_t first, last; size_t seglen; int error; - uint16_t lastcpu; bool sysmem; dsc = cdev->si_drv1; @@ -1256,16 +1256,14 @@ devmem_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t len, if ((nprot & PROT_EXEC) || first < 0 || first >= last) return (EINVAL); - lastcpu = vm_get_maxcpus(dsc->sc->vm) - 1; - error = vcpu_lock_one(dsc->sc, lastcpu); - if (error) - return (error); + vm_slock_memsegs(dsc->sc->vm); error = vm_get_memseg(dsc->sc->vm, dsc->segid, &seglen, &sysmem, objp); KASSERT(error == 0 && !sysmem && *objp != NULL, ("%s: invalid devmem segment %d", __func__, dsc->segid)); - vcpu_unlock_one(dsc->sc, lastcpu); + + vm_unlock_memsegs(dsc->sc->vm); if (seglen >= last) { vm_object_reference(*objp); From nobody Thu Jan 26 22:12:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w151ttyz3c8kd; Thu, 26 Jan 2023 22:12: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 4P2w1470GKz3wYq; Thu, 26 Jan 2023 22: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=1674771129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h9+gUMSzLmZ+I8qF6TZZ6jtnNp6yZFYGWjYqT9t+w1c=; b=qlzjToCCzkByESTNm2WIx6WzSHl36mNvE/LxP8EDSwO8AvMCTmYxacIHYuyH6gH7+J/mR4 60/um09Eo5W/Ou+UPltNvRFqz5daiTds6J5zRCxceQZiXJ2ACyfNaYOc/kHuCy2u+93/dj ciSCyqLbooE7gmOS/Dxa4s7IUwZk46E0AVYsC75zbIV0AhaXGPRBpqm+pB9/vgAUQzDJuJ z6QiCIKuyjeplzHGssv7m8brRE6ywyxvzlIfWR9h3uvkVx2Or7lH/LD6HWG1CUCswpA3Nz 8QVbDZ81n6cXOd7dt2vgwneLk/nNcRYdhjFWjUXcAypIXnlfcF/MW7p8M6Oogg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h9+gUMSzLmZ+I8qF6TZZ6jtnNp6yZFYGWjYqT9t+w1c=; b=aAkKxtZQWnMQGLnypxgUZPV8tz0WHaMP+FCj5hxiCLgd2JITgrayvaQmZDxOkdNQOU8Jrl 2eCC3w/7xLkWi8Qnm4OGUwf4f7MftDNNWGH3hHpG0M02WiY3UIIrP16nE8MrGSPesg9Rso Xz33KX4o+KWTo4PCjxdnWlEt4VQAzidyd3JmzCh17ybsD75EJeOo/6AwWQmJVZ5iZ6N+Np bpl2gkF30TyMAD0ZpC/8Qz3koXHOR0z/K8iLl9ILUlCVVk4cKZe0dT52E9a/th5qDbfgnC fj8BcHSotAxthdrpCLem35HY+usao0+uRFcoyf9c7MW/7afmPG3Hy+ilnEIj+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771129; a=rsa-sha256; cv=none; b=Qbmn5rpuC5zIV8zcguovWb1FzBsdRiCeCEyUXzj6rXWrD9+HSytcreBakVu71R3Dm7YJUG 9rhTxBEasdm6m+H9BJG53v0W2uHBvs3KUDBZvPKLBLKHqo2MhQXB9h/Q5OpWIjo17QljXu qsLIPPMYvQDez+F9wwzkRj+qTeQ1utDZ4MaaPUgMemnnsIOyFShVnfRhS/Yrm/t4jIUUZs nYdS9qFKK4S/wUFWMA4RxPNZHZzUOZQkLDkF11Q54Sg1Yb9SpMZGgUc6VWbjh6lGDKlnV7 lf3J2/NeRvGm2nTbQZ4GwOG2M2u9SR1c7q4UTqELKEjihBzAeG9G4pUkMLUtFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w145NJ4zlmJ; Thu, 26 Jan 2023 22:12:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC8KG022289; Thu, 26 Jan 2023 22:12:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC8r6022288; Thu, 26 Jan 2023 22:12:08 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:08 GMT Message-Id: <202301262212.30QMC8r6022288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: eb37d3cc565e - stable/13 - vmm: take exclusive mem_segs_lock when (un)assigning ppt dev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb37d3cc565e278d568b0454fc3b2b9cab4c3518 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=eb37d3cc565e278d568b0454fc3b2b9cab4c3518 commit eb37d3cc565e278d568b0454fc3b2b9cab4c3518 Author: Robert Wing AuthorDate: 2023-01-20 10:03:59 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:05:13 +0000 vmm: take exclusive mem_segs_lock when (un)assigning ppt dev PR: 268744 Reported by: mmatalka@gmail.com Reviewed by: corvink, markj, jhb Fixes: 67b69e76e8ee ("vmm: Use an sx lock to protect the memory map.") Differential Revision: https://reviews.freebsd.org/D37962 (cherry picked from commit ccf32a68f821c5c724fb9a5b4b9576925122292f) --- sys/amd64/vmm/vmm_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 1b8b1e6d388f..571e287dc4b6 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -476,6 +476,8 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, case VM_ALLOC_MEMSEG_FBSD12: #endif case VM_ALLOC_MEMSEG: + case VM_BIND_PPTDEV: + case VM_UNBIND_PPTDEV: case VM_MMAP_MEMSEG: case VM_MUNMAP_MEMSEG: case VM_REINIT: @@ -488,8 +490,6 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, /* FALLTHROUGH */ case VM_MAP_PPTDEV_MMIO: case VM_UNMAP_PPTDEV_MMIO: - case VM_BIND_PPTDEV: - case VM_UNBIND_PPTDEV: #ifdef BHYVE_SNAPSHOT case VM_SNAPSHOT_REQ: case VM_RESTORE_TIME: From nobody Thu Jan 26 22:12:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w161pDqz3c8f5; Thu, 26 Jan 2023 22:12: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 4P2w160xYCz3wlH; Thu, 26 Jan 2023 22:12:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYngDk4Nl4m0NbFgBAbVM7nnpqO+oAj0XQK9EiRg3rQ=; b=jnYR2ytdFrTJWObsmGn9BDfV0tEj3J8SZtlDs9vGJ/sRqWOIYzIf4eHN6dwCkNKWcbAwtW YhBX/Ghv0DYtDX1pHQVBBoTTdT1iDup+L1sVxMxt8R8OdlsSi6mgWZy6BhHYmqydVs8o6W P/EAU/qA3qloTe5sSCDmA0gVDfzQUWUvyZgoLOSjrHmHGt5U4Gil8Hb4jFmUI2hyOuYxFu +50dxwr5xFgPGSR8cYskPYJH4T8vOGiIYyuMCHCGNa79cklYwsLr3vKxwv1d4vygUTt+gc 0lOGHEU0lyeX+d33V5IWuFuqHpUG4Y3APdIPhq+9EjUrOKrzNpZfWcuQCy3Iow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYngDk4Nl4m0NbFgBAbVM7nnpqO+oAj0XQK9EiRg3rQ=; b=aesKvOEkom5dvslzrSQSVlLCIwasCiMzf0NN1WSA1omxRcglODyPLyU+vlB8nlYoq5BAfD 8mKddKPrGS5ivWQvP+7tu+FbkzdFeF5VrxhTvQoCzqIk/mZ8zFFmnvpkk26FvdbdtP4Vtn q4mEFLZWdnVcZCCmQjNGwvRUOwnbZQaMEZ4mBPB19k2x/bkxPPctV99dBYIsUvtjj+hA+C jwTuk6RcKLQjwqUWgPGuYlE35F3yJ2zB/Fm1WymumGIAesT95Nyr8eAE1+xBt8ALtYK7al 3sKz0Ato19tCdCvjrm9dJc7IqxEjI+4EW5QWC8Q4QiNUZiz8fTsZ9jQIRbaJWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771130; a=rsa-sha256; cv=none; b=ZZWAW3gcmWSTmugqcpjUX9q8Nqdvfp9/B2U9b4To0QFbqI1eUdv2GrxvsvnRxaNQBTGexe xpXDDRrZjlyqBfUMoOHhiMWIR51VCPRjYMOCP5EwVEyrhpq9PpBleOgXOXvl+v3+KtbR3z 9b+biwffYohQvpcQ6YERSE3W+KBLXVrgit5h1nkpdq+e6V1sGyV1HRZxxuZbioaQitdwDW l1ay25fvmui3b+UOo4IijuWyrp9KVnrbbEhMM5g3OLYV7cKwtgQfgnh4njvKcolhx+5vPY DjYuSg3UyWqwVev9RH+Ocvw8Jvw2ILLWxrUHVza62eryvFgy40O/vbu0ma8Cjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w156Ck6zljk; Thu, 26 Jan 2023 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC93k022313; Thu, 26 Jan 2023 22:12:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC9We022312; Thu, 26 Jan 2023 22:12:09 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:09 GMT Message-Id: <202301262212.30QMC9We022312@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8cd6af3324bf - stable/13 - vmm: take exclusive mem_segs_lock in vm_cleanup() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8cd6af3324bfb563a64d34b581e88efa46db6ac5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8cd6af3324bfb563a64d34b581e88efa46db6ac5 commit 8cd6af3324bfb563a64d34b581e88efa46db6ac5 Author: Robert Wing AuthorDate: 2023-01-20 11:10:53 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:05:23 +0000 vmm: take exclusive mem_segs_lock in vm_cleanup() The consumers of vm_cleanup() are vm_reinit() and vm_destroy(). The vm_reinit() call path is, here vmmdev_ioctl() takes mem_segs_lock: vmmdev_ioctl() vm_reinit() vm_cleanup(destroy=false) The call path for vm_destroy() is (mem_segs_lock not taken): sysctl_vmm_destroy() vmmdev_destroy() vm_destroy() vm_cleanup(destroy=true) Fix this by taking mem_segs_lock in vm_cleanup() when destroy == true. Reviewed by: corvink, markj, jhb Fixes: 67b69e76e8ee ("vmm: Use an sx lock to protect the memory map.") Differential Revision: https://reviews.freebsd.org/D38071 (cherry picked from commit c668e8173a8fc047b54a5c51b0fe4637e87836b6) --- sys/amd64/vmm/vmm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 87f1d9e45d58..57c8555f08fe 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -576,6 +576,9 @@ vm_cleanup(struct vm *vm, bool destroy) struct mem_map *mm; int i; + if (destroy) + vm_xlock_memsegs(vm); + ppt_unassign_all(vm); if (vm->iommu != NULL) @@ -613,6 +616,7 @@ vm_cleanup(struct vm *vm, bool destroy) if (destroy) { for (i = 0; i < VM_MAX_MEMSEGS; i++) vm_free_memseg(vm, i); + vm_unlock_memsegs(vm); vmmops_vmspace_free(vm->vmspace); vm->vmspace = NULL; From nobody Thu Jan 26 22:12:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w171cCTz3c8n2; Thu, 26 Jan 2023 22:12: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 4P2w170X5Mz3wZF; Thu, 26 Jan 2023 22:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c9T/eK4kvDlZ/+MGDSCeLJo+YUlYZHhJeid3P8A0k68=; b=hYoQ+nnjQgkGi09kXN2rUr9IVkZ7VeLh1YO1AqkjXR6lmFhm4HHWvVzncsdr098xCpd6Fa H5kC3hMb2F333OPeozgKveBNYsTjoFN74y7ifImUT9c01vzrdR5NJu0Jax/quZ53UYgUGn zUIEEjiSxPv7E/THDXqoE63uGJT1AygvFN++w6atZX9L99y+0ixV7NgxoQNXL1BPMMqu2c 3Vdd0cFtKs9d+dPuZT+aKLQRMC5rdlth+XkmPfi//nejT4IaWTfDFAOo31UAWy3butxZMQ 0/FmwqbABsyoTlKy7vat6EYpW3TpLCzpWfxZCsWu0aZOOHfLWEFzxc/dUb9k9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c9T/eK4kvDlZ/+MGDSCeLJo+YUlYZHhJeid3P8A0k68=; b=pVciCLD0AZHRFyucITHQX/zr+ZGRAxQppImhwmI2mKW3sKasiSUpjHSE+eGgUvmiWHm9xH WuV9Tv1rZLdhEnZ9vo7rjQ5WzBaomMoFugZveJ/1W4vPcr1XLwhYZjhU+J0TVjLvDlzwYU ZAs3kxQLPNqR8qfqWTImf2SMV32ijRFspJDAW8UjwrBIpr3YRfEIWvE/aS84PYcn653xYQ E1hkcXl+14fpMUGtRQx/Z1HyvoEZQtcAKq56L6Xaa9o5oEWhKOFAMFwqZPtQqauSBmD00b F5CYipaMvcmbsU4q9u3EGKY/UA0ra1o5E1XaabWRRL/Ng+Afw6uUweS6oxryQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771131; a=rsa-sha256; cv=none; b=hbTGLjbYVwfqrtVQ0QdRgc5Tjej4cCDY1LSU8RFCW7i46hFmYR9shKYN20gMwBnCRZHPig rdBZIzRx6jdKHqZGgdERgg9VnXK5ERyHwOY2MXvbTPzI5rrOc2dQoFDiXs1sGZll3PNPss Ig5jyEf9KgbBHqzhqSA4QP/lMdsZtxld2w6ET8DwLpNorIKelKCrLidhvJOK0nElr0Vd4l /UMsXMf/y4aotp5L5H3DVFyuLtVdhzbumwrH2XbcvPvrGPu9Mh66Hlwr4r5lBdHDufjUd9 KUaqxn2vZ/ZbfDwbOKPTTQ74PnM/mhGwXAFVc9+z/RWYK3OIfR6CIlBJcmLLkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w166VNzzm4l; Thu, 26 Jan 2023 22:12:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCAIt022337; Thu, 26 Jan 2023 22:12:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCA2l022336; Thu, 26 Jan 2023 22:12:10 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:10 GMT Message-Id: <202301262212.30QMCA2l022336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c4469e134e04 - stable/13 - vmm devmem_mmap_single: Bump object reference under memsegs lock. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c4469e134e0479c03aedc3bf4e85221f29b1c26b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c4469e134e0479c03aedc3bf4e85221f29b1c26b commit c4469e134e0479c03aedc3bf4e85221f29b1c26b Author: John Baldwin AuthorDate: 2022-11-18 18:04:58 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:05:46 +0000 vmm devmem_mmap_single: Bump object reference under memsegs lock. Reported by: markj Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37273 (cherry picked from commit 223de44c93659457e05036dec25b0af610a773a6) --- sys/amd64/vmm/vmm_dev.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 571e287dc4b6..90b0b6b45f26 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -1262,15 +1262,13 @@ devmem_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t len, KASSERT(error == 0 && !sysmem && *objp != NULL, ("%s: invalid devmem segment %d", __func__, dsc->segid)); + if (seglen >= last) + vm_object_reference(*objp); + else + error = EINVAL; vm_unlock_memsegs(dsc->sc->vm); - - if (seglen >= last) { - vm_object_reference(*objp); - return (0); - } else { - return (EINVAL); - } + return (error); } static struct cdevsw devmemsw = { From nobody Thu Jan 26 22:12:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w183z5Vz3c8bm; Thu, 26 Jan 2023 22:12: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 4P2w1819TSz3wjL; Thu, 26 Jan 2023 22:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TQ3vp0JnvwCcxeITS+K0QIZxW0cBX+Cw1lWBr7B71a8=; b=fYkXJ/gv6+5og4ugU3H/voryz/m9NEYR5WiGjI0JIOkLev3bJ2Js9FJOpKb1eJq8rR2hDQ Q6kC4OaKciCf83g03DMCmDkftkMny9XtnZgdFPJD1y5aYeZFSak3aZMaogUp2AwgVqMWVU yQBnGok0nXDRKoNGOdFRIwUYTAUL6PQRTkcdUeXPvQ/BOloeqfYQed0i+777WZ6bgu3xL8 IU38qGh0vT6TZ2gE6yZ56HDAgM6azE9uRtU3O3c8bg1i9VM8thXOr1mzB5BIurnZt5lHGl JhTB85EvzU6W53YEx9/Fjk3q3IO/o34OGwZMbFYUMg21SUZTfgnFF++fI+bKKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TQ3vp0JnvwCcxeITS+K0QIZxW0cBX+Cw1lWBr7B71a8=; b=YIysgfo2QaZwpauGOXDHdlbql+9UqS1PGVaUcZdeCq6TnZh8CJ9PCSO8X793Y47gPupchx mz1SoTBf+buvTz2Rf4KYgD63DsJc16DIHaqQe+1oZQXXB8ilKaKMXgDJJmpBhV08GMUyr7 ES2mNNAedJguss48z8EDy2ZxSEky4iwZo7pm0Ym4YhKI6EyuLeJ9oFEc9qmAtnU1zGGTS+ jL8GMRcILMh86e2tiEaLp2pwjYOnRZEbFeh4Eek7mmJPMKij6g+Xao/JzQoBr/kELYwhqF SwZW0wKqNy4zudPI2t5u19tWik47WjhrQpcAXpZPIu/Zfs7DmCMuL4egtS3iig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771132; a=rsa-sha256; cv=none; b=WXDcAOq+9g3R/KZEJTydEuhPpJmdXmNiMzyBtUB+u/bWK/C4BhlB1QT5WFXHdRkAOjqAup xgzrNXXF/Prsq6Ya+BmFsyruGOKkgeNUlXOy2ZJ9lLymqeogjjlqJYdX7IIKq1JYOYbTks yDO9HsGlWneQKcxH5eeYxnnbt3mRiZyJu7pAgiWJsEbPTvMoZrv4NdcOMACinGzKJf4dW6 eyTcdljwzZmXruth9fVABW7TzvbP02FbNpoBf9dCcuMwur+VnnyJxlTCb/J9suOFdyz28x 0b5nrAxth7q8CIlmRG/ZjfK5CzVuXFrEIeL02Ipn6RpKoZFAz+OxX39VXOJ1DQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w180G7Rzm4m; Thu, 26 Jan 2023 22:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCBEj022362; Thu, 26 Jan 2023 22:12:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCBm0022361; Thu, 26 Jan 2023 22:12:11 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:11 GMT Message-Id: <202301262212.30QMCBm0022361@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b88a7eae3584 - stable/13 - vmm: Use a cpuset_t for vCPUs waiting for STARTUP IPIs. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b88a7eae3584c338c80611269b5790637386d798 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b88a7eae3584c338c80611269b5790637386d798 commit b88a7eae3584c338c80611269b5790637386d798 Author: John Baldwin AuthorDate: 2022-11-18 18:05:10 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:05:52 +0000 vmm: Use a cpuset_t for vCPUs waiting for STARTUP IPIs. Retire the boot_state member of struct vlapic and instead use a cpuset in the VM to track vCPUs waiting for STARTUP IPIs. INIT IPIs add vCPUs to this set, and STARTUP IPIs remove vCPUs from the set. STARTUP IPIs are only reported to userland for vCPUs that were removed from the set. In particular, this permits a subsequent change to allocate vCPUs on demand when the vCPU may not be allocated until after a STARTUP IPI is reported to userland. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37173 (cherry picked from commit c0f35dbf19c3c8825bd2b321d8efd582807d1940) --- sys/amd64/include/vmm.h | 3 +++ sys/amd64/vmm/io/vlapic.c | 46 ++++++++++-------------------------------- sys/amd64/vmm/io/vlapic_priv.h | 7 ------- sys/amd64/vmm/vmm.c | 27 +++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 42 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index b7506faaee92..3e58c82fb95c 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -319,9 +319,12 @@ int vm_restore_time(struct vm *vm); typedef void (*vm_rendezvous_func_t)(struct vcpu *vcpu, void *arg); int vm_smp_rendezvous(struct vcpu *vcpu, cpuset_t dest, vm_rendezvous_func_t func, void *arg); + cpuset_t vm_active_cpus(struct vm *vm); cpuset_t vm_debug_cpus(struct vm *vm); cpuset_t vm_suspended_cpus(struct vm *vm); +cpuset_t vm_start_cpus(struct vm *vm, const cpuset_t *tostart); +void vm_await_start(struct vm *vm, const cpuset_t *waiting); #endif /* _SYS__CPUSET_H_ */ static __inline int diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 1a8b54bba3bf..e13cdcc63d57 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1039,7 +1039,6 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) cpuset_t dmask, ipimask; uint64_t icrval; uint32_t dest, vec, mode, shorthand; - struct vlapic *vlapic2; struct vcpu *vcpu; struct vm_exit *vmexit; struct LAPIC *lapic; @@ -1128,14 +1127,9 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) i == vlapic->vcpuid) break; - /* - * Userland which doesn't support the IPI exit - * requires that the boot state is set to SIPI - * here. - */ - vcpu = vm_vcpu(vlapic->vm, i); - vlapic2 = vm_lapic(vcpu); - vlapic2->boot_state = BS_SIPI; + /* vCPU i is waiting for SIPI. */ + CPU_SETOF(i, &dmask); + vm_await_start(vlapic->vm, &dmask); break; } @@ -1158,11 +1152,10 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) /* * Ignore SIPIs in any state other than wait-for-SIPI */ - vcpu = vm_vcpu(vlapic->vm, i); - vlapic2 = vm_lapic(vcpu); - if (vlapic2->boot_state != BS_SIPI) + CPU_SETOF(i, &dmask); + dmask = vm_start_cpus(vlapic->vm, &dmask); + if (CPU_EMPTY(&dmask)) break; - vlapic2->boot_state = BS_RUNNING; vmexit = vm_exitinfo(vlapic->vcpu); vmexit->exitcode = VM_EXITCODE_SPINUP_AP; @@ -1173,19 +1166,10 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) break; } - CPU_FOREACH_ISSET(i, &dmask) { - vcpu = vm_vcpu(vlapic->vm, i); - vlapic2 = vm_lapic(vcpu); - - /* - * Ignore SIPIs in any state other than wait-for-SIPI - */ - if (vlapic2->boot_state != BS_SIPI) - continue; - vlapic2->boot_state = BS_RUNNING; - CPU_SET(i, &ipimask); - } - + /* + * Ignore SIPIs in any state other than wait-for-SIPI + */ + ipimask = vm_start_cpus(vlapic->vm, &dmask); break; default: return (1); @@ -1210,9 +1194,6 @@ vlapic_handle_init(struct vcpu *vcpu, void *arg) struct vlapic *vlapic = vm_lapic(vcpu); vlapic_reset(vlapic); - - /* vlapic_reset modifies the boot state. */ - vlapic->boot_state = BS_SIPI; } int @@ -1223,6 +1204,7 @@ vm_handle_ipi(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) case APIC_DELMODE_INIT: vm_smp_rendezvous(vcpu, vme->u.ipi.dmask, vlapic_handle_init, NULL); + vm_await_start(vcpu_vm(vcpu), &vme->u.ipi.dmask); break; case APIC_DELMODE_STARTUP: break; @@ -1598,11 +1580,6 @@ vlapic_reset(struct vlapic *vlapic) lapic->dcr_timer = 0; vlapic_dcr_write_handler(vlapic); - if (vlapic->vcpuid == 0) - vlapic->boot_state = BS_RUNNING; /* BSP */ - else - vlapic->boot_state = BS_INIT; /* AP */ - vlapic->svr_last = lapic->svr; } @@ -1900,7 +1877,6 @@ vlapic_snapshot(struct vm *vm, struct vm_snapshot_meta *meta) sizeof(vlapic->isrvec_stk), meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vlapic->isrvec_stk_top, meta, ret, done); - SNAPSHOT_VAR_OR_LEAVE(vlapic->boot_state, meta, ret, done); SNAPSHOT_BUF_OR_LEAVE(vlapic->lvt_last, sizeof(vlapic->lvt_last), diff --git a/sys/amd64/vmm/io/vlapic_priv.h b/sys/amd64/vmm/io/vlapic_priv.h index 2ac0cbf68117..ccae4b748880 100644 --- a/sys/amd64/vmm/io/vlapic_priv.h +++ b/sys/amd64/vmm/io/vlapic_priv.h @@ -125,12 +125,6 @@ do { \ VLAPIC_CTR1((vlapic), msg " isr7 0x%08x", isrptr[7 << 2]); \ } while (0) -enum boot_state { - BS_INIT, - BS_SIPI, - BS_RUNNING -}; - /* * 16 priority levels with at most one vector injected per level. */ @@ -175,7 +169,6 @@ struct vlapic { int isrvec_stk_top; uint64_t msr_apicbase; - enum boot_state boot_state; /* * Copies of some registers in the virtual APIC page. We do this for diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 57c8555f08fe..2ba71a641deb 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -173,6 +173,7 @@ struct vm { struct vrtc *vrtc; /* (o) virtual RTC */ volatile cpuset_t active_cpus; /* (i) active vcpus */ volatile cpuset_t debug_cpus; /* (i) vcpus stopped for debug */ + cpuset_t startup_cpus; /* (i) [r] waiting for startup */ int suspend; /* (i) stop VM execution */ volatile cpuset_t suspended_cpus; /* (i) suspended vcpus */ volatile cpuset_t halted_cpus; /* (x) cpus in a hard halt */ @@ -486,6 +487,7 @@ vm_init(struct vm *vm, bool create) CPU_ZERO(&vm->active_cpus); CPU_ZERO(&vm->debug_cpus); + CPU_ZERO(&vm->startup_cpus); vm->suspend = 0; CPU_ZERO(&vm->suspended_cpus); @@ -2422,6 +2424,30 @@ vm_suspended_cpus(struct vm *vm) return (vm->suspended_cpus); } +/* + * Returns the subset of vCPUs in tostart that are awaiting startup. + * These vCPUs are also marked as no longer awaiting startup. + */ +cpuset_t +vm_start_cpus(struct vm *vm, const cpuset_t *tostart) +{ + cpuset_t set; + + mtx_lock(&vm->rendezvous_mtx); + CPU_AND(&set, &vm->startup_cpus, tostart); + CPU_ANDNOT(&vm->startup_cpus, &vm->startup_cpus, &set); + mtx_unlock(&vm->rendezvous_mtx); + return (set); +} + +void +vm_await_start(struct vm *vm, const cpuset_t *waiting) +{ + mtx_lock(&vm->rendezvous_mtx); + CPU_OR(&vm->startup_cpus, &vm->startup_cpus, waiting); + mtx_unlock(&vm->rendezvous_mtx); +} + void * vcpu_stats(struct vcpu *vcpu) { @@ -2770,6 +2796,7 @@ vm_snapshot_vm(struct vm *vm, struct vm_snapshot_meta *meta) if (ret != 0) goto done; + SNAPSHOT_VAR_OR_LEAVE(vm->startup_cpus, meta, ret, done); done: return (ret); } From nobody Thu Jan 26 22:12:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w194mlrz3c8kl; Thu, 26 Jan 2023 22:12: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 4P2w1927fRz3wls; Thu, 26 Jan 2023 22:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TIgRVQY3q9uP5HDGzteSSjQtLRz7b2YzJQ2Funxsaxg=; b=b0tfQxCH/pUS6iV43PQRY3/JYUZa/b0WSl/TA6pcIwqrhAB960dJPrWcBfmEVcu+5MHVAe fZQhxgLIqWdyhz9CIf8bmXtSxGvGmfRe5bFFwI2fOkA8XOF/3HMjEDQBWBjBRcJEwRcIiu oZq8A3vQTh7okyDfgW0CMDU5Dq3/XodI5cYtV2YokwcRI4lO+gLVpbJTZIdCQd60N67Cdp emsV6vsVJr/ySs5PzSYyChbPXVnkm6Dhj/+vB8PtHl0gYf43R6kmpNhmjWiNQFitVFGu4W OxF1ryg4SDYjNbkiVWjpE6KYYedGNUCdfFeN/oU6eGs433SpF4+z7legFoDSnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TIgRVQY3q9uP5HDGzteSSjQtLRz7b2YzJQ2Funxsaxg=; b=s/wdZjzkSMfZf34CVlGCYK3eXrOIs8H4Ar5nB4lIeklt/7p95GJi5Uaz57SvlouA1pYaD3 vqvUjkgtnUjJDKy3a87XPBVLDRTdZ/KPk36VWAYcRGR2DZcJizlWisK758q9ZVw4Hlt6DO eRBVKDm+xLcSjKdH9EDhbHbIhAoM47qGbtFjNDlTlzD6LjU79piFx1rXpUTePPhYSo9VEB SH1DMC9Rwd5T85kvx9bOYDHeLV6isZvCOP8Fm90SBX6Jz6cmyPJCKod6zsoTrwnv5XADzv WaRPUWoYyrW3qkHVrnCptRW/yD1DNaERvND6Mqor7KHoXXx7NGbrOTah3mZTFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771133; a=rsa-sha256; cv=none; b=Zy0J6FG+bn4tQgY7KxYHjT4crL0TchGiPhP3imag1LwAQ/Fy8d8iYrIaOj9jox6lIkh7m+ 1N/p/v+M8s9Bw1nJskmeYm0SzF9CWgwfh0A8WW93AX3v2d6KMdUJq7p8BMJZpf/mxgdaqV 5KW/gokC+X6r9KdHdUr58OTorsRuZUMM6fSCnI/yY0dlY8az4H9xrWZt3Q313WeX8CT8sS slPrd9WZSxz5czPWGNkjJ2QmZbWOt+FKLBqvK38OZcyAtLuzdFCirm5scdeDBtplr2mzPO N9WOfQoKlirnlMac83icn5V9ATKapGf35h1tYcj8pIIsywAx2EHdWaYLmZozSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w191BKVzly3; Thu, 26 Jan 2023 22:12:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCDZR022386; Thu, 26 Jan 2023 22:12:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCDX2022385; Thu, 26 Jan 2023 22:12:13 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:13 GMT Message-Id: <202301262212.30QMCDX2022385@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 5d3ee23b91f3 - stable/13 - vmm: don't lock a mtx in the icr_low write handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5d3ee23b91f354f6dea2707cdf4a0fb813488106 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5d3ee23b91f354f6dea2707cdf4a0fb813488106 commit 5d3ee23b91f354f6dea2707cdf4a0fb813488106 Author: Corvin Köhne AuthorDate: 2022-11-21 14:00:04 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:06:03 +0000 vmm: don't lock a mtx in the icr_low write handler x2apic accesses are handled by a wrmsr exit. This handler is called in a critical section. So, we can't lock a mtx in the icr_low handler. Reported by: kp, pho Tested by: kp, pho Approved by: manu (mentor) Fixes: c0f35dbf19c3c8825bd2b321d8efd582807d1940 vmm: Use a cpuset_t for vCPUs waiting for STARTUP IPIs. MFC after: 1 week MFC with: c0f35dbf19c3c8825bd2b321d8efd582807d1940 Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37452 (cherry picked from commit 7c326ab5bb9aced8dcbc2465ac1c9ff8df2ba46b) --- sys/amd64/vmm/io/vlapic.c | 61 +++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index e13cdcc63d57..fd716fcc0b61 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1127,9 +1127,8 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) i == vlapic->vcpuid) break; - /* vCPU i is waiting for SIPI. */ - CPU_SETOF(i, &dmask); - vm_await_start(vlapic->vm, &dmask); + CPU_SETOF(i, &ipimask); + break; } @@ -1140,36 +1139,17 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) if (!phys) break; - /* - * Old bhyve versions don't support the IPI - * exit. Translate it into the old style. - */ i = vm_apicid2vcpuid(vlapic->vm, dest); if (i >= vm_get_maxcpus(vlapic->vm) || i == vlapic->vcpuid) break; - /* - * Ignore SIPIs in any state other than wait-for-SIPI - */ - CPU_SETOF(i, &dmask); - dmask = vm_start_cpus(vlapic->vm, &dmask); - if (CPU_EMPTY(&dmask)) - break; - - vmexit = vm_exitinfo(vlapic->vcpu); - vmexit->exitcode = VM_EXITCODE_SPINUP_AP; - vmexit->u.spinup_ap.vcpu = i; - vmexit->u.spinup_ap.rip = vec << PAGE_SHIFT; + CPU_SETOF(i, &ipimask); - *retu = true; break; } - /* - * Ignore SIPIs in any state other than wait-for-SIPI - */ - ipimask = vm_start_cpus(vlapic->vm, &dmask); + CPU_COPY(&dmask, &ipimask); break; default: return (1); @@ -1199,14 +1179,43 @@ vlapic_handle_init(struct vcpu *vcpu, void *arg) int vm_handle_ipi(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) { + struct vlapic *vlapic = vm_lapic(vcpu); + cpuset_t *dmask = &vme->u.ipi.dmask; + uint8_t vec = vme->u.ipi.vector; + *retu = true; switch (vme->u.ipi.mode) { case APIC_DELMODE_INIT: - vm_smp_rendezvous(vcpu, vme->u.ipi.dmask, vlapic_handle_init, + vm_smp_rendezvous(vcpu, *dmask, vlapic_handle_init, NULL); - vm_await_start(vcpu_vm(vcpu), &vme->u.ipi.dmask); + vm_await_start(vcpu_vm(vcpu), dmask); + + if (!vlapic->ipi_exit) { + *retu = false; + } + break; case APIC_DELMODE_STARTUP: + /* + * Ignore SIPIs in any state other than wait-for-SIPI + */ + *dmask = vm_start_cpus(vcpu_vm(vcpu), dmask); + + if (CPU_EMPTY(dmask)) { + *retu = false; + break; + } + + /* + * Old bhyve versions don't support the IPI + * exit. Translate it into the old style. + */ + if (!vlapic->ipi_exit) { + vme->exitcode = VM_EXITCODE_SPINUP_AP; + vme->u.spinup_ap.vcpu = CPU_FFS(dmask); + vme->u.spinup_ap.rip = vec << PAGE_SHIFT; + } + break; default: return (1); From nobody Thu Jan 26 22:12:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1B3Hsnz3c8br; Thu, 26 Jan 2023 22:12: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 4P2w1B2mvNz3wZw; Thu, 26 Jan 2023 22:12:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iO49BdHMSuSncg8kCGGvGwuXskMyuAD9P8fwKT40NdM=; b=O8tYHux5W6pjsR0L3FxmpNicPUbbBZjD+K90Zxdes844Bpv+GVF1WUkOz/3AbQRbOASqoT w5OmQ3Lmu/BnnjxwlZDORscGRoblCwOBl/dBUs+Ha0td4QpRSArI2gBlSUTUbAcB8ydYYk 3vkJCaSPHGUpn4iCc6zFL8AT9LwnwHkWORruj6bGoKs2oBYVqIY1/R3ZsZrixrrPw97R3o VR9mkDyKdjET/T9PzNFWdLWTAnqbZt3yYr58SoTMsP9Mb2tGZ1jilb5H9xZOKwNgAzRJHX U0RoDj2R8NgbQuUrHjZkB9sIE9s952db9R+jswvQpj2soFQ2mQjbTaV3ZfbXPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iO49BdHMSuSncg8kCGGvGwuXskMyuAD9P8fwKT40NdM=; b=L/rZvbf78iYHL3ECB4Alxm89C0RdD0YUhnRFxE8aBkoHuma4+kGLB8hCniJYb50G041k+Y qMGk2Pt1WKYFz+yldOXMkMUoexK24iBz1D940SL0pIF9vu9+jaNjlEpTXw4lFYZcEJPKSh Ov8aAnMYAJVGJzRsF1dwcFsKKOdI5nk3gWtS3BIeXKlY/h8S1B2jVcHkkcDb8rYOPQVEgk 3uNzHmFcREi2iKQBZ23Id2ucaxzsOZlaEANqXJFBbBZ6bfyt1fkgJwR9m+B7icTxhSD7ne 4RDr1jY+zB8YtjcxdEzpZHbZjEyaoXliw1AxRsoCsQthZRNr0zyl01YkINMu1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771134; a=rsa-sha256; cv=none; b=yUdAKK00sODqK8kScvwYwqVnPktw5YlcFExTutRDJQK7Xl3nTHij1p/t8Dlnr6QJl2FYoV 3i/XSIHxCqV0OuKwrbvS0+Gh4jqbOeHbh6YddFwuPjoH4ty5pSKY7rimflWoUJGmsk50a0 y1fQORiHEMtNz/dSJ5ANJAUVPhgnpEayZLIJCotj4nAhNuJxBTYS6XGJ9egvuT5VJnqE6E HHTviJANCFcyTxyRlve8EUTM3cKIcJKc+A/BXisU7AYlwys6B7n1xa3p/Mmd0eJIMeCsJf 7mAAIRJLuUx2y/usqE2I9sARchD30i8F//Sg2IE3er/TsFZf0ZVlyd4EMsgrRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1B1lxmzlXB; Thu, 26 Jan 2023 22:12:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCEQl022416; Thu, 26 Jan 2023 22:12:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCEjw022415; Thu, 26 Jan 2023 22:12:14 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:14 GMT Message-Id: <202301262212.30QMCEjw022415@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8ff0e2a57d97 - stable/13 - vmm: Allocate vCPUs on first use of a vCPU. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8ff0e2a57d970fea9d009976302a07ffc49980d3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8ff0e2a57d970fea9d009976302a07ffc49980d3 commit 8ff0e2a57d970fea9d009976302a07ffc49980d3 Author: John Baldwin AuthorDate: 2022-11-18 18:05:35 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:06:16 +0000 vmm: Allocate vCPUs on first use of a vCPU. Convert the vcpu[] array in struct vm to an array of pointers and allocate vCPUs on first use. This avoids always allocating VM_MAXCPU vCPUs for each VM, but instead only allocates the vCPUs in use. A new per-VM sx lock is added to serialize attempts to allocate vCPUs on first use. However, a given vCPU is never freed while the VM is active, so the pointer is read via an unlocked read first to avoid the need for the lock in the common case once the vCPU has been created. Some ioctls need to lock all vCPUs. To prevent races with ioctls that want to allocate a new vCPU, these ioctls also lock the sx lock that protects vCPU creation. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37174 (cherry picked from commit 98568a005a193ce2c37702a8377ddd10c570e452) --- sys/amd64/include/vmm.h | 4 ++ sys/amd64/vmm/io/vlapic.c | 6 ++- sys/amd64/vmm/vmm.c | 133 +++++++++++++++++++++++++++++++++------------- sys/amd64/vmm/vmm_dev.c | 87 ++++++++++++++++-------------- 4 files changed, 150 insertions(+), 80 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 3e58c82fb95c..af3883fb0c6a 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -219,6 +219,10 @@ extern const struct vmm_ops vmm_ops_intel; extern const struct vmm_ops vmm_ops_amd; int vm_create(const char *name, struct vm **retvm); +struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid); +void vm_disable_vcpu_creation(struct vm *vm); +void vm_slock_vcpus(struct vm *vm); +void vm_unlock_vcpus(struct vm *vm); void vm_destroy(struct vm *vm); int vm_reinit(struct vm *vm); const char *vm_name(struct vm *vm); diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index fd716fcc0b61..44641cc29035 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1849,6 +1849,7 @@ int vlapic_snapshot(struct vm *vm, struct vm_snapshot_meta *meta) { int ret; + struct vcpu *vcpu; struct vlapic *vlapic; struct LAPIC *lapic; uint32_t ccr; @@ -1860,7 +1861,10 @@ vlapic_snapshot(struct vm *vm, struct vm_snapshot_meta *meta) maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { - vlapic = vm_lapic(vm_vcpu(vm, i)); + vcpu = vm_vcpu(vm, i); + if (vcpu == NULL) + continue; + vlapic = vm_lapic(vcpu); /* snapshot the page first; timer period depends on icr_timer */ lapic = vlapic->apic_page; diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 2ba71a641deb..28f04476ba7f 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -127,7 +127,6 @@ struct vcpu { uint64_t tsc_offset; /* (o) TSC offsetting */ }; -#define vcpu_lock_initialized(v) mtx_initialized(&((v)->mtx)) #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) #define vcpu_lock_destroy(v) mtx_destroy(&((v)->mtx)) #define vcpu_lock(v) mtx_lock_spin(&((v)->mtx)) @@ -175,6 +174,7 @@ struct vm { volatile cpuset_t debug_cpus; /* (i) vcpus stopped for debug */ cpuset_t startup_cpus; /* (i) [r] waiting for startup */ int suspend; /* (i) stop VM execution */ + bool dying; /* (o) is dying */ volatile cpuset_t suspended_cpus; /* (i) suspended vcpus */ volatile cpuset_t halted_cpus; /* (x) cpus in a hard halt */ cpuset_t rendezvous_req_cpus; /* (x) [r] rendezvous requested */ @@ -186,13 +186,14 @@ struct vm { struct mem_seg mem_segs[VM_MAX_MEMSEGS]; /* (o) [m+v] guest memory regions */ struct vmspace *vmspace; /* (o) guest's address space */ char name[VM_MAX_NAMELEN+1]; /* (o) virtual machine name */ - struct vcpu vcpu[VM_MAXCPU]; /* (i) guest vcpus */ + struct vcpu *vcpu[VM_MAXCPU]; /* (x) guest vcpus */ /* The following describe the vm cpu topology */ uint16_t sockets; /* (o) num of sockets */ uint16_t cores; /* (o) num of cores/socket */ uint16_t threads; /* (o) num of threads/core */ uint16_t maxcpus; /* (o) max pluggable cpus */ struct sx mem_segs_lock; /* (o) */ + struct sx vcpus_init_lock; /* (o) */ }; #define VMM_CTR0(vcpu, format) \ @@ -319,10 +320,8 @@ vcpu_state2str(enum vcpu_state state) #endif static void -vcpu_cleanup(struct vm *vm, int i, bool destroy) +vcpu_cleanup(struct vcpu *vcpu, bool destroy) { - struct vcpu *vcpu = &vm->vcpu[i]; - vmmops_vlapic_cleanup(vcpu->vlapic); vmmops_vcpu_cleanup(vcpu->cookie); vcpu->cookie = NULL; @@ -333,30 +332,30 @@ vcpu_cleanup(struct vm *vm, int i, bool destroy) } } -static void -vcpu_init(struct vm *vm, int vcpu_id, bool create) +static struct vcpu * +vcpu_alloc(struct vm *vm, int vcpu_id) { struct vcpu *vcpu; KASSERT(vcpu_id >= 0 && vcpu_id < vm->maxcpus, ("vcpu_init: invalid vcpu %d", vcpu_id)); - - vcpu = &vm->vcpu[vcpu_id]; - - if (create) { - KASSERT(!vcpu_lock_initialized(vcpu), ("vcpu %d already " - "initialized", vcpu_id)); - vcpu_lock_init(vcpu); - vcpu->state = VCPU_IDLE; - vcpu->hostcpu = NOCPU; - vcpu->vcpuid = vcpu_id; - vcpu->vm = vm; - vcpu->guestfpu = fpu_save_area_alloc(); - vcpu->stats = vmm_stat_alloc(); - vcpu->tsc_offset = 0; - } - vcpu->cookie = vmmops_vcpu_init(vm->cookie, vcpu, vcpu_id); + vcpu = malloc(sizeof(*vcpu), M_VM, M_WAITOK | M_ZERO); + vcpu_lock_init(vcpu); + vcpu->state = VCPU_IDLE; + vcpu->hostcpu = NOCPU; + vcpu->vcpuid = vcpu_id; + vcpu->vm = vm; + vcpu->guestfpu = fpu_save_area_alloc(); + vcpu->stats = vmm_stat_alloc(); + vcpu->tsc_offset = 0; + return (vcpu); +} + +static void +vcpu_init(struct vcpu *vcpu) +{ + vcpu->cookie = vmmops_vcpu_init(vcpu->vm->cookie, vcpu, vcpu->vcpuid); vcpu->vlapic = vmmops_vlapic_init(vcpu->cookie); vm_set_x2apic_state(vcpu, X2APIC_DISABLED); vcpu->reqidle = 0; @@ -473,8 +472,6 @@ MODULE_VERSION(vmm, 1); static void vm_init(struct vm *vm, bool create) { - int i; - vm->cookie = vmmops_init(vm, vmspace_pmap(vm->vmspace)); vm->iommu = NULL; vm->vioapic = vioapic_init(vm); @@ -492,8 +489,61 @@ vm_init(struct vm *vm, bool create) vm->suspend = 0; CPU_ZERO(&vm->suspended_cpus); - for (i = 0; i < vm->maxcpus; i++) - vcpu_init(vm, i, create); + if (!create) { + for (int i = 0; i < vm->maxcpus; i++) { + if (vm->vcpu[i] != NULL) + vcpu_init(vm->vcpu[i]); + } + } +} + +void +vm_disable_vcpu_creation(struct vm *vm) +{ + sx_xlock(&vm->vcpus_init_lock); + vm->dying = true; + sx_xunlock(&vm->vcpus_init_lock); +} + +struct vcpu * +vm_alloc_vcpu(struct vm *vm, int vcpuid) +{ + struct vcpu *vcpu; + + if (vcpuid < 0 || vcpuid >= vm_get_maxcpus(vm)) + return (NULL); + + vcpu = atomic_load_ptr(&vm->vcpu[vcpuid]); + if (__predict_true(vcpu != NULL)) + return (vcpu); + + sx_xlock(&vm->vcpus_init_lock); + vcpu = vm->vcpu[vcpuid]; + if (vcpu == NULL && !vm->dying) { + vcpu = vcpu_alloc(vm, vcpuid); + vcpu_init(vcpu); + + /* + * Ensure vCPU is fully created before updating pointer + * to permit unlocked reads above. + */ + atomic_store_rel_ptr((uintptr_t *)&vm->vcpu[vcpuid], + (uintptr_t)vcpu); + } + sx_xunlock(&vm->vcpus_init_lock); + return (vcpu); +} + +void +vm_slock_vcpus(struct vm *vm) +{ + sx_slock(&vm->vcpus_init_lock); +} + +void +vm_unlock_vcpus(struct vm *vm) +{ + sx_unlock(&vm->vcpus_init_lock); } /* @@ -528,6 +578,7 @@ vm_create(const char *name, struct vm **retvm) vm->vmspace = vmspace; mtx_init(&vm->rendezvous_mtx, "vm rendezvous lock", 0, MTX_DEF); sx_init(&vm->mem_segs_lock, "vm mem_segs"); + sx_init(&vm->vcpus_init_lock, "vm vcpus"); vm->sockets = 1; vm->cores = cores_per_package; /* XXX backwards compatibility */ @@ -558,17 +609,14 @@ vm_get_maxcpus(struct vm *vm) int vm_set_topology(struct vm *vm, uint16_t sockets, uint16_t cores, - uint16_t threads, uint16_t maxcpus) + uint16_t threads, uint16_t maxcpus __unused) { - if (maxcpus != 0) - return (EINVAL); /* XXX remove when supported */ + /* Ignore maxcpus. */ if ((sockets * cores * threads) > vm->maxcpus) return (EINVAL); - /* XXX need to check sockets * cores * threads == vCPU, how? */ vm->sockets = sockets; vm->cores = cores; vm->threads = threads; - vm->maxcpus = VM_MAXCPU; /* XXX temp to keep code working */ return(0); } @@ -596,8 +644,10 @@ vm_cleanup(struct vm *vm, bool destroy) vatpic_cleanup(vm->vatpic); vioapic_cleanup(vm->vioapic); - for (i = 0; i < vm->maxcpus; i++) - vcpu_cleanup(vm, i, destroy); + for (i = 0; i < vm->maxcpus; i++) { + if (vm->vcpu[i] != NULL) + vcpu_cleanup(vm->vcpu[i], destroy); + } vmmops_cleanup(vm->cookie); @@ -623,6 +673,7 @@ vm_cleanup(struct vm *vm, bool destroy) vmmops_vmspace_free(vm->vmspace); vm->vmspace = NULL; + sx_destroy(&vm->vcpus_init_lock); sx_destroy(&vm->mem_segs_lock); mtx_destroy(&vm->rendezvous_mtx); } @@ -2251,7 +2302,7 @@ vcpu_vcpuid(struct vcpu *vcpu) struct vcpu * vm_vcpu(struct vm *vm, int vcpuid) { - return (&vm->vcpu[vcpuid]); + return (vm->vcpu[vcpuid]); } struct vlapic * @@ -2762,7 +2813,9 @@ vm_snapshot_vcpus(struct vm *vm, struct vm_snapshot_meta *meta) now = rdtsc(); maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { - vcpu = &vm->vcpu[i]; + vcpu = vm->vcpu[i]; + if (vcpu == NULL) + continue; SNAPSHOT_VAR_OR_LEAVE(vcpu->x2apic_state, meta, ret, done); SNAPSHOT_VAR_OR_LEAVE(vcpu->exitintinfo, meta, ret, done); @@ -2812,7 +2865,9 @@ vm_snapshot_vcpu(struct vm *vm, struct vm_snapshot_meta *meta) maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { - vcpu = &vm->vcpu[i]; + vcpu = vm->vcpu[i]; + if (vcpu == NULL) + continue; error = vmmops_vcpu_snapshot(vcpu->cookie, meta); if (error != 0) { @@ -2895,7 +2950,9 @@ vm_restore_time(struct vm *vm) maxcpus = vm_get_maxcpus(vm); for (i = 0; i < maxcpus; i++) { - vcpu = &vm->vcpu[i]; + vcpu = vm->vcpu[i]; + if (vcpu == NULL) + continue; error = vmmops_restore_tsc(vcpu->cookie, vcpu->tsc_offset - now); diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 90b0b6b45f26..20aee0ea5776 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -125,24 +125,16 @@ vmm_priv_check(struct ucred *ucred) } static int -vcpu_lock_one(struct vmmdev_softc *sc, int vcpu) +vcpu_lock_one(struct vcpu *vcpu) { - int error; - - if (vcpu < 0 || vcpu >= vm_get_maxcpus(sc->vm)) - return (EINVAL); - - error = vcpu_set_state(vm_vcpu(sc->vm, vcpu), VCPU_FROZEN, true); - return (error); + return (vcpu_set_state(vcpu, VCPU_FROZEN, true)); } static void -vcpu_unlock_one(struct vmmdev_softc *sc, int vcpuid) +vcpu_unlock_one(struct vmmdev_softc *sc, int vcpuid, struct vcpu *vcpu) { - struct vcpu *vcpu; enum vcpu_state state; - vcpu = vm_vcpu(sc->vm, vcpuid); state = vcpu_get_state(vcpu, NULL); if (state != VCPU_FROZEN) { panic("vcpu %s(%d) has invalid state %d", vm_name(sc->vm), @@ -155,19 +147,29 @@ vcpu_unlock_one(struct vmmdev_softc *sc, int vcpuid) static int vcpu_lock_all(struct vmmdev_softc *sc) { - int error, vcpu; - uint16_t maxcpus; + struct vcpu *vcpu; + int error; + uint16_t i, maxcpus; + vm_slock_vcpus(sc->vm); maxcpus = vm_get_maxcpus(sc->vm); - for (vcpu = 0; vcpu < maxcpus; vcpu++) { - error = vcpu_lock_one(sc, vcpu); + for (i = 0; i < maxcpus; i++) { + vcpu = vm_vcpu(sc->vm, i); + if (vcpu == NULL) + continue; + error = vcpu_lock_one(vcpu); if (error) break; } if (error) { - while (--vcpu >= 0) - vcpu_unlock_one(sc, vcpu); + while (--i >= 0) { + vcpu = vm_vcpu(sc->vm, i); + if (vcpu == NULL) + continue; + vcpu_unlock_one(sc, i, vcpu); + } + vm_unlock_vcpus(sc->vm); } return (error); @@ -176,12 +178,17 @@ vcpu_lock_all(struct vmmdev_softc *sc) static void vcpu_unlock_all(struct vmmdev_softc *sc) { - int vcpu; - uint16_t maxcpus; + struct vcpu *vcpu; + uint16_t i, maxcpus; maxcpus = vm_get_maxcpus(sc->vm); - for (vcpu = 0; vcpu < maxcpus; vcpu++) - vcpu_unlock_one(sc, vcpu); + for (i = 0; i < maxcpus; i++) { + vcpu = vm_vcpu(sc->vm, i); + if (vcpu == NULL) + continue; + vcpu_unlock_one(sc, i, vcpu); + } + vm_unlock_vcpus(sc->vm); } static struct vmmdev_softc * @@ -363,20 +370,11 @@ vm_set_register_set(struct vcpu *vcpu, unsigned int count, int *regnum, return (error); } -static struct vcpu * -lookup_vcpu(struct vm *vm, int vcpuid) -{ - if (vcpuid < 0 || vcpuid >= vm_get_maxcpus(vm)) - return (NULL); - - return (vm_vcpu(vm, vcpuid)); -} - static int vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, struct thread *td) { - int error, vcpuid, state_changed, size; + int error, vcpuid, size; cpuset_t *cpuset; struct vmmdev_softc *sc; struct vcpu *vcpu; @@ -414,6 +412,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, struct vm_readwrite_kernemu_device *kernemu; uint64_t *regvals; int *regnums; + enum { NONE, SINGLE, ALL } vcpus_locked; bool memsegs_locked; #ifdef BHYVE_SNAPSHOT struct vm_snapshot_meta *snapshot_meta; @@ -429,7 +428,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, vcpuid = -1; vcpu = NULL; - state_changed = 0; + vcpus_locked = NONE; memsegs_locked = false; /* @@ -465,11 +464,15 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, * ioctls that can operate only on vcpus that are not running. */ vcpuid = *(int *)data; - error = vcpu_lock_one(sc, vcpuid); + vcpu = vm_alloc_vcpu(sc->vm, vcpuid); + if (vcpu == NULL) { + error = EINVAL; + goto done; + } + error = vcpu_lock_one(vcpu); if (error) goto done; - state_changed = 1; - vcpu = vm_vcpu(sc->vm, vcpuid); + vcpus_locked = SINGLE; break; #ifdef COMPAT_FREEBSD12 @@ -501,7 +504,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, error = vcpu_lock_all(sc); if (error) goto done; - state_changed = 2; + vcpus_locked = ALL; break; #ifdef COMPAT_FREEBSD12 @@ -528,7 +531,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, * a specific vCPU. */ vcpuid = *(int *)data; - vcpu = lookup_vcpu(sc->vm, vcpuid); + vcpu = vm_alloc_vcpu(sc->vm, vcpuid); if (vcpu == NULL) { error = EINVAL; goto done; @@ -545,7 +548,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, vcpuid = *(int *)data; if (vcpuid == -1) break; - vcpu = lookup_vcpu(sc->vm, vcpuid); + vcpu = vm_alloc_vcpu(sc->vm, vcpuid); if (vcpu == NULL) { error = EINVAL; goto done; @@ -957,9 +960,9 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, break; } - if (state_changed == 1) - vcpu_unlock_one(sc, vcpuid); - else if (state_changed == 2) + if (vcpus_locked == SINGLE) + vcpu_unlock_one(sc, vcpuid, vcpu); + else if (vcpus_locked == ALL) vcpu_unlock_all(sc); if (memsegs_locked) vm_unlock_memsegs(sc->vm); @@ -1041,8 +1044,10 @@ vmmdev_destroy(void *arg) struct devmem_softc *dsc; int error __diagused; + vm_disable_vcpu_creation(sc->vm); error = vcpu_lock_all(sc); KASSERT(error == 0, ("%s: error %d freezing vcpus", __func__, error)); + vm_unlock_vcpus(sc->vm); while ((dsc = SLIST_FIRST(&sc->devmem)) != NULL) { KASSERT(dsc->cdev == NULL, ("%s: devmem not free", __func__)); From nobody Thu Jan 26 22:12:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1C4VNSz3c8jx; Thu, 26 Jan 2023 22:12: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 4P2w1C3hnYz3wpq; Thu, 26 Jan 2023 22:12:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=87vQmLy/0OOZbkb4DcH+ZAQBYH0pbEjCBctbAjBeDbQ=; b=p++tIYwgmBj0TNVp4RgsWKGZYAMEqZJz+fi2uf99HdQ6hvm3waaLKg1LPnxQaTAih52vlJ 2bCN/d16A+n6yQMha8jQiYFnwjT05Y/zc97FtxiXI4UtK0w8TP7UGCjd5qOO0VKt5+ec0C NkBHtcsofmMlNa/NUMPFUcLJu//Yp97rtibbwTArmWw+5NA6gmBJRXGT9tluufabR9hPRU cC5MmKad2t9iI7diwY10ao68bUVGQMa9U4G0CYZvKNY2AA5P9/TsF4hVuZLxIQJ8xTrRnC FoLBl4seco6ZadPgWdbcNecqN5EssfpXDI/cbNi+6NNxUdHB2Y5AdhKwhIX/MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=87vQmLy/0OOZbkb4DcH+ZAQBYH0pbEjCBctbAjBeDbQ=; b=phYOt+GoyH/HCFOVUwprXROTGXuISFAKdtmXmG6lhhCt1Kk1JGFeoKLVHz80Twm3FzMpdY exIhxqf6P2eCVsc67Gy06uydlyahYjn5NcFuc9b6pM+IXxCCr6bya4dyE8x8BMg5qvj44H ERSHXsdDYwn4Ci758VTnKe7vpRcyYwSVo7h7UsUG5C5uU0KrduMJnNZtJr+KAs4uqCRB07 GDhSqx9GVnKLDOZVYCmYXROYaELjgI3RVv0zj7zmCAMM+bl5RM/nodwSKrZjthfrE0CT18 ieLTpbLxLbYlLt4xrtxPvdUkoww8LR8JWGPIFKsCiGeLD0VktCbfrmR6TAnu5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771135; a=rsa-sha256; cv=none; b=mi8HYWWVD+rX4mvu/M19zyHminfql/q/4AN0oWv5eil+TEbNrMEvd2P09as+OTbBUiv+Z9 603VwvnOsolFQd5IR9HRST3ndYXVXFmNa1B/ubABw1IyUHpJb/bnGC1qLMf/nMAwF4S0x1 1RDlkCO/WQbK8hMtjhrfSAmAyZfqrsWeRL/L+ueH/R3pR6oNI6OvHGO3eYmDLnqVi4Vhqy 2AKuZLegjBNczYv8qsZ0ngQfPF6UXJd+12aCobKvfxwOSzPdGlQRNO/VWU4eOt1lBxrOAf b4/KprrVCIt7qXhuDZjUntR62++Te3rPg4+13M15KZ5j/GvMvSvc3ibqthtO/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1C2k7hzlmM; Thu, 26 Jan 2023 22:12:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCFD9022440; Thu, 26 Jan 2023 22:12:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCFGH022439; Thu, 26 Jan 2023 22:12:15 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:15 GMT Message-Id: <202301262212.30QMCFGH022439@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3e02f8809aec - stable/13 - vmm: Convert VM_MAXCPU into a loader tunable hw.vmm.maxcpu. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3e02f8809aec5f8c28d8ad329c0328d3ed4cc069 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3e02f8809aec5f8c28d8ad329c0328d3ed4cc069 commit 3e02f8809aec5f8c28d8ad329c0328d3ed4cc069 Author: John Baldwin AuthorDate: 2022-11-18 18:06:08 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:06:28 +0000 vmm: Convert VM_MAXCPU into a loader tunable hw.vmm.maxcpu. The default is now the number of physical CPUs in the system rather than 16. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37175 (cherry picked from commit ee98f99d7a68b284a669fefb969cbfc31df2d0ab) --- sys/amd64/include/vmm.h | 6 ++---- sys/amd64/vmm/intel/vmx.c | 10 +++++----- sys/amd64/vmm/vmm.c | 29 +++++++++++++++++++++++++++-- sys/amd64/vmm/vmm_stat.c | 2 +- 4 files changed, 35 insertions(+), 12 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index af3883fb0c6a..18223c45b70c 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -218,6 +218,8 @@ struct vmm_ops { extern const struct vmm_ops vmm_ops_intel; extern const struct vmm_ops vmm_ops_amd; +extern u_int vm_maxcpu; /* maximum virtual cpus */ + int vm_create(const char *name, struct vm **retvm); struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid); void vm_disable_vcpu_creation(struct vm *vm); @@ -484,10 +486,6 @@ int vcpu_trace_exceptions(struct vcpu *vcpu); int vcpu_trap_wbinvd(struct vcpu *vcpu); #endif /* KERNEL */ -#ifdef _KERNEL -#define VM_MAXCPU 16 /* maximum virtual cpus */ -#endif - /* * Identifiers for optional vmm capabilities */ diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 52573416ded7..baf62c1f8e8a 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -519,11 +519,11 @@ vpid_free(int vpid) panic("vpid_free: invalid vpid %d", vpid); /* - * VPIDs [0,VM_MAXCPU] are special and are not allocated from + * VPIDs [0,vm_maxcpu] are special and are not allocated from * the unit number allocator. */ - if (vpid > VM_MAXCPU) + if (vpid > vm_maxcpu) free_unr(vpid_unr, vpid); } @@ -550,7 +550,7 @@ vpid_alloc(int vcpuid) /* * If the unit number allocator does not have enough unique - * VPIDs then we need to allocate from the [1,VM_MAXCPU] range. + * VPIDs then we need to allocate from the [1,vm_maxcpu] range. * * These VPIDs are not be unique across VMs but this does not * affect correctness because the combined mappings are also @@ -572,13 +572,13 @@ vpid_init(void) * VPID 0 is required when the "enable VPID" execution control is * disabled. * - * VPIDs [1,VM_MAXCPU] are used as the "overflow namespace" when the + * VPIDs [1,vm_maxcpu] are used as the "overflow namespace" when the * unit number allocator does not have sufficient unique VPIDs to * satisfy the allocation. * * The remaining VPIDs are managed by the unit number allocator. */ - vpid_unr = new_unrhdr(VM_MAXCPU + 1, 0xffff, NULL); + vpid_unr = new_unrhdr(vm_maxcpu + 1, 0xffff, NULL); } static void diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 28f04476ba7f..530c90c9804d 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -186,7 +186,7 @@ struct vm { struct mem_seg mem_segs[VM_MAX_MEMSEGS]; /* (o) [m+v] guest memory regions */ struct vmspace *vmspace; /* (o) guest's address space */ char name[VM_MAX_NAMELEN+1]; /* (o) virtual machine name */ - struct vcpu *vcpu[VM_MAXCPU]; /* (x) guest vcpus */ + struct vcpu **vcpu; /* (o) guest vcpus */ /* The following describe the vm cpu topology */ uint16_t sockets; /* (o) num of sockets */ uint16_t cores; /* (o) num of cores/socket */ @@ -295,10 +295,22 @@ static int trap_wbinvd; SYSCTL_INT(_hw_vmm, OID_AUTO, trap_wbinvd, CTLFLAG_RDTUN, &trap_wbinvd, 0, "WBINVD triggers a VM-exit"); +u_int vm_maxcpu; +SYSCTL_UINT(_hw_vmm, OID_AUTO, maxcpu, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, + &vm_maxcpu, 0, "Maximum number of vCPUs"); + static void vm_free_memmap(struct vm *vm, int ident); static bool sysmem_mapping(struct vm *vm, struct mem_map *mm); static void vcpu_notify_event_locked(struct vcpu *vcpu, bool lapic_intr); +/* + * Upper limit on vm_maxcpu. Limited by use of uint16_t types for CPU + * counts as well as range of vpid values for VT-x and by the capacity + * of cpuset_t masks. The call to new_unrhdr() in vpid_init() in + * vmx.c requires 'vm_maxcpu + 1 <= 0xffff', hence the '- 1' below. + */ +#define VM_MAXCPU MIN(0xffff - 1, CPU_SETSIZE) + #ifdef KTR static const char * vcpu_state2str(enum vcpu_state state) @@ -395,6 +407,16 @@ vmm_init(void) if (!vmm_is_hw_supported()) return (ENXIO); + vm_maxcpu = mp_ncpus; + TUNABLE_INT_FETCH("hw.vmm.maxcpu", &vm_maxcpu); + + if (vm_maxcpu > VM_MAXCPU) { + printf("vmm: vm_maxcpu clamped to %u\n", VM_MAXCPU); + vm_maxcpu = VM_MAXCPU; + } + if (vm_maxcpu == 0) + vm_maxcpu = 1; + vmm_host_state_init(); vmm_ipinum = lapic_ipi_alloc(pti ? &IDTVEC(justreturn1_pti) : @@ -579,11 +601,13 @@ vm_create(const char *name, struct vm **retvm) mtx_init(&vm->rendezvous_mtx, "vm rendezvous lock", 0, MTX_DEF); sx_init(&vm->mem_segs_lock, "vm mem_segs"); sx_init(&vm->vcpus_init_lock, "vm vcpus"); + vm->vcpu = malloc(sizeof(*vm->vcpu) * vm_maxcpu, M_VM, M_WAITOK | + M_ZERO); vm->sockets = 1; vm->cores = cores_per_package; /* XXX backwards compatibility */ vm->threads = threads_per_core; /* XXX backwards compatibility */ - vm->maxcpus = VM_MAXCPU; /* XXX temp to keep code working */ + vm->maxcpus = vm_maxcpu; vm_init(vm, true); @@ -673,6 +697,7 @@ vm_cleanup(struct vm *vm, bool destroy) vmmops_vmspace_free(vm->vmspace); vm->vmspace = NULL; + free(vm->vcpu, M_VM); sx_destroy(&vm->vcpus_init_lock); sx_destroy(&vm->mem_segs_lock); mtx_destroy(&vm->rendezvous_mtx); diff --git a/sys/amd64/vmm/vmm_stat.c b/sys/amd64/vmm/vmm_stat.c index 168a380b221b..2750982185aa 100644 --- a/sys/amd64/vmm/vmm_stat.c +++ b/sys/amd64/vmm/vmm_stat.c @@ -71,7 +71,7 @@ vmm_stat_register(void *arg) return; if (vst->nelems == VMM_STAT_NELEMS_VCPU) - vst->nelems = VM_MAXCPU; + vst->nelems = vm_maxcpu; if (vst_num_elems + vst->nelems >= MAX_VMM_STAT_ELEMS) { printf("Cannot accommodate vmm stat type \"%s\"!\n", vst->desc); From nobody Thu Jan 26 22:12:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1F1D6rz3c8bt; Thu, 26 Jan 2023 22:12: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 4P2w1D513dz3ws9; Thu, 26 Jan 2023 22:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2F4ixKiPjeX4a6GTEvadKX4jG6+gtv+odbqKDZPBQrA=; b=DTJKKDVVLHqVJHp0nT1wBxTGBpCc2FT19YI+7/5tMgvAw2XGMpG84jk/0rDRucy5SPP1jO 1MdVh5V6llKY+N+ZA+IwhHAYYgLlvPSuLZnVSFarbcCNgjW3W40WX7VdAHI5CDkX2+NFij u3J56inio0FqDtIl/CEzG5EtccRdlpC8U4/hS/Cfb1rRp/Af1CCJn5kcYb8gM8D4qi4qJn QHVRSI37sn96WHDb4vZV627fHieisAIiY3wvsm5QsAFybALo9LKG69NS4p3WU4RoPxx/PB YNFKFF6XjETC8TKQgEH0ncjrpKUOxeBP3Ml6QzBQDzWKeJoYGX6S5GsR9owkHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2F4ixKiPjeX4a6GTEvadKX4jG6+gtv+odbqKDZPBQrA=; b=Eh4Rhih0FWAilHJyzFrh1TkSkzVaHA0m+NniUYGsRHiVbzFL1CD1RfXajDvanD0kJHUv6g hn5X4lFrV3G5mMS+uFcPhM8No6X/UqGv+a5VXMtfU7ZVFFNYY01RRgrTLIUnnbgm5ZNz3/ wedGquslnGho2Uf9IaNmQzpUupnuFlEYt2Lu2DuPNnLUXGOGyLNN48iVio+UVdZvXVyyQq kPAl3XbRgQavsefboUz1r0zumMSENvy85ykqPK061bwQh9OdbO8Jn9yKTzHoTUCZKLxqx6 moudrohbnpJQgxAKfakrfThVEjV6Q6vGdi/oNPCs8J5LSYnRUHmmEyH2RkeFJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771136; a=rsa-sha256; cv=none; b=dBFWp0ZTGGO8PL25ajXYZrPWO/7c8Jqqkz6nPGUuJIVSCsckSmbK29hwg4NostfbUEYeCb TzjBlkLa7xtvqAAfGxlQgq4NtsV1+N94I8acjizxfndVqP38obIEx0w1BTkIi1xcDsXccU mcE2cXasTFHiHKSdZoK0dc6alTYh3RK5EX/y26CsCB0+afxlx1vzWaESG1M6TVSn+qqhz4 G8rA6v8k2P1mTQAiypURGsxjvykztHXfQUynJyknMpFSldMSxO0Q1oIm+cBRh1EIVL6WpC 6wx2B8R0Kh/GWlmSVXg9D6sjGepTcSxA26YHVQmuiIehhJrLKLVYLQnzLz9oew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1D3fjDzly4; Thu, 26 Jan 2023 22:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCGiA022464; Thu, 26 Jan 2023 22:12:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCGYr022463; Thu, 26 Jan 2023 22:12:16 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:16 GMT Message-Id: <202301262212.30QMCGYr022463@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4aded963cdce - stable/13 - vmm: Trim some pointless #ifdef KTR. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4aded963cdceef453656098719a13a2d4842787c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4aded963cdceef453656098719a13a2d4842787c commit 4aded963cdceef453656098719a13a2d4842787c Author: John Baldwin AuthorDate: 2022-11-18 18:06:20 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:06:39 +0000 vmm: Trim some pointless #ifdef KTR. Reported by: markj Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37272 (cherry picked from commit 49fd5115a9b244c599e068977324e8f6a9993066) --- sys/amd64/vmm/intel/vmx.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index baf62c1f8e8a..942caa6c58f8 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1226,28 +1226,22 @@ vmx_handle_cpuid(struct vmx_vcpu *vcpu, struct vmxctx *vmxctx) static __inline void vmx_run_trace(struct vmx_vcpu *vcpu) { -#ifdef KTR VMX_CTR1(vcpu, "Resume execution at %#lx", vmcs_guest_rip()); -#endif } static __inline void vmx_exit_trace(struct vmx_vcpu *vcpu, uint64_t rip, uint32_t exit_reason, int handled) { -#ifdef KTR VMX_CTR3(vcpu, "%s %s vmexit at 0x%0lx", handled ? "handled" : "unhandled", exit_reason_to_str(exit_reason), rip); -#endif } static __inline void vmx_astpending_trace(struct vmx_vcpu *vcpu, uint64_t rip) { -#ifdef KTR VMX_CTR1(vcpu, "astpending vmexit at 0x%0lx", rip); -#endif } static VMM_STAT_INTEL(VCPU_INVVPID_SAVED, "Number of vpid invalidations saved"); From nobody Thu Jan 26 22:12:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1G0Bqjz3c8k3; Thu, 26 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w1F5nY4z3wy2; Thu, 26 Jan 2023 22:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1TMomJg+rI0kaRUab/uV2lutXL8+7kmU6ws1cz+tjcc=; b=Nf3wlsSYxDEX0ehWTlyPd1TGZ5ake4rFwldhBX+tnlssc7dQU/ksQpHlSdBUejiSjbHvgC 7XXxKzyUU+YRw6RC11MgtTTe4wUFmeEw83+u3vMgoeQiqO26rLy9oqlHe/jviS5cDwysVs MPgrEa1+9//vCx8gk5frx2ug1N21lqLTIKkVYKC5SOj5kTtfiFUh9/pibY/r7LZAd7YhM5 iHCqljgsll96Bsmve+yUJAup59yxvjHZSKgcOma7+ysJT2AFmOPCCWv7kSTeC8ol7Cn1j+ Y9xMM+M9aeMQKcfDbUmcVO8rrjobPr97g/g/z65Mofp8hvzgIVS1/b/OUMhEQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1TMomJg+rI0kaRUab/uV2lutXL8+7kmU6ws1cz+tjcc=; b=J5LkQcOimRR94VlSLnB4uPOF0nZfD2R2AvKm2BabtfJVJwjufGQ7s6uT1WdLexsbgldEtZ bJ3WGK1hbEmqVpwOfZ/o35O/u5+ewWH2YTcRuFlKQqg9Biv24NNxUXkUWPT3ziml4rYNTq jOXI9tsFmaNC5uwN9H2SrOAcQ04gCZuen2FxfJAUQnvmHm03fVVJ9KBp4Q5mh62M1F2mnG fEg4XxPh39DeF/xB2mIgcpA654RKtcrTL7nrfXX9MYwVIctiQ1uJjnTKIhGDJRnvtEgNAx 6uU56xJ6OHGehk+wekgrEKoq5DcD0l8JzlkYUYU259t0Rb8CLYlN+C6H7Pq+mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771137; a=rsa-sha256; cv=none; b=sBetHNE4o8bYkuEzZsV9kYhgDpsdRSdekqKfvkDiM0iXQQWOX8y9Tkc3nXPF0EwC1Mx223 YXmoy1FQzJ+obRsCMErhwNOQBARLzSnO2Kxs7Ad8u3g6j5rR+Xek3PxyQahm1eWGoFS5Ww LZpHFQ0p/pldfLvZPpSa2h9DYwfmNyP8FkMr113shoJfPA5V7aWQfLBMvuzp4tfL96OzKp gwV3eza2irk979qXHmHkXzVqKql8OjAWzqKWHa/Anxrt4C/AcBTwSP7yvypa9biOPHVXGg 0uu91v5Jrx+YE/EzQDubgf9aGPNj7aRXteACypXNixN4yB/phKxZtV5BYKdzeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1F4csRzlHh; Thu, 26 Jan 2023 22:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCHqr022489; Thu, 26 Jan 2023 22:12:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCHur022488; Thu, 26 Jan 2023 22:12:17 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:17 GMT Message-Id: <202301262212.30QMCHur022488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 20b3385d4236 - stable/13 - vmm: Fix non-INVARIANTS build List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 20b3385d4236b7605b6f1d95c3ac6605e66b1ca0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=20b3385d4236b7605b6f1d95c3ac6605e66b1ca0 commit 20b3385d4236b7605b6f1d95c3ac6605e66b1ca0 Author: Cy Schubert AuthorDate: 2022-11-18 21:20:13 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:06:47 +0000 vmm: Fix non-INVARIANTS build Reported by: O. Hartmann Reviewed by: jhb Fixes: 58eefc67a1cf Differential Revision: https://reviews.freebsd.org/D37444 (cherry picked from commit d487cba33d777efb9f6f7d7967ad2eaa629bcb90) --- sys/amd64/vmm/intel/vmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 942caa6c58f8..b7b933eb9b18 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -1020,7 +1020,7 @@ vmx_setup_cr_shadow(int which, struct vmcs *vmcs, uint32_t initial) static void * vmx_init(struct vm *vm, pmap_t pmap) { - int error; + int error __diagused; struct vmx *vmx; vmx = malloc(sizeof(struct vmx), M_VMX, M_WAITOK | M_ZERO); From nobody Thu Jan 26 22:12:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1H0lMmz3c8fT; Thu, 26 Jan 2023 22:12: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 4P2w1G6V3Sz3wnV; Thu, 26 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KBXMXQP4SDRpT4KPxAa/QEQjp4QktF8K/ClSpDr/OW0=; b=NmldQhhNxwPOmxwcNQdABz16HbAitFux2JvKYoDFUhUxsm4fQKPKqr1UaWghmEXcUqTqO+ c1T8D8UVQkSC7VQZBoOHV4JXsVv5v2ajHtLTsp0JkMK16zGx+nqbyW7RS5t2kkjaXbBYbx g88bhoDfZbs+Pt+poZcf9Ylps1ziE4DNYFhjHKWrSb04v6UoWacqqCh2UUdEMIKP26mgGM OQyiRW33u3yQJty7mW9gHQujBEZdXipNoMQdcbLbTm2UPYRN0hGSiTG0hWhmWbaPuLUSQV oLzVDUCjbN7Z1W6ph6bxhRvDibV7Q/CPZ+4/yucuvcbi4uxjG+fqdWpSv6ARqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KBXMXQP4SDRpT4KPxAa/QEQjp4QktF8K/ClSpDr/OW0=; b=fC2/F7ISncolX3t82WKLz03P3utvDV6IrC3V6Uu80S4r5w0Nw4GH7ajBJ4zIMA7DwC5TW8 DUX4wV0FfjxFbCFDRLklkauTd6JR2aMzG2/wxPs8QsUSCIm1e48iw/15tO+fv6CD5j3rgt wtUIZzg1uEbvQlNLY2LOV/bt0FF8bu+iVlpgUdFsvPnZlHn2yqxfsVZUCf9MVg588rZfhB c9fTsJAxyPvV0mEJz/3g8xm+6q3x0mBDaD2JX4UK20zlIr9uA1cjYjyA0owF85/4ikja1N wo6wh4q95Obx7Ba2VZpTExViI1covsW1jpZy9dQ2VbU3MAQngJgQEoO0pKNoJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771139; a=rsa-sha256; cv=none; b=Lb0iOKqtQtS7c5CFiaFkJtjmIr00DTI8vhkbqoU0r0ik3sVYdVZwXtz0eXDBKChj8B3Zpo ri1P0rSxdUuPD0vzqgjIqpwfNZ8d2HEo3uTLEU7tugoaW228XoI6rtlBGLwzSYk3lO+uy3 Bwx5LKIs4shU786uNnbFEspgk0ffC6zKE2zeH6TWuK8VHTP4efC8AIgKIBXRuIOz3k8cdp l5hOO69OmEA6eYSvykLip0xZAxntupGx2+JP8IBsHniGDKxkB5I2myf3i+aQ1n7wtN1IhX i3imyYAh1IZEWUoxflrU1wtJcE6etv8u+m0UnenjeM7M0UQEV2LNsTjh381AaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1G5JJXzlHj; Thu, 26 Jan 2023 22:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCIEc022519; Thu, 26 Jan 2023 22:12:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCIXP022518; Thu, 26 Jan 2023 22:12:18 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:18 GMT Message-Id: <202301262212.30QMCIXP022518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4c13ad46a150 - stable/13 - vmm: Fix build w/o KDTRACE_HOOKS. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4c13ad46a15094c12c3ddf37eb25502e7860a82a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4c13ad46a15094c12c3ddf37eb25502e7860a82a commit 4c13ad46a15094c12c3ddf37eb25502e7860a82a Author: Dmitry Chagin AuthorDate: 2022-11-20 15:00:55 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:07:06 +0000 vmm: Fix build w/o KDTRACE_HOOKS. Reviewed by: imp Differential revision: https://reviews.freebsd.org/D37446 (cherry picked from commit 2ee1a18d51ed68ee34df7dcfd05f6cfc16110202) --- sys/amd64/vmm/intel/vmx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index b7b933eb9b18..4b65e254cc91 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -2350,7 +2350,9 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) uint32_t eax, ecx, edx, idtvec_info, idtvec_err, intr_info, inst_info; uint32_t intr_type, intr_vec, reason; uint64_t exitintinfo, qual, gpa; +#ifdef KDTRACE_HOOKS int vcpuid; +#endif bool retu; CTASSERT((PINBASED_CTLS_ONE_SETTING & PINBASED_VIRTUAL_NMI) != 0); @@ -2358,7 +2360,9 @@ vmx_exit_process(struct vmx *vmx, struct vmx_vcpu *vcpu, struct vm_exit *vmexit) handled = UNHANDLED; vmxctx = &vcpu->ctx; +#ifdef KDTRACE_HOOKS vcpuid = vcpu->vcpuid; +#endif qual = vmexit->u.vmx.exit_qualification; reason = vmexit->u.vmx.exit_reason; From nobody Thu Jan 26 22:12:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1J2dNpz3c8nN; Thu, 26 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w1J0jgwz3wr6; Thu, 26 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NXDY7AqD3rMRJCGQ7rVNA65ZYa72awwj8KoU0YBtkjo=; b=mVUlyz3NeGdh1RIVOJ0bImNgfVV6kyduakqkklGAfzM4dROucIrFTbWY0msT3RClnvMlwG XlKttmRsyiALe/gij+XV+xXYaA2lGifrcmm1bNBgU7je5gPIiD8yK7+xqrl1gMo3l1EVKm 2eaD0SGq01vrICMHsGU0PIBQvOkIc6sCywMy16cCQyny/tnZDIANtsUOCGv5QfmVheL1II ym4CS2ggPxE52VS9xMUAJeMBYaLSzqh791QbSZedjEB9GlRW+wDuRxnmnwY/Jp0VKuxZdZ /U2xU3n7HuQMi32Nng72oNpbxYp0CwmJvgF7gjJSWB/vv0RempekWDDn/2LDbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NXDY7AqD3rMRJCGQ7rVNA65ZYa72awwj8KoU0YBtkjo=; b=gfOXdQ/t+gJL5Ic2nKxHUnxdWv22Dsx9PsYlogoEgaiG7wIGNIj1Zg7cVyT0zZGEN+acuU ofCszmyclzmJZTifHF7mrvcF0jOOAsZ+U7PTxzRdtDdaOAGi6orwGzopDNIQPaJ0Xxjz9X vjl0Ipf10CeOB44ZAfijODZIwZdTWqFlmIS8LEXH7hkPzZB2z4B7fk92/vuiGaQX6fHbK6 wL/LFNJqow/rU80b4Lb0PR9kKubqHAmk+BjHlvmrQaYVFPXOdZPhHE7qFhyaG+XI+kMgr2 fH+6N2cHeW5/JOl+by725BZ9AFqHr5yD2UocgVQDeP1pxkMEP1ZAGRNyHc0/2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771140; a=rsa-sha256; cv=none; b=S8gwlwna2RI3ECTGkaa2xdCcy6/Q420yn+MLBC5j8hRnEMpD5aVJ4pqJYMcRfDSiC9pcLD winGZiec3XzSf2v9ZzTMrWUiMqFV9grOhMDtjp1pHwnM3dA0oHGRZ/A55GQ/br7+CxFQyf aZ+DBsSY5Bnfpxrbsn7oJn76XaGp5RyKnslAfao7BzuciUXBOK+Ja0+BZ90hvdatXGwjY0 Mla0kMHkwlq+oThSe4Fu2Su8d2keOO37sr16gMel8/mDmWl2f1wf/uM+GaibxSmHgMYMTg cyj3psYfomPDDkxj+Ufzx+DrggwkbZFSkfXrSs+0IzqhZTiVaxn4EI2AdTWtlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1H64qZzlXF; Thu, 26 Jan 2023 22:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCJPp022553; Thu, 26 Jan 2023 22:12:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCJkx022550; Thu, 26 Jan 2023 22:12:19 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:19 GMT Message-Id: <202301262212.30QMCJkx022550@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d786f1706ed4 - stable/13 - vmm: Remove stale comment for vm_rendezvous. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d786f1706ed4c4642a6f517377f0af37693ee027 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d786f1706ed4c4642a6f517377f0af37693ee027 commit d786f1706ed4c4642a6f517377f0af37693ee027 Author: John Baldwin AuthorDate: 2022-11-30 21:06:46 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:07:12 +0000 vmm: Remove stale comment for vm_rendezvous. Support for rendezvous outside of a vcpu context (vcpuid of -1) was removed in commit 949f0f47a4e7, and the vm, vcpuid argument pair was replaced by a single struct vcpu pointer in commit d8be3d523dd5. Reported by: andrew (cherry picked from commit 1f6db5d6b5de5e0cafcdb141a988120b0faea049) --- sys/amd64/include/vmm.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 18223c45b70c..15f946d4f120 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -313,9 +313,6 @@ int vm_restore_time(struct vm *vm); * The rendezvous 'func(arg)' is not allowed to do anything that will * cause the thread to be put to sleep. * - * If the rendezvous is being initiated from a vcpu context then the - * 'vcpuid' must refer to that vcpu, otherwise it should be set to -1. - * * The caller cannot hold any locks when initiating the rendezvous. * * The implementation of this API may cause vcpus other than those specified From nobody Thu Jan 26 22:12:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1K5ttjz3c8l4; Thu, 26 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w1K1vSNz3x2N; Thu, 26 Jan 2023 22:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PyKM7fF11ZLbvPMciB53EjAglBLUtxz2dFBQqzC4+Lw=; b=eg2ntOLqDzRNrVabopc4Vqt4cT4M01HSyKf1/UiSx4HcelHPSW7Cnq/nLhdBBIhtAfB4Yy CyA+1WhwAaNfiCCEyqlOwKqQN50GdgTTUDwU8nZkD2tDx2C716Guvg6qMkl9ss4jFrvzHm /nbQjRJZk00/n73nWyduCHlbZJeZQ3Y1Bg4zksk6jIB5WIYp++uv7qOAw/6r2pokFUx8Iw xaZFmEDOtRZxPzyYQEHq0xqrji2CsJtDt1EdKyUpjPC9W499x+ABFZ4m1mk6hcWu2paa2H XKnM0TrQEn2QlJqWwuFm4n/nzACJXPvPmxfKOmrFtzSPLX0fPEeB/2pcpTafJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PyKM7fF11ZLbvPMciB53EjAglBLUtxz2dFBQqzC4+Lw=; b=ddys6Cr6eHrVWemmr3igcXVn+d7J5xeSgKc8jB8PwYcTohZr7/7lPa4EkIsA4N6wsNHbxQ bciF0kAcq+hHp5VBdz+7PHvDklNozgyrwEMS61UnVXa38Er2mAnyAdgrV7Z+FrMFvPhhGr YYnncwJ08mJPtDyqUI2zkrcD/zqBJTsT4cfEQPyHXEVbF03AG8p81vql0S+SvQIgv8S/4v 3S/DNMCVOlMS2W6ct6dK3XlC+Gis0RBcew1OXz0y+1iNWtF2+DMv+EUk+2cA5reygG3BV/ /2kGXvjdMhKpNr1mGd32EIxLf+0aWLKNxpObOsw1TJ0xB7ei1A8S0VxeqYlPBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771141; a=rsa-sha256; cv=none; b=QcLSudUjQAHGD6KyKSl3Lp0dhCQkhvF+x9NfTLmg0JirvR+EFQqlE4QE4KoXFM25yRc58Q tb30CXtgkQLYAWVeMrC/8/mmobPRo+JYSo0zcSCA1xMQu/dfUt9lH1r/Yyuj9QZ3Rv6dP+ Ia+oUu5kII7QZHyrSkB68dSn6bGCKqZPQSkeJvKqkcsjdh6OevgWinFswFy7tksI7ykNEK 9IN2n75gTJDdUTuHLI6f+3EFxoheFxuukHcZE9AhNxrqOQ3FgZ0CLHs3l5p/jAsdmuUQw7 XpXl85TIEtcWB9Tvu3/HzSL5zOxaQ1gtbkYex6QucqYXoLUY2XrwCWXDpfzImg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1J6mC3zly5; Thu, 26 Jan 2023 22:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCKxv022577; Thu, 26 Jan 2023 22:12:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCKB3022576; Thu, 26 Jan 2023 22:12:20 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:20 GMT Message-Id: <202301262212.30QMCKB3022576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 16d0360d3399 - stable/13 - vmm: VM_GET/SET_KERNEMU_DEV should run with the vCPU locked. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 16d0360d3399a148841bc095893a08da653f257d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=16d0360d3399a148841bc095893a08da653f257d commit 16d0360d3399a148841bc095893a08da653f257d Author: John Baldwin AuthorDate: 2022-12-09 18:25:30 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:07:18 +0000 vmm: VM_GET/SET_KERNEMU_DEV should run with the vCPU locked. Reviewed by: corvink, kib, markj Differential Revision: https://reviews.freebsd.org/D37638 (cherry picked from commit 62be9ffd82fb1a03db5e04d32ab75550f1f4f2c7) --- sys/amd64/vmm/vmm_dev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 20aee0ea5776..9afcd1796173 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -460,6 +460,8 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, case VM_SET_INTINFO: case VM_GET_INTINFO: case VM_RESTART_INSTRUCTION: + case VM_GET_KERNEMU_DEV: + case VM_SET_KERNEMU_DEV: /* * ioctls that can operate only on vcpus that are not running. */ From nobody Thu Jan 26 22:12:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1L3QGKz3c8k6; Thu, 26 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w1L1W75z3x0G; Thu, 26 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x2uwD4GKi6vNgsouGOrIxeuI7nxYT2aqAxjUE3NfSws=; b=H+0cHulAkAuqUNMal/FtvHT0L+N5u1BkZOPhmvxrgMrfgpA7ZOEQ38Qb65fIvp2aS6Yg38 Oi+O7LU8oQmViJtEu2fGQemzannxQgwxHFp9PLMaPlCbwGvKT57+rRhoLgiWUiO2N8yfJH KI2AjN4j1EGIagtE+dD1uNyg7zPdqZFZlmS5GF/7cAFVV63AdpCnbj+AmJrHVaUOF44xuX lcefQbGtqUeKkwBaeJjrpbGy8GlW2LrC4UPEI4OYyb6M8Tzo0hO16lJGvwmkLRnNtW4zW8 jmUi6CEHU19g9eRkWoH67P4M+4ub4Tp8znEdbR7BMSV3jM9sJ2aaV6m+T2EGBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x2uwD4GKi6vNgsouGOrIxeuI7nxYT2aqAxjUE3NfSws=; b=pZ+JkdMXFab6oiS40zM/Fs6v0dFHQf+kpXB6kanx96Rj+b+Ti+P0kX6BkB8YMqq7L23HUx mCRxv81VUcdy80zuMOtd6BWtvyVbUaGXw7FNL3j5JtNJxodGB4czZ5tykVrrqMt7Ma3uhK LGjL2SzN6fBfBG99kfOHPyaVCLr4LwB9ojcK5KCFvqlmTKV7FyDAbOhKPwtN++zb20ac8y yNWlKUKOblsMlDu2Mz0Shtp7BnYVmAFpZn7oz2RpBSpDlrR0QkTwqAKZM/07YUSZHlWBlM +Ow4xhrEPUL5Tff0A0QjTfwybZnkhmkuv17Z1/ReexvT1bJgCH8GvyvYqegWCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771142; a=rsa-sha256; cv=none; b=MdE3FCeDGaGlXfZoLXCwSEGL1IaYWCYkcwNuU6kufXIVVuvB0D39BW0EpEuviHQlsUfBN/ dzfhqWbVJnEZPymJJX9N/0Fh/nxd40fP84g/5M5opLaSafCkOnA2YjsUExQOFEjqvsNcND f9oETsZGCdt6weDiM7asqrpIFgkI9AxvYg2G6aO1AYgjdfVF7gpcEKvf/s+QtQ+9zZF2dt iU10ipFqMKAj6mbF+rX92hBGbduIqB5y30R7Z8IHyd8NB94O2l8Z5r4EMIA+6ranlITBwd WDR9H/f+OMwo2WZWlm1OTin9zvMxHOIopttKHnVMsh1hVNeNSD3m+xMXKbauUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1L0c0NzlhK; Thu, 26 Jan 2023 22:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCMpk022601; Thu, 26 Jan 2023 22:12:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCMkT022600; Thu, 26 Jan 2023 22:12:22 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:22 GMT Message-Id: <202301262212.30QMCMkT022600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3bedbb1008a8 - stable/13 - vmm: Don't lock a vCPU for VM_PPTDEV_MSI[X]. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3bedbb1008a82641b785d58f5c0def8ce5ec5377 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3bedbb1008a82641b785d58f5c0def8ce5ec5377 commit 3bedbb1008a82641b785d58f5c0def8ce5ec5377 Author: John Baldwin AuthorDate: 2022-12-09 18:26:23 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:07:24 +0000 vmm: Don't lock a vCPU for VM_PPTDEV_MSI[X]. These are manipulating state in a ppt(4) device none of which is vCPU-specific. Mark the vcpu fields in the relevant ioctl structures as unused, but don't remove them for now. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37639 (cherry picked from commit 91980db1beecd52e34a1550a247e374cfcc746a2) --- sys/amd64/include/vmm_dev.h | 4 ++-- sys/amd64/vmm/vmm_dev.c | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/amd64/include/vmm_dev.h b/sys/amd64/include/vmm_dev.h index 9ed8f32302ae..deeb125428f3 100644 --- a/sys/amd64/include/vmm_dev.h +++ b/sys/amd64/include/vmm_dev.h @@ -147,7 +147,7 @@ struct vm_pptdev_mmio { }; struct vm_pptdev_msi { - int vcpu; + int vcpu; /* unused */ int bus; int slot; int func; @@ -157,7 +157,7 @@ struct vm_pptdev_msi { }; struct vm_pptdev_msix { - int vcpu; + int vcpu; /* unused */ int bus; int slot; int func; diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 9afcd1796173..94b462feef6a 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -451,8 +451,6 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, case VM_INJECT_EXCEPTION: case VM_GET_CAPABILITY: case VM_SET_CAPABILITY: - case VM_PPTDEV_MSI: - case VM_PPTDEV_MSIX: case VM_SET_X2APIC_STATE: case VM_GLA2GPA: case VM_GLA2GPA_NOFAULT: From nobody Thu Jan 26 22:12:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1M405Sz3c8Yp; Thu, 26 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w1M353Xz3x2w; Thu, 26 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T2oIiZGBMVqXqJXv/tXDbWkv/V3igDQtrBmO+vD+5X8=; b=I02ixMF6zf84sI6lyRXhBbJOf4BI7VoWMBr1jex+mSJ2q9Dx6vKUAARL7b6SsUVDHGQTbt 2rXN8OofJckwrCwb5KRMP6t7mhVjUavCI59PvFdQvX6qip5UvMmGwVodZLJZDhW0vaXLB/ MNicCGTJUUzj3gMmT67232Cw2mnycghCoDZW3IG/JA9ueKAgCjLp0ke4r1jmigIe00fS2v FrNzfjIrPPeKTVmeVAlCzwnZnEhWrb225eJLWTz4/0KbApd5lD7MfRZCQqFrCUXTlsEQCj WeFluNUgIODewlS9SixLNVbEf1PJfsZ4PVYLAjq2V8vkqtQu9eTgGVQPQg7yEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T2oIiZGBMVqXqJXv/tXDbWkv/V3igDQtrBmO+vD+5X8=; b=TZ5+HT5sAh1QOFN+0ysmQiAZPzlovxgrga3ZZVBPtH8AuQj4grFakzullu/E+uuutm0BQL EGFR4QbPIdPQ3wnFB9fPsipT9akVu3KS2UuxpvXOM9ez0eUTrDrmueHvbQDLuUG8M7mnrT iG4hEDCrrPzZ2R7WEgTg0L3SM91Ia1ZnslQtYlb3ZkWUjNaLkeWE2yRll9Mas2ePXMqhdA 8spIotVfKxmRaIgEu8FDMkMEc1HH1yE2+8xg1bU65OO39ds4AsfcQn0/WMB+AD6J++1Ghs 2VwVIN46nkvMlooiEymsz8uvh3PR9fLV/dPRMQ5tI8qmMaoJcVVJs3OWMhzxIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771143; a=rsa-sha256; cv=none; b=gFraAIFkrpGkYHNIClSlvRmSKD16DUSkz4Fl77bfmNe4yGtWCAsZU8IQ52uhI00rxouZEp K7wREskj96cClmgulMr9r/+uG2hLNJYrxrtnusvJB2qnZ09nXspCl11mprqhzlIEyN3fTn ofq0wH1TmxMou4QCvw3K+bNlwTGkEN/C5RLnLGfOuXS7UUlq/i3ThYcRebUFwK6aiDCCy8 GBqe+rOU2O6NUookgGqWhBLcRVQEqbPjGIj+aCjvCjBJecgqOa/DDclPNhuzTQV30jbMQt snp2tjLT7HUrh0v76GngN7WZH+0D2OUTemt0On+xJmG9SdpMYgPAiEnReulE3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1M1mXCzljm; Thu, 26 Jan 2023 22:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCNJN022625; Thu, 26 Jan 2023 22:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCNvJ022624; Thu, 26 Jan 2023 22:12:23 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:23 GMT Message-Id: <202301262212.30QMCNvJ022624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: a982814ef8dd - stable/13 - vmm: Avoid infinite loop in vcpu_lock_all error case. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a982814ef8dd0c2fb8fd935341a3cd354791d31c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a982814ef8dd0c2fb8fd935341a3cd354791d31c commit a982814ef8dd0c2fb8fd935341a3cd354791d31c Author: John Baldwin AuthorDate: 2022-12-09 18:26:49 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:07:33 +0000 vmm: Avoid infinite loop in vcpu_lock_all error case. Reported by: Coverity (CIDs 1501060,1501071) Reviewed by: corvink, markj, emaste Differential Revision: https://reviews.freebsd.org/D37648 (cherry picked from commit d212d6ebb4ea3b3e9c3964c1a6d3f41817e437e1) --- sys/amd64/vmm/vmm_dev.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 94b462feef6a..2d8ff43a74dd 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -149,7 +149,7 @@ vcpu_lock_all(struct vmmdev_softc *sc) { struct vcpu *vcpu; int error; - uint16_t i, maxcpus; + uint16_t i, j, maxcpus; vm_slock_vcpus(sc->vm); maxcpus = vm_get_maxcpus(sc->vm); @@ -163,11 +163,11 @@ vcpu_lock_all(struct vmmdev_softc *sc) } if (error) { - while (--i >= 0) { - vcpu = vm_vcpu(sc->vm, i); + for (j = 0; j < i; j++) { + vcpu = vm_vcpu(sc->vm, j); if (vcpu == NULL) continue; - vcpu_unlock_one(sc, i, vcpu); + vcpu_unlock_one(sc, j, vcpu); } vm_unlock_vcpus(sc->vm); } From nobody Thu Jan 26 22:12:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w1N4yfQz3c8fj; Thu, 26 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w1N3XRrz3xFQ; Thu, 26 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NFsxb2M6HWGf/DwcLwM5scb+LcJ48yDc8Fv5aRb//mk=; b=jOxBDtlX6+xR+q34iuXHOSN/XEJQG20X4kkKhFz4amu3w1QBSCjj1SQEtB1+NSZ480VxJp 3f3Sxg2oxvRMc4baCcj8V5iVBKKzE0tab6yy67cy8O31NKeC5v3w9GKA/ag+dNgU4ffeTG gDIzTolOAnijZNRO5rDPMnQWZVKUaj7nqiUMBMGVYTje+yh1Fv+YQkGfUieMTGftuHbr7o yyXirREqngmUMRYc9Zgj7EmksaJDoUBWfCf+GC4tar4b/Uj0cqc63r2ODdNUTA7aIQVNZY 7Ro2T0c2eCRfU50Ad9foJra4A728V8hFZCe0v9W3/E/CtPtktWoxJ3N2MOzveA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NFsxb2M6HWGf/DwcLwM5scb+LcJ48yDc8Fv5aRb//mk=; b=qomX6m5yvoPCNMf7Bcn24JCYTYpNQTWnlbt3su9k6CWRjTlvueKXaWVhjCWIRSIwMy5TtM Q/ZxOdANqeWlC8LFMiINW2pMB+Mp1iqKZRtLg0UlP9tNqi9fOh6yiFO83HR6EL3h4V3C2c cjgjbe+VsFhKMdhD9heZGktojETvyrvNn/ndUGUWGNm7lrwn0tfoatbuzo9Xw/YGmVuYIA 7A/xtdMSBzyuU8Wj0JFU2U4xriirjfcK0zB/3rQpdc5pO2fGHvqwIdjsdrre6k49te/AGP vqFiv7asQfG0RQ5Nx7sZ/ylwGGJ99UkZP9scCV7P8nhE9hkgYz14YPS1Ux+5Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771144; a=rsa-sha256; cv=none; b=uPDcZFN7wL8HBDMMtIyd8TApuQ6eLTCzCfZGnwPcUAHZEodn3YhgPIyiC3BKwow5Vau639 gW9j6I9Jo6IAQV0XNiJ5jBXCetNZVkE3HczWKMMbwf6JzcWTBI+Bi0ASbpSwZxrv3OXOd5 A7daUfr++DdOS2rAzN6fD8EnEFHral+Hpo89IZbXYvefq7CqXLZFUYNIWHT5vMb0UA5g/C 4bwp4H1tGZS1lffFcRTLAoPE1UmaOmpc+2quLeE9FMUPx3aKsXNMvM+XCXTljqc7TnbqQv IYxV7pXjAP5xbyTGPDoWCAECdJBqMprlXf4iLTXvArG8QM8uPj3e8Pu7o03pqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w1N2X7Nzm4r; Thu, 26 Jan 2023 22:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMCOIm022650; Thu, 26 Jan 2023 22:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMCOao022649; Thu, 26 Jan 2023 22:12:24 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:24 GMT Message-Id: <202301262212.30QMCOao022649@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c44d097dcf92 - stable/13 - vmm: Free vCPUs when destroying them. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c44d097dcf9293385441309c3e7a4b991cf43422 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c44d097dcf9293385441309c3e7a4b991cf43422 commit c44d097dcf9293385441309c3e7a4b991cf43422 Author: John Baldwin AuthorDate: 2022-12-09 18:27:05 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:07:38 +0000 vmm: Free vCPUs when destroying them. Reported by: andrew Reviewed by: corvink, andrew, markj Differential Revision: https://reviews.freebsd.org/D37649 (cherry picked from commit af3b48e101986fb0840739f8c4bb3195e78008b1) --- sys/amd64/vmm/vmm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 530c90c9804d..f0ee159dcbb9 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -341,6 +341,7 @@ vcpu_cleanup(struct vcpu *vcpu, bool destroy) vmm_stat_free(vcpu->stats); fpu_save_area_free(vcpu->guestfpu); vcpu_lock_destroy(vcpu); + free(vcpu, M_VM); } } From nobody Thu Jan 26 22:15:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w5W5qV5z3c97t; Thu, 26 Jan 2023 22:15: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 4P2w5W4fJ1z46gY; Thu, 26 Jan 2023 22:15:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/i4f7SQxNZxo0h+Nr9KiNYytwCZfmSGd1lHnrHxubKg=; b=ToEmhPMtHgh0skSdPmZwMMZejYp+FIgY6Q+HPE4z+upLgvt7omCVIb7g8H2xl+TJtad5p8 RplJBbeQkgtu7fA76B3b8PLRpjM7doPEZuhEBcADDBKUxnOgKVltZTzFB/ephc715+05nS mDQ6+rZxb0CXb0iCdwsmYTBZHVcWbohrknpgZL4BvyzVzmmB0q/ikUd9arLnPPcYqa/xeZ nQusl4+h/dHZKjtto+ozVeQHI7NWqz03fJy9dqr8WCaoctSkdGw1SwsoGEFCFGpbOhK6rz V+RfQ9mA7u9dfmfgXw1XABCKHZ1eeTJyBs8NknWglu+B4uwYcxeNd9gFdEWtTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/i4f7SQxNZxo0h+Nr9KiNYytwCZfmSGd1lHnrHxubKg=; b=gOJ9S7ACFLYV/5whZ9T3HIeBA+Puxk73VaPy+I9NfjfG0OXm6NIvGN81gi9ilr4txPynhS Bof3E8Rquhmd8WsqoOgGNqifJS3ukvlP69ZmYuk80MxMpnY346Eo2LsZo/wVd4AMnvABU1 rST78dRrsj0OjnH0ktb5KpBH+Gr2jM6bYwSws4wU7bx7FJym3ujNsbqDb3vmnVsgJ0oTbB CeuGtPBC5a26eRcTtNhZCdCH/T/cE2Xd1Gc0uCH76/w33TEePpkSwTBIohOCuU5zSnLM9S rpNDBVo7ofeZvKIqAMqSyZARj0tLXMjbfrJlDfDTpj4Y1j7m8NhGugPb0h4FOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771359; a=rsa-sha256; cv=none; b=qsUnoT9z41fBiN7zuXuLdQDKdqDcrAl324y/fqNXmxqwVnV7wD6YWRUCSpDS3vSHOYAFVV 9nVzGWotha0SWl48nrTkTnF7Ifhl/fVB0As56Grdhw8A06NtgNgKjzEuOjNZd/8Z/Y9Hwz sOvtz4vrIuGpBg/6xbqgJ5H5TgDDutIWqcdSa66DzlChlkg2U1sx8CryVIrOfC0DxlECWD GPq4WH/ZeBaclGXxfddjNZRIq/7dSqpBlcV1MPN7r1zxxv6B7QAYH/EAxXsq1xmZCTfnKG KnimEkkc5nHHmsz3wX24Bdb8sXFPVc+q+xyIIQ9rv5d53jmQJBcm5P7KTEdFnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w5W3g4pzm83; Thu, 26 Jan 2023 22:15:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMFxL7023417; Thu, 26 Jan 2023 22:15:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMFxKA023416; Thu, 26 Jan 2023 22:15:59 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:15:59 GMT Message-Id: <202301262215.30QMFxKA023416@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b4ce43992b67 - stable/13 - RELNOTES: Document lifting the hard limit on guest vCPUs in bhyve. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b4ce43992b6754c03b5b03d96e38401c7569023c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b4ce43992b6754c03b5b03d96e38401c7569023c commit b4ce43992b6754c03b5b03d96e38401c7569023c Author: John Baldwin AuthorDate: 2023-01-26 22:15:08 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:15:08 +0000 RELNOTES: Document lifting the hard limit on guest vCPUs in bhyve. --- RELNOTES | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/RELNOTES b/RELNOTES index ca20b549c6ba..f257440aa28a 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,12 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +225443828ec6..c44d097dcf92: + bhyve now supports more than 16 vCPUs in a guest. By default + bhyve permits each guest to create the same number of vCPUs as + the count of physical CPUs on the host. This limit can be + adjusted via the loader tunable hw.vmm.maxcpu. + 1462dc95f796: Kernel TLS offload now supports receive-side offload of TLS 1.3. From nobody Thu Jan 26 22:34:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWK227jz3cCKH; Thu, 26 Jan 2023 22:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2wWK1Nt4z4CWL; Thu, 26 Jan 2023 22:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e4gqR2+0JSPfZL6WCIGAI7/FHe88ajCrYAYrJe5x8C0=; b=TWmLuwZVQ0EtUcHJdGZe6Nkbuzk/uH1ZmYLfyc7c8EUtG8WTGhR0Vaw8P/rc1/C+9TD0rC j5oO3+W5jOQivhTwuWxMTLHgtnhyEUnxgSJpeTEiY6MfSWO9FjRsqWkV1SBHiPMYTy4nFG 6r/s7L+KBVP2tOMNV5Eih5QITvtIIRlgXN+7wuR45Es/+7K0tyI3KByse9zkcQFJnUf+qJ i7omF3LCT9nZFRMGbiUP6HcmnjI60StMSfn2vvFbnQMdxFb8YwU7e3oiyR5JOO0aYQNr89 iuuvT9J4VIObxW4w8dWswJP4N27zI1GTqB4M/e3bhE/NohcQyFza6WUNoi9bQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e4gqR2+0JSPfZL6WCIGAI7/FHe88ajCrYAYrJe5x8C0=; b=RwKK+KDYTXUOwz9BUHsJWFQpXtQmCHDdYKOjf640/6iO8CeAHGqZOA7dxD+XkEOHuc63xi MFerap115G6e5Ar95qv0g/03bkUGOgZoejmyyn8W0hyBmn4cB4Fs1qx0JeJbq6v6i7ko1C o9p0SLqW3LREmgAGaaOQ4iBC+t9x3TLU9OoaHHDpRtAzRSHHBbyi3G86DbSgnyMyXIXofB if6Z8lVafXwM8p4416VGjrQA4E1QvVouiCU8svvYfMHG2IWguzWZBNL2pabw8gf/YyUtlr dUsurXNrupyoWZIXkYYHK28V1aqg4J2BnsGXMzCiYzThiq+wPS7ToGXW2lINQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772493; a=rsa-sha256; cv=none; b=jV2PGZHMEaM2F4FZbmP0cVBf8e0wtDe2MGB4zFPNWRjysezbjHyoNYk3bg8lKPKJ+zyyGj 7Nz4LcWvkA17Apsi5elSwvCZCiaIOP/PMuiX4k/6TauF8oigXtgZlggDPacbkaFKf6CjSq LVs9/TVMUZ/UnLTrXKEe9wjpfTWEgkxquOFcsOcy+ec6fUAy7y78w3vLEO3n8bVNcVkQCu 8S7SjrZ/w/+F0+irsorFTY+2L3x2/q3kcE6e6at+VQuvopVDIXdBx6lrPbq78zHGY/wmxt 5yc31RjMl47WNMHWdpa+s3PW3pp3s3pRINpjn3Kfjpha0Pwf0lLEyixfD77/GQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWK0QynzmPK; Thu, 26 Jan 2023 22:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYqKM051348; Thu, 26 Jan 2023 22:34:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYqmZ051347; Thu, 26 Jan 2023 22:34:52 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:52 GMT Message-Id: <202301262234.30QMYqmZ051347@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 477ca9b8ef7a - stable/13 - bhyve: Remove unused argument from pci_nvme_handle_doorbell. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 477ca9b8ef7a958f5895820616f88a1d3212b51e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=477ca9b8ef7a958f5895820616f88a1d3212b51e commit 477ca9b8ef7a958f5895820616f88a1d3212b51e Author: John Baldwin AuthorDate: 2022-12-09 18:27:36 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:16:14 +0000 bhyve: Remove unused argument from pci_nvme_handle_doorbell. Reviewed by: corvink, chuck, markj Differential Revision: https://reviews.freebsd.org/D37650 (cherry picked from commit 34781da505fd06fc7cdf18e6e0c0eb187391d2c7) --- usr.sbin/bhyve/pci_nvme.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index a66b0abc2cc2..46bf7ba7ec45 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -2836,7 +2836,7 @@ complete: } static void -pci_nvme_handle_doorbell(struct vmctx *ctx __unused, struct pci_nvme_softc* sc, +pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, uint64_t idx, int is_sq, uint64_t value) { DPRINTF("nvme doorbell %lu, %s, val 0x%lx", @@ -2959,7 +2959,7 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, } else if (sc->compl_queues[idx].qbase == NULL) return; - pci_nvme_handle_doorbell(ctx, sc, idx, is_sq, value); + pci_nvme_handle_doorbell(sc, idx, is_sq, value); return; } From nobody Thu Jan 26 22:34:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWL2x2dz3cCSW; Thu, 26 Jan 2023 22:34: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 4P2wWL28jJz4D7D; Thu, 26 Jan 2023 22:34:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0leYdOm78nEpOmmNdrG4Y1vN1TmI7MElf4L+ZvAa7Y=; b=i6tNqvxnCk+VLnnFB6vn0dZZmkOZnR0fkjNnPC65Oamh1rLTj8Txkm+nASlbg0DI3REMt4 o/wwmYQx1aJHyGBXLY0DFMi06zUCejz6gSWOP9Fs+2LzOZHxs5qNJztes4JxVNnBnR/YyR i7F9/wUECaXb9aGpgFkzVSK+2XZUC09ANXWPuN8AAaGCl20m0+chWH7CqRXVHctIBPdcy3 pYu6+bS6R5oGFYThvDuaV0tT8mlB3ijkmsqSmRxnJnXYAMq/ILsoNmnURUohZ5jexuJq8r GDBBjWJUVNAjw08UzgZ0hqTnCGI0PBu5corheO5jSHkOLs2Nmt2GIStwQfztpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0leYdOm78nEpOmmNdrG4Y1vN1TmI7MElf4L+ZvAa7Y=; b=LADyYbtXlIBtjRe9QihaaRKBBUW7nLs2PuDUuYMTXgraxVDJyfkXI+QmXORcwOQ6ktIo3l lzxSSEYxGAWp48lvJLYmj3T1dEtw41AuVS0/P+eZTJto8WPwTQCMNAU0nXNVkwnFus4HTR o4a4kVw115ae1DBxiXh7x9aYvHhgrfAgxpArwwO4Nflrh7Fb5EAx2AVbjvoShLneeYai5G e6kdjrldqfOPZ39VfGn7AhkjfNnkvL9Q4EzZGlJRiOl4rW5kgYNnXtE8L+N5pxhHkK1BWJ 8vmRlBa7OB3Rwdmh9YkVjLDDYhVMH5d41C7jCmlmqFqaVOwdXFjfKy266ng9jQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772494; a=rsa-sha256; cv=none; b=w3HUJOsGzD4HZJs/li85VPhGRW4HFPMdQoxbYsAi+wJV6QYD9OPFiU8L7a9G6m0w9iyCOe kIh5L+sEnYvtB+jTfSzsWzyXT2HEYhjg3BUoo0thiZUix/a6ZwqhPSx7kpQPFbsINlTYh0 Fk8e8pm6RY0gK9c8ZaJv6xoFHdY/hzW0jmoq/atu2di49iaynI7BzPvfdk/HH4jnSOUm1A WXwj5wT+VpTCPpMqepPzjr7lYcnLJ85pxTYuhu6vTCooJOMwwq0595wipK25n8SrPeLQ1W WlwgwQU0fugpgne+TRaC/xg5NeFEWSFuBcRemr4lnMZhSVYMP8DwndUHftJ1Mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWL1FbTzm7s; Thu, 26 Jan 2023 22:34:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYscN051374; Thu, 26 Jan 2023 22:34:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYseX051373; Thu, 26 Jan 2023 22:34:54 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:54 GMT Message-Id: <202301262234.30QMYseX051373@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8506352dd517 - stable/13 - bhyve: Pass a vCPU ID of 0 to vm_setup_pptdev_msi*. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8506352dd517c0a6df4dac434929d4ee40ecc5f7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8506352dd517c0a6df4dac434929d4ee40ecc5f7 commit 8506352dd517c0a6df4dac434929d4ee40ecc5f7 Author: John Baldwin AuthorDate: 2022-12-09 18:28:11 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:16:35 +0000 bhyve: Pass a vCPU ID of 0 to vm_setup_pptdev_msi*. These ioctls are not vCPU-specific and the ioctl now ignores the vCPU ID. 0 is used instead of -1 to provide limited forwards compatibility. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37651 (cherry picked from commit 0857e5555d77357e34ea6d70b28ead6335e41d33) --- usr.sbin/bhyve/pci_passthru.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 285874f3925d..65df3a0a162b 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -386,7 +386,7 @@ msix_table_read(struct passthru_softc *sc, uint64_t offset, int size) } static void -msix_table_write(struct vmctx *ctx, int vcpu, struct passthru_softc *sc, +msix_table_write(struct vmctx *ctx, struct passthru_softc *sc, uint64_t offset, int size, uint64_t data) { struct pci_devinst *pi; @@ -445,7 +445,7 @@ msix_table_write(struct vmctx *ctx, int vcpu, struct passthru_softc *sc, /* If the entry is masked, don't set it up */ if ((entry->vector_control & PCIM_MSIX_VCTRL_MASK) == 0 || (vector_control & PCIM_MSIX_VCTRL_MASK) == 0) { - (void)vm_setup_pptdev_msix(ctx, vcpu, + (void)vm_setup_pptdev_msix(ctx, 0, sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, index, entry->addr, entry->msg_data, entry->vector_control); @@ -955,7 +955,7 @@ passthru_cfgread(struct vmctx *ctx __unused, int vcpu __unused, } static int -passthru_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, +passthru_cfgwrite(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, int coff, int bytes, uint32_t val) { int error, msix_table_entries, i; @@ -976,7 +976,7 @@ passthru_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, if (msicap_access(sc, coff)) { pci_emul_capwrite(pi, coff, bytes, val, sc->psc_msi.capoff, PCIY_MSI); - error = vm_setup_pptdev_msi(ctx, vcpu, sc->psc_sel.pc_bus, + error = vm_setup_pptdev_msi(ctx, 0, sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, pi->pi_msi.addr, pi->pi_msi.msg_data, pi->pi_msi.maxmsgnum); @@ -991,7 +991,7 @@ passthru_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, if (pi->pi_msix.enabled) { msix_table_entries = pi->pi_msix.table_count; for (i = 0; i < msix_table_entries; i++) { - error = vm_setup_pptdev_msix(ctx, vcpu, + error = vm_setup_pptdev_msix(ctx, 0, sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, i, pi->pi_msix.table[i].addr, @@ -1036,8 +1036,8 @@ passthru_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, } static void -passthru_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, - uint64_t offset, int size, uint64_t value) +passthru_write(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, + int baridx, uint64_t offset, int size, uint64_t value) { struct passthru_softc *sc; struct pci_bar_ioreq pio; @@ -1045,7 +1045,7 @@ passthru_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, sc = pi->pi_arg; if (baridx == pci_msix_table_bar(pi)) { - msix_table_write(ctx, vcpu, sc, offset, size, value); + msix_table_write(ctx, sc, offset, size, value); } else { assert(pi->pi_bar[baridx].type == PCIBAR_IO); assert(size == 1 || size == 2 || size == 4); From nobody Thu Jan 26 22:34:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWM3CWgz3cCXR; Thu, 26 Jan 2023 22:34: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 4P2wWM2wBWz4D5l; Thu, 26 Jan 2023 22:34:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M25BhI6xtPca4mF5dJM106p46HBEryVoISfRnbson7E=; b=sHuavO1PDUOBXcQTOmrvE90lKguHTNDbrX7m6SpfhWYwZN2olRYt8sKUg6GnD1LaA3qlIr YTEqBLsXkbP1Tbr39TDMyWj9kOra+072l/l8Go5U5D6dg2uF64F0lAo9KP1SyioRnNVUti /TP35kvNS5CiDvZXLmnxIo797hqkaKbN23pC0z7vd2g/4jshcwDBKHwtxk0ieNk5hehui2 lHVvd0/b9KWtQzYV6Fv5ajDuPDKvqmzuGIEXlUsnVmLpvNW/5HMDUG440jlsl6dLjUG2qn FLRmVowoRTg5PKbh96L4aszG6BaMlXSPZXfF+ERXKB4hD0p1Kl0MTWuPXlGwTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M25BhI6xtPca4mF5dJM106p46HBEryVoISfRnbson7E=; b=d984TmB3JmN0Gid16JgfmxQ153shp0XZE53PrgWR3iU+P2xZc2uOYr+K+rYGkELFWdEWPh smx44qD671H0/Uv8/LIiBCWNylYNPe4JziYMO3d+1b0oxVl5zn4/Tw/bY5lHnPI/CCQfDy ObVbTbAYfCw6QiEF3/1ysvH1LKu7DPh7rxmPMrm1LukN04bFeXJhTlIKV8/mIClX8kNZBM ypX47zOIJTThUo4WtxsLSwOTqUUncD/kMCIojhtGKaZsd2+m4k5AiVaCqa4vYNUuye5OOw tVt9R0Td1bQ1U1tl4F7pLGwVY9qS0j3lUzESQ2NzQyx9WUqSP7ITrWof6ellAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772495; a=rsa-sha256; cv=none; b=G3o9V1FRZSxuFGNjVlnv27DkTSbAzYLobokfvFXXcunm6IJkQxDc3+zj4xAZMczD7Q9NW9 A9/G5Y5ig7pCuWEauX5dGU/KVk9O7Lx5PBFujXNhKMpM1YmFQccKANrqoZGkEntzSGGeie 4fHR8tDFmxnOb/hH7cFycrhX5CvNExyUCWSgPlm6d5sSQjZS281LDjJgwknvsMZM2PNBQe ObIUm5GzBDu81Z2E5Zf0P1mHUqNvM5+TME6vUj/9Fg8DQihwSFLBftOoEQRnFCl57Wy+3Y F0Qt9+BV48zxLgIfyXDNf5OO6R4CcZXos7ysoIf4m9/KRedmDCeGnGW91DRntw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWM1xNWzmdJ; Thu, 26 Jan 2023 22:34:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYt0b051398; Thu, 26 Jan 2023 22:34:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYt93051397; Thu, 26 Jan 2023 22:34:55 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:55 GMT Message-Id: <202301262234.30QMYt93051397@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ce259e6688c5 - stable/13 - bhyve: Remove unused vcpu argument from PCI read/write methods. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ce259e6688c570c5941adca48f4a7784f47ad840 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ce259e6688c570c5941adca48f4a7784f47ad840 commit ce259e6688c570c5941adca48f4a7784f47ad840 Author: John Baldwin AuthorDate: 2022-12-09 18:35:28 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:16:46 +0000 bhyve: Remove unused vcpu argument from PCI read/write methods. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37652 (cherry picked from commit 78c2cd83eccac0ebd23ebd15df77ee33a5781a6e) --- usr.sbin/bhyve/pci_ahci.c | 4 ++-- usr.sbin/bhyve/pci_e82545.c | 4 ++-- usr.sbin/bhyve/pci_emul.c | 50 +++++++++++++++++++++---------------------- usr.sbin/bhyve/pci_emul.h | 8 +++---- usr.sbin/bhyve/pci_fbuf.c | 4 ++-- usr.sbin/bhyve/pci_hda.c | 8 +++---- usr.sbin/bhyve/pci_lpc.c | 6 +++--- usr.sbin/bhyve/pci_nvme.c | 4 ++-- usr.sbin/bhyve/pci_passthru.c | 16 +++++++------- usr.sbin/bhyve/pci_uart.c | 4 ++-- usr.sbin/bhyve/pci_xhci.c | 4 ++-- usr.sbin/bhyve/virtio.c | 4 ++-- usr.sbin/bhyve/virtio.h | 4 ++-- 13 files changed, 60 insertions(+), 60 deletions(-) diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index 09b996476774..700170885a13 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -2197,7 +2197,7 @@ pci_ahci_host_write(struct pci_ahci_softc *sc, uint64_t offset, uint64_t value) } static void -pci_ahci_write(struct vmctx *ctx __unused, int vcpu __unused, +pci_ahci_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { @@ -2292,7 +2292,7 @@ pci_ahci_port_read(struct pci_ahci_softc *sc, uint64_t offset) } static uint64_t -pci_ahci_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_ahci_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t regoff, int size) { struct pci_ahci_softc *sc = pi->pi_arg; diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 9d991b124965..49c5f986a341 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -2112,7 +2112,7 @@ e82545_read_register(struct e82545_softc *sc, uint32_t offset) } static void -e82545_write(struct vmctx *ctx __unused, int vcpu __unused, +e82545_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { @@ -2163,7 +2163,7 @@ e82545_write(struct vmctx *ctx __unused, int vcpu __unused, } static uint64_t -e82545_read(struct vmctx *ctx __unused, int vcpu __unused, +e82545_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct e82545_softc *sc; diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index b22238ab37fd..74a648799757 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -140,7 +140,7 @@ SYSRES_MEM(PCI_EMUL_ECFG_BASE, PCI_EMUL_ECFG_SIZE); static struct pci_devemu *pci_emul_finddev(const char *name); static void pci_lintr_route(struct pci_devinst *pi); static void pci_lintr_update(struct pci_devinst *pi); -static void pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot, +static void pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, int func, int coff, int bytes, uint32_t *val); static __inline void @@ -447,8 +447,8 @@ pci_msix_pba_bar(struct pci_devinst *pi) } static int -pci_emul_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg) +pci_emul_io_handler(struct vmctx *ctx, int vcpu __unused, int in, int port, + int bytes, uint32_t *eax, void *arg) { struct pci_devinst *pdi = arg; struct pci_devemu *pe = pdi->pi_d; @@ -464,10 +464,10 @@ pci_emul_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, pdi->pi_bar[i].addr + pdi->pi_bar[i].size) { offset = port - pdi->pi_bar[i].addr; if (in) - *eax = (*pe->pe_barread)(ctx, vcpu, pdi, i, + *eax = (*pe->pe_barread)(ctx, pdi, i, offset, bytes); else - (*pe->pe_barwrite)(ctx, vcpu, pdi, i, offset, + (*pe->pe_barwrite)(ctx, pdi, i, offset, bytes, *eax); return (0); } @@ -476,8 +476,8 @@ pci_emul_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, } static int -pci_emul_mem_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, - int size, uint64_t *val, void *arg1, long arg2) +pci_emul_mem_handler(struct vmctx *ctx, int vcpu __unused, int dir, + uint64_t addr, int size, uint64_t *val, void *arg1, long arg2) { struct pci_devinst *pdi = arg1; struct pci_devemu *pe = pdi->pi_d; @@ -494,22 +494,22 @@ pci_emul_mem_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, if (dir == MEM_F_WRITE) { if (size == 8) { - (*pe->pe_barwrite)(ctx, vcpu, pdi, bidx, offset, + (*pe->pe_barwrite)(ctx, pdi, bidx, offset, 4, *val & 0xffffffff); - (*pe->pe_barwrite)(ctx, vcpu, pdi, bidx, offset + 4, + (*pe->pe_barwrite)(ctx, pdi, bidx, offset + 4, 4, *val >> 32); } else { - (*pe->pe_barwrite)(ctx, vcpu, pdi, bidx, offset, + (*pe->pe_barwrite)(ctx, pdi, bidx, offset, size, *val); } } else { if (size == 8) { - *val = (*pe->pe_barread)(ctx, vcpu, pdi, bidx, + *val = (*pe->pe_barread)(ctx, pdi, bidx, offset, 4); - *val |= (*pe->pe_barread)(ctx, vcpu, pdi, bidx, + *val |= (*pe->pe_barread)(ctx, pdi, bidx, offset + 4, 4) << 32; } else { - *val = (*pe->pe_barread)(ctx, vcpu, pdi, bidx, + *val = (*pe->pe_barread)(ctx, pdi, bidx, offset, size); } } @@ -1294,8 +1294,9 @@ pci_emul_fallback_handler(struct vmctx *ctx __unused, int vcpu __unused, } static int -pci_emul_ecfg_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, - int bytes, uint64_t *val, void *arg1 __unused, long arg2 __unused) +pci_emul_ecfg_handler(struct vmctx *ctx, int vcpu __unused, int dir, + uint64_t addr, int bytes, uint64_t *val, void *arg1 __unused, + long arg2 __unused) { int bus, slot, func, coff, in; @@ -1306,7 +1307,7 @@ pci_emul_ecfg_handler(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, in = (dir == MEM_F_READ); if (in) *val = ~0UL; - pci_cfgrw(ctx, vcpu, in, bus, slot, func, coff, bytes, (uint32_t *)val); + pci_cfgrw(ctx, in, bus, slot, func, coff, bytes, (uint32_t *)val); return (0); } @@ -2053,7 +2054,7 @@ pci_emul_cmdsts_write(struct pci_devinst *pi, int coff, uint32_t new, int bytes) } static void -pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot, int func, +pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, int func, int coff, int bytes, uint32_t *eax) { struct businfo *bi; @@ -2107,8 +2108,7 @@ pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot, int func, if (in) { /* Let the device emulation override the default handler */ if (pe->pe_cfgread != NULL) { - needcfg = pe->pe_cfgread(ctx, vcpu, pi, coff, bytes, - eax); + needcfg = pe->pe_cfgread(ctx, pi, coff, bytes, eax); } else { needcfg = 1; } @@ -2120,7 +2120,7 @@ pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot, int func, } else { /* Let the device emulation override the default handler */ if (pe->pe_cfgwrite != NULL && - (*pe->pe_cfgwrite)(ctx, vcpu, pi, coff, bytes, *eax) == 0) + (*pe->pe_cfgwrite)(ctx, pi, coff, bytes, *eax) == 0) return; /* @@ -2247,8 +2247,8 @@ pci_emul_cfgaddr(struct vmctx *ctx __unused, int vcpu __unused, int in, INOUT_PORT(pci_cfgaddr, CONF1_ADDR_PORT, IOPORT_F_INOUT, pci_emul_cfgaddr); static int -pci_emul_cfgdata(struct vmctx *ctx, int vcpu, int in, int port, int bytes, - uint32_t *eax, void *arg __unused) +pci_emul_cfgdata(struct vmctx *ctx, int vcpu __unused, int in, int port, + int bytes, uint32_t *eax, void *arg __unused) { int coff; @@ -2256,7 +2256,7 @@ pci_emul_cfgdata(struct vmctx *ctx, int vcpu, int in, int port, int bytes, coff = cfgoff + (port - CONF1_DATA_PORT); if (cfgenable) { - pci_cfgrw(ctx, vcpu, in, cfgbus, cfgslot, cfgfunc, coff, bytes, + pci_cfgrw(ctx, in, cfgbus, cfgslot, cfgfunc, coff, bytes, eax); } else { /* Ignore accesses to cfgdata if not enabled by cfgaddr */ @@ -2499,7 +2499,7 @@ pci_emul_dinit(struct vmctx *ctx __unused, struct pci_devinst *pi, } static void -pci_emul_diow(struct vmctx *ctx __unused, int vcpu __unused, +pci_emul_diow(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { @@ -2567,7 +2567,7 @@ pci_emul_diow(struct vmctx *ctx __unused, int vcpu __unused, } static uint64_t -pci_emul_dior(struct vmctx *ctx __unused, int vcpu __unused, +pci_emul_dior(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_emul_dsoftc *sc = pi->pi_arg; diff --git a/usr.sbin/bhyve/pci_emul.h b/usr.sbin/bhyve/pci_emul.h index 3d7b420e2bdf..8a7bcb7cc83a 100644 --- a/usr.sbin/bhyve/pci_emul.h +++ b/usr.sbin/bhyve/pci_emul.h @@ -63,18 +63,18 @@ struct pci_devemu { void (*pe_write_dsdt)(struct pci_devinst *); /* config space read/write callbacks */ - int (*pe_cfgwrite)(struct vmctx *ctx, int vcpu, + int (*pe_cfgwrite)(struct vmctx *ctx, struct pci_devinst *pi, int offset, int bytes, uint32_t val); - int (*pe_cfgread)(struct vmctx *ctx, int vcpu, + int (*pe_cfgread)(struct vmctx *ctx, struct pci_devinst *pi, int offset, int bytes, uint32_t *retval); /* BAR read/write callbacks */ - void (*pe_barwrite)(struct vmctx *ctx, int vcpu, + void (*pe_barwrite)(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value); - uint64_t (*pe_barread)(struct vmctx *ctx, int vcpu, + uint64_t (*pe_barread)(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size); diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index d69e8254aa25..4cfe872bd934 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -117,7 +117,7 @@ static struct pci_fbuf_softc *fbuf_sc; #define PCI_FBUF_MSI_MSGS 4 static void -pci_fbuf_write(struct vmctx *ctx __unused, int vcpu __unused, +pci_fbuf_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { @@ -172,7 +172,7 @@ pci_fbuf_write(struct vmctx *ctx __unused, int vcpu __unused, } static uint64_t -pci_fbuf_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_fbuf_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_fbuf_softc *sc; diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index e6e4ae4ca27d..a85935a5cae8 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -210,9 +210,9 @@ static uint64_t hda_get_clock_ns(void); * PCI HDA function declarations */ static int pci_hda_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl); -static void pci_hda_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, +static void pci_hda_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value); -static uint64_t pci_hda_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, +static uint64_t pci_hda_read(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size); /* * HDA global data @@ -1256,7 +1256,7 @@ pci_hda_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) } static void -pci_hda_write(struct vmctx *ctx __unused, int vcpu __unused, +pci_hda_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { @@ -1274,7 +1274,7 @@ pci_hda_write(struct vmctx *ctx __unused, int vcpu __unused, } static uint64_t -pci_hda_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_hda_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct hda_softc *sc = pi->pi_arg; diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c index 5425a7935973..7af8d6647edc 100644 --- a/usr.sbin/bhyve/pci_lpc.c +++ b/usr.sbin/bhyve/pci_lpc.c @@ -398,7 +398,7 @@ pci_lpc_uart_dsdt(void) LPC_DSDT(pci_lpc_uart_dsdt); static int -pci_lpc_cfgwrite(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, +pci_lpc_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, int bytes, uint32_t val) { int pirq_pin; @@ -419,14 +419,14 @@ pci_lpc_cfgwrite(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, } static void -pci_lpc_write(struct vmctx *ctx __unused, int vcpu __unused, +pci_lpc_write(struct vmctx *ctx __unused, struct pci_devinst *pi __unused, int baridx __unused, uint64_t offset __unused, int size __unused, uint64_t value __unused) { } static uint64_t -pci_lpc_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_lpc_read(struct vmctx *ctx __unused, struct pci_devinst *pi __unused, int baridx __unused, uint64_t offset __unused, int size __unused) { diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 46bf7ba7ec45..75e6f247501a 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -3062,7 +3062,7 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, } static void -pci_nvme_write(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, +pci_nvme_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { struct pci_nvme_softc* sc = pi->pi_arg; @@ -3125,7 +3125,7 @@ static uint64_t pci_nvme_read_bar_0(struct pci_nvme_softc* sc, static uint64_t -pci_nvme_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_nvme_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_nvme_softc* sc = pi->pi_arg; diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 65df3a0a162b..0c5f3ed1e7a3 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -910,8 +910,8 @@ msixcap_access(struct passthru_softc *sc, int coff) } static int -passthru_cfgread(struct vmctx *ctx __unused, int vcpu __unused, - struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) +passthru_cfgread(struct vmctx *ctx __unused, struct pci_devinst *pi, int coff, + int bytes, uint32_t *rv) { struct passthru_softc *sc; @@ -955,8 +955,8 @@ passthru_cfgread(struct vmctx *ctx __unused, int vcpu __unused, } static int -passthru_cfgwrite(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, - int coff, int bytes, uint32_t val) +passthru_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, + int bytes, uint32_t val) { int error, msix_table_entries, i; struct passthru_softc *sc; @@ -1036,8 +1036,8 @@ passthru_cfgwrite(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, } static void -passthru_write(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +passthru_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, + uint64_t offset, int size, uint64_t value) { struct passthru_softc *sc; struct pci_bar_ioreq pio; @@ -1064,8 +1064,8 @@ passthru_write(struct vmctx *ctx, int vcpu __unused, struct pci_devinst *pi, } static uint64_t -passthru_read(struct vmctx *ctx __unused, int vcpu __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size) +passthru_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, + uint64_t offset, int size) { struct passthru_softc *sc; struct pci_bar_ioreq pio; diff --git a/usr.sbin/bhyve/pci_uart.c b/usr.sbin/bhyve/pci_uart.c index 2e4a0eac05f9..7ccc3c7b6c62 100644 --- a/usr.sbin/bhyve/pci_uart.c +++ b/usr.sbin/bhyve/pci_uart.c @@ -66,7 +66,7 @@ pci_uart_intr_deassert(void *arg) } static void -pci_uart_write(struct vmctx *ctx __unused, int vcpu __unused, +pci_uart_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { @@ -77,7 +77,7 @@ pci_uart_write(struct vmctx *ctx __unused, int vcpu __unused, } static uint64_t -pci_uart_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_uart_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { uint8_t val; diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index f95f62fbf0e5..5bc9498a4eb4 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -2267,7 +2267,7 @@ pci_xhci_hostop_write(struct pci_xhci_softc *sc, uint64_t offset, static void -pci_xhci_write(struct vmctx *ctx __unused, int vcpu __unused, +pci_xhci_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size __unused, uint64_t value) { @@ -2489,7 +2489,7 @@ pci_xhci_xecp_read(struct pci_xhci_softc *sc, uint64_t offset) static uint64_t -pci_xhci_read(struct vmctx *ctx __unused, int vcpu __unused, +pci_xhci_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_xhci_softc *sc; diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index dc3a2d10d5b5..87d49c2a5e4b 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -558,7 +558,7 @@ vi_find_cr(int offset) { * Otherwise dispatch to the actual driver. */ uint64_t -vi_pci_read(struct vmctx *ctx __unused, int vcpu __unused, +vi_pci_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct virtio_softc *vs = pi->pi_arg; @@ -678,7 +678,7 @@ done: * Otherwise dispatch to the actual driver. */ void -vi_pci_write(struct vmctx *ctx __unused, int vcpu __unused, +vi_pci_write(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { diff --git a/usr.sbin/bhyve/virtio.h b/usr.sbin/bhyve/virtio.h index 7b50969e57a9..b6ef2bc8d9de 100644 --- a/usr.sbin/bhyve/virtio.h +++ b/usr.sbin/bhyve/virtio.h @@ -426,9 +426,9 @@ void vq_relchain_publish(struct vqueue_info *vq); void vq_relchain(struct vqueue_info *vq, uint16_t idx, uint32_t iolen); void vq_endchains(struct vqueue_info *vq, int used_all_avail); -uint64_t vi_pci_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, +uint64_t vi_pci_read(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size); -void vi_pci_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, +void vi_pci_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value); #ifdef BHYVE_SNAPSHOT int vi_pci_snapshot(struct vm_snapshot_meta *meta); From nobody Thu Jan 26 22:34:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWN4ph6z3cCFH; Thu, 26 Jan 2023 22:34: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 4P2wWN3n7Zz4D1b; Thu, 26 Jan 2023 22:34:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v54CJsm+fB0bCRG2llp9+wi5B3aGOuHUoSbEEuafK0Y=; b=hJx/niEosrAJX8T596rprODuxtKTrGDqm+mM0ujMwcl/b6PcVjsT7Nqv1AjhrBg0eIXpgG d1ghvz9tmWt4DSC/xLrTdqxKOZu0keGCd/yKB6XW0qRHM75rbZWoB6O33y5tSc0MvXMXFm xj3mIpHvpfyB0lpq6ypzPr2E8AfUNi3NySWt7B0lHlrCvypLpEfpHfUCoOD+B4IPdf8yA9 Ts8gViYkshXPbj3q3zoxAEiRxlieLaJVmforyfOgpyFgYi7hCj5rWDf9TgS3AjAbyA8KWN Q5Yvg7rRO4HanH3w+n+Z/XzAl+KkCyeW5T3to/ne552YUFvWcrKd0vDKt0MOVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v54CJsm+fB0bCRG2llp9+wi5B3aGOuHUoSbEEuafK0Y=; b=l10i1JpEQRlNaMVgpQvVq8GYoKP4l7Vlxd98/Ic3seS+PohsD5ONgeruUBh0rgpumBZmwp bKiFyPQ/CKRb9R95t7qoUrK93zorOsSvj0L14PJWWDuZZDfY4kgdtNssavVIob/bKMltza IXcoSdSxvonSwxqSqEtTcsEcwaUFt8jbfUdM7FPIrboypj5Ue0JAAATCMPc39JCNMXFjvA T4ZHTonU2iVoFoo8QYpCHXo/lW8rZHQsVkUB+JSvZZOInDCeXEs22vWgQWRyRTfZk+o0Zt 4Lav0Czjyl8wTaS9BmdHVwjOR7920MixdyI8RepGGNx2RX9ynOoPTtxtFm9QXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772496; a=rsa-sha256; cv=none; b=X/abr2Pghldvq+YMU0Aq5n2p1lgHIbgvvm9NWYXJ5TfwGXXY+/6sVtMEAiMPpJgcwns8dF 0YMD2Q5+Sf9zbshwg6nQfH9v40xpayPL8ZxMhveCWb9vBTyzh7GOhKirTkPoQb6SWinh2o QIvwTc/JbdvZuVJMhoktQRVb6XIwsLGmoqDBMLH782Ck9vi7lFm51RLwhUqoSfgGbmF1PJ LmUBNGK4yjHRcnzQj1EjrXszj1SqDLnPHOFfTt9gKQj7+xOf+poRxL1i70AMHht9ypL7FG +wTfKLMQT4FRx0gh/KFURMIXyG2zkwk98LZogkh4wF2E1nJ5f1RqTuGe45PXHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWN2trszm9V; Thu, 26 Jan 2023 22:34:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYuYj051422; Thu, 26 Jan 2023 22:34:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYuFk051421; Thu, 26 Jan 2023 22:34:56 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:56 GMT Message-Id: <202301262234.30QMYuFk051421@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8dbc7c17aeb8 - stable/13 - bhyve: Remove the unused vcpu argument from all of the I/O port handlers. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8dbc7c17aeb893806c3364880307ceafaa2dd31a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8dbc7c17aeb893806c3364880307ceafaa2dd31a commit 8dbc7c17aeb893806c3364880307ceafaa2dd31a Author: John Baldwin AuthorDate: 2022-12-09 18:35:44 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:17:11 +0000 bhyve: Remove the unused vcpu argument from all of the I/O port handlers. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37653 (cherry picked from commit 08b05de1e21a7f3720eb618613276e3f3ab665f3) --- usr.sbin/bhyve/atkbdc.c | 4 ++-- usr.sbin/bhyve/fwctl.c | 2 +- usr.sbin/bhyve/inout.c | 6 +++--- usr.sbin/bhyve/inout.h | 2 +- usr.sbin/bhyve/pci_emul.c | 6 +++--- usr.sbin/bhyve/pci_lpc.c | 2 +- usr.sbin/bhyve/pctestdev.c | 12 ++++++------ usr.sbin/bhyve/pm.c | 14 +++++++------- usr.sbin/bhyve/post.c | 2 +- usr.sbin/bhyve/vga.c | 2 +- 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/usr.sbin/bhyve/atkbdc.c b/usr.sbin/bhyve/atkbdc.c index 42430ad1169e..5acde3874be3 100644 --- a/usr.sbin/bhyve/atkbdc.c +++ b/usr.sbin/bhyve/atkbdc.c @@ -307,7 +307,7 @@ atkbdc_dequeue_data(struct atkbdc_softc *sc, uint8_t *buf) } static int -atkbdc_data_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, +atkbdc_data_handler(struct vmctx *ctx __unused, int in, int port __unused, int bytes, uint32_t *eax, void *arg) { struct atkbdc_softc *sc; @@ -393,7 +393,7 @@ atkbdc_data_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, } static int -atkbdc_sts_ctl_handler(struct vmctx *ctx, int vcpu __unused, int in, +atkbdc_sts_ctl_handler(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg) { struct atkbdc_softc *sc; diff --git a/usr.sbin/bhyve/fwctl.c b/usr.sbin/bhyve/fwctl.c index f74380a426b2..047a1050e7fd 100644 --- a/usr.sbin/bhyve/fwctl.c +++ b/usr.sbin/bhyve/fwctl.c @@ -516,7 +516,7 @@ fwctl_outl(uint32_t val) } static int -fwctl_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, +fwctl_handler(struct vmctx *ctx __unused, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { diff --git a/usr.sbin/bhyve/inout.c b/usr.sbin/bhyve/inout.c index bdbdd0d1c223..225697906393 100644 --- a/usr.sbin/bhyve/inout.c +++ b/usr.sbin/bhyve/inout.c @@ -66,7 +66,7 @@ static struct { } inout_handlers[MAX_IOPORTS]; static int -default_inout(struct vmctx *ctx __unused, int vcpu __unused, int in, +default_inout(struct vmctx *ctx __unused, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { if (in) { @@ -186,7 +186,7 @@ emulate_inout(struct vmctx *ctx, int vcpu, struct vm_exit *vmexit) if (!in) vm_copyin(iov, &val, bytes); - retval = handler(ctx, vcpu, in, port, bytes, &val, arg); + retval = handler(ctx, in, port, bytes, &val, arg); if (retval != 0) break; @@ -225,7 +225,7 @@ emulate_inout(struct vmctx *ctx, int vcpu, struct vm_exit *vmexit) } else { eax = vmexit->u.inout.eax; val = eax & vie_size2mask(bytes); - retval = handler(ctx, vcpu, in, port, bytes, &val, arg); + retval = handler(ctx, in, port, bytes, &val, arg); if (retval == 0 && in) { eax &= ~vie_size2mask(bytes); eax |= val & vie_size2mask(bytes); diff --git a/usr.sbin/bhyve/inout.h b/usr.sbin/bhyve/inout.h index 19b2975b94e5..a3a37e03ff68 100644 --- a/usr.sbin/bhyve/inout.h +++ b/usr.sbin/bhyve/inout.h @@ -39,7 +39,7 @@ struct vm_exit; /* * inout emulation handlers return 0 on success and -1 on failure. */ -typedef int (*inout_func_t)(struct vmctx *ctx, int vcpu, int in, int port, +typedef int (*inout_func_t)(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg); struct inout_port { diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 74a648799757..cca0932180d6 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -447,7 +447,7 @@ pci_msix_pba_bar(struct pci_devinst *pi) } static int -pci_emul_io_handler(struct vmctx *ctx, int vcpu __unused, int in, int port, +pci_emul_io_handler(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg) { struct pci_devinst *pdi = arg; @@ -2217,7 +2217,7 @@ pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, int func, static int cfgenable, cfgbus, cfgslot, cfgfunc, cfgoff; static int -pci_emul_cfgaddr(struct vmctx *ctx __unused, int vcpu __unused, int in, +pci_emul_cfgaddr(struct vmctx *ctx __unused, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { uint32_t x; @@ -2247,7 +2247,7 @@ pci_emul_cfgaddr(struct vmctx *ctx __unused, int vcpu __unused, int in, INOUT_PORT(pci_cfgaddr, CONF1_ADDR_PORT, IOPORT_F_INOUT, pci_emul_cfgaddr); static int -pci_emul_cfgdata(struct vmctx *ctx, int vcpu __unused, int in, int port, +pci_emul_cfgdata(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg __unused) { int coff; diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c index 7af8d6647edc..e275946d9621 100644 --- a/usr.sbin/bhyve/pci_lpc.c +++ b/usr.sbin/bhyve/pci_lpc.c @@ -180,7 +180,7 @@ lpc_uart_intr_deassert(void *arg __unused) } static int -lpc_uart_io_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, +lpc_uart_io_handler(struct vmctx *ctx __unused, int in, int port, int bytes, uint32_t *eax, void *arg) { int offset; diff --git a/usr.sbin/bhyve/pctestdev.c b/usr.sbin/bhyve/pctestdev.c index d450d3cc977b..8b810e641bbc 100644 --- a/usr.sbin/bhyve/pctestdev.c +++ b/usr.sbin/bhyve/pctestdev.c @@ -72,14 +72,14 @@ static bool pctestdev_inited; static uint8_t pctestdev_iomem_buf[IOMEM_LEN]; static uint32_t pctestdev_ioport_data; -static int pctestdev_debugexit_io(struct vmctx *ctx, int vcpu, int in, +static int pctestdev_debugexit_io(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg); static int pctestdev_iomem_io(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, int size, uint64_t *val, void *arg1, long arg2); -static int pctestdev_ioport_io(struct vmctx *ctx, int vcpu, int in, +static int pctestdev_ioport_io(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg); -static int pctestdev_irq_io(struct vmctx *ctx, int vcpu, int in, +static int pctestdev_irq_io(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg); const char * @@ -178,7 +178,7 @@ fail: } static int -pctestdev_debugexit_io(struct vmctx *ctx __unused, int vcpu __unused, int in, +pctestdev_debugexit_io(struct vmctx *ctx __unused, int in, int port __unused, int bytes __unused, uint32_t *eax, void *arg __unused) { if (in) @@ -211,7 +211,7 @@ pctestdev_iomem_io(struct vmctx *ctx __unused, int vcpu __unused, int dir, } static int -pctestdev_ioport_io(struct vmctx *ctx __unused, int vcpu __unused, int in, +pctestdev_ioport_io(struct vmctx *ctx __unused, int in, int port, int bytes, uint32_t *eax, void *arg __unused) { uint32_t mask; @@ -234,7 +234,7 @@ pctestdev_ioport_io(struct vmctx *ctx __unused, int vcpu __unused, int in, } static int -pctestdev_irq_io(struct vmctx *ctx, int vcpu __unused, int in, int port, +pctestdev_irq_io(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg __unused) { int irq; diff --git a/usr.sbin/bhyve/pm.c b/usr.sbin/bhyve/pm.c index e8967c1b342c..b941536b0e5b 100644 --- a/usr.sbin/bhyve/pm.c +++ b/usr.sbin/bhyve/pm.c @@ -60,7 +60,7 @@ static const unsigned gpe0_valid = (1u << GPE_VMGENC); * reset. */ static int -reset_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, +reset_handler(struct vmctx *ctx __unused, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { int error; @@ -158,7 +158,7 @@ sci_update(struct vmctx *ctx) } static int -pm1_status_handler(struct vmctx *ctx, int vcpu __unused, int in, +pm1_status_handler(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { @@ -182,7 +182,7 @@ pm1_status_handler(struct vmctx *ctx, int vcpu __unused, int in, } static int -pm1_enable_handler(struct vmctx *ctx, int vcpu __unused, int in, +pm1_enable_handler(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { @@ -235,7 +235,7 @@ static uint16_t pm1_control; #define PM1_ALWAYS_ZERO 0xc003 static int -pm1_control_handler(struct vmctx *ctx, int vcpu __unused, int in, +pm1_control_handler(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { int error; @@ -285,7 +285,7 @@ acpi_raise_gpe(struct vmctx *ctx, unsigned bit) } static int -gpe0_sts(struct vmctx *ctx, int vcpu __unused, int in, int port __unused, +gpe0_sts(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { /* @@ -309,7 +309,7 @@ gpe0_sts(struct vmctx *ctx, int vcpu __unused, int in, int port __unused, INOUT_PORT(gpe0_sts, IO_GPE0_STS, IOPORT_F_INOUT, gpe0_sts); static int -gpe0_en(struct vmctx *ctx, int vcpu __unused, int in, int port __unused, +gpe0_en(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { if (bytes != 1) @@ -333,7 +333,7 @@ INOUT_PORT(gpe0_en, IO_GPE0_EN, IOPORT_F_INOUT, gpe0_en); * This write-only register is used to enable and disable ACPI. */ static int -smi_cmd_handler(struct vmctx *ctx, int vcpu __unused, int in, int port __unused, +smi_cmd_handler(struct vmctx *ctx, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { diff --git a/usr.sbin/bhyve/post.c b/usr.sbin/bhyve/post.c index a16eaa074f96..69cf5cf39db7 100644 --- a/usr.sbin/bhyve/post.c +++ b/usr.sbin/bhyve/post.c @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$"); #include "pci_lpc.h" static int -post_data_handler(struct vmctx *ctx __unused, int vcpu __unused, int in, +post_data_handler(struct vmctx *ctx __unused, int in, int port __unused, int bytes, uint32_t *eax, void *arg __unused) { assert(in == 1); diff --git a/usr.sbin/bhyve/vga.c b/usr.sbin/bhyve/vga.c index cd42e2a9e4cf..f139dc38937b 100644 --- a/usr.sbin/bhyve/vga.c +++ b/usr.sbin/bhyve/vga.c @@ -1215,7 +1215,7 @@ vga_port_out_handler(struct vmctx *ctx __unused, int in __unused, int port, } static int -vga_port_handler(struct vmctx *ctx, int vcpu __unused, int in, int port, +vga_port_handler(struct vmctx *ctx, int in, int port, int bytes, uint32_t *eax, void *arg) { uint8_t val; From nobody Thu Jan 26 22:34:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWP55yFz3cCXV; Thu, 26 Jan 2023 22:34: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 4P2wWP4YjWz4DDs; Thu, 26 Jan 2023 22:34:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MiddIXB/gOiMD6eB6I7DlxbXpd8/1hQWOdGTu6PmKpg=; b=yYzIggYLUFIGuSw61stsG/gWzaWB784ZeC3Q9W5SdG3ySpCANPqyM2zZIIofrBYhMdtA+4 e5qetqKhlMRhR4UK3hCos810U01ZnfDHvJhcntHyI99btPWZz1EU8Y4TCwxRhRdwQUSNEp NruiUoqNXIrzoqiPGA84tZlofnrEqRZYPtIDlGbayjuhjYHqWB9xLE29NFwWofrNuovjiD WBuYYTLWILoLvv2KaLg9fzcgsCQyg+nYE2aLXYFgE50zi2rh4dneFkdVg/YUGc2kAzr4jP 8pFayWzW15KV+17+MNn2aONFhBJwucYf2HnNvgtV2ENux6MML+68suRE+op9FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MiddIXB/gOiMD6eB6I7DlxbXpd8/1hQWOdGTu6PmKpg=; b=K36+xDEjN2fbtTW4GsCLazNbXLvnhVWSvUYIAgqbL/rVjgj+n4hRYtGK0YUPRpm7H4mYuZ +Az0d+OQZiGwAqzIRjAL2njjuf5kDcY2UEVuhWJRcDaoxqTLjQQs+8cIT7i8amft6pUARd pbTLTzIJ6Xkpyp8nBTOisOwy8iGEurpGIaBHbbwLXEL//roBYMFTgxqMvBfxPkOvPgA+5x tDpDcxpe648jfNGo75h+rOctM+5UkJsliy/Q39gu0cGM0WxMRFO/6SPdW9IryvW8OMoeXa RwM8bP39sNKeeZVHcw/IRfAtvi7dpbBNIqarUfH4VhMIBd3PHOIIgYvGjZNILw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772497; a=rsa-sha256; cv=none; b=pj/uZADMRBo7mkMjTT2a/0T8gGjzzud53ycmFbySc5TdOuXK0dBDX6ykiQogHhS2aaQvEY fvMy6LN0xZt8Y+pq4DHIKxxXB9nx/6gBYgL7hCW3Pw7g+bkAY1bcLXqPnno4xQQL+WEiZo lz4ie4ety4yTV8UNLSrbZ+va+s55Jj/U1qTHEJ+7pMqBGd8/k5RsjwUmH94leltoRMA27+ pxYE4BY885VaoUbMkEd7xUxaZm1HhnhnMNbWlSK8k2ZZHdrC8vB0Q5Lq0wl7GOE/HYNmdx 3bfIFcsEkdHSXQhGLmr0hHdo256o0oiDSIbUPBZEV28h6UvUU3u8MWkFy72fLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWP3dyYzmdK; Thu, 26 Jan 2023 22:34:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYvId051456; Thu, 26 Jan 2023 22:34:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYvWj051455; Thu, 26 Jan 2023 22:34:57 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:57 GMT Message-Id: <202301262234.30QMYvWj051455@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: cd49fdbdec51 - stable/13 - bhyve: Remove handler for VM_EXITCODE_SPINUP_AP. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cd49fdbdec516fa3e0b975959a1831e7592fcf18 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cd49fdbdec516fa3e0b975959a1831e7592fcf18 commit cd49fdbdec516fa3e0b975959a1831e7592fcf18 Author: John Baldwin AuthorDate: 2022-12-21 18:30:45 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:17:20 +0000 bhyve: Remove handler for VM_EXITCODE_SPINUP_AP. Since commit 0bda8d3e9f7a, bhyve always enables VM_EXITCODE_IPI exits instead, so this handler is no longer used. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37640 (cherry picked from commit 007d9ca5dd953c009cf976b49e2568444a16a473) --- usr.sbin/bhyve/bhyverun.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 4abdf8fe301e..8bc419504771 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -685,15 +685,6 @@ vmexit_wrmsr(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) return (VMEXIT_CONTINUE); } -static int -vmexit_spinup_ap(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu __unused) -{ - - (void)spinup_ap(ctx, vme->u.spinup_ap.vcpu, vme->u.spinup_ap.rip); - - return (VMEXIT_CONTINUE); -} - #define DEBUG_EPT_MISCONFIG #ifdef DEBUG_EPT_MISCONFIG #define VMCS_GUEST_PHYSICAL_ADDRESS 0x00002400 @@ -980,7 +971,6 @@ static vmexit_handler_t handler[VM_EXITCODE_MAX] = { [VM_EXITCODE_WRMSR] = vmexit_wrmsr, [VM_EXITCODE_MTRAP] = vmexit_mtrap, [VM_EXITCODE_INST_EMUL] = vmexit_inst_emul, - [VM_EXITCODE_SPINUP_AP] = vmexit_spinup_ap, [VM_EXITCODE_SUSPENDED] = vmexit_suspend, [VM_EXITCODE_TASK_SWITCH] = vmexit_task_switch, [VM_EXITCODE_DEBUG] = vmexit_debug, From nobody Thu Jan 26 22:34:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWQ6QXNz3cCb1; Thu, 26 Jan 2023 22:34: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 4P2wWQ5dttz4DQv; Thu, 26 Jan 2023 22:34:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d26b0DpDjUXRvJuDK1ByCGL87T1wlxcCfrlaW8rC5TY=; b=YfmqTXdBlKTjcqL+sY5X/fTMUPGvE/L+cPtCW1Jz2yMwLDcMSWIk3xceJwxj67FzAibylH wRqCk93JU+3CgqetOfhKHIjNaoWTlpfToFLj00vqa9EbQTc4SlOc9I41CyLzrbULsSuENE q4KjhRjBZmiab1lsry+sBYv8Y5ndRUVcfFe6f1iXvwySE5R6WK9YqpWvLBVyHyanW+N8LL kjbqx1filFrhyq1i1ruVk/xccupP6IQjtYj0sEKxMTTcw6XUbO3oFOK/J7yL739ex31meC S4t9DzPEq+2zltLcUGwOtDlG87L6KxSwNZ3PfL3G/iuIlU8DGQ9bOs5UPXWRDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d26b0DpDjUXRvJuDK1ByCGL87T1wlxcCfrlaW8rC5TY=; b=F4/4JqOu0NV9dtf/nvCXVl03zhWw/2VKA5nhX+540kuQcHWM2UA5yd27+M2iq47Uadsyq5 OA0UZ8wzwmpQrVj8jMYbWRke7cZzvb+oKUBvAQCTjhWj5+w4kkuctFOGhZFqsjmFKVbg78 YgEUP6d6OPDQ0jxzlaVdxgArgsFhDb0W4UnZsVFTqMEwjtQrJNzaDWBRX4JTIZZ4dtPEbx UnroVxc5WKJscGfR2ZNCYOp1qpXVfWKqQVfQrY1xEM+ARpX0zIci+5oacZpKANYRQE5KjH WMixiMngwuxphNQPYpjO70I9dhvIlr4JGF6ScavLrpUvDJVMCGRDcC384Ql/vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772498; a=rsa-sha256; cv=none; b=bZJiBndYZJiVmratnd5faa+OJacWnkuvJDGQKSF2/huMD/F6CV8nsFTFn9IB9RWWbrWBLy C1qmJr1dtLRY/+CTZXxpOaf6aL9cITU+ngk6DduBE+uYkar6/9vUAvBPA98aeQbsQ4nBTf vO6Tbkt5nT1dyJ1DEE19dBCHD4RscEo4vaVifrJMR1Gyurf2iLdKy0o3ZHgyoUrxXZ/0d6 AgB0eJpuPbe2m4Yoqt0ve0Bfl+kCVUZmcNn8e8PMOws1bK9SIRJGvU+MHREkSaFwJxvU+m LEd8kr+zf3xHJdCsGLr5OrQCji5UmHC08ue+4CZg5hMVpNl3POS83jnHA+W+pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWQ4ZvzzmZl; Thu, 26 Jan 2023 22:34:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYwvf051481; Thu, 26 Jan 2023 22:34:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYwSK051480; Thu, 26 Jan 2023 22:34:58 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:58 GMT Message-Id: <202301262234.30QMYwSK051480@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 05a92ae6573e - stable/13 - bhyve: Remove unused return value from spinup_ap. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 05a92ae6573eb9c6c14873385641f8009b88fd5a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=05a92ae6573eb9c6c14873385641f8009b88fd5a commit 05a92ae6573eb9c6c14873385641f8009b88fd5a Author: John Baldwin AuthorDate: 2022-12-21 18:31:02 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:17:28 +0000 bhyve: Remove unused return value from spinup_ap. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37641 (cherry picked from commit e7d5d2d1876afb429c6e1b4453bdd6d165bc5a68) --- usr.sbin/bhyve/spinup_ap.c | 4 +--- usr.sbin/bhyve/spinup_ap.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/spinup_ap.c b/usr.sbin/bhyve/spinup_ap.c index 438091e564e7..e23265f8b82b 100644 --- a/usr.sbin/bhyve/spinup_ap.c +++ b/usr.sbin/bhyve/spinup_ap.c @@ -76,7 +76,7 @@ spinup_ap_realmode(struct vmctx *ctx, int newcpu, uint64_t *rip) assert(error == 0); } -int +void spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip) { int error; @@ -104,6 +104,4 @@ spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip) spinup_ap_realmode(ctx, newcpu, &rip); vm_resume_cpu(ctx, newcpu); - - return (newcpu); } diff --git a/usr.sbin/bhyve/spinup_ap.h b/usr.sbin/bhyve/spinup_ap.h index e67bac42944b..ee201427c585 100644 --- a/usr.sbin/bhyve/spinup_ap.h +++ b/usr.sbin/bhyve/spinup_ap.h @@ -31,6 +31,6 @@ #ifndef _SPINUP_AP_H_ #define _SPINUP_AP_H_ -int spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip); +void spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip); #endif From nobody Thu Jan 26 22:34:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWR6wYQz3cCXb; Thu, 26 Jan 2023 22:34: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 4P2wWR6Rmcz4DP7; Thu, 26 Jan 2023 22:34:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d6kj4md8fBjc2MwksgPQwPN9KuuzMv/xoSqOlk5ZKQI=; b=lxagimmA+9iSHPdILVnaSVsgSkRqdCzokBhwITIsrkbXzUeMGdqGgAqy6BztR2yV+Pdthq BqekaRPhq1TNV2fPR+wJwehyblqxt3GC3Y0f4/d1mcqyOEqNLebfMgMSkkkSDfkTq8SM9A SwvzRU7XO4ShMko4SIYSyBwABByqfuUmib8wmgHIHnyiUzxierjV9oRla0RATW1qrHPmWH mTWcbWpjIVsWmYTUgYKi+iDzlgI2T2aDsQgC4OIeB+oKV3Yvyrx7jzFsALP3uGrVss9/mz wYSNy9mxeIz3FAU/Cded7Nqis2SPjGEyAfgaXk36NAM1RWLQ3Abs+uXrgBHU+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d6kj4md8fBjc2MwksgPQwPN9KuuzMv/xoSqOlk5ZKQI=; b=j2qxbj1UfdxE0ZtNiXmNpwqPzm8ENYlLXmwU+WCC8i8HlEnSVBZsVgItVJ64jXMFHstghp UjYYCnAyqTNay0twzmqnaZRU+KzH1T39cvF+QWK5gCSN2xqMNIHGwnvoz1yHD7ESFFRJ4Z vhQjMJL/aN6G65ZSposqNf/14AxMwxS8D96LWTumv3IFg/pVxgL6E8SW9g0Mi34/Kl8bh2 WIUQjQbehbKhaADtNUDVuku1BPvCo5k+6ZhXiSLyF2GUWN0rDj1efVUYpglHJzRSA/mZww PVUdldh0gFrwBQk5lAoQWD644wba7TlZDxEfZ8x4ntQTbDhyCELypADLVVv4LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772499; a=rsa-sha256; cv=none; b=KpG9vOajJeEC8FdrqhVH/P304KvObnUKHGW0vff7+7dVBaeotfFkyydNgOiUsoHK6w5Jth 6/XGnFTdByIVhJF2v3uRYMetCtPep+RSf+fIrJrTpyFDij9+JaCFFLeNn+QTj+3nEIvFNa TKre1YCYYTuwvFgcbo8hCNEgepDWHctBhcGLPtCSkeCklgOuJGGk9degAEAKi6JpbjnGpI 4MU/0gDCCcqN8yP71qiLNuW2HHJSXuTEYFB/LYiWdr6pb94pvkzEZH6Z6xtdBuPJG//fqw +qsZ10uLCSKceWW1YimaTmQLZnQkMYKy1QDFgCS8cvl1VB+tx235NPysiHkPyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWR5Z26zmdL; Thu, 26 Jan 2023 22:34:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMYx9M051505; Thu, 26 Jan 2023 22:34:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMYxgF051504; Thu, 26 Jan 2023 22:34:59 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:34:59 GMT Message-Id: <202301262234.30QMYxgF051504@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e57a5e80e913 - stable/13 - bhyve: Simplify setting vCPU capabilities. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e57a5e80e9139ce80834a3a0cbba762de630a610 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e57a5e80e9139ce80834a3a0cbba762de630a610 commit e57a5e80e9139ce80834a3a0cbba762de630a610 Author: John Baldwin AuthorDate: 2022-12-21 18:31:16 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:17:43 +0000 bhyve: Simplify setting vCPU capabilities. - Enable VM_CAP_IPI_EXIT in fbsdrun_set_capabilities along with other capabilities enabled on all vCPUs. - Don't call fbsdrun_set_capabilities a second time on the BSP in spinup_vcpu. - To preserve previous behavior, don't unconditionally enable unrestricted guest mode on the BSP (this unbreaks single-vCPU guests on Nehalem systems, though supporting such setups is of dubious value). Other places that enbale UG on the BSP are careful to check the result of the operation and fail if it is not available. - Don't set any capabilities in spinup_ap(). These are now all redundant with earlier settings from spinup_vcpu(). - While here, axe a stale comment from fbsdrun_addcpu(). This function is now always called from the main thread for all vCPUs. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37642 (cherry picked from commit 461663ddbad02a4a5135673d545695b1a9f25ed0) --- usr.sbin/bhyve/bhyverun.c | 28 +++++++++++++++------------- usr.sbin/bhyve/bhyverun.h | 1 - usr.sbin/bhyve/spinup_ap.c | 14 -------------- 3 files changed, 15 insertions(+), 28 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 8bc419504771..72f806e97993 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -552,12 +552,6 @@ fbsdrun_addcpu(struct vmctx *ctx, int newcpu, uint64_t rip, bool suspend) { int error; - /* - * The 'newcpu' must be activated in the context of 'fromcpu'. If - * vm_activate_cpu() is delayed until newcpu's pthread starts running - * then vmm.ko is out-of-sync with bhyve and this can create a race - * with vm_suspend(). - */ error = vm_activate_cpu(ctx, newcpu); if (error != 0) err(EX_OSERR, "could not activate CPU %d", newcpu); @@ -1044,7 +1038,7 @@ num_vcpus_allowed(struct vmctx *ctx) return (1); } -void +static void fbsdrun_set_capabilities(struct vmctx *ctx, int cpu) { int err, tmp; @@ -1086,6 +1080,9 @@ fbsdrun_set_capabilities(struct vmctx *ctx, int cpu) } vm_set_capability(ctx, cpu, VM_CAP_ENABLE_INVPCID, 1); + + err = vm_set_capability(ctx, cpu, VM_CAP_IPI_EXIT, 1); + assert(err == 0); } static struct vmctx * @@ -1157,14 +1154,19 @@ spinup_vcpu(struct vmctx *ctx, int vcpu, bool suspend) int error; uint64_t rip; - error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RIP, &rip); - assert(error == 0); + if (vcpu != BSP) { + fbsdrun_set_capabilities(ctx, vcpu); - fbsdrun_set_capabilities(ctx, vcpu); - error = vm_set_capability(ctx, vcpu, VM_CAP_UNRESTRICTED_GUEST, 1); - assert(error == 0); + /* + * Enable the 'unrestricted guest' mode for APs. + * + * APs startup in power-on 16-bit mode. + */ + error = vm_set_capability(ctx, vcpu, VM_CAP_UNRESTRICTED_GUEST, 1); + assert(error == 0); + } - error = vm_set_capability(ctx, vcpu, VM_CAP_IPI_EXIT, 1); + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RIP, &rip); assert(error == 0); fbsdrun_addcpu(ctx, vcpu, rip, suspend); diff --git a/usr.sbin/bhyve/bhyverun.h b/usr.sbin/bhyve/bhyverun.h index 1e1e5f9880f8..d3eb8c8b23da 100644 --- a/usr.sbin/bhyve/bhyverun.h +++ b/usr.sbin/bhyve/bhyverun.h @@ -45,7 +45,6 @@ void *paddr_guest2host(struct vmctx *ctx, uintptr_t addr, size_t len); uintptr_t paddr_host2guest(struct vmctx *ctx, void *addr); #endif -void fbsdrun_set_capabilities(struct vmctx *ctx, int cpu); int fbsdrun_virtio_msix(void); int vmexit_task_switch(struct vmctx *, struct vm_exit *, int *vcpu); diff --git a/usr.sbin/bhyve/spinup_ap.c b/usr.sbin/bhyve/spinup_ap.c index e23265f8b82b..af8d40030a08 100644 --- a/usr.sbin/bhyve/spinup_ap.c +++ b/usr.sbin/bhyve/spinup_ap.c @@ -87,20 +87,6 @@ spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip) error = vcpu_reset(ctx, newcpu); assert(error == 0); - fbsdrun_set_capabilities(ctx, newcpu); - - /* - * Enable the 'unrestricted guest' mode for 'newcpu'. - * - * Set up the processor state in power-on 16-bit mode, with the CS:IP - * init'd to the specified low-mem 4K page. - */ - error = vm_set_capability(ctx, newcpu, VM_CAP_UNRESTRICTED_GUEST, 1); - assert(error == 0); - - error = vm_set_capability(ctx, newcpu, VM_CAP_IPI_EXIT, 1); - assert(error == 0); - spinup_ap_realmode(ctx, newcpu, &rip); vm_resume_cpu(ctx, newcpu); From nobody Thu Jan 26 22:35:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWT3LFvz3cCVP; Thu, 26 Jan 2023 22:35: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 4P2wWT0T3Mz4DWZ; Thu, 26 Jan 2023 22:35:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gPNIBhGDWus3MtseGLthivmTs+Ee0bWff6MQMoh9rOg=; b=dfX2wiIT1OYdTo+oMMNLaxw2pS59T/nIDtHduyl2rDnPQFg5ndpf9XwOy4g4rbtLrvfOku cSja7N6TFLTIOW6Lq3DQus2vHbkutcitXxi7h7VhtcK0HVA49ibxj8lRppj9VdhH810VUm IbQ7xYpjfYsOq504HlxxzX58mdCuJfZKEIEgP/brl3HjqU02c1fBlCFqAJ5TfPu0OMGB5S /oFsQ6l1rBbBEwh9U25zGfTvXdPkbaSpXXHlyfUb4V+4H7XVxH61lzqTx+zhnzSHcvDLgP 5AYlkaCjFQMKv6Zxb721rNcv+es8TdNRPdy2q8lIZuV05YzpeUpIBXSqr/edsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gPNIBhGDWus3MtseGLthivmTs+Ee0bWff6MQMoh9rOg=; b=aZIU/x1nxJKh4bnuOQUFDr5nxshWWFjrvRAQo0EyQYJJJxkf2kvftx2y4oMETVYK4vWKXS Di/Hsz8lsRtOHNlsP7ckDf289LbG5oiyMb3rXivS09nFFBtM33X2HIfO4o1pmfE0s21MUG ySbABIL8sJyFVX5uYNRbltoV15V9xzefcgh3oF7FObz0yWIfKDRR2NcTgaRdSZOpoa9m9b ScrLNq/U3ybmbn5up36cxXnyTsONXOy+enaUeis8Aj30/arclvRcLizosYtH0o/BfowMM0 5s/iCm6mFTqMqm3MUyk9lIACjAovvzOZKkj2v1gd2p5I4Fz01NmhVpXyHVGXcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772501; a=rsa-sha256; cv=none; b=hjkGHnDU177CKeBI6dwacurFbsilr3IBVc8JpKs5b11138ZfaIqWy11aiIVSXJjz9H6RSN NS27lAkb7STIDpH5jdBzSW+aN8OdD6KOLeTat8IGLIAD9zKIlbBmytk0tB+G1z+JZSLBiW Vm7V0PGdSCbuKaRj/nfwzlhDIE/7OtqIO3LEEUbgBsNE9Hn029xIFCYX+dtiVgYeYl0YQc XnrQVhUEMszzIyPSsUhX86Hrl7WTtYYFnXeoZ/L+4oE6vRK3SGHLk3SlzwyxFhK9DRgIHJ giwSgSPZsyRxXBI3J2ontrQBS7AHWbuLbc5+A9KP+Y0QIzp7NuaUXowHPXMP2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWS6M1yzm7t; Thu, 26 Jan 2023 22:35:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ0xG051538; Thu, 26 Jan 2023 22:35:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ0E6051537; Thu, 26 Jan 2023 22:35:00 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:00 GMT Message-Id: <202301262235.30QMZ0E6051537@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ec1ecab8c350 - stable/13 - bhyve: Remove some no-op code for setting RIP. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ec1ecab8c35014b44fad6d842c2162a2930d4057 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ec1ecab8c35014b44fad6d842c2162a2930d4057 commit ec1ecab8c35014b44fad6d842c2162a2930d4057 Author: John Baldwin AuthorDate: 2022-12-21 18:32:24 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:17:52 +0000 bhyve: Remove some no-op code for setting RIP. fbsdrun_addcpu() read the current vCPU's RIP register from the kernel via vm_get_register() to pass along through some layers to vm_loop() which then set the register via vm_set_register(). However, this is just always setting the value back to itself. Reviewed by: corvink Differential Revision: https://reviews.freebsd.org/D37643 (cherry picked from commit ceb0d0b0f184d72f31ebdaa4edc752aed78a5807) --- usr.sbin/bhyve/bhyverun.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 72f806e97993..e40229e79828 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -194,7 +194,7 @@ static const int BSP = 0; static cpuset_t cpumask; -static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip); +static void vm_loop(struct vmctx *ctx, int vcpu); static struct vm_exit *vmexit; @@ -540,7 +540,7 @@ fbsdrun_start_thread(void *param) #endif gdb_cpu_add(vcpu); - vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].rip); + vm_loop(mtp->mt_ctx, vcpu); /* not reached */ exit(1); @@ -548,7 +548,7 @@ fbsdrun_start_thread(void *param) } static void -fbsdrun_addcpu(struct vmctx *ctx, int newcpu, uint64_t rip, bool suspend) +fbsdrun_addcpu(struct vmctx *ctx, int newcpu, bool suspend) { int error; @@ -561,13 +561,6 @@ fbsdrun_addcpu(struct vmctx *ctx, int newcpu, uint64_t rip, bool suspend) if (suspend) vm_suspend_cpu(ctx, newcpu); - /* - * Set up the vmexit struct to allow execution to start - * at the given RIP - */ - vmexit[newcpu].rip = rip; - vmexit[newcpu].inst_length = 0; - mt_vmm_info[newcpu].mt_ctx = ctx; mt_vmm_info[newcpu].mt_vcpu = newcpu; @@ -973,7 +966,7 @@ static vmexit_handler_t handler[VM_EXITCODE_MAX] = { }; static void -vm_loop(struct vmctx *ctx, int vcpu, uint64_t startrip) +vm_loop(struct vmctx *ctx, int vcpu) { int error, rc; enum vm_exitcode exitcode; @@ -988,9 +981,6 @@ vm_loop(struct vmctx *ctx, int vcpu, uint64_t startrip) error = vm_active_cpus(ctx, &active_cpus); assert(CPU_ISSET(vcpu, &active_cpus)); - error = vm_set_register(ctx, vcpu, VM_REG_GUEST_RIP, startrip); - assert(error == 0); - while (1) { error = vm_run(ctx, vcpu, &vmexit[vcpu]); if (error != 0) @@ -1152,7 +1142,6 @@ static void spinup_vcpu(struct vmctx *ctx, int vcpu, bool suspend) { int error; - uint64_t rip; if (vcpu != BSP) { fbsdrun_set_capabilities(ctx, vcpu); @@ -1166,10 +1155,7 @@ spinup_vcpu(struct vmctx *ctx, int vcpu, bool suspend) assert(error == 0); } - error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RIP, &rip); - assert(error == 0); - - fbsdrun_addcpu(ctx, vcpu, rip, suspend); + fbsdrun_addcpu(ctx, vcpu, suspend); } static bool From nobody Thu Jan 26 22:35:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWV3GmGz3cCSr; Thu, 26 Jan 2023 22: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 4P2wWV1r7Vz4DWm; Thu, 26 Jan 2023 22: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=1674772502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x2c1yjWTkjIEVlZrvUi6OQ/r4VHboVJKnMFsdvSPv8k=; b=TFPkwZKULGE0qy6JZFEVqpvljuN28UisQOediGk2pLkLrogMIIVmNA3jHB1E2Vha9ubmQg s7OuNQPwckOx9lKFRsN7qDzpPrajxfkr7oibUHEc0CZtDnDp2SPn/F4JsSPGTmxHXkQIIl mP6Fr7On+hseAjhbna62DBcTdVysmxTkIAafLUMZw0SRpBjnne+civ6t+Dj7dKU4DVNull LWXsTeMNorbN+3V6v6V6WvkbwW2cwBSMl9i9d+n4eerQORzU5P+Vc/JUSmTvADANq9eL5V hoQkH1ScF+u71k+q41X9sSAFVM8f8AQUE51F5qGkRDF77KQscbnKyJL6ZDIqeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x2c1yjWTkjIEVlZrvUi6OQ/r4VHboVJKnMFsdvSPv8k=; b=MozbkRYYpepWW6Jt9Aod/L7qU3KRnRkjCkETXF7fWo4OIic/xPxQHS4RKoJupXIwnaMTln Y2THY6psZ5EepRGu9Gx8peuLXbicLhpj/kvwAN6yIR7tpYCp3Yg/Rng4MHrxdQFaffdL1L Rhk4bm1E3hAmp8NWMauHk+9QtQJpHSjW2VxlLrJvAAjbWxZbM/6HRWI4qFQoQgorTSMR8H /8+dRx/ozgDEReECh0E8N2cv3UNPpXnUJ210VPYYMUC1bdwsn7Q8jXHjYlbtDVlmqRSIZg QfIvxVZrBHHElSstIeaJJrb2aTsJkvQjkyKh0zmcQwPro9/CLuNxZsUrZehuQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772502; a=rsa-sha256; cv=none; b=bC+TRQv07UgBT045f9JTBEW9KZlpplSOylLMforPxFZGR6zN0DbbJi+vIjuwhkXCGRWJ1Z wgMHhb2JmMwvxEzn8ITOgaenG110aKVNaCkEvK0vgS5nUum3TGDDLwBhgueHGbyznTykhb YNLw5VNf7EeIbB/y7fLJ0iMIZn9dd4zRMPlcWsK1668jFyZNCsYGlWiDtKuHue63FOXvd8 vw2xL6vD6luFLMwOcpyN+nFSXXdrYarTmogQTnp+l7nQVizMcHudZYFcuxh53VpJvKn3Fg fpUdHRQQS1MDgQGcUx9LnUuOJjiltFCtJfwPFxVg6uCSFSt3LkaZVeJV7nAImQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWV0GrlzmYh; Thu, 26 Jan 2023 22:35:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ1TS051562; Thu, 26 Jan 2023 22:35:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ1Wg051561; Thu, 26 Jan 2023 22:35:01 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:01 GMT Message-Id: <202301262235.30QMZ1Wg051561@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 41badad786f9 - stable/13 - bhyve: Allocate struct vm_exit on the stack in vm_loop. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 41badad786f9f7576bead7e35d6265ce95e9b005 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=41badad786f9f7576bead7e35d6265ce95e9b005 commit 41badad786f9f7576bead7e35d6265ce95e9b005 Author: John Baldwin AuthorDate: 2022-12-21 18:32:45 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:18:00 +0000 bhyve: Allocate struct vm_exit on the stack in vm_loop. The global vmexit[] array is no longer needed to smuggle the rip value from fbsdrun_addcpu() to vm_loop(). Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37644 (cherry picked from commit a20c00c60e1c022f77a7bc638f29d3d6d9456953) --- usr.sbin/bhyve/bhyverun.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index e40229e79828..31cb7c2ceaf3 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -196,8 +196,6 @@ static cpuset_t cpumask; static void vm_loop(struct vmctx *ctx, int vcpu); -static struct vm_exit *vmexit; - static struct bhyvestats { uint64_t vmexit_bogus; uint64_t vmexit_reqidle; @@ -619,7 +617,7 @@ vmexit_inout(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu) fprintf(stderr, "Unhandled %s%c 0x%04x at 0x%lx\n", in ? "in" : "out", bytes == 1 ? 'b' : (bytes == 2 ? 'w' : 'l'), - port, vmexit->rip); + port, vme->rip); return (VMEXIT_ABORT); } else { return (VMEXIT_CONTINUE); @@ -968,6 +966,7 @@ static vmexit_handler_t handler[VM_EXITCODE_MAX] = { static void vm_loop(struct vmctx *ctx, int vcpu) { + struct vm_exit vme; int error, rc; enum vm_exitcode exitcode; cpuset_t active_cpus; @@ -982,18 +981,18 @@ vm_loop(struct vmctx *ctx, int vcpu) assert(CPU_ISSET(vcpu, &active_cpus)); while (1) { - error = vm_run(ctx, vcpu, &vmexit[vcpu]); + error = vm_run(ctx, vcpu, &vme); if (error != 0) break; - exitcode = vmexit[vcpu].exitcode; + exitcode = vme.exitcode; if (exitcode >= VM_EXITCODE_MAX || handler[exitcode] == NULL) { fprintf(stderr, "vm_loop: unexpected exitcode 0x%x\n", exitcode); exit(4); } - rc = (*handler[exitcode])(ctx, &vmexit[vcpu], &vcpu); + rc = (*handler[exitcode])(ctx, &vme, &vcpu); switch (rc) { case VMEXIT_CONTINUE: @@ -1582,7 +1581,6 @@ main(int argc, char *argv[]) #endif /* Allocate per-VCPU resources. */ - vmexit = calloc(guest_ncpus, sizeof(*vmexit)); mt_vmm_info = calloc(guest_ncpus, sizeof(*mt_vmm_info)); /* From nobody Thu Jan 26 22:35:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWW3vhTz3cCQ4; Thu, 26 Jan 2023 22:35: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 4P2wWW2Kzgz4DgR; Thu, 26 Jan 2023 22: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=1674772503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kkxdkd4uyWTgz1+qJDcP1vkZmEGlLeOm8zQcVfPWC4g=; b=xrL9GRmDyqbS0Ad0UNFRk9F/x7aZ3eSEyxLlVrl+pmIp5QqgldYL+GgCiApdE7ZNXHmAQV W4eHzwcOrycrtv7zYhPOqIw5E0jfK57xUjQYygHZZa52FCHa44i9SJC4OgMe4oDLJKFcWq ugxOgoISidFoc4Mrr7/rPH9Ouj8gaI5bxE3zE/SLP2ExpNz8L3g9DC6CRMjybj/QeUGNqO N+l6Mp0Hi8UvEOtrbZOvv5MTQzsz6l5zmr0Md7qVjH/2HrKjASqVivl5qLaNX95A1b6JuX cPKNJnsA9VSvcP0x4OUMKTKUY+T+hXhoY8R4nmYiuLNt0TJttzz9YDF5vtI92Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kkxdkd4uyWTgz1+qJDcP1vkZmEGlLeOm8zQcVfPWC4g=; b=tN1zEbuyFBCQF67iUPEDIEBhtAO/pQ7qRM6QbITjE9ofgn2k7erduOEeSmwyN1PBedGpGJ KTV2+ozmuMTHGM6Rg6oLDAu6Q0JfHdTYWSYAPOTR32LphPHblBAxecJTDRco1SHIgPkSC6 Vp9bXmhJz7v9ZFoe0muUgxD4OMMDOyY6pGOdE+cQKah91E3WF3oVvTWJbPLKWTYghXLI6W TwBI0L6ymnXAQN0riCOd4tOPpp4vdUNK56/RGwqgIwLt2xd9W/xqyMrgQc77f4zg4L0cGg 8vonhYuQOQV36Y5bPboCsTXjV3EEl3VGJNRwgWok4o3Knguugi+d9+bsKtRLkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772503; a=rsa-sha256; cv=none; b=avrSSKBD3WaiZeh5idstG0+KB1XhdZVgth9iUfDm3K/oeNYuNxq8IG9vLn/4NZjknglI3r 8rCdDblQzcSng/MWUwFyp4MdleyBtYKZ0gZWXUkQHJeGIT/eN3Rvw0B92kezv37PdBKw1m 1hzi69UmEyplQeyMtPmkYi+1Q0XwfHXs8kj/IJIxus+H7eLVQnxREdihpcwDaLKN4HUDLS XZ/BK8KfzVRXRLW7ADOuAOp0zHwM+Dmhu94AFuOm/N+5InbgcmtLi2fYAEzIX92h+OWJYG vD5eLwmgdvWOzFk1rCdLzNtRH9AmNO91SZ2NiD8BfIoXV/9VZq98ycFmPxfYpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWW1NpSzm7v; Thu, 26 Jan 2023 22:35:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ3Ya051592; Thu, 26 Jan 2023 22:35:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ3EO051591; Thu, 26 Jan 2023 22:35:03 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:03 GMT Message-Id: <202301262235.30QMZ3EO051591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: bec53b365062 - stable/13 - bhyve: Don't access vcpumap[vcpu] directly in parse_cpuset(). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bec53b3650629dd523f6a9cdacbcdd9ea47aa2b1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bec53b3650629dd523f6a9cdacbcdd9ea47aa2b1 commit bec53b3650629dd523f6a9cdacbcdd9ea47aa2b1 Author: John Baldwin AuthorDate: 2022-12-21 18:33:04 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:18:10 +0000 bhyve: Don't access vcpumap[vcpu] directly in parse_cpuset(). Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37645 (cherry picked from commit 8487443792ce67fce21ae32470d6d8c217e93368) --- usr.sbin/bhyve/bhyverun.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 31cb7c2ceaf3..c110fecf31b0 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -441,12 +441,12 @@ parse_cpuset(int vcpu, const char *list, cpuset_t *set) errx(4, "Invalid hostcpu range %d-%d", start, pcpu); while (start < pcpu) { - CPU_SET(start, vcpumap[vcpu]); + CPU_SET(start, set); start++; } start = -1; } - CPU_SET(pcpu, vcpumap[vcpu]); + CPU_SET(pcpu, set); break; case '-': if (start >= 0) From nobody Thu Jan 26 22:35:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWX4xRYz3cCbC; Thu, 26 Jan 2023 22: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 4P2wWX3Mwzz4Dgv; Thu, 26 Jan 2023 22:35:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c9xebMlLoQB1PfDQB4ibZpyi2qdWBIEIUgzT2o0XHvc=; b=M6bUL88MtEaZB//9biqiUo7PG/wvjOVsTUZblKRbIUTGLMlvohKaYl3QkY1gSACKF8y8Kd aDztMeNaP+RBKulRTQARMmp1ckYw5iBdGsljcNmCX98BJ1RdgF0MI6hx/jONgJOmZ3kUx5 +B1GiUf1MMF86CMgr2ZU0MpVUn8zXzk8lX+KMdle22AFqwdCyaeSKpHzXpFZeX0L4cfkc/ HnOCkirezXrJXh+keIhNVDvdKkHnQoU8tq3w79wYymIeON5V4qX+YiqfUKAtuz5wp6KhA+ 80+lkWh1dMPJhx0gl0Tse6C0aOLpyCla55piDxQAJDKQUn5ETx8psNNXtjfytw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c9xebMlLoQB1PfDQB4ibZpyi2qdWBIEIUgzT2o0XHvc=; b=WnESYPIUFbazfmoxQU1/duRROldDHvb8BU8cT0ZVO6olyZjnJPG0Ky6uz35qji3vvtRZd4 GVQBv5IyEDn1GBFmaCy2OJj/7JLBmM1jgMDrakMhB0Y8xSlTi1ejY+nRZ22P7+SY8phHDa P4eYUlZPlOSD3alNYoB7XTZqxC80+qbFhJnpfu37K+LZrpjwlU3eRdACkkL/WwkZQ6gAYX mB5gCvRiKVbrxdvy6V4q3bYeBwf6zcJ/6mgdtSb3LPxVQxZ4oujMNPyzJISipQ5e4ZqsrX saZRSRiGp8GLnDwV5TSfwucmYV+72sRAaBEEE3rDp/ELE4+K/G4dZ+C3n5RhRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772504; a=rsa-sha256; cv=none; b=FdGEf6jSC3DTrpYhvRWHwvL/d/Fp82vlLTFnYHqMe05ts7RkvnAWr4Eb5QDlbM3oGKPpfy S4/gbEllhmz0jSmCyO02W5O8N+CaWFfv2VXHqGDM3XpKCAxXaBHYPxBN6iP6Ud+qvpZqt7 0uaKytUW4S12EvVOxPv6pEFm0UJC73CkbiDAfWUuJzTRUcW0CDpCnmXu0tqskewkFoGktx woVf4lHcBe+/0q6+Ey5Dm6dMKfPWTIU2IlB4JGEwcvE9AFVSvJByBwY8jLSWYqXBehCg22 6r+Bzfl0G6sziY2RwKRBq527Q2p1IuqZSZTiWWiszMoPUBlSxqm+5VGTjxysXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWX27lszm7w; Thu, 26 Jan 2023 22:35:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ4SE051620; Thu, 26 Jan 2023 22:35:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ4gl051619; Thu, 26 Jan 2023 22:35:04 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:04 GMT Message-Id: <202301262235.30QMZ4gl051619@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3dcdb83c85b5 - stable/13 - bhyve: Tidy vCPU pthread startup. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3dcdb83c85b5fb65ba9e826efcb7bb34091d80da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3dcdb83c85b5fb65ba9e826efcb7bb34091d80da commit 3dcdb83c85b5fb65ba9e826efcb7bb34091d80da Author: John Baldwin AuthorDate: 2022-12-21 18:33:18 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:18:20 +0000 bhyve: Tidy vCPU pthread startup. Set the thread affinity in fbsdrun_start_thread next to where the thread name is set. This keeps all the pthread initialization operations at the start of a thread in one place. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37646 (cherry picked from commit 7224a96a55d512e00f390d4477e0fb0a163d7528) --- usr.sbin/bhyve/bhyverun.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index c110fecf31b0..aeafed1d0c69 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -525,7 +525,7 @@ fbsdrun_start_thread(void *param) { char tname[MAXCOMLEN + 1]; struct mt_vmm_info *mtp; - int vcpu; + int error, vcpu; mtp = param; vcpu = mtp->mt_vcpu; @@ -533,6 +533,12 @@ fbsdrun_start_thread(void *param) snprintf(tname, sizeof(tname), "vcpu %d", vcpu); pthread_set_name_np(mtp->mt_thr, tname); + if (vcpumap[vcpu] != NULL) { + error = pthread_setaffinity_np(mtp->mt_thr, sizeof(cpuset_t), + vcpumap[vcpu]); + assert(error == 0); + } + #ifdef BHYVE_SNAPSHOT checkpoint_cpu_add(vcpu); #endif @@ -971,12 +977,6 @@ vm_loop(struct vmctx *ctx, int vcpu) enum vm_exitcode exitcode; cpuset_t active_cpus; - if (vcpumap[vcpu] != NULL) { - error = pthread_setaffinity_np(pthread_self(), - sizeof(cpuset_t), vcpumap[vcpu]); - assert(error == 0); - } - error = vm_active_cpus(ctx, &active_cpus); assert(CPU_ISSET(vcpu, &active_cpus)); From nobody Thu Jan 26 22:35:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWZ0SZyz3cCXh; Thu, 26 Jan 2023 22:35: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 4P2wWY53b4z4DqF; Thu, 26 Jan 2023 22:35:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dm2uJPdetippoqA0yEcFi00FC97RG9L46Wms0VOo6Uw=; b=HMoaha3jjXnE/kME+7Cx7fbaRrSAMGj2ikS1M0wbm7odT3jwkg6oFFJPhX21SrDN2j0Y75 kUIapJ0JJMoqyUmbtakhfuGozaGiLss5tQ9VVAPu3f2ghUbuw6CMtgmj8ggiHV8oCpjFMs Pn6tt9qllkzvwrot+L8VGlY65BeTVgveqtq732WzPOFhdI9AtmllgbUISlNvEaqDkQXYXZ gNcrHKg5+rFr2hlsg1U2F8XDn0wFlhGUq0n395BvQosk+9AB+rP2VDGVnJzgs/mrxu1BJs ZS3iLS/yy48bqlac6daRv7vxGM9k7NMVXeOMCYWGevJddZUx+pJKh0yeGXUMNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dm2uJPdetippoqA0yEcFi00FC97RG9L46Wms0VOo6Uw=; b=Ed0DO/CBqKd2HP4Wnehb0ajqcvERpUrrYlJKYT4Y6EsXZIfy/E350CO+VOUcoqX4BIT0ek I1olcZJz9cqgI8N37YTkWqLXPm6WgA5lq3gtbD5Cpa/ZJWgoFJ0laXkM7aSMo3w+vFxzaj DD1Dlqni2k+wAgnEfF6eJJGwgjZJQwjNDqHBZItux/T0wMv87X11zsefohj7HfvQLy45h3 wgA+6aV8mvLfCK4mhlUJzHrV3CjWhVHE9n7AHlYGdjHXSbmeVqQ/DNPtVVKsk7YbNGjWng ykYR7fErupB5UkiUKnZdSS2QzAGQ+yK+5G1W/6pPPTdGn1j2MzDqz882krwleA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772505; a=rsa-sha256; cv=none; b=kOYwgAA8AVR5LkMsln/WJiCKx6nalM9NuNc9KZuqRp9PUXYW8se4K0C8S7iIoRMTNpQQBn CmT4x6BOfu74+5CaKA/vKVO+e+xEA+7cIrT9ZpRnI9wClksXFHERlEBaYf6o3Z1VUwgrZ3 uPl43GUArW0GF49oGk70318yJLCsSXfITROS3AN0FbLYNrdmTip8HcqNnQgt0nXyqbKl91 5NmRcRIby4OngGOAJBIDKG171vEI+MgW6yo2EFLD1ZlfqPLY/MgaUnDyEZB8A17yzPfy+2 0xTOKKNLZtJOhN95UfwdpJKZqjj+H3UZpVGKYja9Kfr6lz30KH+uT8JU4XaW5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWY3JJtzmLq; Thu, 26 Jan 2023 22:35:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ5ti051645; Thu, 26 Jan 2023 22:35:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ5i2051644; Thu, 26 Jan 2023 22:35:05 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:05 GMT Message-Id: <202301262235.30QMZ5i2051644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 622e092eeca4 - stable/13 - bhyve: Simplify spinup_ap_realmode slightly. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 622e092eeca40db6229c891e8b29a79a69962f63 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=622e092eeca40db6229c891e8b29a79a69962f63 commit 622e092eeca40db6229c891e8b29a79a69962f63 Author: John Baldwin AuthorDate: 2022-12-21 18:33:34 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:18:27 +0000 bhyve: Simplify spinup_ap_realmode slightly. There is no reason to modify the passed in rip variable. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37647 (cherry picked from commit e53fcff1848bb5acafc3dc38cfeb34724d9b0b96) --- usr.sbin/bhyve/spinup_ap.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/spinup_ap.c b/usr.sbin/bhyve/spinup_ap.c index af8d40030a08..0498ee91232d 100644 --- a/usr.sbin/bhyve/spinup_ap.c +++ b/usr.sbin/bhyve/spinup_ap.c @@ -45,21 +45,20 @@ __FBSDID("$FreeBSD$"); #include "spinup_ap.h" static void -spinup_ap_realmode(struct vmctx *ctx, int newcpu, uint64_t *rip) +spinup_ap_realmode(struct vmctx *ctx, int newcpu, uint64_t rip) { int vector, error; uint16_t cs; uint64_t desc_base; uint32_t desc_limit, desc_access; - vector = *rip >> PAGE_SHIFT; - *rip = 0; + vector = rip >> PAGE_SHIFT; /* * Update the %cs and %rip of the guest so that it starts * executing real mode code at at 'vector << 12'. */ - error = vm_set_register(ctx, newcpu, VM_REG_GUEST_RIP, *rip); + error = vm_set_register(ctx, newcpu, VM_REG_GUEST_RIP, 0); assert(error == 0); error = vm_get_desc(ctx, newcpu, VM_REG_GUEST_CS, &desc_base, @@ -87,7 +86,7 @@ spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip) error = vcpu_reset(ctx, newcpu); assert(error == 0); - spinup_ap_realmode(ctx, newcpu, &rip); + spinup_ap_realmode(ctx, newcpu, rip); vm_resume_cpu(ctx, newcpu); } From nobody Thu Jan 26 22:35:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWb1075z3cCXk; Thu, 26 Jan 2023 22:35: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 4P2wWZ5D8yz4Ds2; Thu, 26 Jan 2023 22:35:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FryZtG12t3kZcRMvbS1yLbO/9XkunKI/zjSjkV5BjKk=; b=kA/IIhWSp7cVjN2TTXASx1VR5ulX5fPrdGNyZVvwnI93f/Td1Xzz9d/Q+f+bWvG52PLkpe 4npek8onogSvJaQWkgQzAwpOrVtA0QZRbtwx3dFOAshgblFfTt9iBrvXQuIIbwUYgUWK++ +Ayj+BFL/66t1NupndNo3H5yBzgzM2MB4uhy0mJPodZN+AJeinL+NBaTlJw4UQxTEUnH/W D7XAE3xhNBKa5gm5ionXM8nHiI/VkBGbYEObwZawn8eiPFuMF6fdielJcf9iswWi8BfU/l l7iceqM5ySOGgCaliqf8lTBZrOcuCw2rQ2kmnYDvKP+LdIJk+WyOLmVGIQz2qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FryZtG12t3kZcRMvbS1yLbO/9XkunKI/zjSjkV5BjKk=; b=Ko8/ge11fi2lAlonqnF6puO+BYbv4B11sXcFBif8FiWNE0cX8XZRk00bQSST8hHF1848Jl EXitcPTucNGmN1XVYo57Gt4MHjjwPn3b/Vfb2DtJZL6kHLOAiTwIp8LE49BI3VPt4g1mi0 gxlG1hMR1fx08Wg6FRuk8T8QR/FWwc57nKYsq4F47/hOLwRIxnsA8+a9WliHcu+ghP8k0F +FNndj0czZ49eDCnWvyPob2aF/u91HiYILu1P+rX1lmquXiD7K65dPTYP4SNwFZPEvwITK BtkSWHtxKKClgjMl5Ay+5p6IxTQnQtd70vwzCS9YpYxgqMFwJhW0FxNj0ycSyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772506; a=rsa-sha256; cv=none; b=W/ZVs9Zn9PunqcpmpX2r1TwxLIRXorlIckYE9sAdgM7MfsOYvdCOdnHN5ei7V4flhejfat aCsVxupQsWU/NMP+Ikk1ouhh9Og0f1jyqePI7eCn0CotmH9e7TC9KqJr46XmfVI5wZrX20 unj9zDFYQ5Th+CsdkY7Nhqbnb8h0s7rumgvmV8LfgBx2tTGFmUZhnnCSWHj7nsO8n6saFI hc6XBoTjoUjx7GmLaD9858IcUI0z0cT8iINgA8r5j/CuXcni/9hfwlOJkryolHXzyV0Uv0 92qhexNaeVBCnwUQCC8At0KLU8+3rW4CUKbIHilTPbkFP6TdP+z4L/H5VllgGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWZ4GQ4zmdM; Thu, 26 Jan 2023 22:35:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ6sq051669; Thu, 26 Jan 2023 22:35:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ6fp051668; Thu, 26 Jan 2023 22:35:06 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:06 GMT Message-Id: <202301262235.30QMZ6fp051668@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 411ea77fed69 - stable/13 - bhyve: Avoid triggering false -Wfree-nonheap-object warnings. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 411ea77fed696c6e93696b13d633a49317f05113 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=411ea77fed696c6e93696b13d633a49317f05113 commit 411ea77fed696c6e93696b13d633a49317f05113 Author: John Baldwin AuthorDate: 2023-01-19 18:21:50 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:18:44 +0000 bhyve: Avoid triggering false -Wfree-nonheap-object warnings. XHCI port and slot numbers are 1-based rather than 0-based. To handle this, bhyve was subtracting one item from the pointers saved in the softc so that index 1 accessed index 0 of the allocated array. However, this is UB and confused GCC 12. The compiler noticed that the calls to free() were using an offset and emitted a warning. Rather than storing UB pointers in the softc, push the decrement operation into the existing macros that wrap accesses to the relevant arrays. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D36829 (cherry picked from commit b36b14beda4ff7ecbb906ada756141f76fcb81aa) --- usr.sbin/bhyve/pci_xhci.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 5bc9498a4eb4..1eceb6fe0fd3 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -290,10 +290,10 @@ struct pci_xhci_softc { }; -/* portregs and devices arrays are set up to start from idx=1 */ -#define XHCI_PORTREG_PTR(x,n) &(x)->portregs[(n)] -#define XHCI_DEVINST_PTR(x,n) (x)->devices[(n)] -#define XHCI_SLOTDEV_PTR(x,n) (x)->slots[(n)] +/* port and slot numbering start from 1 */ +#define XHCI_PORTREG_PTR(x,n) &((x)->portregs[(n) - 1]) +#define XHCI_DEVINST_PTR(x,n) ((x)->devices[(n) - 1]) +#define XHCI_SLOTDEV_PTR(x,n) ((x)->slots[(n) - 1]) #define XHCI_HALTED(sc) ((sc)->opregs.usbsts & XHCI_STS_HCH) @@ -2738,10 +2738,6 @@ pci_xhci_parse_devices(struct pci_xhci_softc *sc, nvlist_t *nvl) sc->devices = calloc(XHCI_MAX_DEVS, sizeof(struct pci_xhci_dev_emu *)); sc->slots = calloc(XHCI_MAX_SLOTS, sizeof(struct pci_xhci_dev_emu *)); - /* port and slot numbering start from 1 */ - sc->devices--; - sc->slots--; - ndevices = 0; slots_nvl = find_relative_config_node(nvl, "slot"); @@ -2835,7 +2831,6 @@ pci_xhci_parse_devices(struct pci_xhci_softc *sc, nvlist_t *nvl) portsfinal: sc->portregs = calloc(XHCI_MAX_DEVS, sizeof(struct pci_xhci_portregs)); - sc->portregs--; if (ndevices > 0) { for (i = 1; i <= XHCI_MAX_DEVS; i++) { @@ -2851,8 +2846,8 @@ bad: free(XHCI_DEVINST_PTR(sc, i)); } - free(sc->devices + 1); - free(sc->slots + 1); + free(sc->devices); + free(sc->slots); return (-1); } From nobody Thu Jan 26 22:35:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWc0V6Tz3cCMy; Thu, 26 Jan 2023 22:35: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 4P2wWb65ygz4DfM; Thu, 26 Jan 2023 22:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hEwjf5LvZt2Q/yo1qCDh1ot4uUcnhNNWDrAwbnjzFZI=; b=cN9FFbeNcMaVPiWPluwERU053H/4Xt5whj13e+sCnVyMe/joVnIhsKmWuunsoR2nCi7j/1 l9tqwa3a42y5lkc6GMzZNsL4CRTcX9PaVd3W76cszQqg2DYs+A6rBEYUQL7rG/zO8YlU/+ 1Qfr/iwmRx8oMtcQjRu/Y3uXrfHJ9X/jGU9AApdrsWBS/SMplknrENaIzRxFhnAD5bGFyR WN7hFoO5W11Nm7meBiTrKBVujIWPPnl2gxkMkU+OPa0TYSa4LiG1Pv5ucSDNrpzcAGrXGe 1JU3s7NJRqxE1u2WZGeKBU2z82ld2L+tIzo/SQRP5n/HJkMCsF1G8tv/zVJi6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hEwjf5LvZt2Q/yo1qCDh1ot4uUcnhNNWDrAwbnjzFZI=; b=XYAGltlkk4neU7vm8WDJVCWYfuSHMV36d8bzB0ft61e7vXzqY8owzABpFH1Mv2VnHJDtUN 2ydIOji5XVvDQGwe5XF+jIdRvdztkQ0IYbD7uLEu2b5cdsoZR7KWt/oE+1xz6FQZor9HGA EFLDjlEQJwz8gHe3XWx7jcDLV0w5Wq4UZLXA+aW8TmaP5D2Ridgroc4jRgJ2IU2TXKZuN/ YKLiaxWIsdYp/fWQMLMkff3By7e0NZirCcJda1/f1XSByQIetyW9r7Iv8x296McGDaF9Bd KiHaCnatR0c8w0gNprYKl9WClRaBqn9W3lsO9SrhIozelyX+qOrGQE0ZiywCNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772507; a=rsa-sha256; cv=none; b=Z3W0H9BynnUn/omCNYOX3ILh6bYtuWKIzAmf6XpVWfLirXw08UekjmmnrQn3pZS8FxIMTo ldvpFApLp0yMUGDCdK2sYyhVqD1jBUMRES4Sa1yxvzbRAckA/rivtIWXTwEFiFKPW6qsOt 8oJt8bk2j8OMX6kG9UdNPxw4na0WR4wku7L9CDvX+S+vwCGzKH2szi6zTwDRp5JqIXz0fT nya9ugw/it+01IspH47wQcVIIPu5Krnw0/sihLSRj6e5IQ7hwyrsyqs2zBWxEpy/4j/To/ xykLN41dxfXFUyA0J3TaREmbV+sL9j1hHLuFw0eG+LgMUWsOMRNx0JLbovEOMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWb4yp3zmK8; Thu, 26 Jan 2023 22:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ7W0051696; Thu, 26 Jan 2023 22:35:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ7Jt051695; Thu, 26 Jan 2023 22:35:07 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:07 GMT Message-Id: <202301262235.30QMZ7Jt051695@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2ae9f7a45302 - stable/13 - bhyve: Fix a mismerge in the PCI passthrough device model. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2ae9f7a453020a75c437e79773f019b4a8158bee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2ae9f7a453020a75c437e79773f019b4a8158bee commit 2ae9f7a453020a75c437e79773f019b4a8158bee Author: John Baldwin AuthorDate: 2023-01-26 22:24:55 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:24:55 +0000 bhyve: Fix a mismerge in the PCI passthrough device model. This block of code was removed in stable/13 commit 7ea16192a01e. It was accidentally re-added in commit aa5eea98b99c (probably due to resolving a conflict during the merge). This is a direct commit to stable/13. --- usr.sbin/bhyve/pci_passthru.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 0c5f3ed1e7a3..3dbb80eec9fa 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -583,13 +583,6 @@ cfginitbar(struct vmctx *ctx __unused, struct passthru_softc *sc) sc->psc_bar[i].lobits = lobits; pi->pi_bar[i].lobits = lobits; - /* The MSI-X table needs special handling */ - if (i == pci_msix_table_bar(pi)) { - error = init_msix_table(ctx, sc); - if (error) - return (-1); - } - /* * 64-bit BAR takes up two slots so skip the next one. */ From nobody Thu Jan 26 22:35:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWd0QXbz3cCN1; Thu, 26 Jan 2023 22:35: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 4P2wWc6dPHz4Dvg; Thu, 26 Jan 2023 22:35:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S75aHdNi1JnsYXmUBqU7VhhtXVuVJ3a+P30IRUz9Bcs=; b=YCMc8PxvqOJR7/uxhg6+Q6FVI9Lf3oXk+RsDS38QwjeIcfORiEg9XVKvN6Ozj1zTSUXGq9 M2Vqp+iA+uaTD4d9VeYLn/DzGupdQ4N3NYDjX9z4mPip2yDbHDok6qGGaigdxHsjCZuskh S+GjVgYyLNysGHARDXLvd0PVrgIH08lEYJECRjXu+NYlio+/99UmDHVtMt6ZsYlR3s+LpF uOqIO4dFCFzM2eX67uELpil3ReGJdQsGcLPPjXMQ0JAADLfzVOK9PCnv0PRHhlee5iRluJ MMUNryest5aFTaMN8mVzEqPtP28/SW5q0EQAm58ZqlbFd1/T8rkQM04OvenfiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S75aHdNi1JnsYXmUBqU7VhhtXVuVJ3a+P30IRUz9Bcs=; b=ETfVabVwqgg8qokTIpB6Ns/zq39s/VumLvKQB2fMsyCNSyYqeWjgJdwFe/R127kJvzi4/r Dp6kcG+n7tGL2Ug+r6S4fFC6fgd1aLUgulT2uRlITCW4nxajmXgygFlnYVTRkE2aZCTpdZ 9GXub/NDGVZVjYDFx1+rmVQe1Rh/O//Me1rwyBbrOEghEpTJyV+Guz7JdaAWGeyOXmDv1W Qm0ejwNLiOQamO1zrSSj5mLgLAkMvdr/CfdUyGhPma8cO1iUVm7fj0HZ0kuQn6mu3cfPn8 DznNqkGF7uU09aMZ1BG9oSiDiT4fWzVRqjENOZOVX4HeiCDSHMAHX13fze0MlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772508; a=rsa-sha256; cv=none; b=YOsCMVCj505gL1uifeqUy4y+3sPJmjN0wGnCm2m18exTdwYGz753zEfnZMCK6nUMxnGpCw JF+r14XCSrGcOe9xTvqSvID1YosLgoP+COoCe3y/3MHs94r+8AP03P44lOd4vlmsBNHMhF dDe1vL1vzB08Bi6rMdB6dArz1cRJ+UoIB3Wzbzd5/3MdoJNKjCuW9GSez/bzpmVTihkLkT IJKZgUVrZWIdQIWAnGS6qB5RemN5gBJuu/s6aWfnenDhk3VFjBzkU8M2VPPF7X6fflBtcw iJKkRPYMXlA0gYOPXYZnxTDIGoX+o3dP9npCilrVInBGY/Sa6mvg6SAQQam/YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWc5ScwzmdN; Thu, 26 Jan 2023 22:35:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ80W051726; Thu, 26 Jan 2023 22:35:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ8AE051725; Thu, 26 Jan 2023 22:35:08 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:08 GMT Message-Id: <202301262235.30QMZ8AE051725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 39177915279a - stable/13 - bhyve: Remove vmctx argument from PCI device model methods. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39177915279a67dc8eb063148339fddd2495daad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=39177915279a67dc8eb063148339fddd2495daad commit 39177915279a67dc8eb063148339fddd2495daad Author: John Baldwin AuthorDate: 2023-01-19 18:30:18 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:28:38 +0000 bhyve: Remove vmctx argument from PCI device model methods. Most of these arguments were unused. Device models which do need access to the vmctx in one of these methods can obtain it from the pi_vmctx member of the pci_devinst argument instead. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D38096 (cherry picked from commit 6a284cacb1e56a81dff7f5c34bbbd7ed1a0b6cb1) --- usr.sbin/bhyve/bhyverun.c | 4 +- usr.sbin/bhyve/pci_ahci.c | 12 +++--- usr.sbin/bhyve/pci_e82545.c | 10 ++--- usr.sbin/bhyve/pci_emul.c | 66 ++++++++++++++--------------- usr.sbin/bhyve/pci_emul.h | 25 +++++------ usr.sbin/bhyve/pci_fbuf.c | 21 +++++----- usr.sbin/bhyve/pci_hda.c | 19 ++++----- usr.sbin/bhyve/pci_hostbridge.c | 3 +- usr.sbin/bhyve/pci_lpc.c | 17 ++++---- usr.sbin/bhyve/pci_nvme.c | 27 ++++++------ usr.sbin/bhyve/pci_passthru.c | 84 ++++++++++++++++++------------------- usr.sbin/bhyve/pci_uart.c | 8 ++-- usr.sbin/bhyve/pci_virtio_9p.c | 2 +- usr.sbin/bhyve/pci_virtio_block.c | 3 +- usr.sbin/bhyve/pci_virtio_console.c | 3 +- usr.sbin/bhyve/pci_virtio_input.c | 3 +- usr.sbin/bhyve/pci_virtio_net.c | 3 +- usr.sbin/bhyve/pci_virtio_rnd.c | 3 +- usr.sbin/bhyve/pci_virtio_scsi.c | 5 +-- usr.sbin/bhyve/pci_xhci.c | 10 ++--- usr.sbin/bhyve/snapshot.c | 12 +++--- usr.sbin/bhyve/snapshot.h | 8 ++-- usr.sbin/bhyve/virtio.c | 10 ++--- usr.sbin/bhyve/virtio.h | 13 +++--- 24 files changed, 167 insertions(+), 204 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index aeafed1d0c69..caa284a8dd63 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1491,7 +1491,7 @@ main(int argc, char *argv[]) #ifdef BHYVE_SNAPSHOT if (restore_file != NULL) { fprintf(stdout, "Pausing pci devs...\r\n"); - if (vm_pause_user_devs(ctx) != 0) { + if (vm_pause_user_devs() != 0) { fprintf(stderr, "Failed to pause PCI device state.\n"); exit(1); } @@ -1515,7 +1515,7 @@ main(int argc, char *argv[]) } fprintf(stdout, "Resuming pci devs...\r\n"); - if (vm_resume_user_devs(ctx) != 0) { + if (vm_resume_user_devs() != 0) { fprintf(stderr, "Failed to resume PCI device state.\n"); exit(1); } diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index 700170885a13..9c023d93cab9 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -2197,8 +2197,7 @@ pci_ahci_host_write(struct pci_ahci_softc *sc, uint64_t offset, uint64_t value) } static void -pci_ahci_write(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size, +pci_ahci_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { struct pci_ahci_softc *sc = pi->pi_arg; @@ -2292,8 +2291,7 @@ pci_ahci_port_read(struct pci_ahci_softc *sc, uint64_t offset) } static uint64_t -pci_ahci_read(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t regoff, int size) +pci_ahci_read(struct pci_devinst *pi, int baridx, uint64_t regoff, int size) { struct pci_ahci_softc *sc = pi->pi_arg; uint64_t offset; @@ -2420,7 +2418,7 @@ pci_ahci_hd_legacy_config(nvlist_t *nvl, const char *opts) } static int -pci_ahci_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) +pci_ahci_init(struct pci_devinst *pi, nvlist_t *nvl) { char bident[sizeof("XXX:XXX:XXX")]; char node_name[sizeof("XX")]; @@ -2668,7 +2666,7 @@ done: } static int -pci_ahci_pause(struct vmctx *ctx __unused, struct pci_devinst *pi) +pci_ahci_pause(struct pci_devinst *pi) { struct pci_ahci_softc *sc; struct blockif_ctxt *bctxt; @@ -2688,7 +2686,7 @@ pci_ahci_pause(struct vmctx *ctx __unused, struct pci_devinst *pi) } static int -pci_ahci_resume(struct vmctx *ctx __unused, struct pci_devinst *pi) +pci_ahci_resume(struct pci_devinst *pi) { struct pci_ahci_softc *sc; struct blockif_ctxt *bctxt; diff --git a/usr.sbin/bhyve/pci_e82545.c b/usr.sbin/bhyve/pci_e82545.c index 49c5f986a341..bec8edb17caf 100644 --- a/usr.sbin/bhyve/pci_e82545.c +++ b/usr.sbin/bhyve/pci_e82545.c @@ -2112,8 +2112,7 @@ e82545_read_register(struct e82545_softc *sc, uint32_t offset) } static void -e82545_write(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size, +e82545_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { struct e82545_softc *sc; @@ -2163,8 +2162,7 @@ e82545_write(struct vmctx *ctx __unused, } static uint64_t -e82545_read(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size) +e82545_read(struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct e82545_softc *sc; uint64_t retval; @@ -2307,7 +2305,7 @@ e82545_reset(struct e82545_softc *sc, int drvr) } static int -e82545_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +e82545_init(struct pci_devinst *pi, nvlist_t *nvl) { char nstr[80]; struct e82545_softc *sc; @@ -2319,7 +2317,7 @@ e82545_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) pi->pi_arg = sc; sc->esc_pi = pi; - sc->esc_ctx = ctx; + sc->esc_ctx = pi->pi_vmctx; pthread_mutex_init(&sc->esc_mtx, NULL); pthread_cond_init(&sc->esc_rx_cond, NULL); diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index cca0932180d6..93411751d635 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -140,8 +140,8 @@ SYSRES_MEM(PCI_EMUL_ECFG_BASE, PCI_EMUL_ECFG_SIZE); static struct pci_devemu *pci_emul_finddev(const char *name); static void pci_lintr_route(struct pci_devinst *pi); static void pci_lintr_update(struct pci_devinst *pi); -static void pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, - int func, int coff, int bytes, uint32_t *val); +static void pci_cfgrw(int in, int bus, int slot, int func, int coff, + int bytes, uint32_t *val); static __inline void CFGWRITE(struct pci_devinst *pi, int coff, uint32_t val, int bytes) @@ -447,7 +447,7 @@ pci_msix_pba_bar(struct pci_devinst *pi) } static int -pci_emul_io_handler(struct vmctx *ctx, int in, int port, +pci_emul_io_handler(struct vmctx *ctx __unused, int in, int port, int bytes, uint32_t *eax, void *arg) { struct pci_devinst *pdi = arg; @@ -464,10 +464,10 @@ pci_emul_io_handler(struct vmctx *ctx, int in, int port, pdi->pi_bar[i].addr + pdi->pi_bar[i].size) { offset = port - pdi->pi_bar[i].addr; if (in) - *eax = (*pe->pe_barread)(ctx, pdi, i, + *eax = (*pe->pe_barread)(pdi, i, offset, bytes); else - (*pe->pe_barwrite)(ctx, pdi, i, offset, + (*pe->pe_barwrite)(pdi, i, offset, bytes, *eax); return (0); } @@ -476,7 +476,7 @@ pci_emul_io_handler(struct vmctx *ctx, int in, int port, } static int -pci_emul_mem_handler(struct vmctx *ctx, int vcpu __unused, int dir, +pci_emul_mem_handler(struct vmctx *ctx __unused, int vcpu __unused, int dir, uint64_t addr, int size, uint64_t *val, void *arg1, long arg2) { struct pci_devinst *pdi = arg1; @@ -494,22 +494,22 @@ pci_emul_mem_handler(struct vmctx *ctx, int vcpu __unused, int dir, if (dir == MEM_F_WRITE) { if (size == 8) { - (*pe->pe_barwrite)(ctx, pdi, bidx, offset, + (*pe->pe_barwrite)(pdi, bidx, offset, 4, *val & 0xffffffff); - (*pe->pe_barwrite)(ctx, pdi, bidx, offset + 4, + (*pe->pe_barwrite)(pdi, bidx, offset + 4, 4, *val >> 32); } else { - (*pe->pe_barwrite)(ctx, pdi, bidx, offset, + (*pe->pe_barwrite)(pdi, bidx, offset, size, *val); } } else { if (size == 8) { - *val = (*pe->pe_barread)(ctx, pdi, bidx, + *val = (*pe->pe_barread)(pdi, bidx, offset, 4); - *val |= (*pe->pe_barread)(ctx, pdi, bidx, + *val |= (*pe->pe_barread)(pdi, bidx, offset + 4, 4) << 32; } else { - *val = (*pe->pe_barread)(ctx, pdi, bidx, + *val = (*pe->pe_barread)(pdi, bidx, offset, size); } } @@ -563,7 +563,7 @@ modify_bar_registration(struct pci_devinst *pi, int idx, int registration) } else error = unregister_inout(&iop); if (pe->pe_baraddr != NULL) - (*pe->pe_baraddr)(pi->pi_vmctx, pi, idx, registration, + (*pe->pe_baraddr)(pi, idx, registration, pi->pi_bar[idx].addr); break; case PCIBAR_MEM32: @@ -581,13 +581,13 @@ modify_bar_registration(struct pci_devinst *pi, int idx, int registration) } else error = unregister_mem(&mr); if (pe->pe_baraddr != NULL) - (*pe->pe_baraddr)(pi->pi_vmctx, pi, idx, registration, + (*pe->pe_baraddr)(pi, idx, registration, pi->pi_bar[idx].addr); break; case PCIBAR_ROM: error = 0; if (pe->pe_baraddr != NULL) - (*pe->pe_baraddr)(pi->pi_vmctx, pi, idx, registration, + (*pe->pe_baraddr)(pi, idx, registration, pi->pi_bar[idx].addr); break; default: @@ -993,7 +993,7 @@ pci_emul_init(struct vmctx *ctx, struct pci_devemu *pde, int bus, int slot, pci_set_cfgdata8(pdi, PCIR_COMMAND, PCIM_CMD_BUSMASTEREN); - err = (*pde->pe_init)(ctx, pdi, fi->fi_config); + err = (*pde->pe_init)(pdi, fi->fi_config); if (err == 0) fi->fi_devi = pdi; else @@ -1294,7 +1294,7 @@ pci_emul_fallback_handler(struct vmctx *ctx __unused, int vcpu __unused, } static int -pci_emul_ecfg_handler(struct vmctx *ctx, int vcpu __unused, int dir, +pci_emul_ecfg_handler(struct vmctx *ctx __unused, int vcpu __unused, int dir, uint64_t addr, int bytes, uint64_t *val, void *arg1 __unused, long arg2 __unused) { @@ -1307,7 +1307,7 @@ pci_emul_ecfg_handler(struct vmctx *ctx, int vcpu __unused, int dir, in = (dir == MEM_F_READ); if (in) *val = ~0UL; - pci_cfgrw(ctx, in, bus, slot, func, coff, bytes, (uint32_t *)val); + pci_cfgrw(in, bus, slot, func, coff, bytes, (uint32_t *)val); return (0); } @@ -2054,8 +2054,8 @@ pci_emul_cmdsts_write(struct pci_devinst *pi, int coff, uint32_t new, int bytes) } static void -pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, int func, - int coff, int bytes, uint32_t *eax) +pci_cfgrw(int in, int bus, int slot, int func, int coff, int bytes, + uint32_t *eax) { struct businfo *bi; struct slotinfo *si; @@ -2108,7 +2108,7 @@ pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, int func, if (in) { /* Let the device emulation override the default handler */ if (pe->pe_cfgread != NULL) { - needcfg = pe->pe_cfgread(ctx, pi, coff, bytes, eax); + needcfg = pe->pe_cfgread(pi, coff, bytes, eax); } else { needcfg = 1; } @@ -2120,7 +2120,7 @@ pci_cfgrw(struct vmctx *ctx, int in, int bus, int slot, int func, } else { /* Let the device emulation override the default handler */ if (pe->pe_cfgwrite != NULL && - (*pe->pe_cfgwrite)(ctx, pi, coff, bytes, *eax) == 0) + (*pe->pe_cfgwrite)(pi, coff, bytes, *eax) == 0) return; /* @@ -2247,7 +2247,7 @@ pci_emul_cfgaddr(struct vmctx *ctx __unused, int in, INOUT_PORT(pci_cfgaddr, CONF1_ADDR_PORT, IOPORT_F_INOUT, pci_emul_cfgaddr); static int -pci_emul_cfgdata(struct vmctx *ctx, int in, int port, +pci_emul_cfgdata(struct vmctx *ctx __unused, int in, int port, int bytes, uint32_t *eax, void *arg __unused) { int coff; @@ -2256,8 +2256,7 @@ pci_emul_cfgdata(struct vmctx *ctx, int in, int port, coff = cfgoff + (port - CONF1_DATA_PORT); if (cfgenable) { - pci_cfgrw(ctx, in, cfgbus, cfgslot, cfgfunc, coff, bytes, - eax); + pci_cfgrw(in, cfgbus, cfgslot, cfgfunc, coff, bytes, eax); } else { /* Ignore accesses to cfgdata if not enabled by cfgaddr */ if (in) @@ -2395,7 +2394,7 @@ pci_snapshot(struct vm_snapshot_meta *meta) } int -pci_pause(struct vmctx *ctx, const char *dev_name) +pci_pause(const char *dev_name) { struct pci_devemu *pde; struct pci_devinst *pdi; @@ -2420,11 +2419,11 @@ pci_pause(struct vmctx *ctx, const char *dev_name) return (0); } - return (*pde->pe_pause)(ctx, pdi); + return (*pde->pe_pause)(pdi); } int -pci_resume(struct vmctx *ctx, const char *dev_name) +pci_resume(const char *dev_name) { struct pci_devemu *pde; struct pci_devinst *pdi; @@ -2449,7 +2448,7 @@ pci_resume(struct vmctx *ctx, const char *dev_name) return (0); } - return (*pde->pe_resume)(ctx, pdi); + return (*pde->pe_resume)(pdi); } #endif @@ -2469,8 +2468,7 @@ struct pci_emul_dsoftc { #define PCI_EMUL_MSIX_MSGS 16 static int -pci_emul_dinit(struct vmctx *ctx __unused, struct pci_devinst *pi, - nvlist_t *nvl __unused) +pci_emul_dinit(struct pci_devinst *pi, nvlist_t *nvl __unused) { int error; struct pci_emul_dsoftc *sc; @@ -2499,8 +2497,7 @@ pci_emul_dinit(struct vmctx *ctx __unused, struct pci_devinst *pi, } static void -pci_emul_diow(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size, +pci_emul_diow(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { int i; @@ -2567,8 +2564,7 @@ pci_emul_diow(struct vmctx *ctx __unused, } static uint64_t -pci_emul_dior(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size) +pci_emul_dior(struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_emul_dsoftc *sc = pi->pi_arg; uint32_t value; diff --git a/usr.sbin/bhyve/pci_emul.h b/usr.sbin/bhyve/pci_emul.h index 8a7bcb7cc83a..117fc78898a2 100644 --- a/usr.sbin/bhyve/pci_emul.h +++ b/usr.sbin/bhyve/pci_emul.h @@ -54,8 +54,7 @@ struct pci_devemu { const char *pe_emu; /* Name of device emulation */ /* instance creation */ - int (*pe_init)(struct vmctx *, struct pci_devinst *, - nvlist_t *); + int (*pe_init)(struct pci_devinst *, nvlist_t *); int (*pe_legacy_config)(nvlist_t *, const char *); const char *pe_alias; @@ -63,28 +62,24 @@ struct pci_devemu { void (*pe_write_dsdt)(struct pci_devinst *); /* config space read/write callbacks */ - int (*pe_cfgwrite)(struct vmctx *ctx, - struct pci_devinst *pi, int offset, + int (*pe_cfgwrite)(struct pci_devinst *pi, int offset, int bytes, uint32_t val); - int (*pe_cfgread)(struct vmctx *ctx, - struct pci_devinst *pi, int offset, + int (*pe_cfgread)(struct pci_devinst *pi, int offset, int bytes, uint32_t *retval); /* BAR read/write callbacks */ - void (*pe_barwrite)(struct vmctx *ctx, - struct pci_devinst *pi, int baridx, + void (*pe_barwrite)(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value); - uint64_t (*pe_barread)(struct vmctx *ctx, - struct pci_devinst *pi, int baridx, + uint64_t (*pe_barread)(struct pci_devinst *pi, int baridx, uint64_t offset, int size); - void (*pe_baraddr)(struct vmctx *ctx, struct pci_devinst *pi, + void (*pe_baraddr)(struct pci_devinst *pi, int baridx, int enabled, uint64_t address); /* Save/restore device state */ int (*pe_snapshot)(struct vm_snapshot_meta *meta); - int (*pe_pause)(struct vmctx *ctx, struct pci_devinst *pi); - int (*pe_resume)(struct vmctx *ctx, struct pci_devinst *pi); + int (*pe_pause)(struct pci_devinst *pi); + int (*pe_resume)(struct pci_devinst *pi); }; #define PCI_EMUL_SET(x) DATA_SET(pci_devemu_set, x); @@ -266,8 +261,8 @@ uint64_t pci_ecfg_base(void); int pci_bus_configured(int bus); #ifdef BHYVE_SNAPSHOT int pci_snapshot(struct vm_snapshot_meta *meta); -int pci_pause(struct vmctx *ctx, const char *dev_name); -int pci_resume(struct vmctx *ctx, const char *dev_name); +int pci_pause(const char *dev_name); +int pci_resume(const char *dev_name); #endif static __inline void diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index 4cfe872bd934..91215a124c59 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -117,8 +117,7 @@ static struct pci_fbuf_softc *fbuf_sc; #define PCI_FBUF_MSI_MSGS 4 static void -pci_fbuf_write(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size, +pci_fbuf_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { struct pci_fbuf_softc *sc; @@ -172,8 +171,7 @@ pci_fbuf_write(struct vmctx *ctx __unused, } static uint64_t -pci_fbuf_read(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size) +pci_fbuf_read(struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_fbuf_softc *sc; uint8_t *p; @@ -218,8 +216,8 @@ pci_fbuf_read(struct vmctx *ctx __unused, } static void -pci_fbuf_baraddr(struct vmctx *ctx, struct pci_devinst *pi, int baridx, - int enabled, uint64_t address) +pci_fbuf_baraddr(struct pci_devinst *pi, int baridx, int enabled, + uint64_t address) { struct pci_fbuf_softc *sc; int prot; @@ -229,12 +227,13 @@ pci_fbuf_baraddr(struct vmctx *ctx, struct pci_devinst *pi, int baridx, sc = pi->pi_arg; if (!enabled) { - if (vm_munmap_memseg(ctx, sc->fbaddr, FB_SIZE) != 0) + if (vm_munmap_memseg(pi->pi_vmctx, sc->fbaddr, FB_SIZE) != 0) EPRINTLN("pci_fbuf: munmap_memseg failed"); sc->fbaddr = 0; } else { prot = PROT_READ | PROT_WRITE; - if (vm_mmap_memseg(ctx, address, VM_FRAMEBUFFER, 0, FB_SIZE, prot) != 0) + if (vm_mmap_memseg(pi->pi_vmctx, address, VM_FRAMEBUFFER, 0, + FB_SIZE, prot) != 0) EPRINTLN("pci_fbuf: mmap_memseg failed"); sc->fbaddr = address; } @@ -371,7 +370,7 @@ pci_fbuf_render(struct bhyvegc *gc, void *arg) } static int -pci_fbuf_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_fbuf_init(struct pci_devinst *pi, nvlist_t *nvl) { int error; struct pci_fbuf_softc *sc; @@ -391,8 +390,8 @@ pci_fbuf_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_DISPLAY); pci_set_cfgdata8(pi, PCIR_SUBCLASS, PCIS_DISPLAY_VGA); - sc->fb_base = vm_create_devmem( - ctx, VM_FRAMEBUFFER, "framebuffer", FB_SIZE); + sc->fb_base = vm_create_devmem(pi->pi_vmctx, VM_FRAMEBUFFER, + "framebuffer", FB_SIZE); if (sc->fb_base == MAP_FAILED) { error = -1; goto done; diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index a85935a5cae8..9b0d4bd02ba0 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -209,11 +209,11 @@ static uint64_t hda_get_clock_ns(void); /* * PCI HDA function declarations */ -static int pci_hda_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl); -static void pci_hda_write(struct vmctx *ctx, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value); -static uint64_t pci_hda_read(struct vmctx *ctx, struct pci_devinst *pi, - int baridx, uint64_t offset, int size); +static int pci_hda_init(struct pci_devinst *pi, nvlist_t *nvl); +static void pci_hda_write(struct pci_devinst *pi, int baridx, uint64_t offset, + int size, uint64_t value); +static uint64_t pci_hda_read(struct pci_devinst *pi, int baridx, + uint64_t offset, int size); /* * HDA global data */ @@ -1223,11 +1223,10 @@ static uint64_t hda_get_clock_ns(void) * PCI HDA function definitions */ static int -pci_hda_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +pci_hda_init(struct pci_devinst *pi, nvlist_t *nvl) { struct hda_softc *sc = NULL; - assert(ctx != NULL); assert(pi != NULL); pci_set_cfgdata16(pi, PCIR_VENDOR, INTEL_VENDORID); @@ -1256,8 +1255,7 @@ pci_hda_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) } static void -pci_hda_write(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size, +pci_hda_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { struct hda_softc *sc = pi->pi_arg; @@ -1274,8 +1272,7 @@ pci_hda_write(struct vmctx *ctx __unused, } static uint64_t -pci_hda_read(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size) +pci_hda_read(struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct hda_softc *sc = pi->pi_arg; uint64_t value = 0; diff --git a/usr.sbin/bhyve/pci_hostbridge.c b/usr.sbin/bhyve/pci_hostbridge.c index 50c334d8e408..f0878d97a77e 100644 --- a/usr.sbin/bhyve/pci_hostbridge.c +++ b/usr.sbin/bhyve/pci_hostbridge.c @@ -37,8 +37,7 @@ __FBSDID("$FreeBSD$"); #include "pci_emul.h" static int -pci_hostbridge_init(struct vmctx *ctx __unused, struct pci_devinst *pi, - nvlist_t *nvl) +pci_hostbridge_init(struct pci_devinst *pi, nvlist_t *nvl) { const char *value; u_int vendor, device; diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c index e275946d9621..548726e27d0d 100644 --- a/usr.sbin/bhyve/pci_lpc.c +++ b/usr.sbin/bhyve/pci_lpc.c @@ -398,8 +398,7 @@ pci_lpc_uart_dsdt(void) LPC_DSDT(pci_lpc_uart_dsdt); static int -pci_lpc_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, - int coff, int bytes, uint32_t val) +pci_lpc_cfgwrite(struct pci_devinst *pi, int coff, int bytes, uint32_t val) { int pirq_pin; @@ -410,7 +409,7 @@ pci_lpc_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, if (coff >= 0x68 && coff <= 0x6b) pirq_pin = coff - 0x68 + 5; if (pirq_pin != 0) { - pirq_write(ctx, pirq_pin, val); + pirq_write(pi->pi_vmctx, pirq_pin, val); pci_set_cfgdata8(pi, coff, pirq_read(pirq_pin)); return (0); } @@ -419,16 +418,14 @@ pci_lpc_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, } static void -pci_lpc_write(struct vmctx *ctx __unused, - struct pci_devinst *pi __unused, int baridx __unused, +pci_lpc_write(struct pci_devinst *pi __unused, int baridx __unused, uint64_t offset __unused, int size __unused, uint64_t value __unused) { } static uint64_t -pci_lpc_read(struct vmctx *ctx __unused, - struct pci_devinst *pi __unused, int baridx __unused, uint64_t offset __unused, - int size __unused) +pci_lpc_read(struct pci_devinst *pi __unused, int baridx __unused, + uint64_t offset __unused, int size __unused) { return (0); } @@ -437,7 +434,7 @@ pci_lpc_read(struct vmctx *ctx __unused, #define LPC_VENDOR 0x8086 static int -pci_lpc_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl __unused) +pci_lpc_init(struct pci_devinst *pi, nvlist_t *nvl __unused) { /* * Do not allow more than one LPC bridge to be configured. @@ -457,7 +454,7 @@ pci_lpc_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl __unused) return (-1); } - if (lpc_init(ctx) != 0) + if (lpc_init(pi->pi_vmctx) != 0) return (-1); /* initialize config space */ diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 75e6f247501a..cf1c815096d3 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1100,7 +1100,7 @@ pci_nvme_reset(struct pci_nvme_softc *sc) } static int -pci_nvme_init_controller(struct vmctx *ctx, struct pci_nvme_softc *sc) +pci_nvme_init_controller(struct pci_nvme_softc *sc) { uint16_t acqs, asqs; @@ -1119,8 +1119,8 @@ pci_nvme_init_controller(struct vmctx *ctx, struct pci_nvme_softc *sc) return (-1); } sc->submit_queues[0].size = asqs; - sc->submit_queues[0].qbase = vm_map_gpa(ctx, sc->regs.asq, - sizeof(struct nvme_command) * asqs); + sc->submit_queues[0].qbase = vm_map_gpa(sc->nsc_pi->pi_vmctx, + sc->regs.asq, sizeof(struct nvme_command) * asqs); if (sc->submit_queues[0].qbase == NULL) { EPRINTLN("%s: ASQ vm_map_gpa(%lx) failed", __func__, sc->regs.asq); @@ -1140,8 +1140,8 @@ pci_nvme_init_controller(struct vmctx *ctx, struct pci_nvme_softc *sc) return (-1); } sc->compl_queues[0].size = acqs; - sc->compl_queues[0].qbase = vm_map_gpa(ctx, sc->regs.acq, - sizeof(struct nvme_completion) * acqs); + sc->compl_queues[0].qbase = vm_map_gpa(sc->nsc_pi->pi_vmctx, + sc->regs.acq, sizeof(struct nvme_completion) * acqs); if (sc->compl_queues[0].qbase == NULL) { EPRINTLN("%s: ACQ vm_map_gpa(%lx) failed", __func__, sc->regs.acq); @@ -2930,8 +2930,8 @@ pci_nvme_bar0_reg_dumps(const char *func, uint64_t offset, int iswrite) } static void -pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, - uint64_t offset, int size, uint64_t value) +pci_nvme_write_bar_0(struct pci_nvme_softc *sc, uint64_t offset, int size, + uint64_t value) { uint32_t ccreg; @@ -3014,7 +3014,7 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, /* transition 1-> causes controller reset */ pci_nvme_reset_locked(sc); else - pci_nvme_init_controller(ctx, sc); + pci_nvme_init_controller(sc); } /* Insert the iocqes, iosqes and en bits from the write */ @@ -3062,8 +3062,8 @@ pci_nvme_write_bar_0(struct vmctx *ctx, struct pci_nvme_softc* sc, } static void -pci_nvme_write(struct vmctx *ctx, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) +pci_nvme_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { struct pci_nvme_softc* sc = pi->pi_arg; @@ -3078,7 +3078,7 @@ pci_nvme_write(struct vmctx *ctx, struct pci_devinst *pi, switch (baridx) { case 0: - pci_nvme_write_bar_0(ctx, sc, offset, size, value); + pci_nvme_write_bar_0(sc, offset, size, value); break; default: @@ -3125,8 +3125,7 @@ static uint64_t pci_nvme_read_bar_0(struct pci_nvme_softc* sc, static uint64_t -pci_nvme_read(struct vmctx *ctx __unused, - struct pci_devinst *pi, int baridx, uint64_t offset, int size) +pci_nvme_read(struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct pci_nvme_softc* sc = pi->pi_arg; @@ -3276,7 +3275,7 @@ pci_nvme_resized(struct blockif_ctxt *bctxt __unused, void *arg, } static int -pci_nvme_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl) +pci_nvme_init(struct pci_devinst *pi, nvlist_t *nvl) { struct pci_nvme_softc *sc; uint32_t pci_membar_sz; diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 3dbb80eec9fa..f42bbbda655f 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -386,8 +386,8 @@ msix_table_read(struct passthru_softc *sc, uint64_t offset, int size) } static void -msix_table_write(struct vmctx *ctx, struct passthru_softc *sc, - uint64_t offset, int size, uint64_t data) +msix_table_write(struct passthru_softc *sc, uint64_t offset, int size, + uint64_t data) { struct pci_devinst *pi; struct msix_table_entry *entry; @@ -445,7 +445,7 @@ msix_table_write(struct vmctx *ctx, struct passthru_softc *sc, /* If the entry is masked, don't set it up */ if ((entry->vector_control & PCIM_MSIX_VCTRL_MASK) == 0 || (vector_control & PCIM_MSIX_VCTRL_MASK) == 0) { - (void)vm_setup_pptdev_msix(ctx, 0, + (void)vm_setup_pptdev_msix(sc->psc_pi->pi_vmctx, 0, sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, index, entry->addr, entry->msg_data, entry->vector_control); @@ -454,7 +454,7 @@ msix_table_write(struct vmctx *ctx, struct passthru_softc *sc, } static int -init_msix_table(struct vmctx *ctx __unused, struct passthru_softc *sc) +init_msix_table(struct passthru_softc *sc) { struct pci_devinst *pi = sc->psc_pi; struct pci_bar_mmap pbm; @@ -515,7 +515,7 @@ init_msix_table(struct vmctx *ctx __unused, struct passthru_softc *sc) } static int -cfginitbar(struct vmctx *ctx __unused, struct passthru_softc *sc) +cfginitbar(struct passthru_softc *sc) { int i, error; struct pci_devinst *pi; @@ -596,7 +596,7 @@ cfginitbar(struct vmctx *ctx __unused, struct passthru_softc *sc) } static int -cfginit(struct vmctx *ctx, struct pci_devinst *pi, int bus, int slot, int func) +cfginit(struct pci_devinst *pi, int bus, int slot, int func) { int error; struct passthru_softc *sc; @@ -615,7 +615,7 @@ cfginit(struct vmctx *ctx, struct pci_devinst *pi, int bus, int slot, int func) goto done; } - if (cfginitbar(ctx, sc) != 0) { + if (cfginitbar(sc) != 0) { warnx("failed to initialize BARs for PCI %d/%d/%d", bus, slot, func); goto done; @@ -629,7 +629,7 @@ cfginit(struct vmctx *ctx, struct pci_devinst *pi, int bus, int slot, int func) * a BAR was enabled, as otherwise the PCIOCBARMMAP might fail on us. */ if (pci_msix_table_bar(pi) >= 0) { - error = init_msix_table(ctx, sc); + error = init_msix_table(sc); if (error != 0) { warnx( "failed to initialize MSI-X table for PCI %d/%d/%d: %d", @@ -682,8 +682,7 @@ passthru_legacy_config(nvlist_t *nvl, const char *opts) } static int -passthru_init_rom(struct vmctx *const ctx __unused, - struct passthru_softc *const sc, const char *const romfile) +passthru_init_rom(struct passthru_softc *const sc, const char *const romfile) { if (romfile == NULL) { return (0); @@ -799,7 +798,7 @@ passthru_lookup_pptdev(const char *name, int *bus, int *slot, int *func) } static int -passthru_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) +passthru_init(struct pci_devinst *pi, nvlist_t *nvl) { int bus, slot, func, error, memflags; struct passthru_softc *sc; @@ -808,7 +807,7 @@ passthru_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc = NULL; error = 1; - memflags = vm_get_memflags(ctx); + memflags = vm_get_memflags(pi->pi_vmctx); if (!(memflags & VM_MEM_F_WIRED)) { warnx("passthru requires guest memory to be wired"); return (error); @@ -837,7 +836,7 @@ passthru_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) GET_INT_CONFIG(func, "func"); } - if (vm_assign_pptdev(ctx, bus, slot, func) != 0) { + if (vm_assign_pptdev(pi->pi_vmctx, bus, slot, func) != 0) { warnx("PCI device at %d/%d/%d is not using the ppt(4) driver", bus, slot, func); goto done; @@ -849,11 +848,11 @@ passthru_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) sc->psc_pi = pi; /* initialize config space */ - if ((error = cfginit(ctx, pi, bus, slot, func)) != 0) + if ((error = cfginit(pi, bus, slot, func)) != 0) goto done; /* initialize ROM */ - if ((error = passthru_init_rom(ctx, sc, + if ((error = passthru_init_rom(sc, get_config_value_node(nvl, "rom"))) != 0) goto done; @@ -861,7 +860,7 @@ passthru_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl) done: if (error) { free(sc); - vm_unassign_pptdev(ctx, bus, slot, func); + vm_unassign_pptdev(pi->pi_vmctx, bus, slot, func); } return (error); } @@ -903,8 +902,7 @@ msixcap_access(struct passthru_softc *sc, int coff) } static int -passthru_cfgread(struct vmctx *ctx __unused, struct pci_devinst *pi, int coff, - int bytes, uint32_t *rv) +passthru_cfgread(struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) { struct passthru_softc *sc; @@ -948,8 +946,7 @@ passthru_cfgread(struct vmctx *ctx __unused, struct pci_devinst *pi, int coff, } static int -passthru_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, - int bytes, uint32_t val) +passthru_cfgwrite(struct pci_devinst *pi, int coff, int bytes, uint32_t val) { int error, msix_table_entries, i; struct passthru_softc *sc; @@ -969,7 +966,7 @@ passthru_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, if (msicap_access(sc, coff)) { pci_emul_capwrite(pi, coff, bytes, val, sc->psc_msi.capoff, PCIY_MSI); - error = vm_setup_pptdev_msi(ctx, 0, sc->psc_sel.pc_bus, + error = vm_setup_pptdev_msi(pi->pi_vmctx, 0, sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, pi->pi_msi.addr, pi->pi_msi.msg_data, pi->pi_msi.maxmsgnum); @@ -984,7 +981,7 @@ passthru_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, if (pi->pi_msix.enabled) { msix_table_entries = pi->pi_msix.table_count; for (i = 0; i < msix_table_entries; i++) { - error = vm_setup_pptdev_msix(ctx, 0, + error = vm_setup_pptdev_msix(pi->pi_vmctx, 0, sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, i, pi->pi_msix.table[i].addr, @@ -995,8 +992,9 @@ passthru_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, err(1, "vm_setup_pptdev_msix"); } } else { - error = vm_disable_pptdev_msix(ctx, sc->psc_sel.pc_bus, - sc->psc_sel.pc_dev, sc->psc_sel.pc_func); + error = vm_disable_pptdev_msix(pi->pi_vmctx, + sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, + sc->psc_sel.pc_func); if (error) err(1, "vm_disable_pptdev_msix"); } @@ -1029,8 +1027,8 @@ passthru_cfgwrite(struct vmctx *ctx, struct pci_devinst *pi, int coff, } static void -passthru_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, - uint64_t offset, int size, uint64_t value) +passthru_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, + uint64_t value) { struct passthru_softc *sc; struct pci_bar_ioreq pio; @@ -1038,7 +1036,7 @@ passthru_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, sc = pi->pi_arg; if (baridx == pci_msix_table_bar(pi)) { - msix_table_write(ctx, sc, offset, size, value); + msix_table_write(sc, offset, size, value); } else { assert(pi->pi_bar[baridx].type == PCIBAR_IO); assert(size == 1 || size == 2 || size == 4); @@ -1057,8 +1055,7 @@ passthru_write(struct vmctx *ctx, struct pci_devinst *pi, int baridx, } static uint64_t -passthru_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, - uint64_t offset, int size) +passthru_read(struct pci_devinst *pi, int baridx, uint64_t offset, int size) { struct passthru_softc *sc; struct pci_bar_ioreq pio; @@ -1089,8 +1086,8 @@ passthru_read(struct vmctx *ctx __unused, struct pci_devinst *pi, int baridx, } static void -passthru_msix_addr(struct vmctx *ctx, struct pci_devinst *pi, int baridx, - int enabled, uint64_t address) +passthru_msix_addr(struct pci_devinst *pi, int baridx, int enabled, + uint64_t address) { struct passthru_softc *sc; size_t remaining; @@ -1100,13 +1097,14 @@ passthru_msix_addr(struct vmctx *ctx, struct pci_devinst *pi, int baridx, table_offset = rounddown2(pi->pi_msix.table_offset, 4096); if (table_offset > 0) { if (!enabled) { - if (vm_unmap_pptdev_mmio(ctx, sc->psc_sel.pc_bus, + if (vm_unmap_pptdev_mmio(pi->pi_vmctx, + sc->psc_sel.pc_bus, sc->psc_sel.pc_dev, sc->psc_sel.pc_func, address, table_offset) != 0) warnx("pci_passthru: unmap_pptdev_mmio failed"); } else { - if (vm_map_pptdev_mmio(ctx, sc->psc_sel.pc_bus, *** 400 LINES SKIPPED *** From nobody Thu Jan 26 22:35:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWf31xyz3cCTF; Thu, 26 Jan 2023 22:35: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 4P2wWf0dc2z4F44; Thu, 26 Jan 2023 22:35:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XYafuQTrKTx2tWNJjo7LJY9dJcdi28ScUqyo6QhRb4I=; b=JOalj4nmKfPyrrCSvrF2zQ4y1Nzf32I+8D555v1+GFZWvUXFuBYADalnIR4Q2m3yJt+W3G iiY4P6LJN8LhaQP3wGLRfPIAtiRKHlNvTsDC52goptH4DrkcpHan9DNMOo9bVWp8bOfxb9 /CPj7bQetelOsU11+/eCN1qyPlGT5PQE/RCccTFhJ5aOT+LTBRamFNfQaNGMCU6ZThssjL e3K3BE6JhCF4pe9sJF5gj1wEF6buv4BRboi+APoVEdgsCj3YDH7KcxeDxwn9LGXaRO81yr b8+8isz13kgeAyS0CeguL0xLwQkNhf1JVykvuPRdhBxjzFPpq1VdJHivTS8EBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XYafuQTrKTx2tWNJjo7LJY9dJcdi28ScUqyo6QhRb4I=; b=DgxbXZUai95z/wkxL1WlnGKyGqHvZVijnOyBE+rl7y6gzsHjm/9n6h50SoNQF/f2n5pHOW wE4Tza9qWjOY106PBy7Cwx6FE10b7dkaHPTWSwx2EasXOdiw3MbbY0BdJGnR4VqJ75jZP6 GMj383LxqMKFO3DpvTgejUDLjkMotzrZxf9oEMs/xUpFm35AH5EWfA7XYlZklp3Txb0Fif Pd4uYMcW1V5af8o7UVgd5YogKNFWJU65RGupxdfL/YJC8DnY6NCcdZ46sN2DCQBf0Yy60x z3Baugky1ZqAbVz3h+W1Soxn3PZXCqYfUb++nncL9DN8rRcPATdARIzuuMQgVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772510; a=rsa-sha256; cv=none; b=gZdCAGQiIjWJzZLgyHBtSvXZJuLM8MAgx6PvZpw5qypBWLod1QRIqF7hptGdw4ZFJ0XGyF iQ54vvqejkDOyqIXoGEk4Kn5oxpVZpwGoPHbhi1nGuWeulegvBDkhwRa8gPJ46eFru4Rlx +IsgCouOcHLIa9B+NSuzqYuTuy14hzqLrIZnit4xZc/OfOdUw+LOygg59yGB67bwvcFVKO ixVSliQNc86hTfB4tQ+F2SeJAZllNJGer25avU5HbHb/5WbDXw3Q4yEImPVjXHvldWqcrK j3PddRITQ45sJDQAMo/aP/mKyfG1IITjxP8v1x/Ak0tu9Vct8KHtQzQ4z5gYGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWd6jDMzmK9; Thu, 26 Jan 2023 22:35:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZ99c051755; Thu, 26 Jan 2023 22:35:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZ9qq051754; Thu, 26 Jan 2023 22:35:09 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:09 GMT Message-Id: <202301262235.30QMZ9qq051754@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: f31dc54deed4 - stable/13 - bhyve: Fix a global buffer overread in the PCI hda device model. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f31dc54deed4bfc2779a991758033c36a9bf6fd1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f31dc54deed4bfc2779a991758033c36a9bf6fd1 commit f31dc54deed4bfc2779a991758033c36a9bf6fd1 Author: John Baldwin AuthorDate: 2023-01-20 17:57:45 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:28:56 +0000 bhyve: Fix a global buffer overread in the PCI hda device model. hda_write did not validate the relative register offset before using it as an index into the hda_set_reg_table array to lookup a function pointer to execute after updating the register's value. PR: 264435 Reported by: Robert Morris Reviewed by: corvink, markj, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38127 (cherry picked from commit bfe8e339eb77910c2eb739b45aaa936148b33897) --- usr.sbin/bhyve/pci_hda.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 9b0d4bd02ba0..bb8fba1a54bb 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -30,6 +30,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include "pci_hda.h" @@ -51,8 +52,6 @@ __FBSDID("$FreeBSD$"); #define HDA_CODEC_MAX 0x0f #define HDA_LAST_OFFSET \ (0x2084 + ((HDA_ISS_NO) * 0x20) + ((HDA_OSS_NO) * 0x20)) -#define HDA_SET_REG_TABLE_SZ \ - (0x80 + ((HDA_ISS_NO) * 0x20) + ((HDA_OSS_NO) * 0x20)) #define HDA_CORB_ENTRY_LEN 0x04 #define HDA_RIRB_ENTRY_LEN 0x08 #define HDA_BDL_ENTRY_LEN 0x10 @@ -246,8 +245,6 @@ static const hda_set_reg_handler hda_set_reg_table[] = { HDAC_OSTREAM(1, HDA_ISS_NO, HDA_OSS_NO) HDAC_OSTREAM(2, HDA_ISS_NO, HDA_OSS_NO) HDAC_OSTREAM(3, HDA_ISS_NO, HDA_OSS_NO) - - [HDA_SET_REG_TABLE_SZ] = NULL, }; static const uint16_t hda_corb_sizes[] = { @@ -714,7 +711,10 @@ hda_write(struct hda_softc *sc, uint32_t offset, uint8_t size, uint32_t value) uint32_t old = hda_get_reg_by_offset(sc, offset); uint32_t masks[] = {0x00000000, 0x000000ff, 0x0000ffff, 0x00ffffff, 0xffffffff}; - hda_set_reg_handler set_reg_handler = hda_set_reg_table[offset]; + hda_set_reg_handler set_reg_handler = NULL; + + if (offset < nitems(hda_set_reg_table)) + set_reg_handler = hda_set_reg_table[offset]; hda_set_field_by_offset(sc, offset, masks[size], value); From nobody Thu Jan 26 22:35:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWg3Fchz3cCdp; Thu, 26 Jan 2023 22:35: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 4P2wWg1RSqz4Dyh; Thu, 26 Jan 2023 22:35:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y81M9nMBZFEBeUHA/sBruBIh7N9JHMiqpL6jREYjCt8=; b=PPXW0IPa7dLeyEZqMmJa944ZGUXBR01K988gYWAlTidxRM0ukB1YkCRk8dj8JiyL0WcW4x KKUG9ut6WVSRzRetiwysptNIa9bm98skMooVjhusfsMg1aco02tZRicrmONatO3XPFIs0Z YafdyeMj+GSzCOjHlBSHU+FvN+uH3hSXF8zA8XHLKL4LFX3gfz6ooMGaq4RklheZ1foohO yNGK0Q9FVlbIS1FnTN6lS3UQo7dvUXFcim/j9J+Mu7FlIowX2kwXc2TEG70dfntjmdwWml uoZO071PNfxP+XRBAASJU2+76vNJqQ1IusFhemKma0eKj5C5TNIr4SNT1hENlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y81M9nMBZFEBeUHA/sBruBIh7N9JHMiqpL6jREYjCt8=; b=bmDPPjdgHxHP/Kz5iY9OOCBYptGB+UTIs5CEkcvFey6c6efAMTbbdRpa2v8IHW8AdUdDu5 apmtZxbrZ9nKscj9Dsau1yKxOafnBkSPBs1uHzumwEkizijJBAI0umVmYDPgeZQUWGzqpk cOM4jcok2IQucH4JqQ6zFkZ3XRqKLp6Y7LTW7oeaqQVqmQF85+0KY6QHWa2uW7KbyVue2Q 7GB8KPxOEwlMix/FOmBiV8dKqKigIBnxUqOTxW3OlfUZyLsv3Dwjepuh1owCR//BX/rPMb 4takQKgDEWl0kFO3FUoOlKyi0zULR1Ux/JzfthRhxlKkhy1nIXRMB4HQIcCepA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772511; a=rsa-sha256; cv=none; b=NphoNuK4UoBRVN7+2fiKevccn8qJIJvLaHnDL7L3iBK/PXR7EdisjZYMluJ1fXb3nG5qXu SC6aopkUhubOv2TnF51EdY0wtePc4BcOZRr2XvKF/XXne38VgYqEdG1LXuXH9NBNJet779 lSenRtGwyhCTGpXLNlTIoCv1et+8Yqp0XjiC32sDnDL7QC3GDLiVNtQKvSoNfaI87pDVib felW0GnKCCj7/6OFK3GZl5w/LulcELP8rtzFTlBcPqoLjt7GmeXgTUd+xHI78RbobJSAZ2 CEviJM23nphXTqqufwqgATNSPYjSRaQv44wbyq1kQ7am+RiCLNPWu6i9Uaq1Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWg0VTnzm7x; Thu, 26 Jan 2023 22:35:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZA7R051779; Thu, 26 Jan 2023 22:35:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZAvE051778; Thu, 26 Jan 2023 22:35:10 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:10 GMT Message-Id: <202301262235.30QMZAvE051778@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: abdc47cd6969 - stable/13 - bhyve: Fix a buffer overread in the PCI hda device model. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: abdc47cd6969a649ee7b4bec0efe0d51bc95dfdb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=abdc47cd6969a649ee7b4bec0efe0d51bc95dfdb commit abdc47cd6969a649ee7b4bec0efe0d51bc95dfdb Author: John Baldwin AuthorDate: 2023-01-20 17:58:38 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:29:06 +0000 bhyve: Fix a buffer overread in the PCI hda device model. The sc->codecs array contains HDA_CODEC_MAX (15) entries. The guest-supplied cad field in the verb provided to hda_send_command is a 4-bit field that was used as an index into sc->codecs without any bounds checking. The highest value (15) would overflow the array. Other uses of sc->codecs in the device model used sc->codecs_no to determine which array indices have been initialized, so use a similar check to reject requests for uninitialized or invalid cad indices in hda_send_command. PR: 264582 Reported by: Robert Morris Reviewed by: corvink, markj, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38128 (cherry picked from commit cf57f20edcf9c75f0f9f1ac1c44729184970b9d9) --- usr.sbin/bhyve/pci_hda.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index bb8fba1a54bb..9e9d7ab5a626 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -475,12 +475,14 @@ hda_send_command(struct hda_softc *sc, uint32_t verb) struct hda_codec_class *codec = NULL; uint8_t cad = (verb >> HDA_CMD_CAD_SHIFT) & 0x0f; - hci = sc->codecs[cad]; - if (!hci) + if (cad >= sc->codecs_no) return (-1); DPRINTF("cad: 0x%x verb: 0x%x", cad, verb); + hci = sc->codecs[cad]; + assert(hci); + codec = hci->codec; assert(codec); From nobody Thu Jan 26 22:35:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWh3Vm5z3cCdr; Thu, 26 Jan 2023 22:35: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 4P2wWh2XdFz4Dwh; Thu, 26 Jan 2023 22:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DEFN9aSe42U4LDvDh0CDmQPEOTLnwt+z3YO/xH8s/6E=; b=EANMzPAZGiBPQL29soetb9tE8HVsanIuEWug0q9PvQKHl0nl8jItp0I25W2OBpQTjx7kAf 3EwSucDNjKgKB4J6Ee7AjrVlvgUHOeJf49KGozGbn5YaqwW/xQ8TKlZjrn7hH+kNBy5WC1 OmC/Fmzic0I1Fu8k0gGe1t9l+t71ERxHyGqCTAHrDUK984QnlHdZzwq8cumW21Cn/p16ew rMonMvx8H5qlRKNn1bmD9mZjE77zRyhvB53maRI4hUEoX6hPGN0Zgbqu5/UWD6xBLuhaMN be5eKV0c5cJQy6yPXskjysTeSizKDstLIHvQF9ewArheToeUat+QVoa1mV5W4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DEFN9aSe42U4LDvDh0CDmQPEOTLnwt+z3YO/xH8s/6E=; b=kG5PPhfVnlzRkbmUgWa3n1JPozcOQTXbZYCwvODbP9AOUWo5/necVsQJNz2X4GxeKIcQum q2dcimJgjMe/ua0C0vfC6w+Tv48qfDLOckQViuVdg4wF2rOUZSd2E4llLSeUdx8vuiKPcd Zo/wlFuREFwkhh11/x6h805PasJ2pHNRsW4BYvWLMTEjs1wVr1XONd0+TLY7UAFgCgIb+L xkmkN4l0u3SqHYVAyRivmFTSXWPV1FMQZl1pyDxEqyFx7Qg3DSIA7bjmXDu09v2kKQIwM4 F7exaR9ABT4fuibsD3sz5he5lf6We6jZYaDrQpFHXxiaqwvC5Zki1xNcKTzHhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772512; a=rsa-sha256; cv=none; b=sODDX3gHs6NhU1SHVGDHvH5TzDE3u4ph6KoWakVlW1ix3RQRJBbw7caQtacdQkF+k8Fr0k RfgjnH3g8RQxf0+WGIt82OFgOPe1aIF/rbOya/KNNiXIJh2Gh/l3wwvS8a01p48ZYKvZuh d3l7BAL/+zy66Zf7BquYbtGa2eXvq02ZBF//LUgPAOED8c4rdoctxNyqpkzEvJu0cgB/GW kHFrEH5DLvvHk9n8kk7VUJFiliVv5G7Asug11tQF4tcf0KAu+qaK+GT1s2RLQWpbYWS+No 6mcyqAKIsdlcpqVyAVyswiE61Shu5qbVXaOq6Zzix/WxlVhk2vKKWBZSg5FZug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWh1X6vzmKB; Thu, 26 Jan 2023 22:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZCDB051804; Thu, 26 Jan 2023 22:35:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZC13051803; Thu, 26 Jan 2023 22:35:12 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:12 GMT Message-Id: <202301262235.30QMZC13051803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b0bd185dc3f0 - stable/13 - bhyveload: open guest boot disk image O_RDWR List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b0bd185dc3f0e90d4f9d3cd6c6bb9487af282474 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b0bd185dc3f0e90d4f9d3cd6c6bb9487af282474 commit b0bd185dc3f0e90d4f9d3cd6c6bb9487af282474 Author: Robert Wing AuthorDate: 2022-12-05 17:22:45 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:29:36 +0000 bhyveload: open guest boot disk image O_RDWR When a boot environment has been booted via the bootonce feature, userboot clears the bootonce value from an nvlist but fails to write the updated nvlist back to disk. The failure occurs because bhyveload opens the guest boot disk image O_RDONLY, fix this by opening it O_RDWR. Reviewed by: imp, markj, jhb Differential Revision: https://reviews.freebsd.org/D37274 (cherry picked from commit 5a023bd2a53a7279b126ae6bf949560c6342b57a) --- usr.sbin/bhyveload/bhyveload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index db7d995f2466..1a24b5f0044a 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -690,7 +690,7 @@ disk_open(char *path) if (ndisks >= NDISKS) return (ERANGE); - fd = open(path, O_RDONLY); + fd = open(path, O_RDWR); if (fd < 0) return (errno); From nobody Thu Jan 26 22:35:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2wWj4FYKz3cCVm; Thu, 26 Jan 2023 22: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 4P2wWj3Wjgz4F83; Thu, 26 Jan 2023 22: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=1674772513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=glo7XQKSKK55IRWg/wH410rinwjdj/JMGIhVJFwE8d8=; b=j1LxGVb7XzL88oJOMVMRHNYUwEhXwWNrGtimoetY4PXwu1gL8/Jl3fwUSqM4uIIo1alvxQ bI12O05xxuDpkANVh2vNc2k9GOd6HXQz2LUxPFk4z+23to8o8izg7jU3HUkAwwVAXM9081 9/qYMJs2uIbrUU48cTXdH1xWD96oP1e3FsTBtXUOluaWLHCr3uOUfuo5J60NEZURbQvSwB mxxJVM2jqTta4ZYF+v3hqBlxn6Ac2tTMqIJh/B0zQtmDDo5okg0vShs+zqzegh0o5IAecm 3t265vfe9dNXLs8kCtDAVl0V1BhhwyznLh8bkwowo9Wbf813oEHNwGW4yqhWRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674772513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=glo7XQKSKK55IRWg/wH410rinwjdj/JMGIhVJFwE8d8=; b=I0tIIc5vGx0DReEtm7L4NYNZZgdgM1jZ8RBvSdNGoTsvZ+YiDb4uUjjEQy89Kp4UssJwIO V6VgMnNuJOEVIaeIe77ilxGSQB/LBMLU+17FCDQIzhlFXD3CsGQnYhTaRdPtUlR24I0BiP nAB0bl1ODoafqxSL2OKlVGvQkcwS1k4BI9uvHJJPAexHPrBkCVnJm5i5jLWsoaSJl67eFv S8kYqvQWB1yl/XnsrZqUBmkKqhVrzE/ydhgpROnZE1dU3JHH/QB+TJDgpJTYVnkWQZx8y0 nDiRvwr6gp//tWiojXMdwJjpR1hKKtNHFDX9nPLxQJxkcoXLLQPZO3gTeZwqzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674772513; a=rsa-sha256; cv=none; b=Wo5PpMsHSy/vDbKNy1VGJ4WFbqTQbCUUb5uVLe11Oe8zEY4xvgAGfwXSeb0yq1K0eFMTEF BYw/ESmnI4vTK89CIdGmeAt/Q0+BHdyZIzeKSAdvZV8vSEpz5/E9+Hsxz9pgURFf4v7Vhd ShhBroQUvuj0q8hvtV85QK3Y0iXqlISoALNthGIKjqtAQ9nDRIqVhZcRfKL2JUtdt+OIIN 91LUjxD+GsiDCd39mrdQWMg+K9weMrBGzj5bonfRaDX9gkEWxNE36qLSzNRi1eQyDuhAcF JIewjEgrHVMR8QgxV8gcZq7xQhe3ZkAW1Wy5wX48IDORbCvkyOCU6M+RHHJbSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2wWj2ZfFzmdP; Thu, 26 Jan 2023 22:35:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMZD8d051828; Thu, 26 Jan 2023 22:35:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMZDH5051827; Thu, 26 Jan 2023 22:35:13 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:35:13 GMT Message-Id: <202301262235.30QMZDH5051827@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: df8c42f5ad12 - stable/13 - bhyve: Mark pci_de_vinput as const. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: df8c42f5ad12f7d7f772509c987c69cf88c09f7c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=df8c42f5ad12f7d7f772509c987c69cf88c09f7c commit df8c42f5ad12f7d7f772509c987c69cf88c09f7c Author: John Baldwin AuthorDate: 2023-01-26 22:31:57 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:31:57 +0000 bhyve: Mark pci_de_vinput as const. I missed this in the prior fixup commit that added static. Fixes: 03851ae8cd4d bhyve: Mark pci_de_vinput as static. --- usr.sbin/bhyve/pci_virtio_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_virtio_input.c b/usr.sbin/bhyve/pci_virtio_input.c index 503121d00422..00ec86a70db0 100644 --- a/usr.sbin/bhyve/pci_virtio_input.c +++ b/usr.sbin/bhyve/pci_virtio_input.c @@ -769,7 +769,7 @@ failed: return (-1); } -static struct pci_devemu pci_de_vinput = { +static const struct pci_devemu pci_de_vinput = { .pe_emu = "virtio-input", .pe_init = pci_vtinput_init, .pe_legacy_config = pci_vtinput_legacy_config, From nobody Fri Jan 27 09:09:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3Bbj5vw3z3b4sw; Fri, 27 Jan 2023 09:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3Bbj5N8Bz3tK2; Fri, 27 Jan 2023 09:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674810577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spLFuFz/s7l6/Oz9/Khw6TgGLjl4hFumgAaB1XU+/Ys=; b=jwosYbScuTrwaV4vN9+T/BmeXxe8rK9vZsa5fjqouhyPvJZb+g+6LkxvY7TSE8Q4fcvWg4 UvXVqry0pyzz2Jg8h/zmuaCl2AQ7Iqzvr5NYVX+kzY6XrlvBFQLlRioVq0JR5twuiQQDrI HAxclTcm8j5wN7qWalAbmpgtyeFYLYIbQSqyC1cDduem7RkbFaWY/RmjI8Kp945QY5lzsG uTDPFLrgqWLOllY57NRbWOzgdi6aOgquepFzMCSej1R1iiozDHdRv8Rp41oSknOzukDn9Z Ux3XX8YhJu6hZeYIRa+jkFoL7vkRHc3L1MFrgPNJBL8b+SVh0GuwxtLQ5OCP7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674810577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spLFuFz/s7l6/Oz9/Khw6TgGLjl4hFumgAaB1XU+/Ys=; b=VApxpEvX6xZsh+9ifqfnim2834LmcyERH4XNY5nOKfc+wwOHn8OeeDAmIy5BAjXuXYXSem /I4xmlfiohik1c9lORdlcBNRqcPC7Gg/2tSgDvGrq6Qp1tbK75G+vAKLDH9YI9LbfjLwLa rU+LEpBNjLAoqFzziwjchjO6rcitV1/e63wsV3A2DPwOFQbMeln7qSj0FsZefZ2ZOLwhhS GQ4tR+Y/MkIYvT566OJXvsRcfH0Uui1UQ1HXwRdo9LJDpyylFNkhX8CEHnRPSw0ioxK7F6 QvWRIB5EZlVkDYv3kB6v/j5utUKBSD05QjUPhoixKZTLt8BofUNPiUEA8pkv/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674810577; a=rsa-sha256; cv=none; b=nO6Ad3erTUBhV9OxH1eTtIoFj5cTPmMu7MrHmWevk0cTGiygnctaOSHMhUCep/RdEw7gqh q7CMSdekx8vgPeOlZpTIiE1pOcg0mJa1LbYwmWVZqsbX5NzKjlrdyDJ3mMKfJozqf6LqCC vDbuVGxf/kTiz8F42Te2u05P4bLYphDWs5KvGlnJ/5soe8qs5lBEaoqspKtEW7nCFxurlG U2EQWkudjAqNxoY3OPE0kmIzfs12Z6qRPXcM9pcC69L+AwumR10Pzbh4ZiT0ml0AbJq3Zd Bg2YlHajBiYHsQXi5jf1efLdJGrcCMu2vqZUwQuN7Z009F5ZjUDqH7pxyCfTFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3Bbj4LSWz13R5; Fri, 27 Jan 2023 09:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30R99bUu046394; Fri, 27 Jan 2023 09:09:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30R99bnq046393; Fri, 27 Jan 2023 09:09:37 GMT (envelope-from git) Date: Fri, 27 Jan 2023 09:09:37 GMT Message-Id: <202301270909.30R99bnq046393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 84c7aaf0de12 - stable/13 - netlink: add netlink to GENERIC@amd64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 84c7aaf0de12809afc5847c9359eff9fd075f8ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=84c7aaf0de12809afc5847c9359eff9fd075f8ac commit 84c7aaf0de12809afc5847c9359eff9fd075f8ac Author: Alexander V. Chernikov AuthorDate: 2023-01-13 10:11:26 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-27 09:08:16 +0000 netlink: add netlink to GENERIC@amd64 Netlink is a communication protocol defined in RFC 3549. It is async, TLV-based protocol, providing 1-1 and 1-many communications between kernel and userland. Netlink is currently used in Linux kernel to modify, read and subscribe for nearly all networking states. Interface state, addresses, routes, firewall, rules, fibs, etc, are controlled via Netlink. Netlink support was added in D36002. It has got a number of improvements and first customers since then: * net/bird2 got netlink support, enabling route multipath in FreeBSD * netlink-based devd notifications are being worked on ( D37574 ). * linux(4) fully supports and depends on Netlink Enabling Netlink in GENERIC targets two goals. The first one is to provide stability for the third-party userland applications, so they can rely on the fact that netlink always exists since 14.0 and potentially 13.2. Loadable module makes life of the app delepers harder. For example, `net/bird2` can be either build with netlink or rtsock support, but not both. The second goal is to enable gradual conversion of the base userland tools to use netlink(4) interfaces. Converting tools like netstat (D36529), route, ifconfig one-by-one simplifies testing and addressing the feedback. Othewise, switching all base to use netlink at once may be too big of a leap. This change targets amd64, the other architectures will follow soon. Differential Revision: https://reviews.freebsd.org/D37783 (cherry picked from commit 692e19cf519578176d51d4c1001b01b1f355c1de) --- sys/amd64/conf/GENERIC | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 9a02a7127955..41d1e57b7dca 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -31,6 +31,7 @@ options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options NETLINK # netlink(4) support options ROUTE_MPATH # Multipath routing support options FIB_ALGO # Modular fib lookups options TCP_OFFLOAD # TCP offload From nobody Fri Jan 27 09:41:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3CJy0Qmfz3b8yk; Fri, 27 Jan 2023 09:41: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 4P3CJx6yXWz40H4; Fri, 27 Jan 2023 09:41:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674812514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+BsFWMNYiyk6NLnbcq2bWcUpUkGAiDFksMWmencTaAo=; b=JMHjNn+/6ryKRsUHSO/2qinaQtoumggGjrSIy42TBmk3lk5ziGUDg2VAq+U3q5cT7wmgd1 p4Yusnztw85cDs2C9YQaLP+kCZ9KYYPMAbPqfUBT1IJPODYNOqE637kRWx9AWg1fpj+wg3 sK8zdIfAW80EmXnhUzW5t2xOUC1wtWYf6MctJLacxiMuFKOVXJDdj12NKBpx9EFBEsub2U vZXcMq4szbuhTgRG6QnPN+Epp1CgMqzsPSYK/9iLK0/Jds8whq9dxfHN/0m3cVQ7vhMgf5 ViaeLc9wOawLvlb7NmYl9QwCPWRQRDG1cZloDSGYMZWCLoHk3TyCFazqwNOQig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674812514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+BsFWMNYiyk6NLnbcq2bWcUpUkGAiDFksMWmencTaAo=; b=YiftKAwfIGg3l6o3yAWFVMtu1+H/E5gFOg0STHuAqJ+UQujsRrBdGTp4RFZr1LVdUY4G6J WjphJnV5//G0xI2KnsbV6iNyvOC2fDmZML2XK5ddtoRFWkwRkxxL9zPG4qinMXn8HU2Ias cyCbGcY7L6bkD2CoY5XdwtwTskKj+SKfkyV2L+5nbh5BrbUvhMI/dHRejulINLRsTyWe7e jyIWQUwD9HZUOI8+hOxbd4fDRUW+UDOdzgcA2FTVPgCdM+YyP3ZduAK+k33xp5eSKPiNNx 5kxdh6jGo7eTiEal6jxpmuQi4/LLto/iRHHy4diUeGKG3GvT67NAdPckOvjUmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674812514; a=rsa-sha256; cv=none; b=mmgPSH4u55rlwMYe2CGvEN/NHqX7MEauinu1zD7Z9RGLgPVkSuPNE/4OFB/i6JlQtwkMFQ P5gXuGsj8xERqMcN4XSXQ+V/IVhvw2QjpCd4iSpqEhEb5QDIyevwij2TyebFHaAx99qBBs DPBF2hMtQFMY8GjvgQcwT8pzrUBR71fO9+YiMP1febA2xBcS8a7hBg+TZm19dQmAVeZDJV a+AHokEx4hTQfrG7rHSQbvO1XpZWziAhsmFbqvaAJcFZ4RuafPF67HBV/vO3ZsK8lWqB9K FdvINdmiItGltGk21eUT5mNryP4m9mzWEVI5huk2gXjifN3uo2v9ASg5m80NCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3CJx62gvz14Pq; Fri, 27 Jan 2023 09:41:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30R9fruR099317; Fri, 27 Jan 2023 09:41:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30R9friZ099316; Fri, 27 Jan 2023 09:41:53 GMT (envelope-from git) Date: Fri, 27 Jan 2023 09:41:53 GMT Message-Id: <202301270941.30R9friZ099316@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6f996120e374 - stable/13 - ipfw: Add missing 'va' code point name List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6f996120e374ca115fa230ea83ea24642707909a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6f996120e374ca115fa230ea83ea24642707909a commit 6f996120e374ca115fa230ea83ea24642707909a Author: Jose Luis Duran AuthorDate: 2023-01-13 20:19:34 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-27 09:41:26 +0000 ipfw: Add missing 'va' code point name Per RFC 5865, add the 'va' (VOICE-ADMIT, 101100) symbolic name. Reviewed By: melifaro, pauamma Differential Revision: https://reviews.freebsd.org/D37508 MFC after: 2 weeks (cherry picked from commit bdd60b224fa461a5849f60575afdb458613f4ccd) --- sbin/ipfw/ipfw.8 | 2 ++ sbin/ipfw/ipfw2.c | 1 + 2 files changed, 3 insertions(+) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index 5aa9f6eb1804..3c5308b29821 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1180,6 +1180,8 @@ Supported values are: .Pq Dv 100100 , .Cm af43 .Pq Dv 100110 , +.Cm va +.Pq Dv 101100 , .Cm ef .Pq Dv 101110 , .Cm be diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 7d820698a25d..ccd89d3f545c 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -190,6 +190,7 @@ struct _s_x f_ipdscp[] = { { "af42", IPTOS_DSCP_AF42 >> 2 }, /* 100100 */ { "af43", IPTOS_DSCP_AF43 >> 2 }, /* 100110 */ { "be", IPTOS_DSCP_CS0 >> 2 }, /* 000000 */ + { "va", IPTOS_DSCP_VA >> 2 }, /* 101100 */ { "ef", IPTOS_DSCP_EF >> 2 }, /* 101110 */ { "cs0", IPTOS_DSCP_CS0 >> 2 }, /* 000000 */ { "cs1", IPTOS_DSCP_CS1 >> 2 }, /* 001000 */ From nobody Fri Jan 27 13:59:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1d0nWDz3c1vh; Fri, 27 Jan 2023 13:59: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 4P3K1d08bJz4QCk; Fri, 27 Jan 2023 13:59:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W6mEAFCBlfSr6ywmpjjPX2VJYs4fOvFqLs2tM4KwMi0=; b=UEyK/9R6WKk8AGQGkvalGRW2SqBV7DuK+rydGcV5+xp8DqvvL3LyC9E4qq5OedKDXifkNF LJfHD/nPQqA8s9PyglyGwyB9nhyHRHEJ778syq3nWCN0SUIxKnD9kiQUJdvCRPsnId4CX/ dk5oxmSpvU88C6dL/O3wqRaTEO+Yyd0SStY0OsWOD4nbg+UPJwrDQ25G4B6+V5qlVU9Vsq 9JVZg9kWOPt26joE07Bpf6Fkwa0Gk7U2e7hNljGWpqrGTMtd/Qds1sZ8dBLJLJs5pPiAKu jkzoCGnlGUrh0nOKzXxyUC8GIar8CIgdWdE/0xIm8aJ2Jr2io2wBUJKKq9GQSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W6mEAFCBlfSr6ywmpjjPX2VJYs4fOvFqLs2tM4KwMi0=; b=A9qpOJfPFYn2zCq0N0EL+wHh0WBO7GGmBxv+oYAJnpPXmwbL9PtrMV6OcG4Ng4Ivzu8xwF 4wRr4ovsf8o0iyPWdo6vqUY+bFJ91cCR7CBS1GpQmdwCrMhOuJ0pfgZcRM6uBmFeU/rGD1 AE3LFg2L+rJ/uJoohcvtBn48TyXAXdyPt5ceQQjR5t1DBzUmVbGUQsecwJeN/jnVhjORwH ist/L0/aklmx1RimCxc8JU1QGI7wppqLqpBTKs+P2rEDulgnEEji2o1QtUX3dXG63kpktJ ycnC/S0eF8CpQeOXJaclRc1I49ccvHFS7NGedfyMBrFceCpBkIPoYFE4prw3vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827941; a=rsa-sha256; cv=none; b=cfk1K5UR80U8rglBsw9j2K00fnoBwkuIBxIz4LOHHa/C4JrVykpRdRvsQcHxOp/1HtE4Sl 4K5oMzOL3GdqzrQjRO3dyieILNigZWVTF57gadVuZXCx+D9lUqAGnoNWHh/NlGUG1y0hyZ zOGKx4VhZfFRpLdGGn0YGNk+9QP7NCD1k0xogb0x8gfCbzE3LOiAa9rdpPh6X+3Z8057Hf kfVOqyGRwij1ZlBEqO0HZe4XfRkPsMXdDuQQT9AUoUBmk2Yup8Mik3b5mizFpj29EsO6kH ZEEyV8LVyM21eouC0seVCdzwcDN9iP6i3oqm/lHpkjOmu+x0tSzZ2DsIUl7CUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1c6Cnbz1B6b; Fri, 27 Jan 2023 13:59:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx0ac057760; Fri, 27 Jan 2023 13:59:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx0EI057759; Fri, 27 Jan 2023 13:59:00 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:00 GMT Message-Id: <202301271359.30RDx0EI057759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: 44180bc8e6be - stable/13 - ena: Remove unused devclass argument to DRIVER_MODULE. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 44180bc8e6be1452bec0a53ed466206581416307 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=44180bc8e6be1452bec0a53ed466206581416307 commit 44180bc8e6be1452bec0a53ed466206581416307 Author: John Baldwin AuthorDate: 2022-05-09 19:22:01 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 11:55:33 +0000 ena: Remove unused devclass argument to DRIVER_MODULE. (cherry picked from commit 1dc1476cac52a65c6a25e786f90ccc7529b6a7de) --- sys/dev/ena/ena.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 86ac5941faad..c091091fed20 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3925,8 +3925,7 @@ static driver_t ena_driver = { sizeof(struct ena_adapter), }; -devclass_t ena_devclass; -DRIVER_MODULE(ena, pci, ena_driver, ena_devclass, 0, 0); +DRIVER_MODULE(ena, pci, ena_driver, 0, 0); MODULE_PNP_INFO("U16:vendor;U16:device", pci, ena, ena_vendor_info_array, nitems(ena_vendor_info_array) - 1); MODULE_DEPEND(ena, pci, 1, 1, 1); From nobody Fri Jan 27 13:59:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1f15bmz3c1qS; Fri, 27 Jan 2023 13:59: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 4P3K1f0ZKKz4Q68; Fri, 27 Jan 2023 13:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vwg8xGvNMXeEeoChYQJcAFwCAw8vtC9tvXtjbwg12M4=; b=RuQUIp3WdTG3YRLpVtFzOwGmifsB4Uh4h/SBTHTxIrZn/tR6KIfPPSBIbJgQ5k8aLkxSDF LWVbcPCMInyaP4ENfgcc45GvIQEY0tOjG6SH5sKXKgrLZbyE4WTvPtK7WmE7qp6Rlk8Mg/ dSxOLQMgyiRjiLYJch4hECHOCDzT0Kbm3iwmTqLjAriqxtQGM3Enix3PlLmlgd67BByJ8u o+65DGrplDud1H1ikwmJd+c+xpkfaE8ZM+bW3RaCl+2s0oP3fwdgMkKZXn3CjCn+FUxJfZ KqJPo/XUhLAwakBroTwdlE7t72O0+R21qBRyfYwliKYjSSooXM2EOXuazarNBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vwg8xGvNMXeEeoChYQJcAFwCAw8vtC9tvXtjbwg12M4=; b=kdhWrlRMXYFrNqWOkAIvcqGfKr5E1/eed4rSnjQuCpUxO2oowkvbcQpf8+O2uK/nosW3ve R/8AWbrin/5t/EyXrohrslshrhP4SIZPuzAoMc8VDxxTQGlrON4F8cD44jXsotp+wSLGfv KaxK8FY8cfuYddLNhPvsgB07tc/UD81WDPrp+csUMrImLVUmpVda98435hSXP3feVWgOzo Hwp2ESnAEEf67VeBp8SLtbqDD8H+SpVPiD7LxzPJAhR2r3N1AwuClX9b8MYjqpL1rgqMom 2m9qwExSK/cOxKPgci/imL5uW7MKEcBlSPRq8eUfORrzxE7jVOCkpo63rdZVYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827942; a=rsa-sha256; cv=none; b=mtWaLLH6AOZ8+upn+isNGoOZHWKDmWaOhWv1kQeqVaDKck9by3H0u6xdt/4dl3kXd6MtnY A7xDMdArVNJdIGFf6LcUzpf52ws6ePDJUc5xYtFqgMH+9KXtPkrbQVl40AQVFCNtUkxipq kcBPhtwxUflPyQjX9HGamE8TuqoF1OKoUERdR2/Kg+3dUylzkwbIPW5uYx1eugvsWXHqJa HaKvyeSNFwJRHllFvd0yIX1lH9ANieXpuiPYISfcIfnYZ9myWAMez9J0YEE19P60JFt5bX xBWe4yRgbPrq603aTEcGXXWxRCE1RYooWyiDuV5fvyzgp2tKESIc7xEFKNxHbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1d6mvcz19j3; Fri, 27 Jan 2023 13:59:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx1mD057784; Fri, 27 Jan 2023 13:59:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx1YU057783; Fri, 27 Jan 2023 13:59:01 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:01 GMT Message-Id: <202301271359.30RDx1YU057783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: 201f6507c0f5 - stable/13 - ena: Remove unused variable. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 201f6507c0f53d8e1b25a4b9f76e1818b6f34da6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=201f6507c0f53d8e1b25a4b9f76e1818b6f34da6 commit 201f6507c0f53d8e1b25a4b9f76e1818b6f34da6 Author: John Baldwin AuthorDate: 2022-04-06 23:45:28 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 12:05:54 +0000 ena: Remove unused variable. (cherry picked from commit 4dab99b936920cf0c8f3fcf63754985906714a40) --- sys/dev/ena/ena_netmap.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 228db0cb31ab..e1244ffc8a44 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -503,10 +503,8 @@ ena_netmap_copy_data(struct netmap_adapter *na, struct netmap_slot *slots, { struct netmap_slot *nm_slot; void *slot_vaddr; - uint16_t packet_size; uint16_t data_amount; - packet_size = 0; do { nm_slot = &slots[slot_index]; slot_vaddr = NMB(na, nm_slot); From nobody Fri Jan 27 13:59:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1g2SpJz3c1yC; Fri, 27 Jan 2023 13:59: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 4P3K1g1mh2z4PvJ; Fri, 27 Jan 2023 13:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cRz+XV4MKkooOlBvZgOH6AlfzAmQvWaiZN8IrPw4zsc=; b=jpOP5vVR7yGLJ0rHCzhM5arAyQ3GN9s07nJQp1ZjTa96Y5r4ZtPLVPlMr/IXPpMHlEePAH R7TaOJJFXAw+pLHYLwaAfJeF7vlGabdQ13hSwMRTWGxvwuhzbtNQCDgKJVcdQzLNd/h+uD nsSjotuFXP3ZgN05XDluPShzVju+5YGAVJSZK8cypdtQkc3ibBnAb7nMAZ1sXKYDf0lTYc n4z002T41kLn5xmPORN7KiY5vcrlgTnRqjufbzt0nGaj3ZJ3Ck/DT6kiN1jb9Wm0CeOi8L S6YDlT1UCRqOvL36Q3Ea7OzChhq2MViEZRTg2V9GDvQ2jRitRKtW33N5JWAFBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cRz+XV4MKkooOlBvZgOH6AlfzAmQvWaiZN8IrPw4zsc=; b=AZxvaVkJ96IbQ9wwSVdnqtCmwmKoxU9tpuYgOT8FTta6GZa4Hh1xbROfD0i/76DA8skbDD QZ7C+/QfpWx5ehNR3wz4XJJ1FfsDLIktp1+cVxHs7ZFpXHlNk9tiw/N47KSYPV0UXtyxmp duTgYPVUdAHdc1yrwqo3pVxscJWPcpsCgksX1az96pOFTjrj8LbB0UPjsr/eqH3xoJzara nRNU5j3XNpBlWAodjp5T10qFgh2XFhYpa6dqKXzIJ2n7rqY/4yX0xbHjl00HhRl9ROu3PW gIKh+6zAAK6TVZRtnbGCo0RtMtvxe3+11/IA6Yldh4Q7O7ZmBAIcck3bbmRQwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827943; a=rsa-sha256; cv=none; b=LXuA5FAWM4BtSqY8adWNDphKHfr4DJXJMtUOYv8PSw5TUJPORUhgIcmbutZvMnq7tOA3gq /TThn/cedW7+A5gQ8EN+3v1Qjzrh47Kxi//3172/BlMPa9bpNET3yZ1HE5jRLfa4+SR/Yl HaCeCWCUWAvqKC/gzyB3mrHbgxx/LDbUwkId4BdNFE9M/DYOG6Gyz3DuEwX/IKm8/awufn sTbEvXOFabAIwoAoFkfItKdGCPW9ZkhNKneA9HF1gBA9J7BXbo9kl0Z0KvccqjuU8i1g8P SJGpATFGq+OUc0T6xTshg/j4oNFFyfICUo+JTQYMVJCC8wNGw7FrusEfbn53HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1g0sMqz19j4; Fri, 27 Jan 2023 13:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx3Sp057811; Fri, 27 Jan 2023 13:59:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx3QN057810; Fri, 27 Jan 2023 13:59:03 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:03 GMT Message-Id: <202301271359.30RDx3QN057810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: 761d30c8d07e - stable/13 - ena: Remove write only variables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 761d30c8d07edcbe1567f4246d92597f3b5fdbf9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=761d30c8d07edcbe1567f4246d92597f3b5fdbf9 commit 761d30c8d07edcbe1567f4246d92597f3b5fdbf9 Author: Warner Losh AuthorDate: 2022-04-06 01:58:03 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 12:06:58 +0000 ena: Remove write only variables Sponsored by: Netflix (cherry picked from commit 094b2a2379c1c92f134fac22be78517c71470ca6) --- sys/dev/ena/ena_sysctl.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 4691fdc33ebf..46a759ba8d6c 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -467,11 +467,9 @@ ena_sysctl_add_rss(struct ena_adapter *adapter) void ena_sysctl_update_queue_node_nb(struct ena_adapter *adapter, int old, int new) { - device_t dev; struct sysctl_oid *oid; int min, max, i; - dev = adapter->pdev; min = MIN(old, new); max = MIN(MAX(old, new), adapter->max_num_io_queues); @@ -816,7 +814,6 @@ ena_sysctl_rss_indir_table(SYSCTL_HANDLER_ARGS) { int num_queues, error; struct ena_adapter *adapter = arg1; - struct ena_com_dev *ena_dev; struct ena_indir *indir; char *msg, *buf, *endp; uint32_t idx, value; @@ -832,7 +829,6 @@ ena_sysctl_rss_indir_table(SYSCTL_HANDLER_ARGS) goto unlock; } - ena_dev = adapter->ena_dev; indir = adapter->rss_indir; msg = indir->sysctl_buf; From nobody Fri Jan 27 13:59:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1h5WJvz3c20l; Fri, 27 Jan 2023 13:59: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 4P3K1h2ttxz4QKY; Fri, 27 Jan 2023 13:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZqgovIH6t4BJ+lvpLrPbueAIaulfOnqYFFCOQomC90E=; b=l9GSuApNmhE+XQNCm4xXBD1aVBFtCPiC/4/efz9VWX3pdMl4c+rWPia1kbopSnhzoE98Gj E/ZdZnDRrTGwiBqT69GczuzT+iG2MDtGWlsCg7FQwh6zfq+kBfOuBV5dy8zGAppuYtD6iU 2S4P2kv/GdCsfJKPzODz75QJlju2zMectoIpUjJCUJNbczpVb+P2xj87JS2E3iwBuUINxu MMPKZht/QLXhuAGAQJhcmRCRpYypc5oU4tZsKUyr0JP9ULGPtMEyI+dKXWIHlyBJ/ewWqH c/0Z6lBQ7RRJfYzgFGeALKtVxuvQ0TLHcZ8sqzE09XjMrRDyO5SyqyxkuiYqAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZqgovIH6t4BJ+lvpLrPbueAIaulfOnqYFFCOQomC90E=; b=hF+bOsoGumT60dYO1DT2NlFcaQ6V+etEiAVITVEOEOu6arl+wZridOz8rW0ie8AC/SaSM6 +ChekFLeQrznZgNcfFqkAEDv25IHG/fTNNjq1Rc8uGd//Or2jjyJC1AWgpXhQ+cA/lzH4Y k27MoV+lidduS4WuEyrCpjyykbpiETBt9WZH7U/CjzXyexGXTmpVkoqa3w78BomgzrAK29 E1I5BqOKurTLHLNz2AMftdzZ2l9nBbBaJXHzqNzdug0u6fzTv4cNUeD3+BSD9HjMtu3ljN izvtT6GUKyaaxMCnRGJx4joo+OJ8InS2R+wnZ8lX+qz22m5bbPbovil2r9fbTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827944; a=rsa-sha256; cv=none; b=cu9h0NTmX1ElIHOtnalMqBW76BQR+sDSzF6EXz2rTWw1r9K8sy2OHUbojSQpQMw0QGInrl vgjE+N/E/5nPkAemlHzP3Hwf7uXIiZFoapT+L06Vl4tcYP52mD3WHZh5wpCcJ0w4eKOIqJ GxXjmXVmkzF6FE0iHTSjRWX6SUUsAAiJhUB7LfUxfrcLHEQLDzrzwYc9axXHpPHwBc3/ZR O5t6m2LmPROt/SFXkdH43YbQTXve3KYElA6F7A3Cbj7TLAci5lFItawkUgydx1gXwH6ort l/HYhD+5VnrMI0dYq80GFRu8jA6AxcrZkIoZWuCXXLofWFixA92XNtA7iHZNww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1h1ZQBz1BJJ; Fri, 27 Jan 2023 13:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx42R057835; Fri, 27 Jan 2023 13:59:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx4hd057834; Fri, 27 Jan 2023 13:59:04 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:04 GMT Message-Id: <202301271359.30RDx4hd057834@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: 35797fe2aeb6 - stable/13 - ena: Re-Enable per-packet missing tx completion print List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 35797fe2aeb638e684e8e354dba36683157f8058 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=35797fe2aeb638e684e8e354dba36683157f8058 commit 35797fe2aeb638e684e8e354dba36683157f8058 Author: Arthur Kiyanovski AuthorDate: 2022-12-19 13:56:44 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 12:08:48 +0000 ena: Re-Enable per-packet missing tx completion print Commit [1] first added the ena_tx_buffer.print_once member, so that a message about a missing tx completion is printed only once per packet (and not every second when the watchdog runs). In this commit print_once is initialized to true, and is set back to false after detecting a missing tx completion and printing a warning about it to dmesg. Commit [2] incorrectly reverses the values assigned to print_once. The variable is initialized to be true but is checked to be false when a missing tx completion is detected. This is never true, and therefore the warning print for each missing tx completion is never printed since this commit. Commit [3] added time passed since last TX cleanup to the missing tx completions per-packet print. However, due to the issue in commit [2], this time is never printed. This commit reverses back the values assigned to ena_tx_buffer.print_once erroneously by commit [2], bringing back to life the missing tx completion per-packet print. Also add a space after "." in the missing tx completion print. [1] - 9b8d05b8ac78 ("Add support for Amazon Elastic Network Adapter (ENA) NIC") [2] - 74dba3ad7851 ("Split function checking for missing TX completion in ENA driver") [3] - d8aba82b5ca7 ("ena: Store ticks of last Tx cleanup") Fixes: 74dba3ad7851 ("Split function checking for missing TX completion in ENA driver") Fixes: d8aba82b5ca7 ("ena: Store ticks of last Tx cleanup") MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit f01b2cd98e93ef5ac3698b97bbaa45ac9c50fe5d) --- sys/dev/ena/ena.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index c091091fed20..1def02978627 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3019,19 +3019,19 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, /* Check again if packet is still waiting */ if (unlikely(time_offset > adapter->missing_tx_timeout)) { - if (!tx_buf->print_once) { + if (tx_buf->print_once) { time_since_last_cleanup = TICKS_2_USEC(ticks - tx_ring->tx_last_cleanup_ticks); missing_tx_comp_to = sbttoms( adapter->missing_tx_timeout); ena_log(pdev, WARN, - "Found a Tx that wasn't completed on time, qid %d, index %d." + "Found a Tx that wasn't completed on time, qid %d, index %d. " "%d usecs have passed since last cleanup. Missing Tx timeout value %d msecs.\n", tx_ring->qid, i, time_since_last_cleanup, missing_tx_comp_to); } - tx_buf->print_once = true; + tx_buf->print_once = false; missed_tx++; } } From nobody Fri Jan 27 13:59:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1j48Ymz3c1rh; Fri, 27 Jan 2023 13:59: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 4P3K1j3N7pz4QSm; Fri, 27 Jan 2023 13:59:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uRPIYq8VOxyrksuUG8sBOsX3TYol3HQoY19DyRDphRw=; b=WO4s8Nt+++x9bHAwHJgLKYuqsOsSU0QJKgdN4AfcMrn9z3RIVH/T0SuG0Y4MrBTXqmjGqb DYjV1ye7I8I5xWKd+zIfqjaTmi3bViFMRYrO1WjmnRaY+v2KZUvTasnUALt/l4vJoKb+QC VonZs7SlGFGqRtY5jAth3GfTz5esSlGJwks15hDKUsaD50aEKUQuWbP7ubC43+Irgxhq2V Pb0Qht/zNzBIyNZ+1WZtSHdFBDKIjDjhxAn1b0uwLGSRZsbDH26u70+TxZy7lerGmbCmO2 qd+lCm16AN6vugxwxKdLE446uCw9pKwu5FZmmwJ/KuUdCp/XHBOtBM3BleZaIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uRPIYq8VOxyrksuUG8sBOsX3TYol3HQoY19DyRDphRw=; b=lpz3Yjim4x9tplgh7C+8fD+3DyFDBvS9tuwi3B0mUlK0yB68NHFukKUdtE/fufnPETdAJT Y+yqMqJSHQyhlJMPRZWnCYFe0VifRobKSIlWRQJutsfh67CCZ6R/udpJ5Kh3bTEIR6kIxf 3PgG6e4gPEMgArRBftovSKMjXEFBR8uf9ZUnUTCu4wzQ4L9gajvxl41uWclinsAT/4wbdu evkLlwooYTIM/lst97dS+e4ZOJxyykzWhPlsd7DVOTdP0UlX4TTNHiRlYZ/xlmVIlNtOAu BHShtJ1+KLqPFnGzVm1K4w9VxWlNq+qSeSbimxxYqizt+oopfNvhNnJ1wjADSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827945; a=rsa-sha256; cv=none; b=eKoZE5+994uYJFiCQ6K/gS1Cj849yZOigObpb5dTtpoXGacUKE3zrImZ+6TLuItaapWe2K 48qNqhuncDCUfYyw2/dYquoE7j7ts+F65r0kBebV8+fGoE1F1A0PC/s5yQyNkqP5+/qJNT fx2ISjiwnW7AFfUfNoeTvpeCMNxVS9+Izzw+8SCIq4BBJb1pj7QpjECNwANs4Aka2bnWzr 2Wk0LWMbJ+72Zz6EcrMxsztSttIHxzTZ2ntiaf3IENcjnqbOrsGm0iMo/5WVsZEIRtihYO s6eP7niAEmYvE4cY5iCuiLpjq23vQJxc4jncoJezsjvwIELpR1cDBlokWYSBFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1j2PJQz19nk; Fri, 27 Jan 2023 13:59:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx5B0057861; Fri, 27 Jan 2023 13:59:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx5G5057860; Fri, 27 Jan 2023 13:59:05 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:05 GMT Message-Id: <202301271359.30RDx5G5057860@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: 92761fcc3b40 - stable/13 - ena: Remove timer service re-arm on ena_restore_device failure List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 92761fcc3b406354677f897dedfad9090bbc1bcf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=92761fcc3b406354677f897dedfad9090bbc1bcf commit 92761fcc3b406354677f897dedfad9090bbc1bcf Author: David Arinzon AuthorDate: 2022-12-04 10:37:32 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 12:08:55 +0000 ena: Remove timer service re-arm on ena_restore_device failure In case the reset sequence fails (ena_destroy_device() followed by ena_restore_device() calls) during ena_restore_device(), the driver resources are being freed. After the clean-up, the timer service is re-armed in order to try and re-initialize the driver state. But, such an attempt would fail given that the resources are freed. Moreover, this would actually cause either the system to fail or a panic. When the driver fails in ena_restore_device() procedure, the only recovery is either unloading and loading the driver or instance reboot. This change removes the timer service re-arm in case of failure in ena_restore_device(). MFC after: 2 weeks Sponsored by: Amazon, Inc. Fixes: 78554d0c707c ("ena: start timer service on attach") (cherry picked from commit c4a85b8d684d3db9dc4d3d01d966130e21390529) --- sys/dev/ena/ena.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 1def02978627..4dcbb709c586 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3450,8 +3450,6 @@ err: ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_ONGOING_RESET, adapter); ena_log(dev, ERR, "Reset attempt failed. Can not reset the device\n"); - ENA_TIMER_RESET(adapter); - return (rc); } From nobody Fri Jan 27 13:59:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1k5DYGz3c1jk; Fri, 27 Jan 2023 13:59: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 4P3K1k4VZkz4QJF; Fri, 27 Jan 2023 13:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8CLkhezr9Qfnsb+Pcrydq1Kt1n/I+v03Q9k/7Vz1hw8=; b=rPPQtqlqqGIL0qmsplWHpGe/8GjUmVFVnUVNb95KHo5FXJGlQ9vlnmiXCSMIptWIh5opN2 03kBM/Wy3FIWPAPuhVu2lJrimMjxjP15xV+QaIZ+8nHPLsHsFj5pUaGlFvSOpoZbamIats 2p2YzmvyYxugk6pGmgZHV5R0WVwofB2saYUeDtHmhvg3VRLw2evmAciIvgL5m93uVoSiTz 8blMJVKOc7FNYGK0Cbxpt17zki5voHiVm0qbE8Gv1TEZLrIEbcQaVZnAck1mc1IMlst17n 1iXkDnhlxepInRQnI6q4FjPSkKy09KsdkeGDomZqoPsKwNcUpfqwBQFtmccbeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8CLkhezr9Qfnsb+Pcrydq1Kt1n/I+v03Q9k/7Vz1hw8=; b=pouiM9wSIlnSnPnROB+RSSqu2MyeKnCHVk3IlWRsgOJPSkfSDMv80zrUxGXEsXA4meTBy4 BWg8Ogs73zSqrpUKBXKYDJeIm9+9Nx/4RAIuSJkiBw2zAKl69xgeyqzMo9Ap2lQn9F8nX7 tTtI0n9UIBdvNnYpTLkUmTnI//Dqxx/YNZ6Jf6MGt/fyiBkUzxZ0+zGFtl92KDcBqGfo3d s+ZXDo2hVL52fun0Qdq4Sb20Uv3+7XtQm1iMVAkMd2R7wDS5JEjAWbPgKlMjrJt9Vpi//z 84m9IxevmyhcQwPXn2Q8dctW/DY1Mny7RQpJ+HlU+MwQ0gLe0EaQXPY2Mh3NtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827946; a=rsa-sha256; cv=none; b=iqG/Y/HKwH6mXURKsfctEyknnnW+BA5HXnOyUnmV9D0UfduhhEWAMtOvDkyPaHVij3r6eD AuCdd/wYJttH75XWyyDSKMfKnstuuTKUpzsaialtMU4N4FBvdnnP2niz/4hfiag0uBdv14 HaCTEttE5rXfqZjMifUl6aXITMsX/sYh+bxIDvIKHBkxBJzPfo8E5MKZWl/aeqty9g5ztq NLmn+fPTIiep5/z5Zf5FW9nBOfJgxNPMR7D6dHj2WYEft++WcwpF3Iy/T5edSFwA+EXePX GFRNMzay/ZSDgi2fp5YcqDNpTTSqbXfeQTbEUy9QMqvZh7liFVkCR8EgyMKMjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1k3XKxz1BHZ; Fri, 27 Jan 2023 13:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx6ss057890; Fri, 27 Jan 2023 13:59:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx6wL057889; Fri, 27 Jan 2023 13:59:06 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:06 GMT Message-Id: <202301271359.30RDx6wL057889@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: ff1a2fe6da0e - stable/13 - ena: Switch driver owners from semihalf to amazon in man file List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ff1a2fe6da0eae1479dbf1ffed9f0f330f33891d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=ff1a2fe6da0eae1479dbf1ffed9f0f330f33891d commit ff1a2fe6da0eae1479dbf1ffed9f0f330f33891d Author: Arthur Kiyanovski AuthorDate: 2022-12-13 12:34:08 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 12:09:02 +0000 ena: Switch driver owners from semihalf to amazon in man file 1. Update ena.4 manual file to include amazon owner emails. 2. State that the driver is developed by amazon but leave that it was originally written by Semihalf, similarly to other drivers in the /share/man/ directory of the FreeBSD source code. 3. Advance year in copyright notice to 2022. MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit fb47286c38a5315bdd93389b0547b8ccccdc7327) --- share/man/man4/ena.4 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/share/man/man4/ena.4 b/share/man/man4/ena.4 index 9bc142c458a9..2300d84e86ed 100644 --- a/share/man/man4/ena.4 +++ b/share/man/man4/ena.4 @@ -1,6 +1,6 @@ .\" SPDX-License-Identifier: BSD-2-Clause .\" -.\" Copyright (c) 2015-2020 Amazon.com, Inc. or its affiliates. +.\" Copyright (c) 2015-2022 Amazon.com, Inc. or its affiliates. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -519,10 +519,10 @@ for more details. .Sh SUPPORT If an issue is identified with the released source code with a supported adapter, please email the specific information related to the issue to -.Aq Mt mk@semihalf.com , -.Aq Mt dgr@semihalf.com +.Aq Mt akiyano@amazon.com , +.Aq Mt osamaabb@amazon.com and -.Aq Mt mw@semihalf.com . +.Aq Mt darinzon@amazon.com . .Sh SEE ALSO .Xr netmap 4 , .Xr vlan 4 , @@ -535,5 +535,5 @@ driver first appeared in .Sh AUTHORS The .Nm -driver was written by +driver was developed by Amazon and originally written by .An Semihalf . From nobody Fri Jan 27 13:59:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3K1l60KYz3c1mV; Fri, 27 Jan 2023 13:59: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 4P3K1l5N0tz4QP8; Fri, 27 Jan 2023 13:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yGKz5mRkDKCzN/p4wbofgb5ofIM+Y2iCE01GJQdEskg=; b=Fgs2NHcGutzSFKEBI8sGbwmSzJ8bpAD54dvOVVq8XCcRqo8EfIplqzD6+a/xybXsUw3i7A TakcMM9/K+LqZUNGIzlKBYVA/B9E4xPPuzeGkCyhd7w/hq3DikEDfpQsN1T/D0bi89enXe 9CDHTIfk3TP0JjpEMQwnQxVpWPY3gmd2YXzACAoixO0nSEysQcDIjZo4eIi/fNu0fave// lI/N3Hsz3oXQd8ymvjWD+XPvtAFtTARSZY2jKx1ih27YySJvqf9rLO4IQ1s0Ht6c4CUDmC HaenekIj82t8E8J0u5Jn0NCdQmjmTv8Glx5tDsIqY9mN29fvZFky+zBsfQUnAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674827947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yGKz5mRkDKCzN/p4wbofgb5ofIM+Y2iCE01GJQdEskg=; b=mIvG8fPlZIW0x9NYDq3dbes/Kn9Io4610TT2EN97bkm6oXwwacAteHHWaW2I3dLpbcTNuF /ZOUtOarRSQPyXBnSUcR3qUArX24u/pnLc277hOIu9wpndIs5L7t03wLElJ4jol3feXZmb TcCQLVx0LKpWTrj49HOEkTCTAPuFiMeAXK/vLUfZ5ywyQ+H/Z7hVkoruqUP9vdeV3A8FLZ ji+mRW8m3arxMaGiazFLU9PKxgEV7v+db3D/AkNSikiUss9E9xmkD7QFg9EuBaLwr4Ytx5 CNr+zXxq2tHAj+u/A5+9YovhzO7JYqQuu3u8AY80Y7EsMwm6G4r+b8j6+N3Y6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674827947; a=rsa-sha256; cv=none; b=Hrc8P4ch1KUSzR/RrOTEdYvoNa/oXSPj87hZ4K2rzExI8oa6GzZLjuj0eDJY9ikQ8ryOHJ hJXFm45rtEYiyNbf9jOC59RaEZu+gjS0Q85pSthnZspURAVeIyOYq3fqFeC/hGoIEt4nxG dxqUJah2Lcq0vnZFxnd/2WhfPAS6+b9KZbCarM6IUaP5XNfCjJz7LVCK/BWcwJILZk/UFd WcrRBhuehB63EepnL7vl7lF9A3JydLFk9NnZl//P4CRWL0x6xA6pSBtRUwcmD8GOg96SvS snT80A1Ya3u/atx5zd/wAp03e5r8aeDdhNsrDQVdtxjNsZtiV+JZY0JNLnZzXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3K1l4T6xz1B6c; Fri, 27 Jan 2023 13:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RDx7AZ057916; Fri, 27 Jan 2023 13:59:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RDx7vM057915; Fri, 27 Jan 2023 13:59:07 GMT (envelope-from git) Date: Fri, 27 Jan 2023 13:59:07 GMT Message-Id: <202301271359.30RDx7vM057915@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: a33b0a2ab29e - stable/13 - ena: Update driver version to v2.6.2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a33b0a2ab29e7cc40343f585e307bb657e046b19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=a33b0a2ab29e7cc40343f585e307bb657e046b19 commit a33b0a2ab29e7cc40343f585e307bb657e046b19 Author: Arthur Kiyanovski AuthorDate: 2022-12-13 16:58:25 +0000 Commit: Marcin Wojtas CommitDate: 2023-01-27 12:09:09 +0000 ena: Update driver version to v2.6.2 Bug Fixes: * Remove timer service re-arm on ena_restore_device failure. * Re-Enable per-packet missing tx completion print Minor Changes: * Switch driver owners from Semihalf to Amazon in man file. MFC after: 2 weeks Sponsored by: Amazon, Inc. Pull Request: https://github.com/freebsd/freebsd-src/pull/637 (cherry picked from commit e5de1d8dad25308f3a332f9386e05b851a36c507) --- sys/dev/ena/ena.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 0fdf7751c637..ff33f526ca01 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -41,7 +41,7 @@ #define ENA_DRV_MODULE_VER_MAJOR 2 #define ENA_DRV_MODULE_VER_MINOR 6 -#define ENA_DRV_MODULE_VER_SUBMINOR 1 +#define ENA_DRV_MODULE_VER_SUBMINOR 2 #define ENA_DRV_MODULE_NAME "ena" From nobody Fri Jan 27 15:40:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3MGg5v4hz3b1r5; Fri, 27 Jan 2023 15:40: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 4P3MGg4B3Tz3QX0; Fri, 27 Jan 2023 15:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674834027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JjIC1hhtQlnkk3gI4Lh5G/lT8PAEP6oouZpkHQfWj7s=; b=LMS2cpIZnCAacEEy14sITHadFAWG5fehmy0D1zksONBt5CwFkjvEPb3wIISRz1q1+kL1My yuhbfEa3JJHSm8eHogsNDcntgKCU+OS8QUHo2esj948XfT2QD+n4/nKFsUmHLTp0f1VqCn nB5kqK1QVBYQGjqywsPwLY3z857bLUO2KjBD5NptKwIcuvVCIhEmfxg3A61oE3hg5xFNUm h+7adR98p3AT0G5LtkyMvQ7yZ2cov50xlCscdGK7p9PGrXHevsmJ/suaoZyB0tNiYeYgnh p/Ybi5LZNzZk7HgliIHbH/XOoXyRl0/7WMqBrklpsnI90FMBBghazoTv2AIIGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674834027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JjIC1hhtQlnkk3gI4Lh5G/lT8PAEP6oouZpkHQfWj7s=; b=X9zQ9A9MyLSGShZdQps9wbgKmeA11707LtLx+LABXnWP2rakZxaQgkJW/peeozrlrrpG+y HsaZ/31oImkvsyK1WraX3MvzRHBYBRTPUgqAeKLWZxi9docNymmCTLQrtWzA96/wjetZSG GYXHZdJKncw1BqJwcUFCAz2xfAazccPscyOl5RqFTYzY2Tl5p7mRLounFmocXWFhIHePPT fuhwNJQlljshoVzaLur5yc0uhCL2ZvvfAxCLxg89k4U1QdSR4jLyrFJl/ebMBL4ffWMTVc OpvQgCUUw745PORJnA3HzUX9oxON9vbwg529qt86FVUCxe5uHYtDu2wfwQefuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674834027; a=rsa-sha256; cv=none; b=i/TSedVGEF/1ug3sl2L/X47Jiba9tK6u3hhVWIsJo0LarPGMJP65KbDfk5blrEs77cNRjN TWe12UZKXstqxzBFdG6Dvo/ltP+/hF1Gd6xa43AtjGeIHEqvLLgjafrQmyHJZFJ/a7iYJc ugGFCEn1IJwKh6+8+sINBwzsC8HO9lFBmNXFMWuPt2aVTOPPj+NzdzLTFiFUhbm4nNis0l ako2AtXZa171DnKlXpSkbiROCDwnfQbdSSB2lHU2s0E3sDM4rJgBUunMbo0li6N5yWYoSy BXZ0Z8J3RyfCU0LN4NdKVSjc3aV1t4d9f44DO2zDkyOXxScMTWRXsqNniYQsGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3MGg3CjlzFCh; Fri, 27 Jan 2023 15:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RFeRYa009098; Fri, 27 Jan 2023 15:40:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RFeRVI009097; Fri, 27 Jan 2023 15:40:27 GMT (envelope-from git) Date: Fri, 27 Jan 2023 15:40:27 GMT Message-Id: <202301271540.30RFeRVI009097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: c8c74bcbe973 - stable/13 - document first appearance of fhlink et al List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c8c74bcbe973bcfa01b620ec534be3383ccd19eb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=c8c74bcbe973bcfa01b620ec534be3383ccd19eb commit c8c74bcbe973bcfa01b620ec534be3383ccd19eb Author: Alan Somers AuthorDate: 2022-11-30 17:23:22 +0000 Commit: Alan Somers CommitDate: 2023-01-27 15:39:45 +0000 document first appearance of fhlink et al [skip ci] Sponsored by: Axcient Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D37575 (cherry picked from commit 34120c0c5234a56945f9a732b05a8d8b97492916) --- lib/libc/sys/fhlink.2 | 9 ++++++++- lib/libc/sys/fhreadlink.2 | 7 ++++++- lib/libc/sys/getfh.2 | 10 +++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/libc/sys/fhlink.2 b/lib/libc/sys/fhlink.2 index 029ec8d7c2eb..6d27697199c4 100644 --- a/lib/libc/sys/fhlink.2 +++ b/lib/libc/sys/fhlink.2 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 23, 2021 +.Dd November 30, 2022 .Dt FHLINK 2 .Os .Sh NAME @@ -248,3 +248,10 @@ nor a file descriptor associated with a directory. .Xr fhopen 2 , .Xr fhreadlink 2 , .Xr fhstat 2 +.Sh HISTORY +The +.Fn fhlink +and +.Fn fhlinkat +system calls first appeared in +.Fx 12.1 . diff --git a/lib/libc/sys/fhreadlink.2 b/lib/libc/sys/fhreadlink.2 index 2837fd593d84..2b9a43110e4c 100644 --- a/lib/libc/sys/fhreadlink.2 +++ b/lib/libc/sys/fhreadlink.2 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 30, 2020 +.Dd November 30, 2022 .Dt FHREADLINK 2 .Os .Sh NAME @@ -92,3 +92,8 @@ is no longer valid .Sh SEE ALSO .Xr fhstat 2 , .Xr fhlink 2 , +.Sh HISTORY +The +.Fn fhreadlink +system call first appeared in +.Fx 12.1 . diff --git a/lib/libc/sys/getfh.2 b/lib/libc/sys/getfh.2 index e042839a00c4..fb3d434b2d08 100644 --- a/lib/libc/sys/getfh.2 +++ b/lib/libc/sys/getfh.2 @@ -29,7 +29,7 @@ .\" @(#)getfh.2 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" -.Dd December 23, 2021 +.Dd November 30, 2022 .Dt GETFH 2 .Os .Sh NAME @@ -224,3 +224,11 @@ The .Fn getfh system call first appeared in .Bx 4.4 . +The +.Fn lgetfh +system call first appeared in +.Fx 5.3 . +The +.Fn getfhat +system call first appeared in +.Fx 12.1 . From nobody Fri Jan 27 17:11:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3PJJ0XvHz3bGKt; Fri, 27 Jan 2023 17: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 4P3PJJ00Tzz3rYr; Fri, 27 Jan 2023 17: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=1674839520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bojPRVf0MMALBaGUDQEPhStbys7sNJNbCmjP2k2IxPg=; b=kIGCBauoL/e7hiV7Gh/JzyLSmgh/5JKc02Q+Njf1dNx/CEicpva7ugVdjNg4Yqt5uEq4F1 7mfk0CHXadO/C5GNu5jQi/G5+WQ9ftchWdzNnLJuNzgJ51WYHB5BYHP3BUhx9U35p9qlI2 5znrYfzFdiTgPi3ZbyX9GFytdwCSW0P3fxo+wHz2UjtoKvUDrbdOsyt80UoTY02A/dJeAb A3WBO1nd7KpK5BWjs7HEsj6c3sjR684eO+q5XlXaN2q8X/3dCU72Tb1qqwdfcIbi9ttUGT ES9bb1Yf7myFUtuKaJXWjTO0RN51ihm3i0fXVsgiBEW7Ln8OI59KjnFU5fLGFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674839520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bojPRVf0MMALBaGUDQEPhStbys7sNJNbCmjP2k2IxPg=; b=EqzBFFqs2bHswyem5A5AkvxmmkIRIs3fZxOznzGNZpptQjIeNvSM7LFog8NUYQPy2CZIMX 4s7GnYc6zCQTFL/XBbMAIjE4kxXMO4QwMO7vBdX8TVkwJpyyema0KFari75BqZKk+7SAqF ENPYsc7jRYkwLvW07aYpWu7eQvPmUncTd6doXYF010KiiN2zMKsIobGAezkSxEZRlkeUPe 13jeW4ewsW7nGI63zzgab9qP9UCg3u2ohz04VsbjPjoozDQ2AolShtVdbbVnm5bi7oq347 oQAJPWM4poaEbyAUHfjMEdRHIVVSbEVWo94uhPMHjICoRzej25C3FRHMAZw35Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674839520; a=rsa-sha256; cv=none; b=EDiTHunekWhE6XTGf2fL1iiHAs/Ru2KXHup1m3ZtZT9+1ZA7OWJUmnX6FqtcZmBnTLDbBm h7fzyu94HPSpgdiPa2lDipQ2vGnLJWhZ5/IMYx6Kyy/rkvs+LFZ0kJ8H3GjqDReTGFr7nJ SZ9PHr7gGG2X7+/41sL6vmJsm2JVHIo7lV7ErWMhKkLJingbK3lZdRgiSYUWQXJrNgHOOo hV9yoikiZ+gx2u/NQbUHN/TuHHcWCURaLOG4/JlYyvTxkFzGRInjuS2L8LaqUWimqiIlKf MNHH8hII1HqvYxZ5JhIdppBeIUaAnhqwuMu62iRfn+jdKmRw0plo6XXy7PsSWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3PJH6930zHdC; Fri, 27 Jan 2023 17:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RHBxAW043546; Fri, 27 Jan 2023 17:11:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RHBx0b043545; Fri, 27 Jan 2023 17:11:59 GMT (envelope-from git) Date: Fri, 27 Jan 2023 17:11:59 GMT Message-Id: <202301271711.30RHBx0b043545@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 1961075a6972 - stable/13 - Allow any user to read the NFS stats, for example with nfsstat(1). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1961075a69726327c14b62e59b45a1de388e688e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=1961075a69726327c14b62e59b45a1de388e688e commit 1961075a69726327c14b62e59b45a1de388e688e Author: Alan Somers AuthorDate: 2022-12-01 21:08:01 +0000 Commit: Alan Somers CommitDate: 2023-01-27 17:11:45 +0000 Allow any user to read the NFS stats, for example with nfsstat(1). This was originally allowed by 3cea29603d3 (2011). But it got broken by 693957f8861 (2016) and apparently nobody noticed. Sponsored by: Axcient Reviewed by: rmacklem, ken Differential Revision: https://reviews.freebsd.org/D37589 (cherry picked from commit d2ce00e9a6176014bbeb792dd9959ef1e60d787e) --- sys/nfs/nfs_nfssvc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/nfs/nfs_nfssvc.c b/sys/nfs/nfs_nfssvc.c index a16ff8b36448..bf22817d2b25 100644 --- a/sys/nfs/nfs_nfssvc.c +++ b/sys/nfs/nfs_nfssvc.c @@ -85,7 +85,7 @@ sys_nfssvc(struct thread *td, struct nfssvc_args *uap) AUDIT_ARG_CMD(uap->flag); /* Allow anyone to get the stats. */ - if ((uap->flag & ~NFSSVC_GETSTATS) != 0) { + if ((uap->flag & ~(NFSSVC_GETSTATS | NFSSVC_NEWSTRUCT)) != 0) { error = priv_check(td, PRIV_NFS_DAEMON); if (error != 0) return (error); From nobody Fri Jan 27 18:07:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3QXH5rZVz3bPF0; Fri, 27 Jan 2023 18:07: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 4P3QXH5GScz3yg2; Fri, 27 Jan 2023 18:07:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674842847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=edbBFReIn83DrlskjuBynG8IxjbLNbHAL2Dmi/Yubkc=; b=oxNvI03VX9fFRpsdXiDdsjCKNqGmj8n8zox4Z0AiZpqYUTzDl7I9HPdxkAnOUfv9lo8aQQ dPQRuPLQM20wr3hRTDZ3Ha8uwMuUySorORTgbDdWYLK5RONpHe0AlIL9wlYE+X8qf8Bme9 GTa+P+vsii5hVNQ/wgL+jJEmTd7ZN3XEP6uu2YOWqLUMrEKQSlAQDyEvvEg/3F9O7wumV+ I02GSABnhcIomd7pX9A2SuetNUXOGn7oY5pXBTuKwbCA3SpAnfU88TJXxVvA7mxLNoKTUs Eg43V+BrqJVN6Tu0OmIgddxbU0txjozogsXt9HNnWa7y+IElzHv+R4CzWAWv9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674842847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=edbBFReIn83DrlskjuBynG8IxjbLNbHAL2Dmi/Yubkc=; b=JIR5SZjlNxJ0TSSwUfGrQrEgQsakxf+XMVfTn7hXt2RrJ65rhGRGt6V1VatZ9f9ZWtW/6e ScMmRCwnehGr2R1Mf/FIlpeYHI4Heb1e5CRHIWqOtzS1cFCb1yF3s3eQbSffgAH0DUcK4/ Btg74csxxquVQF0uDvfCOq5VEkyNodCeVKpxBjwzSJSyXcLLPqaZFKLhFlUpNGyIHZHd+o mJUF4phCdihzc7rgrveU1DktKtmjqw96iorEAYgjeAEJrnsxi91yG/UbT41XE/ir5EipQG QNB/lA2MUsYk1sCYHSoeviEKv2n2uNjTOx33cuhRzBc2C/uK25wSuQn5GczNIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674842847; a=rsa-sha256; cv=none; b=MxHbDhbemMesIHEcxp8zN6pVMui8+aWQJHxZDATOgL5LiBCqcX68L1E9RIjQhMZcvL6FGS fA+XQ/LTdQ1ktZNPdhKKNEQsTFjaChS9AFsw7hhNeD7qdKQcHVICsHKtnSpHQ0mj8+wupL PWWCAXETWlt2D5RwiSUqz1OfsSKhWfKHHDEax9hoCcIFH/ZM4JAhvAGa3U3yixBs7GTb82 huWAEVX+hEgaWylw67VJuPYLdrswBWEysm/eDDjnw4M5wWAOxNTHvawWV2sphZ36G8JCxQ uTIEjqSC7QXYnXtrka2Ii0jCETcS9r6/c518OSsqtFXQLSRmu3f/WrpMHh7I0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3QXH4F3czJ9D; Fri, 27 Jan 2023 18:07:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RI7RfO015886; Fri, 27 Jan 2023 18:07:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RI7Rnd015885; Fri, 27 Jan 2023 18:07:27 GMT (envelope-from git) Date: Fri, 27 Jan 2023 18:07:27 GMT Message-Id: <202301271807.30RI7Rnd015885@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 86957b873f99 - stable/13 - loader: md: Use default func for fmtdev and parsedev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 86957b873f9995ae9d65c89cab6287e33ce08bb7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=86957b873f9995ae9d65c89cab6287e33ce08bb7 commit 86957b873f9995ae9d65c89cab6287e33ce08bb7 Author: Emmanuel Vadot AuthorDate: 2023-01-27 06:34:02 +0000 Commit: Emmanuel Vadot CommitDate: 2023-01-27 18:07:13 +0000 loader: md: Use default func for fmtdev and parsedev The default function are enough for md so use them instead of the disks ones that doesn't work for it anymore. Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG MFC after: now Differential Revision: https://reviews.freebsd.org/D38218 (cherry picked from commit 04afa8cc370e6bb7302b6fe09c8d27a606fe414e) --- stand/common/md.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/stand/common/md.c b/stand/common/md.c index a3243beb17dd..61db56ece7ae 100644 --- a/stand/common/md.c +++ b/stand/common/md.c @@ -75,8 +75,6 @@ struct devsw md_dev = { .dv_ioctl = noioctl, .dv_print = md_print, .dv_cleanup = nullsys, - .dv_fmtdev = disk_fmtdev, - .dv_parsedev = disk_parsedev, }; static int From nobody Fri Jan 27 19:28:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SKM27t0z3brWP; Fri, 27 Jan 2023 19:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3SKM1X83z45YJ; Fri, 27 Jan 2023 19:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YsaIQcbqHliLgRnvlXugy5pp+mz8YQ8dXu9JwU/TXOM=; b=QsJKzWLjnk1HyG6VhmkB48zMC25sm0hKY+n9hk1cH1cA8khidj9kBFdMoa02CsO5I54nEd Nri/bN7LR+KHOdLliG0xbMem1h/lVpIHqDU1PnkGjjjI3yOdRMi0RAnYlcU7ykn6AVAyCF HXqggLGkNJA2FPvQtBbRMXinebiQbImW4DK3Ni2pf8s5JH0NO7CVxVQOkLvHXKu61FJyqp rKy++Qsd0Pk6GgUOYlA2kf5woEh33fz9ufRR4BcjJX/UuS6nU76g3u/H6ye2pg1GPkeB/0 PyfnCEFSYBIvr9DtfNYjchfJhNinoCMxbXUi/sX9xN6hpCtxYi2MEeZdN1YbiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YsaIQcbqHliLgRnvlXugy5pp+mz8YQ8dXu9JwU/TXOM=; b=ST+yUfeZVloZawbbG/bGyI0RD4lYiKMNO0WmqBD947nCufswOsFRdQJZ104YfhzngubEGz zMGvkZLEy9Bb/8pwQwx/cliD/eUv3aJUXg7XID3ydcIaTGLOjd6ta2nrU59S2xVQ3CfYhH CMgpOx1msjmvPu0eX7d3gZ25rZVfEvbST5N4Pfqh7zVX1Iy2XGJul7PI6gHzaXbeMB1QEL oNH6nR5r6RjhMfQITsTE//zJi72C7ir3slbjnkQz6/e4jxyDYwTpFUK7H0cPMDU2GHWlus WEWYOYhI6mxSeGj9oOjuARtgt6Nog4aJCDJfJtK26WywT7GVzWcTMWOLPPyuEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847687; a=rsa-sha256; cv=none; b=gRey91VwFGrkcjCBp7SwwBmGjFhLHTM69cKrm0e6pSlsKVReyv6CBu472FyeUoCNlUTVyv 5Ut9MGjjB798ZMby7Kzp0f8qtbyRNRdQFNRUspUYJCUfhIome3OOXRFUnHxN1jCaXjbjT8 QVGbnceku/5YEQV+ku5Y1cE6iMZtD6S4LufY+cyeX8FFkUAodL77MpT1TW5ioafip31o2h eCjkr0poIS9HHdzWn5QHqKOmCBF07hITrIOGTOhl0sHaKAfT7w1NKfbXdyFe6yymd1BFz7 tRCU3Y+YwqzRtXe2wQlG4GZsogbWxKhmBxAQO5SuwDQNu9qc7B9ub61xPL4SeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SKM0bKlzLd3; Fri, 27 Jan 2023 19:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJS6Xr029105; Fri, 27 Jan 2023 19:28:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJS6G3029104; Fri, 27 Jan 2023 19:28:06 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:28:06 GMT Message-Id: <202301271928.30RJS6G3029104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 6d28cb5486b8 - stable/13 - improvements to cap_sysctl.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6d28cb5486b83f16f0925c4fbb620ee96e9cb7db Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=6d28cb5486b83f16f0925c4fbb620ee96e9cb7db commit 6d28cb5486b83f16f0925c4fbb620ee96e9cb7db Author: Alan Somers AuthorDate: 2022-12-01 16:49:57 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:27:47 +0000 improvements to cap_sysctl.3 * Correct some function prototypes which were documented with the wrong pointer type. * Clarify return values and requirements for freeing the limit handle. [skip ci] Sponsored by: Axcient Reviewed by: oshogbo Differential Revision: https://reviews.freebsd.org/D37586 (cherry picked from commit 6c93a2d0bc37f0c912e402f3f94c3c01350dca26) --- lib/libcasper/services/cap_sysctl/cap_sysctl.3 | 42 +++++++++++++++++++++----- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/lib/libcasper/services/cap_sysctl/cap_sysctl.3 b/lib/libcasper/services/cap_sysctl/cap_sysctl.3 index 0a7d009e1c3c..381315fcbdd7 100644 --- a/lib/libcasper/services/cap_sysctl/cap_sysctl.3 +++ b/lib/libcasper/services/cap_sysctl/cap_sysctl.3 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2020 +.Dd December 1, 2022 .Dt CAP_SYSCTL 3 .Os .Sh NAME @@ -41,14 +41,14 @@ .Fn cap_sysctlbyname "cap_channel_t *chan" "const char *name" "void *oldp" "size_t *oldlenp" "const void *newp" "size_t newlen" .Ft int .Fn cap_sysctlnametomib "cap_channel_t *chan" "const char *name" "int *mibp" "size_t *sizep" -.Ft void * +.Ft cap_sysctl_limit_t * .Fn cap_sysctl_limit_init "cap_channel_t *chan" -.Ft void * -.Fn cap_sysctl_limit_name "void *limit" "const char *name" "int flags" -.Ft void * -.Fn cap_sysctl_limit_mib "void *limit" "const int *mibp" "u_int miblen" "int flags" +.Ft cap_sysctl_limit_t * +.Fn cap_sysctl_limit_name "cap_sysctl_limit_t *limit" "const char *name" "int flags" +.Ft cap_sysctl_limit_t * +.Fn cap_sysctl_limit_mib "cap_sysctl_limit_t *limit" "const int *mibp" "u_int miblen" "int flags" .Ft int -.Fn cap_sysctl_limit "void *limit" +.Fn cap_sysctl_limit "cap_sysctl_limit_t *limit" .Sh DESCRIPTION The .Fn cap_sysctl , @@ -109,6 +109,8 @@ must be specified. .Fn cap_sysctl_limit applies a set of sysctl limits to the capability, denying access to sysctl variables not belonging to the set. +It consumes the limit handle. +After either success or failure, the user must not access the handle again. .Pp Once a set of limits is applied, subsequent calls to .Fn cap_sysctl_limit @@ -168,6 +170,32 @@ printf("The value of %s is %d.\\n", name, value); cap_close(capsysctl); .Ed +.Sh RETURN VALUES +.Fn cap_sysctl_limit_init +will return a new limit handle on success or +.Dv NULL +on failure, and set +.Va errno . +.Fn cap_sysctl_limit_mib +and +.Fn cap_sysctl_limit_name +will return the modified limit handle on success or +.Dv NULL +on failure and set +.Va errno . +After failure, the caller must not access the limit handle again. +.Fn cap_sysctl_limit +will return +.Dv -1 +on failure and set +.Va errno . +.Fn cap_sysctl , +.Fn cap_sysctlbyname , +and +.Fn cap_sysctlnametomib +have the same return values as their non-capability-mode equivalents as +documented in +.Xr sysctl 3 . .Sh SEE ALSO .Xr cap_enter 2 , .Xr err 3 , From nobody Fri Jan 27 19:28:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SKN4BsSz3brhZ; Fri, 27 Jan 2023 19:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3SKN285dz45k5; Fri, 27 Jan 2023 19:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8PJnjlkN3WoqIr94YtHxeJNIX7+16EslfKLlrhnDeWc=; b=A/idaQ1cm6qkTWHnWRC4z4KVyEY7HCgAnaaddhDcXD9RTbm7YgRzJWTED7f1+tb59pBz/Q YWSRUZk5dAODW7zwlSaa6o0Gkut3h7lH0ahU1VRisRqI7B9aHYxE9ik+NLT+sAOU6uQN7R /8kdZR7GZchIHeYUt16eoBBq9T6m90igL8w7hjuAWET9oEFIB8UJzbexYveBomfA12Mt1h vLL8lMvOArk0RlYHbot8V5NuGhvVGRE6KA76QJsgaO057mxef61LAEVJligE9nUM85krDX WmNpJwGw71GvHvvBIWCAUhgxtqfOa1orakxOfl4eBiyhEGviSh2yvGScMRNSlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8PJnjlkN3WoqIr94YtHxeJNIX7+16EslfKLlrhnDeWc=; b=ONXx6Qad/lVknLjK4p1n4VDLLSm6R0Tm8Cf6nxEd1JsNI6BjQ8yG9OZp7C1ICGRDTIUMGr smqw665DraG/sgpHmB8SB+VguETQC95ufaC5CpgOPUfkyfoVtvuA2u3GPlNMKfl8u2d2p9 h6iF5MAL4O+PQNuYqkYwNtGZj41paIE6foFo6qrhDu1y4AC0HLLNWmIJK3bSZvfK4S7Jt9 a9ZiF/pR3eq/xMMzTOgnsJHqlKFliqqgRQeZSeKt5hHaHb2uGWnY6ZGB+x2O4u/2dHD3tq YG0zI5gcp/gKMHpJvUshmnDd/7yfdJV1fp8KSbWKUoy+FEFj4Qe2K9s+wOGsgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847688; a=rsa-sha256; cv=none; b=V98gRDpPugjsHMTiF/T3ljqLwJQ7V/SNRQSMlXXtWpYrRU60wWuepHZKL/Z6/Y1MEdYDO0 JlZe7ZtbYQnhQUjo9Pz/hIOZV1kZ9EhLWUkeNnYFMnc+j2EqjFFRT+n21jt/qrsYW7p+Rc REjBALLqBH3yw7qbo9CHZw/meUx0FY2BfWtt+iSFPxFDETKjURM+A/hqLN3U+JJcuqdrYH UvOYqCeaNXkLC8T4a2rp5SrC3vYGs7Z9bhTMhmDNrJIxrUNBxCY2ozSVlxoak47x4PdWtH XY0Voo3+O/byrE9YNJwwNkQWMyBMn44jVvvF9DIRK0ipG54e+RkeMcCVJpxZDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SKN0xrYzLCT; Fri, 27 Jan 2023 19:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJS8HK029135; Fri, 27 Jan 2023 19:28:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJS8Lg029134; Fri, 27 Jan 2023 19:28:08 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:28:08 GMT Message-Id: <202301271928.30RJS8Lg029134@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: d3deff397d7b - stable/13 - Add test cases for ping with IP options in the response List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d3deff397d7bc83abe9f1a236b7c7a57f457313d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=d3deff397d7bc83abe9f1a236b7c7a57f457313d commit d3deff397d7bc83abe9f1a236b7c7a57f457313d Author: Alan Somers AuthorDate: 2022-10-29 22:03:41 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:27:47 +0000 Add test cases for ping with IP options in the response Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D37210 (cherry picked from commit e35cfc606a299ef40767e708362529c370f767f5) --- sbin/ping/tests/Makefile | 4 +++ sbin/ping/tests/injection.py | 83 ++++++++++++++++++++++++++++++++++++++++++++ sbin/ping/tests/ping_test.sh | 53 ++++++++++++++++++++++++++++ 3 files changed, 140 insertions(+) diff --git a/sbin/ping/tests/Makefile b/sbin/ping/tests/Makefile index c89d522a0dee..c6845ac57e5c 100644 --- a/sbin/ping/tests/Makefile +++ b/sbin/ping/tests/Makefile @@ -6,9 +6,13 @@ SRCS.in_cksum_test= in_cksum_test.c ../utils.c PACKAGE= tests ATF_TESTS_SH+= ping_test +# Exclusive because each injection test case uses the same IP addresses +TEST_METADATA.ping_test+= is_exclusive="true" + ${PACKAGE}FILES+= ping_c1_s56_t1.out ${PACKAGE}FILES+= ping_6_c1_s8_t1.out ${PACKAGE}FILES+= ping_c1_s56_t1_S127.out ${PACKAGE}FILES+= ping_c1_s8_t1_S1.out +${PACKAGE}FILES+= injection.py .include diff --git a/sbin/ping/tests/injection.py b/sbin/ping/tests/injection.py new file mode 100644 index 000000000000..d46359a0c9f7 --- /dev/null +++ b/sbin/ping/tests/injection.py @@ -0,0 +1,83 @@ +#! /usr/bin/env python3 +# Used to inject various malformed packets + +import errno +import logging +import subprocess +import sys + +logging.getLogger("scapy").setLevel(logging.CRITICAL) + +from scapy.all import IP, ICMP, IPOption +import scapy.layers.all +from scapy.layers.inet import ICMPEcho_am +from scapy.layers.tuntap import TunTapInterface + +SRC_ADDR = "192.0.2.14" +DST_ADDR = "192.0.2.15" + +mode = sys.argv[1] +ip = None + +# fill opts with nop (0x01) +opts = b'' +for x in range(40): + opts += b'\x01' + + +# Create and configure a tun interface with an RFC5737 nonrouteable address +create_proc = subprocess.run( + args=["ifconfig", "tun", "create"], + capture_output=True, + check=True, + text=True) +iface = create_proc.stdout.strip() +tun = TunTapInterface(iface) +with open("tun.txt", "w") as f: + f.write(iface) +subprocess.run(["ifconfig", tun.iface, "up"]) +subprocess.run(["ifconfig", tun.iface, SRC_ADDR, DST_ADDR]) + +ping = subprocess.Popen( + args=["/sbin/ping", "-v", "-c1", "-t1", DST_ADDR], + text=True +) +# Wait for /sbin/ping to ping us +echo_req = tun.recv() + +# Construct the response packet +if mode == "opts": + # Sending reply with IP options + echo_reply = IP( + dst=SRC_ADDR, + src=DST_ADDR, + options=IPOption(opts) + )/ICMP(type=0, code=0, id=echo_req.payload.id)/echo_req.payload.payload +elif mode == "pip": + # packet in packet (inner has options) + + inner = IP( + dst=SRC_ADDR, + src=DST_ADDR, + options=IPOption(opts) + )/ICMP(type=0, code=0, id=echo_req.payload.id)/echo_req.payload.payload + outer = IP( + dst=SRC_ADDR, + src=DST_ADDR + )/ICMP(type=3, code=1) # host unreach + + echo_reply = outer/inner +elif mode == "reply": + # Sending normal echo reply + echo_reply = IP( + dst=SRC_ADDR, + src=DST_ADDR, + )/ICMP(type=0, code=0, id=echo_req.payload.id)/echo_req.payload.payload +else: + print("unknown mode {}".format(mode)) + exit(1) + +tun.send(echo_reply) +outs, errs = ping.communicate() + +sys.exit(ping.returncode) diff --git a/sbin/ping/tests/ping_test.sh b/sbin/ping/tests/ping_test.sh index c79a792d0eb0..9f821ed96360 100644 --- a/sbin/ping/tests/ping_test.sh +++ b/sbin/ping/tests/ping_test.sh @@ -153,6 +153,56 @@ ping6_46_body() ping6 -4 -6 localhost } +atf_test_case "inject_opts" "cleanup" +inject_opts_head() +{ + atf_set "descr" "Inject an ECHO REPLY with IP options" + atf_set "require.user" "root" + atf_set "require.progs" "python3" "scapy" +} +inject_opts_body() +{ + atf_check -s exit:0 -o match:"wrong total length" -o match:"NOP" python3 $(atf_get_srcdir)/injection.py opts +} +inject_opts_cleanup() +{ + ifconfig `cat tun.txt` destroy +} + +atf_test_case "inject_pip" "cleanup" +inject_pip_head() +{ + atf_set "descr" "Inject an ICMP error with a quoted packet with IP options" + atf_set "require.user" "root" + atf_set "require.progs" "python3" "scapy" +} +inject_pip_body() +{ + atf_check -s exit:2 -o match:"Destination Host Unreachable" -o not-match:"01010101" python3 $(atf_get_srcdir)/injection.py pip +} +inject_pip_cleanup() +{ + ifconfig `cat tun.txt` destroy +} + +# This is redundant with the ping_ tests, but it serves to ensure that scapy.py +# is working correctly. +atf_test_case "inject_reply" "cleanup" +inject_reply_head() +{ + atf_set "descr" "Basic ping test with packet injection" + atf_set "require.user" "root" + atf_set "require.progs" "python3" "scapy" +} +inject_reply_body() +{ + atf_check -s exit:0 -o match:"1 packets transmitted, 1 packets received" python3 $(atf_get_srcdir)/injection.py reply +} +inject_reply_cleanup() +{ + ifconfig `cat tun.txt` destroy +} + atf_init_test_cases() { atf_add_test_case ping_c1_s56_t1 @@ -164,6 +214,9 @@ atf_init_test_cases() atf_add_test_case ping6_c1t4 atf_add_test_case ping_46 atf_add_test_case ping6_46 + atf_add_test_case inject_opts + atf_add_test_case inject_pip + atf_add_test_case inject_reply } check_ping_statistics() From nobody Fri Jan 27 19:28:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SKP40wVz3brw0; Fri, 27 Jan 2023 19:28: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 4P3SKP3D64z45qD; Fri, 27 Jan 2023 19:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGYnHT92KiWK4XZ/UJf+7uzVv7iPBZpw0Yg+dHWWFy8=; b=N5+BkgOw2BiRylogUdZUNyL0rpQH5QWSW77Unp13yu98IjYJ/xMIBkIBi2hKndIRCiUT83 cTj57z3U1n7JIPYe/48j1BMAwctzuLIjS9hKTh8oo8w2UtkJ+oR6yiBjnzAP7CjOs1L8nM KOKe9tlHdeOf6xLeN0GRVVEfWhsWd8l6sQZqMdmCuTPE0Jxo0XLanh984FQqvT0FNqUCH/ +dD69XxsDZNBi+bLay9sZ9IFJGzL2sdsQjre4lMmt1rd86zTqfM2IH5Qw8AywOEcn9t7Zz ZfIJ4EjtvTOEBgT82C7q6JOuWr/ZoSYdWZjM7SkgZwCmwbd5PZ/Pgpb0pTcRDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGYnHT92KiWK4XZ/UJf+7uzVv7iPBZpw0Yg+dHWWFy8=; b=D0ryl0p8rYwst4k3P1fQsWokMioISWbnpWNG/SFPKhGT7b0zvtuChF51BfA2X1M4oEOS6T zypiFfpKqUQWj5Df8dyVrMje7Y+DIZAXt+tB4EPyMo1Vd7GwI7UFgXRIEpaQyDNDCUE3sR ihex99eqHVaK1/kM0hQWMsX/ie3VzMCXxVGtLekzvL3DhGvnpB5HD6CHOm3MFZaYbRt63Q 4VlBvz80b8egEqL8QspZp2f8nGkzYRr/09731uKjtBN3a33g9axdioW2ZA5e0gGU2+UCOa KmhvQXxHown8USdHMMwGxNPirRrgrREBzPWPOuzGnIrUxzqJaFcM5VR+goDk7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847689; a=rsa-sha256; cv=none; b=rEW4BjepfAFXEVpj+TbxxMMOc5CBRFrz+VXa48Mg3KsP58neqvx1h347BTPz5ujCDRMVbf aiuNh5AJI7Hx9Trt9F0DL3+SANR0ce3sYQRoqHCy+TXu8muo0xw5XAyWotMe6SbISTpn8/ dL5uz9hSJ7rh2hIWKzBsR/ugEqSdhu0LpatCaLZlLvhXiF7/WcpBSwVnB+MHtGW/Dk328w kN4EqvRx5YnEAnDwTD6cVjjYNlpfKjYPacatEJA2hD+Eo3h0nkvdnR1YVC5HWOlSx1TScL 6rk+Ja9LYe5lwL8KHwrMy07yy3ik62YGHexiDalM6nzMvyYrPApe2fSMZVhSow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SKP27lSzLGy; Fri, 27 Jan 2023 19:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJS9Tl029160; Fri, 27 Jan 2023 19:28:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJS9Wj029159; Fri, 27 Jan 2023 19:28:09 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:28:09 GMT Message-Id: <202301271928.30RJS9Wj029159@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 8a8d695deea0 - stable/13 - ping(8): man page cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8a8d695deea0cb330c0e76a84e4861a26357e274 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=8a8d695deea0cb330c0e76a84e4861a26357e274 commit 8a8d695deea0cb330c0e76a84e4861a26357e274 Author: Jose Luis Duran AuthorDate: 2022-11-20 02:56:49 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:27:47 +0000 ping(8): man page cleanup * Appease mandoc -T lint and igor * Use example.com for documentation * Update the IPv4 TTL section. Update the IPv4 TTL section specifically for FreeBSD. FreeBSD changed the default TTL to 64 in 5639e86bdd7ea151958776264bf5a67e60a54d68. NetBSD and OpenBSD still use 255. Remove some references of extinct operating systems. Reviewed by: gbe (manpages), asomers Pull Request: https://github.com/freebsd/freebsd-src/pull/630 (cherry picked from commit 8eb4df948711166a438f4111f7069a412d1456bd) --- sbin/ping/ping.8 | 144 +++++++++++++++++++++++++++---------------------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/sbin/ping/ping.8 b/sbin/ping/ping.8 index fceff650fbc1..689641a09282 100644 --- a/sbin/ping/ping.8 +++ b/sbin/ping/ping.8 @@ -28,15 +28,15 @@ .\" @(#)ping.8 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd November 26, 2020 +.Dd November 20, 2022 .Dt PING 8 .Os .Sh NAME .Nm ping .Nd send -.Tn ICMP +ICMP or -.Tn ICMPv6 ECHO_REQUEST +ICMPv6 ECHO_REQUEST packets to network hosts .Sh SYNOPSIS .Nm @@ -101,19 +101,21 @@ packets to network hosts The .Nm utility invoked with an IPv4 target -.Ns ( Ar IPv4-host No or Ar IPv4-mcast-group Ns ) +.Ar ( IPv4-host +or +.Ar IPv4-mcast-group ) uses the -.Tn ICMP +ICMP .No protocol Ap s mandatory -.Tn ECHO_REQUEST +ECHO_REQUEST datagram to elicit an -.Tn ICMP ECHO_RESPONSE +ICMP ECHO_RESPONSE from a host or gateway. -.Tn ECHO_REQUEST +ECHO_REQUEST datagrams .Pq Dq pings have an IP and -.Tn ICMP +ICMP header, followed by a .Dq struct timeval and then an arbitrary number of @@ -121,24 +123,26 @@ and then an arbitrary number of bytes used to fill out the packet. .Pp When invoked with an IPv6 target -.Ns ( Ar IPv6-host Ns ) Ns , +.Ar ( IPv6-host ) , it uses the -.Tn ICMPv6 +ICMPv6 protocol's mandatory -.Tn ICMP6_ECHO_REQUEST +ICMP6_ECHO_REQUEST datagram to elicit an -.Tn ICMP6_ECHO_REPLY -.Ns . -.Tn ICMP6_ECHO_REQUEST +ICMP6_ECHO_REPLY. +ICMP6_ECHO_REQUEST datagrams have an IPv6 header and -.Tn ICMPv6 +ICMPv6 header formatted as documented in RFC 2463. .Pp -When invoked with a hostname, the version to which the target is resolved first is used. -In that case, the options and arguments used must be valid for the specific IP version, otherwise +When invoked with a hostname, the version to which the target is resolved first +is used. +In that case, the options and arguments used must be valid for the specific IP +version, otherwise .Nm exits with an error. -If the target is resolved to both IPv4 and IPv6, the specific IP version can be requested by +If the target is resolved to both IPv4 and IPv6, the specific IP version can be +requested by .Fl 4 or .Fl 6 @@ -150,11 +154,11 @@ as .Bl -tag -width indent .It Fl .\& Ns Ar chars By default, for every -.Tn ECHO_REQUEST +ECHO_REQUEST sent, a period .Dq .\& is printed, while for every -.Tn ECHO_REPLY +ECHO_REPLY received, a backspace is printed. This option takes an optional string argument listing characters that will be printed one by one in the provided order @@ -167,7 +171,7 @@ ping -.0123456789 freebsd.org .It Fl A Audible. Output a bell -.Tn ( ASCII +(ASCII 0x07) character when no packet is received before the next packet is transmitted. @@ -177,7 +181,7 @@ if the maximum number of unreceived packets has increased. .It Fl a Audible. Include a bell -.Tn ( ASCII +(ASCII 0x07) character in the output when any packet is received. .It Fl C Ar pcp @@ -187,7 +191,7 @@ Add an 802.1p Ethernet Priority Code Point when sending a packet. Stop after sending (and receiving) .Ar count -.Tn ECHO_RESPONSE +ECHO_RESPONSE packets. If this option is not specified, .Nm @@ -210,9 +214,9 @@ whichever is more. Implies .Fl .\& to print a period for every -.Tn ECHO_REQUEST +ECHO_REQUEST sent and a backspace for every -.Tn ECHO_REPLY +ECHO_REPLY received. This provides a rapid display of how many packets are being dropped. Only the super-user may use this option. @@ -233,9 +237,9 @@ This flag applies only if the ping target is a multicast address. .Pp For an IPv6 target, .Ar iface -is a name of an interface (e.g. `em0') from which the packets will be sent. -This flag applies if the ping target is a multicast address, or link-local/site-local -unicast address. +is a name of an interface (e.g., `em0') from which the packets will be sent. +This flag applies if the ping target is a multicast address, or +link-local/site-local unicast address. .It Fl i Ar wait Wait .Ar wait @@ -304,10 +308,10 @@ the sending node, and must be numeric. .It Fl s Ar packetsize Specify the number of data bytes to be sent. The default is 56, which translates into 64 -.Tn ICMP +ICMP data bytes when combined with the 8 bytes of -.Tn ICMP +ICMP header data. .Pp For IPv4, only the super-user may specify values more than default. @@ -321,9 +325,9 @@ Specify a timeout, in seconds, before ping exits regardless of how many packets have been received. .It Fl v Verbose output. -.Tn ICMP +ICMP packets other than -.Tn ECHO_RESPONSE +ECHO_RESPONSE that are received are listed. .It Fl W Ar waittime Time in milliseconds to wait for a reply for each packet sent. @@ -336,17 +340,17 @@ considered as replied when calculating statistics. Use IPv4 regardless of how the target is resolved. .It Fl G Ar sweepmaxsize Specify the maximum size of -.Tn ICMP +ICMP payload when sending sweeping pings. This option is required for ping sweeps. .It Fl g Ar sweepminsize Specify the size of -.Tn ICMP +ICMP payload to start with when sending sweeping pings. The default value is 0. .It Fl h Ar sweepincrsize Specify the number of bytes to increment the size of -.Tn ICMP +ICMP payload after each sweep when sending sweeping pings. The default value is 1. @@ -396,9 +400,9 @@ messages. .It Fl R Record route. Includes the -.Tn RECORD_ROUTE +RECORD_ROUTE option in the -.Tn ECHO_REQUEST +ECHO_REQUEST packet and displays the route buffer on returned packets. Note that the IP header is only large enough for nine such routes; @@ -410,7 +414,7 @@ If more routes come back than should, such as due to an illegal spoofed packet, ping will print the route list and then truncate it at the correct spot. Many hosts ignore or discard the -.Tn RECORD_ROUTE +RECORD_ROUTE option. .It Fl r Bypass the normal routing tables and send directly to a host on an attached @@ -575,21 +579,21 @@ during normal operations or from automated scripts. .Sh ICMP PACKET DETAILS An IP header without options is 20 bytes. An -.Tn ICMP -.Tn ECHO_REQUEST +ICMP +ECHO_REQUEST packet contains an additional 8 bytes worth of -.Tn ICMP +ICMP header followed by an arbitrary amount of data. When a .Ar packetsize is given, this indicated the size of this extra piece of data (the default is 56). Thus the amount of data received inside of an IP packet of type -.Tn ICMP -.Tn ECHO_REPLY +ICMP +ECHO_REPLY will always be 8 bytes more than the requested data space (the -.Tn ICMP +ICMP header). .Pp If the data space is at least eight bytes large, @@ -648,33 +652,29 @@ option of .Nm . .Sh IPv4 TTL DETAILS The -.Tn TTL +TTL value of an IP packet represents the maximum number of IP routers that the packet can go through before being thrown away. In current practice you can expect each router in the Internet to decrement the -.Tn TTL +TTL field by exactly one. .Pp The -.Tn TCP/IP +TCP/IP specification recommends setting the -.Tn TTL +TTL field for -.Tn IP -packets to 64, but many systems use smaller values -.No ( Bx 4.3 -uses 30, -.Bx 4.2 -used 15). +IP +packets to 64. .Pp -The maximum possible value of this field is 255, and most +The maximum possible value of this field is 255, and some .Ux systems set the -.Tn TTL +TTL field of -.Tn ICMP ECHO_REQUEST +ICMP ECHO_REQUEST packets to 255. This is why you will find you can .Dq ping @@ -688,7 +688,7 @@ In normal operation prints the ttl value from the packet it receives. When a remote system receives a ping packet, it can do one of three things with the -.Tn TTL +TTL field in its response: .Bl -bullet .It @@ -698,16 +698,16 @@ systems did before the .Bx 4.3 tahoe release. In this case the -.Tn TTL +TTL value in the received packet will be 255 minus the number of routers in the round-trip path. .It -Set it to 255; this is what current -.Bx +Set it to 64; this is what current +.Fx systems do. In this case the -.Tn TTL -value in the received packet will be 255 minus the +TTL +value in the received packet will be 64 minus the number of routers in the path .Em from the remote system @@ -718,9 +718,9 @@ host. .It Set it to some other value. Some machines use the same value for -.Tn ICMP +ICMP packets that they use for -.Tn TCP +TCP packets, for example either 30 or 60. Others may use completely wild values. .El @@ -739,9 +739,9 @@ An error occurred. .El .Sh EXAMPLES The following will send ICMPv6 echo request to -.Li dst.foo.com . +.Li dst.example.com . .Bd -literal -offset indent -ping -6 -n dst.foo.com +ping -6 -n dst.example.com .Ed .Pp The following will probe hostnames for all nodes on the network link attached to @@ -756,9 +756,9 @@ ping -6 -y ff02::1%wi0 .Ed .Pp The following will probe addresses assigned to the destination node, -.Li dst.foo.com . +.Li dst.example.com . .Bd -literal -offset indent -ping -6 -k agl dst.foo.com +ping -6 -k agl dst.example.com .Ed .Sh SEE ALSO .Xr netstat 1 , @@ -813,11 +813,11 @@ while at the US Army Ballistics Research Laboratory. .Sh BUGS Many Hosts and Gateways ignore the IPv4 -.Tn RECORD_ROUTE +RECORD_ROUTE option. .Pp The maximum IP header length is too small for options like -.Tn RECORD_ROUTE +RECORD_ROUTE to be completely useful. .No There Ap s not much that can be done about this, however. From nobody Fri Jan 27 19:28:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SKQ5970z3brr4; Fri, 27 Jan 2023 19:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3SKQ4Pqpz45g4; Fri, 27 Jan 2023 19:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+P/p7EIBZQUoUNyLD6a52BRgWEZNTzrUWPKsTvk+ums=; b=S8De+P7NLHhiiQ306fY81AIz8omfdgK69THeQ7MvRFLj4hB8oxh9MhAQeRwElmR01sCXWo LZOGMcMyvGCM2l8TKFUQ4m8aY0KVJg3BV54B48LgGvl5mvgTBV8PQK8qnPD26CI85XD76y k+iTkxkpug/rFVlV9kYyHQx9JwTiPnCoRC8phEuGhnmUW6XyyVWjmsK2zMaMiTIGyKQKL3 Ls7et1v5tnyMaplfuA6+Zk7uleNk0+0Z02aBjxKEotGaCD5rIJss1Qoc0WHCanDhtYybUh cMy6R6vLJdssPFdWeLApMcHftTw67Gt/bvt9M8fs6nTs11iqgGVHBDRfT+WaMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+P/p7EIBZQUoUNyLD6a52BRgWEZNTzrUWPKsTvk+ums=; b=tTmqP3RzZR47kTbefziojP82PTPAwC4peoqQF7ZUMxWVH0kDrCqmkZWNxrlAsgqmnwqCGR SqZt6XPEEor3MWw5QDbJJuAbIQf1lwXaiBZI5UXv/MhjkSIZ022TKA8YZWJjQ5UAa4BilD BjIV8B48cHFqp6rodL6Ztded+YrudH5FUp7aDYq6vnyt13gvCMDzEZSGgo96hwVFKU17Iy jcsiEQrPR8dYu6IcnxOCjm7+dL1ebkM+jXogyryU0smwZp8ZMQ9FUWAnp/DgdG5jEZUJPs XoN/5N5RP1ybXoD5sXugnXzQatPZ673ilWud9ZCA3n4LjpoUMIXmAReX4/3APA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847690; a=rsa-sha256; cv=none; b=DIgmW2tfvQgyV+AuOsnUkpYpVEnpd+wZxmXyvq0e2c5fP1bjt+sXzTq8n32R7yqrvnI1NJ iqFflJhy6bwYTwqj/vGFZni2zbsCkozPrpU8esBIo1roMKCkUs0/tZ2zEWVWGLk6gT4jz3 7cwYBtmqr9wGc8ykoY6lzZC9Sk+/jcvE84pN0owE2jHp/+Xb6U6QRcdIeVqUc0FJ4/PhoX UNSiyXC7fIU8obxUPXXreJANdr9H1eFJPNlS4tEcup+1uHurDWTubsbDPl6rJfMMi0x+T5 m3F/bfgyLHLlAU9EY6WX7dHdcqbg4Ua4wYDyDGN8tixpwGAXl1NTCjonLf8zlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SKQ36F2zLVc; Fri, 27 Jan 2023 19:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJSAc7029184; Fri, 27 Jan 2023 19:28:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJSAfN029183; Fri, 27 Jan 2023 19:28:10 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:28:10 GMT Message-Id: <202301271928.30RJSAfN029183@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: ae380bb8864f - stable/13 - fsx: bounds check the inputs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ae380bb8864f26e594ee4a4d1b08fdd70b50dc34 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=ae380bb8864f26e594ee4a4d1b08fdd70b50dc34 commit ae380bb8864f26e594ee4a4d1b08fdd70b50dc34 Author: Alan Somers AuthorDate: 2023-01-07 01:54:23 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:27:47 +0000 fsx: bounds check the inputs In particular, don't allow the user to specify a file size that can't be expressed as an int, since fsx's random-number generator only has a 32 bit range. (cherry picked from commit 3f8ca7a22ed917a3e3a4ad78538d9f468d6d3bd8) --- tools/regression/fsx/fsx.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tools/regression/fsx/fsx.c b/tools/regression/fsx/fsx.c index 9bf61ffadb09..e84eeb503d42 100644 --- a/tools/regression/fsx/fsx.c +++ b/tools/regression/fsx/fsx.c @@ -105,13 +105,13 @@ int fd; /* fd for our test file */ off_t file_size = 0; off_t biggest = 0; char state[256]; -unsigned long testcalls = 0; /* calls to function "test" */ +long testcalls = 0; /* calls to function "test" */ -unsigned long simulatedopcount = 0; /* -b flag */ +long simulatedopcount = 0; /* -b flag */ int closeprob = 0; /* -c flag */ int invlprob = 0; /* -i flag */ int debug = 0; /* -d flag */ -unsigned long debugstart = 0; /* -D flag */ +long debugstart = 0; /* -D flag */ off_t maxfilelen = 256 * 1024; /* -l flag */ int sizechecks = 1; /* -n flag disables them */ int maxoplen = 64 * 1024; /* -o flag */ @@ -910,7 +910,7 @@ usage(void) -c P: 1 in P chance of file close+open at each op (default infinity)\n\ -d: debug output for all operations\n\ -i P: 1 in P chance of calling msync(MS_INVALIDATE) (default infinity)\n\ - -l flen: the upper bound on file size (default 262144)\n\ + -l flen: the upper bound on file size (default 262144, max 2147483647)\n\ -m startop:endop: monitor (print debug output) specified byte range (default 0:infinity)\n\ -n: no verifications of file size\n\ -o oplen: the upper bound on operation size (default 65536)\n\ @@ -937,32 +937,43 @@ usage(void) int getnum(char *s, char **e) { - int ret = -1; + long long ret = -1; *e = (char *) 0; - ret = strtol(s, e, 0); + ret = strtoll(s, e, 0); if (*e) switch (**e) { case 'b': case 'B': + if (ret > INT_MAX / 512) + return (-1); ret *= 512; *e = *e + 1; break; case 'k': case 'K': + if (ret > INT_MAX / 1024) + return (-1); ret *= 1024; *e = *e + 1; break; case 'm': case 'M': + if (ret > INT_MAX / 1024 / 1024) + return (-1); ret *= 1024*1024; *e = *e + 1; break; case 'w': case 'W': + if (ret > INT_MAX / 4) + return (-1); ret *= 4; *e = *e + 1; break; + default: + if (ret > INT_MAX) + return (-1); } return (ret); } From nobody Fri Jan 27 19:28:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SKR5dsDz3brl3; Fri, 27 Jan 2023 19:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3SKR56p5z462H; Fri, 27 Jan 2023 19:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2IhwWx3az2Z33GvI4yhO1y53x5VJ8GNxCCcj1i8aPW0=; b=o6WXXGPbK4eozJp1asnEIUKzyKFFe8VsLUIx2Q9opwHOV88+P+7hD6/1DSo6KBxqp9HkPs cYC5r2QQeILdjNCdUO1iZG0q7y3hP1723ybu8aVw4kSWzoH1WC0YQAmc29fHtIXhiQHG5n KYWwRQi/K7z3hgQkte8W88tXhIEPdbPwBmskq5AxjXJbA1i7jj2YZ8diJ3s7TuXBXcCU0/ qYXu6VA14jmesovr+LaX+1WCgEvQ/g7OoMU9+lxobUEkVKiha3NkOXvcS7/1z5QB0KTyta LkskS+8CnWNTuhKiQc8alYQCucIY2RGMu4pxuhhwzjHX86ZPZB3TrWCiUiOTiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2IhwWx3az2Z33GvI4yhO1y53x5VJ8GNxCCcj1i8aPW0=; b=p7kNWbCuFh/E7IuKe3S6GUae9u51lvgD/TVZUwhbojXE39wa+m8lDTSnbIA8uzYryyUsmJ qQhE84GZWo7RXsLMCh6fNvSWZh23xQXvR2onWz6zsMlqiDJ023J3dt9BUcOQw8tC9Tzbqf w4T7FedpJrQzfNXTsibMUtkmDrTQXhQpAef2rXT1GAOZuNVMMUi5gFjxuXEl/41qh/g2WE 5whW9hgZ0Rst91oDxt/7phaR1SdX4b49LlDAPZMqG0TzuusfDiuC8OROzd7opruMjiSEQl GTbZQ3guWLfUCQoaZq3iTK+kk2RvpooFrzV+BciRvnTylE0jxSyuk0eE7ZaM8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847691; a=rsa-sha256; cv=none; b=ONfCmpQBGkzkFeSNLU0AQPSt0yS9hCJzkAo9Eu+DHckFIrP7gqbM8aUpTXnRO3/gy6Kolw M2448AkQoAEVTDx6RqSfT/jgEolsiV9xFZlFSRUzLcporHdO4WqUC9o5CtK6NnpBgsyGLD OKL6hn5qMeMys51WoHzPAqADQOGUAaQfv2LThksKNgsGKAcoS1QhU/LsXP+jtyDUEr9hRg ZEDmiR4JBJIDccSnxcbT0kDKKTP3gAmP1lPlCKAf4PUlafvQqutqROv+e/z0+GMYWrNCDe XYqlh0rgsdScXwaiWuPsRBAz6Rh9v9FZByRyBkxzgyLeOMBqKJi3m7P3Kl9PNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SKR45dBzLVd; Fri, 27 Jan 2023 19:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJSBkM029212; Fri, 27 Jan 2023 19:28:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJSBDF029211; Fri, 27 Jan 2023 19:28:11 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:28:11 GMT Message-Id: <202301271928.30RJSBDF029211@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 704bfe6dbfcb - stable/13 - fsx: more consistent debug output with -[RWU] List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 704bfe6dbfcb29173086ee5fbccffa3cdec23c14 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=704bfe6dbfcb29173086ee5fbccffa3cdec23c14 commit 704bfe6dbfcb29173086ee5fbccffa3cdec23c14 Author: Alan Somers AuthorDate: 2023-01-07 04:49:28 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:27:47 +0000 fsx: more consistent debug output with -[RWU] (cherry picked from commit da303f5fd4ee8582cf76712212dd0b711d7d9dac) --- tools/regression/fsx/fsx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/regression/fsx/fsx.c b/tools/regression/fsx/fsx.c index e84eeb503d42..771fedc1d0d3 100644 --- a/tools/regression/fsx/fsx.c +++ b/tools/regression/fsx/fsx.c @@ -1106,6 +1106,8 @@ main(int argc, char **argv) break; case 'R': mapped_reads = 0; + if (!quiet) + fprintf(stdout, "mapped reads DISABLED\n"); break; case 'S': seed = getnum(optarg, &endp); From nobody Fri Jan 27 19:28:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SKS6fT9z3brWf; Fri, 27 Jan 2023 19:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3SKS5y6Kz45x3; Fri, 27 Jan 2023 19:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n+mwOfQmDW5Clnpfoi5spFnRaSbVTRRFAet3CiYFYA0=; b=F8zlzn7bS4uRrlGneEApLvhrOsqrxERL0w0SjBN5UnVoR0qVCe+39EJ3Ck45Xqg3j5j1Hw MkKyIxI0eApAsAgklnqAQPV4XHSOl/N3yvTyX029So8K9mLNqewFiJkYxuPH74m0kJFWzf JO3HO1O7qc3QFTkRIDFAOXlWWhj4skJwWb86IrQ5MNFh/EDFAnx4og6mQv3BAgeOIXrsRo SRjnfNwTgM+DQBmSPXstl1SwC+FDnVTqRIePBH4CNALqwrAKzIMXM4em3AJlu082m7M8qM wLuUBWUANsPQXai3Jguv4IRhFjzTkCUkC8Hbmq1Zo53R88SFRZVYA8beu+A6Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n+mwOfQmDW5Clnpfoi5spFnRaSbVTRRFAet3CiYFYA0=; b=rJoK3E7MoVMYu9u3K5AXItED37znM4LRPAVjzuMEQMCAiNXHwYoswHeCIft+Q8TOpOXLXE mVJgZtPQKgnfNiNBRMV5yXGL4oPvP6y3TpfMhIrQaG8UHFVeb4g/JdqIx33aSPCRqgc1qv yYtcoYrAAZilfzrkkGxg0gvyzX+FtYMANKTLWTxzJK/iipH3jagHQZqqZLufUaxctBu2O2 LcWyBWE9dIDwEODAtWfmj7QjLlNXGv/+KzPJFUmY/ie7iNHkuTPJ9BLcRrk39mdUeXBy0n dWqS+3Id8Dw9l+rbnaO96SqLyF7QLBQ59yAV04lRDxWJ/Wu2IrV8SmnT/ez2oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847692; a=rsa-sha256; cv=none; b=UqYnRD/ptRQwLxAVQND3BLwEnYEMrL0bHzbf8NaDPKVNA+FaGe31wryjiEETbtiMwnurqI dqARqG+bag1gOjLz7Re2XyHGJEBxgqG6lh7VudgpQJrUXO+0XT9jTeXo6x1pCv65rIYK90 P3YMg9dZc/843z1GP6kCdf4KJWpEshjIRQN59d40WarvTRil9sjUKhKs1tJ6FqlzBcdV9x oL/duWklDVyCnhBnR2ORKzKoxwP9tR/JQJIp5fEf6ky1y6/ft/UgWDwBtoeTk1QtJZwEjU sYArI1RIPsWnvU7ed2TkEHXMCjfMqPbXpiOiV/4xarh/VUaVS/KhYifI5DYvFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SKS53b8zLd4; Fri, 27 Jan 2023 19:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJSCx0029236; Fri, 27 Jan 2023 19:28:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJSCGL029235; Fri, 27 Jan 2023 19:28:12 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:28:12 GMT Message-Id: <202301271928.30RJSCGL029235@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 8b7b81fd64ec - stable/13 - Switch wg(4) to the new if_clone KPI List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b7b81fd64ec054e6cbe0f1a817bad44aa355669 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=8b7b81fd64ec054e6cbe0f1a817bad44aa355669 commit 8b7b81fd64ec054e6cbe0f1a817bad44aa355669 Author: Alan Somers AuthorDate: 2022-12-18 20:12:02 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:27:47 +0000 Switch wg(4) to the new if_clone KPI Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D37740 (cherry picked from commit eb3f9a7aece9473d678adddcf6aefe6c1eec0ac4) --- sys/dev/wg/if_wg.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index 94395c86f370..9c4ebe5dd393 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -361,13 +361,15 @@ static struct wg_packet *wg_queue_dequeue_serial(struct wg_queue *); static struct wg_packet *wg_queue_dequeue_parallel(struct wg_queue *); static void wg_input(struct mbuf *, int, struct inpcb *, const struct sockaddr *, void *); static void wg_peer_send_staged(struct wg_peer *); -static int wg_clone_create(struct if_clone *, int, caddr_t); +static int wg_clone_create(struct if_clone *ifc, char *name, size_t len, + struct ifc_data *ifd, struct ifnet **ifpp); static void wg_qflush(struct ifnet *); static inline int determine_af_and_pullup(struct mbuf **m, sa_family_t *af); static int wg_xmit(struct ifnet *, struct mbuf *, sa_family_t, uint32_t); static int wg_transmit(struct ifnet *, struct mbuf *); static int wg_output(struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *); -static void wg_clone_destroy(struct ifnet *); +static int wg_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, + uint32_t flags); static bool wgc_privileged(struct wg_softc *); static int wgc_get(struct wg_softc *, struct wg_data_io *); static int wgc_set(struct wg_softc *, struct wg_data_io *); @@ -2717,7 +2719,8 @@ wg_down(struct wg_softc *sc) } static int -wg_clone_create(struct if_clone *ifc, int unit, caddr_t params) +wg_clone_create(struct if_clone *ifc, char *name, size_t len, + struct ifc_data *ifd, struct ifnet **ifpp) { struct wg_softc *sc; struct ifnet *ifp; @@ -2771,7 +2774,7 @@ wg_clone_create(struct if_clone *ifc, int unit, caddr_t params) ifp->if_softc = sc; ifp->if_capabilities = ifp->if_capenable = WG_CAPS; - if_initname(ifp, wgname, unit); + if_initname(ifp, wgname, ifd->unit); if_setmtu(ifp, DEFAULT_MTU); ifp->if_flags = IFF_NOARP | IFF_MULTICAST; @@ -2790,6 +2793,7 @@ wg_clone_create(struct if_clone *ifc, int unit, caddr_t params) sx_xlock(&wg_sx); LIST_INSERT_HEAD(&wg_list, sc, sc_entry); sx_xunlock(&wg_sx); + *ifpp = ifp; return (0); free_aip4: RADIX_NODE_HEAD_DESTROY(sc->sc_aip4); @@ -2811,8 +2815,8 @@ wg_clone_deferred_free(struct noise_local *l) atomic_add_int(&clone_count, -1); } -static void -wg_clone_destroy(struct ifnet *ifp) +static int +wg_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) { struct wg_softc *sc = ifp->if_softc; struct ucred *cred; @@ -2872,6 +2876,8 @@ wg_clone_destroy(struct ifnet *ifp) if_free(sc->sc_ifp); noise_local_free(sc->sc_local, wg_clone_deferred_free); + + return (0); } static void @@ -2914,8 +2920,12 @@ wg_init(void *xsc) static void vnet_wg_init(const void *unused __unused) { - V_wg_cloner = if_clone_simple(wgname, wg_clone_create, wg_clone_destroy, - 0); + struct if_clone_addreq req = { + .create_f = wg_clone_create, + .destroy_f = wg_clone_destroy, + .flags = IFC_F_AUTOUNIT, + }; + V_wg_cloner = ifc_attach_cloner(wgname, &req); } VNET_SYSINIT(vnet_wg_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, vnet_wg_init, NULL); @@ -2924,7 +2934,7 @@ static void vnet_wg_uninit(const void *unused __unused) { if (V_wg_cloner) - if_clone_detach(V_wg_cloner); + ifc_detach_cloner(V_wg_cloner); } VNET_SYSUNINIT(vnet_wg_uninit, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, vnet_wg_uninit, NULL); @@ -3018,7 +3028,7 @@ wg_module_deinit(void) VNET_FOREACH(vnet_iter) { struct if_clone *clone = VNET_VNET(vnet_iter, wg_cloner); if (clone) { - if_clone_detach(clone); + ifc_detach_cloner(clone); VNET_VNET(vnet_iter, wg_cloner) = NULL; } } From nobody Fri Jan 27 19:31:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3SPH1nmVz3bsHN; Fri, 27 Jan 2023 19:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P3SPH1BtZz478V; Fri, 27 Jan 2023 19:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bJpwInTXYb6qdVHM+yBjzyr8Hp7W9yJhIqwGiKTlswc=; b=kcTfQZcZgVbkbjt3Y/Ul9vhO+8tM3chA9yImJ6d5s/PXf5YWTFhmzdMeCH67b8AsHtIhIW g2vqAMgvTG6hsE2HywnGhqsAQ3OMwnJG+NAnxLdxeq6wwPbpUWleRAQC/VSJAeIJVv9XCo SzSa3iy3/FU4vFrz8RJZ02MFvSgBEUxbbnYWP25L/ZXtyJRFTYVXDrAv4DLD5JqVzyvmGC yOym8ECWHqDLAekN9YqCYwF4iDOTwsGx/WzWcZILdy13+xXFZLDKUuDJE/1WNM2edJn104 jlVDUlOIzohL5+woUA+okFMTz9KX8AAGSavTYF7RcKwjXSXewy8gU6L57ECb9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674847891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bJpwInTXYb6qdVHM+yBjzyr8Hp7W9yJhIqwGiKTlswc=; b=k98phBOVgPJdX81b3jEtChVIZ+ifCy/2CDREnHSkCpwXukqPYGDexpfCK9uwWlh1imaGR5 I2udxpK70v/iSLXyljV6zPQpjNNtX7jt5W4gGBXc3YbV2DSLVcwj9YFevlpySGiVRJelMD 0WPCZuujUBXAIhB3Ad6Qqhp7I28asGr31roymGNnJ0N71BLDdfNi+d/sOJ3uq7zb92vx/u Fv70ByQ5lZNbavRbR8pHssu2FPJrEWQfkNubt9MRB4JIFp52qYuFEkpu4iE+c7KFgyxHez 5qgObOX5BAEm4HG8t4wRFc2ZQCR/xSENzaeecU8xuwsr71TDgFkRd6Uw6csFgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674847891; a=rsa-sha256; cv=none; b=bxR2Vaf9gq4eHNClx+7omPEy/coJ50s2DKm79jbW+QxiQmB7MV1/T4k4ZbIf+Ja99HpMau J3EAz5/E6qWhcxYPjeMS/07mFKjRt4enGDf1yrmfIdanJBr4UWJQjGAAlbdFtAnkGXFRS4 ILJxaVUADUvGfFDWrwjIRTGEUlY4woUPqE58l9J58sAZdiROXGwZvG/DlhtP5/q3RwYE02 bw7dml/4WFIsGOO0rGTf4io6pVNhBYu6YQ4WY+XlAw+MhQ0K3GAg/VnB6ABu0dk7yeYUc9 3QGp3OJaEnxVXvTnKo25VgtQ//wRsiuWdP8XZPfnnDHW6inxn2iIeo9npvccZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3SPH0HzxzLh1; Fri, 27 Jan 2023 19:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30RJVUFl038215; Fri, 27 Jan 2023 19:31:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30RJVUYH038214; Fri, 27 Jan 2023 19:31:30 GMT (envelope-from git) Date: Fri, 27 Jan 2023 19:31:30 GMT Message-Id: <202301271931.30RJVUYH038214@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 0811d18fea91 - stable/13 - cal: don't print terminal control characters unless stdout is a TTY List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0811d18fea9177b8c378d9d28ea34d6d3c81a5f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=0811d18fea9177b8c378d9d28ea34d6d3c81a5f6 commit 0811d18fea9177b8c378d9d28ea34d6d3c81a5f6 Author: Alan Somers AuthorDate: 2023-01-13 20:19:03 +0000 Commit: Alan Somers CommitDate: 2023-01-27 19:30:53 +0000 cal: don't print terminal control characters unless stdout is a TTY A similar change was made in svn r223931, but it was incomplete, working only when the utility was invoked as "ncal". Fix the same issue when invoking as "cal". PR: 268936 Reported by: Ray Bellis Sponsored by: Axcient Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D38045 (cherry picked from commit 92e978439f0c3139775ad96d412959f5a74b17b6) --- usr.bin/ncal/ncal.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.bin/ncal/ncal.c b/usr.bin/ncal/ncal.c index 3f0df22e37fc..641c59f71e10 100644 --- a/usr.bin/ncal/ncal.c +++ b/usr.bin/ncal/ncal.c @@ -930,7 +930,8 @@ mkmonthb(int y, int m, int jd_flag, struct monthlines *mlines) dt.d = j - jan1 + 1; else sdateb(j, &dt); - if (j == highlightdate && !flag_nohighlight) + if (j == highlightdate && !flag_nohighlight + && isatty(STDOUT_FILENO)) highlight(mlines->lines[i] + k, ds + dt.d * dw, dw, &l); else From nobody Sat Jan 28 01:00:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3bhS2WHsz3bSrH; Sat, 28 Jan 2023 01:00: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 4P3bhS21clz3j44; Sat, 28 Jan 2023 01:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674867608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q78OtBtcUlZOrxEGWrgB1zAgHqikUTkS999ZH5oFr3I=; b=YzMQb82KPfRrhyBymLhhCi1rieGOkOf8ZBRlX4bq1pD++TC7lPtZ84fNkDgjMn5w6zd+Qf m4AqfsTdG2RjOCdcYrONmm5K2nGZDI3UcMODqIl5f52jPN65dN1S0zxJNvc6sZkB/k19tU FaYDw+gf3D795qL7jV5ANSGSeOVTGjvhGUrEscscyb51qWv1bXQURgNgqns469yzHqX16A JO1uzwHTRxbkHCb2VM2ekB0RhE7UlUpZR2L8orh50coYFlGHntTLdHu8Ba7JFw9AsO0ikw x+g2DkNrsDf/JwFLW6f2RLoBgNlniDDTzaVgBP16FidGxbaHZlzKc/CZRTTNtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674867608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q78OtBtcUlZOrxEGWrgB1zAgHqikUTkS999ZH5oFr3I=; b=GgGadEXTwrQ7IRaeYXvK3XwRqhsz0PsJ0kbIAbgWFSQcKO92CQoWz6xwq93YtWUeglMKYB TKxzrDF2A2ExRfSITOUB4CsA34bX2DoKKGSDKZTopbLGWkSRgZAu5AVjgOmkMedvI422wy qjP89iRgYZnYOyGt1q1xuc2TMovTeSQVlCf928TNQ+JFOwAf0Rs9vN0uanc3QE0RCSfjmR fXJQpQ3LuS+gtOorSCbv117ZfUuGxRaD/LkszjSu11p1j4MvMCQqEvNOZ5U/sw+X4EFllV oQlXia1HAtDvbVT1gZ8ZcSQigy4f4LbhDjFAdt9fSeYgEPv2ea+aixIZ3mByQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674867608; a=rsa-sha256; cv=none; b=f4oHRj8JcuDjuYLB1PVGITLkTwe4cybFfS0Zw7dOAgUYWqoopUpBAI99xOJ8hll+xaP89g tliTJaiVZU02TAD0MOy2lupE2tw9dIHI9DykWFUXK27Vt0OExdCzjFtVHkQ0JE0F19H3xF zllnskc6r5k+dKcIMTPx0vmexAXZlpwg3ZL2RlehdTxV3sckosLD6ShOCIsQAPCpM0Wr4w H9gnKBKP9iYY+fnrXpjgC7xegT9MOGKywq/djkeppxgQVWh9doBGmFKDzhsgMCU/Ro0IzF vqShm102FJYkJo6Q7/Ldb6AEhb2dB20a7g2Xn54weDxhdtPTQPJ/W16hmWTKOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3bhS14t0zVQx; Sat, 28 Jan 2023 01:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S108g7003198; Sat, 28 Jan 2023 01:00:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S108rC003195; Sat, 28 Jan 2023 01:00:08 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:00:08 GMT Message-Id: <202301280100.30S108rC003195@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 3ec68505d6b9 - stable/13 - 13.2: update stable/13 to -PRERELEASE to start the release cycle List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3ec68505d6b9e001c7f29b077a60978375fe4035 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=3ec68505d6b9e001c7f29b077a60978375fe4035 commit 3ec68505d6b9e001c7f29b077a60978375fe4035 Author: Colin Percival AuthorDate: 2023-01-28 00:59:24 +0000 Commit: Colin Percival CommitDate: 2023-01-28 00:59:24 +0000 13.2: update stable/13 to -PRERELEASE to start the release cycle Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- Makefile.inc1 | 4 ++-- lib/clang/llvm.build.mk | 2 +- share/mk/bsd.compat.mk | 8 ++++---- sys/conf/newvers.sh | 4 ++-- usr.bin/yacc/config.h | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index f98bb58ab2f6..6975ce7d843f 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -137,9 +137,9 @@ TARGET_ABI= gnueabi .endif .endif MACHINE_ABI?= unknown -MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${MACHINE_ABI}-freebsd13.1 +MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${MACHINE_ABI}-freebsd13.2 TARGET_ABI?= unknown -TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd13.1 +TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd13.2 KNOWN_ARCHES?= aarch64/arm64 \ amd64 \ armv6/arm \ diff --git a/lib/clang/llvm.build.mk b/lib/clang/llvm.build.mk index 79621d706c6b..bcb46ae2fc5c 100644 --- a/lib/clang/llvm.build.mk +++ b/lib/clang/llvm.build.mk @@ -44,7 +44,7 @@ TARGET_ABI= -gnueabi TARGET_ABI= .endif VENDOR= unknown -OS_VERSION= freebsd13.1 +OS_VERSION= freebsd13.2 LLVM_TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${VENDOR}-${OS_VERSION}${TARGET_ABI} LLVM_BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${VENDOR}-${OS_VERSION} diff --git a/share/mk/bsd.compat.mk b/share/mk/bsd.compat.mk index 45a8a8c48967..0102664d0f86 100644 --- a/share/mk/bsd.compat.mk +++ b/share/mk/bsd.compat.mk @@ -30,7 +30,7 @@ LIB32CPUFLAGS= -march=${COMPAT_CPUTYPE} .endif .if ${COMPAT_COMPILER_TYPE} == gcc .else -LIB32CPUFLAGS+= -target x86_64-unknown-freebsd13.1 +LIB32CPUFLAGS+= -target x86_64-unknown-freebsd13.2 .endif LIB32CPUFLAGS+= -m32 LIB32_MACHINE= i386 @@ -51,7 +51,7 @@ LIB32CPUFLAGS= -mcpu=${COMPAT_CPUTYPE} .if ${COMPAT_COMPILER_TYPE} == "gcc" LIB32CPUFLAGS+= -m32 .else -LIB32CPUFLAGS+= -target powerpc-unknown-freebsd13.1 +LIB32CPUFLAGS+= -target powerpc-unknown-freebsd13.2 .endif LIB32_MACHINE= powerpc @@ -69,9 +69,9 @@ LIB32CPUFLAGS= -march=${COMPAT_CPUTYPE} .endif .else .if ${COMPAT_ARCH:Mmips64el*} != "" -LIB32CPUFLAGS= -target mipsel-unknown-freebsd13.1 +LIB32CPUFLAGS= -target mipsel-unknown-freebsd13.2 .else -LIB32CPUFLAGS= -target mips-unknown-freebsd13.1 +LIB32CPUFLAGS= -target mips-unknown-freebsd13.2 .endif .endif LIB32CPUFLAGS+= -mabi=32 diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 48320ce1b7c3..14315302ed2d 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,8 +53,8 @@ # TYPE="FreeBSD" -REVISION="13.1" -BRANCH="STABLE" +REVISION="13.2" +BRANCH="PRERELEASE" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/usr.bin/yacc/config.h b/usr.bin/yacc/config.h index 649ca3895c75..cff3a544de22 100644 --- a/usr.bin/yacc/config.h +++ b/usr.bin/yacc/config.h @@ -87,7 +87,7 @@ #define STDC_HEADERS 1 /* Define to the system name. */ -#define SYSTEM_NAME "freebsd13.1" +#define SYSTEM_NAME "freebsd13.2" /* "Define to 1 if you want to use dbmalloc for testing." */ /* #undef USE_DBMALLOC */ From nobody Sat Jan 28 01:39:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3cYg5MbQz3bq48; Sat, 28 Jan 2023 01:39: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 4P3cYg4wFnz3nKn; Sat, 28 Jan 2023 01:39:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0UrqQwi+2yUdR47oueNL2fVZc2qYCo66WFcTHXypyR8=; b=efei18LUR9VyAuTvYYLEX3I0ha9fTs2zQeTih6BNDwiuwXjj/ew1LMN5AWXi2L8lak0UXx Z/ceCLI+MXMgavCRGdupTRG4JMrn2BGbYPfdnnuJl8TzhlyNFnmKBdlDnFOlvU32v8DB/L LmFhrdVxP8Ed/6W04VI72/XBXvaUQzTc6oFKK9/JU5Fd7RGBpvCPOLcAZMfCtMFE89wbFv qqVWhsFUjGK6t3QKxdPjXyM7mcMwZTTUAJ7S9fcTV8w5llZJGMuapI9M4DvQ3pLW8WWZ8Z r5SKifdr1+l0iGrRlx3/3yDsZaGTeL2liXFym1ySiE1S9RnYUy1yyrzx9CL4Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0UrqQwi+2yUdR47oueNL2fVZc2qYCo66WFcTHXypyR8=; b=P0AwzKgD+YZV/nwFTUNYyHBznpeGJgSDl7BmkgYm4LxG38koJK3hoSFsRyQAg1NXoMc/KJ ZBfJzNzJw0fBQY/k1Dvgaid+0PiS5LxPrxqu63g4jmafCz2NeptpRa/6xjR7F4Pk40MLET eb+srHiARBJ+54nSRg4P6OcVtG9ow95U3Qdr8IUM7xaW+sZCdR8X86EyU9mXjLVYBMvOnJ 4iDT5iBZftUUdT6/oAwFqePV8emDUkS+TTNb4h7XyTSo39a8htXwWd9MalFZXvwrqdnP5Z B2cCkkcOjuweyHt5HnUu1o5nitp8FCLPwY/wswIPpjfqcEfL8jc6o3N10Dv9aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674869959; a=rsa-sha256; cv=none; b=gx2z9svBjQ0+CLhMqhK6sd0O/ClUzgWrhaUkl8ru2IgBoh2VyuDOMMXRh6526amel8CtZ8 9EJw9817V/2tL1rhq0Uh6dJAgIkUhdnQ2D1r/L5N+VzgghB7IvmJPtNQh/pGt2cZa+v0hI 5Fm9maVfzTapsgVKO7N8F48lWpK1BkWdqHg9cVHeJ3iQyFxN3ej8FV0ea7nrsye4yvB+A7 l38zxhS3LoScLjgTkR8RWQrgZ7F8Btwv5r3RwVKSRz4LjOi7Vv9bdP0f6Tpl3qlWZtqzyz Ec0GDplsahdoLFVCFcR+OMd4GcTFxXfhZDTk3f5bwQqffqUfw6dhhz3iHmD0dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3cYg3kdVzWhV; Sat, 28 Jan 2023 01:39:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S1dJqM055891; Sat, 28 Jan 2023 01:39:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S1dJtr055890; Sat, 28 Jan 2023 01:39:19 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:39:19 GMT Message-Id: <202301280139.30S1dJtr055890@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8edf0b52c407 - stable/13 - pf: fix panic on deferred packets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8edf0b52c40762d64b3d4318235b58ae5d4eff58 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8edf0b52c40762d64b3d4318235b58ae5d4eff58 commit 8edf0b52c40762d64b3d4318235b58ae5d4eff58 Author: Kristof Provost AuthorDate: 2023-01-13 03:34:20 +0000 Commit: Kristof Provost CommitDate: 2023-01-28 01:34:38 +0000 pf: fix panic on deferred packets The pfsync_defer_tmo() callout needs to set the correct vnet before it can transmit packets. It used the rcvif in the mbuf to get this vnet, but that doesn't work for locally originated traffic. In that case the rcvif pointer is NULL, and the dereference leads to a panic. Instead use the sc_sync_if, which is always set (if pfsync is enabled, at least). PR: 268246 MFC after: 2 weeks (cherry picked from commit fd02192c3acaefeb62db11e0c10ab36240b79ba2) --- sys/netpfil/pf/if_pfsync.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 33e06eb4c79f..47c3217f399c 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -1822,8 +1822,11 @@ pfsync_defer_tmo(void *arg) PFSYNC_BUCKET_LOCK_ASSERT(b); + if (sc->sc_sync_if == NULL) + return; + NET_EPOCH_ENTER(et); - CURVNET_SET(m->m_pkthdr.rcvif->if_vnet); + CURVNET_SET(sc->sc_sync_if->if_vnet); TAILQ_REMOVE(&b->b_deferrals, pd, pd_entry); b->b_deferred--; From nobody Sat Jan 28 01:39:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3cYh6mmWz3bpyP; Sat, 28 Jan 2023 01:39: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 4P3cYh64N5z3n6Z; Sat, 28 Jan 2023 01:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+6CxO+a0ufnjLmFdScqNS+TR1Gq9l5LyidgpJW7qCqQ=; b=lhVgfBfoz4kNjSErAwngV6YjLlZnYho4J8nvrKRnsRsPm8s2Sr8aZjtBHzt8L5vncFq0UH HJ9YZjF8S0WtK9CZTbjHDzyzXo5FEJwqHcqPjFsdY+4e8lQ8D9ZC/Mrnbn8CIswhw9MSVV fa73/CJdHDTonF52tL8uYrApCA5fuYqt2NvVqPXnAtOKvpR6qvL3/jVIxezp6VYyG7GmJ7 6iPARIl9UYB+SPo+5fNrWLKhXke4fvRXuHGZGjiNfDgCzblR1Kn18swJ4qOpwYRvQLsEAK OmJ9MXNJb8V5x0DbaxRebFcodXVLEbd8lNGiVswJdvvlFU1Md9SBHJ11gGrCzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+6CxO+a0ufnjLmFdScqNS+TR1Gq9l5LyidgpJW7qCqQ=; b=fKviMWoKPD5NXhc1HkPD6fQMjRIsNrz90R2BMZHPP4nNLuMC2Yzq2nx4otMGdw+vo3lSCr S1M5a7WVDNe5PGEvs1LlTlhzI01mxG4UZtL73Wvf1yBQLVSV+4E3My+Jzb9o+LP/cSOXmI 10WpYCm4xsyO33OtcQUD2OVwYs6MQtAYgeLtTS4igMWLf24NaTcqGnwr95ePn7aLANKF6F 8E3eBDQ7hi4TDeKHAm1grLJ012hkT325s2ets6AgXm2Yuct8ojZ3amiyNqYuc7Ttr88xjk jkFa3DYL503jjZHYlryN3bjG9OyZXNRfBsKi/omWJzMX0BsishC65CQqFJYn/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674869960; a=rsa-sha256; cv=none; b=H1FSdxUiv61ylYUIM2IK8zZjnl78ukepH1L1lkqiBHlvQp5eqj9UfDYB/LY3DHz7uDguzU G6REsY5gCZy+IsIyyeaoHADYokAUBXo84+a1fRaj52TfKR+OaXuPe/IEocpFKjAoVF/XKE 2Cl4NnP9g7chjFU7kQfgepzoA25a74BWd2t8dx80nXONJEaBQb8NhG7pXIFbBF5RZ+Ap8m LBwyb3ZatfOkcSH7ITu/sX8mPYgFTJSPABbcyQJQZ1y1FYMhXaMLQqCHEKj6VWPoqQ9Tng w+YTpauchVcF/VLUE1v3SWX/KWJlvdNOT8rNQoWZNARitZxuMQl//QhHYnohxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3cYh4d2LzWYf; Sat, 28 Jan 2023 01:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S1dKnT056003; Sat, 28 Jan 2023 01:39:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S1dK1X056002; Sat, 28 Jan 2023 01:39:20 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:39:20 GMT Message-Id: <202301280139.30S1dK1X056002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 76e1ec4e10fa - stable/12 - pf: fix panic on deferred packets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 76e1ec4e10fa9a85bb8090cdf61e54c7a19508ee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=76e1ec4e10fa9a85bb8090cdf61e54c7a19508ee commit 76e1ec4e10fa9a85bb8090cdf61e54c7a19508ee Author: Kristof Provost AuthorDate: 2023-01-13 03:34:20 +0000 Commit: Kristof Provost CommitDate: 2023-01-27 03:16:43 +0000 pf: fix panic on deferred packets The pfsync_defer_tmo() callout needs to set the correct vnet before it can transmit packets. It used the rcvif in the mbuf to get this vnet, but that doesn't work for locally originated traffic. In that case the rcvif pointer is NULL, and the dereference leads to a panic. Instead use the sc_sync_if, which is always set (if pfsync is enabled, at least). PR: 268246 MFC after: 2 weeks (cherry picked from commit fd02192c3acaefeb62db11e0c10ab36240b79ba2) --- sys/netpfil/pf/if_pfsync.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 88e0831e82de..eeaed225bdb1 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -1823,7 +1823,10 @@ pfsync_defer_tmo(void *arg) PFSYNC_BUCKET_LOCK_ASSERT(b); - CURVNET_SET(m->m_pkthdr.rcvif->if_vnet); + if (sc->sc_sync_if == NULL) + return; + + CURVNET_SET(sc->sc_sync_if->if_vnet); TAILQ_REMOVE(&b->b_deferrals, pd, pd_entry); b->b_deferred--; From nobody Sat Jan 28 01:39:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3cYh6s3vz3bpvh; Sat, 28 Jan 2023 01:39: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 4P3cYh5q0rz3nN4; Sat, 28 Jan 2023 01:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8kkEqpJSfZDB/LMTVU1jFWCbfS7ilcLXTmIqMMTA9zk=; b=vHHv7xJDem3QWk29drJzakEQgQNz+OJ08VZrmbP9E/KjRHD5vGQWyggFOrP07lcVU/uN5n fdKLsYFxrUyvyIJ8bnxLdRR7AZeK8F5f0n1nQqffqvhbANfNk3Mv/Yo6hqJx2g+VQdxPjD FUUQ9eSaaLRfRsklBereGfBvT4pKzfV4gacqKpFTacYPAoQaLuHnqdS0ZEAxbtvq6cZ6cD yAsRGZ9oJhjnBprcidHsFKUF5uwMg7c7YA7r0/sYPdp/Wh246lqpL5myHW8owL/mZjgC6Y 4l2KCO94zYsuPz4Mk+daj5YwV4FiAibEkmfuZ6u8K1djFTQMqm3jm4PslfCPfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8kkEqpJSfZDB/LMTVU1jFWCbfS7ilcLXTmIqMMTA9zk=; b=waG+1zkGYUJRLtaJJGnfMTLU8xELv/vTHoAo0TYP4q1nkiACJgPJfrbnXwepp1lnd3Fsvr Ldu8HjQSj3qR3lHEVrATrB3e3bk/Ew0eAlMhTVfD9ESzTlLeNww78H4WoJHr6yCWIZs4gk xK3r2xEdiHH6eToB2AzHQ2t/1HUvbm7krqqU67j/5dASCbmQNvc+0lEHLSQs4LzvxpgMWR 3GCpr22sr1ywfFYys9HrA7Mhw4YQTMkPwcbCKQ9o1luKQks/kVqjdKMYsXITcEth62NMAx r8GbE6h59QBBkHjOBegMTtZb7qBn2ly2qWCmf4xtMsJ1cVAHwsaxpK5gMGakWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674869960; a=rsa-sha256; cv=none; b=ygSVhDNwQodoD0+P3aXbUqFwtLRK9yF9A8xRAJ4Lx4B/25h6cfTDNB52tHOvl8Ti/lK3cc eQfo27EDmC9AMiKvvJcZ12DOx51tj8KNhKhpEQOBVvqiCwrkWd/UqMwkKhWFsUYniZAXW4 KjU+yVpVZfMfzUy3RubnjilVb/Fw1DBd03T7WqmI9IlxnQdyX6u74eYFNjzCa362xsmnHX yuY8fogNLrn5FftzhACGeuubbcq+urHhva5XqrMI9aJ1GHu3nxlsC4kPKcoXExIWv1HVt+ NoB1WX7jBgzRPx8yt1owTQCTZmXjIzJ+fNCiNYHwpb2Htgcqy8k7gjzG1H+dFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3cYh4D8VzWgD; Sat, 28 Jan 2023 01:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S1dKks055994; Sat, 28 Jan 2023 01:39:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S1dKKC055981; Sat, 28 Jan 2023 01:39:20 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:39:20 GMT Message-Id: <202301280139.30S1dKKC055981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 14f52003bd8a - stable/13 - pf: fix syncookies in conjunction with tcp fast port reuse List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 14f52003bd8ae8884fcf8223e2170a7d76a39006 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=14f52003bd8ae8884fcf8223e2170a7d76a39006 commit 14f52003bd8ae8884fcf8223e2170a7d76a39006 Author: Kristof Provost AuthorDate: 2022-12-31 14:59:10 +0000 Commit: Kristof Provost CommitDate: 2023-01-28 01:34:38 +0000 pf: fix syncookies in conjunction with tcp fast port reuse Basic scenario: we have a closed connection (In TCPS_FIN_WAIT_2), and get a new connection (i.e. SYN) re-using the tuple. Without syncookies we look at the SYN, and completely unlink the old, closed state on the SYN. With syncookies we send a generated SYN|ACK back, and drop the SYN, never looking at the state table. So when the ACK (i.e. the third step in the three way handshake for connection setup) turns up, we’ve not actually removed the old state, so we find it, and don’t do the syncookie dance, or allow the new connection to get set up. Explicitly check for this in pf_test_state_tcp(). If we find a state in TCPS_FIN_WAIT_2 and the syncookie is valid we delete the existing state so we can set up the new state. Note that when we verify the syncookie in pf_test_state_tcp() we don't decrement the number of half-open connections to avoid an incorrect double decrement. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D37919 (cherry picked from commit 9c041b450d5e604c3e35b5799b60a2c53795feef) --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 8 +++++--- sys/netpfil/pf/pf_syncookies.c | 23 +++++++++++++++++++---- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index a3611d49fc11..4b7f34122337 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2108,6 +2108,7 @@ int pf_set_syncookies(struct pfioc_nv *); int pf_synflood_check(struct pf_pdesc *); void pf_syncookie_send(struct mbuf *m, int off, struct pf_pdesc *); +bool pf_syncookie_check(struct pf_pdesc *); u_int8_t pf_syncookie_validate(struct pf_pdesc *); struct mbuf * pf_syncookie_recreate_syn(uint8_t, int, struct pf_pdesc *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index d6c6a624d12b..c9c0995cc4e7 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4951,9 +4951,11 @@ pf_test_state_tcp(struct pf_kstate **state, int direction, struct pfi_kkif *kif, if ((action = pf_synproxy(pd, state, reason)) != PF_PASS) return (action); - if (((th->th_flags & (TH_SYN|TH_ACK)) == TH_SYN) && - dst->state >= TCPS_FIN_WAIT_2 && - src->state >= TCPS_FIN_WAIT_2) { + if (dst->state >= TCPS_FIN_WAIT_2 && + src->state >= TCPS_FIN_WAIT_2 && + (((th->th_flags & (TH_SYN|TH_ACK)) == TH_SYN) || + ((th->th_flags & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK && + pf_syncookie_check(pd) && pd->dir == PF_IN))) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: state reuse "); pf_print_state(*state); diff --git a/sys/netpfil/pf/pf_syncookies.c b/sys/netpfil/pf/pf_syncookies.c index 6a375411d8ea..fb81f59097fb 100644 --- a/sys/netpfil/pf/pf_syncookies.c +++ b/sys/netpfil/pf/pf_syncookies.c @@ -300,8 +300,8 @@ pf_syncookie_send(struct mbuf *m, int off, struct pf_pdesc *pd) 1); } -uint8_t -pf_syncookie_validate(struct pf_pdesc *pd) +bool +pf_syncookie_check(struct pf_pdesc *pd) { uint32_t hash, ack, seq; union pf_syncookie cookie; @@ -314,14 +314,29 @@ pf_syncookie_validate(struct pf_pdesc *pd) cookie.cookie = (ack & 0xff) ^ (ack >> 24); /* we don't know oddeven before setting the cookie (union) */ - if (atomic_load_64(&V_pf_status.syncookies_inflight[cookie.flags.oddeven]) + if (atomic_load_64(&V_pf_status.syncookies_inflight[cookie.flags.oddeven]) == 0) - return (0); + return (0); hash = pf_syncookie_mac(pd, cookie, seq); if ((ack & ~0xff) != (hash & ~0xff)) + return (false); + + return (true); +} + +uint8_t +pf_syncookie_validate(struct pf_pdesc *pd) +{ + uint32_t ack; + union pf_syncookie cookie; + + if (! pf_syncookie_check(pd)) return (0); + ack = ntohl(pd->hdr.tcp.th_ack) - 1; + cookie.cookie = (ack & 0xff) ^ (ack >> 24); + counter_u64_add(V_pf_status.lcounters[KLCNT_SYNCOOKIES_VALID], 1); atomic_add_64(&V_pf_status.syncookies_inflight[cookie.flags.oddeven], -1); From nobody Sat Jan 28 01:39:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3cYj6wVBz3bpvm; Sat, 28 Jan 2023 01:39: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 4P3cYj6QHgz3nGM; Sat, 28 Jan 2023 01:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRlBAvRRrKf9vbjVXgFqRmJL3lzpmdXJFLTbU2nK03c=; b=kbkn1fr+U1SdARYbVoOHHbRFW+oPbnz5qPsDJjF7D1DSg2qpdrOycBp/Nd2KCH7pDpUCDG YZGnM1SDRIKQ+LtMcXrqHLUwUgkXbxZYd90NYFwmY0emz3ddKXjrP/tBEPnI/QmI/2XouB 5XZrQ3JoU0xz53OkEivbnJBQ+LvqevnvL8U/ZF9zC1rN15HL9FlwD6YxH0jCZuqnMSxPsx ROKpfRjNd4AOOJe9Ez9U6Tt3LOYDC894CNXLm7DYyLWCMAue8TosUmsLdZrK0K8H8I8Yru yPxMWjiMOeSH0VpVxOVCU0COjjCjR1ScRtPUqoVB2o5MZ7EEBZc6CORi0ocb5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRlBAvRRrKf9vbjVXgFqRmJL3lzpmdXJFLTbU2nK03c=; b=uAnPPAc2s1ga9QEiauE26EAddpr4kx9VSXPrnGSYJfXlowwdV3I3Xn0U3/+W/OrgayikjC Zh6wUbUJKvrLmUlNYzi8IxvNHxWrSAg3MzkJsGyoaO35WQRXvC4p+Del0jBaGeHnxr6f1A O3xk0x7hmbh8ZswKo/2gEvvVkd8yGk6GALiY+/gmSmk2ZRzyetktakC7PH8gY/VImb51Jr a7YZwLfvxbPgoPNumSTWsLJWvEf98/lnowEW2T4XD6pfj0TVSaKQmd3PhffGShbefEBM0b 6SrIet2DDjSkgYPqHtN0wK6ppURUILN7e2g5WDZD/Te1bw/omd+s9sjfGaeN2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674869961; a=rsa-sha256; cv=none; b=Ezl58u9p3EU/RmheaWsTgXv3/LgQAn4AkKMlfs8Vu9IwkZ/hVmGAqihj6FeKIUm8pm87HS GHDUms6a5M8fnRZQKig0eOC+Pph58taiUHFn7xVHzMasSZsLXpB+2bNEn/ML8qi6Rhf7ho DLsTmB3QFWZiT/t8v/Zn8UHFrRztIdUrvM1Rp645akcCrx2wgRajhd9HVvjJsr6c558/9+ tKUTUrgFUZ2GYbGnqiIahJVpUYGe93Ar7u1UfEjxojk/rOCd7YArB2TePSPT7wksCYyU6V H9WOr6gtG1OvXyd+VXHWB0W8vAD9zOcf0TnnaxGD2FvExTgPBnDRKD2NR6ZWGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3cYj5BcYzWYg; Sat, 28 Jan 2023 01:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S1dLe0056050; Sat, 28 Jan 2023 01:39:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S1dLuW056045; Sat, 28 Jan 2023 01:39:21 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:39:21 GMT Message-Id: <202301280139.30S1dLuW056045@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 2cfb60783900 - stable/13 - pf tests: test fast port re-use with syncookies List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2cfb60783900b625798c5ceb52b9aa93c5c412ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2cfb60783900b625798c5ceb52b9aa93c5c412ae commit 2cfb60783900b625798c5ceb52b9aa93c5c412ae Author: Kristof Provost AuthorDate: 2022-12-31 18:23:15 +0000 Commit: Kristof Provost CommitDate: 2023-01-28 01:34:38 +0000 pf tests: test fast port re-use with syncookies When a src/dst ip/port tuple is re-used before the pf state fully expires we clean up the state and create a new one, unless syncookies are enabled. Test this, by running two back-to-back nc sessions, with a fixed source port. Move the interface and IP to a different (vnet) jail, to trick the network stack into letting us do this. MFC after: 2 weeks Event: Aberdeen hackathon 2022 Differential Revision: https://reviews.freebsd.org/D36886 (cherry picked from commit dc698b2cd59ebc08b05a261dbba8ee5707450d28) --- tests/sys/netpfil/pf/syncookie.sh | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/tests/sys/netpfil/pf/syncookie.sh b/tests/sys/netpfil/pf/syncookie.sh index d85beac1a4d1..dbb6407e9c38 100644 --- a/tests/sys/netpfil/pf/syncookie.sh +++ b/tests/sys/netpfil/pf/syncookie.sh @@ -217,10 +217,67 @@ adaptive_cleanup() pft_cleanup } +atf_test_case "port_reuse" "cleanup" +port_reuse_head() +{ + atf_set descr 'Test rapid port re-use' + atf_set require.user root +} + +port_reuse_body() +{ + pft_init + + epair=$(vnet_mkepair) + + vnet_mkjail alcatraz ${epair}b + vnet_mkjail singsing + jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up + jexec alcatraz /usr/sbin/inetd -p ${HOME}/inetd-alcatraz.pid \ + $(atf_get_srcdir)/echo_inetd.conf + + ifconfig ${epair}a 192.0.2.2/24 up + + jexec alcatraz pfctl -e + jexec alcatraz pfctl -x loud + pft_set_rules alcatraz \ + "set syncookies always" \ + "pass in" \ + "pass out" + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + reply=$(echo foo | nc -p 1234 -N -w 5 192.0.2.1 7) + if [ "${reply}" != "foo" ]; + then + atf_fail "Failed to connect to syncookie protected echo daemon" + fi + + # We can't re-use the source IP/port combo quickly enough, so we're + # going to play a really dirty trick, and move our interface to a new + # jail, and do it from there. + ifconfig ${epair}a vnet singsing + jexec singsing ifconfig ${epair}a 192.0.2.2/24 up + atf_check -s exit:0 -o ignore jexec singsing ping -c 1 192.0.2.1 + + reply=$(echo bar | jexec singsing nc -p 1234 -N -w 5 192.0.2.1 7) + if [ "${reply}" != "bar" ]; + then + atf_fail "Failed to connect to syncookie protected echo daemon (2)" + fi +} + +port_reuse_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "basic" atf_add_test_case "forward" atf_add_test_case "nostate" atf_add_test_case "adaptive" + atf_add_test_case "port_reuse" } From nobody Sat Jan 28 01:39:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3cYj6rvMz3bq1d; Sat, 28 Jan 2023 01:39: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 4P3cYj67wdz3nLY; Sat, 28 Jan 2023 01:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fSlufBwxsuKabZ3LJ7+ezW56RzxNuxdP2qFz7mEyk14=; b=n3A5IzkCIwyBgH6FGWupaWTM1sFIoxQtU4WYzyancMa+ojO9yTiQyrc7jo8kfqEf3GoW2u klhaoXAARb/q9tvlYQ7+bb5/4CGx3JqohG2bfDaEklVvlK0UgtjaIbqyy3UbFr3TJHvXq3 0UnJ21IpETClZfhHrjSUVd3aV3KiGzcAQeZzKyt3gnurL+e+xTQGfFSAUYlMKgyhPqwmt3 A4k53q5AcklqlINFLcVtdLKSrWgJuqZpnDXVw9mpEW3qENpbjNXUtnnRcUfabFzoihl6qA rKjncv1KnupKIHBDkK0Kir6To66C5mNKEYIZtp17gVjfFBYAc4jQXXMEhVvuMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fSlufBwxsuKabZ3LJ7+ezW56RzxNuxdP2qFz7mEyk14=; b=iYLCXuiCmyfF+N8/vqTUsdvh2Z/1NOMMF0my86a4SW/trHdZJkmUODxy9AInEmP3v2OdrK vlHQkpbNJF2IafbQ7ssHqhtm1z0YiFL7MxTgU51C/E5NVNRlF7Jb+920wMpqh6Q19/H4jf IGgjx7S24az8wio3I9sFm4eIEIuXEZJP0dmSq6eS/5hSptY4M78ZWWs6aOyEoq/CmufcGh C+rmR1vXodO2eARB3ti+L/hT2no4cINcmqkZkA3kq032xbbmX38SrDyzPq2V8C3N0fDEVj F9PKP4cRF8Qkr9u68eeCRFRnEtOp4cnuqMKdCSQfHFbdO88skKVGhLC3xwMuwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674869961; a=rsa-sha256; cv=none; b=dp3mI/U9d8JZnWJHCmDhMwk1Je13hVcEOco1reoJHlFTz/846xGMUkXRTjmrdobGU0SG12 WtLOD71CEaNajgbQ+/ZLBLOLKGPWfD5A18Dg2RtVF9mPZQr6jlTqkFi3qbot1QkFLdBwXT i4989Zgjv3HxltTW+RJwILE2kqEke4eefuJ8hptZ94U/B0JdggSFdX6qbofm+5ftvNQ0LF 1QZnJpq4b0XkkjYvV8hznh9pkjyFaCc1p7kCny2FZyCjlTw7wIAkD5+PIN72yyqyivxns3 lSKp5U0S9YAylqdyGMWJxTeNDF16P9P8lIT9w2nvhwzCToChwqy8/Uc5H9NCyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3cYj5G0kzWgF; Sat, 28 Jan 2023 01:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S1dLHJ056051; Sat, 28 Jan 2023 01:39:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S1dLPi056049; Sat, 28 Jan 2023 01:39:21 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:39:21 GMT Message-Id: <202301280139.30S1dLPi056049@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8f22dbcf0f0a - stable/12 - pf: fix syncookies in conjunction with tcp fast port reuse List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 8f22dbcf0f0a34bec704c63393d5245168f4f8ea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8f22dbcf0f0a34bec704c63393d5245168f4f8ea commit 8f22dbcf0f0a34bec704c63393d5245168f4f8ea Author: Kristof Provost AuthorDate: 2022-12-31 14:59:10 +0000 Commit: Kristof Provost CommitDate: 2023-01-27 03:17:06 +0000 pf: fix syncookies in conjunction with tcp fast port reuse Basic scenario: we have a closed connection (In TCPS_FIN_WAIT_2), and get a new connection (i.e. SYN) re-using the tuple. Without syncookies we look at the SYN, and completely unlink the old, closed state on the SYN. With syncookies we send a generated SYN|ACK back, and drop the SYN, never looking at the state table. So when the ACK (i.e. the third step in the three way handshake for connection setup) turns up, we’ve not actually removed the old state, so we find it, and don’t do the syncookie dance, or allow the new connection to get set up. Explicitly check for this in pf_test_state_tcp(). If we find a state in TCPS_FIN_WAIT_2 and the syncookie is valid we delete the existing state so we can set up the new state. Note that when we verify the syncookie in pf_test_state_tcp() we don't decrement the number of half-open connections to avoid an incorrect double decrement. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D37919 (cherry picked from commit 9c041b450d5e604c3e35b5799b60a2c53795feef) --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 8 +++++--- sys/netpfil/pf/pf_syncookies.c | 23 +++++++++++++++++++---- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 8b2be56d86b4..8f09b590d2c9 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2109,6 +2109,7 @@ int pf_set_syncookies(struct pfioc_nv *); int pf_synflood_check(struct pf_pdesc *); void pf_syncookie_send(struct mbuf *m, int off, struct pf_pdesc *); +bool pf_syncookie_check(struct pf_pdesc *); u_int8_t pf_syncookie_validate(struct pf_pdesc *); struct mbuf * pf_syncookie_recreate_syn(uint8_t, int, struct pf_pdesc *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 0a6928e3d4eb..fbc6c9640f43 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4990,9 +4990,11 @@ pf_test_state_tcp(struct pf_kstate **state, int direction, struct pfi_kkif *kif, if ((action = pf_synproxy(pd, state, reason)) != PF_PASS) return (action); - if (((th->th_flags & (TH_SYN|TH_ACK)) == TH_SYN) && - dst->state >= TCPS_FIN_WAIT_2 && - src->state >= TCPS_FIN_WAIT_2) { + if (dst->state >= TCPS_FIN_WAIT_2 && + src->state >= TCPS_FIN_WAIT_2 && + (((th->th_flags & (TH_SYN|TH_ACK)) == TH_SYN) || + ((th->th_flags & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK && + pf_syncookie_check(pd) && pd->dir == PF_IN))) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: state reuse "); pf_print_state(*state); diff --git a/sys/netpfil/pf/pf_syncookies.c b/sys/netpfil/pf/pf_syncookies.c index de0f27926a41..a37d846a0f2e 100644 --- a/sys/netpfil/pf/pf_syncookies.c +++ b/sys/netpfil/pf/pf_syncookies.c @@ -300,8 +300,8 @@ pf_syncookie_send(struct mbuf *m, int off, struct pf_pdesc *pd) 1); } -uint8_t -pf_syncookie_validate(struct pf_pdesc *pd) +bool +pf_syncookie_check(struct pf_pdesc *pd) { uint32_t hash, ack, seq; union pf_syncookie cookie; @@ -314,14 +314,29 @@ pf_syncookie_validate(struct pf_pdesc *pd) cookie.cookie = (ack & 0xff) ^ (ack >> 24); /* we don't know oddeven before setting the cookie (union) */ - if (atomic_load_64(&V_pf_status.syncookies_inflight[cookie.flags.oddeven]) + if (atomic_load_64(&V_pf_status.syncookies_inflight[cookie.flags.oddeven]) == 0) - return (0); + return (0); hash = pf_syncookie_mac(pd, cookie, seq); if ((ack & ~0xff) != (hash & ~0xff)) + return (false); + + return (true); +} + +uint8_t +pf_syncookie_validate(struct pf_pdesc *pd) +{ + uint32_t ack; + union pf_syncookie cookie; + + if (! pf_syncookie_check(pd)) return (0); + ack = ntohl(pd->hdr.tcp.th_ack) - 1; + cookie.cookie = (ack & 0xff) ^ (ack >> 24); + counter_u64_add(V_pf_status.lcounters[KLCNT_SYNCOOKIES_VALID], 1); atomic_add_64(&V_pf_status.syncookies_inflight[cookie.flags.oddeven], -1); From nobody Sat Jan 28 01:39:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P3cYl0Xhxz3bpvq; Sat, 28 Jan 2023 01:39: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 4P3cYk6m6Pz3nK3; Sat, 28 Jan 2023 01:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJfDXftZ+HKuBTzye8eyXDwYN5NDMIlPp9FzhdfcH2M=; b=CvnqBR/WivcRPsfcEu7U5QBagVzVFiNB3Fd6YMe1qjANj1nmxVDqXuYa0oz3OtLd+QOT7n 2mvypVQGplHJd5071urcdNNa7w2qPBZCMRpakMVGnGZ9sNhVs1jXuu2jwwsxV2PYiodi2V fGSGxuSJom+uxKOgWzAeQGUx3ERBP+BbCTx5GDDP8Z0dlkAJM7TDeRNnAlTCuxX35qc/KB u9Q+x1lz5m0m12QrH/3Qa58/OvW+IOSvLWmCS+HT0GwQt+7Bk7KCf/A0+HVHkr/2YSpiJZ m3RclVR/tgNgbpV/ptlYfkUyT60/Dcx0okAJAC1KllAT7VjFHj7cDZqL8JWQ9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674869962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJfDXftZ+HKuBTzye8eyXDwYN5NDMIlPp9FzhdfcH2M=; b=SG2qvy/8kWAku3Ko6Tx4LINeMSGINjCWoP/BIp9Qd6J7HhxaRrb8oNq2BIUzs0iZdoe4qC GzA+YXflJhlMHbm+BGKhWAjy/sXaqSXvapRKNGrYxyTamjhWloK5lts2+HZmQEwnKz5l+N /T1WFq38kSWLtzfS82nl9sM/kMtAOzt3pacO3XHHWT3t7ju23j1Q+6HPdxxp9hViWgchFY Ydq1PbxN2dmC0aUE0194fz2gzD1ARIki5mJSpYLghkXbW0oZS7aYA96ITi2yxF880KzZJI 6FcgQ4ft36StjUhb8ulguLMTHpTS+SrdxFtHpGvgXh2HBFbNwattLeV0dKzTEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674869962; a=rsa-sha256; cv=none; b=tUgkOMxVGkebmQmudvDv1WwtNS3q7dTS740hUDInJULR7Tj63ND2jz0TLsMCYhsERTI9Zs gorYSlau8MY7l4emTx44FQL/rf7sQEVEgiedlu/Pa6jIIg0+GAh2ab/V3zAZNlfQAXlE8h +CMKDheXGQXPt/aSFtbGGA1R96OlyLyK7Q0it2BpLvgoV2ijhw2yEAY5rUAAO80lSygtEn CUxe+g+4RphYIYtSe6FKrazkYT9GW7XG1YKXzRRvglaS6rKh7/L4X+8kv7KDnS5JdpVK/+ TKr2agCqOa2MvO7u/VjEcASEDobLoIiVCxtS+QSCPYGBHG2Gs83JO/G4SVyrTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P3cYk5snqzWDg; Sat, 28 Jan 2023 01:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30S1dM4b056102; Sat, 28 Jan 2023 01:39:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30S1dMKc056098; Sat, 28 Jan 2023 01:39:22 GMT (envelope-from git) Date: Sat, 28 Jan 2023 01:39:22 GMT Message-Id: <202301280139.30S1dMKc056098@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 1279c260c053 - stable/12 - pf tests: test fast port re-use with syncookies List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 1279c260c05320854cddead34a52dfcea34576ea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1279c260c05320854cddead34a52dfcea34576ea commit 1279c260c05320854cddead34a52dfcea34576ea Author: Kristof Provost AuthorDate: 2022-12-31 18:23:15 +0000 Commit: Kristof Provost CommitDate: 2023-01-27 09:50:40 +0000 pf tests: test fast port re-use with syncookies When a src/dst ip/port tuple is re-used before the pf state fully expires we clean up the state and create a new one, unless syncookies are enabled. Test this, by running two back-to-back nc sessions, with a fixed source port. Move the interface and IP to a different (vnet) jail, to trick the network stack into letting us do this. MFC after: 2 weeks Event: Aberdeen hackathon 2022 Differential Revision: https://reviews.freebsd.org/D36886 (cherry picked from commit dc698b2cd59ebc08b05a261dbba8ee5707450d28) --- tests/sys/netpfil/pf/syncookie.sh | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/tests/sys/netpfil/pf/syncookie.sh b/tests/sys/netpfil/pf/syncookie.sh index d85beac1a4d1..dbb6407e9c38 100644 --- a/tests/sys/netpfil/pf/syncookie.sh +++ b/tests/sys/netpfil/pf/syncookie.sh @@ -217,10 +217,67 @@ adaptive_cleanup() pft_cleanup } +atf_test_case "port_reuse" "cleanup" +port_reuse_head() +{ + atf_set descr 'Test rapid port re-use' + atf_set require.user root +} + +port_reuse_body() +{ + pft_init + + epair=$(vnet_mkepair) + + vnet_mkjail alcatraz ${epair}b + vnet_mkjail singsing + jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up + jexec alcatraz /usr/sbin/inetd -p ${HOME}/inetd-alcatraz.pid \ + $(atf_get_srcdir)/echo_inetd.conf + + ifconfig ${epair}a 192.0.2.2/24 up + + jexec alcatraz pfctl -e + jexec alcatraz pfctl -x loud + pft_set_rules alcatraz \ + "set syncookies always" \ + "pass in" \ + "pass out" + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + reply=$(echo foo | nc -p 1234 -N -w 5 192.0.2.1 7) + if [ "${reply}" != "foo" ]; + then + atf_fail "Failed to connect to syncookie protected echo daemon" + fi + + # We can't re-use the source IP/port combo quickly enough, so we're + # going to play a really dirty trick, and move our interface to a new + # jail, and do it from there. + ifconfig ${epair}a vnet singsing + jexec singsing ifconfig ${epair}a 192.0.2.2/24 up + atf_check -s exit:0 -o ignore jexec singsing ping -c 1 192.0.2.1 + + reply=$(echo bar | jexec singsing nc -p 1234 -N -w 5 192.0.2.1 7) + if [ "${reply}" != "bar" ]; + then + atf_fail "Failed to connect to syncookie protected echo daemon (2)" + fi +} + +port_reuse_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "basic" atf_add_test_case "forward" atf_add_test_case "nostate" atf_add_test_case "adaptive" + atf_add_test_case "port_reuse" }