From nobody Sat Sep 26 11:44:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hsQhQ2Ng3z6tjlY for ; Sat, 26 Sep 2026 11:44: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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hsQhQ1g2Wz4g9W for ; Sat, 26 Sep 2026 11:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790423046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+IU+Srk+FRadh4tIWw7BnoipX0WpXeGG9qw/9rGYgCE=; b=pFpMojDfFv9o3hJtQklC5hKGXDqPgtZ+LHdAD6abb7jwqgHyrCcggHfONdW3yKnHThF7uf PD+HxzNOwr4fqPm0YvKGGFqito/K/mFxWoAKW38gH64w8enOwbGjQn2os+thRO6t/b2Bko nCEadW2qp48paVIl6YcxdmmaDpKUNW/yMPFn8YJ3ADUHzo6jsLKQDVnIG6nC55z7B4Xr0Z sO5ZjsSG6stUggpCUv63GwFVFavrdsw7maxCTluSYkWQOUOEZvVf1mreOF6qWtKQ1lyMIk rdl8Klb67E9oYj5d0JpR6SC29k30Mh6yEvZ9g4p8oATgs7v6IYAUpLuhAkG3XQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790423046; b=RKKdYaBDISg42Ug2EcBKqsfAOOfykd8M7dJvUYeh/WAeWC+JZeQ50g4CvpHAYWkBZLjqnQ Ec2fpXsXs7QGp10iGDDr98NqvW3+RB6ReAyliiYgvgm8rm15n5i1A1TBE5PGI4byTUJzmv TIpIhpqAP8OcLWFOoeyQCQS7sNA+QCxdLHiXl3EGgYBE0bznLbgrTJo67drVYoUK9A44W6 Wkb1LfJAgvtBf9+Z68ewCe+V2YwWyDftiHjk/bAE6AyhLrLIFfDUWznAl3c8yr5HQ+hgwG O17RzBlZo3OuHBvKswkdhdCKVpssDkrhCrZsVeEMjH5OfJ1FK1W3mvE4hvNfDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790423046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+IU+Srk+FRadh4tIWw7BnoipX0WpXeGG9qw/9rGYgCE=; b=k8dh1B3cxq61GgZfDpu4pnGlewTnmy1y5B3SzF/tSrzMX6KpAd5rrn6Mz7Dxxo8n40p0wQ oD3igliJByjLdjmcN4Wn3LA/EkvrZOrMluumwTG3h3fMZ+qAPh/+ftQp1/hmgdvy+0yRJQ 2SzyQ0GmZX+jsqJHtmUkp4FUf4yX8E+GUcMMegQMKmHrQxJJ+E1/ge89kJPUCrREi//1/5 tz0cJce5h1nO1f/PxyEEEFCbapR1TTdNARy4GbhxKdNiRrAdPqI9HpjAUNfJQ15ajZW7cq 1SKJYBllUCAvW+w4N38Xq5CgD2Z50zJXw2CRnH9RQo5zgpyNrYvuM8V0yZG6+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hsQhQ0kFJzvNQ for ; Sat, 26 Sep 2026 11:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25433 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 26 Sep 2026 11:44:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 53fe018630d0 - main - amd64: gate WRMSRNS immediate form on compiler support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 53fe018630d06eeef6791cfacaa6dc9acdf4d669 Auto-Submitted: auto-generated Date: Sat, 26 Sep 2026 11:44:06 +0000 Message-Id: <6ab7b006.25433.3016848a@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=53fe018630d06eeef6791cfacaa6dc9acdf4d669 commit 53fe018630d06eeef6791cfacaa6dc9acdf4d669 Author: Brooks Davis AuthorDate: 2026-09-26 11:43:34 +0000 Commit: Brooks Davis CommitDate: 2026-09-26 11:43:34 +0000 amd64: gate WRMSRNS immediate form on compiler support This support was introduced in LLVM 20 and we still support releases with LLVM 19 so it's too early to require LLVM 20. Decay to the non-immediate form when the compiler it too old. This makes the ifunc pointless, but limits the need for other ifdefs. Reviewed by: kib Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D60023 --- sys/amd64/include/cpufunc.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index 38dfbf2a493b..f56a7e763158 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -390,8 +390,18 @@ wrmsrns(u_int msr, uint64_t newval) __asm __volatile("wrmsrns" : : "a" (low), "d" (high), "c" (msr)); } +#if defined(__clang__) && \ + (__clang_major__ > 20 || (__clang_major__ == 20 && __clang_minor__ >= 1)) #define wrmsr_imm(msr, val) \ __asm __volatile("wrmsrns %0, %1" : : "r" (val), "i" (msr)) +#else +/* + * When Clang does not support the immediate form of wrmsr, decay it + * to plain wrmsr. + */ +#define wrmsr_imm(msr, val) \ + wrmsr((msr), (val)); +#endif static __inline void load_cr0(u_long data)