From nobody Mon Jun 23 12:07:34 2025 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 4bQmzq0wPsz60Gnv; Mon, 23 Jun 2025 12:07: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bQmzp4ZCcz3gDw; Mon, 23 Jun 2025 12:07:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750680454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iWqwuB+nzVDjj60RV6gqQeQLLt9jpwd+p1b24Wysy/0=; b=BCN0RnVdq49qkUJMqKXqFPSIfZyam+46gGF0R8aBtBQC0OqLOvyYQtmxIxZK9BDe8LkvIS bB551npF1jS7q2M3mPuQywo2nggU7gobrhvUF+LT/YmjgbJYe9ddzP/M5Txl5/fmxFZ9LO Y1W2ffhj5vMa5DsoWL5+yCQQ9fBqa9mvYjGuIfUdxEjPH0p6oYtUHKf/WaJBcFRgBTZeVz v69xYtJ+i8DE88SBN2M8D0Gb25TJwyaUrKQTAmujpSZWdVUREOBJu+hvy8WLNoAZCtWDh7 u/Wafcw5uvPf0c81BCeJ9Ef0QdbMKL1BFvXScmeVTdoMioStdk5PHv7udGtmYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750680454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iWqwuB+nzVDjj60RV6gqQeQLLt9jpwd+p1b24Wysy/0=; b=dTfr9JR9pusjxiJmK2rdNnMqi5W7wYK1USjESFmCt8MdcC6WPEzksYOHHu9XYlVrlTVBX7 wXBlZwY0Z5umn2lwuVOPavd0jep9O6zkjEf3oFvkpDEZ5hKbbYwU1UfHLRLEhMeFvY285+ +Q/5XtQBww6Ty2/uKn8rbTGAhJy6RS9BUGtFY4/2502vYqKOvAnZ3whDoHsJ1cSZHLg+uc FfQmqT0LjlLr/GyOjzK3gNRBLvPd6QzPVsBHllvSR5NTy96BldTc8Th9P01GjRRCyQe7ko Y6SXFttNwcpXCEv3Uk0ajNWBtuiCVetJq8SLl9PHVq87B1AXH4cSybro72FNJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1750680454; a=rsa-sha256; cv=none; b=SHWleamSsPWOIiIYUdm6MkbrNow0jZUlxICZQ+ySSCRx0nw88CNbay/opABzyJPxxiFll/ DXrFd1GbcaecfJA4DVa2GSeEWbPJ01i2TcqBxygXmMCQH06SnQN7jQlL1SPykEzKWoGv6H f17dTrf5rgPxoJ3GbWbU17mE8V10AgKXfQhyhMKLtMoV1AkG4z472pE81pcPBVCRSJqNOh prtrVaxcgiuqY/UhW3PMYL6js3POf/RYn6TmvTkc1eIyAYf/FVHOtU/jZTruzNRmBE7y6E fj5NHZZnMDXPbKRVNAs4FUAPj0HGG6Dnk+xbWfJnWEGcveevajJ9bKhxyk0vqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bQmzp3ty4z121l; Mon, 23 Jun 2025 12:07:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55NC7YCF059194; Mon, 23 Jun 2025 12:07:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55NC7YWU059191; Mon, 23 Jun 2025 12:07:34 GMT (envelope-from git) Date: Mon, 23 Jun 2025 12:07:34 GMT Message-Id: <202506231207.55NC7YWU059191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 3113ac28cf84 - main - arm64: Add get_user_reg 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3113ac28cf846c685a4560db910bba8855abc430 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3113ac28cf846c685a4560db910bba8855abc430 commit 3113ac28cf846c685a4560db910bba8855abc430 Author: Andrew Turner AuthorDate: 2025-06-23 10:14:51 +0000 Commit: Andrew Turner CommitDate: 2025-06-23 10:18:19 +0000 arm64: Add get_user_reg This is similar to get_kernel_reg such that it gives us a common view of the userspace ID register. This will be used to replace extract_user_id_field in a future change. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50902 --- sys/arm64/arm64/identcpu.c | 18 ++++++++++++++++++ sys/arm64/include/cpu.h | 1 + 2 files changed, 19 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 6dc9c447ee29..0f0e727f5b1f 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2555,6 +2555,24 @@ get_kernel_reg_masked(u_int reg, uint64_t *valp, uint64_t mask) return (false); } +bool +get_user_reg(u_int reg, uint64_t *val, bool fbsd) +{ + int i; + + for (i = 0; i < nitems(user_regs); i++) { + if (user_regs[i].reg == reg) { + if (fbsd) + *val = CPU_DESC_FIELD(user_cpu_desc, i); + else + *val = CPU_DESC_FIELD(l_user_cpu_desc, i); + return (true); + } + } + + return (false); +} + static uint64_t update_special_reg_field(uint64_t user_reg, u_int type, uint64_t value, u_int width, u_int shift, bool sign) diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index df38c69fdb30..6ac5d53f28fc 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -236,6 +236,7 @@ void update_special_reg(u_int reg, uint64_t, uint64_t); bool extract_user_id_field(u_int, u_int, uint8_t *); bool get_kernel_reg(u_int, uint64_t *); bool get_kernel_reg_masked(u_int, uint64_t *, uint64_t); +bool get_user_reg(u_int, uint64_t *, bool); void cpu_desc_init(void);