From nobody Mon Jul 6 15:24:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gv7Sk4zfWz6kDhh for ; Mon, 06 Jul 2026 15:24: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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gv7Sk3gDkz3Cqh for ; Mon, 06 Jul 2026 15:24:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783351478; 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; bh=RyWNS7koqghM3IS1pz5KeWpKu2RSiX1klV/fsf7d0+o=; b=MOf4hrqkd2owztwB5JGlJU4m1t9cQGaGgVd+t3SVe4AzhwDTDgXiDIEdiMPfTy3uLTktGq +TE2aiGDG9gEaOr/TKV33W86V1PpNnp/mXSAHWYVOow0w5ynhHmOYtSG7iQPgSSb71LMUt zRThaxr5EcEPRpd2lpbQQm/Zoe+RlJ2JBdgwU6YCu9MYMX5Q9TyXkDeGbiI+Hl8vdWsJqq wVulVSJIfqkO3yI8TLrORgg2pFln3735zh8/MvDy9HnqMhSWUc9ol8/eYzrFRIa90Bs+Uk F9Hl4r0CoNSzac9zqXgeLNsaQAxFOCeyKRAw5XrOZlWrJFSzogXyHsHafArZkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783351478; a=rsa-sha256; cv=none; b=kHtxmxGtwcfCpyl0WdbsKzvAl7FLbEx7mwnK74bEn55bji5D2G5iT3vZXzPh7Nab5wBmm7 z5pRZ8diotZljO4m57TLJCB270bJhxKQFVzTM/QEOXOUFlOWx9lsw02BfnlpXIdkzSKxhZ PENRUQHiVMdJx1XBEzakAKQ5rO0dwjEW8Dk10e8RX7QMuTMDWSHWN2+Ga9mpifLljJNWvH ewIPdCB6AFHH2pT5p+1ALWCRC24xTt6jp9C6b+T3TfjjYMx90Cku/tVQgtf17NdmFUC/bd 1cYtzcf8EfXCLG2IpOaUIA4r+P3csA37alALqGSIEgp6ABsopUBFLE9zEkya7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783351478; 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; bh=RyWNS7koqghM3IS1pz5KeWpKu2RSiX1klV/fsf7d0+o=; b=qRnt7XYd1JEVpCfh2LO9pzVr1Ght+pihz7VAtFgMRILXPLHF5boJHmnv+R7ikbbRsfx+1d ajQt71+JDwoZ9YUiiBMneFhCTW7fL9/zJyvaXBLYZyFUsSZJ0OI8iA8Ec33NUizqIJQfkY Nek2zc4CrkQCYGmgXJZjecuAjwBjcjV3ZJFSJ1ENOp6b/W6zjoIT3z2gJNVfZkwNbW/1aZ AQHRyjVoH3nIpLHvVHO2y8E52Im9BUg6liE9yjTOtGpe8VWcvO2RcVGHgyS49pdtuCuNax M64+wTlA9PH6KWykWe68PQGpRPhdy/DIolXgJVb2RnkzDz1pj+tKUGWGcWebcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gv7Sk2N5dz18j7 for ; Mon, 06 Jul 2026 15:24:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d5aa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 06 Jul 2026 15:24:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Kajetan Puchalski From: Andrew Turner Subject: git: 5c7315317f5f - main - arm64/vmm: Add FEAT_NV2 definitions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c7315317f5f383168981eb4ab944e340acaf212 Auto-Submitted: auto-generated Date: Mon, 06 Jul 2026 15:24:38 +0000 Message-Id: <6a4bc8b6.1d5aa.4a548e43@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5c7315317f5f383168981eb4ab944e340acaf212 commit 5c7315317f5f383168981eb4ab944e340acaf212 Author: Kajetan Puchalski AuthorDate: 2026-07-06 14:15:47 +0000 Commit: Andrew Turner CommitDate: 2026-07-06 15:18:29 +0000 arm64/vmm: Add FEAT_NV2 definitions Add the definitions for the VNCR_EL2 register and all of the offsets to registers in memory relative to the page stored in VNCR_EL2. Signed-off-by: Kajetan Puchalski Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D56550 --- sys/arm64/include/hypervisor.h | 101 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index bd77dcadc724..bc5b6f4344ee 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -2134,6 +2134,14 @@ #define VMPIDR_EL2_MT 0x0000000001000000 #define VMPIDR_EL2_RES1 0x0000000080000000 +/* VNCR_EL2 - Virtual Nested Control Register */ +#define VNCR_EL2_REG MRS_REG_ALT_NAME(VNCR_EL2) +#define VNCR_EL2_op0 3 +#define VNCR_EL2_op1 4 +#define VNCR_EL2_CRn 2 +#define VNCR_EL2_CRm 2 +#define VNCR_EL2_op2 0 + /* VTCR_EL2 - Virtualization Translation Control Register */ #define VTCR_EL2_RES1 (0x1UL << 31) #define VTCR_EL2_T0SZ_SHIFT 0 @@ -2177,4 +2185,97 @@ /* Assumed to be 0 by locore.S */ #define VTTBR_HOST 0x0000000000000000 +/* + * Memory offsets of registers redirected to memory by HCR_EL2.NV2 + * relative to the base address stored in VNCR_EL2. + */ +#define VNCR_VTTBR_EL2 0x20 +#define VNCR_VSTTBR_EL2 0x30 +#define VNCR_VTCR_EL2 0x40 +#define VNCR_VSTCR_EL2 0x48 +#define VNCR_VMPIDR_EL2 0x50 +#define VNCR_CNTVOFF_EL2 0x60 +#define VNCR_HCR_EL2 0x78 +#define VNCR_HSTR_EL2 0x80 +#define VNCR_VPIDR_EL2 0x88 +#define VNCR_TPIDR_EL2 0x90 +#define VNCR_HCRX_EL2 0xA0 +#define VNCR_VNCR_EL2 0xB0 +#define VNCR_CPACR_EL1 0x100 /* Architectural Feature Access Control Register */ +#define VNCR_CONTEXTIDR_EL1 0x108 /* Current Process Identifier */ +#define VNCR_SCTLR_EL1 0x110 /* System Control Register */ +#define VNCR_ACTLR_EL1 0x118 /* Auxiliary Control Register */ +#define VNCR_TCR_EL1 0x120 /* Translation Control Register */ +#define VNCR_AFSR0_EL1 0x128 /* Auxiliary Fault Status Register 0 */ +#define VNCR_AFSR1_EL1 0x130 /* Auxiliary Fault Status Register 1 */ +#define VNCR_ESR_EL1 0x138 /* Exception Syndrome Register */ +#define VNCR_MAIR_EL1 0x140 /* Memory Attribute Indirection Register */ +#define VNCR_AMAIR_EL1 0x148 /* Auxiliary Memory Attribute Indirection Register */ +#define VNCR_MDSCR_EL1 0x158 /* Monitor Debug System Control Register */ +#define VNCR_SPSR_EL1 0x160 /* Saved Program Status Register */ +#define VNCR_CNTV_CVAL_EL0 0x168 +#define VNCR_CNTV_CTL_EL0 0x170 +#define VNCR_CNTP_CVAL_EL0 0x178 +#define VNCR_CNTP_CTL_EL0 0x180 +#define VNCR_SCXTNUM_EL1 0x188 +#define VNCR_TFSR_EL1 0x190 +#define VNCR_HDFGRTR2_EL2 0x1A0 +#define VNCR_CNTPOFF_EL2 0x1A8 +#define VNCR_HDFGWTR2_EL2 0x1B0 +#define VNCR_HFGRTR_EL2 0x1B8 +#define VNCR_HFGWTR_EL2 0x1C0 +#define VNCR_HFGITR_EL2 0x1C8 +#define VNCR_HDFGRTR_EL2 0x1D0 +#define VNCR_HDFGWTR_EL2 0x1D8 +#define VNCR_ZCR_EL1 0x1E0 +#define VNCR_HAFGRTR_EL2 0x1E8 +#define VNCR_SMCR_EL1 0x1F0 +#define VNCR_SMPRIMAP_EL2 0x1F8 +#define VNCR_TTBR0_EL1 0x200 /* Translation Table Base Register 0 */ +#define VNCR_TTBR1_EL1 0x210 /* Translation Table Base Register 1 */ +#define VNCR_FAR_EL1 0x220 /* Fault Address Register */ +#define VNCR_ELR_EL1 0x230 /* Exception Link Register */ +#define VNCR_SP_EL1 0x240 +#define VNCR_VBAR_EL1 0x250 /* Vector Base Address Register */ +#define VNCR_TCR2_EL1 0x270 /* Translation Control Register 2 */ +#define VNCR_SCTLR2_EL1 0x278 +#define VNCR_MAIR2_EL1 0x280 +#define VNCR_AMAIR2_EL1 0x288 +#define VNCR_PIRE0_EL1 0x290 +#define VNCR_PIRE0_EL2 0x298 +#define VNCR_PIR_EL1 0x2A0 +#define VNCR_POR_EL1 0x2A8 +#define VNCR_S2PIR_EL2 0x2B0 +#define VNCR_S2POR_EL1 0x2B8 +#define VNCR_HFGRTR2_EL2 0x2C0 +#define VNCR_HFGWTR2_EL2 0x2C8 +#define VNCR_PFAR_EL1 0x2D0 +#define VNCR_HFGITR2_EL2 0x310 +#define VNCR_SCTLRMASK_EL1 0x318 +#define VNCR_CPACRMASK_EL1 0x320 +#define VNCR_SCTLR2MASK_EL1 0x328 +#define VNCR_TCRMASK_EL1 0x330 +#define VNCR_TCR2MASK_EL1 0x338 +#define VNCR_ACTLRMASK_EL1 0x340 +#define VNCR_ICH_HCR_EL2 0x4C0 +#define VNCR_ICH_VMCR_EL2 0x4C8 +#define VNCR_VDISR_EL2 0x500 +#define VNCR_VSESR_EL2 0x508 +#define VNCR_PMBLIMITR_EL1 0x800 +#define VNCR_PMBPTR_EL1 0x810 +#define VNCR_PMBSR_EL1 0x820 +#define VNCR_PMSCR_EL1 0x828 +#define VNCR_PMSEVFR_EL1 0x830 +#define VNCR_PMSICR_EL1 0x838 +#define VNCR_PMSIRR_EL1 0x840 +#define VNCR_PMSLATFR_EL1 0x848 +#define VNCR_PMSNEVFR_EL1 0x850 +#define VNCR_PMSDSFR_EL1 0x858 +#define VNCR_TRFCR_EL1 0x880 +#define VNCR_TRCITECR_EL1 0x888 +#define VNCR_GCSPR_EL1 0x8C0 +#define VNCR_GCSCR_EL1 0x8D0 +#define VNCR_BRBCR_EL1 0x8E0 +#define VNCR_SPMACCESSR_EL1 0x8E8 + #endif /* !_MACHINE_HYPERVISOR_H_ */